import {z} from 'zod' export type GetApiApiopsProjectsProjectNameApiProxiesForpromotionArgs = {projectName: string}; export type GetApiApiopsProjectsProjectNameApiProxiesForpromotionOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; export const apinizerBasicHeader = z.object({name: z.string().optional(), value: z.string().optional(), resolvedName: z.string().optional(), resolvedValue: z.string().optional()}); export const clientRoute = z.object({relativePathList: z.array(z.string()).optional(), methodList: z.array(z.enum(["GET", "POST", "PUT", "HEAD", "OPTIONS", "DELETE", "PATCH", "TRACE", "ALL", "QUERY"])).optional(), hostList: z.array(z.string()).optional(), headerList: z.array(apinizerBasicHeader).optional(), bufferRequest: z.boolean().optional(), bufferResponse: z.boolean().optional()}); export const variable = z.object({id: z.string().optional(), projectId: z.string().optional(), projectName: z.string().optional(), name: z.string().optional(), description: z.string().optional(), type: z.enum(["HEADER", "PARAMETER", "BODY", "CONTEXT_VALUES", "CUSTOM"]).optional(), headerName: z.string().optional(), paramType: z.enum(["QUERY", "PATH", "FORM"]).optional(), paramName: z.string().optional(), paramPath: z.string().optional(), formName: z.string().optional(), xpathValue: z.string().optional(), jsonPathValue: z.string().optional(), messageContentType: z.enum(["XML", "JSON", "ALL_BODY"]).optional(), contextValue: z.enum(["REQUEST_REMOTE_ADDRESS", "REQUEST_HTTP_METHOD", "REQUEST_CONTENT_TYPE", "REQUEST_PATH_INFO", "REQUEST_CONTEXT_PATH", "REQUEST_QUERY_STRING", "REQUEST_REMOTE_USER", "REQUEST_USERNAME_KEY", "REQUEST_REQUESTED_SESSION_ID", "REQUEST_REQUEST_URI", "REQUEST_CHARACTER_ENCODING", "REQUEST_CHARSET", "REQUEST_CONTENT_LENGTH", "REQUEST_PROTOCOL", "REQUEST_SCHEME", "REQUEST_SERVER_NAME", "REQUEST_SERVER_PORT", "REQUEST_REMOTE_HOST", "REQUEST_REMOTE_PORT", "REQUEST_LOCAL_NAME", "REQUEST_LOCAL_ADDR", "REQUEST_LOCAL_PORT", "REQUEST_XFORWARDED_FOR", "REQUEST_ESTIMATED_TOKEN_COUNT", "REQUEST_MCP_TOOL_NAME", "REQUEST_OAUTH_CLIENT_ID", "REQUEST_IS_SOAP_TO_REST", "REQUEST_IS_APIPROXY", "REQUEST_IS_APIPROXYGROUP", "REQUEST_IS_XWWW_FORM_URL_ENCODED", "REQUEST_IS_FORM_DATA", "REQUEST_IS_BYTE_ARRAY", "REQUEST_HAS_ATTACHMENT", "REQUEST_GZIP", "REQUEST_DEFLATE", "REQUEST_BR", "REQUEST_ZSTD", "REQUEST_IDENTITY", "REQUEST_COMPRESS", "REQUEST_HTTP_SERVLET", "RESPONSE_IS_BYTE_ARRAY", "RESPONSE_GZIP", "RESPONSE_DEFLATE", "RESPONSE_BR", "RESPONSE_ZSTD", "RESPONSE_IDENTITY", "RESPONSE_COMPRESS", "RESPONSE_BACKEND_CONTENT_ENCODING", "RESPONSE_CHARSET", "RESPONSE_STATUS_CODE", "RESPONSE_HTTP_SERVLET", "ERROR_CATEGORY", "ERROR_TYPE", "ERROR_PARENT", "ERROR_RESULT_TYPE", "ERROR_MESSAGE", "ERROR_CODE", "ERROR_HTTP_CODE", "MESSAGE_CORRELATION_ID", "MESSAGE_CACHE_HIT", "ENVIRONMENT_ID", "ENVIRONMENT_NAME", "ENVIRONMENT_CERTIFICATE", "ENVIRONMENT_PRIVATEKEY", "ENVIRONMENT_PUBLICKEY", "ENVIRONMENT_SECRETKEY", "ENVIRONMENT_KEYSTORE", "ENVIRONMENT_JWK", "APIPROXYGROUP_ID", "APIPROXYGROUP_NAME", "APIPROXY_ID", "APIPROXY_NAME", "APIPROXY_RELATIVE_PATH", "APIMETHOD_ID", "APIMETHOD_NAME", "APIMETHOD_SOAP_ACTION", "APIMETHOD_HTTPMETHOD", "APIMETHOD_ENDPOINT", "APIMETHOD_BACKEND_HTTPMETHOD", "APIMETHOD_BACKEND_ENDPOINT", "DATETIME_YEAR", "DATETIME_MONTH", "DATETIME_DAY_OF_WEEK", "DATETIME_DAY_OF_MONTH", "DATETIME_HOUR", "DATETIME_MINUTE", "DATETIME_SECOND", "DATETIME_EPOCH_MILLIS", "DATETIME_FORMATTED_TEXT", "DATE_FORMATTED_TEXT", "TIME_FORMATTED_TEXT", "CREDENTIAL_USERNAME", "CREDENTIAL_EMAIL", "CREDENTIAL_FULLNAME", "CREDENTIAL_SECRETKEY", "CREDENTIAL_CERTIFICATE", "CREDENTIAL_PUBLICKEY", "CREDENTIAL_PRIVATEKEY", "CREDENTIAL_KEYSTORE", "CREDENTIAL_TRUSTSTORE", "CREDENTIAL_JWK_SIGNANDVALIDATION", "CREDENTIAL_JWK_ENCRYPTIONANDDECRYPTION"]).optional(), zoneId: z.string().optional(), initWithScript: z.boolean().optional(), scriptLanguage: z.enum(["GROOVY", "JAVASCRIPT"]).optional(), scriptBody: z.string().optional()}); export const conditionRule = z.object({conditionCriteria: z.enum(["VALUE", "NOT", "AND", "OR"]).optional(), firstVariable: variable.optional(), variableDataType: z.enum(["NUMERIC", "STRING", "DATE"]).optional(), dateFormat: z.string().optional(), valueComparisonOperator: z.enum(["LT", "LE", "GT", "GE", "EQ", "NE", "EQ_IGNORE_CASE", "NE_IGNORE_CASE", "STARTS_WITH", "NOT_STARTS_WITH", "STARTS_WITH_IGNORE_CASE", "NOT_STARTS_WITH_IGNORE_CASE", "ENDS_WITH", "NOT_ENDS_WITH", "ENDS_WITH_IGNORE_CASE", "NOT_ENDS_WITH_IGNORE_CASE", "CONTAINS", "NOT_CONTAINS", "CONTAINS_IGNORE_CASE", "NOT_CONTAINS_IGNORE_CASE", "IS_EMPTY", "IS_NOT_EMPTY", "EXISTS_AND_EMPTY", "IS_EXISTS", "IS_NOT_EXISTS", "IN", "NOT_IN", "IN_IGNORE_CASE", "NOT_IN_IGNORE_CASE"]).optional(), secondValueSource: z.enum(["VALUE", "VARIABLE"]).optional(), secondValue: z.string().optional(), secondVariable: variable.optional()}); export const policyCondition = z.object({conditionRuleList: z.array(conditionRule).optional()}); export const routingAddressWrapper = z.object({id: z.string().optional(), address: z.string().optional(), description: z.string().optional(), weight: z.number().int().optional(), soapType: z.enum(["SOAP11", "SOAP12", "HTTP"]).optional(), policyCondition: policyCondition.optional(), addressType: z.enum(["PRIMARY", "CANARY", "MIRROR", "FAILOVER_ONLY"]).optional(), healthCheckPath: z.string().optional(), healthMonitoringEnabled: z.boolean().optional(), backendHttpMethod: z.enum(["GET", "POST", "PUT", "HEAD", "OPTIONS", "DELETE", "PATCH", "TRACE", "ALL", "QUERY"]).optional(), resolvedHealthCheckPath: z.string().optional()}); export const canaryReleaseSettings = z.object({enabled: z.boolean().optional(), trafficPercentage: z.number().int().optional(), cooldownPeriodSeconds: z.number().int().optional()}); export const errorResponseRule = z.object({name: z.string().optional(), order: z.number().int().optional(), active: z.boolean().optional(), builtIn: z.boolean().optional(), condition: policyCondition.optional(), template: z.string().optional(), contentType: z.string().optional(), httpStatusCode: z.number().int().optional()}); export const errorMessage = z.object({id: z.string().optional(), errorType: z.enum(["APIPROXY", "APIPROXY_HIDDENSPEC", "APIPROXY_SPEC_AUTH_REQUIRED", "API_METHOD_NOTFOUND", "DBTOAPI_DB_OPERATION_TYPE_NOTFOUND", "DBTOAPI_DB_BATCH_ARRAY_LENGTH", "APIPROXY_NOTFOUND", "APIPROXY_ENDPOINT_MISMATCH", "APIPROXY_ENDPOINT_MISSING_PATH_PARAM_DEFINITION", "APIPROXYGROUP_ACCESS_DISABLED_FROM_PROXY", "APIPROXY_BACKEND_ADDRESS_NOTFOUND", "APIPROXY_BACKEND_MTLS_SETTINGS_NOTFOUND", "APICRYPT_EX", "NOTER_SETTINGS_NOTFOUND", "KPS_SETTINGS_NOTFOUND", "KPS_SECURITY_TOKEN_FAULT", "KPS_SECURITY_TOKEN_NOT_VALID", "SCRIPT_API_NOTFOUND", "CONNECTION_CONFIG_DB_NOTFOUND", "CONNECTION_CONFIG_DB_DISABLED", "DATABASE_CONNECTION_EX", "DB_API_NOTFOUND", "JOB_API_NOTFOUND", "KPS_EX", "CONDITION_RULE_FORMAT_NUMERIC", "CONDITION_RULE_FORMAT_DATE", "CONDITION_RULE_CONFIGURATION", "CONDITION_RULE_EX", "POLICY_AUTH_EMPTYUSERNAMEORPSSWD", "POLICY_AUTH_EMPTYUSERNAME", "POLICY_AUTH_EMPTYPSSWD", "POLICY_AUTH_USERNOTEXISTS", "POLICY_AUTH_EX_LDAP", "POLICY_AUTH_EX_API", "POLICY_AUTH_TYPE", "POLICY_AUTH_EX_DB", "POLICY_AUTH_NOT_FOUND", "POLICY_AUTH_BASIC_EX", "POLICY_AUTH_BASE64_EX", "POLICY_AUTH_DIGEST_EX", "POLICY_AUTH_JWT3RD_EX", "POLICY_AUTH_JWT3RD_MISSING_CONFIG", "POLICY_AUTH_JWT3RD_NOT_VALID", "POLICY_AUTH_JWT_EX", "POLICY_AUTH_JWT_MISSING_CONFIG", "POLICY_AUTH_JWT_NOT_VALID", "POLICY_AUTH_OAUTH2_EX", "POLICY_AUTH_OAUTH2_TOKEN_EXPIRED", "POLICY_AUTH_OAUTH2_TOKEN_NOT_VALID", "POLICY_AUTH_OIDC_PROTOCOL_EX", "POLICY_AUTH_OIDC_AUTHENTICATION_EX", "POLICY_AUTH_OIDC_STOP_FLOW", "POLICY_AUTH_OIDC_REDIRECT", "POLICY_AUTH_OIDC_INVALID_TOKEN", "POLICY_AUTHORIZATION_EX", "POLICY_AUTHORIZATION_METHOD_NOT_FOUND", "POLICY_AUTHORIZATION_WRONG_SCOPE", "POLICY_API_AUTHENTICATION", "POLICY_API_AUTHENTICATION_NOTFOUND", "POLICY_SAML", "POLICY_SAML_SIGNATURENOTEXISTS", "POLICY_SAML_SIGNATURENOTVALID", "POLICY_SAML_KEYSTORENOTVALID", "POLICY_SAML_SIGNERUNKNOWN", "POLICY_CONTENTFILTER", "POLICY_CONTENTFILTER_HEADER", "POLICY_CONTENTFILTER_PARAM", "POLICY_CONTENTFILTER_BODY", "POLICY_CONTENTFILTER_BODY_PATH", "POLICY_IPWHITE_FAILED", "POLICY_IPWHITE_EX", "POLICY_IPBLACK_FAILED", "POLICY_IPBLACK_EX", "POLICY_RESTRICTION_ALLOWEDHOUR_FAILED", "POLICY_RESTRICTION_ALLOWEDHOUR_EX", "POLICY_RESTRICTION_MINMESSAGESIZE_FAILED", "POLICY_RESTRICTION_MAXMESSAGESIZE_FAILED", "POLICY_JSONSCHEMAVALIDATION", "POLICY_JSONSCHEMAVALIDATION_FAILED", "POLICY_JSONSCHEMAVALIDATION_PATH", "POLICY_XMLSCHEMAVALIDATION", "POLICY_XMLSCHEMAVALIDATION_FAILED", "POLICY_XMLSCHEMAVALIDATION_UNEXPECTEDBODY", "POLICY_XMLSCHEMAVALIDATION_PATH", "POLICY_XMLTRANSFORMATION", "POLICY_JSONTRANSFORMATION", "POLICY_APIBASEDTHROTTLING", "POLICY_APIBASEDTHROTTLING_CACHE_SERVICE", "POLICY_APIBASEDTHROTTLING_STOP", "POLICY_APIBASEDQUOTA", "POLICY_APIBASEDQUOTA_CACHE_SERVICE", "POLICY_APIBASEDQUOTA_STOP", "POLICY_REST2SOAP_TRANSFORMATION_REQUEST", "POLICY_REST2SOAP_TRANSFORMATION_RESPONSE", "POLICY_SCRIPT_USERSTOPPEDFLOW", "POLICY_SCRIPT_USERSTOPPEDFLOW_SUCCESS", "POLICY_SCRIPT", "POLICY_WSSECURITY_FROMTARGET", "POLICY_WSSECURITY_TOTARGET", "POLICY_WSSECURITY_STSTOKEN", "POLICY_WSSECURITY_STSTOKEN_NOTFOUND", "POLICY_WSSECURITY_STSTOKEN_NOTVALID", "POLICY_WSSECURITY_STSTOKEN_FAULT", "CIRCUITBREAKEROPEN_EX", "CIRCUITBREAKEROPEN_NO_ROUTE_EX", "CLIENTFLOWBANNER_EX", "POLICY_ROUTING_TIMEOUT", "POLICY_ROUTING_UNKNOWNHOST", "POLICY_ROUTING_MALFORMED", "POLICY_ROUTING_CONNECTIONREFUSED", "POLICY_ROUTING_CONNECTION", "POLICY_ROUTING_ERRORHANDLINGCONDITION", "POLICY_ROUTING_PROXY_EMPTY", "POLICY_ROUTING_PROXY_AUTHORIZATION_EMPTY", "POLICY_ROUTING_CONNECTION_CLOSED_CLIENT", "POLICY_ROUTING_CONNECTION_CLOSED_SERVER", "POLICY_ROUTING_SSE_CLIENT", "POLICY_ROUTING_SSE_SERVER", "POLICY_ROUTING_AI_PROVIDER_EXHAUSTED", "POLICY_ROUTING_AI_PROVIDER_ERROR", "POLICY_ROUTING_AI_NO_SUITABLE_PROVIDER", "POLICY_ROUTING_AI_CONTEXT_WINDOW_EXCEEDED", "POLICY_ROUTING_AI_MODEL_ACCESS_DENIED", "POLICY_AI_TOKEN_QUOTA_EXCEEDED", "POLICY_AI_TOKEN_COUNTER_UNAVAILABLE", "POLICY_AI_ANONYMOUS_NOT_ALLOWED", "MCP_INBOUND_BAD_REQUEST", "MCP_INBOUND_SERVER_NOT_FOUND", "MCP_INBOUND_METHOD_NOT_ALLOWED", "MCP_INBOUND_UNAUTHORIZED", "MCP_INBOUND_SESSION_LIMIT_EXCEEDED", "MCP_INBOUND_PARSE_ERROR", "MCP_INBOUND_METHOD_NOT_FOUND", "MCP_INBOUND_TOOL_NOT_FOUND", "MCP_INBOUND_TOOL_PROXY_UNAVAILABLE", "MCP_INBOUND_TOOL_POLICY_GATE_BLOCKED", "MCP_INBOUND_TOOL_EXECUTION_FAILED", "MCP_INBOUND_CALL_QUOTA_EXCEEDED", "MCP_INBOUND_TOOL_APPROVAL_REQUIRED", "MCP_INBOUND_ELICITATION_UNSUPPORTED", "A2A_INBOUND_BAD_REQUEST", "A2A_INBOUND_AGENT_NOT_FOUND", "A2A_INBOUND_METHOD_NOT_ALLOWED", "A2A_INBOUND_UNAUTHORIZED", "A2A_INBOUND_PARSE_ERROR", "A2A_INBOUND_METHOD_NOT_FOUND", "A2A_INBOUND_TASK_NOT_FOUND", "A2A_INBOUND_TASK_EXECUTION_UNAVAILABLE", "A2A_INBOUND_CONCURRENCY_LIMIT_EXCEEDED", "A2A_INBOUND_CALL_QUOTA_EXCEEDED", "POLICY_REDACTION", "POLICY_REDACTION_VARIABLE_NOT_FOUND", "POLICY_REDACTION_DATA_FORMAT", "POLICY_ENCRYPTION", "POLICY_ENCRYPTION_MISSING_CONFIG", "POLICY_DECRYPTION", "POLICY_DIGITALSIGN", "POLICY_DIGITALSIGNVALIDATION", "POLICY_DIGITALSIGNVALIDATION_FAILED", "POLICY_RESTAPI_RESPONSE", "POLICY_RESTAPI_CONNECTION", "POLICY_RESTAPI", "CACHE_AUTHREQUIREDTOREFRESH", "POLICY_ROLE_GROUP_BASED_ACCESS", "POLICY_ROLE_GROUP_BASED_IP_CHECK_ACCESS", "POLICY_PROTOCOL_TRANSFORMATION", "POLICY_BUSINESS_RULE", "POLICY_BUSINESS_RULE_DATA_FORMAT", "POLICY_BUSINESS_RULE_STOP", "POLICY_BUSINESS_RULE_VARIABLE_NOT_FOUND", "POLICY_MESSAGE_BUILDER", "POLICY_LOG", "APIPROXY_NOTFOUND_FORTOKEN", "CREDENTIAL_NOTFOUND_FORTOKEN", "CREDENTIAL_NOTVALID_FORTOKEN", "URL_TOKEN_MANAGEMENT_TYPE_MISMATCH", "TOKEN_POLICY_NOT_CONFIGURED", "POLICY_ROUTING_SSLHANDSHAKE", "POLICY_ROUTING_SSLEXPIRED", "POLICY_AUTH_CREDENTIAL_NOTEXISTS", "POLICY_AUTH_CREDENTIAL_PROXYNOTALLOWED", "POLICY_AUTH_IDENTITY_AMBIGUOUS", "API_CLIENT_NOT_VALID_AS_RESOURCE_OWNER", "POLICY_AUTH_CREDENTIAL_METHODNOTALLOWED", "POLICY_AUTH_CREDENTIAL_IPNOTALLOWED", "POLICY_AUTH_CREDENTIAL_EXPIRED", "POLICY_AUTH_CONTRACT_PROXY_EXPIRED", "POLICY_AUTH_CONTRACT_CREDENTIAL_EXPIRED", "POLICY_AUTH_CREDENTIAL_PSSWD", "POLICY_AUTH_CREDENTIAL_ENVNOTALLOWED", "POLICY_CLIENTBASEDTHROTTLING", "POLICY_CLIENTBASEDTHROTTLING_CACHE_SERVICE", "POLICY_CLIENTBASEDTHROTTLING_STOP", "POLICY_CLIENTBASEDQUOTA", "POLICY_CLIENTBASEDQUOTA_CACHE_SERVICE", "POLICY_CLIENTBASEDQUOTA_STOP", "POLICY_JOSE_IMPLEMENTATION_JWK_EMPTY_APIPROXY_VALIDATION", "POLICY_JOSE_IMPLEMENTATION_JWK_NOT_FOUND_VALIDATION", "POLICY_JOSE_IMPLEMENTATION_JWK_EMPTY_APIPROXY_ENCRYPTION", "POLICY_JOSE_IMPLEMENTATION_JWK_NOT_FOUND_ENCRYPTION", "POLICY_JOSE_IMPLEMENTATION_JWK_EMPTY_CREDENTIAL_VALIDATION", "POLICY_JOSE_IMPLEMENTATION_JWK_NOT_FOUND_CREDENTIAL_VALIDATION", "POLICY_JOSE_IMPLEMENTATION_JWK_EMPTY_CREDENTIAL_ENCRYPTION", "POLICY_JOSE_IMPLEMENTATION_JWK_NOT_FOUND_CREDENTIAL_ENCRYPTION", "POLICY_JOSE_IMPLEMENTATION_SIGN", "POLICY_JOSE_IMPLEMENTATION_ENCRYPTION", "POLICY_JOSE_IMPLEMENTATION_ENCRYPTION_NEED_SIGN", "POLICY_JOSE_IMPLEMENTATION_EX", "POLICY_JOSE_IMPLEMENTATION_TARGET_VALUE_NOT_FOUND", "POLICY_JOSE_VALIDATION_JWK_EMPTY_APIPROXY_ENCRYPTION", "POLICY_JOSE_VALIDATION_JWK_NOT_FOUND_ENCRYPTION", "POLICY_JOSE_VALIDATION_JWK_EMPTY_APIPROXY_VALIDATE", "POLICY_JOSE_VALIDATION_JWK_NOT_FOUND_VALIDATE", "POLICY_JOSE_VALIDATION_JWK_EMPTY_CREDENTIAL_SIGN", "POLICY_JOSE_VALIDATION_JWK_EMPTY_CREDENTIAL_ENC", "POLICY_JOSE_VALIDATION_JWK_NOT_FOUND_CREDENTIAL_ENC", "POLICY_JOSE_VALIDATION_JWK_NOT_FOUND_CREDENTIAL_SIGN", "POLICY_JOSE_VALIDATION_TARGET_VALUE_EMPTY", "POLICY_JOSE_VALIDATION_ISSUER_EMPTY", "POLICY_JOSE_VALIDATION_PARSE_JWT", "POLICY_JOSE_VALIDATION_DECRYPTION", "POLICY_JOSE_VALIDATION_JWT_IS_NOT_ENCRYPTED", "POLICY_JOSE_VALIDATION_SIGNVALIDATION", "POLICY_JOSE_VALIDATION_JWT_IS_NOT_SIGNED", "POLICY_JOSE_VALIDATION_CLAIMVALIDATION", "POLICY_JOSE_VALIDATION_SIGNATUREINVALID", "POLICY_JOSE_VALIDATION_EX", "POLICY_MTLS_AUTHENTICATION_CERTIFICATE_MISSING", "POLICY_MTLS_AUTHENTICATION_CERTIFICATE_NOTVALID", "POLICY_MTLS_AUTHENTICATION_CERTIFICATE_ISSUER_MISSING", "POLICY_MTLS_AUTHENTICATION_EX", "POLICY_MTLS_AUTHENTICATION_ISSUER_MTLS_MISSING", "POLICY_MTLS_AUTHENTICATION_ISSUER_CERT_NOT_MATCH", "CONNECTOR_SETTINGS_NOTFOUND", "CONNECTOR_SETTINGS_DISABLED", "CONNECTOR_EX", "POLICY_ROUTING_ILLEGAL_ARGUMENT", "POLICY_ROUTING_CLIENT_PROTOCOL", "POLICY_JOSE_IMPLEMENTATION_JWK_EXPIRED", "POLICY_JOSE_VALIDATION_JWK_EXPIRED", "POLICY_GROUP_EX", "POLICY_ENDPOINTRATELIMIT", "POLICY_ENDPOINTRATELIMIT_CACHE_SERVICE", "POLICY_ENDPOINTRATELIMIT_STOP", "POLICY_ENDPOINTRATELIMIT_TARGETNOTEXIST", "POLICY_CLIENTBANNER_BANNED", "POLICY_CLIENTBANNER_EX", "POLICY_CLIENTBANNER_IDENTITYNOTFOUND", "POLICY_WSSECURITY_SIGN", "POLICY_WSSECURITY_SIGN_VALIDATION", "POLICY_WSSECURITY_ENCRYPT", "POLICY_WSSECURITY_DECRYPT", "POLICY_WSSECURITY_USERNAME", "POLICY_WSSECURITY_TIMESTAMP", "POLICY_AUTH_EX", "POLICY_AUTH_CREDENTIALS_MISSING", "JOSE_VAL_CONFIG_ERROR", "JOSE_VAL_EX", "JOSE_VAL_TOKEN_INVALID", "POLICY_JOSE_VALIDATION_DPOP_INVALID", "POLICY_JOSE_VALIDATION_DPOP_BINDING_MISMATCH", "JOSE_IMPL_CONFIG_ERROR", "APIPROXY_CONFIG_ERROR", "APIPROXY_EX", "CONTENTFILTER_VIOLATION", "THROTTLING_STOP", "THROTTLING_EX", "THROTTLING_CACHE_SERVICE", "QUOTA_STOP", "QUOTA_EX", "QUOTA_CACHE_SERVICE", "ROUTING_CIRCUITBREAKER", "ROUTING_CLIENT_ERROR", "ROUTING_CONFIG_ERROR", "ROUTING_MTLS_CONFIG_FAILED", "ROUTING_SSE_EX", "ENDPOINT_RATELIMIT_EX", "ENDPOINT_RATELIMIT_EXCEEDED", "ENDPOINT_RATELIMIT_IDENTITY_NOT_ALLOWED", "ENDPOINT_RATELIMIT_IDENTITY_NOT_RESOLVED", "RLCL_AUTHENTICATION_POLICY_REQUIRED", "REST2SOAP_EX", "REDACTION_EX", "BUSINESS_RULE_EX", "MTLS_CERTIFICATE_MISSING", "MTLS_CERTIFICATE_NOTVALID", "KPS_TOKEN_EX", "JSON_SCHEMA_VALIDATION_FAILED", "XML_SCHEMA_VALIDATION_FAILED", "WSSECURITY_STSTOKEN_NOTVALID", "RESTAPI_EX", "CONDITION_EX", "POLICY_CACHE_EX", "POLICY_CACHE_INVALID_CONFIG", "POLICY_AI_MCP_TOOL_CALL_CONFIG_MISSING", "POLICY_AI_A2A_AGENT_CALL_CONFIG_MISSING", "POLICY_AI_A2A_AGENT_INVOKE_CONFIG_MISSING", "POLICY_AI_A2A_AGENT_INVOKE_INVOCATION_FAILED", "POLICY_AI_MCP_TOOL_INVOKE_CONFIG_MISSING", "POLICY_AI_MCP_TOOL_INVOKE_INVOCATION_FAILED", "POLICY_AI_PROMPT_GUARD_BLOCKED", "POLICY_AI_SEMANTIC_CACHE_ERROR", "POLICY_AI_RAG_INJECTION_NO_MATCH", "POLICY_AI_RAG_INJECTION_RETRIEVAL_ERROR", "POLICY_AI_DLP_BLOCKED", "POLICY_AI_PII_ENCODED_BLOCKED", "POLICY_AI_PII_MASK_FAILED", "POLICY_AI_LOOP_DETECTED", "POLICY_AI_OFF_TOPIC", "POLICY_AI_TOPIC_JUDGE_BLOCKED", "POLICY_AI_PII_JUDGE_BLOCKED", "POLICY_AI_CONTEXT_INTEGRITY_BLOCKED", "POLICY_AI_PROMPT_DECORATOR_LIMIT_EXCEEDED", "POLICY_AI_DENIED_TOPIC", "POLICY_AI_PROMPT_TEMPLATE_UNKNOWN_TEMPLATE", "POLICY_AI_PROMPT_TEMPLATE_MISSING_PARAM", "POLICY_AI_PROMPT_TEMPLATE_LIMIT_EXCEEDED", "POLICY_AI_GROUNDEDNESS_VIOLATION"]).optional(), parentErrorType: z.enum(["API_PROXY", "APICREATOR", "FAKE_API", "KPS_API", "CONDITION_ERR", "CONDITION_EX", "POLICY_GROUP", "POLICY_AUTHENTICATION", "POLICY_OIDC", "POLICY_AUTHORIZATION", "POLICY_API_AUTHENTICATION", "POLICY_THROTTLING_PER_CLIENT", "POLICY_APIBASEDTHROTTLING", "POLICY_ENDPOINTRATELIMIT", "POLICY_APIBASEDQUOTA", "POLICY_CLIENTBASEDTHROTTLING", "POLICY_CLIENTBASEDQUOTA", "POLICY_CLIENTBANNER", "POLICY_QUOTA_PER_CLIENT", "POLICY_SCRIPT", "POLICY_OAUTH2", "POLICY_SAML", "POLICY_JOSE_IMPLEMENTATION", "POLICY_JOSE_VALIDATION", "POLICY_MTLS_AUTHENTICATION", "POLICY_CONTENTFILTER", "POLICY_IPWHITE", "POLICY_IPBLACK", "POLICY_ALLOWEDHOUR", "POLICY_MINMESSAGESIZE", "POLICY_MAXMESSAGESIZE", "POLICY_JSONSCHEMAVALIDATION", "POLICY_XMLSCHEMAVALIDATION", "POLICY_JSONTRANSFORMATION", "POLICY_XMLTRANSFORMATION", "POLICY_JSONRESPONSEMESSAGETRANS", "POLICY_XMLRESPONSEMESSAGETRANS", "POLICY_REST2SOAP_TRANSFORMATION", "POLICY_CACHE", "POLICY_ROUTING", "POLICY_REDACTION", "POLICY_CORS", "POLICY_ENCRYPTION", "POLICY_DECRYPTION", "POLICY_ROLE_GROUP", "POLICY_DIGITALSIGN", "POLICY_DIGITALSIGNVALIDATION", "POLICY_RESTAPI", "POLICY_WSSECURITY", "POLICY_WSSECURITY_ENCRYPT", "POLICY_WSSECURITY_DECRYPT", "POLICY_WSSECURITY_USERNAME", "POLICY_WSSECURITY_TIMESTAMP", "POLICY_WSSECURITY_SIGN", "POLICY_WSSECURITY_SIGN_VALIDATION", "POLICY_WSSECURITY_STSTOKEN", "POLICY_BUSINESS_RULE", "POLICY_MESSAGE_BUILDER", "POLICY_LOG", "POLICY_AI_PII_MASK", "POLICY_AI_PROMPT_GUARD", "POLICY_AI_TOKEN_RATE_LIMIT", "POLICY_AI_SEMANTIC_CACHE", "POLICY_AI_MCP_TOOL_CALL", "POLICY_AI_A2A_AGENT_CALL", "POLICY_AI_RAG_INJECTION", "POLICY_AI_DLP_GUARD", "POLICY_AI_LOOP_GUARD", "POLICY_AI_TOPIC_GUARD", "POLICY_AI_CONTEXT_INTEGRITY", "POLICY_AI_ROUTING", "POLICY_AI_A2A_AGENT_INVOKE", "POLICY_AI_MCP_TOOL_INVOKE", "POLICY_AI_PROMPT_DECORATOR", "POLICY_AI_PROMPT_TEMPLATE", "POLICY_AI_GROUNDEDNESS_GUARD", "LICENSE"]).optional(), httpStatusCode: z.number().int().optional(), errorCode: z.string().optional(), originalMessage: z.string().optional(), customizedHttpStatusCode: z.number().int().optional(), customizedErrorCode: z.string().optional(), customizedMessage: z.string().optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), errorResponseRules: z.array(errorResponseRule).optional(), customized: z.boolean().optional()}); export const routingMTLSSettings = z.object({enabled: z.boolean().optional(), skipSslVerification: z.boolean().optional(), keyStoreId: z.string().optional(), trustStoreId: z.string().optional(), certificateId: z.string().optional(), supportedProtocolList: z.array(z.enum(["TLS_1_3", "TLS_1_2", "TLS_1_1", "TLS_1_0", "SSL_3_0"])).optional(), hostnameVerifierType: z.enum(["NOOP", "DEFAULT", "STRICT", "BROWSER_COMPAT"]).optional()}); export const routingNTLMSettings = z.object({enabled: z.boolean().optional(), domain: z.string().optional(), username: z.string().optional(), password: z.string().optional(), workstation: z.string().optional()}); export const routingGrpcSettings = z.object({maxInboundMessageSize: z.number().int().optional(), maxInboundMetadataSize: z.number().int().optional(), keepAliveTime: z.number().int().optional(), keepAliveTimeout: z.number().int().optional(), keepAliveWithoutCalls: z.boolean().optional(), channelIdleTimeout: z.number().int().optional(), perRpcBufferLimit: z.number().int().optional(), maxRetryAttempts: z.number().int().optional(), maxHedgedAttempts: z.number().int().optional(), maxTraceEvents: z.number().int().optional()}); export const routingWebsocketSettings = z.object({connectionLostTimeout: z.number().int().optional(), reuseAddr: z.boolean().optional(), connectTimeout: z.number().int().optional(), maxRetries: z.number().int().optional(), retryDelay: z.number().int().optional(), autoReconnect: z.boolean().optional(), autoReconnectMaxRetries: z.number().int().optional(), autoReconnectRetryDelay: z.number().int().optional()}); export const kpsSettingsConfiguration = z.object({id: z.number().int().optional(), condition: policyCondition.optional(), username: z.string().optional(), password: z.string().optional(), environmentIdList: z.array(z.string()).optional()}); export const kpsSettings = z.object({id: z.string().optional(), enable: z.boolean().optional(), configurationList: z.array(kpsSettingsConfiguration).optional(), expirationPeriodInMin: z.number().int().optional()}); export const databaseParameter = z.object({name: z.string().optional(), description: z.string().optional(), dataType: z.enum(["STRING", "CLOB", "BOOLEAN", "INTEGER", "LONG", "DOUBLE", "DATE", "DATETIME", "REF_CURSOR"]).optional(), format: z.string().optional(), paramType: z.enum(["BODY", "PATH", "QUERY", "HEADER", "FORMDATA"]).optional(), repetitionType: z.enum(["SINGLE", "MULTIPLE"]).optional(), paramDirection: z.enum(["OUT", "IN"]).optional(), booleanValue: z.boolean().optional(), dateValue: z.string().optional(), doubleValue: z.number().optional(), longValue: z.number().int().optional(), intValue: z.number().int().optional(), stringValue: z.string().optional(), clobValue: z.string().optional(), indexList: z.array(z.number().int()).optional()}); export const dbToApiMethod = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), httpMethod: z.enum(["GET", "POST", "PUT", "HEAD", "OPTIONS", "DELETE", "PATCH", "TRACE", "ALL", "QUERY"]).optional(), sqlStatement: z.string().optional(), connectionPoolDefId: z.string().optional(), parameterList: z.array(databaseParameter).optional(), reqIgnoreNull: z.boolean().optional(), reqIgnoreEmpty: z.boolean().optional(), reqNumbersAsStrings: z.boolean().optional(), queryTimeout: z.number().int().optional(), exampleResponse: z.string().optional(), parsed: z.boolean().optional(), operationType: z.enum(["SELECT", "UPDATE", "INSERT", "DELETE", "PROCEDURE", "TRUNCATE", "BATCH_INSERT"]).optional(), databaseType: z.enum(["ORACLE", "MYSQL", "POSTGRES", "SQL_SERVER", "SYBASE", "DB2", "APACHE_HIVE", "APACHE_IMPALA", "MONGODB", "TRINO"]).optional(), environmentSettingsId: z.string().optional()}); export const dbToApi = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), projectId: z.string().optional(), methodDefList: z.array(dbToApiMethod).optional()}); export const scriptToApiMethod = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), httpMethod: z.enum(["GET", "POST", "PUT", "HEAD", "OPTIONS", "DELETE", "PATCH", "TRACE", "ALL", "QUERY"]).optional(), scriptType: z.enum(["GROOVY", "JAVASCRIPT"]).optional(), script: z.string().optional()}); export const specContact = z.object({name: z.string().optional(), url: z.string().optional(), email: z.string().optional(), extensions: z.record(z.string(), z.unknown()).optional()}); export const specLicense = z.object({name: z.string().optional(), url: z.string().optional(), extensions: z.record(z.string(), z.unknown()).optional()}); export const specInfo = z.object({title: z.string().optional(), description: z.string().optional(), termsOfService: z.string().optional(), contact: specContact.optional(), license: specLicense.optional(), version: z.string().optional(), extensions: z.record(z.string(), z.unknown()).optional()}); export const specExternalDocumentation = z.object({description: z.string().optional(), url: z.string().optional(), extensions: z.record(z.string(), z.unknown()).optional()}); export const specServerVariable = z.object({description: z.string().optional(), extensions: z.record(z.string(), z.unknown()).optional(), enum: z.array(z.string()).optional(), default: z.string().optional()}); export const specServer = z.object({url: z.string().optional(), description: z.string().optional(), variables: z.object({extensions: z.record(z.string(), z.unknown()).optional(), empty: z.boolean().optional()}).and(z.record(z.string(), specServerVariable)).optional(), extensions: z.record(z.string(), z.unknown()).optional(), soapType: z.enum(["SOAP11", "SOAP12", "HTTP"]).optional()}); export const specSecurityRequirement = z.object({empty: z.boolean().optional()}).and(z.record(z.string(), z.array(z.string()))); export const specTag = z.object({name: z.string().optional(), description: z.string().optional(), externalDocs: specExternalDocumentation.optional(), extensions: z.record(z.string(), z.unknown()).optional()}); export const specXML = z.object({name: z.string().optional(), namespace: z.string().optional(), prefix: z.string().optional(), attribute: z.boolean().optional(), wrapped: z.boolean().optional(), extensions: z.record(z.string(), z.unknown()).optional()}); export const specDiscriminator = z.object({propertyName: z.string().optional(), mapping: z.record(z.string(), z.string()).optional()}); export const specSchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown(), _class: z.string(), "@id": z.number().int().optional()}); export const specSchemaObject = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown(), _class: z.string(), "@id": z.number().int().optional()}); export const specBinarySchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.string()).optional(), modelName: z.string().optional(), default: z.string().optional(), _class: z.string(), "@id": z.number().int().optional()}); export const specBooleanSchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.boolean()).optional(), modelName: z.string().optional(), default: z.boolean().optional(), _class: z.string(), "@id": z.number().int().optional()}); export const specByteArraySchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.string()).optional(), modelName: z.string().optional(), default: z.string().optional(), _class: z.string(), "@id": z.number().int().optional()}); export const specCommonDataModel = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown(), _class: z.string(), "@id": z.number().int().optional(), id: z.string().optional(), projectId: z.string().optional()}); export const specComposedSchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown(), _class: z.string(), "@id": z.number().int().optional(), allOf: z.array(specSchema).optional(), anyOf: z.array(specSchema).optional(), oneOf: z.array(specSchema).optional()}); export const specDateSchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.string()).optional(), modelName: z.string().optional(), default: z.string().optional(), _class: z.string(), "@id": z.number().int().optional()}); export const specDateTimeSchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.string()).optional(), modelName: z.string().optional(), default: z.string().optional(), _class: z.string(), "@id": z.number().int().optional()}); export const specEmailSchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.string()).optional(), modelName: z.string().optional(), default: z.string().optional(), _class: z.string(), "@id": z.number().int().optional()}); export const specFileSchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.string()).optional(), modelName: z.string().optional(), default: z.string().optional(), _class: z.string(), "@id": z.number().int().optional()}); export const specIntegerSchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.number()).optional(), modelName: z.string().optional(), default: z.number().optional(), _class: z.string(), "@id": z.number().int().optional()}); export const specJsonSchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown(), _class: z.string(), "@id": z.number().int().optional()}); export const specMapSchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown(), _class: z.string(), "@id": z.number().int().optional()}); export const specNumberSchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.number()).optional(), modelName: z.string().optional(), default: z.number().optional(), _class: z.string(), "@id": z.number().int().optional()}); export const specObjectSchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown(), _class: z.string(), "@id": z.number().int().optional()}); export const specPasswordSchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.string()).optional(), modelName: z.string().optional(), default: z.string().optional(), _class: z.string(), "@id": z.number().int().optional()}); export const specStringSchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.string()).optional(), modelName: z.string().optional(), default: z.string().optional(), _class: z.string(), "@id": z.number().int().optional()}); export const specUUIDSchema = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.string()).optional(), modelName: z.string().optional(), default: z.string().optional(), _class: z.string(), "@id": z.number().int().optional()}); export const specArraySchema: z.ZodType = z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: specSchema.optional(), properties: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown()})).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown(), _class: z.string(), "@id": z.number().int().optional(), items: z.union([specSchemaObject, z.lazy(() => specArraySchema), specBinarySchema, specBooleanSchema, specByteArraySchema, specCommonDataModel, specComposedSchema, specDateSchema, specDateTimeSchema, specEmailSchema, specFileSchema, specIntegerSchema, specJsonSchema, specMapSchema, specNumberSchema, specObjectSchema, specPasswordSchema, specStringSchema, specUUIDSchema]).optional()}); export const specExample = z.object({summary: z.string().optional(), description: z.string().optional(), value: z.unknown(), externalValue: z.string().optional(), get$ref: z.string().optional(), extensions: z.record(z.string(), z.unknown()).optional(), policyCondition: policyCondition.optional()}); export const specHeader = z.object({description: z.string().optional(), get$ref: z.string().optional(), required: z.boolean().optional(), deprecated: z.boolean().optional(), explode: z.boolean().optional(), schema: z.union([specSchema, specArraySchema, specBinarySchema, specBooleanSchema, specByteArraySchema, specCommonDataModel, specComposedSchema, specDateSchema, specDateTimeSchema, specEmailSchema, specFileSchema, specIntegerSchema, specJsonSchema, specMapSchema, specNumberSchema, specObjectSchema, specPasswordSchema, specStringSchema, specUUIDSchema]).optional(), examples: z.record(z.string(), specExample).optional(), example: z.unknown(), extensions: z.record(z.string(), z.unknown()).optional()}); export const specEncoding = z.object({contentType: z.string().optional(), headers: z.record(z.string(), specHeader).optional(), style: z.enum(["form", "spaceDelimited", "pipeDelimited", "deepObject"]).optional(), explode: z.boolean().optional(), allowReserved: z.boolean().optional(), extensions: z.record(z.string(), z.unknown()).optional()}); export const specMediaType = z.object({schema: z.union([specSchema, specArraySchema, specBinarySchema, specBooleanSchema, specByteArraySchema, specCommonDataModel, specComposedSchema, specDateSchema, specDateTimeSchema, specEmailSchema, specFileSchema, specIntegerSchema, specJsonSchema, specMapSchema, specNumberSchema, specObjectSchema, specPasswordSchema, specStringSchema, specUUIDSchema]).optional(), examples: z.record(z.string(), specExample).optional(), example: z.unknown(), encoding: z.record(z.string(), specEncoding).optional(), extensions: z.record(z.string(), z.unknown()).optional(), schemaJson: z.string().optional(), schemaYaml: z.string().optional()}); export const specParameter = z.object({name: z.string().optional(), in: z.string().optional(), typeIn: z.string().optional(), description: z.string().optional(), required: z.boolean().optional(), deprecated: z.boolean().optional(), allowEmptyValue: z.boolean().optional(), get$ref: z.string().optional(), style: z.enum(["matrix", "label", "form", "simple", "spaceDelimited", "pipeDelimited", "deepObject"]).optional(), explode: z.boolean().optional(), allowReserved: z.boolean().optional(), schema: z.union([specSchema, specArraySchema, specBinarySchema, specBooleanSchema, specByteArraySchema, specCommonDataModel, specComposedSchema, specDateSchema, specDateTimeSchema, specEmailSchema, specFileSchema, specIntegerSchema, specJsonSchema, specMapSchema, specNumberSchema, specObjectSchema, specPasswordSchema, specStringSchema, specUUIDSchema]).optional(), examples: z.record(z.string(), specExample).optional(), example: z.unknown(), content: z.object({empty: z.boolean().optional()}).and(z.record(z.string(), specMediaType)).optional(), extensions: z.record(z.string(), z.unknown()).optional()}); export const specRequestBody = z.object({description: z.string().optional(), content: z.object({empty: z.boolean().optional()}).and(z.record(z.string(), specMediaType)).optional(), required: z.boolean().optional(), extensions: z.record(z.string(), z.unknown()).optional(), get$ref: z.string().optional()}); export const specLink = z.object({operationRef: z.string().optional(), operationId: z.string().optional(), parameters: z.record(z.string(), z.string()).optional(), requestBody: z.unknown(), headers: z.record(z.string(), specHeader).optional(), description: z.string().optional(), get$ref: z.string().optional(), extensions: z.record(z.string(), z.unknown()).optional(), server: specServer.optional()}); export const specApiResponse = z.object({description: z.string().optional(), headers: z.record(z.string(), specHeader).optional(), content: z.object({empty: z.boolean().optional()}).and(z.record(z.string(), specMediaType)).optional(), links: z.record(z.string(), specLink).optional(), extensions: z.record(z.string(), z.unknown()).optional(), get$ref: z.string().optional()}); export const specCallback = z.object({extensions: z.record(z.string(), z.unknown()).optional(), get$ref: z.string().optional(), empty: z.boolean().optional()}).and(z.record(z.string(), z.object({summary: z.string().optional(), description: z.string().optional(), get: z.lazy(() => specOperation.optional()), put: z.lazy(() => specOperation.optional()), post: z.lazy(() => specOperation.optional()), operDelete: z.lazy(() => specOperation.optional()), options: z.lazy(() => specOperation.optional()), head: z.lazy(() => specOperation.optional()), patch: z.lazy(() => specOperation.optional()), trace: z.lazy(() => specOperation.optional()), query: z.lazy(() => specOperation.optional()), servers: z.array(specServer).optional(), parameters: z.array(specParameter).optional(), get$ref: z.string().optional(), extensions: z.record(z.string(), z.unknown()).optional()}))); export const testCaseForm = z.object({key: z.string().optional(), value: z.string().optional(), description: z.string().optional(), type: z.enum(["TEXT", "FILE"]).optional(), fileContent: z.string().optional(), fileName: z.string().optional(), contentType: z.string().optional()}); export const specOperation: z.ZodType = z.object({tags: z.array(z.string()).optional(), id: z.string().optional(), summary: z.string().optional(), description: z.string().optional(), externalDocs: specExternalDocumentation.optional(), operationId: z.string().optional(), parameters: z.array(specParameter).optional(), requestBody: specRequestBody.optional(), enumTestConsoleRequestBodyType: z.enum(["NONE", "FORM_DATA", "URL_ENCODED", "RAW", "BINARY"]).optional(), responses: z.object({extensions: z.record(z.string(), z.unknown()).optional(), default: specApiResponse.optional(), empty: z.boolean().optional()}).and(z.record(z.string(), specApiResponse)).optional(), callbacks: z.record(z.string(), specCallback).optional(), deprecated: z.boolean().optional(), security: z.array(specSecurityRequirement).optional(), servers: z.array(specServer).optional(), urlEncodedList: z.array(testCaseForm).optional(), extensions: z.record(z.string(), z.unknown()).optional()}); export const specPathItem = z.object({summary: z.string().optional(), description: z.string().optional(), get: specOperation.optional(), put: specOperation.optional(), post: specOperation.optional(), operDelete: specOperation.optional(), options: specOperation.optional(), head: specOperation.optional(), patch: specOperation.optional(), trace: specOperation.optional(), query: specOperation.optional(), servers: z.array(specServer).optional(), parameters: z.array(specParameter).optional(), get$ref: z.string().optional(), extensions: z.record(z.string(), z.unknown()).optional()}); export const specOAuthFlow = z.object({authorizationUrl: z.string().optional(), tokenUrl: z.string().optional(), refreshUrl: z.string().optional(), scopes: z.object({extensions: z.record(z.string(), z.unknown()).optional(), empty: z.boolean().optional()}).and(z.record(z.string(), z.string())).optional(), extensions: z.record(z.string(), z.unknown()).optional()}); export const specOAuthFlows = z.object({implicit: specOAuthFlow.optional(), password: specOAuthFlow.optional(), clientCredentials: specOAuthFlow.optional(), authorizationCode: specOAuthFlow.optional(), extensions: z.record(z.string(), z.unknown()).optional()}); export const specSecurityScheme = z.object({type: z.enum(["apiKey", "http", "oauth2", "mutualTLS", "openIdCnnect"]).optional(), description: z.string().optional(), name: z.string().optional(), get$ref: z.string().optional(), in: z.enum(["cookie", "header", "query"]).optional(), scheme: z.string().optional(), bearerFormat: z.string().optional(), flows: specOAuthFlows.optional(), openIdConnectUrl: z.string().optional(), extensions: z.record(z.string(), z.unknown()).optional()}); export const specComponents = z.object({schemas: z.record(z.string(), z.object({title: z.string().optional(), multipleOf: z.number().optional(), maximum: z.number().optional(), exclusiveMaximum: z.boolean().optional(), minimum: z.number().optional(), exclusiveMinimum: z.boolean().optional(), maxLength: z.number().int().optional(), minLength: z.number().int().optional(), pattern: z.string().optional(), maxItems: z.number().int().optional(), minItems: z.number().int().optional(), uniqueItems: z.boolean().optional(), maxProperties: z.number().int().optional(), minProperties: z.number().int().optional(), required: z.array(z.string()).optional(), type: z.string().optional(), not: z.unknown(), properties: z.record(z.string(), z.unknown()).optional(), additionalProperties: z.unknown(), description: z.string().optional(), format: z.string().optional(), get$ref: z.string().optional(), nullable: z.boolean().optional(), readOnly: z.boolean().optional(), writeOnly: z.boolean().optional(), example: z.unknown(), externalDocs: specExternalDocumentation.optional(), deprecated: z.boolean().optional(), xml: specXML.optional(), extensions: z.record(z.string(), z.unknown()).optional(), discriminator: specDiscriminator.optional(), enum: z.array(z.unknown()).optional(), modelName: z.string().optional(), default: z.unknown(), _class: z.string(), "@id": z.number().int().optional()})).optional(), responses: z.record(z.string(), specApiResponse).optional(), parameters: z.record(z.string(), specParameter).optional(), examples: z.record(z.string(), specExample).optional(), requestBodies: z.record(z.string(), specRequestBody).optional(), headers: z.record(z.string(), specHeader).optional(), securitySchemes: z.record(z.string(), specSecurityScheme).optional(), links: z.record(z.string(), specLink).optional(), callbacks: z.record(z.string(), specCallback).optional(), extensions: z.record(z.string(), z.unknown()).optional()}); export const soapSchema = z.object({schemaNo: z.number().int().optional(), schemaBody: z.string().optional(), originalLocation: z.string().optional(), schemaNamespace: z.string().optional()}); export const specApi = z.object({id: z.string().optional(), projectId: z.string().optional(), apiProxyId: z.string().optional(), apiProxyRevision: z.number().int().optional(), openapi: z.string().optional(), info: specInfo.optional(), advanced: z.boolean().optional(), specFromProxy: z.boolean().optional(), specCreationType: z.enum(["OPEN_API", "SWAGGER", "WSDL", "WADL"]).optional(), externalDocs: specExternalDocumentation.optional(), servers: z.array(specServer).optional(), security: z.array(specSecurityRequirement).optional(), tags: z.array(specTag).optional(), paths: z.object({extensions: z.record(z.string(), z.unknown()).optional(), empty: z.boolean().optional()}).and(z.record(z.string(), specPathItem)).optional(), components: specComponents.optional(), extensions: z.record(z.string(), z.unknown()).optional(), importedContentOfBackendApi: z.string().optional(), soapSchemaList: z.array(soapSchema).optional(), createdDate: z.string().optional(), updatedDate: z.string().optional()}); export const scriptToApi = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), projectId: z.string().optional(), methodDefList: z.array(scriptToApiMethod).optional(), specApi: specApi.optional()}); export const mockApiMethodResponseExample = z.object({uuid: z.string().optional(), name: z.string().optional(), responseContentType: z.string().optional(), responseBody: z.string().optional(), policyCondition: policyCondition.optional()}); export const mockApiMethodResponse = z.object({uuid: z.string().optional(), httpStatusCode: z.enum(["CONTINUE", "SWITCHING_PROTOCOLS", "PROCESSING", "OK", "CREATED", "ACCEPTED", "NON_AUTHORITATIVE_INFORMATION", "NO_CONTENT", "RESET_CONTENT", "PARTIAL_CONTENT", "MULTI_STATUS", "ALREADY_REPORTED", "IM_USED", "MULTIPLE_CHOICES", "MOVED_PERMANENTLY", "FOUND", "SEE_OTHER", "NOT_MODIFIED", "USE_PROXY", "UNUSED", "TEMPORARY_REDIRECT", "PERMANENT_REDIRECT", "BAD_REQUEST", "UNAUTHORIZED", "PAYMENT_REQUIRED", "FORBIDDEN", "NOT_FOUND", "METHOD_NOT_ALLOWED", "NOT_ACCEPTABLE", "PROXY_AUTHENTICATION_REQUIRED", "REQUEST_TIMEOUT", "CONFLICT", "GONE", "LENGTH_REQUIRED", "PRECONDITION_FAILED", "REQUEST_ENTITY_TOO_LARGE", "REQUEST_ENTITY_TOO_LONG", "UNSUPPORTED_MEDIA_TYPE", "REQUESTED_RANGE_NOT_SATISFIABLE", "EXPECTED_FAILED", "I_AM_TEAPOT", "ENHANCE_YOUR_CALM", "UNPROCESSABLE_ENTITY", "LOCKED", "FAILED_DEPENDENCY", "TOO_EARLY", "UPGRADE_REQUIRED", "PRECONDITION_REQUIRED", "TOO_MANY_REQUESTS", "REQUEST_HEADER_FIELDS_TOO_LARGE", "NO_RESPONSE", "RETRY_WITH", "BLOCKED_BY_WINDOWS_PARENTAL_CONTROLS", "CLIENT_CLOSED_REQUEST", "INTERNAL_SERVER_ERROR", "NOT_IMPLEMENTED", "BAD_GATEWAY", "SERVICE_UNAVAILABLE", "GATEWAY_TIMEOUT", "HTTP_VERSION_NOT_SUPPORTED", "VARIANT_ALSO_NEGOTIATES", "INSUFFICIENT_STROAGE", "LOOP_DETECTED", "BANDWIDTH_LIMIT_EXCEEDED", "NOT_EXTENDED"]).optional(), headerList: z.array(apinizerBasicHeader).optional(), description: z.string().optional(), exampleList: z.array(mockApiMethodResponseExample).optional()}); export const mockApiMethodParameter = z.object({name: z.string().optional(), location: z.string().optional(), type: z.string().optional(), required: z.boolean().optional(), example: z.string().optional(), description: z.string().optional()}); export const mockApiMethodRequestBody = z.object({mediaType: z.string().optional(), required: z.boolean().optional(), schema: z.string().optional()}); export const mockApiMethod = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), httpMethod: z.enum(["GET", "POST", "PUT", "HEAD", "OPTIONS", "DELETE", "PATCH", "TRACE", "ALL", "QUERY"]).optional(), responseList: z.array(mockApiMethodResponse).optional(), summary: z.string().optional(), operationId: z.string().optional(), tag: z.string().optional(), parameterList: z.array(mockApiMethodParameter).optional(), requestBody: mockApiMethodRequestBody.optional()}); export const mockApi = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), version: z.string().optional(), projectId: z.string().optional(), methodDefList: z.array(mockApiMethod).optional(), specApi: specApi.optional()}); export const privacyDefinition = z.object({presetId: z.string().optional(), elementName: z.string().optional(), operation: z.enum(["MASK", "DELETE", "ENCRYPT", "HASH", "DETECT"]).optional(), enabled: z.boolean().optional(), patternType: z.enum(["ELEMENT_NAME", "REGEX", "BUILTIN"]).optional(), regexPattern: z.string().optional(), builtInPiiType: z.enum(["TCKN", "IBAN_TR", "PHONE_TR", "EMAIL", "CREDIT_CARD", "IP_ADDRESS", "URL", "PASSPORT", "SSN_US", "DRIVER_LICENSE_TR", "BANK_ACCOUNT_IBAN", "CRYPTO_WALLET"]).optional(), maskMode: z.enum(["FIXED", "KEEP_FIRST", "KEEP_LAST", "MASK_FIRST", "PLACEHOLDER_SEQUENCE", "SYNTHETIC"]).optional(), maskPattern: z.string().optional(), maskVisibleCharCount: z.number().int().optional()}); export const connectorLogSettings = z.object({enabled: z.boolean().optional(), logParamRequestFromClient: z.boolean().optional(), logHeaderRequestFromClient: z.boolean().optional(), logBodyRequestFromClient: z.boolean().optional(), logParamRequestToTarget: z.boolean().optional(), logHeaderRequestToTarget: z.boolean().optional(), logBodyRequestToTarget: z.boolean().optional(), logHeaderResponseFromTarget: z.boolean().optional(), logBodyResponseFromTarget: z.boolean().optional(), logHeaderResponseToClient: z.boolean().optional(), logBodyResponseToClient: z.boolean().optional(), enableMetadataIdentification: z.boolean().optional(), enableMetadataApiProxy: z.boolean().optional(), enableMetadataRequest: z.boolean().optional(), enableMetrics: z.boolean().optional(), enableMetadataResponse: z.boolean().optional(), enableSentAddress: z.boolean().optional(), logClientAddress: z.boolean().optional(), logPolicyExecutionTime: z.boolean().optional(), clientBanMetadataOnly: z.boolean().optional(), enableBodyFromClientSize: z.boolean().optional(), sizeBodyFromClient: z.number().int().optional(), enableBodyToTargetSize: z.boolean().optional(), sizeBodyToTarget: z.number().int().optional(), enableBodyFromTargetSize: z.boolean().optional(), sizeBodyFromTarget: z.number().int().optional(), enableBodyToClientSize: z.boolean().optional(), sizeBodyToClient: z.number().int().optional(), enablePrivacy: z.boolean().optional(), privacyDefinitionList: z.array(privacyDefinition).optional()}); export const aPIProxyTrafficPrivacySettings = z.object({enabled: z.boolean().optional(), salt: z.string().optional(), privacyDefinitionList: z.array(privacyDefinition).optional()}); export const connectorActiveMqSend = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), content: z.string().optional(), enableApiProxyTrafficLogSettingDetail: z.boolean().optional(), apiProxyTrafficLogSettingDetail: connectorLogSettings.optional(), enableApiProxyTrafficPrivacySetting: z.boolean().optional(), apiProxyTrafficPrivacySettings: aPIProxyTrafficPrivacySettings.optional(), enableLogDisabledFieldsOnBlock: z.boolean().optional(), enableLogDisabledFieldsOnFailure: z.boolean().optional(), enableExportAll: z.boolean().optional(), enableFailoverConnector: z.boolean().optional(), failoverExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), failoverConnectionId: z.string().optional(), failoverDatabaseType: z.enum(["ORACLE", "MYSQL", "POSTGRES", "SQL_SERVER", "SYBASE", "DB2", "APACHE_HIVE", "APACHE_IMPALA", "MONGODB", "TRINO"]).optional(), connectionConfigActiveMqId: z.string().optional()}); export const testCaseParameter = z.object({name: z.string().optional(), type: z.enum(["BODY", "PATH", "QUERY", "HEADER", "FORMDATA"]).optional(), value: z.string().optional(), newParam: z.boolean().optional()}); export const testCaseMTLSSettings = z.object({enabled: z.boolean().optional(), skipSslVerification: z.boolean().optional(), keyStoreId: z.string().optional(), trustStoreId: z.string().optional(), certificateId: z.string().optional(), supportedProtocolList: z.array(z.enum(["TLS_1_3", "TLS_1_2", "TLS_1_1", "TLS_1_0", "SSL_3_0"])).optional(), hostnameVerifierType: z.enum(["NOOP", "DEFAULT", "STRICT", "BROWSER_COMPAT"]).optional(), uploadedCertificateContent: z.string().optional(), uploadedKeyStoreContent: z.string().optional(), uploadedKeyStorePassword: z.string().optional(), uploadedKeyStoreType: z.string().optional(), uploadedTrustStoreContent: z.string().optional(), uploadedTrustStorePassword: z.string().optional(), uploadedTrustStoreType: z.string().optional(), connectionTimeout: z.number().int().optional()}); export const testCaseRequest = z.object({endpointUrl: z.string().optional(), httpMethod: z.enum(["GET", "POST", "PUT", "HEAD", "OPTIONS", "DELETE", "PATCH", "TRACE", "ALL", "QUERY"]).optional(), baseUrl: z.string().optional(), headerList: z.array(apinizerBasicHeader).optional(), parameterList: z.array(testCaseParameter).optional(), enumTestConsoleRequestBodyType: z.enum(["NONE", "FORM_DATA", "URL_ENCODED", "RAW", "BINARY"]).optional(), enumTestConsoleRequestBodyRowType: z.enum(["TEXT", "JAVA_SCRIPT", "JSON", "XML", "HTML"]).optional(), formDataList: z.array(testCaseForm).optional(), urlEncodedList: z.array(testCaseForm).optional(), requestBody: z.string().optional(), binaryFileContent: z.string().optional(), certificateId: z.string().optional(), certificateEnabled: z.boolean().optional(), uploadedCertificateContent: z.string().optional(), uploadedCertificatePassword: z.string().optional(), timeout: z.number().int().optional(), testCaseMTLSSettings: testCaseMTLSSettings.optional()}); export const testCaseResponse = z.object({statusCode: z.number().int().optional(), statusMessage: z.string().optional(), responseSize: z.string().optional(), responseTime: z.number().int().optional(), timeoutInSeconds: z.number().int().optional(), responseString: z.string().optional(), headerList: z.array(apinizerBasicHeader).optional(), enumTestCaseResponseBodyDisplayType: z.enum(["PRETTY", "ROW"]).optional(), enumTestCaseResponseBodyPrettyDisplayType: z.enum(["TEXT", "JSON", "XML", "HTML"]).optional(), httpLog: z.string().optional(), resultTimeoutSucceed: z.boolean().optional(), resultBody: z.string().optional(), resultBodySucceed: z.boolean().optional(), resultStatusCode: z.number().int().optional(), resultStatusCodeSucceed: z.boolean().optional(), resultXPathBody: z.string().optional(), resultXPathBodySucceed: z.boolean().optional(), resultJsonPathBody: z.string().optional(), resultJsonPathBodySucceed: z.boolean().optional(), result: z.boolean().optional(), errorMessageBuilder: z.object({empty: z.boolean().optional(), length: z.number().int().optional()}).optional()}); export const testCaseAssertion = z.object({useTimoutForAssertion: z.boolean().optional(), assertResultBody: z.boolean().optional(), expectedResultBody: z.string().optional(), assertResultStatusCode: z.boolean().optional(), expectedStatusCode: z.number().int().optional(), assertResultXPath: z.boolean().optional(), expectedXPath: z.string().optional(), expectedXPathResult: z.string().optional(), assertResultJsonPath: z.boolean().optional(), expectedJsonPath: z.string().optional(), expectedJsonPathResult: z.string().optional()}); export const testCase = z.object({testCaseRequest: testCaseRequest.optional(), testCaseResponse: testCaseResponse.optional(), testCaseAssertion: testCaseAssertion.optional()}); export const dataManipulationDef = z.object({sourceValueSource: z.enum(["VALUE", "VARIABLE"]).optional(), sourceVar: variable.optional(), sourceValue: z.string().optional(), targetValueSource: z.enum(["VALUE", "VARIABLE"]).optional(), targetVar: variable.optional(), targetValue: z.string().optional()}); export const protocolTransformation = z.object({id: z.string().optional(), soapMethodName: z.string().optional(), inputPath: z.string().optional(), template: z.string().optional(), httpMethod: z.enum(["GET", "POST", "PUT", "HEAD", "OPTIONS", "DELETE", "PATCH", "TRACE", "ALL", "QUERY"]).optional(), reqTransformationOptionType: z.enum(["USE_JACKSON_TRANSFORMATION", "USE_JSONML_TRANSFORMATION", "USE_TEMPLATE_MESSAGE"]).optional(), respTransformationOptionType: z.enum(["USE_JACKSON_TRANSFORMATION", "USE_JSONML_TRANSFORMATION", "USE_TEMPLATE_MESSAGE"]).optional(), reqJsonMLType: z.enum(["USE_JSONOBJECT", "USE_JSONARRAY"]).optional(), respJsonMLType: z.enum(["USE_JSONOBJECT", "USE_JSONARRAY"]).optional(), reqIgnoreNull: z.boolean().optional(), reqIgnoreEmpty: z.boolean().optional(), reqUseNullForNil: z.boolean().optional(), reqReplaceChildren: z.boolean().optional(), unwrapElement: z.boolean().optional(), reqArrayPathList: z.array(z.string()).optional(), reqXpath: z.string().optional(), requestDataManipulationList: z.array(dataManipulationDef).optional(), responseDataManipulationList: z.array(dataManipulationDef).optional(), respIgnoreNull: z.boolean().optional(), respIgnoreEmpty: z.boolean().optional(), respNumbersAsStrings: z.boolean().optional(), respUseNullForNil: z.boolean().optional(), respArrayPathList: z.array(z.string()).optional(), respXpath: z.string().optional(), respTemplate: z.string().optional()}); export const a2aDiscoveredSkill = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), tags: z.array(z.string()).optional()}); export const connectionMTLSSettings = z.object({enabled: z.boolean().optional(), skipSslVerification: z.boolean().optional(), keyStoreId: z.string().optional(), trustStoreId: z.string().optional(), certificateId: z.string().optional(), supportedProtocolList: z.array(z.enum(["TLS_1_3", "TLS_1_2", "TLS_1_1", "TLS_1_0", "SSL_3_0"])).optional(), hostnameVerifierType: z.enum(["NOOP", "DEFAULT", "STRICT", "BROWSER_COMPAT"]).optional()}); export const connectionConfigA2a = z.object({id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), projectName: z.string().optional(), environmentId: z.string().optional(), circuitBreakerEnabled: z.boolean().optional(), errorThresholdValue: z.number().int().optional(), sleepWindow: z.number().int().optional(), endpoint: z.string().optional(), a2aProtocolVersion: z.string().optional(), allowPrivateNetworkEgress: z.boolean().optional(), authScheme: z.enum(["BEARER", "OAUTH2_CLIENT_CREDENTIALS", "MTLS", "NONE", "API_KEY", "BASIC", "OAUTH2_TOKEN_EXCHANGE"]).optional(), bearerToken: z.string().optional(), credentialRef: z.string().optional(), tokenEndpoint: z.string().optional(), clientId: z.string().optional(), clientSecret: z.string().optional(), scope: z.string().optional(), tokenExchangeAudience: z.string().optional(), apiKeyHeaderName: z.string().optional(), apiKey: z.string().optional(), basicUsername: z.string().optional(), basicPassword: z.string().optional(), bearerTokenSet: z.boolean().optional(), clientSecretSet: z.boolean().optional(), apiKeySet: z.boolean().optional(), basicPasswordSet: z.boolean().optional(), agentCardCacheTtlSeconds: z.number().int().optional(), agentCardCacheEnabled: z.boolean().optional(), discoveredSkills: z.array(a2aDiscoveredSkill).optional(), skillsParsedAt: z.number().int().optional(), healthStatus: z.string().optional(), lastHealthCheckAt: z.string().optional(), healthMessage: z.string().optional(), driftPolicy: z.enum(["WARN_ONLY", "FAIL_CLOSED"]).optional(), pinnedCatalogHash: z.string().optional(), driftDetected: z.boolean().optional(), driftMessage: z.string().optional(), driftStatePushPending: z.boolean().optional(), resolvedEndpoint: z.string().optional(), resolvedTokenEndpoint: z.string().optional(), resolvedClientId: z.string().optional(), resolvedApiKeyHeaderName: z.string().optional(), resolvedBasicUsername: z.string().optional(), resolvedTokenExchangeAudience: z.string().optional(), resolvedScope: z.string().optional(), mTLSSettings: connectionMTLSSettings.optional()}); export const identityAclRule = z.object({principalType: z.enum(["CREDENTIAL", "ROLE", "ORGANIZATION"]).optional(), principalName: z.string().optional(), allow: z.array(z.string()).optional(), deny: z.array(z.string()).optional()}); export const callQuotaConfig = z.object({period: z.enum(["MINUTE", "HOUR", "DAY"]).optional(), limit: z.number().int().optional(), scope: z.enum(["PER_TOOL", "PER_CREDENTIAL", "PER_TOOL_AND_CREDENTIAL"]).optional(), active: z.boolean().optional()}); export const agentTokenForwardSettings = z.object({enabled: z.boolean().optional(), source: z.literal("CLIENT_AUTHORIZATION_HEADER").optional(), audienceAllowList: z.array(z.string()).optional(), stripGatewayCredential: z.boolean().optional()}); export const policyAiA2aAgentCall = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enabled: z.boolean().optional(), a2aAgent: connectionConfigA2a.optional(), callTimeoutMs: z.number().int().optional(), taskWaitTimeoutMs: z.number().int().optional(), parallelAgentCalls: z.boolean().optional(), allowedSkillNames: z.array(z.string()).optional(), identityAcl: z.array(identityAclRule).optional(), callQuota: callQuotaConfig.optional(), tokenForwardSettings: agentTokenForwardSettings.optional()}); export const policyAiA2aAgentInvoke = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enabled: z.boolean().optional(), a2aAgent: connectionConfigA2a.optional(), targetSkillName: z.string().optional(), messageTemplate: z.string().optional(), waitMode: z.enum(["FIRE_AND_FORGET", "SYNC_TO_VARIABLE"]).optional(), outputVariableName: z.string().optional(), callTimeoutMs: z.number().int().optional(), taskWaitTimeoutMs: z.number().int().optional(), identityAcl: z.array(identityAclRule).optional(), callQuota: callQuotaConfig.optional(), tokenForwardSettings: agentTokenForwardSettings.optional()}); export const policyAiContextIntegrity = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enabled: z.boolean().optional(), action: z.enum(["BLOCK", "FLAG", "MASK"]).optional(), roleMarkerDetectionEnabled: z.boolean().optional(), customMarkerPatternList: z.array(z.string()).optional(), roleSequenceValidationEnabled: z.boolean().optional(), allowedRoles: z.array(z.string()).optional(), maxSystemMessages: z.number().int().optional()}); export const policyAiDlpGuardDef = z.object({id: z.number().int().optional(), presetId: z.string().optional(), name: z.string().optional(), ruleValue: z.string().optional(), action: z.enum(["BLOCK", "FLAG", "MASK"]).optional(), category: z.string().optional(), enabled: z.boolean().optional(), description: z.string().optional(), literalAnchors: z.array(z.string()).optional()}); export const httpDlpGuardrailAdapter = z.object({type: z.string(), timeoutMs: z.number().int().optional(), maxInputChars: z.number().int().optional(), connectionConfigWebhookRef: z.string().optional()}); export const llmJudgeGuardrailAdapter = z.object({type: z.string(), modelId: z.string().optional(), promptTemplate: z.string().optional(), maxOutputTokens: z.number().int().optional(), jsonMode: z.boolean().optional(), timeoutMs: z.number().int().optional(), maxInputChars: z.number().int().optional(), decisionMode: z.enum(["STANDARD", "REASONING"]).optional(), decisionThreshold: z.number().optional(), unsafeLabels: z.array(z.string()).optional(), decisionQuestion: z.string().optional(), connectionConfigLlmRef: z.string().optional()}); export const policyAiDlpGuard = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enabled: z.boolean().optional(), policyAiDlpGuardDefList: z.array(policyAiDlpGuardDef).optional(), decodeEncodedContent: z.boolean().optional(), carryBufferSize: z.number().int().optional(), fileSignatureDetectionEnabled: z.boolean().optional(), fileSignatureAction: z.enum(["BLOCK", "FLAG", "MASK"]).optional(), fileSignatureTypes: z.array(z.enum(["PDF", "ZIP_OOXML", "PNG", "JPEG", "GIF", "GZIP", "RAR", "SEVEN_ZIP", "ELF", "PE_EXE", "OLE2", "RTF", "JAVA_CLASS"])).optional(), engine: z.enum(["BUILTIN", "BUILTIN_PLUS_EXTERNAL", "EXTERNAL_ONLY"]).optional(), failMode: z.enum(["FAIL_OPEN", "FAIL_CLOSED"]).optional(), externalGuardrail: z.union([httpDlpGuardrailAdapter, llmJudgeGuardrailAdapter]).optional(), streamingBufferMode: z.boolean().optional()}); export const policyAiGroundednessGuard = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), action: z.enum(["BLOCK", "FLAG", "MASK"]).optional(), failMode: z.enum(["FAIL_OPEN", "FAIL_CLOSED"]).optional(), latencyMode: z.enum(["INLINE", "ASYNC", "SHADOW"]).optional(), maxWaitMs: z.number().int().optional(), externalGuardrail: z.union([httpDlpGuardrailAdapter, llmJudgeGuardrailAdapter]).optional(), maxContextChars: z.number().int().optional(), maxResponseChars: z.number().int().optional(), maxContextCharsOrDefault: z.number().int().optional(), maxResponseCharsOrDefault: z.number().int().optional()}); export const policyAiLoopGuard = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), windowSeconds: z.number().int().optional(), maxRepeats: z.number().int().optional(), action: z.enum(["BLOCK", "FLAG", "MASK"]).optional(), failOpenOnCacheError: z.boolean().optional(), anonymousHandling: z.enum(["SKIP", "SHARED_POOL", "DENY"]).optional(), countingMode: z.enum(["ALL_REQUESTS", "ACCEPTED_ONLY"]).optional(), limitChangeAction: z.enum(["CLAMP", "RESET", "NONE"]).optional()}); export const mcpDiscoveredTool = z.object({name: z.string().optional(), description: z.string().optional(), inputSchemaJson: z.string().optional()}); export const connectionConfigMcp = z.object({id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), projectName: z.string().optional(), environmentId: z.string().optional(), circuitBreakerEnabled: z.boolean().optional(), errorThresholdValue: z.number().int().optional(), sleepWindow: z.number().int().optional(), endpoint: z.string().optional(), transport: z.enum(["HTTP_SSE", "STDIO"]).optional(), mcpProtocolVersion: z.string().optional(), allowPrivateNetworkEgress: z.boolean().optional(), authScheme: z.enum(["BEARER", "OAUTH2_CLIENT_CREDENTIALS", "MTLS", "NONE", "API_KEY", "BASIC", "OAUTH2_TOKEN_EXCHANGE"]).optional(), bearerToken: z.string().optional(), credentialRef: z.string().optional(), tokenEndpoint: z.string().optional(), clientId: z.string().optional(), clientSecret: z.string().optional(), scope: z.string().optional(), tokenExchangeAudience: z.string().optional(), apiKeyHeaderName: z.string().optional(), apiKey: z.string().optional(), basicUsername: z.string().optional(), basicPassword: z.string().optional(), bearerTokenSet: z.boolean().optional(), clientSecretSet: z.boolean().optional(), apiKeySet: z.boolean().optional(), basicPasswordSet: z.boolean().optional(), capabilityCacheTtlSeconds: z.number().int().optional(), capabilityCacheEnabled: z.boolean().optional(), trustToolAnnotations: z.boolean().optional(), relayElicitation: z.boolean().optional(), discoveredTools: z.array(mcpDiscoveredTool).optional(), toolsParsedAt: z.number().int().optional(), credentialMappingRef: z.string().optional(), healthStatus: z.string().optional(), lastHealthCheckAt: z.string().optional(), healthMessage: z.string().optional(), driftPolicy: z.enum(["WARN_ONLY", "FAIL_CLOSED"]).optional(), pinnedCatalogHash: z.string().optional(), driftDetected: z.boolean().optional(), driftMessage: z.string().optional(), driftStatePushPending: z.boolean().optional(), resolvedEndpoint: z.string().optional(), resolvedTokenEndpoint: z.string().optional(), resolvedClientId: z.string().optional(), resolvedApiKeyHeaderName: z.string().optional(), resolvedBasicUsername: z.string().optional(), resolvedTokenExchangeAudience: z.string().optional(), resolvedScope: z.string().optional(), mTLSSettings: connectionMTLSSettings.optional()}); export const argumentConstraintRule = z.object({argumentPath: z.string().optional(), ruleType: z.enum(["REGEX", "MAX_LENGTH", "ENUM", "REQUIRED"]).optional(), value: z.string().optional()}); export const policyAiMcpToolCall = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enabled: z.boolean().optional(), mcpServer: connectionConfigMcp.optional(), toolCallTimeoutMs: z.number().int().optional(), parallelToolCalls: z.boolean().optional(), allowedToolNames: z.array(z.string()).optional(), identityAcl: z.array(identityAclRule).optional(), argumentConstraints: z.array(argumentConstraintRule).optional(), callQuota: callQuotaConfig.optional(), tokenForwardSettings: agentTokenForwardSettings.optional()}); export const policyAiMcpToolInvoke = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enabled: z.boolean().optional(), mcpServer: connectionConfigMcp.optional(), targetToolName: z.string().optional(), argumentsTemplate: z.string().optional(), waitMode: z.enum(["FIRE_AND_FORGET", "SYNC_TO_VARIABLE"]).optional(), outputVariableName: z.string().optional(), callTimeoutMs: z.number().int().optional(), identityAcl: z.array(identityAclRule).optional(), argumentConstraints: z.array(argumentConstraintRule).optional(), callQuota: callQuotaConfig.optional(), tokenForwardSettings: agentTokenForwardSettings.optional()}); export const policyAiPiiMask = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), privacyDefinitions: z.array(privacyDefinition).optional(), decodeEncodedContent: z.boolean().optional(), carryBufferSize: z.number().int().optional(), unmaskMode: z.enum(["NONE", "RESPONSE_INLINE", "UNMASK_API"]).optional(), unmaskAllowedRoles: z.array(z.string()).optional(), engine: z.enum(["BUILTIN", "BUILTIN_PLUS_EXTERNAL", "EXTERNAL_ONLY"]).optional(), failMode: z.enum(["FAIL_OPEN", "FAIL_CLOSED"]).optional(), externalGuardrail: z.union([httpDlpGuardrailAdapter, llmJudgeGuardrailAdapter]).optional(), unmaskEnabled: z.boolean().optional()}); export const aiPromptDecoratorBlock = z.object({position: z.string().optional(), role: z.string().optional(), content: z.string().optional(), enabled: z.boolean().optional(), presetId: z.string().optional(), enabledBlock: z.boolean().optional(), prepend: z.boolean().optional()}); export const policyAiPromptDecorator = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enabled: z.boolean().optional(), blocks: z.array(aiPromptDecoratorBlock).optional(), mergeIntoExistingSystem: z.boolean().optional(), maxTotalChars: z.number().int().optional()}); export const policyAiPromptGuardDef = z.object({id: z.number().int().optional(), presetId: z.string().optional(), name: z.string().optional(), ruleValue: z.string().optional(), action: z.enum(["BLOCK", "FLAG", "MASK"]).optional(), category: z.string().optional(), enabled: z.boolean().optional(), description: z.string().optional()}); export const policyAiPromptGuard = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enabled: z.boolean().optional(), policyAiPromptGuardDefList: z.array(policyAiPromptGuardDef).optional(), latencyMode: z.enum(["INLINE", "ASYNC", "SHADOW"]).optional(), maxWaitMs: z.number().int().optional(), decodeEncodedContent: z.boolean().optional(), includeSystemPrompts: z.boolean().optional(), includeAssistantPrompts: z.boolean().optional(), includeToolPrompts: z.boolean().optional(), engine: z.enum(["BUILTIN", "BUILTIN_PLUS_EXTERNAL", "EXTERNAL_ONLY"]).optional(), failMode: z.enum(["FAIL_OPEN", "FAIL_CLOSED"]).optional(), externalGuardrail: z.union([httpDlpGuardrailAdapter, llmJudgeGuardrailAdapter]).optional()}); export const aiPromptTemplateMessage = z.object({role: z.string().optional(), content: z.string().optional()}); export const aiPromptTemplateParam = z.object({name: z.string().optional(), required: z.boolean().optional(), defaultValue: z.string().optional()}); export const aiPromptTemplateBinding = z.object({alias: z.string().optional(), templateId: z.string().optional(), messages: z.array(aiPromptTemplateMessage).optional(), parameters: z.array(aiPromptTemplateParam).optional(), description: z.string().optional(), boundToCatalog: z.boolean().optional()}); export const policyAiPromptTemplate = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enabled: z.boolean().optional(), templates: z.array(aiPromptTemplateBinding).optional(), requestTemplateField: z.string().optional(), requestParamsField: z.string().optional(), onUnknownTemplate: z.string().optional(), onMissingParam: z.string().optional(), mergeMode: z.string().optional(), stripTemplateFields: z.boolean().optional(), maxExpandedChars: z.number().int().optional()}); export const policyAiRagInjection = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enabled: z.boolean().optional(), vectorDbRef: z.string().optional(), embeddingProviderRef: z.string().optional(), collectionName: z.string().optional(), topK: z.number().int().optional(), similarityThreshold: z.number().optional(), injectionTemplate: z.string().optional(), maxContextChars: z.number().int().optional(), injectionMode: z.string().optional(), noMatchBehavior: z.string().optional(), injectionTargetVariable: variable.optional(), embeddingModelId: z.string().optional(), embeddingDimension: z.number().int().optional(), knowledgeBaseId: z.string().optional(), requireResolvedProjectId: z.boolean().optional(), resolvedEmbeddingModelId: z.string().optional(), resolvedCollectionName: z.string().optional()}); export const policyAiSemanticCache = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enabled: z.boolean().optional(), ttlSeconds: z.number().int().optional(), cacheKeyStrategy: z.string().optional(), anonymousHandling: z.enum(["SKIP", "SHARED_POOL", "DENY"]).optional(), cacheConnectionTimeoutInSeconds: z.number().int().optional(), maxCacheableBytes: z.number().int().optional(), vectorEnabled: z.boolean().optional(), vectorDbRef: z.string().optional(), embeddingProviderRef: z.string().optional(), embeddingModelId: z.string().optional(), embeddingDimension: z.number().int().optional(), similarityThreshold: z.number().optional(), vectorTopK: z.number().int().optional(), vectorCollectionName: z.string().optional(), messageCountback: z.number().int().optional(), includeSystemPrompts: z.boolean().optional(), includeAssistantPrompts: z.boolean().optional(), includeToolPrompts: z.boolean().optional(), respectCacheControl: z.boolean().optional(), vectorLayerConfigured: z.boolean().optional(), resolvedEmbeddingModelId: z.string().optional(), resolvedVectorCollectionName: z.string().optional()}); export const aiModelBudget = z.object({modelId: z.string().min(1), tokensPerHour: z.number().int().gte(1).optional(), tokensPerDay: z.number().int().gte(1).optional(), tokensPerMonth: z.number().int().gte(1).optional(), monthlyBudgetUsd: z.number().gte(0).optional(), usdPerHour: z.number().gte(0).optional(), usdPerDay: z.number().gte(0).optional(), overflowAction: z.enum(["BLOCK", "FAILOVER", "ALERT_ONLY", "CHEAPER_MODEL"]).optional()}); export const aiProviderBudget = z.object({providerRef: z.string().min(1), tokensPerHour: z.number().int().gte(1).optional(), tokensPerDay: z.number().int().gte(1).optional(), tokensPerMonth: z.number().int().gte(1).optional(), monthlyBudgetUsd: z.number().gte(0).optional(), usdPerHour: z.number().gte(0).optional(), usdPerDay: z.number().gte(0).optional(), overflowAction: z.enum(["BLOCK", "FAILOVER", "ALERT_ONLY", "CHEAPER_MODEL"]).optional()}); export const aiTokenBudget = z.object({enabled: z.boolean().optional(), tokensPerHour: z.number().int().gte(1).optional(), tokensPerMinute: z.number().int().gte(1).optional(), tokensPerDay: z.number().int().gte(1).optional(), tokensPerMonth: z.number().int().gte(1).optional(), monthlyBudgetUsd: z.number().gte(0).optional(), usdPerHour: z.number().gte(0).optional(), usdPerMinute: z.number().gte(0).optional(), usdPerDay: z.number().gte(0).optional(), requestsPerMinute: z.number().int().gte(1).optional(), requestsPerHour: z.number().int().gte(1).optional(), requestsPerDay: z.number().int().gte(1).optional(), requestsPerMonth: z.number().int().gte(1).optional(), softCapPercents: z.array(z.number().int().gte(0).lte(100)).optional(), hardCapPercent: z.number().int().gte(1).lte(100).optional(), overflowAction: z.enum(["BLOCK", "FAILOVER", "ALERT_ONLY", "CHEAPER_MODEL"]).optional(), cheaperModelId: z.string().optional(), modelBudgets: z.array(aiModelBudget).optional(), providerBudgets: z.array(aiProviderBudget).optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), cacheErrorHandlingType: z.string().optional(), cacheConnectionTimeoutInSeconds: z.number().int().optional(), showRateLimitStatisticsInResponseHeader: z.boolean().optional()}); export const aiTokenRateLimitDetail = z.object({targetValue: z.string().optional(), regexExpression: z.boolean().optional(), budget: aiTokenBudget.optional()}); export const policyAiTokenRateLimit = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), proxyBudget: aiTokenBudget.optional(), applyBy: variable.optional(), detailList: z.array(aiTokenRateLimitDetail).optional(), defaultReservationTtlSeconds: z.number().int().optional(), cacheConnectionTimeoutInSeconds: z.number().int().optional(), failOpenOnCacheError: z.boolean().optional(), maxTokensPerRequest: z.number().int().optional(), maxPromptChars: z.number().int().optional(), overflowAction: z.enum(["BLOCK", "TRUNCATE_OLDEST"]).optional()}); export const policyAiTopicGuard = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), allowedTopics: z.array(z.string()).optional(), similarityThreshold: z.number().optional(), action: z.enum(["BLOCK", "FLAG", "MASK"]).optional(), embeddingProviderRef: z.string().optional(), embeddingModelId: z.string().optional(), embeddingDimension: z.number().int().optional(), latencyMode: z.enum(["INLINE", "ASYNC", "SHADOW"]).optional(), maxWaitMs: z.number().int().optional(), failOpenOnError: z.boolean().optional(), decodeEncodedContent: z.boolean().optional(), includeSystemPrompts: z.boolean().optional(), includeAssistantPrompts: z.boolean().optional(), includeToolPrompts: z.boolean().optional(), deniedTopics: z.array(z.string()).optional(), deniedSimilarityThreshold: z.number().optional(), deniedAction: z.enum(["BLOCK", "FLAG", "MASK"]).optional(), engine: z.enum(["BUILTIN", "BUILTIN_PLUS_EXTERNAL", "EXTERNAL_ONLY"]).optional(), failMode: z.enum(["FAIL_OPEN", "FAIL_CLOSED"]).optional(), externalGuardrail: z.union([httpDlpGuardrailAdapter, llmJudgeGuardrailAdapter]).optional(), streamingBufferMode: z.boolean().optional()}); export const hourWrapper = z.object({hourName: z.string().optional(), description: z.string().optional(), dayType: z.enum(["WEEK", "CUSTOM"]).optional(), enumWeekDayList: z.array(z.enum(["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY", "ALL"])).optional(), day: z.number().int().optional(), month: z.number().int().optional(), startHour: z.number().int().optional(), startMinute: z.number().int().optional(), startSecond: z.number().int().optional(), endHour: z.number().int().optional(), endMinute: z.number().int().optional(), endSecond: z.number().int().optional(), wholeDay: z.boolean().optional()}); export const policyAllowedHours = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), actionType: z.enum(["ALLOW", "RESTRICT"]).optional(), zoneId: z.string().optional(), hourWrapperList: z.array(hourWrapper).optional()}); export const apiAuthenticationConditionalExpression = z.object({id: z.number().int().optional(), username: z.string().optional(), password: z.string().optional(), policyCondition: policyCondition.optional()}); export const policyApiAuthentication = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), apiAuthCondExpressionList: z.array(apiAuthenticationConditionalExpression).optional(), authType: z.enum(["BASIC", "BASE64", "API", "DIGEST"]).optional(), sendType: z.enum(["HEADER", "PARAM", "BODY_MESSAGE", "BODY_INJECTION"]).optional(), messageContentType: z.enum(["XML", "JSON", "ALL_BODY"]).optional(), usernameFieldName: z.string().optional(), authApiId: z.string().optional(), passwordFieldName: z.string().optional(), createdFieldName: z.string().optional(), nonceFieldName: z.string().optional(), bodyMessage: z.string().optional(), bodyMessageInjectionPath: z.string().optional(), usernameInjectionPath: z.string().optional(), passwordInjectionPath: z.string().optional(), createdInjectionPath: z.string().optional(), nonceInjectionPath: z.string().optional()}); export const apiBasedQuotaDetail = z.object({targetValue: z.string().optional(), regexExpression: z.boolean().optional(), quotaCount: z.number().int().optional(), intervalPeriodLength: z.number().int().optional(), quotaInterval: z.enum(["ONE_HOUR", "ONE_DAY", "ONE_MONTH"]).optional()}); export const policyApiBasedQuota = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), quotaInterval: z.enum(["ONE_HOUR", "ONE_DAY", "ONE_MONTH"]).optional(), quotaCount: z.number().int().optional(), intervalPeriodLength: z.number().int().optional(), intervalWindowType: z.enum(["FIXED", "SLIDING"]).optional(), applyBy: variable.optional(), cacheConnectionTimeoutInSeconds: z.number().int().optional(), cacheErrorHandlingType: z.enum(["FAIL", "CONTINUE"]).optional(), detailList: z.array(apiBasedQuotaDetail).optional(), showRateLimitStatisticsInResponseHeader: z.boolean().optional(), countingMode: z.enum(["ALL_REQUESTS", "ACCEPTED_ONLY"]).optional(), limitChangeAction: z.enum(["CLAMP", "RESET", "NONE"]).optional()}); export const apiBasedThrottlingDetail = z.object({targetValue: z.string().optional(), regexExpression: z.boolean().optional(), messageCount: z.number().int().optional(), intervalPeriodLength: z.number().int().optional(), throttlingInterval: z.enum(["ONE_SECOND", "ONE_MINUTE"]).optional()}); export const policyApiBasedThrottling = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), messageCount: z.number().int().optional(), intervalPeriodLength: z.number().int().optional(), throttlingInterval: z.enum(["ONE_SECOND", "ONE_MINUTE"]).optional(), intervalWindowType: z.enum(["FIXED", "SLIDING"]).optional(), applyBy: variable.optional(), cacheConnectionTimeoutInSeconds: z.number().int().optional(), cacheErrorHandlingType: z.enum(["FAIL", "CONTINUE"]).optional(), showRateLimitStatisticsInResponseHeader: z.boolean().optional(), detailList: z.array(apiBasedThrottlingDetail).optional(), countingMode: z.enum(["ALL_REQUESTS", "ACCEPTED_ONLY"]).optional(), limitChangeAction: z.enum(["CLAMP", "RESET", "NONE"]).optional()}); export const policyAuthorizationMethodDef = z.object({apiMethodId: z.string().optional(), methodCredentialRoleIdList: z.array(z.string()).optional(), roleNameList: z.array(z.string()).optional(), authorizationType: z.enum(["ALL", "ANY"]).optional()}); export const policyBase64Authentication = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enumPolicyAuthenticationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authenticationLDAPId: z.string().optional(), authenticationDatabaseId: z.string().optional(), authenticationApiId: z.string().optional(), authenticationOidcProviderId: z.string().optional(), jwtRegeneratorServiceApiId: z.string().optional(), proxyGroup: z.boolean().optional(), enumPolicyAuthorizationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authorizationLDAPId: z.string().optional(), authorizationDatabaseId: z.string().optional(), useSecretManagerForAuthorization: z.boolean().optional(), authorizationApiId: z.string().optional(), authorizationOidcProviderId: z.string().optional(), enableAuthorization: z.boolean().optional(), credentialRoleIdList: z.array(z.string()).optional(), roleNameList: z.array(z.string()).optional(), addRolesToHeader: z.boolean().optional(), enableMethodAccess: z.boolean().optional(), authorizationType: z.enum(["ALL", "ANY"]).optional(), policyAuthorizationMethodDefList: z.array(policyAuthorizationMethodDef).optional(), checkClientIpAddress: z.boolean().optional(), validateACLForIssuer: z.boolean().optional(), rolesHeaderName: z.string().optional(), addUserToHeader: z.boolean().optional(), userHeaderName: z.string().optional(), setUsernameOrKey: z.boolean().optional(), clearAuth: z.boolean().optional(), checkPassword: z.boolean().optional(), addRolesFromAuthorizationService: z.boolean().optional(), rolesFromAuthorizationServiceHeaderName: z.string().optional(), usernameVar: variable.optional()}); export const policyBasicAuthentication = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enumPolicyAuthenticationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authenticationLDAPId: z.string().optional(), authenticationDatabaseId: z.string().optional(), authenticationApiId: z.string().optional(), authenticationOidcProviderId: z.string().optional(), jwtRegeneratorServiceApiId: z.string().optional(), proxyGroup: z.boolean().optional(), enumPolicyAuthorizationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authorizationLDAPId: z.string().optional(), authorizationDatabaseId: z.string().optional(), useSecretManagerForAuthorization: z.boolean().optional(), authorizationApiId: z.string().optional(), authorizationOidcProviderId: z.string().optional(), enableAuthorization: z.boolean().optional(), credentialRoleIdList: z.array(z.string()).optional(), roleNameList: z.array(z.string()).optional(), addRolesToHeader: z.boolean().optional(), enableMethodAccess: z.boolean().optional(), authorizationType: z.enum(["ALL", "ANY"]).optional(), policyAuthorizationMethodDefList: z.array(policyAuthorizationMethodDef).optional(), checkClientIpAddress: z.boolean().optional(), validateACLForIssuer: z.boolean().optional(), rolesHeaderName: z.string().optional(), addUserToHeader: z.boolean().optional(), userHeaderName: z.string().optional(), setUsernameOrKey: z.boolean().optional(), clearAuth: z.boolean().optional(), checkPassword: z.boolean().optional(), addRolesFromAuthorizationService: z.boolean().optional(), rolesFromAuthorizationServiceHeaderName: z.string().optional(), usernameVar: variable.optional(), passwordVar: variable.optional(), bearerApiKey: z.boolean().optional()}); export const action = z.object({policyCondition: policyCondition.optional(), buildCustomMessage: z.boolean().optional(), customMessageHttpStatusCode: z.number().int().optional(), customMessageContentType: z.string().optional(), customMessageTemplate: z.string().optional(), stopResultType: z.enum(["BLOCKED", "ERROR", "SUCCESS"]).optional(), actionType: z.enum(["ADD", "MODIFY", "DELETE", "STOP"]).optional(), sourceVar: variable.optional(), sourceVarBodyInjectionFieldName: z.string().optional(), sourceDataType: z.enum(["NUMERIC", "STRING", "TEMPORAL"]).optional(), sourceTemporalFormat: z.string().optional(), operator: z.enum(["ADD", "SUBTRACT", "MULTIPLY", "DIVIDE", "MODULUS", "POWER", "CONCAT", "REPLACE_IN", "REPLACE_WITH", "REPLACE_FIRST", "SUBSTRING", "MASK", "FORMAT", "TRANSFORM", "INSERT", "TRIM", "ENCODE", "DECODE", "URL_ENCODE", "URL_DECODE", "EXTRACT_JWT_HEADER_CLAIM", "EXTRACT_JWT_BODY_CLAIM", "ADD_TEMPORAL", "SUBTRACT_TEMPORAL"]).optional(), substringFrom: z.number().int().optional(), substringTo: z.number().int().optional(), maskFrom: z.number().int().optional(), maskTo: z.number().int().optional(), replaceSource: z.string().optional(), insertOffset: z.number().int().optional(), temporalOperatorTimeUnit: z.enum(["MILLI_SECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"]).optional(), replaceFirst: z.string().optional(), targetValSource: z.enum(["VALUE", "VARIABLE"]).optional(), targetVal: z.string().optional(), targetVar: variable.optional(), transformationContentType: z.enum(["XSLT", "JOLT", "XML2JSON", "JSON2XML"]).optional(), formatAllowsInvalid: z.boolean().optional(), formatValueContainsLiteralCharacters: z.boolean().optional(), formatInvalidCharacters: z.string().optional(), formatPlaceholder: z.string().optional(), jsonToXmlIgnoreNull: z.boolean().optional(), jsonToXmlIgnoreEmpty: z.boolean().optional(), jsonToXmlUseNullForNil: z.boolean().optional(), jsonToXmlUnwrapElement: z.boolean().optional(), xmlToJsonUnwrapElement: z.boolean().optional(), xmlToJsonIgnoreNull: z.boolean().optional(), xmlToJsonIgnoreEmpty: z.boolean().optional(), xmlToJsonNumbersAsStrings: z.boolean().optional(), xmlToJsonUseNullForNil: z.boolean().optional(), xmlToJsonArrayPathList: z.array(z.string()).optional(), claimJsonPath: z.string().optional()}); export const policyBusinessRule = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), actionList: z.array(action).optional()}); export const policyCache = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), operationType: z.enum(["LOOKUP", "POPULATE", "INVALIDATE"]).optional(), cacheStorageType: z.enum(["LOCAL", "DISTRIBUTED"]).optional(), keyPrefix: z.string().optional(), keyVariableList: z.array(variable).optional(), targetVariable: variable.optional(), sourceVariable: variable.optional(), capacity: z.number().int().optional(), ttl: z.number().int().optional(), cacheNullValues: z.boolean().optional(), enableDynamicTtl: z.boolean().optional(), dynamicTtlVariable: variable.optional(), dynamicTtlSourceType: z.enum(["ISO_8601_DATETIME", "CUSTOM_DATETIME", "EPOCH_SECONDS", "EPOCH_MILLISECONDS", "EXPIRES_IN_SECONDS", "EXPIRES_IN_MILLISECONDS", "TTL_STRING"]).optional(), dynamicTtlCustomDatePattern: z.string().optional(), dynamicTtlIsJwt: z.boolean().optional(), dynamicTtlJwtClaimName: z.string().optional(), dynamicTtlOffsetSeconds: z.number().int().optional(), fallbackTtl: z.number().int().optional(), cacheErrorAction: z.enum(["CONTINUE", "STOP"]).optional(), cacheConnectionTimeoutInSeconds: z.number().int().optional()}); export const policyClientBanner = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), clientIdentityVariableList: z.array(variable).optional(), thresholdWindowInSeconds: z.number().int().optional(), thresholdCountPerWindow: z.number().int().optional(), thresholdCalculationType: z.enum(["COUNT", "PERCENT"]).optional(), banTimeInSeconds: z.number().int().optional(), enableRetryAfterHeader: z.boolean().optional(), ignoreWhenKeyIsEmpty: z.boolean().optional(), assertionCondition: policyCondition.optional()}); export const policyContentFilterDef = z.object({id: z.number().int().optional(), name: z.string().optional(), ruleValue: z.string().optional(), headerActive: z.boolean().optional(), bodyActive: z.boolean().optional(), paramActive: z.boolean().optional(), action: z.enum(["BLOCK", "DELETE"]).optional(), contentType: z.enum(["XML", "JSON", "ALL_BODY"]).optional(), content: z.string().optional()}); export const policyContentFilter = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), policyContentFilterDefList: z.array(policyContentFilterDef).optional()}); export const policyDecryptionDef = z.object({id: z.string().optional(), description: z.string().optional(), sourceVar: variable.optional(), targetVar: variable.optional(), enumKeyCertificateType: z.enum(["KEY", "CERTIFICATE"]).optional(), cryptoKeyInfoId: z.string().optional(), cipherAlgorithm: z.enum(["AES_CBC_NoPadding", "AES_CBC_PKCS5Padding", "AES_ECB_NoPadding", "AES_ECB_PKCS5Padding", "DES_CBC_NoPadding", "DES_CBC_PKCS5Padding", "DES_ECB_NoPadding", "DES_ECB_PKCS5Padding", "DESede_CBC_NoPadding", "DESede_CBC_PKCS5Padding", "DESede_ECB_NoPadding", "DESede_ECB_PKCS5Padding", "RSA_ECB_PKCS1Padding", "RSA_ECB_OAEPWithSHA_1AndMGF1Padding", "RSA_ECB_OAEPWithSHA_256AndMGF1Padding"]).optional(), cipherAlgorithmVar: variable.optional(), ivExists: z.boolean().optional(), ivVar: variable.optional(), ivEncodingType: z.enum(["BASE64", "HEXADECIMAL"]).optional(), inputEncodingType: z.enum(["BASE64", "HEXADECIMAL"]).optional(), certificateId: z.string().optional()}); export const policyDecryption = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), policyDecryptionDefList: z.array(policyDecryptionDef).optional()}); export const policyDigestAuthentication = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enumPolicyAuthenticationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authenticationLDAPId: z.string().optional(), authenticationDatabaseId: z.string().optional(), authenticationApiId: z.string().optional(), authenticationOidcProviderId: z.string().optional(), jwtRegeneratorServiceApiId: z.string().optional(), proxyGroup: z.boolean().optional(), enumPolicyAuthorizationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authorizationLDAPId: z.string().optional(), authorizationDatabaseId: z.string().optional(), useSecretManagerForAuthorization: z.boolean().optional(), authorizationApiId: z.string().optional(), authorizationOidcProviderId: z.string().optional(), enableAuthorization: z.boolean().optional(), credentialRoleIdList: z.array(z.string()).optional(), roleNameList: z.array(z.string()).optional(), addRolesToHeader: z.boolean().optional(), enableMethodAccess: z.boolean().optional(), authorizationType: z.enum(["ALL", "ANY"]).optional(), policyAuthorizationMethodDefList: z.array(policyAuthorizationMethodDef).optional(), checkClientIpAddress: z.boolean().optional(), validateACLForIssuer: z.boolean().optional(), rolesHeaderName: z.string().optional(), addUserToHeader: z.boolean().optional(), userHeaderName: z.string().optional(), setUsernameOrKey: z.boolean().optional(), clearAuth: z.boolean().optional(), checkPassword: z.boolean().optional(), addRolesFromAuthorizationService: z.boolean().optional(), rolesFromAuthorizationServiceHeaderName: z.string().optional(), usernameVar: variable.optional(), passwordVar: variable.optional(), nonceVar: variable.optional(), createdVar: variable.optional()}); export const policyDigitalSignDef = z.object({id: z.string().optional(), description: z.string().optional(), sourceVar: variable.optional(), signatureVar: variable.optional(), signatureAlgorithm: z.enum(["NONEwithRSA", "MD2withRSA", "MD5withRSA", "NONEwithDSA", "SHA1withRSA", "SHA224withRSA", "SHA256withRSA", "SHA384withRSA", "SHA512withRSA", "SHA1withDSA", "SHA224withDSA", "SHA256withDSA", "NONEwithECDSA", "SHA1withECDSA", "SHA224withECDSA", "SHA256withECDSA", "SHA384withECDSA", "SHA512withECDSA"]).optional(), signatureAlgorithmVar: variable.optional(), enumKeyCertificateType: z.enum(["KEY", "CERTIFICATE"]).optional(), cryptoKeyInfoId: z.string().optional(), certificateId: z.string().optional(), outputEncodingType: z.enum(["BASE64", "HEXADECIMAL"]).optional()}); export const policyDigitalSign = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), policyDigitalSignDefList: z.array(policyDigitalSignDef).optional()}); export const policyDigitalSignVerificationDef = z.object({id: z.string().optional(), description: z.string().optional(), enumKeyCertificateType: z.enum(["KEY", "CERTIFICATE"]).optional(), certificateId: z.string().optional(), cryptoKeyInfoId: z.string().optional(), sourceVar: variable.optional(), signatureVar: variable.optional(), signatureAlgorithm: z.enum(["NONEwithRSA", "MD2withRSA", "MD5withRSA", "NONEwithDSA", "SHA1withRSA", "SHA224withRSA", "SHA256withRSA", "SHA384withRSA", "SHA512withRSA", "SHA1withDSA", "SHA224withDSA", "SHA256withDSA", "NONEwithECDSA", "SHA1withECDSA", "SHA224withECDSA", "SHA256withECDSA", "SHA384withECDSA", "SHA512withECDSA"]).optional(), signatureAlgorithmVar: variable.optional(), inputEncodingType: z.enum(["BASE64", "HEXADECIMAL"]).optional()}); export const policyDigitalSignVerification = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), policyDigitalSignVerificationDefList: z.array(policyDigitalSignVerificationDef).optional()}); export const policyEncryptionDef = z.object({id: z.string().optional(), description: z.string().optional(), sourceVar: variable.optional(), targetVar: variable.optional(), cryptoKeyInfoId: z.string().optional(), certificateId: z.string().optional(), cipherAlgorithm: z.enum(["AES_CBC_NoPadding", "AES_CBC_PKCS5Padding", "AES_ECB_NoPadding", "AES_ECB_PKCS5Padding", "DES_CBC_NoPadding", "DES_CBC_PKCS5Padding", "DES_ECB_NoPadding", "DES_ECB_PKCS5Padding", "DESede_CBC_NoPadding", "DESede_CBC_PKCS5Padding", "DESede_ECB_NoPadding", "DESede_ECB_PKCS5Padding", "RSA_ECB_PKCS1Padding", "RSA_ECB_OAEPWithSHA_1AndMGF1Padding", "RSA_ECB_OAEPWithSHA_256AndMGF1Padding"]).optional(), cipherAlgorithmVar: variable.optional(), createIV: z.boolean().optional(), ivEncodingType: z.enum(["BASE64", "HEXADECIMAL"]).optional(), ivVar: variable.optional(), outputEncodingType: z.enum(["BASE64", "HEXADECIMAL"]).optional(), enumKeyCertificateType: z.enum(["KEY", "CERTIFICATE"]).optional()}); export const policyEncryption = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), policyEncryptionDefList: z.array(policyEncryptionDef).optional()}); export const policyEndpointRateLimit = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), apiProxyGroupId: z.string().optional(), apiProxyId: z.string().optional(), endpointId: z.string().optional(), endpointName: z.string().optional(), permittedMessageCount: z.number().int().optional(), timeIntervalPeriodLength: z.number().int().optional(), timeInterval: z.enum(["ONE_SECOND", "ONE_MINUTE", "ONE_HOUR", "ONE_DAY", "ONE_MONTH"]).optional(), targetVariable: variable.optional(), cacheConnectionTimeoutInSeconds: z.number().int().optional(), cacheErrorHandlingType: z.enum(["FAIL", "CONTINUE"]).optional(), timeIntervalWindowType: z.enum(["FIXED", "SLIDING"]).optional(), targetIdentityValue: z.string().optional(), showRateLimitStatisticsInResponseHeader: z.boolean().optional(), enabled: z.boolean().optional(), countingMode: z.enum(["ALL_REQUESTS", "ACCEPTED_ONLY"]).optional(), limitChangeAction: z.enum(["CLAMP", "RESET", "NONE"]).optional()}); export const policyGroup = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), makeDefault: z.boolean().optional(), targetPipeline: z.enum(["REQUEST", "RESPONSE", "ERROR"]).optional(), order: z.number().int().optional(), canBeDeleted: z.boolean().optional(), publicKey: z.string().optional(), secretKey: z.string().optional()}); export const geoLocationData = z.object({countryCode: z.string().optional(), countryName: z.string().optional(), cityName: z.string().optional(), latitude: z.number().optional(), longitude: z.number().optional(), cityWildcard: z.boolean().optional()}); export const policyIpBlack = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), useApinizerDefault: z.boolean().optional(), ipList: z.array(z.string()).optional(), ipGroupIdList: z.array(z.string()).optional(), geoLocationDataList: z.array(geoLocationData).optional(), variable: variable.optional()}); export const policyIpWhite = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), useApinizerDefault: z.boolean().optional(), ipList: z.array(z.string()).optional(), ipGroupIdList: z.array(z.string()).optional(), geoLocationDataList: z.array(geoLocationData).optional(), variable: variable.optional()}); export const mapValue = z.object({value: z.string().optional(), valueType: z.enum(["STRING", "BOOLEAN", "INTEGER", "LONG", "DOUBLE", "FLOAT", "STRING_LIST", "URI"]).optional(), resolvedValueByType: z.unknown()}); export const jwkTypeRsa = z.object({keySize: z.number().int().optional(), keyUseType: z.enum(["SIGNATURE", "ENCRYPTION"]).optional(), algorithm: z.enum(["RSA256", "RSA384", "RSA512", "PS256", "PS384", "PS512", "RSA1_5", "RSA_OAEP", "RSA_OAEP_256", "RSA_OAEP_384", "RSA_OAEP_512"]).optional(), keyIdType: z.enum(["TIMESTAMP", "SHA256", "SHA1", "ISO_DATE", "NONE"]).optional(), notBeforeTime: z.string().optional(), expirationTime: z.string().optional(), revoked: z.boolean().optional()}); export const jwkTypeEc = z.object({curveType: z.enum(["P256", "P384", "P521", "SECP256K1"]).optional(), keyUseType: z.enum(["SIGNATURE", "ENCRYPTION"]).optional(), algorithm: z.enum(["ES256", "ES384", "ES512", "ES256K", "ECDH_ES", "ECDH_ES_A128KW", "ECDH_ES_A192KW", "ECDH_ES_A256KW", "ECDH_1PU", "ECDH_1PU_A128KW", "ECDH_1PU_A192KW", "ECDH_1PU_A256KW"]).optional(), keyIdType: z.enum(["TIMESTAMP", "SHA256", "SHA1", "ISO_DATE", "NONE"]).optional(), notBeforeTime: z.string().optional(), expirationTime: z.string().optional(), revoked: z.boolean().optional()}); export const jwkTypeOct = z.object({keySize: z.number().int().optional(), keyUseType: z.enum(["SIGNATURE", "ENCRYPTION"]).optional(), algorithm: z.enum(["HS256", "HS384", "HS512", "A128KW", "A192KW", "A256KW", "A128GCMKW", "A192GCMKW", "A256GCMKW", "DIR", "PBES2_HS256_A128KW", "PBES2_HS384_A192KW", "PBES2_HS512_A256KW"]).optional(), keyIdType: z.enum(["TIMESTAMP", "SHA256", "SHA1", "ISO_DATE", "NONE"]).optional(), passwordSaltLength: z.number().int().optional(), passwordIterationCount: z.number().int().optional(), notBeforeTime: z.string().optional(), expirationTime: z.string().optional(), revoked: z.boolean().optional()}); export const jwkTypeOkp = z.object({curveType: z.enum(["ED25519", "X25519"]).optional(), keyUseType: z.enum(["SIGNATURE", "ENCRYPTION"]).optional(), algorithm: z.enum(["EdDSA", "ECDH_ES", "ECDH_ES_A128KW", "ECDH_ES_A192KW", "ECDH_ES_A256KW", "ECDH_1PU", "ECDH_1PU_A128KW", "ECDH_1PU_A192KW", "ECDH_1PU_A256KW"]).optional(), keyIdType: z.enum(["TIMESTAMP", "SHA256", "SHA1", "ISO_DATE", "NONE"]).optional(), notBeforeTime: z.string().optional(), expirationTime: z.string().optional(), revoked: z.boolean().optional()}); export const jwkGeneratedResult = z.object({key: z.string().optional(), keySetPublic: z.string().optional(), keySetAll: z.string().optional(), publicKey: z.string().optional()}); export const base64URL = z.unknown(); export const keyType = z.object({value: z.string().optional(), requirement: z.enum(["REQUIRED", "RECOMMENDED", "OPTIONAL"]).optional()}); export const keyUse = z.object({value: z.string().optional()}); export const base64 = z.unknown(); export const reason = z.object({value: z.string().optional()}); export const keyRevocation = z.object({reason: reason.optional(), revocationTime: z.string().optional()}); export const algorithm = z.object({name: z.string().optional(), requirement: z.enum(["REQUIRED", "RECOMMENDED", "OPTIONAL"]).optional()}); export const jWK = z.object({keyStore: z.object({type: z.string().optional(), provider: z.record(z.string(), z.string()).optional()}).optional(), x509CertThumbprint: base64URL.optional(), x509CertSHA256Thumbprint: base64URL.optional(), parsedX509CertChain: z.array(z.object({subjectX500Principal: z.object({name: z.string().optional(), encoded: z.string().optional()}).optional(), issuerX500Principal: z.object({name: z.string().optional(), encoded: z.string().optional()}).optional(), subjectAlternativeNames: z.array(z.array(z.unknown())).optional(), extendedKeyUsage: z.array(z.string()).optional(), issuerAlternativeNames: z.array(z.array(z.unknown())).optional(), sigAlgParams: z.string().optional(), tbscertificate: z.string().optional(), issuerDN: z.object({name: z.string().optional()}).optional(), sigAlgOID: z.string().optional(), issuerUniqueID: z.array(z.boolean()).optional(), subjectUniqueID: z.array(z.boolean()).optional(), notAfter: z.string().optional(), serialNumber: z.number().int().optional(), notBefore: z.string().optional(), subjectDN: z.object({name: z.string().optional()}).optional(), keyUsage: z.array(z.boolean()).optional(), sigAlgName: z.string().optional(), signature: z.string().optional(), basicConstraints: z.number().int().optional(), version: z.number().int().optional(), nonCriticalExtensionOIDs: z.array(z.string()).optional(), criticalExtensionOIDs: z.array(z.string()).optional(), type: z.string().optional(), encoded: z.string().optional(), publicKey: z.object({params: z.unknown(), encoded: z.string().optional(), format: z.string().optional(), algorithm: z.string().optional()}).optional()})).optional(), keyType: keyType.optional(), keyID: z.string().optional(), expirationTime: z.string().optional(), notBeforeTime: z.string().optional(), issueTime: z.string().optional(), keyUse: keyUse.optional(), keyOperations: z.array(z.enum(["sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits"])).optional(), x509CertURL: z.string().optional(), x509CertChain: z.array(base64).optional(), keyRevocation: keyRevocation.optional(), requiredParams: z.record(z.string(), z.unknown()).optional(), private: z.boolean().optional(), algorithm: algorithm.optional()}); export const jWEJCAContext = z.object({provider: z.record(z.string(), z.string()).optional(), keyEncryptionProvider: z.record(z.string(), z.string()).optional(), contentEncryptionProvider: z.record(z.string(), z.string()).optional(), macprovider: z.record(z.string(), z.string()).optional(), secureRandom: z.object({seed: z.number().int().optional(), provider: z.record(z.string(), z.string()).optional(), algorithm: z.string().optional(), parameters: z.unknown(), deprecated: z.boolean().optional()}).optional()}); export const jWEEncrypter = z.object({jcacontext: jWEJCAContext.optional()}); export const jWEDecrypter = z.object({jcacontext: jWEJCAContext.optional()}); export const jCAContext = z.object({provider: z.record(z.string(), z.string()).optional(), secureRandom: z.object({seed: z.number().int().optional(), provider: z.record(z.string(), z.string()).optional(), algorithm: z.string().optional(), parameters: z.unknown(), deprecated: z.boolean().optional()}).optional()}); export const jWSSigner = z.object({jcacontext: jCAContext.optional()}); export const jWSVerifier = z.object({jcacontext: jCAContext.optional()}); export const jwk = z.object({id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), sourceType: z.enum(["GENERATE", "URL", "COPY_PASTE", "CERTIFICATE", "PUBLIC_KEY", "PRIVATE_KEY", "KEYSTORE", "AUTO_DETECT"]).optional(), sourceId: z.string().optional(), sourceUrl: z.string().optional(), sourceEnvironmentId: z.string().optional(), sourceEnvironmentName: z.string().optional(), sourceUseType: z.enum(["SIGNATURE", "ENCRYPTION"]).optional(), sourceKeystoreAlgorithm: z.string().optional(), sourceAliasName: z.string().optional(), kid: z.string().optional(), url: z.string().optional(), urlOptionConnectTimeout: z.number().int().optional(), urlOptionReadTimeout: z.number().int().optional(), urlOptionSizeLimit: z.number().int().optional(), jwkStr: z.string().optional(), type: z.enum(["RSA", "EC", "OCT", "OKP"]).optional(), rsa: jwkTypeRsa.optional(), ec: jwkTypeEc.optional(), oct: jwkTypeOct.optional(), okp: jwkTypeOkp.optional(), generatedResult: jwkGeneratedResult.optional(), jwkJose: jWK.optional(), jweEncrypter: jWEEncrypter.optional(), jweDecrypter: jWEDecrypter.optional(), jwsSigner: jWSSigner.optional(), jwsVerifier: jWSVerifier.optional(), expirationDateValid: z.boolean().optional(), notBeforeTimeValid: z.boolean().optional(), useType: z.enum(["SIGNATURE", "ENCRYPTION"]).optional(), expirationTime: z.string().optional(), notBeforeTime: z.string().optional(), algorithm: algorithm.optional()}); export const retrySettings = z.object({enabled: z.boolean().optional(), retryCount: z.number().int().optional(), retryDelayType: z.enum(["NO_DELAY", "FIXED", "EXPONENTIAL"]).optional(), retryFixedDelayMs: z.number().int().optional(), retryInitialDelayMs: z.number().int().optional(), retryMaxDelayMs: z.number().int().optional(), retryBackoffMultiplier: z.number().optional(), retryOnStatusCodeList: z.array(z.number().int()).optional(), retryNonIdempotent: z.boolean().optional(), active: z.boolean().optional()}); export const policyJoseImplementation = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enumPolicyAuthenticationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authenticationLDAPId: z.string().optional(), authenticationDatabaseId: z.string().optional(), authenticationApiId: z.string().optional(), authenticationOidcProviderId: z.string().optional(), jwtRegeneratorServiceApiId: z.string().optional(), proxyGroup: z.boolean().optional(), enumPolicyAuthorizationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authorizationLDAPId: z.string().optional(), authorizationDatabaseId: z.string().optional(), useSecretManagerForAuthorization: z.boolean().optional(), authorizationApiId: z.string().optional(), authorizationOidcProviderId: z.string().optional(), enableAuthorization: z.boolean().optional(), credentialRoleIdList: z.array(z.string()).optional(), roleNameList: z.array(z.string()).optional(), addRolesToHeader: z.boolean().optional(), enableMethodAccess: z.boolean().optional(), authorizationType: z.enum(["ALL", "ANY"]).optional(), policyAuthorizationMethodDefList: z.array(policyAuthorizationMethodDef).optional(), checkClientIpAddress: z.boolean().optional(), validateACLForIssuer: z.boolean().optional(), rolesHeaderName: z.string().optional(), addUserToHeader: z.boolean().optional(), userHeaderName: z.string().optional(), setUsernameOrKey: z.boolean().optional(), clearAuth: z.boolean().optional(), checkPassword: z.boolean().optional(), addRolesFromAuthorizationService: z.boolean().optional(), rolesFromAuthorizationServiceHeaderName: z.string().optional(), joseTarget: z.enum(["BODY", "AUTHORIZATION_HEADER", "CHOOSE_FROM_VARIABLE", "EMPTY"]).optional(), joseTargetVariable: variable.optional(), jwtClaimsClaim: z.string().optional(), escapeJsonString: z.boolean().optional(), addIssueTime: z.boolean().optional(), issueTimeOffset: z.number().int().optional(), addJWTID: z.boolean().optional(), addIssuer: z.boolean().optional(), issuer: z.string().optional(), addAudience: z.boolean().optional(), audienceList: z.array(z.string()).optional(), addSubject: z.boolean().optional(), subject: z.string().optional(), addTypeToHeader: z.boolean().optional(), typeValue: z.string().optional(), addExpirationTime: z.boolean().optional(), expirationTimeValue: z.number().int().optional(), expirationTimeUnit: z.enum(["MILLI_SECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"]).optional(), expirationFromIssueTime: z.boolean().optional(), additionalClaimMap: z.record(z.string(), mapValue).optional(), sign: z.boolean().optional(), signByIssuer: z.boolean().optional(), jwkIdForValidationAndSign: z.string().optional(), jwkForValidationAndSign: jwk.optional(), keySourceModeForValidationAndSign: z.enum(["EMBEDDED", "DYNAMIC_HTTP"]).optional(), httpRequestForValidationAndSign: testCaseRequest.optional(), keyExtractionVariableForValidationAndSign: variable.optional(), keyFormatForValidationAndSign: z.enum(["AUTO_DETECT", "PUBLIC_KEY", "PRIVATE_KEY", "CERTIFICATE", "JWK_JSON"]).optional(), keyAlgorithmForValidationAndSign: z.enum(["NONE", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "RSA1_5", "RSA_OAEP", "RSA_OAEP_256", "RSA_OAEP_384", "RSA_OAEP_512", "ES256", "ES384", "ES512", "ES256K", "ECDH_ES", "ECDH_ES_A128KW", "ECDH_ES_A192KW", "ECDH_ES_A256KW", "ECDH_1PU", "ECDH_1PU_A128KW", "ECDH_1PU_A192KW", "ECDH_1PU_A256KW", "HS256", "HS384", "HS512", "A128KW", "A192KW", "A256KW", "A128GCMKW", "A192GCMKW", "A256GCMKW", "DIR", "PBES2_HS256_A128KW", "PBES2_HS384_A192KW", "PBES2_HS512_A256KW", "EdDSA"]).optional(), keyKidForValidationAndSign: z.string().optional(), enableCacheForValidationAndSign: z.boolean().optional(), cacheByVariableForValidationAndSign: variable.optional(), keyCacheTtlForValidationAndSign: z.number().int().optional(), keyCacheCapacityForValidationAndSign: z.number().int().optional(), keyRespectCacheInvalidationHeadersForValidationAndSign: z.boolean().optional(), keyCacheStorageTypeForValidationAndSign: z.enum(["LOCAL", "DISTRIBUTED"]).optional(), retryOnKeyErrorForValidationAndSign: z.boolean().optional(), httpRetrySettingsForValidationAndSign: retrySettings.optional(), invalidateCacheOnValidationErrorForValidationAndSign: z.boolean().optional(), keyCacheConnectionTimeoutForValidationAndSign: z.number().int().optional(), keyCacheErrorHandlingTypeForValidationAndSign: z.enum(["FAIL", "CONTINUE"]).optional(), encrypt: z.boolean().optional(), encryptByIssuer: z.boolean().optional(), jwkIdForDecryptionAndEncryption: z.string().optional(), jwkForDecryptionAndEncryption: jwk.optional(), keySourceModeForDecryptionAndEncryption: z.enum(["EMBEDDED", "DYNAMIC_HTTP"]).optional(), httpRequestForDecryptionAndEncryption: testCaseRequest.optional(), keyExtractionVariableForDecryptionAndEncryption: variable.optional(), keyFormatForDecryptionAndEncryption: z.enum(["AUTO_DETECT", "PUBLIC_KEY", "PRIVATE_KEY", "CERTIFICATE", "JWK_JSON"]).optional(), keyAlgorithmForDecryptionAndEncryption: z.enum(["NONE", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "RSA1_5", "RSA_OAEP", "RSA_OAEP_256", "RSA_OAEP_384", "RSA_OAEP_512", "ES256", "ES384", "ES512", "ES256K", "ECDH_ES", "ECDH_ES_A128KW", "ECDH_ES_A192KW", "ECDH_ES_A256KW", "ECDH_1PU", "ECDH_1PU_A128KW", "ECDH_1PU_A192KW", "ECDH_1PU_A256KW", "HS256", "HS384", "HS512", "A128KW", "A192KW", "A256KW", "A128GCMKW", "A192GCMKW", "A256GCMKW", "DIR", "PBES2_HS256_A128KW", "PBES2_HS384_A192KW", "PBES2_HS512_A256KW", "EdDSA"]).optional(), keyKidForDecryptionAndEncryption: z.string().optional(), enableCacheForDecryptionAndEncryption: z.boolean().optional(), cacheByVariableForDecryptionAndEncryption: variable.optional(), keyCacheTtlForDecryptionAndEncryption: z.number().int().optional(), keyCacheCapacityForDecryptionAndEncryption: z.number().int().optional(), keyRespectCacheInvalidationHeadersForDecryptionAndEncryption: z.boolean().optional(), keyCacheStorageTypeForDecryptionAndEncryption: z.enum(["LOCAL", "DISTRIBUTED"]).optional(), retryOnKeyErrorForDecryptionAndEncryption: z.boolean().optional(), httpRetrySettingsForDecryptionAndEncryption: retrySettings.optional(), invalidateCacheOnValidationErrorForDecryptionAndEncryption: z.boolean().optional(), keyCacheConnectionTimeoutForDecryptionAndEncryption: z.number().int().optional(), keyCacheErrorHandlingTypeForDecryptionAndEncryption: z.enum(["FAIL", "CONTINUE"]).optional(), encryptionMethod: z.enum(["A128CBC_HS256", "A192CBC_HS384", "A256CBC_HS512", "A128CBC_HS256_DEPRECATED", "A256CBC_HS512_DEPRECATED", "A128GCM", "A192GCM", "A256GCM", "XC20P"]).optional(), encodedClaimsTargetForDataManipulation: z.enum(["BODY", "AUTHORIZATION_HEADER", "CHOOSE_FROM_VARIABLE"]).optional(), decodedClaimsTargetVariableForDataManipulation: variable.optional(), enableDpop: z.boolean().optional(), dpopProofHeaderName: z.string().optional(), dpopHtuSource: z.enum(["MANUAL", "BACKEND_ROUTING_ADDRESS"]).optional(), dpopHtu: z.string().optional(), dpopHtm: z.string().optional(), dpopAddAth: z.boolean().optional(), dpopAccessTokenSource: z.enum(["BODY", "AUTHORIZATION_HEADER", "CHOOSE_FROM_VARIABLE"]).optional(), dpopAccessTokenVariable: variable.optional(), dpopRewriteAuthorizationScheme: z.boolean().optional(), dpopNonceVariable: variable.optional()}); export const policyJoseValidation = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enumPolicyAuthenticationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authenticationLDAPId: z.string().optional(), authenticationDatabaseId: z.string().optional(), authenticationApiId: z.string().optional(), authenticationOidcProviderId: z.string().optional(), jwtRegeneratorServiceApiId: z.string().optional(), proxyGroup: z.boolean().optional(), enumPolicyAuthorizationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authorizationLDAPId: z.string().optional(), authorizationDatabaseId: z.string().optional(), useSecretManagerForAuthorization: z.boolean().optional(), authorizationApiId: z.string().optional(), authorizationOidcProviderId: z.string().optional(), enableAuthorization: z.boolean().optional(), credentialRoleIdList: z.array(z.string()).optional(), roleNameList: z.array(z.string()).optional(), addRolesToHeader: z.boolean().optional(), enableMethodAccess: z.boolean().optional(), authorizationType: z.enum(["ALL", "ANY"]).optional(), policyAuthorizationMethodDefList: z.array(policyAuthorizationMethodDef).optional(), checkClientIpAddress: z.boolean().optional(), validateACLForIssuer: z.boolean().optional(), rolesHeaderName: z.string().optional(), addUserToHeader: z.boolean().optional(), userHeaderName: z.string().optional(), setUsernameOrKey: z.boolean().optional(), clearAuth: z.boolean().optional(), checkPassword: z.boolean().optional(), addRolesFromAuthorizationService: z.boolean().optional(), rolesFromAuthorizationServiceHeaderName: z.string().optional(), joseTarget: z.enum(["BODY", "AUTHORIZATION_HEADER", "CHOOSE_FROM_VARIABLE"]).optional(), joseTargetVariable: variable.optional(), clientSourcePart: z.enum(["HEADER", "CLAIMS", "VARIABLE"]).optional(), clientSourceVariable: variable.optional(), clientFieldname: z.string().optional(), acceptedAudienceList: z.array(z.string()).optional(), exactMatchClaimMap: z.record(z.string(), mapValue).optional(), requiredClaimList: z.array(z.string()).optional(), prohibitedClaimList: z.array(z.string()).optional(), validateExpirationTime: z.boolean().optional(), clockSkewTolerance: z.number().int().optional(), clockSkewToleranceUnit: z.enum(["MILLI_SECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"]).optional(), validateIssueTime: z.boolean().optional(), maxIssueTimeAge: z.number().int().optional(), maxIssueTimeAgeUnit: z.enum(["MILLI_SECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"]).optional(), allowFutureIssueTime: z.boolean().optional(), validateNotBefore: z.boolean().optional(), enableDpop: z.boolean().optional(), dpopProofHeaderName: z.string().optional(), dpopMaxProofAge: z.number().int().optional(), dpopMaxProofAgeUnit: z.enum(["MILLI_SECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"]).optional(), dpopValidateHtm: z.boolean().optional(), dpopValidateHtu: z.boolean().optional(), dpopExpectedHtu: z.string().optional(), dpopValidateCnfBinding: z.boolean().optional(), dpopValidateAth: z.boolean().optional(), dpopValidateJti: z.boolean().optional(), dpopJtiCacheTtl: z.number().int().optional(), dpopCacheConnectionTimeout: z.number().int().optional(), dpopCacheErrorHandlingType: z.enum(["FAIL", "CONTINUE"]).optional(), validateSign: z.boolean().optional(), validateByIssuer: z.boolean().optional(), validateACLforIssuer: z.boolean().optional(), jwkIdForValidationAndSign: z.string().optional(), jwkForValidationAndSign: jwk.optional(), keySourceModeForValidationAndSign: z.enum(["EMBEDDED", "DYNAMIC_HTTP"]).optional(), httpRequestForValidationAndSign: testCaseRequest.optional(), keyExtractionVariableForValidationAndSign: variable.optional(), keyFormatForValidationAndSign: z.enum(["AUTO_DETECT", "PUBLIC_KEY", "PRIVATE_KEY", "CERTIFICATE", "JWK_JSON"]).optional(), keyAlgorithmForValidationAndSign: z.enum(["NONE", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "RSA1_5", "RSA_OAEP", "RSA_OAEP_256", "RSA_OAEP_384", "RSA_OAEP_512", "ES256", "ES384", "ES512", "ES256K", "ECDH_ES", "ECDH_ES_A128KW", "ECDH_ES_A192KW", "ECDH_ES_A256KW", "ECDH_1PU", "ECDH_1PU_A128KW", "ECDH_1PU_A192KW", "ECDH_1PU_A256KW", "HS256", "HS384", "HS512", "A128KW", "A192KW", "A256KW", "A128GCMKW", "A192GCMKW", "A256GCMKW", "DIR", "PBES2_HS256_A128KW", "PBES2_HS384_A192KW", "PBES2_HS512_A256KW", "EdDSA"]).optional(), keyKidForValidationAndSign: z.string().optional(), enableCacheForValidationAndSign: z.boolean().optional(), cacheByVariableForValidationAndSign: variable.optional(), keyCacheTtlForValidationAndSign: z.number().int().optional(), keyCacheCapacityForValidationAndSign: z.number().int().optional(), keyRespectCacheInvalidationHeadersForValidationAndSign: z.boolean().optional(), keyCacheStorageTypeForValidationAndSign: z.enum(["LOCAL", "DISTRIBUTED"]).optional(), retryOnKeyErrorForValidationAndSign: z.boolean().optional(), httpRetrySettingsForValidationAndSign: retrySettings.optional(), invalidateCacheOnValidationErrorForValidationAndSign: z.boolean().optional(), keyCacheConnectionTimeoutForValidationAndSign: z.number().int().optional(), keyCacheErrorHandlingTypeForValidationAndSign: z.enum(["FAIL", "CONTINUE"]).optional(), decrypt: z.boolean().optional(), decryptByIssuer: z.boolean().optional(), jwkIdForDecryptionAndEncryption: z.string().optional(), jwkForDecryptionAndEncryption: jwk.optional(), keySourceModeForDecryptionAndEncryption: z.enum(["EMBEDDED", "DYNAMIC_HTTP"]).optional(), httpRequestForDecryptionAndEncryption: testCaseRequest.optional(), keyExtractionVariableForDecryptionAndEncryption: variable.optional(), keyFormatForDecryptionAndEncryption: z.enum(["AUTO_DETECT", "PUBLIC_KEY", "PRIVATE_KEY", "CERTIFICATE", "JWK_JSON"]).optional(), keyAlgorithmForDecryptionAndEncryption: z.enum(["NONE", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "RSA1_5", "RSA_OAEP", "RSA_OAEP_256", "RSA_OAEP_384", "RSA_OAEP_512", "ES256", "ES384", "ES512", "ES256K", "ECDH_ES", "ECDH_ES_A128KW", "ECDH_ES_A192KW", "ECDH_ES_A256KW", "ECDH_1PU", "ECDH_1PU_A128KW", "ECDH_1PU_A192KW", "ECDH_1PU_A256KW", "HS256", "HS384", "HS512", "A128KW", "A192KW", "A256KW", "A128GCMKW", "A192GCMKW", "A256GCMKW", "DIR", "PBES2_HS256_A128KW", "PBES2_HS384_A192KW", "PBES2_HS512_A256KW", "EdDSA"]).optional(), keyKidForDecryptionAndEncryption: z.string().optional(), enableCacheForDecryptionAndEncryption: z.boolean().optional(), cacheByVariableForDecryptionAndEncryption: variable.optional(), keyCacheTtlForDecryptionAndEncryption: z.number().int().optional(), keyCacheCapacityForDecryptionAndEncryption: z.number().int().optional(), keyRespectCacheInvalidationHeadersForDecryptionAndEncryption: z.boolean().optional(), keyCacheStorageTypeForDecryptionAndEncryption: z.enum(["LOCAL", "DISTRIBUTED"]).optional(), retryOnKeyErrorForDecryptionAndEncryption: z.boolean().optional(), httpRetrySettingsForDecryptionAndEncryption: retrySettings.optional(), invalidateCacheOnValidationErrorForDecryptionAndEncryption: z.boolean().optional(), keyCacheConnectionTimeoutForDecryptionAndEncryption: z.number().int().optional(), keyCacheErrorHandlingTypeForDecryptionAndEncryption: z.enum(["FAIL", "CONTINUE"]).optional(), stripAndDecode: z.enum(["NONE", "ALL", "PARTIAL"]).optional(), jwtClaimsToDecode: z.string().optional(), decodedClaimsTargetForDataManipulation: z.enum(["BODY", "AUTHORIZATION_HEADER", "CHOOSE_FROM_VARIABLE"]).optional(), decodedClaimsTargetVariableForDataManipulation: variable.optional()}); export const apiGwSchemaDefinition = z.object({schemaNo: z.number().int().optional(), systemId: z.string().optional(), schemaBody: z.string().optional(), targetNamespace: z.string().optional(), rootSchema: z.boolean().optional()}); export const policyJsonSchemaValidation = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), pathForBody: z.string().optional(), validateAgainstSpec: z.boolean().optional(), showFirstErrorOnly: z.boolean().optional(), openApiValidationMode: z.enum(["METHOD_BASED", "ALL_SCHEMAS"]).optional(), schemaDefinitionList: z.array(apiGwSchemaDefinition).optional()}); export const policyJsonTransformation = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), transformationType: z.enum(["JSON2JSON", "JSON2XML"]).optional(), joltValue: z.string().optional(), jsonToXmlIgnoreNull: z.boolean().optional(), jsonToXmlIgnoreEmpty: z.boolean().optional(), jsonToXmlUseNullForNil: z.boolean().optional(), jsonToXmlUnwrapElement: z.boolean().optional()}); export const delegationAcceptance = z.object({enabled: z.boolean().optional(), allowedActors: z.array(z.string()).optional(), maxActDepth: z.number().int().optional()}); export const policyJwtAuthentication = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enumPolicyAuthenticationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authenticationLDAPId: z.string().optional(), authenticationDatabaseId: z.string().optional(), authenticationApiId: z.string().optional(), authenticationOidcProviderId: z.string().optional(), jwtRegeneratorServiceApiId: z.string().optional(), proxyGroup: z.boolean().optional(), enumPolicyAuthorizationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authorizationLDAPId: z.string().optional(), authorizationDatabaseId: z.string().optional(), useSecretManagerForAuthorization: z.boolean().optional(), authorizationApiId: z.string().optional(), authorizationOidcProviderId: z.string().optional(), enableAuthorization: z.boolean().optional(), credentialRoleIdList: z.array(z.string()).optional(), roleNameList: z.array(z.string()).optional(), addRolesToHeader: z.boolean().optional(), enableMethodAccess: z.boolean().optional(), authorizationType: z.enum(["ALL", "ANY"]).optional(), policyAuthorizationMethodDefList: z.array(policyAuthorizationMethodDef).optional(), checkClientIpAddress: z.boolean().optional(), validateACLForIssuer: z.boolean().optional(), rolesHeaderName: z.string().optional(), addUserToHeader: z.boolean().optional(), userHeaderName: z.string().optional(), setUsernameOrKey: z.boolean().optional(), clearAuth: z.boolean().optional(), checkPassword: z.boolean().optional(), addRolesFromAuthorizationService: z.boolean().optional(), rolesFromAuthorizationServiceHeaderName: z.string().optional(), tokenNeverExpires: z.boolean().optional(), tokenExpiresInAmount: z.number().int().optional(), tokenExpiresInUnit: z.enum(["MILLI_SECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"]).optional(), refreshTokenAllowed: z.boolean().optional(), refreshTokenCount: z.number().int().optional(), refreshTokenExpiresInAmount: z.number().int().optional(), refreshTokenExpiresInUnit: z.enum(["MILLI_SECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"]).optional(), allowUrlParameters: z.boolean().optional(), managedFromThisPolicy: z.boolean().optional(), grantType: z.enum(["CLIENT_CREDENTIALS", "PASSWORD"]).optional(), grantTypes: z.array(z.string()).optional(), jwtSignatureAlgorithm: z.string().optional(), delegationAcceptance: delegationAcceptance.optional()}); export const logPolicyConnectorRef = z.object({connectionConfigId: z.string().optional(), connectorType: z.string().optional()}); export const policyLog = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), executionType: z.enum(["SYNC", "ASYNC"]).optional(), connectorRefs: z.array(logPolicyConnectorRef).optional(), logCorrelationId: z.boolean().optional(), logEnvironmentInfo: z.boolean().optional(), logApiProxyInfo: z.boolean().optional(), logUserInfo: z.boolean().optional(), logHttpContext: z.boolean().optional(), logHeaders: z.boolean().optional(), logParameters: z.boolean().optional(), logBody: z.boolean().optional(), logResultInfo: z.boolean().optional(), bodyLogMode: z.enum(["FULL", "PARTIAL"]).optional(), bodyMaxBytes: z.number().int().optional(), enablePrivacy: z.boolean().optional(), privacyDefinitionList: z.array(privacyDefinition).optional(), sync: z.boolean().optional()}); export const policyMTLSAuthentication = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enumPolicyAuthenticationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authenticationLDAPId: z.string().optional(), authenticationDatabaseId: z.string().optional(), authenticationApiId: z.string().optional(), authenticationOidcProviderId: z.string().optional(), jwtRegeneratorServiceApiId: z.string().optional(), proxyGroup: z.boolean().optional(), enumPolicyAuthorizationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authorizationLDAPId: z.string().optional(), authorizationDatabaseId: z.string().optional(), useSecretManagerForAuthorization: z.boolean().optional(), authorizationApiId: z.string().optional(), authorizationOidcProviderId: z.string().optional(), enableAuthorization: z.boolean().optional(), credentialRoleIdList: z.array(z.string()).optional(), roleNameList: z.array(z.string()).optional(), addRolesToHeader: z.boolean().optional(), enableMethodAccess: z.boolean().optional(), authorizationType: z.enum(["ALL", "ANY"]).optional(), policyAuthorizationMethodDefList: z.array(policyAuthorizationMethodDef).optional(), checkClientIpAddress: z.boolean().optional(), validateACLForIssuer: z.boolean().optional(), rolesHeaderName: z.string().optional(), addUserToHeader: z.boolean().optional(), userHeaderName: z.string().optional(), setUsernameOrKey: z.boolean().optional(), clearAuth: z.boolean().optional(), checkPassword: z.boolean().optional(), addRolesFromAuthorizationService: z.boolean().optional(), rolesFromAuthorizationServiceHeaderName: z.string().optional(), validateCertificate: z.boolean().optional(), validateCertificatesIssuer: z.boolean().optional(), identitySource: z.enum(["SUBJECT", "ISSUER", "SUBJECT_OR_ISSUER"]).optional()}); export const policyMaxMessageSize = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), size: z.number().int().optional()}); export const messageBuilderRow = z.object({policyCondition: policyCondition.optional(), buildMode: z.enum(["form", "template"]).optional(), sourceVariable: variable.optional(), targetVariable: variable.optional(), template: z.string().optional(), required: z.boolean().optional(), continueOnError: z.boolean().optional(), defaultValue: z.string().optional()}); export const policyMessageBuilder = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), rowList: z.array(messageBuilderRow).optional()}); export const policyMinMessageSize = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), size: z.number().int().optional()}); export const oIDCRoleMapping = z.object({claimPath: z.string().optional(), claimValue: z.string().optional(), targetRole: z.string().optional(), required: z.boolean().optional()}); export const customClaimMapping = z.object({headerName: z.string().optional(), claimPath: z.string().optional()}); export const policyOIDCMTLSSettings = z.object({enabled: z.boolean().optional(), skipSslVerification: z.boolean().optional(), keyStoreId: z.string().optional(), trustStoreId: z.string().optional(), certificateId: z.string().optional(), supportedProtocolList: z.array(z.enum(["TLS_1_3", "TLS_1_2", "TLS_1_1", "TLS_1_0", "SSL_3_0"])).optional(), hostnameVerifierType: z.enum(["NOOP", "DEFAULT", "STRICT", "BROWSER_COMPAT"]).optional()}); export const policyOIDC = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enumPolicyAuthenticationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authenticationLDAPId: z.string().optional(), authenticationDatabaseId: z.string().optional(), authenticationApiId: z.string().optional(), authenticationOidcProviderId: z.string().optional(), jwtRegeneratorServiceApiId: z.string().optional(), proxyGroup: z.boolean().optional(), enumPolicyAuthorizationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authorizationLDAPId: z.string().optional(), authorizationDatabaseId: z.string().optional(), useSecretManagerForAuthorization: z.boolean().optional(), authorizationApiId: z.string().optional(), authorizationOidcProviderId: z.string().optional(), enableAuthorization: z.boolean().optional(), credentialRoleIdList: z.array(z.string()).optional(), roleNameList: z.array(z.string()).optional(), addRolesToHeader: z.boolean().optional(), enableMethodAccess: z.boolean().optional(), authorizationType: z.enum(["ALL", "ANY"]).optional(), policyAuthorizationMethodDefList: z.array(policyAuthorizationMethodDef).optional(), checkClientIpAddress: z.boolean().optional(), validateACLForIssuer: z.boolean().optional(), rolesHeaderName: z.string().optional(), addUserToHeader: z.boolean().optional(), userHeaderName: z.string().optional(), setUsernameOrKey: z.boolean().optional(), clearAuth: z.boolean().optional(), checkPassword: z.boolean().optional(), addRolesFromAuthorizationService: z.boolean().optional(), rolesFromAuthorizationServiceHeaderName: z.string().optional(), issuer: z.string().optional(), authorizationEndpoint: z.string().optional(), tokenEndpoint: z.string().optional(), userInfoEndpoint: z.string().optional(), jwksEndpoint: z.string().optional(), clientId: z.string().optional(), clientSecret: z.string().optional(), redirectUri: z.string().optional(), discoveryUrl: z.string().optional(), oidcProviderId: z.string().optional(), flowType: z.enum(["AUTHORIZATION_CODE", "IMPLICIT", "HYBRID", "OAUTH2_AUTHORIZATION_CODE"]).optional(), enablePKCE: z.boolean().optional(), scopes: z.array(z.string()).optional(), additionalAuthParams: z.record(z.string(), z.string()).optional(), authenticationMode: z.enum(["EXTERNAL_ONLY", "INTERNAL_ONLY", "HYBRID"]).optional(), requireBothInHybrid: z.boolean().optional(), validateIdToken: z.boolean().optional(), validateAccessToken: z.boolean().optional(), validateJwtLocally: z.boolean().optional(), validateJwtSignature: z.boolean().optional(), expectedJwtAuthSigningAlgs: z.array(z.string()).optional(), callUserInfoEndpoint: z.boolean().optional(), tokenCacheTimeoutSeconds: z.number().int().optional(), jwkCacheTimeoutSeconds: z.number().int().optional(), usernameClaimPath: z.string().optional(), emailClaimPath: z.string().optional(), displayNameClaimPath: z.string().optional(), roleMappings: z.array(oIDCRoleMapping).optional(), sessionCookieName: z.string().optional(), sessionTimeoutMinutes: z.number().int().optional(), enableStateValidation: z.boolean().optional(), enableNonceValidation: z.boolean().optional(), introspectionEndpoint: z.string().optional(), validateIssuer: z.boolean().optional(), expectedIssuer: z.string().optional(), validateAudience: z.boolean().optional(), expectedAudience: z.array(z.string()).optional(), sessionStorageType: z.enum(["CACHE", "COOKIE"]).optional(), tempSessionStorageType: z.enum(["CACHE", "COOKIE"]).optional(), enableSessionCompression: z.boolean().optional(), maxSessionCookieSizeBytes: z.number().int().optional(), sessionCookieSecure: z.boolean().optional(), connectionTimeoutSeconds: z.number().int().optional(), readTimeoutSeconds: z.number().int().optional(), maxClockSkewSeconds: z.number().int().optional(), errorRedirectUrl: z.string().optional(), errorMessageTemplate: z.string().optional(), includeErrorDetails: z.boolean().optional(), customHeaders: z.record(z.string(), z.string()).optional(), userAgent: z.string().optional(), enableDebugLogging: z.boolean().optional(), customClaimMappings: z.array(customClaimMapping).optional(), disableUserinfoHeader: z.boolean().optional(), userinfoHeaderName: z.string().optional(), addIdTokenHeader: z.boolean().optional(), idTokenHeaderName: z.string().optional(), logoutPath: z.string().optional(), postLogoutRedirectUri: z.string().optional(), enableIdTokenHintInLogout: z.boolean().optional(), ignoreRequestMethods: z.array(z.string()).optional(), ignoreRequestPatterns: z.string().optional(), authAcceptTokenAs: z.enum(["header", "cookie", "header_cookie"]).optional(), addTokenToCookie: z.boolean().optional(), accessTokenCookieName: z.string().optional(), enableIdTokenCookie: z.boolean().optional(), idTokenCookieName: z.string().optional(), enableRefreshTokenCookie: z.boolean().optional(), refreshTokenCookieName: z.string().optional(), bearerJwtAuthEnable: z.boolean().optional(), validateAccessTokenWithApi: z.boolean().optional(), sessionAbsoluteTimeoutSeconds: z.number().int().optional(), loginFlowTimeoutSeconds: z.number().int().optional(), setCookieDelimiter: z.string().optional(), realm: z.string().optional(), redirectAfterLogoutUri: z.string().optional(), oauth2ResourceEndpoint: z.string().optional(), oauth2AuthParams: z.record(z.string(), z.string()).optional(), oauth2TokenParams: z.record(z.string(), z.string()).optional(), oauth2ResourceParams: z.record(z.string(), z.string()).optional(), oauth2UsernameExtractionPath: z.string().optional(), enableHtmlResponsePages: z.boolean().optional(), applicationTitle: z.string().optional(), successPageUrl: z.string().optional(), enableSuccessPageCall: z.boolean().optional(), backendRequestHeaders: z.record(z.string(), z.string()).optional(), loginPageTemplate: z.string().optional(), errorPageTemplate: z.string().optional(), successPageTemplate: z.string().optional(), policyOidcMTLSSettings: policyOIDCMTLSSettings.optional(), accessTokenHeaderName: z.string().optional(), accessTokenAsBearer: z.boolean().optional(), addAccessTokenHeader: z.boolean().optional(), renewAccessTokenOnExpiry: z.boolean().optional(), revokeTokensOnLogout: z.boolean().optional(), revocationEndpoint: z.string().optional()}); export const policyOauth2Authentication = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enumPolicyAuthenticationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authenticationLDAPId: z.string().optional(), authenticationDatabaseId: z.string().optional(), authenticationApiId: z.string().optional(), authenticationOidcProviderId: z.string().optional(), jwtRegeneratorServiceApiId: z.string().optional(), proxyGroup: z.boolean().optional(), enumPolicyAuthorizationType: z.enum(["LDAP", "DATABASE", "MEMORY", "API", "SECRET_MANAGER", "OIDC"]).optional(), authorizationLDAPId: z.string().optional(), authorizationDatabaseId: z.string().optional(), useSecretManagerForAuthorization: z.boolean().optional(), authorizationApiId: z.string().optional(), authorizationOidcProviderId: z.string().optional(), enableAuthorization: z.boolean().optional(), credentialRoleIdList: z.array(z.string()).optional(), roleNameList: z.array(z.string()).optional(), addRolesToHeader: z.boolean().optional(), enableMethodAccess: z.boolean().optional(), authorizationType: z.enum(["ALL", "ANY"]).optional(), policyAuthorizationMethodDefList: z.array(policyAuthorizationMethodDef).optional(), checkClientIpAddress: z.boolean().optional(), validateACLForIssuer: z.boolean().optional(), rolesHeaderName: z.string().optional(), addUserToHeader: z.boolean().optional(), userHeaderName: z.string().optional(), setUsernameOrKey: z.boolean().optional(), clearAuth: z.boolean().optional(), checkPassword: z.boolean().optional(), addRolesFromAuthorizationService: z.boolean().optional(), rolesFromAuthorizationServiceHeaderName: z.string().optional(), tokenNeverExpires: z.boolean().optional(), tokenExpiresInAmount: z.number().int().optional(), tokenExpiresInUnit: z.enum(["MILLI_SECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"]).optional(), refreshTokenAllowed: z.boolean().optional(), refreshTokenCount: z.number().int().optional(), refreshTokenExpiresInAmount: z.number().int().optional(), refreshTokenExpiresInUnit: z.enum(["MILLI_SECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"]).optional(), allowUrlParameters: z.boolean().optional(), managedFromThisPolicy: z.boolean().optional(), grantType: z.enum(["CLIENT_CREDENTIALS", "PASSWORD"]).optional(), grantTypes: z.array(z.string()).optional(), delegationAcceptance: delegationAcceptance.optional(), deletePrevious: z.boolean().optional(), jwtSignatureAlgorithm: z.string().optional()}); export const policyRedactionDefDetail = z.object({policyRedactionDef: z.unknown(), orderNum: z.number().int().optional(), action: action.optional()}); export const policyRedactionDef = z.object({policyRedaction: z.lazy(() => policyRedaction.optional()), redactionType: z.enum(["KEY_EXISTENCE", "KEY_VALUE", "USER", "ROLE"]).optional(), keyValueVar: variable.optional(), keyValueListStr: z.string().optional(), redactionDefDetailList: z.array(policyRedactionDefDetail).optional()}); export const policyRedaction: z.ZodType = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), redactionDefList: z.array(policyRedactionDef).optional()}); export const policyRest2SoapTransformationRequest = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string()}); export const policyRest2SoapTransformationResponse = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string()}); export const policyRestApiMTLSSettings = z.object({enabled: z.boolean().optional(), skipSslVerification: z.boolean().optional(), keyStoreId: z.string().optional(), trustStoreId: z.string().optional(), certificateId: z.string().optional(), supportedProtocolList: z.array(z.enum(["TLS_1_3", "TLS_1_2", "TLS_1_1", "TLS_1_0", "SSL_3_0"])).optional(), hostnameVerifierType: z.enum(["NOOP", "DEFAULT", "STRICT", "BROWSER_COMPAT"]).optional(), connectionTimeout: z.number().int().optional()}); export const policyRestApiDataManipulationDef = z.object({operation: z.enum(["ADD", "ADD_OR_EDIT", "DELETE"]).optional(), sourceValueSource: z.enum(["VALUE", "VARIABLE"]).optional(), sourceVar: variable.optional(), sourceValue: z.string().optional(), targetName: z.string().optional(), targetValueSource: z.enum(["VALUE", "VARIABLE"]).optional(), targetVar: variable.optional(), targetValue: z.string().optional()}); export const policyRestApiHeader = z.object({description: z.string().optional(), name: z.string().optional(), valueSource: z.enum(["VALUE", "VARIABLE"]).optional(), value: z.string().optional(), variable: variable.optional(), prefix: z.enum(["NONE", "BASIC", "BEARER", "DIGEST"]).optional(), specifyValue: z.boolean().optional(), selectVariable: z.boolean().optional()}); export const policyRestApiParameter = z.object({description: z.string().optional(), name: z.string().optional(), valueSource: z.enum(["VALUE", "VARIABLE"]).optional(), value: z.string().optional(), variable: variable.optional(), specifyValue: z.boolean().optional(), selectVariable: z.boolean().optional()}); export const policyRestApi = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), callType: z.enum(["ONE_WAY", "SYNCHRONOUS"]).optional(), httpMethod: z.enum(["GET", "POST", "PUT", "HEAD", "OPTIONS", "DELETE", "PATCH", "TRACE", "ALL", "QUERY"]).optional(), url: z.string().optional(), timeout: z.number().int().optional(), certificateId: z.string().optional(), certificateEnabled: z.boolean().optional(), policyRestApiMTLSSettings: policyRestApiMTLSSettings.optional(), retrySettings: retrySettings.optional(), enableCompression: z.boolean().optional(), clearBodyBeforeCall: z.boolean().optional(), useMessageTemplateBeforeCall: z.boolean().optional(), enumTestConsoleRequestBodyType: z.enum(["XML", "JSON", "RAW", "URL_ENCODED"]).optional(), bodyContentBeforeCall: z.string().optional(), urlEncodedList: z.array(testCaseForm).optional(), dataManipulationListBeforeCall: z.array(policyRestApiDataManipulationDef).optional(), removeAllHeadersBeforeCall: z.boolean().optional(), headersToBeDeletedBeforeCallList: z.array(z.string()).optional(), headersToBeAddedBeforeCallList: z.array(policyRestApiHeader).optional(), removeAllParametersBeforeCall: z.boolean().optional(), parametersToBeDeletedBeforeCallList: z.array(z.string()).optional(), parametersToBeAddedBeforeCallList: z.array(policyRestApiParameter).optional(), enableCache: z.boolean().optional(), cacheBy: variable.optional(), capacity: z.number().int().optional(), ttl: z.number().int().optional(), cacheNullResponses: z.boolean().optional(), cacheStorageType: z.enum(["LOCAL", "DISTRIBUTED"]).optional(), cacheConnectionTimeoutInSeconds: z.number().int().optional(), cacheErrorAction: z.enum(["CONTINUE", "STOP"]).optional(), enableDynamicTtl: z.boolean().optional(), dynamicTtlVariable: variable.optional(), dynamicTtlSourceType: z.enum(["ISO_8601_DATETIME", "CUSTOM_DATETIME", "EPOCH_SECONDS", "EPOCH_MILLISECONDS", "EXPIRES_IN_SECONDS", "EXPIRES_IN_MILLISECONDS", "TTL_STRING"]).optional(), dynamicTtlCustomDatePattern: z.string().optional(), dynamicTtlIsJwt: z.boolean().optional(), dynamicTtlJwtClaimName: z.string().optional(), dynamicTtlOffsetSeconds: z.number().int().optional(), fallbackTtl: z.number().int().optional(), enableResponseAssertion: z.boolean().optional(), responseAssertionVariable: variable.optional(), responseAssertionOperator: z.enum(["EQUALS", "NOT_EQUALS", "CONTAINS", "NOT_CONTAINS", "EXISTS", "NOT_EXISTS", "MATCHES_REGEX"]).optional(), responseAssertionExpectedValue: z.string().optional(), afterCallBodyOperationType: z.enum(["NOT_CHANGE_BODY", "REPLACE_BODY", "CLEAR_BODY"]).optional(), useMessageTemplateAfterCall: z.boolean().optional(), messageTemplateContentTypeAfterCall: z.enum(["XML", "JSON", "RAW", "URL_ENCODED"]).optional(), bodyContentAfterCall: z.string().optional(), dataManipulationListAfterCall: z.array(policyRestApiDataManipulationDef).optional(), removeAllHeadersAfterCall: z.boolean().optional(), headersToBeDeletedAfterCallList: z.array(z.string()).optional(), headersToBeAddedAfterCallList: z.array(policyRestApiHeader).optional(), removeAllParametersAfterCall: z.boolean().optional(), parametersToBeDeletedAfterCallList: z.array(z.string()).optional(), parametersToBeAddedAfterCallList: z.array(policyRestApiParameter).optional(), prepareMessage: z.boolean().optional(), modifyMessage: z.boolean().optional(), newBodyContentSourceType: z.enum(["VALUE", "VARIABLE"]).optional()}); export const policySaml = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), allowUnknownSigner: z.boolean().optional(), clearSaml: z.boolean().optional(), clearSamlPath: z.string().optional(), keyStoreId: z.string().optional()}); export const policyScript = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), executionType: z.enum(["SYNC", "ASYNC"]).optional(), scriptLanguage: z.enum(["GROOVY", "JAVASCRIPT"]).optional(), scriptBody: z.string().optional(), sync: z.boolean().optional()}); export const wsSecurityToTargetPart = z.object({name: z.string().optional(), namespace: z.string().optional(), encodeType: z.enum(["CONTENT", "ELEMENT"]).optional()}); export const policyWSSecuritySign = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), mustUnderstand: z.boolean().optional(), sigPartList: z.array(wsSecurityToTargetPart).optional(), sigCustomKeyIdentifier: z.string().optional(), sigCustomKeyIdentifierValueType: z.string().optional(), sigKeyIdType: z.enum(["BINARY_SECURITY_TOKEN", "ISSUER_NAME_AND_SERIAL_NUMBER", "X509_CERTIFICATE", "SUBJECT_KEY_IDENTIFIER", "THUMBPRINT_SHA1_IDENTIFIER", "EMBEDDED_KEY_INFO", "EMBED_SECURITY_TOKEN_REFERENCE", "CUSTOM_KEY_INFO"]).optional(), sigSigAlgorithm: z.enum(["RSA_SHA1", "RSA_SHA256", "RSA_SHA384", "RSA_SHA512", "DSA_SHA1", "DSA_SHA256", "ECDSA_SHA1", "ECDSA_SHA256", "ECDSA_SHA384", "ECDSA_SHA512", "HMAC_SHA1", "HMAC_SHA256", "HMAC_SHA384", "HMAC_SHA512"]).optional(), sigC14n: z.enum(["C14N_OMIT_COMMENTS", "C14N_WITH_COMMENTS", "C14N_EXCL_OMIT_COMMENTS", "C14N_EXCL_WITH_COMMENTS", "C14N_11_OMIT_COMMENTS", "C14N_11_WITH_COMMENTS"]).optional(), sigDigAlgorithm: z.enum(["SHA1", "SHA256", "SHA384", "SHA512", "HMAC_SHA1", "HMAC_SHA256", "HMAC_SHA384", "HMAC_SHA512", "HMAC_MD5", "MD5"]).optional(), sigUseSingleCert: z.boolean().optional(), sigWsiBSPCompliant: z.boolean().optional(), sigKeyStoreId: z.string().optional()}); export const policyWSSecuritySignValidation = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), enableEnhancedSignatureValidation: z.boolean().optional(), enableSignatureRemovalForDereferencing: z.boolean().optional(), allowCaseInsensitiveId: z.boolean().optional(), verKeyStoreId: z.string().optional(), removeSignature: z.boolean().optional()}); export const policyWsSecurityDecrypt = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), allowCaseInsensitiveId: z.boolean().optional(), decKeyStoreId: z.string().optional()}); export const policyWsSecurityEncrypt = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), mustUnderstand: z.boolean().optional(), encPartList: z.array(wsSecurityToTargetPart).optional(), encEmbeddedKeyName: z.string().optional(), encKeyIdType: z.enum(["BINARY_SECURITY_TOKEN", "ISSUER_NAME_AND_SERIAL_NUMBER", "X509_CERTIFICATE", "SUBJECT_KEY_IDENTIFIER", "THUMBPRINT_SHA1_IDENTIFIER", "EMBEDDED_KEY_INFO", "EMBED_SECURITY_TOKEN_REFERENCE", "CUSTOM_KEY_INFO"]).optional(), encSymEncAlgorithm: z.enum(["AES_128_CBC", "AES_192_CBC", "AES_256_CBC"]).optional(), encKeyEncAlgorithm: z.enum(["RSA", "OAEP"]).optional(), encKeyStoreId: z.string().optional()}); export const policyWsSecurityFromTarget = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), decExists: z.boolean().optional(), verExists: z.boolean().optional(), decKeyStoreId: z.string().optional(), verKeyStoreId: z.string().optional(), allowCaseInsensitiveId: z.boolean().optional()}); export const stsConfigurationUsernamePassword = z.object({id: z.number().int().optional(), condition: policyCondition.optional(), username: z.string().optional(), password: z.string().optional(), environmentIdList: z.array(z.string()).optional(), environmentNameList: z.array(z.string()).optional()}); export const soapApiMethodWsaSettings = z.object({wsaEnabled: z.boolean().optional(), wsaMustUnderstand: z.enum(["NONE", "TRUE", "FALSE"]).optional(), wsaVersion: z.enum(["V200408", "V200508"]).optional(), wsaAddDefaultAction: z.boolean().optional(), wsaAction: z.string().optional(), wsaAddDefaultTo: z.boolean().optional(), wsaTo: z.string().optional(), wsaReplyTo: z.string().optional(), wsaGenerateMessageId: z.boolean().optional(), wsaMessageId: z.string().optional(), wsaFrom: z.string().optional(), wsaFaultTo: z.string().optional(), wsaRelatesTo: z.string().optional(), wsaRelationShipType: z.string().optional()}); export const policyWsSecurityStsToken = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), configureIssueToken: z.boolean().optional(), apiEndPointURL: z.string().optional(), soapType: z.enum(["SOAP11", "SOAP12", "HTTP"]).optional(), tokenServiceName: z.string().optional(), tokenServicePortName: z.string().optional(), iwsTrust13Url: z.string().optional(), appliesToUrl: z.string().optional(), connectionTimeout: z.number().int().optional(), tokenCachePeriod: z.number().int().optional(), wsaMustUnderstand: z.enum(["NONE", "TRUE", "FALSE"]).optional(), stsUsernamePasswordList: z.array(stsConfigurationUsernamePassword).optional(), addNonceToUsernameToken: z.boolean().optional(), addCreatedToUsernameToken: z.boolean().optional(), passwordType: z.enum(["PasswordText", "PasswordDigest"]).optional(), wsaSettings: soapApiMethodWsaSettings.optional(), createdDateFormat: z.string().optional(), expiresDateFormat: z.string().optional(), expirationPeriod: z.number().int().optional(), tokenResponseMsg: z.string().optional()}); export const policyWsSecurityTimestamp = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), mustUnderstand: z.boolean().optional(), timeToLive: z.number().int().gte(0).optional()}); export const policyWsSecurityToTarget = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), mustUnderstand: z.boolean().optional(), tsTimeToLive: z.number().int().gte(0).optional(), unUsername: z.string().optional(), unPassword: z.string().optional(), unNonce: z.boolean().optional(), unCreated: z.boolean().optional(), unPasswordType: z.enum(["PasswordText", "PasswordDigest"]).optional(), encPartList: z.array(wsSecurityToTargetPart).optional(), sigPartList: z.array(wsSecurityToTargetPart).optional(), wsSecurityEntryOrderList: z.array(z.enum(["TIMESTAMP", "USERNAME_TOKEN", "ENCRYPTION", "SIGNATURE"])).optional(), encEmbeddedKeyName: z.string().optional(), encKeyIdType: z.enum(["BINARY_SECURITY_TOKEN", "ISSUER_NAME_AND_SERIAL_NUMBER", "X509_CERTIFICATE", "SUBJECT_KEY_IDENTIFIER", "THUMBPRINT_SHA1_IDENTIFIER", "EMBEDDED_KEY_INFO", "EMBED_SECURITY_TOKEN_REFERENCE", "CUSTOM_KEY_INFO"]).optional(), encSymEncAlgorithm: z.enum(["AES_128_CBC", "AES_192_CBC", "AES_256_CBC"]).optional(), encKeyEncAlgorithm: z.enum(["RSA", "OAEP"]).optional(), sigCustomKeyIdentifier: z.string().optional(), sigCustomKeyIdentifierValueType: z.string().optional(), sigKeyIdType: z.enum(["BINARY_SECURITY_TOKEN", "ISSUER_NAME_AND_SERIAL_NUMBER", "X509_CERTIFICATE", "SUBJECT_KEY_IDENTIFIER", "THUMBPRINT_SHA1_IDENTIFIER", "EMBEDDED_KEY_INFO", "EMBED_SECURITY_TOKEN_REFERENCE", "CUSTOM_KEY_INFO"]).optional(), sigSigAlgorithm: z.enum(["RSA_SHA1", "RSA_SHA256", "RSA_SHA384", "RSA_SHA512", "DSA_SHA1", "DSA_SHA256", "ECDSA_SHA1", "ECDSA_SHA256", "ECDSA_SHA384", "ECDSA_SHA512", "HMAC_SHA1", "HMAC_SHA256", "HMAC_SHA384", "HMAC_SHA512"]).optional(), sigC14n: z.enum(["C14N_OMIT_COMMENTS", "C14N_WITH_COMMENTS", "C14N_EXCL_OMIT_COMMENTS", "C14N_EXCL_WITH_COMMENTS", "C14N_11_OMIT_COMMENTS", "C14N_11_WITH_COMMENTS"]).optional(), sigDigAlgorithm: z.enum(["SHA1", "SHA256", "SHA384", "SHA512", "HMAC_SHA1", "HMAC_SHA256", "HMAC_SHA384", "HMAC_SHA512", "HMAC_MD5", "MD5"]).optional(), sigUseSingleCert: z.boolean().optional(), sigWsiBSPCompliant: z.boolean().optional(), encKeyStoreId: z.string().optional(), sigKeyStoreId: z.string().optional()}); export const policyWsSecurityUsername = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), mustUnderstand: z.boolean().optional(), username: z.string().optional(), password: z.string().optional(), passwordType: z.enum(["PasswordText", "PasswordDigest"]).optional(), nonce: z.boolean().optional(), created: z.boolean().optional()}); export const policyXmlSchemaValidation = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), pathForBody: z.string().optional(), validateAgainstSpec: z.boolean().optional(), showFirstErrorOnly: z.boolean().optional(), schemaDefinitionList: z.array(apiGwSchemaDefinition).optional()}); export const policyXmlTransformation = z.object({region: z.enum(["FROM_CLIENT", "TO_BACKEND", "FROM_BACKEND", "TO_CLIENT"]).optional(), id: z.string().optional(), projectId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), policyCondition: policyCondition.optional(), global: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), oneWay: z.boolean().optional(), trace: z.boolean().optional(), active: z.boolean().optional(), addToGlobal: z.boolean().optional(), policyLocation: z.enum(["API_PROXY_GROUP", "API_PROXY", "API_PROXY_METHOD"]).optional(), policyGroup: z.boolean().optional(), _class: z.string(), transformationType: z.enum(["XML2XML", "XML2JSON"]).optional(), xsltValue: z.string().optional(), xmlToJsonUnwrapElement: z.boolean().optional(), xmlToJsonIgnoreNull: z.boolean().optional(), xmlToJsonIgnoreEmpty: z.boolean().optional(), xmlToJsonNumbersAsStrings: z.boolean().optional(), xmlToJsonUseNullForNil: z.boolean().optional(), xmlToJsonArrayPathList: z.array(z.string()).optional()}); export const cacheSettings = z.object({name: z.string().optional(), description: z.string().optional(), cacheActive: z.boolean().optional(), cacheOnlyHttpGetRequests: z.boolean().optional(), cacheKeyType: z.enum(["QUERY_PARAMS", "CUSTOM"]).optional(), cacheStorageType: z.enum(["LOCAL", "DISTRIBUTED"]).optional(), variableList: z.array(variable).optional(), capacity: z.number().int().optional(), ttl: z.number().int().optional(), invalidationRequiresAuthn: z.boolean().optional(), cacheNullValue: z.boolean().optional(), handlingAction: z.enum(["CONTINUE", "STOP"]).optional(), cacheConnectionTimeoutInSeconds: z.number().int().optional()}); export const soapApiMethodWsrmSettings = z.object({wsrmEnabled: z.boolean().optional(), version: z.enum(["V1_0", "V1_1", "V1_2"]).optional(), ackTo: z.string().optional(), offerEndpoint: z.string().optional(), lastMessageId: z.number().int().optional(), sequenceExpires: z.number().int().optional(), sequenceIdentifier: z.string().optional(), uuid: z.string().optional(), versionNameSpace: z.string().optional()}); export const apiMethod = z.object({createdDate: z.string().optional(), id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), active: z.boolean().optional(), protocolTransformation: protocolTransformation.optional(), soapRequestMessagePartNameList: z.array(z.string()).optional(), soapAction: z.string().optional(), httpMethod: z.enum(["GET", "POST", "PUT", "HEAD", "OPTIONS", "DELETE", "PATCH", "TRACE", "ALL", "QUERY"]).optional(), grpcMethodType: z.enum(["BIDIRECTIONAL_STREAMING", "CLIENT_STREAMING", "SERVER_STREAMING", "UNARY"]).optional(), requestPolicyList: z.array(z.union([policyAiA2aAgentCall, policyAiA2aAgentInvoke, policyAiContextIntegrity, policyAiDlpGuard, policyAiGroundednessGuard, policyAiLoopGuard, policyAiMcpToolCall, policyAiMcpToolInvoke, policyAiPiiMask, policyAiPromptDecorator, policyAiPromptGuard, policyAiPromptTemplate, policyAiRagInjection, policyAiSemanticCache, policyAiTokenRateLimit, policyAiTopicGuard, policyAllowedHours, policyApiAuthentication, policyApiBasedQuota, policyApiBasedThrottling, policyBase64Authentication, policyBasicAuthentication, policyBusinessRule, policyCache, policyClientBanner, policyContentFilter, policyDecryption, policyDigestAuthentication, policyDigitalSign, policyDigitalSignVerification, policyEncryption, policyEndpointRateLimit, policyGroup, policyIpBlack, policyIpWhite, policyJoseImplementation, policyJoseValidation, policyJsonSchemaValidation, policyJsonTransformation, policyJwtAuthentication, policyLog, policyMTLSAuthentication, policyMaxMessageSize, policyMessageBuilder, policyMinMessageSize, policyOIDC, policyOauth2Authentication, policyRedaction, policyRest2SoapTransformationRequest, policyRest2SoapTransformationResponse, policyRestApi, policySaml, policyScript, policyWSSecuritySign, policyWSSecuritySignValidation, policyWsSecurityDecrypt, policyWsSecurityEncrypt, policyWsSecurityFromTarget, policyWsSecurityStsToken, policyWsSecurityTimestamp, policyWsSecurityToTarget, policyWsSecurityUsername, policyXmlSchemaValidation, policyXmlTransformation])).optional(), responsePolicyList: z.array(z.union([policyAiA2aAgentCall, policyAiA2aAgentInvoke, policyAiContextIntegrity, policyAiDlpGuard, policyAiGroundednessGuard, policyAiLoopGuard, policyAiMcpToolCall, policyAiMcpToolInvoke, policyAiPiiMask, policyAiPromptDecorator, policyAiPromptGuard, policyAiPromptTemplate, policyAiRagInjection, policyAiSemanticCache, policyAiTokenRateLimit, policyAiTopicGuard, policyAllowedHours, policyApiAuthentication, policyApiBasedQuota, policyApiBasedThrottling, policyBase64Authentication, policyBasicAuthentication, policyBusinessRule, policyCache, policyClientBanner, policyContentFilter, policyDecryption, policyDigestAuthentication, policyDigitalSign, policyDigitalSignVerification, policyEncryption, policyEndpointRateLimit, policyGroup, policyIpBlack, policyIpWhite, policyJoseImplementation, policyJoseValidation, policyJsonSchemaValidation, policyJsonTransformation, policyJwtAuthentication, policyLog, policyMTLSAuthentication, policyMaxMessageSize, policyMessageBuilder, policyMinMessageSize, policyOIDC, policyOauth2Authentication, policyRedaction, policyRest2SoapTransformationRequest, policyRest2SoapTransformationResponse, policyRestApi, policySaml, policyScript, policyWSSecuritySign, policyWSSecuritySignValidation, policyWsSecurityDecrypt, policyWsSecurityEncrypt, policyWsSecurityFromTarget, policyWsSecurityStsToken, policyWsSecurityTimestamp, policyWsSecurityToTarget, policyWsSecurityUsername, policyXmlSchemaValidation, policyXmlTransformation])).optional(), errorPolicyList: z.array(z.union([policyAiA2aAgentCall, policyAiA2aAgentInvoke, policyAiContextIntegrity, policyAiDlpGuard, policyAiGroundednessGuard, policyAiLoopGuard, policyAiMcpToolCall, policyAiMcpToolInvoke, policyAiPiiMask, policyAiPromptDecorator, policyAiPromptGuard, policyAiPromptTemplate, policyAiRagInjection, policyAiSemanticCache, policyAiTokenRateLimit, policyAiTopicGuard, policyAllowedHours, policyApiAuthentication, policyApiBasedQuota, policyApiBasedThrottling, policyBase64Authentication, policyBasicAuthentication, policyBusinessRule, policyCache, policyClientBanner, policyContentFilter, policyDecryption, policyDigestAuthentication, policyDigitalSign, policyDigitalSignVerification, policyEncryption, policyEndpointRateLimit, policyGroup, policyIpBlack, policyIpWhite, policyJoseImplementation, policyJoseValidation, policyJsonSchemaValidation, policyJsonTransformation, policyJwtAuthentication, policyLog, policyMTLSAuthentication, policyMaxMessageSize, policyMessageBuilder, policyMinMessageSize, policyOIDC, policyOauth2Authentication, policyRedaction, policyRest2SoapTransformationRequest, policyRest2SoapTransformationResponse, policyRestApi, policySaml, policyScript, policyWSSecuritySign, policyWSSecuritySignValidation, policyWsSecurityDecrypt, policyWsSecurityEncrypt, policyWsSecurityFromTarget, policyWsSecurityStsToken, policyWsSecurityTimestamp, policyWsSecurityToTarget, policyWsSecurityUsername, policyXmlSchemaValidation, policyXmlTransformation])).optional(), cacheSettings: cacheSettings.optional(), soapApiMethodWsaSettings: soapApiMethodWsaSettings.optional(), soapApiMethodWsrmSettings: soapApiMethodWsrmSettings.optional(), backendResourceUrl: z.string().optional(), backendHttpMethod: z.enum(["GET", "POST", "PUT", "HEAD", "OPTIONS", "DELETE", "PATCH", "TRACE", "ALL", "QUERY"]).optional(), enableDownload: z.boolean().optional(), useBase64TextForCompressedResponse: z.boolean().optional(), hiddenInSpecFile: z.boolean().optional(), uvsRequestDataElementUuid: z.string().optional(), uvsResponseDataElementUuid: z.string().optional(), skipForReparse: z.boolean().optional(), hasRequestPoliciesComputed: z.boolean().optional(), hasResponsePoliciesComputed: z.boolean().optional(), rateLimitExistFirst: z.boolean().optional(), rateLimitExistLast: z.boolean().optional()}); export const testHelper = z.object({testType: z.enum(["PROXY", "PROXY_GROUP", "API", "RESOURCE", "SWAGGER", "OPENAPI", "WADL", "WSDL"]).optional(), serviceUrl: z.string().optional(), apiMethodList: z.array(apiMethod).optional(), selectedApiMethod: apiMethod.optional(), envId: z.string().optional()}); export const testItem = z.object({id: z.string().optional(), referenceId: z.string().optional(), name: z.string().optional(), description: z.string().optional(), createdDate: z.string().optional(), projectId: z.string().optional(), parentTestCollectionId: z.string().optional(), parentTestCollectionName: z.string().optional(), apiProxyID: z.string().optional(), apiProxyRevision: z.number().int().optional(), specApiId: z.string().optional(), specApi: specApi.optional(), envId: z.string().optional(), apiMethodID: z.string().optional(), proxyGroupId: z.string().optional(), backUpUrl: z.string().optional(), testHistoryMode: z.boolean().optional(), testCase: testCase.optional(), testType: z.enum(["PROXY", "PROXY_GROUP", "API", "RESOURCE", "SWAGGER", "OPENAPI", "WADL", "WSDL"]).optional(), apiType: z.enum(["SOAP", "REST", "GRPC", "WEBSOCKET", "AI", "MCP", "A2A"]).optional(), testHelper: testHelper.optional(), requestBodyTruncated: z.boolean().optional(), requestBodyTruncationReason: z.string().optional()}); export const connectorApiCall = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), testItem: testItem.optional()}); export const connectorDbInsertUpdateDelete = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), content: z.string().optional(), enableApiProxyTrafficLogSettingDetail: z.boolean().optional(), apiProxyTrafficLogSettingDetail: connectorLogSettings.optional(), enableApiProxyTrafficPrivacySetting: z.boolean().optional(), apiProxyTrafficPrivacySettings: aPIProxyTrafficPrivacySettings.optional(), enableLogDisabledFieldsOnBlock: z.boolean().optional(), enableLogDisabledFieldsOnFailure: z.boolean().optional(), enableExportAll: z.boolean().optional(), enableFailoverConnector: z.boolean().optional(), failoverExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), failoverConnectionId: z.string().optional(), failoverDatabaseType: z.enum(["ORACLE", "MYSQL", "POSTGRES", "SQL_SERVER", "SYBASE", "DB2", "APACHE_HIVE", "APACHE_IMPALA", "MONGODB", "TRINO"]).optional(), statement: z.string().optional(), connectionPoolDefDbId: z.string().optional(), parameterList: z.array(databaseParameter).optional(), queryTimeout: z.number().int().optional(), exampleResponse: z.string().optional(), parsed: z.boolean().optional(), databaseType: z.enum(["ORACLE", "MYSQL", "POSTGRES", "SQL_SERVER", "SYBASE", "DB2", "APACHE_HIVE", "APACHE_IMPALA", "MONGODB", "TRINO"]).optional()}); export const connectorDbSelect = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), content: z.string().optional(), enableApiProxyTrafficLogSettingDetail: z.boolean().optional(), apiProxyTrafficLogSettingDetail: connectorLogSettings.optional(), enableApiProxyTrafficPrivacySetting: z.boolean().optional(), apiProxyTrafficPrivacySettings: aPIProxyTrafficPrivacySettings.optional(), enableLogDisabledFieldsOnBlock: z.boolean().optional(), enableLogDisabledFieldsOnFailure: z.boolean().optional(), enableExportAll: z.boolean().optional(), enableFailoverConnector: z.boolean().optional(), failoverExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), failoverConnectionId: z.string().optional(), failoverDatabaseType: z.enum(["ORACLE", "MYSQL", "POSTGRES", "SQL_SERVER", "SYBASE", "DB2", "APACHE_HIVE", "APACHE_IMPALA", "MONGODB", "TRINO"]).optional(), statement: z.string().optional(), connectionPoolDefDbId: z.string().optional(), parameterList: z.array(databaseParameter).optional(), queryTimeout: z.number().int().optional(), exampleResponse: z.string().optional(), parsed: z.boolean().optional(), databaseType: z.enum(["ORACLE", "MYSQL", "POSTGRES", "SQL_SERVER", "SYBASE", "DB2", "APACHE_HIVE", "APACHE_IMPALA", "MONGODB", "TRINO"]).optional()}); export const connectorDbStoredProcedure = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), content: z.string().optional(), enableApiProxyTrafficLogSettingDetail: z.boolean().optional(), apiProxyTrafficLogSettingDetail: connectorLogSettings.optional(), enableApiProxyTrafficPrivacySetting: z.boolean().optional(), apiProxyTrafficPrivacySettings: aPIProxyTrafficPrivacySettings.optional(), enableLogDisabledFieldsOnBlock: z.boolean().optional(), enableLogDisabledFieldsOnFailure: z.boolean().optional(), enableExportAll: z.boolean().optional(), enableFailoverConnector: z.boolean().optional(), failoverExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), failoverConnectionId: z.string().optional(), failoverDatabaseType: z.enum(["ORACLE", "MYSQL", "POSTGRES", "SQL_SERVER", "SYBASE", "DB2", "APACHE_HIVE", "APACHE_IMPALA", "MONGODB", "TRINO"]).optional(), statement: z.string().optional(), connectionPoolDefDbId: z.string().optional(), parameterList: z.array(databaseParameter).optional(), queryTimeout: z.number().int().optional(), exampleResponse: z.string().optional(), parsed: z.boolean().optional(), databaseType: z.enum(["ORACLE", "MYSQL", "POSTGRES", "SQL_SERVER", "SYBASE", "DB2", "APACHE_HIVE", "APACHE_IMPALA", "MONGODB", "TRINO"]).optional()}); export const connectorElasticSearchIndex = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), content: z.string().optional(), enableApiProxyTrafficLogSettingDetail: z.boolean().optional(), apiProxyTrafficLogSettingDetail: connectorLogSettings.optional(), enableApiProxyTrafficPrivacySetting: z.boolean().optional(), apiProxyTrafficPrivacySettings: aPIProxyTrafficPrivacySettings.optional(), enableLogDisabledFieldsOnBlock: z.boolean().optional(), enableLogDisabledFieldsOnFailure: z.boolean().optional(), enableExportAll: z.boolean().optional(), enableFailoverConnector: z.boolean().optional(), failoverExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), failoverConnectionId: z.string().optional(), failoverDatabaseType: z.enum(["ORACLE", "MYSQL", "POSTGRES", "SQL_SERVER", "SYBASE", "DB2", "APACHE_HIVE", "APACHE_IMPALA", "MONGODB", "TRINO"]).optional(), connectionConfigElasticsearchId: z.string().optional()}); export const connectorFtpListFile = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), connectionConfigFtpId: z.string().optional(), caseInsensitive: z.boolean().optional(), searchType: z.enum(["starts_with", "exact_match", "contains", "ends_with", "wildcard"]).optional(), searchPattern: z.string().optional(), returnType: z.enum(["first_match", "all_matches"]).optional(), maxFileSizeKB: z.number().int().optional()}); export const connectorFtpReadFile = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), connectionConfigFtpId: z.string().optional(), caseInsensitive: z.boolean().optional(), searchType: z.enum(["starts_with", "exact_match", "contains", "ends_with", "wildcard"]).optional(), searchPattern: z.string().optional(), returnType: z.enum(["first_match", "all_matches"]).optional(), outputFormat: z.enum(["mtom", "json_base64", "zip"]).optional(), maxFileSizeKB: z.number().int().optional()}); export const connectorGraylogSend = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), content: z.string().optional(), enableApiProxyTrafficLogSettingDetail: z.boolean().optional(), apiProxyTrafficLogSettingDetail: connectorLogSettings.optional(), enableApiProxyTrafficPrivacySetting: z.boolean().optional(), apiProxyTrafficPrivacySettings: aPIProxyTrafficPrivacySettings.optional(), enableLogDisabledFieldsOnBlock: z.boolean().optional(), enableLogDisabledFieldsOnFailure: z.boolean().optional(), enableExportAll: z.boolean().optional(), enableFailoverConnector: z.boolean().optional(), failoverExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), failoverConnectionId: z.string().optional(), failoverDatabaseType: z.enum(["ORACLE", "MYSQL", "POSTGRES", "SQL_SERVER", "SYBASE", "DB2", "APACHE_HIVE", "APACHE_IMPALA", "MONGODB", "TRINO"]).optional(), connectionConfigGraylogId: z.string().optional()}); export const connectorKafkaSend = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), content: z.string().optional(), enableApiProxyTrafficLogSettingDetail: z.boolean().optional(), apiProxyTrafficLogSettingDetail: connectorLogSettings.optional(), enableApiProxyTrafficPrivacySetting: z.boolean().optional(), apiProxyTrafficPrivacySettings: aPIProxyTrafficPrivacySettings.optional(), enableLogDisabledFieldsOnBlock: z.boolean().optional(), enableLogDisabledFieldsOnFailure: z.boolean().optional(), enableExportAll: z.boolean().optional(), enableFailoverConnector: z.boolean().optional(), failoverExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), failoverConnectionId: z.string().optional(), failoverDatabaseType: z.enum(["ORACLE", "MYSQL", "POSTGRES", "SQL_SERVER", "SYBASE", "DB2", "APACHE_HIVE", "APACHE_IMPALA", "MONGODB", "TRINO"]).optional(), connectionConfigKafkaId: z.string().optional()}); export const connectorLinuxScript = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), script: z.string().optional(), connectionConfigId: z.string().optional()}); export const connectorLogBackAppend = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), content: z.string().optional(), enableApiProxyTrafficLogSettingDetail: z.boolean().optional(), apiProxyTrafficLogSettingDetail: connectorLogSettings.optional(), enableApiProxyTrafficPrivacySetting: z.boolean().optional(), apiProxyTrafficPrivacySettings: aPIProxyTrafficPrivacySettings.optional(), enableLogDisabledFieldsOnBlock: z.boolean().optional(), enableLogDisabledFieldsOnFailure: z.boolean().optional(), enableExportAll: z.boolean().optional(), enableFailoverConnector: z.boolean().optional(), failoverExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), failoverConnectionId: z.string().optional(), failoverDatabaseType: z.enum(["ORACLE", "MYSQL", "POSTGRES", "SQL_SERVER", "SYBASE", "DB2", "APACHE_HIVE", "APACHE_IMPALA", "MONGODB", "TRINO"]).optional(), connectionConfigLogbackId: z.string().optional()}); export const connectorMailSend = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), connectionConfigEmailId: z.string().optional(), from: z.string().optional(), toList: z.array(z.string()).optional(), subject: z.string().optional(), content: z.string().optional(), html: z.boolean().optional(), highImportance: z.boolean().optional()}); export const connectorNotification = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), allUser: z.boolean().optional(), targetUserList: z.array(z.string()).optional(), title: z.string().optional(), message: z.string().optional(), type: z.enum(["INFO", "WARN", "ERROR"]).optional()}); export const connectorOpsgenieAlertCreateV2 = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), connectionConfigId: z.string().optional(), message: z.string().optional()}); export const connectorRabbitMqSend = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), content: z.string().optional(), enableApiProxyTrafficLogSettingDetail: z.boolean().optional(), apiProxyTrafficLogSettingDetail: connectorLogSettings.optional(), enableApiProxyTrafficPrivacySetting: z.boolean().optional(), apiProxyTrafficPrivacySettings: aPIProxyTrafficPrivacySettings.optional(), enableLogDisabledFieldsOnBlock: z.boolean().optional(), enableLogDisabledFieldsOnFailure: z.boolean().optional(), enableExportAll: z.boolean().optional(), enableFailoverConnector: z.boolean().optional(), failoverExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), failoverConnectionId: z.string().optional(), failoverDatabaseType: z.enum(["ORACLE", "MYSQL", "POSTGRES", "SQL_SERVER", "SYBASE", "DB2", "APACHE_HIVE", "APACHE_IMPALA", "MONGODB", "TRINO"]).optional(), connectionConfigRabbitMqId: z.string().optional()}); export const connectorSNMP = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), connectionConfigSNMPId: z.string().optional(), message: z.string().optional()}); export const connectorScript = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), scriptType: z.enum(["GROOVY", "JAVASCRIPT"]).optional(), script: z.string().optional()}); export const connectorSyslogSend = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), content: z.string().optional(), enableApiProxyTrafficLogSettingDetail: z.boolean().optional(), apiProxyTrafficLogSettingDetail: connectorLogSettings.optional(), enableApiProxyTrafficPrivacySetting: z.boolean().optional(), apiProxyTrafficPrivacySettings: aPIProxyTrafficPrivacySettings.optional(), enableLogDisabledFieldsOnBlock: z.boolean().optional(), enableLogDisabledFieldsOnFailure: z.boolean().optional(), enableExportAll: z.boolean().optional(), enableFailoverConnector: z.boolean().optional(), failoverExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), failoverConnectionId: z.string().optional(), failoverDatabaseType: z.enum(["ORACLE", "MYSQL", "POSTGRES", "SQL_SERVER", "SYBASE", "DB2", "APACHE_HIVE", "APACHE_IMPALA", "MONGODB", "TRINO"]).optional(), connectionConfigSyslogId: z.string().optional()}); export const connectorWebhookSend = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional(), _class: z.string(), content: z.string().optional(), enableApiProxyTrafficLogSettingDetail: z.boolean().optional(), apiProxyTrafficLogSettingDetail: connectorLogSettings.optional(), enableApiProxyTrafficPrivacySetting: z.boolean().optional(), apiProxyTrafficPrivacySettings: aPIProxyTrafficPrivacySettings.optional(), enableLogDisabledFieldsOnBlock: z.boolean().optional(), enableLogDisabledFieldsOnFailure: z.boolean().optional(), enableExportAll: z.boolean().optional(), enableFailoverConnector: z.boolean().optional(), failoverExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), failoverConnectionId: z.string().optional(), failoverDatabaseType: z.enum(["ORACLE", "MYSQL", "POSTGRES", "SQL_SERVER", "SYBASE", "DB2", "APACHE_HIVE", "APACHE_IMPALA", "MONGODB", "TRINO"]).optional(), connectionConfigWebhookId: z.string().optional()}); export const jobRecord = z.object({jobName: z.string().optional(), cronExpression: z.string().optional(), scheduleTime: z.string().optional(), lastFiredTime: z.string().optional(), groupName: z.string().optional(), endDateTimeValue: z.string().optional(), jobStatus: z.string().optional(), nextFireTime: z.string().optional(), startDateTimeValue: z.string().optional(), enumJobStatus: z.enum(["NONE", "START", "PAUSE", "DELETE", "RESUME", "STOP"]).optional(), jobClassName: z.string().optional(), aiJob: z.boolean().optional(), name: z.string().optional()}); export const nameIdTypeDto = z.object({id: z.string().optional(), name: z.string().optional(), type: z.string().optional()}); export const taskFlowManager: z.ZodType = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), projectId: z.string().optional(), enumMonitorLogRetention: z.enum(["ONE_DAY", "THREE_DAY", "FIVE_DAY", "THIRTY_DAY", "NO_LIMIT"]).optional(), executableList: z.array(z.union([connectorActiveMqSend, connectorApiCall, connectorDbInsertUpdateDelete, connectorDbSelect, connectorDbStoredProcedure, connectorElasticSearchIndex, connectorFtpListFile, connectorFtpReadFile, connectorGraylogSend, connectorKafkaSend, connectorLinuxScript, connectorLogBackAppend, connectorMailSend, connectorNotification, connectorOpsgenieAlertCreateV2, connectorRabbitMqSend, connectorSNMP, connectorScript, connectorSyslogSend, connectorWebhookSend, z.lazy(() => taskFlowManager)])).optional(), failureActionList: z.array(z.union([connectorActiveMqSend, connectorApiCall, connectorDbInsertUpdateDelete, connectorDbSelect, connectorDbStoredProcedure, connectorElasticSearchIndex, connectorFtpListFile, connectorFtpReadFile, connectorGraylogSend, connectorKafkaSend, connectorLinuxScript, connectorLogBackAppend, connectorMailSend, connectorNotification, connectorOpsgenieAlertCreateV2, connectorRabbitMqSend, connectorSNMP, connectorScript, connectorSyslogSend, connectorWebhookSend, z.lazy(() => taskFlowManager)])).optional(), token: z.string().optional(), jobRecord: jobRecord.optional(), scheduleState: z.string().optional(), tmpNameIdType: nameIdTypeDto.optional(), type: z.string().optional(), enableEndpoint: z.boolean().optional(), connectionId: z.string().optional()}); export const connector = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), enabled: z.boolean().optional(), enumExecutableType: z.enum(["API_CALL", "DB_INSERT_UPDATE_DELETE", "DB_SELECT", "DB_STORED_PROCEDURE", "ELASTICSEARCH_INDEX", "MAIL_SEND", "KAFKA_SEND", "GRAYLOG_SEND", "LINUX_SCRIPT", "NOTIFICATION", "OPSGENIE_ALERT_CREATE_V2", "RABBITMQ_SEND", "ACTIVEMQ_SEND", "LOGBACK_APPEND", "SCRIPT", "SNMP", "SYSLOG_SEND", "WEBHOOK_SEND", "FTP_READ_FILE", "FTP_LIST_FILE", "TASK_FLOW_MANAGER"]).optional(), outputKey: z.string().optional(), runTaskForOnce: z.boolean().optional(), continueOnFail: z.boolean().optional(), jsonPathXPathSyntax: z.string().optional(), enableTrace: z.boolean().optional(), connectionId: z.string().optional()}); export const routing = z.object({routingEnabled: z.boolean().optional(), mirrorEnabled: z.boolean().optional(), echoEnabled: z.boolean().optional(), mirrorRespectCircuitBreaker: z.boolean().optional(), enumRoutingAlgorithm: z.enum(["ROUND_ROBIN", "LRU", "WEIGHTED", "RANDOM", "PICK_FIRST"]).optional(), loadBalanceAlgorithm: z.enum(["SINGLE", "DISTRIBUTED"]).optional(), routingAddressWrapperList: z.array(routingAddressWrapper).optional(), connectionSettingsEnabled: z.boolean().optional(), connectionPoolManagementType: z.enum(["GENERAL", "CUSTOM", "NONE"]).optional(), customConnectionPoolSize: z.number().int().optional(), validateAfterInactivity: z.number().int().optional(), idleConnectionTimeout: z.number().int().optional(), connectTimeout: z.number().int().optional(), readTimeout: z.number().int().optional(), connectionRequestTimeout: z.number().int().optional(), redirectsEnabled: z.boolean().optional(), maxRedirects: z.number().int().optional(), relativeRedirectsAllowed: z.boolean().optional(), preserveHttpMethodOnRedirect: z.boolean().optional(), retryCount: z.number().int().optional(), failoverRetryCount: z.number().int().optional(), retryDelayType: z.enum(["NO_DELAY", "FIXED", "EXPONENTIAL"]).optional(), retryFixedDelayMs: z.number().int().optional(), retryInitialDelayMs: z.number().int().optional(), retryMaxDelayMs: z.number().int().optional(), retryBackoffMultiplier: z.number().optional(), stickySessionEnabled: z.boolean().optional(), stickyType: z.enum(["COOKIE_ONLY", "IP_HASH", "HYBRID"]).optional(), stickyCookieName: z.string().optional(), stickyCookieTtl: z.number().int().optional(), stickyCookieSecure: z.boolean().optional(), stickyCookieHttpOnly: z.boolean().optional(), stickyHashSecret: z.string().optional(), healthMonitoringCustomizationEnabled: z.boolean().optional(), healthCheckIntervalSeconds: z.number().int().optional(), healthCheckTimeoutSeconds: z.number().int().optional(), healthCheckFailThreshold: z.number().int().optional(), healthCheckPassThreshold: z.number().int().optional(), trafficMirrorEnabled: z.boolean().optional(), mirrorPercentage: z.number().int().optional(), mirrorIgnoreCircuitBreaker: z.boolean().optional(), canarySettings: canaryReleaseSettings.optional(), failoverOnlyEnabled: z.boolean().optional(), ignoreRoutingError: z.boolean().optional(), errorHandlingType: z.enum(["DEFAULT", "ADVANCED", "STATUS_CODE_LIST"]).optional(), statusCodeList: z.array(z.number().int()).optional(), policyConditionForErrorHandling: policyCondition.optional(), hopByHopHeaders: z.array(z.string()).optional(), sendUserAgentToBackend: z.boolean().optional(), doNotRouteZeroValueContentLength: z.boolean().optional(), enableStreaming: z.boolean().optional(), httpVersionPolicy: z.enum(["HTTP_1_1", "HTTP_2", "HTTP_2_PRIOR_KNOWLEDGE"]).optional(), userAgentValue: z.string().optional(), circuitBreakerEnabled: z.boolean().optional(), errorWindow: z.number().int().optional(), errorThresholdValue: z.number().int().optional(), enumErrorThresholdType: z.enum(["COUNT", "PERCENT"]).optional(), sleepWindow: z.number().int().optional(), halfOpenEnabled: z.boolean().optional(), proxyEnabled: z.boolean().optional(), proxyFromHeaderEnabled: z.boolean().optional(), proxyHost: z.string().optional(), proxyPort: z.number().int().optional(), proxyAuthorizationNeeded: z.boolean().optional(), proxyUsername: z.string().optional(), proxyPassword: z.string().optional(), enableDownload: z.boolean().optional(), useBase64TextForCompressedResponse: z.boolean().optional(), requestCharsetOverride: z.string().optional(), responseCharsetOverride: z.string().optional(), requestDecompressOverride: z.enum(["GZIP", "DEFLATE", "BR", "ZSTD", "NOT_APPLY", "MIRROR_SERVER_RESPONSE", "AUTO_BY_CLIENT_ACCEPT_ENCODING"]).optional(), requestCompressOverride: z.enum(["GZIP", "DEFLATE", "BR", "ZSTD", "NOT_APPLY", "MIRROR_SERVER_RESPONSE", "AUTO_BY_CLIENT_ACCEPT_ENCODING"]).optional(), responseDecompressOverride: z.enum(["GZIP", "DEFLATE", "BR", "ZSTD", "NOT_APPLY", "MIRROR_SERVER_RESPONSE", "AUTO_BY_CLIENT_ACCEPT_ENCODING"]).optional(), responseCompressOverride: z.enum(["GZIP", "DEFLATE", "BR", "ZSTD", "NOT_APPLY", "MIRROR_SERVER_RESPONSE", "AUTO_BY_CLIENT_ACCEPT_ENCODING"]).optional(), queryEncodingMode: z.enum(["STANDARD", "RFC3986", "PASSTHROUGH"]).optional(), customizeErrorMessageEnabled: z.boolean().optional(), errorMessageList: z.array(errorMessage).optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), routingMTLSSettings: routingMTLSSettings.optional(), routingNTLMSettings: routingNTLMSettings.optional(), fixSoapApiPortType: z.boolean().optional(), routingGrpcSettings: routingGrpcSettings.optional(), routingWebsocketSettings: routingWebsocketSettings.optional(), disableSslValidation: z.boolean().optional(), kpsSettings: kpsSettings.optional(), dbToApi: dbToApi.optional(), scriptToApi: scriptToApi.optional(), mockApi: mockApi.optional(), taskFlowManagerToApi: taskFlowManager.optional(), connector: connector.optional(), connectionPoolManagementTypeGeneral: z.boolean().optional(), connectionPoolManagementTypeCustom: z.boolean().optional(), resolvedUserAgentValue: z.string().optional(), connectionPoolManagementTypeNone: z.boolean().optional(), resolvedStickyCookieName: z.string().optional(), resolvedProxyHost: z.string().optional(), resolvedProxyUsername: z.string().optional()}); export const apiProxyDeploy = z.object({environmentSettingsId: z.string().optional(), environmentName: z.string().optional(), environmentType: z.enum(["PRODUCTION", "SANDBOX", "TEST"]).optional(), environmentCommunicationProtocolType: z.enum(["HTTP", "GRPC", "WEBSOCKET"]).optional(), accessUrl: z.string().optional(), deploy: z.boolean().optional(), redeployRequired: z.boolean().optional()}); export const apiProxyForPromotionDTO = z.object({id: z.string().optional(), name: z.string().optional(), description: z.string().optional(), type: z.enum(["SOAP", "REST", "GRPC", "WEBSOCKET", "AI", "MCP", "A2A"]).optional(), protocolTransformation: z.boolean().optional(), enumProxyCreationType: z.enum(["WSDL", "WADL", "SWAGGER", "OPEN_API", "FAKE_API", "MIRROR_API", "KPS_API", "NOTER_API", "API_CREATOR_DB", "EMPTY_API", "API_CREATOR_SCRIPT", "API_CREATOR_MOCK", "REVERSE_PROXY", "TASK_FLOW_MANAGER", "HEART_BEAT_MONITOR", "CONNECTOR", "GRPC_PROTO", "GRPC", "WEBSOCKET"]).optional(), relativePath: z.string().optional(), clientRoute: clientRoute.optional(), routing: routing.optional(), categoryList: z.array(z.string()).optional(), apiProxyDeployList: z.array(apiProxyDeploy).optional()}); export const apiOpsResponseApiProxyForPromotion = z.object({status: z.enum(["SUCCESS", "FAILURE"]).optional(), resultMessage: z.string().optional(), resultList: z.array(apiProxyForPromotionDTO).optional(), resultCount: z.number().int().optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Get All API Proxies for Promotion * * GET /apiops/projects/{projectName}/apiProxies/forpromotion */ export const getApiApiopsProjectsProjectNameApiProxiesForpromotion = async (args: GetApiApiopsProjectsProjectNameApiProxiesForpromotionArgs, options?: GetApiApiopsProjectsProjectNameApiProxiesForpromotionOptions) => { const {baseUrl = "http://167.86.118.166:32080", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") const url = `${baseUrl.replace(/\/+$/, '')}/apiops/projects/${encodeURIComponent(String(args.projectName))}/apiProxies/forpromotion${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(apiOpsResponseApiProxyForPromotion, await res.json()) };