1. Packages
  2. Oracle Cloud Infrastructure
  3. API Docs
  4. ApiGateway
  5. Deployment
Oracle Cloud Infrastructure v2.17.0 published on Friday, Nov 15, 2024 by Pulumi

oci.ApiGateway.Deployment

Explore with Pulumi AI

oci logo
Oracle Cloud Infrastructure v2.17.0 published on Friday, Nov 15, 2024 by Pulumi

    This resource provides the Deployment resource in Oracle Cloud Infrastructure API Gateway service.

    Creates a new deployment.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as oci from "@pulumi/oci";
    
    const testDeployment = new oci.apigateway.Deployment("test_deployment", {
        compartmentId: compartmentId,
        gatewayId: testGateway.id,
        pathPrefix: deploymentPathPrefix,
        specification: {
            loggingPolicies: {
                accessLog: {
                    isEnabled: deploymentSpecificationLoggingPoliciesAccessLogIsEnabled,
                },
                executionLog: {
                    isEnabled: deploymentSpecificationLoggingPoliciesExecutionLogIsEnabled,
                    logLevel: deploymentSpecificationLoggingPoliciesExecutionLogLogLevel,
                },
            },
            requestPolicies: {
                authentication: {
                    type: deploymentSpecificationRequestPoliciesAuthenticationType,
                    audiences: deploymentSpecificationRequestPoliciesAuthenticationAudiences,
                    cacheKeys: deploymentSpecificationRequestPoliciesAuthenticationCacheKey,
                    functionId: testFunction.id,
                    isAnonymousAccessAllowed: deploymentSpecificationRequestPoliciesAuthenticationIsAnonymousAccessAllowed,
                    issuers: deploymentSpecificationRequestPoliciesAuthenticationIssuers,
                    maxClockSkewInSeconds: deploymentSpecificationRequestPoliciesAuthenticationMaxClockSkewInSeconds,
                    parameters: deploymentSpecificationRequestPoliciesAuthenticationParameters,
                    publicKeys: {
                        type: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysType,
                        isSslVerifyDisabled: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysIsSslVerifyDisabled,
                        keys: [{
                            format: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysFormat,
                            alg: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysAlg,
                            e: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysE,
                            key: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKey,
                            keyOps: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKeyOps,
                            kid: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKid,
                            kty: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKty,
                            n: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysN,
                            use: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysUse,
                        }],
                        maxCacheDurationInHours: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysMaxCacheDurationInHours,
                        uri: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysUri,
                    },
                    tokenAuthScheme: deploymentSpecificationRequestPoliciesAuthenticationTokenAuthScheme,
                    tokenHeader: deploymentSpecificationRequestPoliciesAuthenticationTokenHeader,
                    tokenQueryParam: deploymentSpecificationRequestPoliciesAuthenticationTokenQueryParam,
                    validationFailurePolicy: {
                        type: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyType,
                        clientDetails: {
                            type: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsType,
                            clientId: testClient.id,
                            clientSecretId: testSecret.id,
                            clientSecretVersionNumber: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsClientSecretVersionNumber,
                        },
                        fallbackRedirectPath: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyFallbackRedirectPath,
                        logoutPath: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyLogoutPath,
                        maxExpiryDurationInHours: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyMaxExpiryDurationInHours,
                        responseCode: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseCode,
                        responseHeaderTransformations: {
                            filterHeaders: {
                                items: [{
                                    name: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemsName,
                                }],
                                type: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersType,
                            },
                            renameHeaders: {
                                items: [{
                                    from: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsFrom,
                                    to: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsTo,
                                }],
                            },
                            setHeaders: {
                                items: [{
                                    ifExists: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsIfExists,
                                    name: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsName,
                                    values: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsValues,
                                }],
                            },
                        },
                        responseMessage: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseMessage,
                        responseType: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseType,
                        scopes: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyScopes,
                        sourceUriDetails: {
                            type: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsType,
                            uri: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsUri,
                        },
                        useCookiesForIntermediateSteps: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUseCookiesForIntermediateSteps,
                        useCookiesForSession: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUseCookiesForSession,
                        usePkce: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUsePkce,
                    },
                    validationPolicy: {
                        type: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyType,
                        additionalValidationPolicy: {
                            audiences: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyAudiences,
                            issuers: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyIssuers,
                            verifyClaims: [{
                                isRequired: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsIsRequired,
                                key: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsKey,
                                values: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsValues,
                            }],
                        },
                        clientDetails: {
                            type: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsType,
                            clientId: testClient.id,
                            clientSecretId: testSecret.id,
                            clientSecretVersionNumber: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsClientSecretVersionNumber,
                        },
                        isSslVerifyDisabled: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyIsSslVerifyDisabled,
                        keys: [{
                            format: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysFormat,
                            alg: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysAlg,
                            e: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysE,
                            key: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKey,
                            keyOps: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKeyOps,
                            kid: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKid,
                            kty: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKty,
                            n: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysN,
                            use: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysUse,
                        }],
                        maxCacheDurationInHours: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyMaxCacheDurationInHours,
                        sourceUriDetails: {
                            type: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsType,
                            uri: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsUri,
                        },
                        uri: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyUri,
                    },
                    verifyClaims: [{
                        isRequired: deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsIsRequired,
                        key: deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsKey,
                        values: deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsValues,
                    }],
                },
                cors: {
                    allowedOrigins: deploymentSpecificationRequestPoliciesCorsAllowedOrigins,
                    allowedHeaders: deploymentSpecificationRequestPoliciesCorsAllowedHeaders,
                    allowedMethods: deploymentSpecificationRequestPoliciesCorsAllowedMethods,
                    exposedHeaders: deploymentSpecificationRequestPoliciesCorsExposedHeaders,
                    isAllowCredentialsEnabled: deploymentSpecificationRequestPoliciesCorsIsAllowCredentialsEnabled,
                    maxAgeInSeconds: deploymentSpecificationRequestPoliciesCorsMaxAgeInSeconds,
                },
                dynamicAuthentication: {
                    authenticationServers: [{
                        authenticationServerDetail: {
                            type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailType,
                            audiences: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailAudiences,
                            functionId: testFunction.id,
                            isAnonymousAccessAllowed: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailIsAnonymousAccessAllowed,
                            issuers: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailIssuers,
                            maxClockSkewInSeconds: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailMaxClockSkewInSeconds,
                            publicKeys: {
                                type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysType,
                                isSslVerifyDisabled: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysIsSslVerifyDisabled,
                                keys: [{
                                    format: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysFormat,
                                    alg: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysAlg,
                                    e: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysE,
                                    key: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKey,
                                    keyOps: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKeyOps,
                                    kid: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKid,
                                    kty: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKty,
                                    n: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysN,
                                    use: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysUse,
                                }],
                                maxCacheDurationInHours: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysMaxCacheDurationInHours,
                                uri: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysUri,
                            },
                            tokenAuthScheme: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailTokenAuthScheme,
                            tokenHeader: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailTokenHeader,
                            tokenQueryParam: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailTokenQueryParam,
                            validationFailurePolicy: {
                                type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyType,
                                clientDetails: {
                                    type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyClientDetailsType,
                                    clientId: testClient.id,
                                    clientSecretId: testSecret.id,
                                    clientSecretVersionNumber: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyClientDetailsClientSecretVersionNumber,
                                },
                                fallbackRedirectPath: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyFallbackRedirectPath,
                                logoutPath: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyLogoutPath,
                                maxExpiryDurationInHours: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyMaxExpiryDurationInHours,
                                responseCode: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseCode,
                                responseHeaderTransformations: {
                                    filterHeaders: {
                                        items: [{
                                            name: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemsName,
                                        }],
                                        type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersType,
                                    },
                                    renameHeaders: {
                                        items: [{
                                            from: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsFrom,
                                            to: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsTo,
                                        }],
                                    },
                                    setHeaders: {
                                        items: [{
                                            ifExists: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsIfExists,
                                            name: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsName,
                                            values: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsValues,
                                        }],
                                    },
                                },
                                responseMessage: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseMessage,
                                responseType: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseType,
                                scopes: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyScopes,
                                sourceUriDetails: {
                                    type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicySourceUriDetailsType,
                                    uri: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicySourceUriDetailsUri,
                                },
                                useCookiesForIntermediateSteps: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUseCookiesForIntermediateSteps,
                                useCookiesForSession: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUseCookiesForSession,
                                usePkce: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUsePkce,
                            },
                            validationPolicy: {
                                type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyType,
                                additionalValidationPolicy: {
                                    audiences: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyAudiences,
                                    issuers: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyIssuers,
                                    verifyClaims: [{
                                        isRequired: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsIsRequired,
                                        key: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsKey,
                                        values: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsValues,
                                    }],
                                },
                                clientDetails: {
                                    type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyClientDetailsType,
                                    clientId: testClient.id,
                                    clientSecretId: testSecret.id,
                                    clientSecretVersionNumber: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyClientDetailsClientSecretVersionNumber,
                                },
                                isSslVerifyDisabled: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyIsSslVerifyDisabled,
                                keys: [{
                                    format: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysFormat,
                                    alg: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysAlg,
                                    e: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysE,
                                    key: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKey,
                                    keyOps: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKeyOps,
                                    kid: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKid,
                                    kty: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKty,
                                    n: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysN,
                                    use: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysUse,
                                }],
                                maxCacheDurationInHours: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyMaxCacheDurationInHours,
                                sourceUriDetails: {
                                    type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicySourceUriDetailsType,
                                    uri: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicySourceUriDetailsUri,
                                },
                                uri: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyUri,
                            },
                            verifyClaims: [{
                                isRequired: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsIsRequired,
                                key: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsKey,
                                values: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsValues,
                            }],
                        },
                        key: {
                            name: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyName,
                            expression: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyExpression,
                            isDefault: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyIsDefault,
                            type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyType,
                            values: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyValues,
                        },
                    }],
                    selectionSource: {
                        selector: deploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceSelector,
                        type: deploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceType,
                    },
                },
                mutualTls: {
                    allowedSans: deploymentSpecificationRequestPoliciesMutualTlsAllowedSans,
                    isVerifiedCertificateRequired: deploymentSpecificationRequestPoliciesMutualTlsIsVerifiedCertificateRequired,
                },
                rateLimiting: {
                    rateInRequestsPerSecond: deploymentSpecificationRequestPoliciesRateLimitingRateInRequestsPerSecond,
                    rateKey: deploymentSpecificationRequestPoliciesRateLimitingRateKey,
                },
                usagePlans: {
                    tokenLocations: deploymentSpecificationRequestPoliciesUsagePlansTokenLocations,
                },
            },
            routes: [{
                backend: {
                    type: deploymentSpecificationRoutesBackendType,
                    allowedPostLogoutUris: deploymentSpecificationRoutesBackendAllowedPostLogoutUris,
                    body: deploymentSpecificationRoutesBackendBody,
                    connectTimeoutInSeconds: deploymentSpecificationRoutesBackendConnectTimeoutInSeconds,
                    functionId: testFunction.id,
                    headers: [{
                        name: deploymentSpecificationRoutesBackendHeadersName,
                        value: deploymentSpecificationRoutesBackendHeadersValue,
                    }],
                    isSslVerifyDisabled: deploymentSpecificationRoutesBackendIsSslVerifyDisabled,
                    postLogoutState: deploymentSpecificationRoutesBackendPostLogoutState,
                    readTimeoutInSeconds: deploymentSpecificationRoutesBackendReadTimeoutInSeconds,
                    routingBackends: [{
                        backend: {
                            type: deploymentSpecificationRoutesBackendRoutingBackendsBackendType,
                            body: deploymentSpecificationRoutesBackendRoutingBackendsBackendBody,
                            connectTimeoutInSeconds: deploymentSpecificationRoutesBackendRoutingBackendsBackendConnectTimeoutInSeconds,
                            functionId: testFunction.id,
                            headers: [{
                                name: deploymentSpecificationRoutesBackendRoutingBackendsBackendHeadersName,
                                value: deploymentSpecificationRoutesBackendRoutingBackendsBackendHeadersValue,
                            }],
                            isSslVerifyDisabled: deploymentSpecificationRoutesBackendRoutingBackendsBackendIsSslVerifyDisabled,
                            readTimeoutInSeconds: deploymentSpecificationRoutesBackendRoutingBackendsBackendReadTimeoutInSeconds,
                            sendTimeoutInSeconds: deploymentSpecificationRoutesBackendRoutingBackendsBackendSendTimeoutInSeconds,
                            status: deploymentSpecificationRoutesBackendRoutingBackendsBackendStatus,
                            url: deploymentSpecificationRoutesBackendRoutingBackendsBackendUrl,
                        },
                        key: {
                            name: deploymentSpecificationRoutesBackendRoutingBackendsKeyName,
                            type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyType,
                            expression: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyExpression,
                            isDefault: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyIsDefault,
                            values: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyValues,
                        },
                    }],
                    selectionSource: {
                        selector: deploymentSpecificationRoutesBackendSelectionSourceSelector,
                        type: deploymentSpecificationRoutesBackendSelectionSourceType,
                    },
                    sendTimeoutInSeconds: deploymentSpecificationRoutesBackendSendTimeoutInSeconds,
                    status: deploymentSpecificationRoutesBackendStatus,
                    url: deploymentSpecificationRoutesBackendUrl,
                },
                path: deploymentSpecificationRoutesPath,
                loggingPolicies: {
                    accessLog: {
                        isEnabled: deploymentSpecificationRoutesLoggingPoliciesAccessLogIsEnabled,
                    },
                    executionLog: {
                        isEnabled: deploymentSpecificationRoutesLoggingPoliciesExecutionLogIsEnabled,
                        logLevel: deploymentSpecificationRoutesLoggingPoliciesExecutionLogLogLevel,
                    },
                },
                methods: deploymentSpecificationRoutesMethods,
                requestPolicies: {
                    authorization: {
                        allowedScopes: deploymentSpecificationRoutesRequestPoliciesAuthorizationAllowedScope,
                        type: deploymentSpecificationRoutesRequestPoliciesAuthorizationType,
                    },
                    bodyValidation: {
                        contents: [{
                            mediaType: deploymentSpecificationRoutesRequestPoliciesBodyValidationContentMediaType,
                            validationType: deploymentSpecificationRoutesRequestPoliciesBodyValidationContentValidationType,
                        }],
                        required: deploymentSpecificationRoutesRequestPoliciesBodyValidationRequired,
                        validationMode: deploymentSpecificationRoutesRequestPoliciesBodyValidationValidationMode,
                    },
                    cors: {
                        allowedOrigins: deploymentSpecificationRoutesRequestPoliciesCorsAllowedOrigins,
                        allowedHeaders: deploymentSpecificationRoutesRequestPoliciesCorsAllowedHeaders,
                        allowedMethods: deploymentSpecificationRoutesRequestPoliciesCorsAllowedMethods,
                        exposedHeaders: deploymentSpecificationRoutesRequestPoliciesCorsExposedHeaders,
                        isAllowCredentialsEnabled: deploymentSpecificationRoutesRequestPoliciesCorsIsAllowCredentialsEnabled,
                        maxAgeInSeconds: deploymentSpecificationRoutesRequestPoliciesCorsMaxAgeInSeconds,
                    },
                    headerTransformations: {
                        filterHeaders: {
                            items: [{
                                name: deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsFilterHeadersItemsName,
                            }],
                            type: deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsFilterHeadersType,
                        },
                        renameHeaders: {
                            items: [{
                                from: deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsRenameHeadersItemsFrom,
                                to: deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsRenameHeadersItemsTo,
                            }],
                        },
                        setHeaders: {
                            items: [{
                                name: deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsSetHeadersItemsName,
                                values: deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsSetHeadersItemsValues,
                                ifExists: deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsSetHeadersItemsIfExists,
                            }],
                        },
                    },
                    headerValidations: {
                        headers: [{
                            name: deploymentSpecificationRoutesRequestPoliciesHeaderValidationsHeadersName,
                            required: deploymentSpecificationRoutesRequestPoliciesHeaderValidationsHeadersRequired,
                        }],
                        validationMode: deploymentSpecificationRoutesRequestPoliciesHeaderValidationsValidationMode,
                    },
                    queryParameterTransformations: {
                        filterQueryParameters: {
                            items: [{
                                name: deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsFilterQueryParametersItemsName,
                            }],
                            type: deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsFilterQueryParametersType,
                        },
                        renameQueryParameters: {
                            items: [{
                                from: deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemsFrom,
                                to: deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemsTo,
                            }],
                        },
                        setQueryParameters: {
                            items: [{
                                name: deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsSetQueryParametersItemsName,
                                values: deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsSetQueryParametersItemsValues,
                                ifExists: deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsSetQueryParametersItemsIfExists,
                            }],
                        },
                    },
                    queryParameterValidations: {
                        parameters: [{
                            name: deploymentSpecificationRoutesRequestPoliciesQueryParameterValidationsParametersName,
                            required: deploymentSpecificationRoutesRequestPoliciesQueryParameterValidationsParametersRequired,
                        }],
                        validationMode: deploymentSpecificationRoutesRequestPoliciesQueryParameterValidationsValidationMode,
                    },
                    responseCacheLookup: {
                        type: deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupType,
                        cacheKeyAdditions: deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupCacheKeyAdditions,
                        isEnabled: deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupIsEnabled,
                        isPrivateCachingEnabled: deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupIsPrivateCachingEnabled,
                    },
                },
                responsePolicies: {
                    headerTransformations: {
                        filterHeaders: {
                            items: [{
                                name: deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsFilterHeadersItemsName,
                            }],
                            type: deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsFilterHeadersType,
                        },
                        renameHeaders: {
                            items: [{
                                from: deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsRenameHeadersItemsFrom,
                                to: deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsRenameHeadersItemsTo,
                            }],
                        },
                        setHeaders: {
                            items: [{
                                name: deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsName,
                                values: deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsValues,
                                ifExists: deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsIfExists,
                            }],
                        },
                    },
                    responseCacheStore: {
                        timeToLiveInSeconds: deploymentSpecificationRoutesResponsePoliciesResponseCacheStoreTimeToLiveInSeconds,
                        type: deploymentSpecificationRoutesResponsePoliciesResponseCacheStoreType,
                    },
                },
            }],
        },
        definedTags: {
            "Operations.CostCenter": "42",
        },
        displayName: deploymentDisplayName,
        freeformTags: {
            Department: "Finance",
        },
    });
    
    import pulumi
    import pulumi_oci as oci
    
    test_deployment = oci.api_gateway.Deployment("test_deployment",
        compartment_id=compartment_id,
        gateway_id=test_gateway["id"],
        path_prefix=deployment_path_prefix,
        specification={
            "logging_policies": {
                "access_log": {
                    "is_enabled": deployment_specification_logging_policies_access_log_is_enabled,
                },
                "execution_log": {
                    "is_enabled": deployment_specification_logging_policies_execution_log_is_enabled,
                    "log_level": deployment_specification_logging_policies_execution_log_log_level,
                },
            },
            "request_policies": {
                "authentication": {
                    "type": deployment_specification_request_policies_authentication_type,
                    "audiences": deployment_specification_request_policies_authentication_audiences,
                    "cache_keys": deployment_specification_request_policies_authentication_cache_key,
                    "function_id": test_function["id"],
                    "is_anonymous_access_allowed": deployment_specification_request_policies_authentication_is_anonymous_access_allowed,
                    "issuers": deployment_specification_request_policies_authentication_issuers,
                    "max_clock_skew_in_seconds": deployment_specification_request_policies_authentication_max_clock_skew_in_seconds,
                    "parameters": deployment_specification_request_policies_authentication_parameters,
                    "public_keys": {
                        "type": deployment_specification_request_policies_authentication_public_keys_type,
                        "is_ssl_verify_disabled": deployment_specification_request_policies_authentication_public_keys_is_ssl_verify_disabled,
                        "keys": [{
                            "format": deployment_specification_request_policies_authentication_public_keys_keys_format,
                            "alg": deployment_specification_request_policies_authentication_public_keys_keys_alg,
                            "e": deployment_specification_request_policies_authentication_public_keys_keys_e,
                            "key": deployment_specification_request_policies_authentication_public_keys_keys_key,
                            "key_ops": deployment_specification_request_policies_authentication_public_keys_keys_key_ops,
                            "kid": deployment_specification_request_policies_authentication_public_keys_keys_kid,
                            "kty": deployment_specification_request_policies_authentication_public_keys_keys_kty,
                            "n": deployment_specification_request_policies_authentication_public_keys_keys_n,
                            "use": deployment_specification_request_policies_authentication_public_keys_keys_use,
                        }],
                        "max_cache_duration_in_hours": deployment_specification_request_policies_authentication_public_keys_max_cache_duration_in_hours,
                        "uri": deployment_specification_request_policies_authentication_public_keys_uri,
                    },
                    "token_auth_scheme": deployment_specification_request_policies_authentication_token_auth_scheme,
                    "token_header": deployment_specification_request_policies_authentication_token_header,
                    "token_query_param": deployment_specification_request_policies_authentication_token_query_param,
                    "validation_failure_policy": {
                        "type": deployment_specification_request_policies_authentication_validation_failure_policy_type,
                        "client_details": {
                            "type": deployment_specification_request_policies_authentication_validation_failure_policy_client_details_type,
                            "client_id": test_client["id"],
                            "client_secret_id": test_secret["id"],
                            "client_secret_version_number": deployment_specification_request_policies_authentication_validation_failure_policy_client_details_client_secret_version_number,
                        },
                        "fallback_redirect_path": deployment_specification_request_policies_authentication_validation_failure_policy_fallback_redirect_path,
                        "logout_path": deployment_specification_request_policies_authentication_validation_failure_policy_logout_path,
                        "max_expiry_duration_in_hours": deployment_specification_request_policies_authentication_validation_failure_policy_max_expiry_duration_in_hours,
                        "response_code": deployment_specification_request_policies_authentication_validation_failure_policy_response_code,
                        "response_header_transformations": {
                            "filter_headers": {
                                "items": [{
                                    "name": deployment_specification_request_policies_authentication_validation_failure_policy_response_header_transformations_filter_headers_items_name,
                                }],
                                "type": deployment_specification_request_policies_authentication_validation_failure_policy_response_header_transformations_filter_headers_type,
                            },
                            "rename_headers": {
                                "items": [{
                                    "from_": deployment_specification_request_policies_authentication_validation_failure_policy_response_header_transformations_rename_headers_items_from,
                                    "to": deployment_specification_request_policies_authentication_validation_failure_policy_response_header_transformations_rename_headers_items_to,
                                }],
                            },
                            "set_headers": {
                                "items": [{
                                    "if_exists": deployment_specification_request_policies_authentication_validation_failure_policy_response_header_transformations_set_headers_items_if_exists,
                                    "name": deployment_specification_request_policies_authentication_validation_failure_policy_response_header_transformations_set_headers_items_name,
                                    "values": deployment_specification_request_policies_authentication_validation_failure_policy_response_header_transformations_set_headers_items_values,
                                }],
                            },
                        },
                        "response_message": deployment_specification_request_policies_authentication_validation_failure_policy_response_message,
                        "response_type": deployment_specification_request_policies_authentication_validation_failure_policy_response_type,
                        "scopes": deployment_specification_request_policies_authentication_validation_failure_policy_scopes,
                        "source_uri_details": {
                            "type": deployment_specification_request_policies_authentication_validation_failure_policy_source_uri_details_type,
                            "uri": deployment_specification_request_policies_authentication_validation_failure_policy_source_uri_details_uri,
                        },
                        "use_cookies_for_intermediate_steps": deployment_specification_request_policies_authentication_validation_failure_policy_use_cookies_for_intermediate_steps,
                        "use_cookies_for_session": deployment_specification_request_policies_authentication_validation_failure_policy_use_cookies_for_session,
                        "use_pkce": deployment_specification_request_policies_authentication_validation_failure_policy_use_pkce,
                    },
                    "validation_policy": {
                        "type": deployment_specification_request_policies_authentication_validation_policy_type,
                        "additional_validation_policy": {
                            "audiences": deployment_specification_request_policies_authentication_validation_policy_additional_validation_policy_audiences,
                            "issuers": deployment_specification_request_policies_authentication_validation_policy_additional_validation_policy_issuers,
                            "verify_claims": [{
                                "is_required": deployment_specification_request_policies_authentication_validation_policy_additional_validation_policy_verify_claims_is_required,
                                "key": deployment_specification_request_policies_authentication_validation_policy_additional_validation_policy_verify_claims_key,
                                "values": deployment_specification_request_policies_authentication_validation_policy_additional_validation_policy_verify_claims_values,
                            }],
                        },
                        "client_details": {
                            "type": deployment_specification_request_policies_authentication_validation_policy_client_details_type,
                            "client_id": test_client["id"],
                            "client_secret_id": test_secret["id"],
                            "client_secret_version_number": deployment_specification_request_policies_authentication_validation_policy_client_details_client_secret_version_number,
                        },
                        "is_ssl_verify_disabled": deployment_specification_request_policies_authentication_validation_policy_is_ssl_verify_disabled,
                        "keys": [{
                            "format": deployment_specification_request_policies_authentication_validation_policy_keys_format,
                            "alg": deployment_specification_request_policies_authentication_validation_policy_keys_alg,
                            "e": deployment_specification_request_policies_authentication_validation_policy_keys_e,
                            "key": deployment_specification_request_policies_authentication_validation_policy_keys_key,
                            "key_ops": deployment_specification_request_policies_authentication_validation_policy_keys_key_ops,
                            "kid": deployment_specification_request_policies_authentication_validation_policy_keys_kid,
                            "kty": deployment_specification_request_policies_authentication_validation_policy_keys_kty,
                            "n": deployment_specification_request_policies_authentication_validation_policy_keys_n,
                            "use": deployment_specification_request_policies_authentication_validation_policy_keys_use,
                        }],
                        "max_cache_duration_in_hours": deployment_specification_request_policies_authentication_validation_policy_max_cache_duration_in_hours,
                        "source_uri_details": {
                            "type": deployment_specification_request_policies_authentication_validation_policy_source_uri_details_type,
                            "uri": deployment_specification_request_policies_authentication_validation_policy_source_uri_details_uri,
                        },
                        "uri": deployment_specification_request_policies_authentication_validation_policy_uri,
                    },
                    "verify_claims": [{
                        "is_required": deployment_specification_request_policies_authentication_verify_claims_is_required,
                        "key": deployment_specification_request_policies_authentication_verify_claims_key,
                        "values": deployment_specification_request_policies_authentication_verify_claims_values,
                    }],
                },
                "cors": {
                    "allowed_origins": deployment_specification_request_policies_cors_allowed_origins,
                    "allowed_headers": deployment_specification_request_policies_cors_allowed_headers,
                    "allowed_methods": deployment_specification_request_policies_cors_allowed_methods,
                    "exposed_headers": deployment_specification_request_policies_cors_exposed_headers,
                    "is_allow_credentials_enabled": deployment_specification_request_policies_cors_is_allow_credentials_enabled,
                    "max_age_in_seconds": deployment_specification_request_policies_cors_max_age_in_seconds,
                },
                "dynamic_authentication": {
                    "authentication_servers": [{
                        "authentication_server_detail": {
                            "type": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_type,
                            "audiences": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_audiences,
                            "function_id": test_function["id"],
                            "is_anonymous_access_allowed": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_is_anonymous_access_allowed,
                            "issuers": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_issuers,
                            "max_clock_skew_in_seconds": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_max_clock_skew_in_seconds,
                            "public_keys": {
                                "type": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_public_keys_type,
                                "is_ssl_verify_disabled": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_public_keys_is_ssl_verify_disabled,
                                "keys": [{
                                    "format": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_public_keys_keys_format,
                                    "alg": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_public_keys_keys_alg,
                                    "e": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_public_keys_keys_e,
                                    "key": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_public_keys_keys_key,
                                    "key_ops": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_public_keys_keys_key_ops,
                                    "kid": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_public_keys_keys_kid,
                                    "kty": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_public_keys_keys_kty,
                                    "n": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_public_keys_keys_n,
                                    "use": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_public_keys_keys_use,
                                }],
                                "max_cache_duration_in_hours": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_public_keys_max_cache_duration_in_hours,
                                "uri": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_public_keys_uri,
                            },
                            "token_auth_scheme": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_token_auth_scheme,
                            "token_header": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_token_header,
                            "token_query_param": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_token_query_param,
                            "validation_failure_policy": {
                                "type": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_type,
                                "client_details": {
                                    "type": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_client_details_type,
                                    "client_id": test_client["id"],
                                    "client_secret_id": test_secret["id"],
                                    "client_secret_version_number": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_client_details_client_secret_version_number,
                                },
                                "fallback_redirect_path": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_fallback_redirect_path,
                                "logout_path": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_logout_path,
                                "max_expiry_duration_in_hours": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_max_expiry_duration_in_hours,
                                "response_code": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_response_code,
                                "response_header_transformations": {
                                    "filter_headers": {
                                        "items": [{
                                            "name": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_response_header_transformations_filter_headers_items_name,
                                        }],
                                        "type": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_response_header_transformations_filter_headers_type,
                                    },
                                    "rename_headers": {
                                        "items": [{
                                            "from_": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_response_header_transformations_rename_headers_items_from,
                                            "to": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_response_header_transformations_rename_headers_items_to,
                                        }],
                                    },
                                    "set_headers": {
                                        "items": [{
                                            "if_exists": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_response_header_transformations_set_headers_items_if_exists,
                                            "name": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_response_header_transformations_set_headers_items_name,
                                            "values": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_response_header_transformations_set_headers_items_values,
                                        }],
                                    },
                                },
                                "response_message": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_response_message,
                                "response_type": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_response_type,
                                "scopes": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_scopes,
                                "source_uri_details": {
                                    "type": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_source_uri_details_type,
                                    "uri": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_source_uri_details_uri,
                                },
                                "use_cookies_for_intermediate_steps": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_use_cookies_for_intermediate_steps,
                                "use_cookies_for_session": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_use_cookies_for_session,
                                "use_pkce": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_failure_policy_use_pkce,
                            },
                            "validation_policy": {
                                "type": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_type,
                                "additional_validation_policy": {
                                    "audiences": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_additional_validation_policy_audiences,
                                    "issuers": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_additional_validation_policy_issuers,
                                    "verify_claims": [{
                                        "is_required": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_additional_validation_policy_verify_claims_is_required,
                                        "key": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_additional_validation_policy_verify_claims_key,
                                        "values": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_additional_validation_policy_verify_claims_values,
                                    }],
                                },
                                "client_details": {
                                    "type": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_client_details_type,
                                    "client_id": test_client["id"],
                                    "client_secret_id": test_secret["id"],
                                    "client_secret_version_number": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_client_details_client_secret_version_number,
                                },
                                "is_ssl_verify_disabled": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_is_ssl_verify_disabled,
                                "keys": [{
                                    "format": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_keys_format,
                                    "alg": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_keys_alg,
                                    "e": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_keys_e,
                                    "key": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_keys_key,
                                    "key_ops": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_keys_key_ops,
                                    "kid": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_keys_kid,
                                    "kty": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_keys_kty,
                                    "n": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_keys_n,
                                    "use": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_keys_use,
                                }],
                                "max_cache_duration_in_hours": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_max_cache_duration_in_hours,
                                "source_uri_details": {
                                    "type": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_source_uri_details_type,
                                    "uri": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_source_uri_details_uri,
                                },
                                "uri": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_validation_policy_uri,
                            },
                            "verify_claims": [{
                                "is_required": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_verify_claims_is_required,
                                "key": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_verify_claims_key,
                                "values": deployment_specification_request_policies_dynamic_authentication_authentication_servers_authentication_server_detail_verify_claims_values,
                            }],
                        },
                        "key": {
                            "name": deployment_specification_request_policies_dynamic_authentication_authentication_servers_key_name,
                            "expression": deployment_specification_request_policies_dynamic_authentication_authentication_servers_key_expression,
                            "is_default": deployment_specification_request_policies_dynamic_authentication_authentication_servers_key_is_default,
                            "type": deployment_specification_request_policies_dynamic_authentication_authentication_servers_key_type,
                            "values": deployment_specification_request_policies_dynamic_authentication_authentication_servers_key_values,
                        },
                    }],
                    "selection_source": {
                        "selector": deployment_specification_request_policies_dynamic_authentication_selection_source_selector,
                        "type": deployment_specification_request_policies_dynamic_authentication_selection_source_type,
                    },
                },
                "mutual_tls": {
                    "allowed_sans": deployment_specification_request_policies_mutual_tls_allowed_sans,
                    "is_verified_certificate_required": deployment_specification_request_policies_mutual_tls_is_verified_certificate_required,
                },
                "rate_limiting": {
                    "rate_in_requests_per_second": deployment_specification_request_policies_rate_limiting_rate_in_requests_per_second,
                    "rate_key": deployment_specification_request_policies_rate_limiting_rate_key,
                },
                "usage_plans": {
                    "token_locations": deployment_specification_request_policies_usage_plans_token_locations,
                },
            },
            "routes": [{
                "backend": {
                    "type": deployment_specification_routes_backend_type,
                    "allowed_post_logout_uris": deployment_specification_routes_backend_allowed_post_logout_uris,
                    "body": deployment_specification_routes_backend_body,
                    "connect_timeout_in_seconds": deployment_specification_routes_backend_connect_timeout_in_seconds,
                    "function_id": test_function["id"],
                    "headers": [{
                        "name": deployment_specification_routes_backend_headers_name,
                        "value": deployment_specification_routes_backend_headers_value,
                    }],
                    "is_ssl_verify_disabled": deployment_specification_routes_backend_is_ssl_verify_disabled,
                    "post_logout_state": deployment_specification_routes_backend_post_logout_state,
                    "read_timeout_in_seconds": deployment_specification_routes_backend_read_timeout_in_seconds,
                    "routing_backends": [{
                        "backend": {
                            "type": deployment_specification_routes_backend_routing_backends_backend_type,
                            "body": deployment_specification_routes_backend_routing_backends_backend_body,
                            "connect_timeout_in_seconds": deployment_specification_routes_backend_routing_backends_backend_connect_timeout_in_seconds,
                            "function_id": test_function["id"],
                            "headers": [{
                                "name": deployment_specification_routes_backend_routing_backends_backend_headers_name,
                                "value": deployment_specification_routes_backend_routing_backends_backend_headers_value,
                            }],
                            "is_ssl_verify_disabled": deployment_specification_routes_backend_routing_backends_backend_is_ssl_verify_disabled,
                            "read_timeout_in_seconds": deployment_specification_routes_backend_routing_backends_backend_read_timeout_in_seconds,
                            "send_timeout_in_seconds": deployment_specification_routes_backend_routing_backends_backend_send_timeout_in_seconds,
                            "status": deployment_specification_routes_backend_routing_backends_backend_status,
                            "url": deployment_specification_routes_backend_routing_backends_backend_url,
                        },
                        "key": {
                            "name": deployment_specification_routes_backend_routing_backends_key_name,
                            "type": deployment_specification_request_policies_dynamic_authentication_authentication_servers_key_type,
                            "expression": deployment_specification_request_policies_dynamic_authentication_authentication_servers_key_expression,
                            "is_default": deployment_specification_request_policies_dynamic_authentication_authentication_servers_key_is_default,
                            "values": deployment_specification_request_policies_dynamic_authentication_authentication_servers_key_values,
                        },
                    }],
                    "selection_source": {
                        "selector": deployment_specification_routes_backend_selection_source_selector,
                        "type": deployment_specification_routes_backend_selection_source_type,
                    },
                    "send_timeout_in_seconds": deployment_specification_routes_backend_send_timeout_in_seconds,
                    "status": deployment_specification_routes_backend_status,
                    "url": deployment_specification_routes_backend_url,
                },
                "path": deployment_specification_routes_path,
                "logging_policies": {
                    "access_log": {
                        "is_enabled": deployment_specification_routes_logging_policies_access_log_is_enabled,
                    },
                    "execution_log": {
                        "is_enabled": deployment_specification_routes_logging_policies_execution_log_is_enabled,
                        "log_level": deployment_specification_routes_logging_policies_execution_log_log_level,
                    },
                },
                "methods": deployment_specification_routes_methods,
                "request_policies": {
                    "authorization": {
                        "allowed_scopes": deployment_specification_routes_request_policies_authorization_allowed_scope,
                        "type": deployment_specification_routes_request_policies_authorization_type,
                    },
                    "body_validation": {
                        "contents": [{
                            "media_type": deployment_specification_routes_request_policies_body_validation_content_media_type,
                            "validation_type": deployment_specification_routes_request_policies_body_validation_content_validation_type,
                        }],
                        "required": deployment_specification_routes_request_policies_body_validation_required,
                        "validation_mode": deployment_specification_routes_request_policies_body_validation_validation_mode,
                    },
                    "cors": {
                        "allowed_origins": deployment_specification_routes_request_policies_cors_allowed_origins,
                        "allowed_headers": deployment_specification_routes_request_policies_cors_allowed_headers,
                        "allowed_methods": deployment_specification_routes_request_policies_cors_allowed_methods,
                        "exposed_headers": deployment_specification_routes_request_policies_cors_exposed_headers,
                        "is_allow_credentials_enabled": deployment_specification_routes_request_policies_cors_is_allow_credentials_enabled,
                        "max_age_in_seconds": deployment_specification_routes_request_policies_cors_max_age_in_seconds,
                    },
                    "header_transformations": {
                        "filter_headers": {
                            "items": [{
                                "name": deployment_specification_routes_request_policies_header_transformations_filter_headers_items_name,
                            }],
                            "type": deployment_specification_routes_request_policies_header_transformations_filter_headers_type,
                        },
                        "rename_headers": {
                            "items": [{
                                "from_": deployment_specification_routes_request_policies_header_transformations_rename_headers_items_from,
                                "to": deployment_specification_routes_request_policies_header_transformations_rename_headers_items_to,
                            }],
                        },
                        "set_headers": {
                            "items": [{
                                "name": deployment_specification_routes_request_policies_header_transformations_set_headers_items_name,
                                "values": deployment_specification_routes_request_policies_header_transformations_set_headers_items_values,
                                "if_exists": deployment_specification_routes_request_policies_header_transformations_set_headers_items_if_exists,
                            }],
                        },
                    },
                    "header_validations": {
                        "headers": [{
                            "name": deployment_specification_routes_request_policies_header_validations_headers_name,
                            "required": deployment_specification_routes_request_policies_header_validations_headers_required,
                        }],
                        "validation_mode": deployment_specification_routes_request_policies_header_validations_validation_mode,
                    },
                    "query_parameter_transformations": {
                        "filter_query_parameters": {
                            "items": [{
                                "name": deployment_specification_routes_request_policies_query_parameter_transformations_filter_query_parameters_items_name,
                            }],
                            "type": deployment_specification_routes_request_policies_query_parameter_transformations_filter_query_parameters_type,
                        },
                        "rename_query_parameters": {
                            "items": [{
                                "from_": deployment_specification_routes_request_policies_query_parameter_transformations_rename_query_parameters_items_from,
                                "to": deployment_specification_routes_request_policies_query_parameter_transformations_rename_query_parameters_items_to,
                            }],
                        },
                        "set_query_parameters": {
                            "items": [{
                                "name": deployment_specification_routes_request_policies_query_parameter_transformations_set_query_parameters_items_name,
                                "values": deployment_specification_routes_request_policies_query_parameter_transformations_set_query_parameters_items_values,
                                "if_exists": deployment_specification_routes_request_policies_query_parameter_transformations_set_query_parameters_items_if_exists,
                            }],
                        },
                    },
                    "query_parameter_validations": {
                        "parameters": [{
                            "name": deployment_specification_routes_request_policies_query_parameter_validations_parameters_name,
                            "required": deployment_specification_routes_request_policies_query_parameter_validations_parameters_required,
                        }],
                        "validation_mode": deployment_specification_routes_request_policies_query_parameter_validations_validation_mode,
                    },
                    "response_cache_lookup": {
                        "type": deployment_specification_routes_request_policies_response_cache_lookup_type,
                        "cache_key_additions": deployment_specification_routes_request_policies_response_cache_lookup_cache_key_additions,
                        "is_enabled": deployment_specification_routes_request_policies_response_cache_lookup_is_enabled,
                        "is_private_caching_enabled": deployment_specification_routes_request_policies_response_cache_lookup_is_private_caching_enabled,
                    },
                },
                "response_policies": {
                    "header_transformations": {
                        "filter_headers": {
                            "items": [{
                                "name": deployment_specification_routes_response_policies_header_transformations_filter_headers_items_name,
                            }],
                            "type": deployment_specification_routes_response_policies_header_transformations_filter_headers_type,
                        },
                        "rename_headers": {
                            "items": [{
                                "from_": deployment_specification_routes_response_policies_header_transformations_rename_headers_items_from,
                                "to": deployment_specification_routes_response_policies_header_transformations_rename_headers_items_to,
                            }],
                        },
                        "set_headers": {
                            "items": [{
                                "name": deployment_specification_routes_response_policies_header_transformations_set_headers_items_name,
                                "values": deployment_specification_routes_response_policies_header_transformations_set_headers_items_values,
                                "if_exists": deployment_specification_routes_response_policies_header_transformations_set_headers_items_if_exists,
                            }],
                        },
                    },
                    "response_cache_store": {
                        "time_to_live_in_seconds": deployment_specification_routes_response_policies_response_cache_store_time_to_live_in_seconds,
                        "type": deployment_specification_routes_response_policies_response_cache_store_type,
                    },
                },
            }],
        },
        defined_tags={
            "Operations.CostCenter": "42",
        },
        display_name=deployment_display_name,
        freeform_tags={
            "Department": "Finance",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-oci/sdk/v2/go/oci/ApiGateway"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := ApiGateway.NewDeployment(ctx, "test_deployment", &ApiGateway.DeploymentArgs{
    			CompartmentId: pulumi.Any(compartmentId),
    			GatewayId:     pulumi.Any(testGateway.Id),
    			PathPrefix:    pulumi.Any(deploymentPathPrefix),
    			Specification: &apigateway.DeploymentSpecificationArgs{
    				LoggingPolicies: &apigateway.DeploymentSpecificationLoggingPoliciesArgs{
    					AccessLog: &apigateway.DeploymentSpecificationLoggingPoliciesAccessLogArgs{
    						IsEnabled: pulumi.Any(deploymentSpecificationLoggingPoliciesAccessLogIsEnabled),
    					},
    					ExecutionLog: &apigateway.DeploymentSpecificationLoggingPoliciesExecutionLogArgs{
    						IsEnabled: pulumi.Any(deploymentSpecificationLoggingPoliciesExecutionLogIsEnabled),
    						LogLevel:  pulumi.Any(deploymentSpecificationLoggingPoliciesExecutionLogLogLevel),
    					},
    				},
    				RequestPolicies: &apigateway.DeploymentSpecificationRequestPoliciesArgs{
    					Authentication: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationArgs{
    						Type:                     pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationType),
    						Audiences:                pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationAudiences),
    						CacheKeys:                pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationCacheKey),
    						FunctionId:               pulumi.Any(testFunction.Id),
    						IsAnonymousAccessAllowed: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationIsAnonymousAccessAllowed),
    						Issuers:                  pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationIssuers),
    						MaxClockSkewInSeconds:    pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationMaxClockSkewInSeconds),
    						Parameters:               pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationParameters),
    						PublicKeys: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysArgs{
    							Type:                pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysType),
    							IsSslVerifyDisabled: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysIsSslVerifyDisabled),
    							Keys: apigateway.DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeyArray{
    								&apigateway.DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeyArgs{
    									Format: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysFormat),
    									Alg:    pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysAlg),
    									E:      pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysE),
    									Key:    pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKey),
    									KeyOps: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKeyOps),
    									Kid:    pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKid),
    									Kty:    pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKty),
    									N:      pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysN),
    									Use:    pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysUse),
    								},
    							},
    							MaxCacheDurationInHours: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysMaxCacheDurationInHours),
    							Uri:                     pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysUri),
    						},
    						TokenAuthScheme: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationTokenAuthScheme),
    						TokenHeader:     pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationTokenHeader),
    						TokenQueryParam: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationTokenQueryParam),
    						ValidationFailurePolicy: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyArgs{
    							Type: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyType),
    							ClientDetails: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsArgs{
    								Type:                      pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsType),
    								ClientId:                  pulumi.Any(testClient.Id),
    								ClientSecretId:            pulumi.Any(testSecret.Id),
    								ClientSecretVersionNumber: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsClientSecretVersionNumber),
    							},
    							FallbackRedirectPath:     pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyFallbackRedirectPath),
    							LogoutPath:               pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyLogoutPath),
    							MaxExpiryDurationInHours: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyMaxExpiryDurationInHours),
    							ResponseCode:             pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseCode),
    							ResponseHeaderTransformations: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsArgs{
    								FilterHeaders: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersArgs{
    									Items: apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArray{
    										&apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArgs{
    											Name: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemsName),
    										},
    									},
    									Type: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersType),
    								},
    								RenameHeaders: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersArgs{
    									Items: apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArray{
    										&apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArgs{
    											From: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsFrom),
    											To:   pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsTo),
    										},
    									},
    								},
    								SetHeaders: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersArgs{
    									Items: apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArray{
    										&apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArgs{
    											IfExists: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsIfExists),
    											Name:     pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsName),
    											Values:   pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsValues),
    										},
    									},
    								},
    							},
    							ResponseMessage: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseMessage),
    							ResponseType:    pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseType),
    							Scopes:          pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyScopes),
    							SourceUriDetails: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsArgs{
    								Type: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsType),
    								Uri:  pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsUri),
    							},
    							UseCookiesForIntermediateSteps: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUseCookiesForIntermediateSteps),
    							UseCookiesForSession:           pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUseCookiesForSession),
    							UsePkce:                        pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUsePkce),
    						},
    						ValidationPolicy: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyArgs{
    							Type: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyType),
    							AdditionalValidationPolicy: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyArgs{
    								Audiences: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyAudiences),
    								Issuers:   pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyIssuers),
    								VerifyClaims: apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimArray{
    									&apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimArgs{
    										IsRequired: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsIsRequired),
    										Key:        pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsKey),
    										Values:     pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsValues),
    									},
    								},
    							},
    							ClientDetails: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsArgs{
    								Type:                      pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsType),
    								ClientId:                  pulumi.Any(testClient.Id),
    								ClientSecretId:            pulumi.Any(testSecret.Id),
    								ClientSecretVersionNumber: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsClientSecretVersionNumber),
    							},
    							IsSslVerifyDisabled: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyIsSslVerifyDisabled),
    							Keys: apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeyArray{
    								&apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeyArgs{
    									Format: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysFormat),
    									Alg:    pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysAlg),
    									E:      pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysE),
    									Key:    pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKey),
    									KeyOps: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKeyOps),
    									Kid:    pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKid),
    									Kty:    pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKty),
    									N:      pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysN),
    									Use:    pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysUse),
    								},
    							},
    							MaxCacheDurationInHours: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyMaxCacheDurationInHours),
    							SourceUriDetails: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsArgs{
    								Type: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsType),
    								Uri:  pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsUri),
    							},
    							Uri: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyUri),
    						},
    						VerifyClaims: apigateway.DeploymentSpecificationRequestPoliciesAuthenticationVerifyClaimArray{
    							&apigateway.DeploymentSpecificationRequestPoliciesAuthenticationVerifyClaimArgs{
    								IsRequired: pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsIsRequired),
    								Key:        pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsKey),
    								Values:     pulumi.Any(deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsValues),
    							},
    						},
    					},
    					Cors: &apigateway.DeploymentSpecificationRequestPoliciesCorsArgs{
    						AllowedOrigins:            pulumi.Any(deploymentSpecificationRequestPoliciesCorsAllowedOrigins),
    						AllowedHeaders:            pulumi.Any(deploymentSpecificationRequestPoliciesCorsAllowedHeaders),
    						AllowedMethods:            pulumi.Any(deploymentSpecificationRequestPoliciesCorsAllowedMethods),
    						ExposedHeaders:            pulumi.Any(deploymentSpecificationRequestPoliciesCorsExposedHeaders),
    						IsAllowCredentialsEnabled: pulumi.Any(deploymentSpecificationRequestPoliciesCorsIsAllowCredentialsEnabled),
    						MaxAgeInSeconds:           pulumi.Any(deploymentSpecificationRequestPoliciesCorsMaxAgeInSeconds),
    					},
    					DynamicAuthentication: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationArgs{
    						AuthenticationServers: apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerArray{
    							&apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerArgs{
    								AuthenticationServerDetail: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailArgs{
    									Type:                     pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailType),
    									Audiences:                pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailAudiences),
    									FunctionId:               pulumi.Any(testFunction.Id),
    									IsAnonymousAccessAllowed: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailIsAnonymousAccessAllowed),
    									Issuers:                  pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailIssuers),
    									MaxClockSkewInSeconds:    pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailMaxClockSkewInSeconds),
    									PublicKeys: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysArgs{
    										Type:                pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysType),
    										IsSslVerifyDisabled: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysIsSslVerifyDisabled),
    										Keys: apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysKeyArray{
    											&apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysKeyArgs{
    												Format: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysFormat),
    												Alg:    pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysAlg),
    												E:      pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysE),
    												Key:    pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKey),
    												KeyOps: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKeyOps),
    												Kid:    pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKid),
    												Kty:    pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKty),
    												N:      pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysN),
    												Use:    pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysUse),
    											},
    										},
    										MaxCacheDurationInHours: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysMaxCacheDurationInHours),
    										Uri:                     pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysUri),
    									},
    									TokenAuthScheme: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailTokenAuthScheme),
    									TokenHeader:     pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailTokenHeader),
    									TokenQueryParam: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailTokenQueryParam),
    									ValidationFailurePolicy: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyArgs{
    										Type: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyType),
    										ClientDetails: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyClientDetailsArgs{
    											Type:                      pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyClientDetailsType),
    											ClientId:                  pulumi.Any(testClient.Id),
    											ClientSecretId:            pulumi.Any(testSecret.Id),
    											ClientSecretVersionNumber: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyClientDetailsClientSecretVersionNumber),
    										},
    										FallbackRedirectPath:     pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyFallbackRedirectPath),
    										LogoutPath:               pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyLogoutPath),
    										MaxExpiryDurationInHours: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyMaxExpiryDurationInHours),
    										ResponseCode:             pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseCode),
    										ResponseHeaderTransformations: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsArgs{
    											FilterHeaders: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersArgs{
    												Items: apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArray{
    													&apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArgs{
    														Name: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemsName),
    													},
    												},
    												Type: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersType),
    											},
    											RenameHeaders: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersArgs{
    												Items: apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArray{
    													&apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArgs{
    														From: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsFrom),
    														To:   pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsTo),
    													},
    												},
    											},
    											SetHeaders: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersArgs{
    												Items: apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArray{
    													&apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArgs{
    														IfExists: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsIfExists),
    														Name:     pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsName),
    														Values:   pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsValues),
    													},
    												},
    											},
    										},
    										ResponseMessage: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseMessage),
    										ResponseType:    pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseType),
    										Scopes:          pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyScopes),
    										SourceUriDetails: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicySourceUriDetailsArgs{
    											Type: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicySourceUriDetailsType),
    											Uri:  pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicySourceUriDetailsUri),
    										},
    										UseCookiesForIntermediateSteps: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUseCookiesForIntermediateSteps),
    										UseCookiesForSession:           pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUseCookiesForSession),
    										UsePkce:                        pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUsePkce),
    									},
    									ValidationPolicy: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyArgs{
    										Type: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyType),
    										AdditionalValidationPolicy: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyArgs{
    											Audiences: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyAudiences),
    											Issuers:   pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyIssuers),
    											VerifyClaims: apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimArray{
    												&apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimArgs{
    													IsRequired: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsIsRequired),
    													Key:        pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsKey),
    													Values:     pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsValues),
    												},
    											},
    										},
    										ClientDetails: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyClientDetailsArgs{
    											Type:                      pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyClientDetailsType),
    											ClientId:                  pulumi.Any(testClient.Id),
    											ClientSecretId:            pulumi.Any(testSecret.Id),
    											ClientSecretVersionNumber: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyClientDetailsClientSecretVersionNumber),
    										},
    										IsSslVerifyDisabled: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyIsSslVerifyDisabled),
    										Keys: apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyKeyArray{
    											&apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyKeyArgs{
    												Format: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysFormat),
    												Alg:    pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysAlg),
    												E:      pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysE),
    												Key:    pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKey),
    												KeyOps: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKeyOps),
    												Kid:    pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKid),
    												Kty:    pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKty),
    												N:      pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysN),
    												Use:    pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysUse),
    											},
    										},
    										MaxCacheDurationInHours: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyMaxCacheDurationInHours),
    										SourceUriDetails: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicySourceUriDetailsArgs{
    											Type: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicySourceUriDetailsType),
    											Uri:  pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicySourceUriDetailsUri),
    										},
    										Uri: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyUri),
    									},
    									VerifyClaims: apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailVerifyClaimArray{
    										&apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailVerifyClaimArgs{
    											IsRequired: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsIsRequired),
    											Key:        pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsKey),
    											Values:     pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsValues),
    										},
    									},
    								},
    								Key: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerKeyArgs{
    									Name:       pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyName),
    									Expression: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyExpression),
    									IsDefault:  pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyIsDefault),
    									Type:       pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyType),
    									Values:     pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyValues),
    								},
    							},
    						},
    						SelectionSource: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceArgs{
    							Selector: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceSelector),
    							Type:     pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceType),
    						},
    					},
    					MutualTls: &apigateway.DeploymentSpecificationRequestPoliciesMutualTlsArgs{
    						AllowedSans:                   pulumi.Any(deploymentSpecificationRequestPoliciesMutualTlsAllowedSans),
    						IsVerifiedCertificateRequired: pulumi.Any(deploymentSpecificationRequestPoliciesMutualTlsIsVerifiedCertificateRequired),
    					},
    					RateLimiting: &apigateway.DeploymentSpecificationRequestPoliciesRateLimitingArgs{
    						RateInRequestsPerSecond: pulumi.Any(deploymentSpecificationRequestPoliciesRateLimitingRateInRequestsPerSecond),
    						RateKey:                 pulumi.Any(deploymentSpecificationRequestPoliciesRateLimitingRateKey),
    					},
    					UsagePlans: &apigateway.DeploymentSpecificationRequestPoliciesUsagePlansArgs{
    						TokenLocations: pulumi.Any(deploymentSpecificationRequestPoliciesUsagePlansTokenLocations),
    					},
    				},
    				Routes: apigateway.DeploymentSpecificationRouteArray{
    					&apigateway.DeploymentSpecificationRouteArgs{
    						Backend: &apigateway.DeploymentSpecificationRouteBackendArgs{
    							Type:                    pulumi.Any(deploymentSpecificationRoutesBackendType),
    							AllowedPostLogoutUris:   pulumi.Any(deploymentSpecificationRoutesBackendAllowedPostLogoutUris),
    							Body:                    pulumi.Any(deploymentSpecificationRoutesBackendBody),
    							ConnectTimeoutInSeconds: pulumi.Any(deploymentSpecificationRoutesBackendConnectTimeoutInSeconds),
    							FunctionId:              pulumi.Any(testFunction.Id),
    							Headers: apigateway.DeploymentSpecificationRouteBackendHeaderArray{
    								&apigateway.DeploymentSpecificationRouteBackendHeaderArgs{
    									Name:  pulumi.Any(deploymentSpecificationRoutesBackendHeadersName),
    									Value: pulumi.Any(deploymentSpecificationRoutesBackendHeadersValue),
    								},
    							},
    							IsSslVerifyDisabled:  pulumi.Any(deploymentSpecificationRoutesBackendIsSslVerifyDisabled),
    							PostLogoutState:      pulumi.Any(deploymentSpecificationRoutesBackendPostLogoutState),
    							ReadTimeoutInSeconds: pulumi.Any(deploymentSpecificationRoutesBackendReadTimeoutInSeconds),
    							RoutingBackends: apigateway.DeploymentSpecificationRouteBackendRoutingBackendArray{
    								&apigateway.DeploymentSpecificationRouteBackendRoutingBackendArgs{
    									Backend: &apigateway.DeploymentSpecificationRouteBackendRoutingBackendBackendArgs{
    										Type:                    pulumi.Any(deploymentSpecificationRoutesBackendRoutingBackendsBackendType),
    										Body:                    pulumi.Any(deploymentSpecificationRoutesBackendRoutingBackendsBackendBody),
    										ConnectTimeoutInSeconds: pulumi.Any(deploymentSpecificationRoutesBackendRoutingBackendsBackendConnectTimeoutInSeconds),
    										FunctionId:              pulumi.Any(testFunction.Id),
    										Headers: apigateway.DeploymentSpecificationRouteBackendRoutingBackendBackendHeaderArray{
    											&apigateway.DeploymentSpecificationRouteBackendRoutingBackendBackendHeaderArgs{
    												Name:  pulumi.Any(deploymentSpecificationRoutesBackendRoutingBackendsBackendHeadersName),
    												Value: pulumi.Any(deploymentSpecificationRoutesBackendRoutingBackendsBackendHeadersValue),
    											},
    										},
    										IsSslVerifyDisabled:  pulumi.Any(deploymentSpecificationRoutesBackendRoutingBackendsBackendIsSslVerifyDisabled),
    										ReadTimeoutInSeconds: pulumi.Any(deploymentSpecificationRoutesBackendRoutingBackendsBackendReadTimeoutInSeconds),
    										SendTimeoutInSeconds: pulumi.Any(deploymentSpecificationRoutesBackendRoutingBackendsBackendSendTimeoutInSeconds),
    										Status:               pulumi.Any(deploymentSpecificationRoutesBackendRoutingBackendsBackendStatus),
    										Url:                  pulumi.Any(deploymentSpecificationRoutesBackendRoutingBackendsBackendUrl),
    									},
    									Key: &apigateway.DeploymentSpecificationRouteBackendRoutingBackendKeyArgs{
    										Name:       pulumi.Any(deploymentSpecificationRoutesBackendRoutingBackendsKeyName),
    										Type:       pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyType),
    										Expression: pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyExpression),
    										IsDefault:  pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyIsDefault),
    										Values:     pulumi.Any(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyValues),
    									},
    								},
    							},
    							SelectionSource: &apigateway.DeploymentSpecificationRouteBackendSelectionSourceArgs{
    								Selector: pulumi.Any(deploymentSpecificationRoutesBackendSelectionSourceSelector),
    								Type:     pulumi.Any(deploymentSpecificationRoutesBackendSelectionSourceType),
    							},
    							SendTimeoutInSeconds: pulumi.Any(deploymentSpecificationRoutesBackendSendTimeoutInSeconds),
    							Status:               pulumi.Any(deploymentSpecificationRoutesBackendStatus),
    							Url:                  pulumi.Any(deploymentSpecificationRoutesBackendUrl),
    						},
    						Path: pulumi.Any(deploymentSpecificationRoutesPath),
    						LoggingPolicies: &apigateway.DeploymentSpecificationRouteLoggingPoliciesArgs{
    							AccessLog: &apigateway.DeploymentSpecificationRouteLoggingPoliciesAccessLogArgs{
    								IsEnabled: pulumi.Any(deploymentSpecificationRoutesLoggingPoliciesAccessLogIsEnabled),
    							},
    							ExecutionLog: &apigateway.DeploymentSpecificationRouteLoggingPoliciesExecutionLogArgs{
    								IsEnabled: pulumi.Any(deploymentSpecificationRoutesLoggingPoliciesExecutionLogIsEnabled),
    								LogLevel:  pulumi.Any(deploymentSpecificationRoutesLoggingPoliciesExecutionLogLogLevel),
    							},
    						},
    						Methods: pulumi.Any(deploymentSpecificationRoutesMethods),
    						RequestPolicies: &apigateway.DeploymentSpecificationRouteRequestPoliciesArgs{
    							Authorization: &apigateway.DeploymentSpecificationRouteRequestPoliciesAuthorizationArgs{
    								AllowedScopes: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesAuthorizationAllowedScope),
    								Type:          pulumi.Any(deploymentSpecificationRoutesRequestPoliciesAuthorizationType),
    							},
    							BodyValidation: &apigateway.DeploymentSpecificationRouteRequestPoliciesBodyValidationArgs{
    								Contents: apigateway.DeploymentSpecificationRouteRequestPoliciesBodyValidationContentArray{
    									&apigateway.DeploymentSpecificationRouteRequestPoliciesBodyValidationContentArgs{
    										MediaType:      pulumi.Any(deploymentSpecificationRoutesRequestPoliciesBodyValidationContentMediaType),
    										ValidationType: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesBodyValidationContentValidationType),
    									},
    								},
    								Required:       pulumi.Any(deploymentSpecificationRoutesRequestPoliciesBodyValidationRequired),
    								ValidationMode: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesBodyValidationValidationMode),
    							},
    							Cors: &apigateway.DeploymentSpecificationRouteRequestPoliciesCorsArgs{
    								AllowedOrigins:            pulumi.Any(deploymentSpecificationRoutesRequestPoliciesCorsAllowedOrigins),
    								AllowedHeaders:            pulumi.Any(deploymentSpecificationRoutesRequestPoliciesCorsAllowedHeaders),
    								AllowedMethods:            pulumi.Any(deploymentSpecificationRoutesRequestPoliciesCorsAllowedMethods),
    								ExposedHeaders:            pulumi.Any(deploymentSpecificationRoutesRequestPoliciesCorsExposedHeaders),
    								IsAllowCredentialsEnabled: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesCorsIsAllowCredentialsEnabled),
    								MaxAgeInSeconds:           pulumi.Any(deploymentSpecificationRoutesRequestPoliciesCorsMaxAgeInSeconds),
    							},
    							HeaderTransformations: &apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsArgs{
    								FilterHeaders: &apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersArgs{
    									Items: apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersItemArray{
    										&apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersItemArgs{
    											Name: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsFilterHeadersItemsName),
    										},
    									},
    									Type: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsFilterHeadersType),
    								},
    								RenameHeaders: &apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersArgs{
    									Items: apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersItemArray{
    										&apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersItemArgs{
    											From: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsRenameHeadersItemsFrom),
    											To:   pulumi.Any(deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsRenameHeadersItemsTo),
    										},
    									},
    								},
    								SetHeaders: &apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersArgs{
    									Items: apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersItemArray{
    										&apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersItemArgs{
    											Name:     pulumi.Any(deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsSetHeadersItemsName),
    											Values:   pulumi.Any(deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsSetHeadersItemsValues),
    											IfExists: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsSetHeadersItemsIfExists),
    										},
    									},
    								},
    							},
    							HeaderValidations: &apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderValidationsArgs{
    								Headers: apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderValidationsHeaderArray{
    									&apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderValidationsHeaderArgs{
    										Name:     pulumi.Any(deploymentSpecificationRoutesRequestPoliciesHeaderValidationsHeadersName),
    										Required: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesHeaderValidationsHeadersRequired),
    									},
    								},
    								ValidationMode: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesHeaderValidationsValidationMode),
    							},
    							QueryParameterTransformations: &apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsArgs{
    								FilterQueryParameters: &apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersArgs{
    									Items: apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersItemArray{
    										&apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersItemArgs{
    											Name: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsFilterQueryParametersItemsName),
    										},
    									},
    									Type: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsFilterQueryParametersType),
    								},
    								RenameQueryParameters: &apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersArgs{
    									Items: apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemArray{
    										&apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemArgs{
    											From: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemsFrom),
    											To:   pulumi.Any(deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemsTo),
    										},
    									},
    								},
    								SetQueryParameters: &apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersArgs{
    									Items: apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersItemArray{
    										&apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersItemArgs{
    											Name:     pulumi.Any(deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsSetQueryParametersItemsName),
    											Values:   pulumi.Any(deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsSetQueryParametersItemsValues),
    											IfExists: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsSetQueryParametersItemsIfExists),
    										},
    									},
    								},
    							},
    							QueryParameterValidations: &apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsArgs{
    								Parameters: apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsParameterArray{
    									&apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsParameterArgs{
    										Name:     pulumi.Any(deploymentSpecificationRoutesRequestPoliciesQueryParameterValidationsParametersName),
    										Required: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesQueryParameterValidationsParametersRequired),
    									},
    								},
    								ValidationMode: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesQueryParameterValidationsValidationMode),
    							},
    							ResponseCacheLookup: &apigateway.DeploymentSpecificationRouteRequestPoliciesResponseCacheLookupArgs{
    								Type:                    pulumi.Any(deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupType),
    								CacheKeyAdditions:       pulumi.Any(deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupCacheKeyAdditions),
    								IsEnabled:               pulumi.Any(deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupIsEnabled),
    								IsPrivateCachingEnabled: pulumi.Any(deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupIsPrivateCachingEnabled),
    							},
    						},
    						ResponsePolicies: &apigateway.DeploymentSpecificationRouteResponsePoliciesArgs{
    							HeaderTransformations: &apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsArgs{
    								FilterHeaders: &apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersArgs{
    									Items: apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersItemArray{
    										&apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersItemArgs{
    											Name: pulumi.Any(deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsFilterHeadersItemsName),
    										},
    									},
    									Type: pulumi.Any(deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsFilterHeadersType),
    								},
    								RenameHeaders: &apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersArgs{
    									Items: apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersItemArray{
    										&apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersItemArgs{
    											From: pulumi.Any(deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsRenameHeadersItemsFrom),
    											To:   pulumi.Any(deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsRenameHeadersItemsTo),
    										},
    									},
    								},
    								SetHeaders: &apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersArgs{
    									Items: apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersItemArray{
    										&apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersItemArgs{
    											Name:     pulumi.Any(deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsName),
    											Values:   pulumi.Any(deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsValues),
    											IfExists: pulumi.Any(deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsIfExists),
    										},
    									},
    								},
    							},
    							ResponseCacheStore: &apigateway.DeploymentSpecificationRouteResponsePoliciesResponseCacheStoreArgs{
    								TimeToLiveInSeconds: pulumi.Any(deploymentSpecificationRoutesResponsePoliciesResponseCacheStoreTimeToLiveInSeconds),
    								Type:                pulumi.Any(deploymentSpecificationRoutesResponsePoliciesResponseCacheStoreType),
    							},
    						},
    					},
    				},
    			},
    			DefinedTags: pulumi.StringMap{
    				"Operations.CostCenter": pulumi.String("42"),
    			},
    			DisplayName: pulumi.Any(deploymentDisplayName),
    			FreeformTags: pulumi.StringMap{
    				"Department": pulumi.String("Finance"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Oci = Pulumi.Oci;
    
    return await Deployment.RunAsync(() => 
    {
        var testDeployment = new Oci.ApiGateway.Deployment("test_deployment", new()
        {
            CompartmentId = compartmentId,
            GatewayId = testGateway.Id,
            PathPrefix = deploymentPathPrefix,
            Specification = new Oci.ApiGateway.Inputs.DeploymentSpecificationArgs
            {
                LoggingPolicies = new Oci.ApiGateway.Inputs.DeploymentSpecificationLoggingPoliciesArgs
                {
                    AccessLog = new Oci.ApiGateway.Inputs.DeploymentSpecificationLoggingPoliciesAccessLogArgs
                    {
                        IsEnabled = deploymentSpecificationLoggingPoliciesAccessLogIsEnabled,
                    },
                    ExecutionLog = new Oci.ApiGateway.Inputs.DeploymentSpecificationLoggingPoliciesExecutionLogArgs
                    {
                        IsEnabled = deploymentSpecificationLoggingPoliciesExecutionLogIsEnabled,
                        LogLevel = deploymentSpecificationLoggingPoliciesExecutionLogLogLevel,
                    },
                },
                RequestPolicies = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesArgs
                {
                    Authentication = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationArgs
                    {
                        Type = deploymentSpecificationRequestPoliciesAuthenticationType,
                        Audiences = deploymentSpecificationRequestPoliciesAuthenticationAudiences,
                        CacheKeys = deploymentSpecificationRequestPoliciesAuthenticationCacheKey,
                        FunctionId = testFunction.Id,
                        IsAnonymousAccessAllowed = deploymentSpecificationRequestPoliciesAuthenticationIsAnonymousAccessAllowed,
                        Issuers = deploymentSpecificationRequestPoliciesAuthenticationIssuers,
                        MaxClockSkewInSeconds = deploymentSpecificationRequestPoliciesAuthenticationMaxClockSkewInSeconds,
                        Parameters = deploymentSpecificationRequestPoliciesAuthenticationParameters,
                        PublicKeys = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysArgs
                        {
                            Type = deploymentSpecificationRequestPoliciesAuthenticationPublicKeysType,
                            IsSslVerifyDisabled = deploymentSpecificationRequestPoliciesAuthenticationPublicKeysIsSslVerifyDisabled,
                            Keys = new[]
                            {
                                new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeyArgs
                                {
                                    Format = deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysFormat,
                                    Alg = deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysAlg,
                                    E = deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysE,
                                    Key = deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKey,
                                    KeyOps = deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKeyOps,
                                    Kid = deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKid,
                                    Kty = deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKty,
                                    N = deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysN,
                                    Use = deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysUse,
                                },
                            },
                            MaxCacheDurationInHours = deploymentSpecificationRequestPoliciesAuthenticationPublicKeysMaxCacheDurationInHours,
                            Uri = deploymentSpecificationRequestPoliciesAuthenticationPublicKeysUri,
                        },
                        TokenAuthScheme = deploymentSpecificationRequestPoliciesAuthenticationTokenAuthScheme,
                        TokenHeader = deploymentSpecificationRequestPoliciesAuthenticationTokenHeader,
                        TokenQueryParam = deploymentSpecificationRequestPoliciesAuthenticationTokenQueryParam,
                        ValidationFailurePolicy = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyArgs
                        {
                            Type = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyType,
                            ClientDetails = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsArgs
                            {
                                Type = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsType,
                                ClientId = testClient.Id,
                                ClientSecretId = testSecret.Id,
                                ClientSecretVersionNumber = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsClientSecretVersionNumber,
                            },
                            FallbackRedirectPath = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyFallbackRedirectPath,
                            LogoutPath = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyLogoutPath,
                            MaxExpiryDurationInHours = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyMaxExpiryDurationInHours,
                            ResponseCode = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseCode,
                            ResponseHeaderTransformations = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsArgs
                            {
                                FilterHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersArgs
                                {
                                    Items = new[]
                                    {
                                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArgs
                                        {
                                            Name = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemsName,
                                        },
                                    },
                                    Type = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersType,
                                },
                                RenameHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersArgs
                                {
                                    Items = new[]
                                    {
                                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArgs
                                        {
                                            From = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsFrom,
                                            To = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsTo,
                                        },
                                    },
                                },
                                SetHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersArgs
                                {
                                    Items = new[]
                                    {
                                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArgs
                                        {
                                            IfExists = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsIfExists,
                                            Name = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsName,
                                            Values = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsValues,
                                        },
                                    },
                                },
                            },
                            ResponseMessage = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseMessage,
                            ResponseType = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseType,
                            Scopes = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyScopes,
                            SourceUriDetails = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsArgs
                            {
                                Type = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsType,
                                Uri = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsUri,
                            },
                            UseCookiesForIntermediateSteps = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUseCookiesForIntermediateSteps,
                            UseCookiesForSession = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUseCookiesForSession,
                            UsePkce = deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUsePkce,
                        },
                        ValidationPolicy = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyArgs
                        {
                            Type = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyType,
                            AdditionalValidationPolicy = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyArgs
                            {
                                Audiences = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyAudiences,
                                Issuers = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyIssuers,
                                VerifyClaims = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimArgs
                                    {
                                        IsRequired = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsIsRequired,
                                        Key = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsKey,
                                        Values = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsValues,
                                    },
                                },
                            },
                            ClientDetails = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsArgs
                            {
                                Type = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsType,
                                ClientId = testClient.Id,
                                ClientSecretId = testSecret.Id,
                                ClientSecretVersionNumber = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsClientSecretVersionNumber,
                            },
                            IsSslVerifyDisabled = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyIsSslVerifyDisabled,
                            Keys = new[]
                            {
                                new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeyArgs
                                {
                                    Format = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysFormat,
                                    Alg = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysAlg,
                                    E = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysE,
                                    Key = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKey,
                                    KeyOps = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKeyOps,
                                    Kid = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKid,
                                    Kty = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKty,
                                    N = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysN,
                                    Use = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysUse,
                                },
                            },
                            MaxCacheDurationInHours = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyMaxCacheDurationInHours,
                            SourceUriDetails = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsArgs
                            {
                                Type = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsType,
                                Uri = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsUri,
                            },
                            Uri = deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyUri,
                        },
                        VerifyClaims = new[]
                        {
                            new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationVerifyClaimArgs
                            {
                                IsRequired = deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsIsRequired,
                                Key = deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsKey,
                                Values = deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsValues,
                            },
                        },
                    },
                    Cors = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesCorsArgs
                    {
                        AllowedOrigins = deploymentSpecificationRequestPoliciesCorsAllowedOrigins,
                        AllowedHeaders = deploymentSpecificationRequestPoliciesCorsAllowedHeaders,
                        AllowedMethods = deploymentSpecificationRequestPoliciesCorsAllowedMethods,
                        ExposedHeaders = deploymentSpecificationRequestPoliciesCorsExposedHeaders,
                        IsAllowCredentialsEnabled = deploymentSpecificationRequestPoliciesCorsIsAllowCredentialsEnabled,
                        MaxAgeInSeconds = deploymentSpecificationRequestPoliciesCorsMaxAgeInSeconds,
                    },
                    DynamicAuthentication = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationArgs
                    {
                        AuthenticationServers = new[]
                        {
                            new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerArgs
                            {
                                AuthenticationServerDetail = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailArgs
                                {
                                    Type = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailType,
                                    Audiences = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailAudiences,
                                    FunctionId = testFunction.Id,
                                    IsAnonymousAccessAllowed = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailIsAnonymousAccessAllowed,
                                    Issuers = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailIssuers,
                                    MaxClockSkewInSeconds = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailMaxClockSkewInSeconds,
                                    PublicKeys = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysArgs
                                    {
                                        Type = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysType,
                                        IsSslVerifyDisabled = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysIsSslVerifyDisabled,
                                        Keys = new[]
                                        {
                                            new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysKeyArgs
                                            {
                                                Format = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysFormat,
                                                Alg = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysAlg,
                                                E = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysE,
                                                Key = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKey,
                                                KeyOps = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKeyOps,
                                                Kid = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKid,
                                                Kty = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKty,
                                                N = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysN,
                                                Use = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysUse,
                                            },
                                        },
                                        MaxCacheDurationInHours = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysMaxCacheDurationInHours,
                                        Uri = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysUri,
                                    },
                                    TokenAuthScheme = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailTokenAuthScheme,
                                    TokenHeader = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailTokenHeader,
                                    TokenQueryParam = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailTokenQueryParam,
                                    ValidationFailurePolicy = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyArgs
                                    {
                                        Type = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyType,
                                        ClientDetails = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyClientDetailsArgs
                                        {
                                            Type = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyClientDetailsType,
                                            ClientId = testClient.Id,
                                            ClientSecretId = testSecret.Id,
                                            ClientSecretVersionNumber = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyClientDetailsClientSecretVersionNumber,
                                        },
                                        FallbackRedirectPath = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyFallbackRedirectPath,
                                        LogoutPath = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyLogoutPath,
                                        MaxExpiryDurationInHours = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyMaxExpiryDurationInHours,
                                        ResponseCode = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseCode,
                                        ResponseHeaderTransformations = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsArgs
                                        {
                                            FilterHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersArgs
                                            {
                                                Items = new[]
                                                {
                                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArgs
                                                    {
                                                        Name = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemsName,
                                                    },
                                                },
                                                Type = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersType,
                                            },
                                            RenameHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersArgs
                                            {
                                                Items = new[]
                                                {
                                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArgs
                                                    {
                                                        From = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsFrom,
                                                        To = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsTo,
                                                    },
                                                },
                                            },
                                            SetHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersArgs
                                            {
                                                Items = new[]
                                                {
                                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArgs
                                                    {
                                                        IfExists = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsIfExists,
                                                        Name = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsName,
                                                        Values = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsValues,
                                                    },
                                                },
                                            },
                                        },
                                        ResponseMessage = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseMessage,
                                        ResponseType = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseType,
                                        Scopes = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyScopes,
                                        SourceUriDetails = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicySourceUriDetailsArgs
                                        {
                                            Type = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicySourceUriDetailsType,
                                            Uri = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicySourceUriDetailsUri,
                                        },
                                        UseCookiesForIntermediateSteps = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUseCookiesForIntermediateSteps,
                                        UseCookiesForSession = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUseCookiesForSession,
                                        UsePkce = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUsePkce,
                                    },
                                    ValidationPolicy = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyArgs
                                    {
                                        Type = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyType,
                                        AdditionalValidationPolicy = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyArgs
                                        {
                                            Audiences = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyAudiences,
                                            Issuers = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyIssuers,
                                            VerifyClaims = new[]
                                            {
                                                new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimArgs
                                                {
                                                    IsRequired = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsIsRequired,
                                                    Key = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsKey,
                                                    Values = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsValues,
                                                },
                                            },
                                        },
                                        ClientDetails = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyClientDetailsArgs
                                        {
                                            Type = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyClientDetailsType,
                                            ClientId = testClient.Id,
                                            ClientSecretId = testSecret.Id,
                                            ClientSecretVersionNumber = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyClientDetailsClientSecretVersionNumber,
                                        },
                                        IsSslVerifyDisabled = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyIsSslVerifyDisabled,
                                        Keys = new[]
                                        {
                                            new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyKeyArgs
                                            {
                                                Format = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysFormat,
                                                Alg = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysAlg,
                                                E = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysE,
                                                Key = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKey,
                                                KeyOps = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKeyOps,
                                                Kid = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKid,
                                                Kty = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKty,
                                                N = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysN,
                                                Use = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysUse,
                                            },
                                        },
                                        MaxCacheDurationInHours = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyMaxCacheDurationInHours,
                                        SourceUriDetails = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicySourceUriDetailsArgs
                                        {
                                            Type = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicySourceUriDetailsType,
                                            Uri = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicySourceUriDetailsUri,
                                        },
                                        Uri = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyUri,
                                    },
                                    VerifyClaims = new[]
                                    {
                                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailVerifyClaimArgs
                                        {
                                            IsRequired = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsIsRequired,
                                            Key = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsKey,
                                            Values = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsValues,
                                        },
                                    },
                                },
                                Key = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerKeyArgs
                                {
                                    Name = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyName,
                                    Expression = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyExpression,
                                    IsDefault = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyIsDefault,
                                    Type = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyType,
                                    Values = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyValues,
                                },
                            },
                        },
                        SelectionSource = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceArgs
                        {
                            Selector = deploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceSelector,
                            Type = deploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceType,
                        },
                    },
                    MutualTls = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesMutualTlsArgs
                    {
                        AllowedSans = deploymentSpecificationRequestPoliciesMutualTlsAllowedSans,
                        IsVerifiedCertificateRequired = deploymentSpecificationRequestPoliciesMutualTlsIsVerifiedCertificateRequired,
                    },
                    RateLimiting = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesRateLimitingArgs
                    {
                        RateInRequestsPerSecond = deploymentSpecificationRequestPoliciesRateLimitingRateInRequestsPerSecond,
                        RateKey = deploymentSpecificationRequestPoliciesRateLimitingRateKey,
                    },
                    UsagePlans = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesUsagePlansArgs
                    {
                        TokenLocations = deploymentSpecificationRequestPoliciesUsagePlansTokenLocations,
                    },
                },
                Routes = new[]
                {
                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteArgs
                    {
                        Backend = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteBackendArgs
                        {
                            Type = deploymentSpecificationRoutesBackendType,
                            AllowedPostLogoutUris = deploymentSpecificationRoutesBackendAllowedPostLogoutUris,
                            Body = deploymentSpecificationRoutesBackendBody,
                            ConnectTimeoutInSeconds = deploymentSpecificationRoutesBackendConnectTimeoutInSeconds,
                            FunctionId = testFunction.Id,
                            Headers = new[]
                            {
                                new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteBackendHeaderArgs
                                {
                                    Name = deploymentSpecificationRoutesBackendHeadersName,
                                    Value = deploymentSpecificationRoutesBackendHeadersValue,
                                },
                            },
                            IsSslVerifyDisabled = deploymentSpecificationRoutesBackendIsSslVerifyDisabled,
                            PostLogoutState = deploymentSpecificationRoutesBackendPostLogoutState,
                            ReadTimeoutInSeconds = deploymentSpecificationRoutesBackendReadTimeoutInSeconds,
                            RoutingBackends = new[]
                            {
                                new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteBackendRoutingBackendArgs
                                {
                                    Backend = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteBackendRoutingBackendBackendArgs
                                    {
                                        Type = deploymentSpecificationRoutesBackendRoutingBackendsBackendType,
                                        Body = deploymentSpecificationRoutesBackendRoutingBackendsBackendBody,
                                        ConnectTimeoutInSeconds = deploymentSpecificationRoutesBackendRoutingBackendsBackendConnectTimeoutInSeconds,
                                        FunctionId = testFunction.Id,
                                        Headers = new[]
                                        {
                                            new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteBackendRoutingBackendBackendHeaderArgs
                                            {
                                                Name = deploymentSpecificationRoutesBackendRoutingBackendsBackendHeadersName,
                                                Value = deploymentSpecificationRoutesBackendRoutingBackendsBackendHeadersValue,
                                            },
                                        },
                                        IsSslVerifyDisabled = deploymentSpecificationRoutesBackendRoutingBackendsBackendIsSslVerifyDisabled,
                                        ReadTimeoutInSeconds = deploymentSpecificationRoutesBackendRoutingBackendsBackendReadTimeoutInSeconds,
                                        SendTimeoutInSeconds = deploymentSpecificationRoutesBackendRoutingBackendsBackendSendTimeoutInSeconds,
                                        Status = deploymentSpecificationRoutesBackendRoutingBackendsBackendStatus,
                                        Url = deploymentSpecificationRoutesBackendRoutingBackendsBackendUrl,
                                    },
                                    Key = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteBackendRoutingBackendKeyArgs
                                    {
                                        Name = deploymentSpecificationRoutesBackendRoutingBackendsKeyName,
                                        Type = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyType,
                                        Expression = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyExpression,
                                        IsDefault = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyIsDefault,
                                        Values = deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyValues,
                                    },
                                },
                            },
                            SelectionSource = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteBackendSelectionSourceArgs
                            {
                                Selector = deploymentSpecificationRoutesBackendSelectionSourceSelector,
                                Type = deploymentSpecificationRoutesBackendSelectionSourceType,
                            },
                            SendTimeoutInSeconds = deploymentSpecificationRoutesBackendSendTimeoutInSeconds,
                            Status = deploymentSpecificationRoutesBackendStatus,
                            Url = deploymentSpecificationRoutesBackendUrl,
                        },
                        Path = deploymentSpecificationRoutesPath,
                        LoggingPolicies = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteLoggingPoliciesArgs
                        {
                            AccessLog = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteLoggingPoliciesAccessLogArgs
                            {
                                IsEnabled = deploymentSpecificationRoutesLoggingPoliciesAccessLogIsEnabled,
                            },
                            ExecutionLog = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteLoggingPoliciesExecutionLogArgs
                            {
                                IsEnabled = deploymentSpecificationRoutesLoggingPoliciesExecutionLogIsEnabled,
                                LogLevel = deploymentSpecificationRoutesLoggingPoliciesExecutionLogLogLevel,
                            },
                        },
                        Methods = deploymentSpecificationRoutesMethods,
                        RequestPolicies = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesArgs
                        {
                            Authorization = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesAuthorizationArgs
                            {
                                AllowedScopes = deploymentSpecificationRoutesRequestPoliciesAuthorizationAllowedScope,
                                Type = deploymentSpecificationRoutesRequestPoliciesAuthorizationType,
                            },
                            BodyValidation = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesBodyValidationArgs
                            {
                                Contents = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesBodyValidationContentArgs
                                    {
                                        MediaType = deploymentSpecificationRoutesRequestPoliciesBodyValidationContentMediaType,
                                        ValidationType = deploymentSpecificationRoutesRequestPoliciesBodyValidationContentValidationType,
                                    },
                                },
                                Required = deploymentSpecificationRoutesRequestPoliciesBodyValidationRequired,
                                ValidationMode = deploymentSpecificationRoutesRequestPoliciesBodyValidationValidationMode,
                            },
                            Cors = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesCorsArgs
                            {
                                AllowedOrigins = deploymentSpecificationRoutesRequestPoliciesCorsAllowedOrigins,
                                AllowedHeaders = deploymentSpecificationRoutesRequestPoliciesCorsAllowedHeaders,
                                AllowedMethods = deploymentSpecificationRoutesRequestPoliciesCorsAllowedMethods,
                                ExposedHeaders = deploymentSpecificationRoutesRequestPoliciesCorsExposedHeaders,
                                IsAllowCredentialsEnabled = deploymentSpecificationRoutesRequestPoliciesCorsIsAllowCredentialsEnabled,
                                MaxAgeInSeconds = deploymentSpecificationRoutesRequestPoliciesCorsMaxAgeInSeconds,
                            },
                            HeaderTransformations = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsArgs
                            {
                                FilterHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersArgs
                                {
                                    Items = new[]
                                    {
                                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersItemArgs
                                        {
                                            Name = deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsFilterHeadersItemsName,
                                        },
                                    },
                                    Type = deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsFilterHeadersType,
                                },
                                RenameHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersArgs
                                {
                                    Items = new[]
                                    {
                                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersItemArgs
                                        {
                                            From = deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsRenameHeadersItemsFrom,
                                            To = deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsRenameHeadersItemsTo,
                                        },
                                    },
                                },
                                SetHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersArgs
                                {
                                    Items = new[]
                                    {
                                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersItemArgs
                                        {
                                            Name = deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsSetHeadersItemsName,
                                            Values = deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsSetHeadersItemsValues,
                                            IfExists = deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsSetHeadersItemsIfExists,
                                        },
                                    },
                                },
                            },
                            HeaderValidations = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderValidationsArgs
                            {
                                Headers = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderValidationsHeaderArgs
                                    {
                                        Name = deploymentSpecificationRoutesRequestPoliciesHeaderValidationsHeadersName,
                                        Required = deploymentSpecificationRoutesRequestPoliciesHeaderValidationsHeadersRequired,
                                    },
                                },
                                ValidationMode = deploymentSpecificationRoutesRequestPoliciesHeaderValidationsValidationMode,
                            },
                            QueryParameterTransformations = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsArgs
                            {
                                FilterQueryParameters = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersArgs
                                {
                                    Items = new[]
                                    {
                                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersItemArgs
                                        {
                                            Name = deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsFilterQueryParametersItemsName,
                                        },
                                    },
                                    Type = deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsFilterQueryParametersType,
                                },
                                RenameQueryParameters = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersArgs
                                {
                                    Items = new[]
                                    {
                                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemArgs
                                        {
                                            From = deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemsFrom,
                                            To = deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemsTo,
                                        },
                                    },
                                },
                                SetQueryParameters = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersArgs
                                {
                                    Items = new[]
                                    {
                                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersItemArgs
                                        {
                                            Name = deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsSetQueryParametersItemsName,
                                            Values = deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsSetQueryParametersItemsValues,
                                            IfExists = deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsSetQueryParametersItemsIfExists,
                                        },
                                    },
                                },
                            },
                            QueryParameterValidations = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsArgs
                            {
                                Parameters = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsParameterArgs
                                    {
                                        Name = deploymentSpecificationRoutesRequestPoliciesQueryParameterValidationsParametersName,
                                        Required = deploymentSpecificationRoutesRequestPoliciesQueryParameterValidationsParametersRequired,
                                    },
                                },
                                ValidationMode = deploymentSpecificationRoutesRequestPoliciesQueryParameterValidationsValidationMode,
                            },
                            ResponseCacheLookup = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesResponseCacheLookupArgs
                            {
                                Type = deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupType,
                                CacheKeyAdditions = deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupCacheKeyAdditions,
                                IsEnabled = deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupIsEnabled,
                                IsPrivateCachingEnabled = deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupIsPrivateCachingEnabled,
                            },
                        },
                        ResponsePolicies = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesArgs
                        {
                            HeaderTransformations = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsArgs
                            {
                                FilterHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersArgs
                                {
                                    Items = new[]
                                    {
                                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersItemArgs
                                        {
                                            Name = deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsFilterHeadersItemsName,
                                        },
                                    },
                                    Type = deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsFilterHeadersType,
                                },
                                RenameHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersArgs
                                {
                                    Items = new[]
                                    {
                                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersItemArgs
                                        {
                                            From = deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsRenameHeadersItemsFrom,
                                            To = deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsRenameHeadersItemsTo,
                                        },
                                    },
                                },
                                SetHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersArgs
                                {
                                    Items = new[]
                                    {
                                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersItemArgs
                                        {
                                            Name = deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsName,
                                            Values = deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsValues,
                                            IfExists = deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsIfExists,
                                        },
                                    },
                                },
                            },
                            ResponseCacheStore = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesResponseCacheStoreArgs
                            {
                                TimeToLiveInSeconds = deploymentSpecificationRoutesResponsePoliciesResponseCacheStoreTimeToLiveInSeconds,
                                Type = deploymentSpecificationRoutesResponsePoliciesResponseCacheStoreType,
                            },
                        },
                    },
                },
            },
            DefinedTags = 
            {
                { "Operations.CostCenter", "42" },
            },
            DisplayName = deploymentDisplayName,
            FreeformTags = 
            {
                { "Department", "Finance" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.oci.ApiGateway.Deployment;
    import com.pulumi.oci.ApiGateway.DeploymentArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationLoggingPoliciesArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationLoggingPoliciesAccessLogArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationLoggingPoliciesExecutionLogArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesAuthenticationArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesCorsArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesMutualTlsArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesRateLimitingArgs;
    import com.pulumi.oci.ApiGateway.inputs.DeploymentSpecificationRequestPoliciesUsagePlansArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var testDeployment = new Deployment("testDeployment", DeploymentArgs.builder()
                .compartmentId(compartmentId)
                .gatewayId(testGateway.id())
                .pathPrefix(deploymentPathPrefix)
                .specification(DeploymentSpecificationArgs.builder()
                    .loggingPolicies(DeploymentSpecificationLoggingPoliciesArgs.builder()
                        .accessLog(DeploymentSpecificationLoggingPoliciesAccessLogArgs.builder()
                            .isEnabled(deploymentSpecificationLoggingPoliciesAccessLogIsEnabled)
                            .build())
                        .executionLog(DeploymentSpecificationLoggingPoliciesExecutionLogArgs.builder()
                            .isEnabled(deploymentSpecificationLoggingPoliciesExecutionLogIsEnabled)
                            .logLevel(deploymentSpecificationLoggingPoliciesExecutionLogLogLevel)
                            .build())
                        .build())
                    .requestPolicies(DeploymentSpecificationRequestPoliciesArgs.builder()
                        .authentication(DeploymentSpecificationRequestPoliciesAuthenticationArgs.builder()
                            .type(deploymentSpecificationRequestPoliciesAuthenticationType)
                            .audiences(deploymentSpecificationRequestPoliciesAuthenticationAudiences)
                            .cacheKeys(deploymentSpecificationRequestPoliciesAuthenticationCacheKey)
                            .functionId(testFunction.id())
                            .isAnonymousAccessAllowed(deploymentSpecificationRequestPoliciesAuthenticationIsAnonymousAccessAllowed)
                            .issuers(deploymentSpecificationRequestPoliciesAuthenticationIssuers)
                            .maxClockSkewInSeconds(deploymentSpecificationRequestPoliciesAuthenticationMaxClockSkewInSeconds)
                            .parameters(deploymentSpecificationRequestPoliciesAuthenticationParameters)
                            .publicKeys(DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysArgs.builder()
                                .type(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysType)
                                .isSslVerifyDisabled(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysIsSslVerifyDisabled)
                                .keys(DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeyArgs.builder()
                                    .format(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysFormat)
                                    .alg(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysAlg)
                                    .e(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysE)
                                    .key(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKey)
                                    .keyOps(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKeyOps)
                                    .kid(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKid)
                                    .kty(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKty)
                                    .n(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysN)
                                    .use(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysUse)
                                    .build())
                                .maxCacheDurationInHours(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysMaxCacheDurationInHours)
                                .uri(deploymentSpecificationRequestPoliciesAuthenticationPublicKeysUri)
                                .build())
                            .tokenAuthScheme(deploymentSpecificationRequestPoliciesAuthenticationTokenAuthScheme)
                            .tokenHeader(deploymentSpecificationRequestPoliciesAuthenticationTokenHeader)
                            .tokenQueryParam(deploymentSpecificationRequestPoliciesAuthenticationTokenQueryParam)
                            .validationFailurePolicy(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyArgs.builder()
                                .type(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyType)
                                .clientDetails(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsArgs.builder()
                                    .type(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsType)
                                    .clientId(testClient.id())
                                    .clientSecretId(testSecret.id())
                                    .clientSecretVersionNumber(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsClientSecretVersionNumber)
                                    .build())
                                .fallbackRedirectPath(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyFallbackRedirectPath)
                                .logoutPath(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyLogoutPath)
                                .maxExpiryDurationInHours(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyMaxExpiryDurationInHours)
                                .responseCode(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseCode)
                                .responseHeaderTransformations(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsArgs.builder()
                                    .filterHeaders(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersArgs.builder()
                                        .items(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArgs.builder()
                                            .name(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemsName)
                                            .build())
                                        .type(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersType)
                                        .build())
                                    .renameHeaders(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersArgs.builder()
                                        .items(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArgs.builder()
                                            .from(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsFrom)
                                            .to(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsTo)
                                            .build())
                                        .build())
                                    .setHeaders(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersArgs.builder()
                                        .items(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArgs.builder()
                                            .ifExists(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsIfExists)
                                            .name(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsName)
                                            .values(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsValues)
                                            .build())
                                        .build())
                                    .build())
                                .responseMessage(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseMessage)
                                .responseType(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseType)
                                .scopes(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyScopes)
                                .sourceUriDetails(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsArgs.builder()
                                    .type(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsType)
                                    .uri(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsUri)
                                    .build())
                                .useCookiesForIntermediateSteps(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUseCookiesForIntermediateSteps)
                                .useCookiesForSession(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUseCookiesForSession)
                                .usePkce(deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUsePkce)
                                .build())
                            .validationPolicy(DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyArgs.builder()
                                .type(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyType)
                                .additionalValidationPolicy(DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyArgs.builder()
                                    .audiences(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyAudiences)
                                    .issuers(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyIssuers)
                                    .verifyClaims(DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimArgs.builder()
                                        .isRequired(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsIsRequired)
                                        .key(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsKey)
                                        .values(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsValues)
                                        .build())
                                    .build())
                                .clientDetails(DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsArgs.builder()
                                    .type(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsType)
                                    .clientId(testClient.id())
                                    .clientSecretId(testSecret.id())
                                    .clientSecretVersionNumber(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsClientSecretVersionNumber)
                                    .build())
                                .isSslVerifyDisabled(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyIsSslVerifyDisabled)
                                .keys(DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeyArgs.builder()
                                    .format(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysFormat)
                                    .alg(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysAlg)
                                    .e(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysE)
                                    .key(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKey)
                                    .keyOps(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKeyOps)
                                    .kid(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKid)
                                    .kty(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKty)
                                    .n(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysN)
                                    .use(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysUse)
                                    .build())
                                .maxCacheDurationInHours(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyMaxCacheDurationInHours)
                                .sourceUriDetails(DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsArgs.builder()
                                    .type(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsType)
                                    .uri(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsUri)
                                    .build())
                                .uri(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyUri)
                                .build())
                            .verifyClaims(DeploymentSpecificationRequestPoliciesAuthenticationVerifyClaimArgs.builder()
                                .isRequired(deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsIsRequired)
                                .key(deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsKey)
                                .values(deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsValues)
                                .build())
                            .build())
                        .cors(DeploymentSpecificationRequestPoliciesCorsArgs.builder()
                            .allowedOrigins(deploymentSpecificationRequestPoliciesCorsAllowedOrigins)
                            .allowedHeaders(deploymentSpecificationRequestPoliciesCorsAllowedHeaders)
                            .allowedMethods(deploymentSpecificationRequestPoliciesCorsAllowedMethods)
                            .exposedHeaders(deploymentSpecificationRequestPoliciesCorsExposedHeaders)
                            .isAllowCredentialsEnabled(deploymentSpecificationRequestPoliciesCorsIsAllowCredentialsEnabled)
                            .maxAgeInSeconds(deploymentSpecificationRequestPoliciesCorsMaxAgeInSeconds)
                            .build())
                        .dynamicAuthentication(DeploymentSpecificationRequestPoliciesDynamicAuthenticationArgs.builder()
                            .authenticationServers(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerArgs.builder()
                                .authenticationServerDetail(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailArgs.builder()
                                    .type(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailType)
                                    .audiences(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailAudiences)
                                    .functionId(testFunction.id())
                                    .isAnonymousAccessAllowed(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailIsAnonymousAccessAllowed)
                                    .issuers(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailIssuers)
                                    .maxClockSkewInSeconds(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailMaxClockSkewInSeconds)
                                    .publicKeys(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysArgs.builder()
                                        .type(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysType)
                                        .isSslVerifyDisabled(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysIsSslVerifyDisabled)
                                        .keys(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysKeyArgs.builder()
                                            .format(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysFormat)
                                            .alg(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysAlg)
                                            .e(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysE)
                                            .key(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKey)
                                            .keyOps(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKeyOps)
                                            .kid(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKid)
                                            .kty(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKty)
                                            .n(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysN)
                                            .use(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysUse)
                                            .build())
                                        .maxCacheDurationInHours(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysMaxCacheDurationInHours)
                                        .uri(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysUri)
                                        .build())
                                    .tokenAuthScheme(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailTokenAuthScheme)
                                    .tokenHeader(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailTokenHeader)
                                    .tokenQueryParam(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailTokenQueryParam)
                                    .validationFailurePolicy(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyArgs.builder()
                                        .type(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyType)
                                        .clientDetails(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyClientDetailsArgs.builder()
                                            .type(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyClientDetailsType)
                                            .clientId(testClient.id())
                                            .clientSecretId(testSecret.id())
                                            .clientSecretVersionNumber(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyClientDetailsClientSecretVersionNumber)
                                            .build())
                                        .fallbackRedirectPath(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyFallbackRedirectPath)
                                        .logoutPath(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyLogoutPath)
                                        .maxExpiryDurationInHours(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyMaxExpiryDurationInHours)
                                        .responseCode(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseCode)
                                        .responseHeaderTransformations(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsArgs.builder()
                                            .filterHeaders(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersArgs.builder()
                                                .items(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArgs.builder()
                                                    .name(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemsName)
                                                    .build())
                                                .type(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersType)
                                                .build())
                                            .renameHeaders(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersArgs.builder()
                                                .items(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArgs.builder()
                                                    .from(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsFrom)
                                                    .to(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsTo)
                                                    .build())
                                                .build())
                                            .setHeaders(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersArgs.builder()
                                                .items(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArgs.builder()
                                                    .ifExists(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsIfExists)
                                                    .name(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsName)
                                                    .values(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsValues)
                                                    .build())
                                                .build())
                                            .build())
                                        .responseMessage(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseMessage)
                                        .responseType(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseType)
                                        .scopes(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyScopes)
                                        .sourceUriDetails(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicySourceUriDetailsArgs.builder()
                                            .type(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicySourceUriDetailsType)
                                            .uri(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicySourceUriDetailsUri)
                                            .build())
                                        .useCookiesForIntermediateSteps(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUseCookiesForIntermediateSteps)
                                        .useCookiesForSession(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUseCookiesForSession)
                                        .usePkce(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUsePkce)
                                        .build())
                                    .validationPolicy(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyArgs.builder()
                                        .type(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyType)
                                        .additionalValidationPolicy(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyArgs.builder()
                                            .audiences(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyAudiences)
                                            .issuers(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyIssuers)
                                            .verifyClaims(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimArgs.builder()
                                                .isRequired(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsIsRequired)
                                                .key(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsKey)
                                                .values(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsValues)
                                                .build())
                                            .build())
                                        .clientDetails(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyClientDetailsArgs.builder()
                                            .type(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyClientDetailsType)
                                            .clientId(testClient.id())
                                            .clientSecretId(testSecret.id())
                                            .clientSecretVersionNumber(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyClientDetailsClientSecretVersionNumber)
                                            .build())
                                        .isSslVerifyDisabled(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyIsSslVerifyDisabled)
                                        .keys(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyKeyArgs.builder()
                                            .format(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysFormat)
                                            .alg(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysAlg)
                                            .e(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysE)
                                            .key(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKey)
                                            .keyOps(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKeyOps)
                                            .kid(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKid)
                                            .kty(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKty)
                                            .n(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysN)
                                            .use(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysUse)
                                            .build())
                                        .maxCacheDurationInHours(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyMaxCacheDurationInHours)
                                        .sourceUriDetails(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicySourceUriDetailsArgs.builder()
                                            .type(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicySourceUriDetailsType)
                                            .uri(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicySourceUriDetailsUri)
                                            .build())
                                        .uri(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyUri)
                                        .build())
                                    .verifyClaims(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailVerifyClaimArgs.builder()
                                        .isRequired(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsIsRequired)
                                        .key(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsKey)
                                        .values(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsValues)
                                        .build())
                                    .build())
                                .key(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerKeyArgs.builder()
                                    .name(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyName)
                                    .expression(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyExpression)
                                    .isDefault(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyIsDefault)
                                    .type(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyType)
                                    .values(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyValues)
                                    .build())
                                .build())
                            .selectionSource(DeploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceArgs.builder()
                                .selector(deploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceSelector)
                                .type(deploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceType)
                                .build())
                            .build())
                        .mutualTls(DeploymentSpecificationRequestPoliciesMutualTlsArgs.builder()
                            .allowedSans(deploymentSpecificationRequestPoliciesMutualTlsAllowedSans)
                            .isVerifiedCertificateRequired(deploymentSpecificationRequestPoliciesMutualTlsIsVerifiedCertificateRequired)
                            .build())
                        .rateLimiting(DeploymentSpecificationRequestPoliciesRateLimitingArgs.builder()
                            .rateInRequestsPerSecond(deploymentSpecificationRequestPoliciesRateLimitingRateInRequestsPerSecond)
                            .rateKey(deploymentSpecificationRequestPoliciesRateLimitingRateKey)
                            .build())
                        .usagePlans(DeploymentSpecificationRequestPoliciesUsagePlansArgs.builder()
                            .tokenLocations(deploymentSpecificationRequestPoliciesUsagePlansTokenLocations)
                            .build())
                        .build())
                    .routes(DeploymentSpecificationRouteArgs.builder()
                        .backend(DeploymentSpecificationRouteBackendArgs.builder()
                            .type(deploymentSpecificationRoutesBackendType)
                            .allowedPostLogoutUris(deploymentSpecificationRoutesBackendAllowedPostLogoutUris)
                            .body(deploymentSpecificationRoutesBackendBody)
                            .connectTimeoutInSeconds(deploymentSpecificationRoutesBackendConnectTimeoutInSeconds)
                            .functionId(testFunction.id())
                            .headers(DeploymentSpecificationRouteBackendHeaderArgs.builder()
                                .name(deploymentSpecificationRoutesBackendHeadersName)
                                .value(deploymentSpecificationRoutesBackendHeadersValue)
                                .build())
                            .isSslVerifyDisabled(deploymentSpecificationRoutesBackendIsSslVerifyDisabled)
                            .postLogoutState(deploymentSpecificationRoutesBackendPostLogoutState)
                            .readTimeoutInSeconds(deploymentSpecificationRoutesBackendReadTimeoutInSeconds)
                            .routingBackends(DeploymentSpecificationRouteBackendRoutingBackendArgs.builder()
                                .backend(DeploymentSpecificationRouteBackendRoutingBackendBackendArgs.builder()
                                    .type(deploymentSpecificationRoutesBackendRoutingBackendsBackendType)
                                    .body(deploymentSpecificationRoutesBackendRoutingBackendsBackendBody)
                                    .connectTimeoutInSeconds(deploymentSpecificationRoutesBackendRoutingBackendsBackendConnectTimeoutInSeconds)
                                    .functionId(testFunction.id())
                                    .headers(DeploymentSpecificationRouteBackendRoutingBackendBackendHeaderArgs.builder()
                                        .name(deploymentSpecificationRoutesBackendRoutingBackendsBackendHeadersName)
                                        .value(deploymentSpecificationRoutesBackendRoutingBackendsBackendHeadersValue)
                                        .build())
                                    .isSslVerifyDisabled(deploymentSpecificationRoutesBackendRoutingBackendsBackendIsSslVerifyDisabled)
                                    .readTimeoutInSeconds(deploymentSpecificationRoutesBackendRoutingBackendsBackendReadTimeoutInSeconds)
                                    .sendTimeoutInSeconds(deploymentSpecificationRoutesBackendRoutingBackendsBackendSendTimeoutInSeconds)
                                    .status(deploymentSpecificationRoutesBackendRoutingBackendsBackendStatus)
                                    .url(deploymentSpecificationRoutesBackendRoutingBackendsBackendUrl)
                                    .build())
                                .key(DeploymentSpecificationRouteBackendRoutingBackendKeyArgs.builder()
                                    .name(deploymentSpecificationRoutesBackendRoutingBackendsKeyName)
                                    .type(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyType)
                                    .expression(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyExpression)
                                    .isDefault(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyIsDefault)
                                    .values(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyValues)
                                    .build())
                                .build())
                            .selectionSource(DeploymentSpecificationRouteBackendSelectionSourceArgs.builder()
                                .selector(deploymentSpecificationRoutesBackendSelectionSourceSelector)
                                .type(deploymentSpecificationRoutesBackendSelectionSourceType)
                                .build())
                            .sendTimeoutInSeconds(deploymentSpecificationRoutesBackendSendTimeoutInSeconds)
                            .status(deploymentSpecificationRoutesBackendStatus)
                            .url(deploymentSpecificationRoutesBackendUrl)
                            .build())
                        .path(deploymentSpecificationRoutesPath)
                        .loggingPolicies(DeploymentSpecificationRouteLoggingPoliciesArgs.builder()
                            .accessLog(DeploymentSpecificationRouteLoggingPoliciesAccessLogArgs.builder()
                                .isEnabled(deploymentSpecificationRoutesLoggingPoliciesAccessLogIsEnabled)
                                .build())
                            .executionLog(DeploymentSpecificationRouteLoggingPoliciesExecutionLogArgs.builder()
                                .isEnabled(deploymentSpecificationRoutesLoggingPoliciesExecutionLogIsEnabled)
                                .logLevel(deploymentSpecificationRoutesLoggingPoliciesExecutionLogLogLevel)
                                .build())
                            .build())
                        .methods(deploymentSpecificationRoutesMethods)
                        .requestPolicies(DeploymentSpecificationRouteRequestPoliciesArgs.builder()
                            .authorization(DeploymentSpecificationRouteRequestPoliciesAuthorizationArgs.builder()
                                .allowedScopes(deploymentSpecificationRoutesRequestPoliciesAuthorizationAllowedScope)
                                .type(deploymentSpecificationRoutesRequestPoliciesAuthorizationType)
                                .build())
                            .bodyValidation(DeploymentSpecificationRouteRequestPoliciesBodyValidationArgs.builder()
                                .contents(DeploymentSpecificationRouteRequestPoliciesBodyValidationContentArgs.builder()
                                    .mediaType(deploymentSpecificationRoutesRequestPoliciesBodyValidationContentMediaType)
                                    .validationType(deploymentSpecificationRoutesRequestPoliciesBodyValidationContentValidationType)
                                    .build())
                                .required(deploymentSpecificationRoutesRequestPoliciesBodyValidationRequired)
                                .validationMode(deploymentSpecificationRoutesRequestPoliciesBodyValidationValidationMode)
                                .build())
                            .cors(DeploymentSpecificationRouteRequestPoliciesCorsArgs.builder()
                                .allowedOrigins(deploymentSpecificationRoutesRequestPoliciesCorsAllowedOrigins)
                                .allowedHeaders(deploymentSpecificationRoutesRequestPoliciesCorsAllowedHeaders)
                                .allowedMethods(deploymentSpecificationRoutesRequestPoliciesCorsAllowedMethods)
                                .exposedHeaders(deploymentSpecificationRoutesRequestPoliciesCorsExposedHeaders)
                                .isAllowCredentialsEnabled(deploymentSpecificationRoutesRequestPoliciesCorsIsAllowCredentialsEnabled)
                                .maxAgeInSeconds(deploymentSpecificationRoutesRequestPoliciesCorsMaxAgeInSeconds)
                                .build())
                            .headerTransformations(DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsArgs.builder()
                                .filterHeaders(DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersArgs.builder()
                                    .items(DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersItemArgs.builder()
                                        .name(deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsFilterHeadersItemsName)
                                        .build())
                                    .type(deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsFilterHeadersType)
                                    .build())
                                .renameHeaders(DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersArgs.builder()
                                    .items(DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersItemArgs.builder()
                                        .from(deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsRenameHeadersItemsFrom)
                                        .to(deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsRenameHeadersItemsTo)
                                        .build())
                                    .build())
                                .setHeaders(DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersArgs.builder()
                                    .items(DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersItemArgs.builder()
                                        .name(deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsSetHeadersItemsName)
                                        .values(deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsSetHeadersItemsValues)
                                        .ifExists(deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsSetHeadersItemsIfExists)
                                        .build())
                                    .build())
                                .build())
                            .headerValidations(DeploymentSpecificationRouteRequestPoliciesHeaderValidationsArgs.builder()
                                .headers(DeploymentSpecificationRouteRequestPoliciesHeaderValidationsHeaderArgs.builder()
                                    .name(deploymentSpecificationRoutesRequestPoliciesHeaderValidationsHeadersName)
                                    .required(deploymentSpecificationRoutesRequestPoliciesHeaderValidationsHeadersRequired)
                                    .build())
                                .validationMode(deploymentSpecificationRoutesRequestPoliciesHeaderValidationsValidationMode)
                                .build())
                            .queryParameterTransformations(DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsArgs.builder()
                                .filterQueryParameters(DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersArgs.builder()
                                    .items(DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersItemArgs.builder()
                                        .name(deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsFilterQueryParametersItemsName)
                                        .build())
                                    .type(deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsFilterQueryParametersType)
                                    .build())
                                .renameQueryParameters(DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersArgs.builder()
                                    .items(DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemArgs.builder()
                                        .from(deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemsFrom)
                                        .to(deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemsTo)
                                        .build())
                                    .build())
                                .setQueryParameters(DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersArgs.builder()
                                    .items(DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersItemArgs.builder()
                                        .name(deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsSetQueryParametersItemsName)
                                        .values(deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsSetQueryParametersItemsValues)
                                        .ifExists(deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsSetQueryParametersItemsIfExists)
                                        .build())
                                    .build())
                                .build())
                            .queryParameterValidations(DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsArgs.builder()
                                .parameters(DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsParameterArgs.builder()
                                    .name(deploymentSpecificationRoutesRequestPoliciesQueryParameterValidationsParametersName)
                                    .required(deploymentSpecificationRoutesRequestPoliciesQueryParameterValidationsParametersRequired)
                                    .build())
                                .validationMode(deploymentSpecificationRoutesRequestPoliciesQueryParameterValidationsValidationMode)
                                .build())
                            .responseCacheLookup(DeploymentSpecificationRouteRequestPoliciesResponseCacheLookupArgs.builder()
                                .type(deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupType)
                                .cacheKeyAdditions(deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupCacheKeyAdditions)
                                .isEnabled(deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupIsEnabled)
                                .isPrivateCachingEnabled(deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupIsPrivateCachingEnabled)
                                .build())
                            .build())
                        .responsePolicies(DeploymentSpecificationRouteResponsePoliciesArgs.builder()
                            .headerTransformations(DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsArgs.builder()
                                .filterHeaders(DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersArgs.builder()
                                    .items(DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersItemArgs.builder()
                                        .name(deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsFilterHeadersItemsName)
                                        .build())
                                    .type(deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsFilterHeadersType)
                                    .build())
                                .renameHeaders(DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersArgs.builder()
                                    .items(DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersItemArgs.builder()
                                        .from(deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsRenameHeadersItemsFrom)
                                        .to(deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsRenameHeadersItemsTo)
                                        .build())
                                    .build())
                                .setHeaders(DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersArgs.builder()
                                    .items(DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersItemArgs.builder()
                                        .name(deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsName)
                                        .values(deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsValues)
                                        .ifExists(deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsIfExists)
                                        .build())
                                    .build())
                                .build())
                            .responseCacheStore(DeploymentSpecificationRouteResponsePoliciesResponseCacheStoreArgs.builder()
                                .timeToLiveInSeconds(deploymentSpecificationRoutesResponsePoliciesResponseCacheStoreTimeToLiveInSeconds)
                                .type(deploymentSpecificationRoutesResponsePoliciesResponseCacheStoreType)
                                .build())
                            .build())
                        .build())
                    .build())
                .definedTags(Map.of("Operations.CostCenter", "42"))
                .displayName(deploymentDisplayName)
                .freeformTags(Map.of("Department", "Finance"))
                .build());
    
        }
    }
    
    resources:
      testDeployment:
        type: oci:ApiGateway:Deployment
        name: test_deployment
        properties:
          compartmentId: ${compartmentId}
          gatewayId: ${testGateway.id}
          pathPrefix: ${deploymentPathPrefix}
          specification:
            loggingPolicies:
              accessLog:
                isEnabled: ${deploymentSpecificationLoggingPoliciesAccessLogIsEnabled}
              executionLog:
                isEnabled: ${deploymentSpecificationLoggingPoliciesExecutionLogIsEnabled}
                logLevel: ${deploymentSpecificationLoggingPoliciesExecutionLogLogLevel}
            requestPolicies:
              authentication:
                type: ${deploymentSpecificationRequestPoliciesAuthenticationType}
                audiences: ${deploymentSpecificationRequestPoliciesAuthenticationAudiences}
                cacheKeys: ${deploymentSpecificationRequestPoliciesAuthenticationCacheKey}
                functionId: ${testFunction.id}
                isAnonymousAccessAllowed: ${deploymentSpecificationRequestPoliciesAuthenticationIsAnonymousAccessAllowed}
                issuers: ${deploymentSpecificationRequestPoliciesAuthenticationIssuers}
                maxClockSkewInSeconds: ${deploymentSpecificationRequestPoliciesAuthenticationMaxClockSkewInSeconds}
                parameters: ${deploymentSpecificationRequestPoliciesAuthenticationParameters}
                publicKeys:
                  type: ${deploymentSpecificationRequestPoliciesAuthenticationPublicKeysType}
                  isSslVerifyDisabled: ${deploymentSpecificationRequestPoliciesAuthenticationPublicKeysIsSslVerifyDisabled}
                  keys:
                    - format: ${deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysFormat}
                      alg: ${deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysAlg}
                      e: ${deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysE}
                      key: ${deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKey}
                      keyOps: ${deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKeyOps}
                      kid: ${deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKid}
                      kty: ${deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKty}
                      n: ${deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysN}
                      use: ${deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysUse}
                  maxCacheDurationInHours: ${deploymentSpecificationRequestPoliciesAuthenticationPublicKeysMaxCacheDurationInHours}
                  uri: ${deploymentSpecificationRequestPoliciesAuthenticationPublicKeysUri}
                tokenAuthScheme: ${deploymentSpecificationRequestPoliciesAuthenticationTokenAuthScheme}
                tokenHeader: ${deploymentSpecificationRequestPoliciesAuthenticationTokenHeader}
                tokenQueryParam: ${deploymentSpecificationRequestPoliciesAuthenticationTokenQueryParam}
                validationFailurePolicy:
                  type: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyType}
                  clientDetails:
                    type: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsType}
                    clientId: ${testClient.id}
                    clientSecretId: ${testSecret.id}
                    clientSecretVersionNumber: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsClientSecretVersionNumber}
                  fallbackRedirectPath: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyFallbackRedirectPath}
                  logoutPath: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyLogoutPath}
                  maxExpiryDurationInHours: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyMaxExpiryDurationInHours}
                  responseCode: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseCode}
                  responseHeaderTransformations:
                    filterHeaders:
                      items:
                        - name: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemsName}
                      type: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersType}
                    renameHeaders:
                      items:
                        - from: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsFrom}
                          to: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsTo}
                    setHeaders:
                      items:
                        - ifExists: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsIfExists}
                          name: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsName}
                          values: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsValues}
                  responseMessage: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseMessage}
                  responseType: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseType}
                  scopes: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyScopes}
                  sourceUriDetails:
                    type: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsType}
                    uri: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsUri}
                  useCookiesForIntermediateSteps: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUseCookiesForIntermediateSteps}
                  useCookiesForSession: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUseCookiesForSession}
                  usePkce: ${deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUsePkce}
                validationPolicy:
                  type: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyType}
                  additionalValidationPolicy:
                    audiences: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyAudiences}
                    issuers: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyIssuers}
                    verifyClaims:
                      - isRequired: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsIsRequired}
                        key: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsKey}
                        values: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsValues}
                  clientDetails:
                    type: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsType}
                    clientId: ${testClient.id}
                    clientSecretId: ${testSecret.id}
                    clientSecretVersionNumber: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsClientSecretVersionNumber}
                  isSslVerifyDisabled: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyIsSslVerifyDisabled}
                  keys:
                    - format: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysFormat}
                      alg: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysAlg}
                      e: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysE}
                      key: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKey}
                      keyOps: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKeyOps}
                      kid: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKid}
                      kty: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKty}
                      n: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysN}
                      use: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysUse}
                  maxCacheDurationInHours: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyMaxCacheDurationInHours}
                  sourceUriDetails:
                    type: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsType}
                    uri: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsUri}
                  uri: ${deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyUri}
                verifyClaims:
                  - isRequired: ${deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsIsRequired}
                    key: ${deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsKey}
                    values: ${deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsValues}
              cors:
                allowedOrigins: ${deploymentSpecificationRequestPoliciesCorsAllowedOrigins}
                allowedHeaders: ${deploymentSpecificationRequestPoliciesCorsAllowedHeaders}
                allowedMethods: ${deploymentSpecificationRequestPoliciesCorsAllowedMethods}
                exposedHeaders: ${deploymentSpecificationRequestPoliciesCorsExposedHeaders}
                isAllowCredentialsEnabled: ${deploymentSpecificationRequestPoliciesCorsIsAllowCredentialsEnabled}
                maxAgeInSeconds: ${deploymentSpecificationRequestPoliciesCorsMaxAgeInSeconds}
              dynamicAuthentication:
                authenticationServers:
                  - authenticationServerDetail:
                      type: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailType}
                      audiences: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailAudiences}
                      functionId: ${testFunction.id}
                      isAnonymousAccessAllowed: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailIsAnonymousAccessAllowed}
                      issuers: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailIssuers}
                      maxClockSkewInSeconds: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailMaxClockSkewInSeconds}
                      publicKeys:
                        type: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysType}
                        isSslVerifyDisabled: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysIsSslVerifyDisabled}
                        keys:
                          - format: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysFormat}
                            alg: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysAlg}
                            e: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysE}
                            key: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKey}
                            keyOps: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKeyOps}
                            kid: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKid}
                            kty: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKty}
                            n: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysN}
                            use: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysUse}
                        maxCacheDurationInHours: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysMaxCacheDurationInHours}
                        uri: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysUri}
                      tokenAuthScheme: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailTokenAuthScheme}
                      tokenHeader: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailTokenHeader}
                      tokenQueryParam: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailTokenQueryParam}
                      validationFailurePolicy:
                        type: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyType}
                        clientDetails:
                          type: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyClientDetailsType}
                          clientId: ${testClient.id}
                          clientSecretId: ${testSecret.id}
                          clientSecretVersionNumber: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyClientDetailsClientSecretVersionNumber}
                        fallbackRedirectPath: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyFallbackRedirectPath}
                        logoutPath: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyLogoutPath}
                        maxExpiryDurationInHours: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyMaxExpiryDurationInHours}
                        responseCode: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseCode}
                        responseHeaderTransformations:
                          filterHeaders:
                            items:
                              - name: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemsName}
                            type: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersType}
                          renameHeaders:
                            items:
                              - from: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsFrom}
                                to: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemsTo}
                          setHeaders:
                            items:
                              - ifExists: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsIfExists}
                                name: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsName}
                                values: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemsValues}
                        responseMessage: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseMessage}
                        responseType: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyResponseType}
                        scopes: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyScopes}
                        sourceUriDetails:
                          type: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicySourceUriDetailsType}
                          uri: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicySourceUriDetailsUri}
                        useCookiesForIntermediateSteps: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUseCookiesForIntermediateSteps}
                        useCookiesForSession: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUseCookiesForSession}
                        usePkce: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUsePkce}
                      validationPolicy:
                        type: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyType}
                        additionalValidationPolicy:
                          audiences: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyAudiences}
                          issuers: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyIssuers}
                          verifyClaims:
                            - isRequired: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsIsRequired}
                              key: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsKey}
                              values: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsValues}
                        clientDetails:
                          type: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyClientDetailsType}
                          clientId: ${testClient.id}
                          clientSecretId: ${testSecret.id}
                          clientSecretVersionNumber: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyClientDetailsClientSecretVersionNumber}
                        isSslVerifyDisabled: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyIsSslVerifyDisabled}
                        keys:
                          - format: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysFormat}
                            alg: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysAlg}
                            e: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysE}
                            key: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKey}
                            keyOps: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKeyOps}
                            kid: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKid}
                            kty: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKty}
                            n: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysN}
                            use: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysUse}
                        maxCacheDurationInHours: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyMaxCacheDurationInHours}
                        sourceUriDetails:
                          type: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicySourceUriDetailsType}
                          uri: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicySourceUriDetailsUri}
                        uri: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyUri}
                      verifyClaims:
                        - isRequired: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsIsRequired}
                          key: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsKey}
                          values: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsValues}
                    key:
                      name: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyName}
                      expression: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyExpression}
                      isDefault: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyIsDefault}
                      type: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyType}
                      values: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyValues}
                selectionSource:
                  selector: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceSelector}
                  type: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceType}
              mutualTls:
                allowedSans: ${deploymentSpecificationRequestPoliciesMutualTlsAllowedSans}
                isVerifiedCertificateRequired: ${deploymentSpecificationRequestPoliciesMutualTlsIsVerifiedCertificateRequired}
              rateLimiting:
                rateInRequestsPerSecond: ${deploymentSpecificationRequestPoliciesRateLimitingRateInRequestsPerSecond}
                rateKey: ${deploymentSpecificationRequestPoliciesRateLimitingRateKey}
              usagePlans:
                tokenLocations: ${deploymentSpecificationRequestPoliciesUsagePlansTokenLocations}
            routes:
              - backend:
                  type: ${deploymentSpecificationRoutesBackendType}
                  allowedPostLogoutUris: ${deploymentSpecificationRoutesBackendAllowedPostLogoutUris}
                  body: ${deploymentSpecificationRoutesBackendBody}
                  connectTimeoutInSeconds: ${deploymentSpecificationRoutesBackendConnectTimeoutInSeconds}
                  functionId: ${testFunction.id}
                  headers:
                    - name: ${deploymentSpecificationRoutesBackendHeadersName}
                      value: ${deploymentSpecificationRoutesBackendHeadersValue}
                  isSslVerifyDisabled: ${deploymentSpecificationRoutesBackendIsSslVerifyDisabled}
                  postLogoutState: ${deploymentSpecificationRoutesBackendPostLogoutState}
                  readTimeoutInSeconds: ${deploymentSpecificationRoutesBackendReadTimeoutInSeconds}
                  routingBackends:
                    - backend:
                        type: ${deploymentSpecificationRoutesBackendRoutingBackendsBackendType}
                        body: ${deploymentSpecificationRoutesBackendRoutingBackendsBackendBody}
                        connectTimeoutInSeconds: ${deploymentSpecificationRoutesBackendRoutingBackendsBackendConnectTimeoutInSeconds}
                        functionId: ${testFunction.id}
                        headers:
                          - name: ${deploymentSpecificationRoutesBackendRoutingBackendsBackendHeadersName}
                            value: ${deploymentSpecificationRoutesBackendRoutingBackendsBackendHeadersValue}
                        isSslVerifyDisabled: ${deploymentSpecificationRoutesBackendRoutingBackendsBackendIsSslVerifyDisabled}
                        readTimeoutInSeconds: ${deploymentSpecificationRoutesBackendRoutingBackendsBackendReadTimeoutInSeconds}
                        sendTimeoutInSeconds: ${deploymentSpecificationRoutesBackendRoutingBackendsBackendSendTimeoutInSeconds}
                        status: ${deploymentSpecificationRoutesBackendRoutingBackendsBackendStatus}
                        url: ${deploymentSpecificationRoutesBackendRoutingBackendsBackendUrl}
                      key:
                        name: ${deploymentSpecificationRoutesBackendRoutingBackendsKeyName}
                        type: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyType}
                        expression: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyExpression}
                        isDefault: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyIsDefault}
                        values: ${deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyValues}
                  selectionSource:
                    selector: ${deploymentSpecificationRoutesBackendSelectionSourceSelector}
                    type: ${deploymentSpecificationRoutesBackendSelectionSourceType}
                  sendTimeoutInSeconds: ${deploymentSpecificationRoutesBackendSendTimeoutInSeconds}
                  status: ${deploymentSpecificationRoutesBackendStatus}
                  url: ${deploymentSpecificationRoutesBackendUrl}
                path: ${deploymentSpecificationRoutesPath}
                loggingPolicies:
                  accessLog:
                    isEnabled: ${deploymentSpecificationRoutesLoggingPoliciesAccessLogIsEnabled}
                  executionLog:
                    isEnabled: ${deploymentSpecificationRoutesLoggingPoliciesExecutionLogIsEnabled}
                    logLevel: ${deploymentSpecificationRoutesLoggingPoliciesExecutionLogLogLevel}
                methods: ${deploymentSpecificationRoutesMethods}
                requestPolicies:
                  authorization:
                    allowedScopes: ${deploymentSpecificationRoutesRequestPoliciesAuthorizationAllowedScope}
                    type: ${deploymentSpecificationRoutesRequestPoliciesAuthorizationType}
                  bodyValidation:
                    contents:
                      - mediaType: ${deploymentSpecificationRoutesRequestPoliciesBodyValidationContentMediaType}
                        validationType: ${deploymentSpecificationRoutesRequestPoliciesBodyValidationContentValidationType}
                    required: ${deploymentSpecificationRoutesRequestPoliciesBodyValidationRequired}
                    validationMode: ${deploymentSpecificationRoutesRequestPoliciesBodyValidationValidationMode}
                  cors:
                    allowedOrigins: ${deploymentSpecificationRoutesRequestPoliciesCorsAllowedOrigins}
                    allowedHeaders: ${deploymentSpecificationRoutesRequestPoliciesCorsAllowedHeaders}
                    allowedMethods: ${deploymentSpecificationRoutesRequestPoliciesCorsAllowedMethods}
                    exposedHeaders: ${deploymentSpecificationRoutesRequestPoliciesCorsExposedHeaders}
                    isAllowCredentialsEnabled: ${deploymentSpecificationRoutesRequestPoliciesCorsIsAllowCredentialsEnabled}
                    maxAgeInSeconds: ${deploymentSpecificationRoutesRequestPoliciesCorsMaxAgeInSeconds}
                  headerTransformations:
                    filterHeaders:
                      items:
                        - name: ${deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsFilterHeadersItemsName}
                      type: ${deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsFilterHeadersType}
                    renameHeaders:
                      items:
                        - from: ${deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsRenameHeadersItemsFrom}
                          to: ${deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsRenameHeadersItemsTo}
                    setHeaders:
                      items:
                        - name: ${deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsSetHeadersItemsName}
                          values: ${deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsSetHeadersItemsValues}
                          ifExists: ${deploymentSpecificationRoutesRequestPoliciesHeaderTransformationsSetHeadersItemsIfExists}
                  headerValidations:
                    headers:
                      - name: ${deploymentSpecificationRoutesRequestPoliciesHeaderValidationsHeadersName}
                        required: ${deploymentSpecificationRoutesRequestPoliciesHeaderValidationsHeadersRequired}
                    validationMode: ${deploymentSpecificationRoutesRequestPoliciesHeaderValidationsValidationMode}
                  queryParameterTransformations:
                    filterQueryParameters:
                      items:
                        - name: ${deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsFilterQueryParametersItemsName}
                      type: ${deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsFilterQueryParametersType}
                    renameQueryParameters:
                      items:
                        - from: ${deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemsFrom}
                          to: ${deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemsTo}
                    setQueryParameters:
                      items:
                        - name: ${deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsSetQueryParametersItemsName}
                          values: ${deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsSetQueryParametersItemsValues}
                          ifExists: ${deploymentSpecificationRoutesRequestPoliciesQueryParameterTransformationsSetQueryParametersItemsIfExists}
                  queryParameterValidations:
                    parameters:
                      - name: ${deploymentSpecificationRoutesRequestPoliciesQueryParameterValidationsParametersName}
                        required: ${deploymentSpecificationRoutesRequestPoliciesQueryParameterValidationsParametersRequired}
                    validationMode: ${deploymentSpecificationRoutesRequestPoliciesQueryParameterValidationsValidationMode}
                  responseCacheLookup:
                    type: ${deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupType}
                    cacheKeyAdditions: ${deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupCacheKeyAdditions}
                    isEnabled: ${deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupIsEnabled}
                    isPrivateCachingEnabled: ${deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupIsPrivateCachingEnabled}
                responsePolicies:
                  headerTransformations:
                    filterHeaders:
                      items:
                        - name: ${deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsFilterHeadersItemsName}
                      type: ${deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsFilterHeadersType}
                    renameHeaders:
                      items:
                        - from: ${deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsRenameHeadersItemsFrom}
                          to: ${deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsRenameHeadersItemsTo}
                    setHeaders:
                      items:
                        - name: ${deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsName}
                          values: ${deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsValues}
                          ifExists: ${deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsIfExists}
                  responseCacheStore:
                    timeToLiveInSeconds: ${deploymentSpecificationRoutesResponsePoliciesResponseCacheStoreTimeToLiveInSeconds}
                    type: ${deploymentSpecificationRoutesResponsePoliciesResponseCacheStoreType}
          definedTags:
            Operations.CostCenter: '42'
          displayName: ${deploymentDisplayName}
          freeformTags:
            Department: Finance
    

    Create Deployment Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Deployment(name: string, args: DeploymentArgs, opts?: CustomResourceOptions);
    @overload
    def Deployment(resource_name: str,
                   args: DeploymentArgs,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def Deployment(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   compartment_id: Optional[str] = None,
                   gateway_id: Optional[str] = None,
                   path_prefix: Optional[str] = None,
                   specification: Optional[_apigateway.DeploymentSpecificationArgs] = None,
                   defined_tags: Optional[Mapping[str, str]] = None,
                   display_name: Optional[str] = None,
                   freeform_tags: Optional[Mapping[str, str]] = None)
    func NewDeployment(ctx *Context, name string, args DeploymentArgs, opts ...ResourceOption) (*Deployment, error)
    public Deployment(string name, DeploymentArgs args, CustomResourceOptions? opts = null)
    public Deployment(String name, DeploymentArgs args)
    public Deployment(String name, DeploymentArgs args, CustomResourceOptions options)
    
    type: oci:ApiGateway:Deployment
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args DeploymentArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args DeploymentArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args DeploymentArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DeploymentArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DeploymentArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var deploymentResource = new Oci.ApiGateway.Deployment("deploymentResource", new()
    {
        CompartmentId = "string",
        GatewayId = "string",
        PathPrefix = "string",
        Specification = new Oci.ApiGateway.Inputs.DeploymentSpecificationArgs
        {
            Routes = new[]
            {
                new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteArgs
                {
                    Backend = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteBackendArgs
                    {
                        Type = "string",
                        PostLogoutState = "string",
                        ConnectTimeoutInSeconds = 0,
                        FunctionId = "string",
                        Headers = new[]
                        {
                            new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteBackendHeaderArgs
                            {
                                Name = "string",
                                Value = "string",
                            },
                        },
                        IsSslVerifyDisabled = false,
                        AllowedPostLogoutUris = new[]
                        {
                            "string",
                        },
                        ReadTimeoutInSeconds = 0,
                        RoutingBackends = new[]
                        {
                            new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteBackendRoutingBackendArgs
                            {
                                Backend = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteBackendRoutingBackendBackendArgs
                                {
                                    Type = "string",
                                    Body = "string",
                                    ConnectTimeoutInSeconds = 0,
                                    FunctionId = "string",
                                    Headers = new[]
                                    {
                                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteBackendRoutingBackendBackendHeaderArgs
                                        {
                                            Name = "string",
                                            Value = "string",
                                        },
                                    },
                                    IsSslVerifyDisabled = false,
                                    ReadTimeoutInSeconds = 0,
                                    SendTimeoutInSeconds = 0,
                                    Status = 0,
                                    Url = "string",
                                },
                                Key = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteBackendRoutingBackendKeyArgs
                                {
                                    Name = "string",
                                    Type = "string",
                                    Expression = "string",
                                    IsDefault = false,
                                    Values = new[]
                                    {
                                        "string",
                                    },
                                },
                            },
                        },
                        SelectionSource = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteBackendSelectionSourceArgs
                        {
                            Selector = "string",
                            Type = "string",
                        },
                        SendTimeoutInSeconds = 0,
                        Status = 0,
                        Body = "string",
                        Url = "string",
                    },
                    Path = "string",
                    LoggingPolicies = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteLoggingPoliciesArgs
                    {
                        AccessLog = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteLoggingPoliciesAccessLogArgs
                        {
                            IsEnabled = false,
                        },
                        ExecutionLog = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteLoggingPoliciesExecutionLogArgs
                        {
                            IsEnabled = false,
                            LogLevel = "string",
                        },
                    },
                    Methods = new[]
                    {
                        "string",
                    },
                    RequestPolicies = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesArgs
                    {
                        Authorization = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesAuthorizationArgs
                        {
                            AllowedScopes = new[]
                            {
                                "string",
                            },
                            Type = "string",
                        },
                        BodyValidation = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesBodyValidationArgs
                        {
                            Contents = new[]
                            {
                                new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesBodyValidationContentArgs
                                {
                                    MediaType = "string",
                                    ValidationType = "string",
                                },
                            },
                            Required = false,
                            ValidationMode = "string",
                        },
                        Cors = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesCorsArgs
                        {
                            AllowedOrigins = new[]
                            {
                                "string",
                            },
                            AllowedHeaders = new[]
                            {
                                "string",
                            },
                            AllowedMethods = new[]
                            {
                                "string",
                            },
                            ExposedHeaders = new[]
                            {
                                "string",
                            },
                            IsAllowCredentialsEnabled = false,
                            MaxAgeInSeconds = 0,
                        },
                        HeaderTransformations = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsArgs
                        {
                            FilterHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersArgs
                            {
                                Items = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersItemArgs
                                    {
                                        Name = "string",
                                    },
                                },
                                Type = "string",
                            },
                            RenameHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersArgs
                            {
                                Items = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersItemArgs
                                    {
                                        From = "string",
                                        To = "string",
                                    },
                                },
                            },
                            SetHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersArgs
                            {
                                Items = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersItemArgs
                                    {
                                        Name = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                        IfExists = "string",
                                    },
                                },
                            },
                        },
                        HeaderValidations = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderValidationsArgs
                        {
                            Headers = new[]
                            {
                                new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesHeaderValidationsHeaderArgs
                                {
                                    Name = "string",
                                    Required = false,
                                },
                            },
                            ValidationMode = "string",
                        },
                        QueryParameterTransformations = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsArgs
                        {
                            FilterQueryParameters = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersArgs
                            {
                                Items = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersItemArgs
                                    {
                                        Name = "string",
                                    },
                                },
                                Type = "string",
                            },
                            RenameQueryParameters = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersArgs
                            {
                                Items = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemArgs
                                    {
                                        From = "string",
                                        To = "string",
                                    },
                                },
                            },
                            SetQueryParameters = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersArgs
                            {
                                Items = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersItemArgs
                                    {
                                        Name = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                        IfExists = "string",
                                    },
                                },
                            },
                        },
                        QueryParameterValidations = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsArgs
                        {
                            Parameters = new[]
                            {
                                new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsParameterArgs
                                {
                                    Name = "string",
                                    Required = false,
                                },
                            },
                            ValidationMode = "string",
                        },
                        ResponseCacheLookup = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteRequestPoliciesResponseCacheLookupArgs
                        {
                            Type = "string",
                            CacheKeyAdditions = new[]
                            {
                                "string",
                            },
                            IsEnabled = false,
                            IsPrivateCachingEnabled = false,
                        },
                    },
                    ResponsePolicies = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesArgs
                    {
                        HeaderTransformations = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsArgs
                        {
                            FilterHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersArgs
                            {
                                Items = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersItemArgs
                                    {
                                        Name = "string",
                                    },
                                },
                                Type = "string",
                            },
                            RenameHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersArgs
                            {
                                Items = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersItemArgs
                                    {
                                        From = "string",
                                        To = "string",
                                    },
                                },
                            },
                            SetHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersArgs
                            {
                                Items = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersItemArgs
                                    {
                                        Name = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                        IfExists = "string",
                                    },
                                },
                            },
                        },
                        ResponseCacheStore = new Oci.ApiGateway.Inputs.DeploymentSpecificationRouteResponsePoliciesResponseCacheStoreArgs
                        {
                            TimeToLiveInSeconds = 0,
                            Type = "string",
                        },
                    },
                },
            },
            LoggingPolicies = new Oci.ApiGateway.Inputs.DeploymentSpecificationLoggingPoliciesArgs
            {
                AccessLog = new Oci.ApiGateway.Inputs.DeploymentSpecificationLoggingPoliciesAccessLogArgs
                {
                    IsEnabled = false,
                },
                ExecutionLog = new Oci.ApiGateway.Inputs.DeploymentSpecificationLoggingPoliciesExecutionLogArgs
                {
                    IsEnabled = false,
                    LogLevel = "string",
                },
            },
            RequestPolicies = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesArgs
            {
                Authentication = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationArgs
                {
                    Type = "string",
                    Parameters = 
                    {
                        { "string", "string" },
                    },
                    TokenAuthScheme = "string",
                    IsAnonymousAccessAllowed = false,
                    Issuers = new[]
                    {
                        "string",
                    },
                    MaxClockSkewInSeconds = 0,
                    Audiences = new[]
                    {
                        "string",
                    },
                    PublicKeys = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysArgs
                    {
                        Type = "string",
                        IsSslVerifyDisabled = false,
                        Keys = new[]
                        {
                            new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeyArgs
                            {
                                Format = "string",
                                Alg = "string",
                                E = "string",
                                Key = "string",
                                KeyOps = new[]
                                {
                                    "string",
                                },
                                Kid = "string",
                                Kty = "string",
                                N = "string",
                                Use = "string",
                            },
                        },
                        MaxCacheDurationInHours = 0,
                        Uri = "string",
                    },
                    FunctionId = "string",
                    TokenHeader = "string",
                    TokenQueryParam = "string",
                    CacheKeys = new[]
                    {
                        "string",
                    },
                    ValidationFailurePolicy = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyArgs
                    {
                        Type = "string",
                        ResponseMessage = "string",
                        LogoutPath = "string",
                        MaxExpiryDurationInHours = 0,
                        ResponseCode = "string",
                        ResponseHeaderTransformations = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsArgs
                        {
                            FilterHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersArgs
                            {
                                Items = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArgs
                                    {
                                        Name = "string",
                                    },
                                },
                                Type = "string",
                            },
                            RenameHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersArgs
                            {
                                Items = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArgs
                                    {
                                        From = "string",
                                        To = "string",
                                    },
                                },
                            },
                            SetHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersArgs
                            {
                                Items = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArgs
                                    {
                                        IfExists = "string",
                                        Name = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                            },
                        },
                        ClientDetails = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsArgs
                        {
                            Type = "string",
                            ClientId = "string",
                            ClientSecretId = "string",
                            ClientSecretVersionNumber = "string",
                        },
                        ResponseType = "string",
                        Scopes = new[]
                        {
                            "string",
                        },
                        SourceUriDetails = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsArgs
                        {
                            Type = "string",
                            Uri = "string",
                        },
                        FallbackRedirectPath = "string",
                        UseCookiesForIntermediateSteps = false,
                        UseCookiesForSession = false,
                        UsePkce = false,
                    },
                    ValidationPolicy = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyArgs
                    {
                        Type = "string",
                        AdditionalValidationPolicy = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyArgs
                        {
                            Audiences = new[]
                            {
                                "string",
                            },
                            Issuers = new[]
                            {
                                "string",
                            },
                            VerifyClaims = new[]
                            {
                                new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimArgs
                                {
                                    IsRequired = false,
                                    Key = "string",
                                    Values = new[]
                                    {
                                        "string",
                                    },
                                },
                            },
                        },
                        ClientDetails = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsArgs
                        {
                            Type = "string",
                            ClientId = "string",
                            ClientSecretId = "string",
                            ClientSecretVersionNumber = "string",
                        },
                        IsSslVerifyDisabled = false,
                        Keys = new[]
                        {
                            new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeyArgs
                            {
                                Format = "string",
                                Alg = "string",
                                E = "string",
                                Key = "string",
                                KeyOps = new[]
                                {
                                    "string",
                                },
                                Kid = "string",
                                Kty = "string",
                                N = "string",
                                Use = "string",
                            },
                        },
                        MaxCacheDurationInHours = 0,
                        SourceUriDetails = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsArgs
                        {
                            Type = "string",
                            Uri = "string",
                        },
                        Uri = "string",
                    },
                    VerifyClaims = new[]
                    {
                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesAuthenticationVerifyClaimArgs
                        {
                            IsRequired = false,
                            Key = "string",
                            Values = new[]
                            {
                                "string",
                            },
                        },
                    },
                },
                Cors = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesCorsArgs
                {
                    AllowedOrigins = new[]
                    {
                        "string",
                    },
                    AllowedHeaders = new[]
                    {
                        "string",
                    },
                    AllowedMethods = new[]
                    {
                        "string",
                    },
                    ExposedHeaders = new[]
                    {
                        "string",
                    },
                    IsAllowCredentialsEnabled = false,
                    MaxAgeInSeconds = 0,
                },
                DynamicAuthentication = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationArgs
                {
                    AuthenticationServers = new[]
                    {
                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerArgs
                        {
                            AuthenticationServerDetail = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailArgs
                            {
                                Type = "string",
                                Parameters = 
                                {
                                    { "string", "string" },
                                },
                                TokenAuthScheme = "string",
                                IsAnonymousAccessAllowed = false,
                                Issuers = new[]
                                {
                                    "string",
                                },
                                MaxClockSkewInSeconds = 0,
                                Audiences = new[]
                                {
                                    "string",
                                },
                                PublicKeys = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysArgs
                                {
                                    Type = "string",
                                    IsSslVerifyDisabled = false,
                                    Keys = new[]
                                    {
                                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysKeyArgs
                                        {
                                            Format = "string",
                                            Alg = "string",
                                            E = "string",
                                            Key = "string",
                                            KeyOps = new[]
                                            {
                                                "string",
                                            },
                                            Kid = "string",
                                            Kty = "string",
                                            N = "string",
                                            Use = "string",
                                        },
                                    },
                                    MaxCacheDurationInHours = 0,
                                    Uri = "string",
                                },
                                FunctionId = "string",
                                TokenHeader = "string",
                                TokenQueryParam = "string",
                                CacheKeys = new[]
                                {
                                    "string",
                                },
                                ValidationFailurePolicy = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyArgs
                                {
                                    Type = "string",
                                    ResponseMessage = "string",
                                    LogoutPath = "string",
                                    MaxExpiryDurationInHours = 0,
                                    ResponseCode = "string",
                                    ResponseHeaderTransformations = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsArgs
                                    {
                                        FilterHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersArgs
                                        {
                                            Items = new[]
                                            {
                                                new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArgs
                                                {
                                                    Name = "string",
                                                },
                                            },
                                            Type = "string",
                                        },
                                        RenameHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersArgs
                                        {
                                            Items = new[]
                                            {
                                                new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArgs
                                                {
                                                    From = "string",
                                                    To = "string",
                                                },
                                            },
                                        },
                                        SetHeaders = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersArgs
                                        {
                                            Items = new[]
                                            {
                                                new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArgs
                                                {
                                                    IfExists = "string",
                                                    Name = "string",
                                                    Values = new[]
                                                    {
                                                        "string",
                                                    },
                                                },
                                            },
                                        },
                                    },
                                    ClientDetails = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyClientDetailsArgs
                                    {
                                        Type = "string",
                                        ClientId = "string",
                                        ClientSecretId = "string",
                                        ClientSecretVersionNumber = "string",
                                    },
                                    ResponseType = "string",
                                    Scopes = new[]
                                    {
                                        "string",
                                    },
                                    SourceUriDetails = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicySourceUriDetailsArgs
                                    {
                                        Type = "string",
                                        Uri = "string",
                                    },
                                    FallbackRedirectPath = "string",
                                    UseCookiesForIntermediateSteps = false,
                                    UseCookiesForSession = false,
                                    UsePkce = false,
                                },
                                ValidationPolicy = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyArgs
                                {
                                    Type = "string",
                                    AdditionalValidationPolicy = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyArgs
                                    {
                                        Audiences = new[]
                                        {
                                            "string",
                                        },
                                        Issuers = new[]
                                        {
                                            "string",
                                        },
                                        VerifyClaims = new[]
                                        {
                                            new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimArgs
                                            {
                                                IsRequired = false,
                                                Key = "string",
                                                Values = new[]
                                                {
                                                    "string",
                                                },
                                            },
                                        },
                                    },
                                    ClientDetails = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyClientDetailsArgs
                                    {
                                        Type = "string",
                                        ClientId = "string",
                                        ClientSecretId = "string",
                                        ClientSecretVersionNumber = "string",
                                    },
                                    IsSslVerifyDisabled = false,
                                    Keys = new[]
                                    {
                                        new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyKeyArgs
                                        {
                                            Format = "string",
                                            Alg = "string",
                                            E = "string",
                                            Key = "string",
                                            KeyOps = new[]
                                            {
                                                "string",
                                            },
                                            Kid = "string",
                                            Kty = "string",
                                            N = "string",
                                            Use = "string",
                                        },
                                    },
                                    MaxCacheDurationInHours = 0,
                                    SourceUriDetails = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicySourceUriDetailsArgs
                                    {
                                        Type = "string",
                                        Uri = "string",
                                    },
                                    Uri = "string",
                                },
                                VerifyClaims = new[]
                                {
                                    new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailVerifyClaimArgs
                                    {
                                        IsRequired = false,
                                        Key = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                            },
                            Key = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerKeyArgs
                            {
                                Name = "string",
                                Expression = "string",
                                IsDefault = false,
                                Type = "string",
                                Values = new[]
                                {
                                    "string",
                                },
                            },
                        },
                    },
                    SelectionSource = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceArgs
                    {
                        Selector = "string",
                        Type = "string",
                    },
                },
                MutualTls = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesMutualTlsArgs
                {
                    AllowedSans = new[]
                    {
                        "string",
                    },
                    IsVerifiedCertificateRequired = false,
                },
                RateLimiting = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesRateLimitingArgs
                {
                    RateInRequestsPerSecond = 0,
                    RateKey = "string",
                },
                UsagePlans = new Oci.ApiGateway.Inputs.DeploymentSpecificationRequestPoliciesUsagePlansArgs
                {
                    TokenLocations = new[]
                    {
                        "string",
                    },
                },
            },
        },
        DefinedTags = 
        {
            { "string", "string" },
        },
        DisplayName = "string",
        FreeformTags = 
        {
            { "string", "string" },
        },
    });
    
    example, err := ApiGateway.NewDeployment(ctx, "deploymentResource", &ApiGateway.DeploymentArgs{
    	CompartmentId: pulumi.String("string"),
    	GatewayId:     pulumi.String("string"),
    	PathPrefix:    pulumi.String("string"),
    	Specification: &apigateway.DeploymentSpecificationArgs{
    		Routes: apigateway.DeploymentSpecificationRouteArray{
    			&apigateway.DeploymentSpecificationRouteArgs{
    				Backend: &apigateway.DeploymentSpecificationRouteBackendArgs{
    					Type:                    pulumi.String("string"),
    					PostLogoutState:         pulumi.String("string"),
    					ConnectTimeoutInSeconds: pulumi.Float64(0),
    					FunctionId:              pulumi.String("string"),
    					Headers: apigateway.DeploymentSpecificationRouteBackendHeaderArray{
    						&apigateway.DeploymentSpecificationRouteBackendHeaderArgs{
    							Name:  pulumi.String("string"),
    							Value: pulumi.String("string"),
    						},
    					},
    					IsSslVerifyDisabled: pulumi.Bool(false),
    					AllowedPostLogoutUris: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					ReadTimeoutInSeconds: pulumi.Float64(0),
    					RoutingBackends: apigateway.DeploymentSpecificationRouteBackendRoutingBackendArray{
    						&apigateway.DeploymentSpecificationRouteBackendRoutingBackendArgs{
    							Backend: &apigateway.DeploymentSpecificationRouteBackendRoutingBackendBackendArgs{
    								Type:                    pulumi.String("string"),
    								Body:                    pulumi.String("string"),
    								ConnectTimeoutInSeconds: pulumi.Float64(0),
    								FunctionId:              pulumi.String("string"),
    								Headers: apigateway.DeploymentSpecificationRouteBackendRoutingBackendBackendHeaderArray{
    									&apigateway.DeploymentSpecificationRouteBackendRoutingBackendBackendHeaderArgs{
    										Name:  pulumi.String("string"),
    										Value: pulumi.String("string"),
    									},
    								},
    								IsSslVerifyDisabled:  pulumi.Bool(false),
    								ReadTimeoutInSeconds: pulumi.Float64(0),
    								SendTimeoutInSeconds: pulumi.Float64(0),
    								Status:               pulumi.Int(0),
    								Url:                  pulumi.String("string"),
    							},
    							Key: &apigateway.DeploymentSpecificationRouteBackendRoutingBackendKeyArgs{
    								Name:       pulumi.String("string"),
    								Type:       pulumi.String("string"),
    								Expression: pulumi.String("string"),
    								IsDefault:  pulumi.Bool(false),
    								Values: pulumi.StringArray{
    									pulumi.String("string"),
    								},
    							},
    						},
    					},
    					SelectionSource: &apigateway.DeploymentSpecificationRouteBackendSelectionSourceArgs{
    						Selector: pulumi.String("string"),
    						Type:     pulumi.String("string"),
    					},
    					SendTimeoutInSeconds: pulumi.Float64(0),
    					Status:               pulumi.Int(0),
    					Body:                 pulumi.String("string"),
    					Url:                  pulumi.String("string"),
    				},
    				Path: pulumi.String("string"),
    				LoggingPolicies: &apigateway.DeploymentSpecificationRouteLoggingPoliciesArgs{
    					AccessLog: &apigateway.DeploymentSpecificationRouteLoggingPoliciesAccessLogArgs{
    						IsEnabled: pulumi.Bool(false),
    					},
    					ExecutionLog: &apigateway.DeploymentSpecificationRouteLoggingPoliciesExecutionLogArgs{
    						IsEnabled: pulumi.Bool(false),
    						LogLevel:  pulumi.String("string"),
    					},
    				},
    				Methods: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				RequestPolicies: &apigateway.DeploymentSpecificationRouteRequestPoliciesArgs{
    					Authorization: &apigateway.DeploymentSpecificationRouteRequestPoliciesAuthorizationArgs{
    						AllowedScopes: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						Type: pulumi.String("string"),
    					},
    					BodyValidation: &apigateway.DeploymentSpecificationRouteRequestPoliciesBodyValidationArgs{
    						Contents: apigateway.DeploymentSpecificationRouteRequestPoliciesBodyValidationContentArray{
    							&apigateway.DeploymentSpecificationRouteRequestPoliciesBodyValidationContentArgs{
    								MediaType:      pulumi.String("string"),
    								ValidationType: pulumi.String("string"),
    							},
    						},
    						Required:       pulumi.Bool(false),
    						ValidationMode: pulumi.String("string"),
    					},
    					Cors: &apigateway.DeploymentSpecificationRouteRequestPoliciesCorsArgs{
    						AllowedOrigins: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						AllowedHeaders: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						AllowedMethods: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						ExposedHeaders: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						IsAllowCredentialsEnabled: pulumi.Bool(false),
    						MaxAgeInSeconds:           pulumi.Int(0),
    					},
    					HeaderTransformations: &apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsArgs{
    						FilterHeaders: &apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersArgs{
    							Items: apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersItemArray{
    								&apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersItemArgs{
    									Name: pulumi.String("string"),
    								},
    							},
    							Type: pulumi.String("string"),
    						},
    						RenameHeaders: &apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersArgs{
    							Items: apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersItemArray{
    								&apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersItemArgs{
    									From: pulumi.String("string"),
    									To:   pulumi.String("string"),
    								},
    							},
    						},
    						SetHeaders: &apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersArgs{
    							Items: apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersItemArray{
    								&apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersItemArgs{
    									Name: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    									IfExists: pulumi.String("string"),
    								},
    							},
    						},
    					},
    					HeaderValidations: &apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderValidationsArgs{
    						Headers: apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderValidationsHeaderArray{
    							&apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderValidationsHeaderArgs{
    								Name:     pulumi.String("string"),
    								Required: pulumi.Bool(false),
    							},
    						},
    						ValidationMode: pulumi.String("string"),
    					},
    					QueryParameterTransformations: &apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsArgs{
    						FilterQueryParameters: &apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersArgs{
    							Items: apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersItemArray{
    								&apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersItemArgs{
    									Name: pulumi.String("string"),
    								},
    							},
    							Type: pulumi.String("string"),
    						},
    						RenameQueryParameters: &apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersArgs{
    							Items: apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemArray{
    								&apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemArgs{
    									From: pulumi.String("string"),
    									To:   pulumi.String("string"),
    								},
    							},
    						},
    						SetQueryParameters: &apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersArgs{
    							Items: apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersItemArray{
    								&apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersItemArgs{
    									Name: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    									IfExists: pulumi.String("string"),
    								},
    							},
    						},
    					},
    					QueryParameterValidations: &apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsArgs{
    						Parameters: apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsParameterArray{
    							&apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsParameterArgs{
    								Name:     pulumi.String("string"),
    								Required: pulumi.Bool(false),
    							},
    						},
    						ValidationMode: pulumi.String("string"),
    					},
    					ResponseCacheLookup: &apigateway.DeploymentSpecificationRouteRequestPoliciesResponseCacheLookupArgs{
    						Type: pulumi.String("string"),
    						CacheKeyAdditions: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						IsEnabled:               pulumi.Bool(false),
    						IsPrivateCachingEnabled: pulumi.Bool(false),
    					},
    				},
    				ResponsePolicies: &apigateway.DeploymentSpecificationRouteResponsePoliciesArgs{
    					HeaderTransformations: &apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsArgs{
    						FilterHeaders: &apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersArgs{
    							Items: apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersItemArray{
    								&apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersItemArgs{
    									Name: pulumi.String("string"),
    								},
    							},
    							Type: pulumi.String("string"),
    						},
    						RenameHeaders: &apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersArgs{
    							Items: apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersItemArray{
    								&apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersItemArgs{
    									From: pulumi.String("string"),
    									To:   pulumi.String("string"),
    								},
    							},
    						},
    						SetHeaders: &apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersArgs{
    							Items: apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersItemArray{
    								&apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersItemArgs{
    									Name: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    									IfExists: pulumi.String("string"),
    								},
    							},
    						},
    					},
    					ResponseCacheStore: &apigateway.DeploymentSpecificationRouteResponsePoliciesResponseCacheStoreArgs{
    						TimeToLiveInSeconds: pulumi.Int(0),
    						Type:                pulumi.String("string"),
    					},
    				},
    			},
    		},
    		LoggingPolicies: &apigateway.DeploymentSpecificationLoggingPoliciesArgs{
    			AccessLog: &apigateway.DeploymentSpecificationLoggingPoliciesAccessLogArgs{
    				IsEnabled: pulumi.Bool(false),
    			},
    			ExecutionLog: &apigateway.DeploymentSpecificationLoggingPoliciesExecutionLogArgs{
    				IsEnabled: pulumi.Bool(false),
    				LogLevel:  pulumi.String("string"),
    			},
    		},
    		RequestPolicies: &apigateway.DeploymentSpecificationRequestPoliciesArgs{
    			Authentication: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationArgs{
    				Type: pulumi.String("string"),
    				Parameters: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    				TokenAuthScheme:          pulumi.String("string"),
    				IsAnonymousAccessAllowed: pulumi.Bool(false),
    				Issuers: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				MaxClockSkewInSeconds: pulumi.Float64(0),
    				Audiences: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				PublicKeys: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysArgs{
    					Type:                pulumi.String("string"),
    					IsSslVerifyDisabled: pulumi.Bool(false),
    					Keys: apigateway.DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeyArray{
    						&apigateway.DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeyArgs{
    							Format: pulumi.String("string"),
    							Alg:    pulumi.String("string"),
    							E:      pulumi.String("string"),
    							Key:    pulumi.String("string"),
    							KeyOps: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							Kid: pulumi.String("string"),
    							Kty: pulumi.String("string"),
    							N:   pulumi.String("string"),
    							Use: pulumi.String("string"),
    						},
    					},
    					MaxCacheDurationInHours: pulumi.Int(0),
    					Uri:                     pulumi.String("string"),
    				},
    				FunctionId:      pulumi.String("string"),
    				TokenHeader:     pulumi.String("string"),
    				TokenQueryParam: pulumi.String("string"),
    				CacheKeys: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				ValidationFailurePolicy: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyArgs{
    					Type:                     pulumi.String("string"),
    					ResponseMessage:          pulumi.String("string"),
    					LogoutPath:               pulumi.String("string"),
    					MaxExpiryDurationInHours: pulumi.Int(0),
    					ResponseCode:             pulumi.String("string"),
    					ResponseHeaderTransformations: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsArgs{
    						FilterHeaders: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersArgs{
    							Items: apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArray{
    								&apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArgs{
    									Name: pulumi.String("string"),
    								},
    							},
    							Type: pulumi.String("string"),
    						},
    						RenameHeaders: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersArgs{
    							Items: apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArray{
    								&apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArgs{
    									From: pulumi.String("string"),
    									To:   pulumi.String("string"),
    								},
    							},
    						},
    						SetHeaders: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersArgs{
    							Items: apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArray{
    								&apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArgs{
    									IfExists: pulumi.String("string"),
    									Name:     pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    						},
    					},
    					ClientDetails: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsArgs{
    						Type:                      pulumi.String("string"),
    						ClientId:                  pulumi.String("string"),
    						ClientSecretId:            pulumi.String("string"),
    						ClientSecretVersionNumber: pulumi.String("string"),
    					},
    					ResponseType: pulumi.String("string"),
    					Scopes: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					SourceUriDetails: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsArgs{
    						Type: pulumi.String("string"),
    						Uri:  pulumi.String("string"),
    					},
    					FallbackRedirectPath:           pulumi.String("string"),
    					UseCookiesForIntermediateSteps: pulumi.Bool(false),
    					UseCookiesForSession:           pulumi.Bool(false),
    					UsePkce:                        pulumi.Bool(false),
    				},
    				ValidationPolicy: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyArgs{
    					Type: pulumi.String("string"),
    					AdditionalValidationPolicy: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyArgs{
    						Audiences: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						Issuers: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						VerifyClaims: apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimArray{
    							&apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimArgs{
    								IsRequired: pulumi.Bool(false),
    								Key:        pulumi.String("string"),
    								Values: pulumi.StringArray{
    									pulumi.String("string"),
    								},
    							},
    						},
    					},
    					ClientDetails: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsArgs{
    						Type:                      pulumi.String("string"),
    						ClientId:                  pulumi.String("string"),
    						ClientSecretId:            pulumi.String("string"),
    						ClientSecretVersionNumber: pulumi.String("string"),
    					},
    					IsSslVerifyDisabled: pulumi.Bool(false),
    					Keys: apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeyArray{
    						&apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeyArgs{
    							Format: pulumi.String("string"),
    							Alg:    pulumi.String("string"),
    							E:      pulumi.String("string"),
    							Key:    pulumi.String("string"),
    							KeyOps: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							Kid: pulumi.String("string"),
    							Kty: pulumi.String("string"),
    							N:   pulumi.String("string"),
    							Use: pulumi.String("string"),
    						},
    					},
    					MaxCacheDurationInHours: pulumi.Int(0),
    					SourceUriDetails: &apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsArgs{
    						Type: pulumi.String("string"),
    						Uri:  pulumi.String("string"),
    					},
    					Uri: pulumi.String("string"),
    				},
    				VerifyClaims: apigateway.DeploymentSpecificationRequestPoliciesAuthenticationVerifyClaimArray{
    					&apigateway.DeploymentSpecificationRequestPoliciesAuthenticationVerifyClaimArgs{
    						IsRequired: pulumi.Bool(false),
    						Key:        pulumi.String("string"),
    						Values: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    				},
    			},
    			Cors: &apigateway.DeploymentSpecificationRequestPoliciesCorsArgs{
    				AllowedOrigins: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				AllowedHeaders: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				AllowedMethods: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				ExposedHeaders: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				IsAllowCredentialsEnabled: pulumi.Bool(false),
    				MaxAgeInSeconds:           pulumi.Int(0),
    			},
    			DynamicAuthentication: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationArgs{
    				AuthenticationServers: apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerArray{
    					&apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerArgs{
    						AuthenticationServerDetail: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailArgs{
    							Type: pulumi.String("string"),
    							Parameters: pulumi.StringMap{
    								"string": pulumi.String("string"),
    							},
    							TokenAuthScheme:          pulumi.String("string"),
    							IsAnonymousAccessAllowed: pulumi.Bool(false),
    							Issuers: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							MaxClockSkewInSeconds: pulumi.Float64(0),
    							Audiences: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							PublicKeys: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysArgs{
    								Type:                pulumi.String("string"),
    								IsSslVerifyDisabled: pulumi.Bool(false),
    								Keys: apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysKeyArray{
    									&apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysKeyArgs{
    										Format: pulumi.String("string"),
    										Alg:    pulumi.String("string"),
    										E:      pulumi.String("string"),
    										Key:    pulumi.String("string"),
    										KeyOps: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    										Kid: pulumi.String("string"),
    										Kty: pulumi.String("string"),
    										N:   pulumi.String("string"),
    										Use: pulumi.String("string"),
    									},
    								},
    								MaxCacheDurationInHours: pulumi.Int(0),
    								Uri:                     pulumi.String("string"),
    							},
    							FunctionId:      pulumi.String("string"),
    							TokenHeader:     pulumi.String("string"),
    							TokenQueryParam: pulumi.String("string"),
    							CacheKeys: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							ValidationFailurePolicy: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyArgs{
    								Type:                     pulumi.String("string"),
    								ResponseMessage:          pulumi.String("string"),
    								LogoutPath:               pulumi.String("string"),
    								MaxExpiryDurationInHours: pulumi.Int(0),
    								ResponseCode:             pulumi.String("string"),
    								ResponseHeaderTransformations: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsArgs{
    									FilterHeaders: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersArgs{
    										Items: apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArray{
    											&apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArgs{
    												Name: pulumi.String("string"),
    											},
    										},
    										Type: pulumi.String("string"),
    									},
    									RenameHeaders: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersArgs{
    										Items: apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArray{
    											&apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArgs{
    												From: pulumi.String("string"),
    												To:   pulumi.String("string"),
    											},
    										},
    									},
    									SetHeaders: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersArgs{
    										Items: apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArray{
    											&apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArgs{
    												IfExists: pulumi.String("string"),
    												Name:     pulumi.String("string"),
    												Values: pulumi.StringArray{
    													pulumi.String("string"),
    												},
    											},
    										},
    									},
    								},
    								ClientDetails: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyClientDetailsArgs{
    									Type:                      pulumi.String("string"),
    									ClientId:                  pulumi.String("string"),
    									ClientSecretId:            pulumi.String("string"),
    									ClientSecretVersionNumber: pulumi.String("string"),
    								},
    								ResponseType: pulumi.String("string"),
    								Scopes: pulumi.StringArray{
    									pulumi.String("string"),
    								},
    								SourceUriDetails: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicySourceUriDetailsArgs{
    									Type: pulumi.String("string"),
    									Uri:  pulumi.String("string"),
    								},
    								FallbackRedirectPath:           pulumi.String("string"),
    								UseCookiesForIntermediateSteps: pulumi.Bool(false),
    								UseCookiesForSession:           pulumi.Bool(false),
    								UsePkce:                        pulumi.Bool(false),
    							},
    							ValidationPolicy: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyArgs{
    								Type: pulumi.String("string"),
    								AdditionalValidationPolicy: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyArgs{
    									Audiences: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    									Issuers: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    									VerifyClaims: apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimArray{
    										&apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimArgs{
    											IsRequired: pulumi.Bool(false),
    											Key:        pulumi.String("string"),
    											Values: pulumi.StringArray{
    												pulumi.String("string"),
    											},
    										},
    									},
    								},
    								ClientDetails: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyClientDetailsArgs{
    									Type:                      pulumi.String("string"),
    									ClientId:                  pulumi.String("string"),
    									ClientSecretId:            pulumi.String("string"),
    									ClientSecretVersionNumber: pulumi.String("string"),
    								},
    								IsSslVerifyDisabled: pulumi.Bool(false),
    								Keys: apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyKeyArray{
    									&apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyKeyArgs{
    										Format: pulumi.String("string"),
    										Alg:    pulumi.String("string"),
    										E:      pulumi.String("string"),
    										Key:    pulumi.String("string"),
    										KeyOps: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    										Kid: pulumi.String("string"),
    										Kty: pulumi.String("string"),
    										N:   pulumi.String("string"),
    										Use: pulumi.String("string"),
    									},
    								},
    								MaxCacheDurationInHours: pulumi.Int(0),
    								SourceUriDetails: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicySourceUriDetailsArgs{
    									Type: pulumi.String("string"),
    									Uri:  pulumi.String("string"),
    								},
    								Uri: pulumi.String("string"),
    							},
    							VerifyClaims: apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailVerifyClaimArray{
    								&apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailVerifyClaimArgs{
    									IsRequired: pulumi.Bool(false),
    									Key:        pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    						},
    						Key: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerKeyArgs{
    							Name:       pulumi.String("string"),
    							Expression: pulumi.String("string"),
    							IsDefault:  pulumi.Bool(false),
    							Type:       pulumi.String("string"),
    							Values: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    				},
    				SelectionSource: &apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceArgs{
    					Selector: pulumi.String("string"),
    					Type:     pulumi.String("string"),
    				},
    			},
    			MutualTls: &apigateway.DeploymentSpecificationRequestPoliciesMutualTlsArgs{
    				AllowedSans: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				IsVerifiedCertificateRequired: pulumi.Bool(false),
    			},
    			RateLimiting: &apigateway.DeploymentSpecificationRequestPoliciesRateLimitingArgs{
    				RateInRequestsPerSecond: pulumi.Int(0),
    				RateKey:                 pulumi.String("string"),
    			},
    			UsagePlans: &apigateway.DeploymentSpecificationRequestPoliciesUsagePlansArgs{
    				TokenLocations: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    	},
    	DefinedTags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	DisplayName: pulumi.String("string"),
    	FreeformTags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    var deploymentResource = new Deployment("deploymentResource", DeploymentArgs.builder()
        .compartmentId("string")
        .gatewayId("string")
        .pathPrefix("string")
        .specification(DeploymentSpecificationArgs.builder()
            .routes(DeploymentSpecificationRouteArgs.builder()
                .backend(DeploymentSpecificationRouteBackendArgs.builder()
                    .type("string")
                    .postLogoutState("string")
                    .connectTimeoutInSeconds(0)
                    .functionId("string")
                    .headers(DeploymentSpecificationRouteBackendHeaderArgs.builder()
                        .name("string")
                        .value("string")
                        .build())
                    .isSslVerifyDisabled(false)
                    .allowedPostLogoutUris("string")
                    .readTimeoutInSeconds(0)
                    .routingBackends(DeploymentSpecificationRouteBackendRoutingBackendArgs.builder()
                        .backend(DeploymentSpecificationRouteBackendRoutingBackendBackendArgs.builder()
                            .type("string")
                            .body("string")
                            .connectTimeoutInSeconds(0)
                            .functionId("string")
                            .headers(DeploymentSpecificationRouteBackendRoutingBackendBackendHeaderArgs.builder()
                                .name("string")
                                .value("string")
                                .build())
                            .isSslVerifyDisabled(false)
                            .readTimeoutInSeconds(0)
                            .sendTimeoutInSeconds(0)
                            .status(0)
                            .url("string")
                            .build())
                        .key(DeploymentSpecificationRouteBackendRoutingBackendKeyArgs.builder()
                            .name("string")
                            .type("string")
                            .expression("string")
                            .isDefault(false)
                            .values("string")
                            .build())
                        .build())
                    .selectionSource(DeploymentSpecificationRouteBackendSelectionSourceArgs.builder()
                        .selector("string")
                        .type("string")
                        .build())
                    .sendTimeoutInSeconds(0)
                    .status(0)
                    .body("string")
                    .url("string")
                    .build())
                .path("string")
                .loggingPolicies(DeploymentSpecificationRouteLoggingPoliciesArgs.builder()
                    .accessLog(DeploymentSpecificationRouteLoggingPoliciesAccessLogArgs.builder()
                        .isEnabled(false)
                        .build())
                    .executionLog(DeploymentSpecificationRouteLoggingPoliciesExecutionLogArgs.builder()
                        .isEnabled(false)
                        .logLevel("string")
                        .build())
                    .build())
                .methods("string")
                .requestPolicies(DeploymentSpecificationRouteRequestPoliciesArgs.builder()
                    .authorization(DeploymentSpecificationRouteRequestPoliciesAuthorizationArgs.builder()
                        .allowedScopes("string")
                        .type("string")
                        .build())
                    .bodyValidation(DeploymentSpecificationRouteRequestPoliciesBodyValidationArgs.builder()
                        .contents(DeploymentSpecificationRouteRequestPoliciesBodyValidationContentArgs.builder()
                            .mediaType("string")
                            .validationType("string")
                            .build())
                        .required(false)
                        .validationMode("string")
                        .build())
                    .cors(DeploymentSpecificationRouteRequestPoliciesCorsArgs.builder()
                        .allowedOrigins("string")
                        .allowedHeaders("string")
                        .allowedMethods("string")
                        .exposedHeaders("string")
                        .isAllowCredentialsEnabled(false)
                        .maxAgeInSeconds(0)
                        .build())
                    .headerTransformations(DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsArgs.builder()
                        .filterHeaders(DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersArgs.builder()
                            .items(DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersItemArgs.builder()
                                .name("string")
                                .build())
                            .type("string")
                            .build())
                        .renameHeaders(DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersArgs.builder()
                            .items(DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersItemArgs.builder()
                                .from("string")
                                .to("string")
                                .build())
                            .build())
                        .setHeaders(DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersArgs.builder()
                            .items(DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersItemArgs.builder()
                                .name("string")
                                .values("string")
                                .ifExists("string")
                                .build())
                            .build())
                        .build())
                    .headerValidations(DeploymentSpecificationRouteRequestPoliciesHeaderValidationsArgs.builder()
                        .headers(DeploymentSpecificationRouteRequestPoliciesHeaderValidationsHeaderArgs.builder()
                            .name("string")
                            .required(false)
                            .build())
                        .validationMode("string")
                        .build())
                    .queryParameterTransformations(DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsArgs.builder()
                        .filterQueryParameters(DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersArgs.builder()
                            .items(DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersItemArgs.builder()
                                .name("string")
                                .build())
                            .type("string")
                            .build())
                        .renameQueryParameters(DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersArgs.builder()
                            .items(DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemArgs.builder()
                                .from("string")
                                .to("string")
                                .build())
                            .build())
                        .setQueryParameters(DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersArgs.builder()
                            .items(DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersItemArgs.builder()
                                .name("string")
                                .values("string")
                                .ifExists("string")
                                .build())
                            .build())
                        .build())
                    .queryParameterValidations(DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsArgs.builder()
                        .parameters(DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsParameterArgs.builder()
                            .name("string")
                            .required(false)
                            .build())
                        .validationMode("string")
                        .build())
                    .responseCacheLookup(DeploymentSpecificationRouteRequestPoliciesResponseCacheLookupArgs.builder()
                        .type("string")
                        .cacheKeyAdditions("string")
                        .isEnabled(false)
                        .isPrivateCachingEnabled(false)
                        .build())
                    .build())
                .responsePolicies(DeploymentSpecificationRouteResponsePoliciesArgs.builder()
                    .headerTransformations(DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsArgs.builder()
                        .filterHeaders(DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersArgs.builder()
                            .items(DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersItemArgs.builder()
                                .name("string")
                                .build())
                            .type("string")
                            .build())
                        .renameHeaders(DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersArgs.builder()
                            .items(DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersItemArgs.builder()
                                .from("string")
                                .to("string")
                                .build())
                            .build())
                        .setHeaders(DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersArgs.builder()
                            .items(DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersItemArgs.builder()
                                .name("string")
                                .values("string")
                                .ifExists("string")
                                .build())
                            .build())
                        .build())
                    .responseCacheStore(DeploymentSpecificationRouteResponsePoliciesResponseCacheStoreArgs.builder()
                        .timeToLiveInSeconds(0)
                        .type("string")
                        .build())
                    .build())
                .build())
            .loggingPolicies(DeploymentSpecificationLoggingPoliciesArgs.builder()
                .accessLog(DeploymentSpecificationLoggingPoliciesAccessLogArgs.builder()
                    .isEnabled(false)
                    .build())
                .executionLog(DeploymentSpecificationLoggingPoliciesExecutionLogArgs.builder()
                    .isEnabled(false)
                    .logLevel("string")
                    .build())
                .build())
            .requestPolicies(DeploymentSpecificationRequestPoliciesArgs.builder()
                .authentication(DeploymentSpecificationRequestPoliciesAuthenticationArgs.builder()
                    .type("string")
                    .parameters(Map.of("string", "string"))
                    .tokenAuthScheme("string")
                    .isAnonymousAccessAllowed(false)
                    .issuers("string")
                    .maxClockSkewInSeconds(0)
                    .audiences("string")
                    .publicKeys(DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysArgs.builder()
                        .type("string")
                        .isSslVerifyDisabled(false)
                        .keys(DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeyArgs.builder()
                            .format("string")
                            .alg("string")
                            .e("string")
                            .key("string")
                            .keyOps("string")
                            .kid("string")
                            .kty("string")
                            .n("string")
                            .use("string")
                            .build())
                        .maxCacheDurationInHours(0)
                        .uri("string")
                        .build())
                    .functionId("string")
                    .tokenHeader("string")
                    .tokenQueryParam("string")
                    .cacheKeys("string")
                    .validationFailurePolicy(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyArgs.builder()
                        .type("string")
                        .responseMessage("string")
                        .logoutPath("string")
                        .maxExpiryDurationInHours(0)
                        .responseCode("string")
                        .responseHeaderTransformations(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsArgs.builder()
                            .filterHeaders(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersArgs.builder()
                                .items(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArgs.builder()
                                    .name("string")
                                    .build())
                                .type("string")
                                .build())
                            .renameHeaders(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersArgs.builder()
                                .items(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArgs.builder()
                                    .from("string")
                                    .to("string")
                                    .build())
                                .build())
                            .setHeaders(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersArgs.builder()
                                .items(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArgs.builder()
                                    .ifExists("string")
                                    .name("string")
                                    .values("string")
                                    .build())
                                .build())
                            .build())
                        .clientDetails(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsArgs.builder()
                            .type("string")
                            .clientId("string")
                            .clientSecretId("string")
                            .clientSecretVersionNumber("string")
                            .build())
                        .responseType("string")
                        .scopes("string")
                        .sourceUriDetails(DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsArgs.builder()
                            .type("string")
                            .uri("string")
                            .build())
                        .fallbackRedirectPath("string")
                        .useCookiesForIntermediateSteps(false)
                        .useCookiesForSession(false)
                        .usePkce(false)
                        .build())
                    .validationPolicy(DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyArgs.builder()
                        .type("string")
                        .additionalValidationPolicy(DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyArgs.builder()
                            .audiences("string")
                            .issuers("string")
                            .verifyClaims(DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimArgs.builder()
                                .isRequired(false)
                                .key("string")
                                .values("string")
                                .build())
                            .build())
                        .clientDetails(DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsArgs.builder()
                            .type("string")
                            .clientId("string")
                            .clientSecretId("string")
                            .clientSecretVersionNumber("string")
                            .build())
                        .isSslVerifyDisabled(false)
                        .keys(DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeyArgs.builder()
                            .format("string")
                            .alg("string")
                            .e("string")
                            .key("string")
                            .keyOps("string")
                            .kid("string")
                            .kty("string")
                            .n("string")
                            .use("string")
                            .build())
                        .maxCacheDurationInHours(0)
                        .sourceUriDetails(DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsArgs.builder()
                            .type("string")
                            .uri("string")
                            .build())
                        .uri("string")
                        .build())
                    .verifyClaims(DeploymentSpecificationRequestPoliciesAuthenticationVerifyClaimArgs.builder()
                        .isRequired(false)
                        .key("string")
                        .values("string")
                        .build())
                    .build())
                .cors(DeploymentSpecificationRequestPoliciesCorsArgs.builder()
                    .allowedOrigins("string")
                    .allowedHeaders("string")
                    .allowedMethods("string")
                    .exposedHeaders("string")
                    .isAllowCredentialsEnabled(false)
                    .maxAgeInSeconds(0)
                    .build())
                .dynamicAuthentication(DeploymentSpecificationRequestPoliciesDynamicAuthenticationArgs.builder()
                    .authenticationServers(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerArgs.builder()
                        .authenticationServerDetail(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailArgs.builder()
                            .type("string")
                            .parameters(Map.of("string", "string"))
                            .tokenAuthScheme("string")
                            .isAnonymousAccessAllowed(false)
                            .issuers("string")
                            .maxClockSkewInSeconds(0)
                            .audiences("string")
                            .publicKeys(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysArgs.builder()
                                .type("string")
                                .isSslVerifyDisabled(false)
                                .keys(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysKeyArgs.builder()
                                    .format("string")
                                    .alg("string")
                                    .e("string")
                                    .key("string")
                                    .keyOps("string")
                                    .kid("string")
                                    .kty("string")
                                    .n("string")
                                    .use("string")
                                    .build())
                                .maxCacheDurationInHours(0)
                                .uri("string")
                                .build())
                            .functionId("string")
                            .tokenHeader("string")
                            .tokenQueryParam("string")
                            .cacheKeys("string")
                            .validationFailurePolicy(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyArgs.builder()
                                .type("string")
                                .responseMessage("string")
                                .logoutPath("string")
                                .maxExpiryDurationInHours(0)
                                .responseCode("string")
                                .responseHeaderTransformations(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsArgs.builder()
                                    .filterHeaders(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersArgs.builder()
                                        .items(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArgs.builder()
                                            .name("string")
                                            .build())
                                        .type("string")
                                        .build())
                                    .renameHeaders(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersArgs.builder()
                                        .items(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArgs.builder()
                                            .from("string")
                                            .to("string")
                                            .build())
                                        .build())
                                    .setHeaders(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersArgs.builder()
                                        .items(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArgs.builder()
                                            .ifExists("string")
                                            .name("string")
                                            .values("string")
                                            .build())
                                        .build())
                                    .build())
                                .clientDetails(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyClientDetailsArgs.builder()
                                    .type("string")
                                    .clientId("string")
                                    .clientSecretId("string")
                                    .clientSecretVersionNumber("string")
                                    .build())
                                .responseType("string")
                                .scopes("string")
                                .sourceUriDetails(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicySourceUriDetailsArgs.builder()
                                    .type("string")
                                    .uri("string")
                                    .build())
                                .fallbackRedirectPath("string")
                                .useCookiesForIntermediateSteps(false)
                                .useCookiesForSession(false)
                                .usePkce(false)
                                .build())
                            .validationPolicy(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyArgs.builder()
                                .type("string")
                                .additionalValidationPolicy(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyArgs.builder()
                                    .audiences("string")
                                    .issuers("string")
                                    .verifyClaims(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimArgs.builder()
                                        .isRequired(false)
                                        .key("string")
                                        .values("string")
                                        .build())
                                    .build())
                                .clientDetails(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyClientDetailsArgs.builder()
                                    .type("string")
                                    .clientId("string")
                                    .clientSecretId("string")
                                    .clientSecretVersionNumber("string")
                                    .build())
                                .isSslVerifyDisabled(false)
                                .keys(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyKeyArgs.builder()
                                    .format("string")
                                    .alg("string")
                                    .e("string")
                                    .key("string")
                                    .keyOps("string")
                                    .kid("string")
                                    .kty("string")
                                    .n("string")
                                    .use("string")
                                    .build())
                                .maxCacheDurationInHours(0)
                                .sourceUriDetails(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicySourceUriDetailsArgs.builder()
                                    .type("string")
                                    .uri("string")
                                    .build())
                                .uri("string")
                                .build())
                            .verifyClaims(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailVerifyClaimArgs.builder()
                                .isRequired(false)
                                .key("string")
                                .values("string")
                                .build())
                            .build())
                        .key(DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerKeyArgs.builder()
                            .name("string")
                            .expression("string")
                            .isDefault(false)
                            .type("string")
                            .values("string")
                            .build())
                        .build())
                    .selectionSource(DeploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceArgs.builder()
                        .selector("string")
                        .type("string")
                        .build())
                    .build())
                .mutualTls(DeploymentSpecificationRequestPoliciesMutualTlsArgs.builder()
                    .allowedSans("string")
                    .isVerifiedCertificateRequired(false)
                    .build())
                .rateLimiting(DeploymentSpecificationRequestPoliciesRateLimitingArgs.builder()
                    .rateInRequestsPerSecond(0)
                    .rateKey("string")
                    .build())
                .usagePlans(DeploymentSpecificationRequestPoliciesUsagePlansArgs.builder()
                    .tokenLocations("string")
                    .build())
                .build())
            .build())
        .definedTags(Map.of("string", "string"))
        .displayName("string")
        .freeformTags(Map.of("string", "string"))
        .build());
    
    deployment_resource = oci.api_gateway.Deployment("deploymentResource",
        compartment_id="string",
        gateway_id="string",
        path_prefix="string",
        specification={
            "routes": [{
                "backend": {
                    "type": "string",
                    "post_logout_state": "string",
                    "connect_timeout_in_seconds": 0,
                    "function_id": "string",
                    "headers": [{
                        "name": "string",
                        "value": "string",
                    }],
                    "is_ssl_verify_disabled": False,
                    "allowed_post_logout_uris": ["string"],
                    "read_timeout_in_seconds": 0,
                    "routing_backends": [{
                        "backend": {
                            "type": "string",
                            "body": "string",
                            "connect_timeout_in_seconds": 0,
                            "function_id": "string",
                            "headers": [{
                                "name": "string",
                                "value": "string",
                            }],
                            "is_ssl_verify_disabled": False,
                            "read_timeout_in_seconds": 0,
                            "send_timeout_in_seconds": 0,
                            "status": 0,
                            "url": "string",
                        },
                        "key": {
                            "name": "string",
                            "type": "string",
                            "expression": "string",
                            "is_default": False,
                            "values": ["string"],
                        },
                    }],
                    "selection_source": {
                        "selector": "string",
                        "type": "string",
                    },
                    "send_timeout_in_seconds": 0,
                    "status": 0,
                    "body": "string",
                    "url": "string",
                },
                "path": "string",
                "logging_policies": {
                    "access_log": {
                        "is_enabled": False,
                    },
                    "execution_log": {
                        "is_enabled": False,
                        "log_level": "string",
                    },
                },
                "methods": ["string"],
                "request_policies": {
                    "authorization": {
                        "allowed_scopes": ["string"],
                        "type": "string",
                    },
                    "body_validation": {
                        "contents": [{
                            "media_type": "string",
                            "validation_type": "string",
                        }],
                        "required": False,
                        "validation_mode": "string",
                    },
                    "cors": {
                        "allowed_origins": ["string"],
                        "allowed_headers": ["string"],
                        "allowed_methods": ["string"],
                        "exposed_headers": ["string"],
                        "is_allow_credentials_enabled": False,
                        "max_age_in_seconds": 0,
                    },
                    "header_transformations": {
                        "filter_headers": {
                            "items": [{
                                "name": "string",
                            }],
                            "type": "string",
                        },
                        "rename_headers": {
                            "items": [{
                                "from_": "string",
                                "to": "string",
                            }],
                        },
                        "set_headers": {
                            "items": [{
                                "name": "string",
                                "values": ["string"],
                                "if_exists": "string",
                            }],
                        },
                    },
                    "header_validations": {
                        "headers": [{
                            "name": "string",
                            "required": False,
                        }],
                        "validation_mode": "string",
                    },
                    "query_parameter_transformations": {
                        "filter_query_parameters": {
                            "items": [{
                                "name": "string",
                            }],
                            "type": "string",
                        },
                        "rename_query_parameters": {
                            "items": [{
                                "from_": "string",
                                "to": "string",
                            }],
                        },
                        "set_query_parameters": {
                            "items": [{
                                "name": "string",
                                "values": ["string"],
                                "if_exists": "string",
                            }],
                        },
                    },
                    "query_parameter_validations": {
                        "parameters": [{
                            "name": "string",
                            "required": False,
                        }],
                        "validation_mode": "string",
                    },
                    "response_cache_lookup": {
                        "type": "string",
                        "cache_key_additions": ["string"],
                        "is_enabled": False,
                        "is_private_caching_enabled": False,
                    },
                },
                "response_policies": {
                    "header_transformations": {
                        "filter_headers": {
                            "items": [{
                                "name": "string",
                            }],
                            "type": "string",
                        },
                        "rename_headers": {
                            "items": [{
                                "from_": "string",
                                "to": "string",
                            }],
                        },
                        "set_headers": {
                            "items": [{
                                "name": "string",
                                "values": ["string"],
                                "if_exists": "string",
                            }],
                        },
                    },
                    "response_cache_store": {
                        "time_to_live_in_seconds": 0,
                        "type": "string",
                    },
                },
            }],
            "logging_policies": {
                "access_log": {
                    "is_enabled": False,
                },
                "execution_log": {
                    "is_enabled": False,
                    "log_level": "string",
                },
            },
            "request_policies": {
                "authentication": {
                    "type": "string",
                    "parameters": {
                        "string": "string",
                    },
                    "token_auth_scheme": "string",
                    "is_anonymous_access_allowed": False,
                    "issuers": ["string"],
                    "max_clock_skew_in_seconds": 0,
                    "audiences": ["string"],
                    "public_keys": {
                        "type": "string",
                        "is_ssl_verify_disabled": False,
                        "keys": [{
                            "format": "string",
                            "alg": "string",
                            "e": "string",
                            "key": "string",
                            "key_ops": ["string"],
                            "kid": "string",
                            "kty": "string",
                            "n": "string",
                            "use": "string",
                        }],
                        "max_cache_duration_in_hours": 0,
                        "uri": "string",
                    },
                    "function_id": "string",
                    "token_header": "string",
                    "token_query_param": "string",
                    "cache_keys": ["string"],
                    "validation_failure_policy": {
                        "type": "string",
                        "response_message": "string",
                        "logout_path": "string",
                        "max_expiry_duration_in_hours": 0,
                        "response_code": "string",
                        "response_header_transformations": {
                            "filter_headers": {
                                "items": [{
                                    "name": "string",
                                }],
                                "type": "string",
                            },
                            "rename_headers": {
                                "items": [{
                                    "from_": "string",
                                    "to": "string",
                                }],
                            },
                            "set_headers": {
                                "items": [{
                                    "if_exists": "string",
                                    "name": "string",
                                    "values": ["string"],
                                }],
                            },
                        },
                        "client_details": {
                            "type": "string",
                            "client_id": "string",
                            "client_secret_id": "string",
                            "client_secret_version_number": "string",
                        },
                        "response_type": "string",
                        "scopes": ["string"],
                        "source_uri_details": {
                            "type": "string",
                            "uri": "string",
                        },
                        "fallback_redirect_path": "string",
                        "use_cookies_for_intermediate_steps": False,
                        "use_cookies_for_session": False,
                        "use_pkce": False,
                    },
                    "validation_policy": {
                        "type": "string",
                        "additional_validation_policy": {
                            "audiences": ["string"],
                            "issuers": ["string"],
                            "verify_claims": [{
                                "is_required": False,
                                "key": "string",
                                "values": ["string"],
                            }],
                        },
                        "client_details": {
                            "type": "string",
                            "client_id": "string",
                            "client_secret_id": "string",
                            "client_secret_version_number": "string",
                        },
                        "is_ssl_verify_disabled": False,
                        "keys": [{
                            "format": "string",
                            "alg": "string",
                            "e": "string",
                            "key": "string",
                            "key_ops": ["string"],
                            "kid": "string",
                            "kty": "string",
                            "n": "string",
                            "use": "string",
                        }],
                        "max_cache_duration_in_hours": 0,
                        "source_uri_details": {
                            "type": "string",
                            "uri": "string",
                        },
                        "uri": "string",
                    },
                    "verify_claims": [{
                        "is_required": False,
                        "key": "string",
                        "values": ["string"],
                    }],
                },
                "cors": {
                    "allowed_origins": ["string"],
                    "allowed_headers": ["string"],
                    "allowed_methods": ["string"],
                    "exposed_headers": ["string"],
                    "is_allow_credentials_enabled": False,
                    "max_age_in_seconds": 0,
                },
                "dynamic_authentication": {
                    "authentication_servers": [{
                        "authentication_server_detail": {
                            "type": "string",
                            "parameters": {
                                "string": "string",
                            },
                            "token_auth_scheme": "string",
                            "is_anonymous_access_allowed": False,
                            "issuers": ["string"],
                            "max_clock_skew_in_seconds": 0,
                            "audiences": ["string"],
                            "public_keys": {
                                "type": "string",
                                "is_ssl_verify_disabled": False,
                                "keys": [{
                                    "format": "string",
                                    "alg": "string",
                                    "e": "string",
                                    "key": "string",
                                    "key_ops": ["string"],
                                    "kid": "string",
                                    "kty": "string",
                                    "n": "string",
                                    "use": "string",
                                }],
                                "max_cache_duration_in_hours": 0,
                                "uri": "string",
                            },
                            "function_id": "string",
                            "token_header": "string",
                            "token_query_param": "string",
                            "cache_keys": ["string"],
                            "validation_failure_policy": {
                                "type": "string",
                                "response_message": "string",
                                "logout_path": "string",
                                "max_expiry_duration_in_hours": 0,
                                "response_code": "string",
                                "response_header_transformations": {
                                    "filter_headers": {
                                        "items": [{
                                            "name": "string",
                                        }],
                                        "type": "string",
                                    },
                                    "rename_headers": {
                                        "items": [{
                                            "from_": "string",
                                            "to": "string",
                                        }],
                                    },
                                    "set_headers": {
                                        "items": [{
                                            "if_exists": "string",
                                            "name": "string",
                                            "values": ["string"],
                                        }],
                                    },
                                },
                                "client_details": {
                                    "type": "string",
                                    "client_id": "string",
                                    "client_secret_id": "string",
                                    "client_secret_version_number": "string",
                                },
                                "response_type": "string",
                                "scopes": ["string"],
                                "source_uri_details": {
                                    "type": "string",
                                    "uri": "string",
                                },
                                "fallback_redirect_path": "string",
                                "use_cookies_for_intermediate_steps": False,
                                "use_cookies_for_session": False,
                                "use_pkce": False,
                            },
                            "validation_policy": {
                                "type": "string",
                                "additional_validation_policy": {
                                    "audiences": ["string"],
                                    "issuers": ["string"],
                                    "verify_claims": [{
                                        "is_required": False,
                                        "key": "string",
                                        "values": ["string"],
                                    }],
                                },
                                "client_details": {
                                    "type": "string",
                                    "client_id": "string",
                                    "client_secret_id": "string",
                                    "client_secret_version_number": "string",
                                },
                                "is_ssl_verify_disabled": False,
                                "keys": [{
                                    "format": "string",
                                    "alg": "string",
                                    "e": "string",
                                    "key": "string",
                                    "key_ops": ["string"],
                                    "kid": "string",
                                    "kty": "string",
                                    "n": "string",
                                    "use": "string",
                                }],
                                "max_cache_duration_in_hours": 0,
                                "source_uri_details": {
                                    "type": "string",
                                    "uri": "string",
                                },
                                "uri": "string",
                            },
                            "verify_claims": [{
                                "is_required": False,
                                "key": "string",
                                "values": ["string"],
                            }],
                        },
                        "key": {
                            "name": "string",
                            "expression": "string",
                            "is_default": False,
                            "type": "string",
                            "values": ["string"],
                        },
                    }],
                    "selection_source": {
                        "selector": "string",
                        "type": "string",
                    },
                },
                "mutual_tls": {
                    "allowed_sans": ["string"],
                    "is_verified_certificate_required": False,
                },
                "rate_limiting": {
                    "rate_in_requests_per_second": 0,
                    "rate_key": "string",
                },
                "usage_plans": {
                    "token_locations": ["string"],
                },
            },
        },
        defined_tags={
            "string": "string",
        },
        display_name="string",
        freeform_tags={
            "string": "string",
        })
    
    const deploymentResource = new oci.apigateway.Deployment("deploymentResource", {
        compartmentId: "string",
        gatewayId: "string",
        pathPrefix: "string",
        specification: {
            routes: [{
                backend: {
                    type: "string",
                    postLogoutState: "string",
                    connectTimeoutInSeconds: 0,
                    functionId: "string",
                    headers: [{
                        name: "string",
                        value: "string",
                    }],
                    isSslVerifyDisabled: false,
                    allowedPostLogoutUris: ["string"],
                    readTimeoutInSeconds: 0,
                    routingBackends: [{
                        backend: {
                            type: "string",
                            body: "string",
                            connectTimeoutInSeconds: 0,
                            functionId: "string",
                            headers: [{
                                name: "string",
                                value: "string",
                            }],
                            isSslVerifyDisabled: false,
                            readTimeoutInSeconds: 0,
                            sendTimeoutInSeconds: 0,
                            status: 0,
                            url: "string",
                        },
                        key: {
                            name: "string",
                            type: "string",
                            expression: "string",
                            isDefault: false,
                            values: ["string"],
                        },
                    }],
                    selectionSource: {
                        selector: "string",
                        type: "string",
                    },
                    sendTimeoutInSeconds: 0,
                    status: 0,
                    body: "string",
                    url: "string",
                },
                path: "string",
                loggingPolicies: {
                    accessLog: {
                        isEnabled: false,
                    },
                    executionLog: {
                        isEnabled: false,
                        logLevel: "string",
                    },
                },
                methods: ["string"],
                requestPolicies: {
                    authorization: {
                        allowedScopes: ["string"],
                        type: "string",
                    },
                    bodyValidation: {
                        contents: [{
                            mediaType: "string",
                            validationType: "string",
                        }],
                        required: false,
                        validationMode: "string",
                    },
                    cors: {
                        allowedOrigins: ["string"],
                        allowedHeaders: ["string"],
                        allowedMethods: ["string"],
                        exposedHeaders: ["string"],
                        isAllowCredentialsEnabled: false,
                        maxAgeInSeconds: 0,
                    },
                    headerTransformations: {
                        filterHeaders: {
                            items: [{
                                name: "string",
                            }],
                            type: "string",
                        },
                        renameHeaders: {
                            items: [{
                                from: "string",
                                to: "string",
                            }],
                        },
                        setHeaders: {
                            items: [{
                                name: "string",
                                values: ["string"],
                                ifExists: "string",
                            }],
                        },
                    },
                    headerValidations: {
                        headers: [{
                            name: "string",
                            required: false,
                        }],
                        validationMode: "string",
                    },
                    queryParameterTransformations: {
                        filterQueryParameters: {
                            items: [{
                                name: "string",
                            }],
                            type: "string",
                        },
                        renameQueryParameters: {
                            items: [{
                                from: "string",
                                to: "string",
                            }],
                        },
                        setQueryParameters: {
                            items: [{
                                name: "string",
                                values: ["string"],
                                ifExists: "string",
                            }],
                        },
                    },
                    queryParameterValidations: {
                        parameters: [{
                            name: "string",
                            required: false,
                        }],
                        validationMode: "string",
                    },
                    responseCacheLookup: {
                        type: "string",
                        cacheKeyAdditions: ["string"],
                        isEnabled: false,
                        isPrivateCachingEnabled: false,
                    },
                },
                responsePolicies: {
                    headerTransformations: {
                        filterHeaders: {
                            items: [{
                                name: "string",
                            }],
                            type: "string",
                        },
                        renameHeaders: {
                            items: [{
                                from: "string",
                                to: "string",
                            }],
                        },
                        setHeaders: {
                            items: [{
                                name: "string",
                                values: ["string"],
                                ifExists: "string",
                            }],
                        },
                    },
                    responseCacheStore: {
                        timeToLiveInSeconds: 0,
                        type: "string",
                    },
                },
            }],
            loggingPolicies: {
                accessLog: {
                    isEnabled: false,
                },
                executionLog: {
                    isEnabled: false,
                    logLevel: "string",
                },
            },
            requestPolicies: {
                authentication: {
                    type: "string",
                    parameters: {
                        string: "string",
                    },
                    tokenAuthScheme: "string",
                    isAnonymousAccessAllowed: false,
                    issuers: ["string"],
                    maxClockSkewInSeconds: 0,
                    audiences: ["string"],
                    publicKeys: {
                        type: "string",
                        isSslVerifyDisabled: false,
                        keys: [{
                            format: "string",
                            alg: "string",
                            e: "string",
                            key: "string",
                            keyOps: ["string"],
                            kid: "string",
                            kty: "string",
                            n: "string",
                            use: "string",
                        }],
                        maxCacheDurationInHours: 0,
                        uri: "string",
                    },
                    functionId: "string",
                    tokenHeader: "string",
                    tokenQueryParam: "string",
                    cacheKeys: ["string"],
                    validationFailurePolicy: {
                        type: "string",
                        responseMessage: "string",
                        logoutPath: "string",
                        maxExpiryDurationInHours: 0,
                        responseCode: "string",
                        responseHeaderTransformations: {
                            filterHeaders: {
                                items: [{
                                    name: "string",
                                }],
                                type: "string",
                            },
                            renameHeaders: {
                                items: [{
                                    from: "string",
                                    to: "string",
                                }],
                            },
                            setHeaders: {
                                items: [{
                                    ifExists: "string",
                                    name: "string",
                                    values: ["string"],
                                }],
                            },
                        },
                        clientDetails: {
                            type: "string",
                            clientId: "string",
                            clientSecretId: "string",
                            clientSecretVersionNumber: "string",
                        },
                        responseType: "string",
                        scopes: ["string"],
                        sourceUriDetails: {
                            type: "string",
                            uri: "string",
                        },
                        fallbackRedirectPath: "string",
                        useCookiesForIntermediateSteps: false,
                        useCookiesForSession: false,
                        usePkce: false,
                    },
                    validationPolicy: {
                        type: "string",
                        additionalValidationPolicy: {
                            audiences: ["string"],
                            issuers: ["string"],
                            verifyClaims: [{
                                isRequired: false,
                                key: "string",
                                values: ["string"],
                            }],
                        },
                        clientDetails: {
                            type: "string",
                            clientId: "string",
                            clientSecretId: "string",
                            clientSecretVersionNumber: "string",
                        },
                        isSslVerifyDisabled: false,
                        keys: [{
                            format: "string",
                            alg: "string",
                            e: "string",
                            key: "string",
                            keyOps: ["string"],
                            kid: "string",
                            kty: "string",
                            n: "string",
                            use: "string",
                        }],
                        maxCacheDurationInHours: 0,
                        sourceUriDetails: {
                            type: "string",
                            uri: "string",
                        },
                        uri: "string",
                    },
                    verifyClaims: [{
                        isRequired: false,
                        key: "string",
                        values: ["string"],
                    }],
                },
                cors: {
                    allowedOrigins: ["string"],
                    allowedHeaders: ["string"],
                    allowedMethods: ["string"],
                    exposedHeaders: ["string"],
                    isAllowCredentialsEnabled: false,
                    maxAgeInSeconds: 0,
                },
                dynamicAuthentication: {
                    authenticationServers: [{
                        authenticationServerDetail: {
                            type: "string",
                            parameters: {
                                string: "string",
                            },
                            tokenAuthScheme: "string",
                            isAnonymousAccessAllowed: false,
                            issuers: ["string"],
                            maxClockSkewInSeconds: 0,
                            audiences: ["string"],
                            publicKeys: {
                                type: "string",
                                isSslVerifyDisabled: false,
                                keys: [{
                                    format: "string",
                                    alg: "string",
                                    e: "string",
                                    key: "string",
                                    keyOps: ["string"],
                                    kid: "string",
                                    kty: "string",
                                    n: "string",
                                    use: "string",
                                }],
                                maxCacheDurationInHours: 0,
                                uri: "string",
                            },
                            functionId: "string",
                            tokenHeader: "string",
                            tokenQueryParam: "string",
                            cacheKeys: ["string"],
                            validationFailurePolicy: {
                                type: "string",
                                responseMessage: "string",
                                logoutPath: "string",
                                maxExpiryDurationInHours: 0,
                                responseCode: "string",
                                responseHeaderTransformations: {
                                    filterHeaders: {
                                        items: [{
                                            name: "string",
                                        }],
                                        type: "string",
                                    },
                                    renameHeaders: {
                                        items: [{
                                            from: "string",
                                            to: "string",
                                        }],
                                    },
                                    setHeaders: {
                                        items: [{
                                            ifExists: "string",
                                            name: "string",
                                            values: ["string"],
                                        }],
                                    },
                                },
                                clientDetails: {
                                    type: "string",
                                    clientId: "string",
                                    clientSecretId: "string",
                                    clientSecretVersionNumber: "string",
                                },
                                responseType: "string",
                                scopes: ["string"],
                                sourceUriDetails: {
                                    type: "string",
                                    uri: "string",
                                },
                                fallbackRedirectPath: "string",
                                useCookiesForIntermediateSteps: false,
                                useCookiesForSession: false,
                                usePkce: false,
                            },
                            validationPolicy: {
                                type: "string",
                                additionalValidationPolicy: {
                                    audiences: ["string"],
                                    issuers: ["string"],
                                    verifyClaims: [{
                                        isRequired: false,
                                        key: "string",
                                        values: ["string"],
                                    }],
                                },
                                clientDetails: {
                                    type: "string",
                                    clientId: "string",
                                    clientSecretId: "string",
                                    clientSecretVersionNumber: "string",
                                },
                                isSslVerifyDisabled: false,
                                keys: [{
                                    format: "string",
                                    alg: "string",
                                    e: "string",
                                    key: "string",
                                    keyOps: ["string"],
                                    kid: "string",
                                    kty: "string",
                                    n: "string",
                                    use: "string",
                                }],
                                maxCacheDurationInHours: 0,
                                sourceUriDetails: {
                                    type: "string",
                                    uri: "string",
                                },
                                uri: "string",
                            },
                            verifyClaims: [{
                                isRequired: false,
                                key: "string",
                                values: ["string"],
                            }],
                        },
                        key: {
                            name: "string",
                            expression: "string",
                            isDefault: false,
                            type: "string",
                            values: ["string"],
                        },
                    }],
                    selectionSource: {
                        selector: "string",
                        type: "string",
                    },
                },
                mutualTls: {
                    allowedSans: ["string"],
                    isVerifiedCertificateRequired: false,
                },
                rateLimiting: {
                    rateInRequestsPerSecond: 0,
                    rateKey: "string",
                },
                usagePlans: {
                    tokenLocations: ["string"],
                },
            },
        },
        definedTags: {
            string: "string",
        },
        displayName: "string",
        freeformTags: {
            string: "string",
        },
    });
    
    type: oci:ApiGateway:Deployment
    properties:
        compartmentId: string
        definedTags:
            string: string
        displayName: string
        freeformTags:
            string: string
        gatewayId: string
        pathPrefix: string
        specification:
            loggingPolicies:
                accessLog:
                    isEnabled: false
                executionLog:
                    isEnabled: false
                    logLevel: string
            requestPolicies:
                authentication:
                    audiences:
                        - string
                    cacheKeys:
                        - string
                    functionId: string
                    isAnonymousAccessAllowed: false
                    issuers:
                        - string
                    maxClockSkewInSeconds: 0
                    parameters:
                        string: string
                    publicKeys:
                        isSslVerifyDisabled: false
                        keys:
                            - alg: string
                              e: string
                              format: string
                              key: string
                              keyOps:
                                - string
                              kid: string
                              kty: string
                              "n": string
                              use: string
                        maxCacheDurationInHours: 0
                        type: string
                        uri: string
                    tokenAuthScheme: string
                    tokenHeader: string
                    tokenQueryParam: string
                    type: string
                    validationFailurePolicy:
                        clientDetails:
                            clientId: string
                            clientSecretId: string
                            clientSecretVersionNumber: string
                            type: string
                        fallbackRedirectPath: string
                        logoutPath: string
                        maxExpiryDurationInHours: 0
                        responseCode: string
                        responseHeaderTransformations:
                            filterHeaders:
                                items:
                                    - name: string
                                type: string
                            renameHeaders:
                                items:
                                    - from: string
                                      to: string
                            setHeaders:
                                items:
                                    - ifExists: string
                                      name: string
                                      values:
                                        - string
                        responseMessage: string
                        responseType: string
                        scopes:
                            - string
                        sourceUriDetails:
                            type: string
                            uri: string
                        type: string
                        useCookiesForIntermediateSteps: false
                        useCookiesForSession: false
                        usePkce: false
                    validationPolicy:
                        additionalValidationPolicy:
                            audiences:
                                - string
                            issuers:
                                - string
                            verifyClaims:
                                - isRequired: false
                                  key: string
                                  values:
                                    - string
                        clientDetails:
                            clientId: string
                            clientSecretId: string
                            clientSecretVersionNumber: string
                            type: string
                        isSslVerifyDisabled: false
                        keys:
                            - alg: string
                              e: string
                              format: string
                              key: string
                              keyOps:
                                - string
                              kid: string
                              kty: string
                              "n": string
                              use: string
                        maxCacheDurationInHours: 0
                        sourceUriDetails:
                            type: string
                            uri: string
                        type: string
                        uri: string
                    verifyClaims:
                        - isRequired: false
                          key: string
                          values:
                            - string
                cors:
                    allowedHeaders:
                        - string
                    allowedMethods:
                        - string
                    allowedOrigins:
                        - string
                    exposedHeaders:
                        - string
                    isAllowCredentialsEnabled: false
                    maxAgeInSeconds: 0
                dynamicAuthentication:
                    authenticationServers:
                        - authenticationServerDetail:
                            audiences:
                                - string
                            cacheKeys:
                                - string
                            functionId: string
                            isAnonymousAccessAllowed: false
                            issuers:
                                - string
                            maxClockSkewInSeconds: 0
                            parameters:
                                string: string
                            publicKeys:
                                isSslVerifyDisabled: false
                                keys:
                                    - alg: string
                                      e: string
                                      format: string
                                      key: string
                                      keyOps:
                                        - string
                                      kid: string
                                      kty: string
                                      "n": string
                                      use: string
                                maxCacheDurationInHours: 0
                                type: string
                                uri: string
                            tokenAuthScheme: string
                            tokenHeader: string
                            tokenQueryParam: string
                            type: string
                            validationFailurePolicy:
                                clientDetails:
                                    clientId: string
                                    clientSecretId: string
                                    clientSecretVersionNumber: string
                                    type: string
                                fallbackRedirectPath: string
                                logoutPath: string
                                maxExpiryDurationInHours: 0
                                responseCode: string
                                responseHeaderTransformations:
                                    filterHeaders:
                                        items:
                                            - name: string
                                        type: string
                                    renameHeaders:
                                        items:
                                            - from: string
                                              to: string
                                    setHeaders:
                                        items:
                                            - ifExists: string
                                              name: string
                                              values:
                                                - string
                                responseMessage: string
                                responseType: string
                                scopes:
                                    - string
                                sourceUriDetails:
                                    type: string
                                    uri: string
                                type: string
                                useCookiesForIntermediateSteps: false
                                useCookiesForSession: false
                                usePkce: false
                            validationPolicy:
                                additionalValidationPolicy:
                                    audiences:
                                        - string
                                    issuers:
                                        - string
                                    verifyClaims:
                                        - isRequired: false
                                          key: string
                                          values:
                                            - string
                                clientDetails:
                                    clientId: string
                                    clientSecretId: string
                                    clientSecretVersionNumber: string
                                    type: string
                                isSslVerifyDisabled: false
                                keys:
                                    - alg: string
                                      e: string
                                      format: string
                                      key: string
                                      keyOps:
                                        - string
                                      kid: string
                                      kty: string
                                      "n": string
                                      use: string
                                maxCacheDurationInHours: 0
                                sourceUriDetails:
                                    type: string
                                    uri: string
                                type: string
                                uri: string
                            verifyClaims:
                                - isRequired: false
                                  key: string
                                  values:
                                    - string
                          key:
                            expression: string
                            isDefault: false
                            name: string
                            type: string
                            values:
                                - string
                    selectionSource:
                        selector: string
                        type: string
                mutualTls:
                    allowedSans:
                        - string
                    isVerifiedCertificateRequired: false
                rateLimiting:
                    rateInRequestsPerSecond: 0
                    rateKey: string
                usagePlans:
                    tokenLocations:
                        - string
            routes:
                - backend:
                    allowedPostLogoutUris:
                        - string
                    body: string
                    connectTimeoutInSeconds: 0
                    functionId: string
                    headers:
                        - name: string
                          value: string
                    isSslVerifyDisabled: false
                    postLogoutState: string
                    readTimeoutInSeconds: 0
                    routingBackends:
                        - backend:
                            body: string
                            connectTimeoutInSeconds: 0
                            functionId: string
                            headers:
                                - name: string
                                  value: string
                            isSslVerifyDisabled: false
                            readTimeoutInSeconds: 0
                            sendTimeoutInSeconds: 0
                            status: 0
                            type: string
                            url: string
                          key:
                            expression: string
                            isDefault: false
                            name: string
                            type: string
                            values:
                                - string
                    selectionSource:
                        selector: string
                        type: string
                    sendTimeoutInSeconds: 0
                    status: 0
                    type: string
                    url: string
                  loggingPolicies:
                    accessLog:
                        isEnabled: false
                    executionLog:
                        isEnabled: false
                        logLevel: string
                  methods:
                    - string
                  path: string
                  requestPolicies:
                    authorization:
                        allowedScopes:
                            - string
                        type: string
                    bodyValidation:
                        contents:
                            - mediaType: string
                              validationType: string
                        required: false
                        validationMode: string
                    cors:
                        allowedHeaders:
                            - string
                        allowedMethods:
                            - string
                        allowedOrigins:
                            - string
                        exposedHeaders:
                            - string
                        isAllowCredentialsEnabled: false
                        maxAgeInSeconds: 0
                    headerTransformations:
                        filterHeaders:
                            items:
                                - name: string
                            type: string
                        renameHeaders:
                            items:
                                - from: string
                                  to: string
                        setHeaders:
                            items:
                                - ifExists: string
                                  name: string
                                  values:
                                    - string
                    headerValidations:
                        headers:
                            - name: string
                              required: false
                        validationMode: string
                    queryParameterTransformations:
                        filterQueryParameters:
                            items:
                                - name: string
                            type: string
                        renameQueryParameters:
                            items:
                                - from: string
                                  to: string
                        setQueryParameters:
                            items:
                                - ifExists: string
                                  name: string
                                  values:
                                    - string
                    queryParameterValidations:
                        parameters:
                            - name: string
                              required: false
                        validationMode: string
                    responseCacheLookup:
                        cacheKeyAdditions:
                            - string
                        isEnabled: false
                        isPrivateCachingEnabled: false
                        type: string
                  responsePolicies:
                    headerTransformations:
                        filterHeaders:
                            items:
                                - name: string
                            type: string
                        renameHeaders:
                            items:
                                - from: string
                                  to: string
                        setHeaders:
                            items:
                                - ifExists: string
                                  name: string
                                  values:
                                    - string
                    responseCacheStore:
                        timeToLiveInSeconds: 0
                        type: string
    

    Deployment Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Deployment resource accepts the following input properties:

    CompartmentId string
    (Updatable) The OCID of the compartment in which the resource is created.
    GatewayId string
    The OCID of the resource.
    PathPrefix string
    A path on which to deploy all routes contained in the API deployment specification. For more information, see Deploying an API on an API Gateway by Creating an API Deployment.
    Specification DeploymentSpecification
    (Updatable) The logical configuration of the API exposed by a deployment.
    DefinedTags Dictionary<string, string>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. Example: My new resource
    FreeformTags Dictionary<string, string>
    (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    CompartmentId string
    (Updatable) The OCID of the compartment in which the resource is created.
    GatewayId string
    The OCID of the resource.
    PathPrefix string
    A path on which to deploy all routes contained in the API deployment specification. For more information, see Deploying an API on an API Gateway by Creating an API Deployment.
    Specification DeploymentSpecificationArgs
    (Updatable) The logical configuration of the API exposed by a deployment.
    DefinedTags map[string]string
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. Example: My new resource
    FreeformTags map[string]string
    (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    compartmentId String
    (Updatable) The OCID of the compartment in which the resource is created.
    gatewayId String
    The OCID of the resource.
    pathPrefix String
    A path on which to deploy all routes contained in the API deployment specification. For more information, see Deploying an API on an API Gateway by Creating an API Deployment.
    specification DeploymentSpecification
    (Updatable) The logical configuration of the API exposed by a deployment.
    definedTags Map<String,String>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. Example: My new resource
    freeformTags Map<String,String>
    (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    compartmentId string
    (Updatable) The OCID of the compartment in which the resource is created.
    gatewayId string
    The OCID of the resource.
    pathPrefix string
    A path on which to deploy all routes contained in the API deployment specification. For more information, see Deploying an API on an API Gateway by Creating an API Deployment.
    specification DeploymentSpecification
    (Updatable) The logical configuration of the API exposed by a deployment.
    definedTags {[key: string]: string}
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName string
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. Example: My new resource
    freeformTags {[key: string]: string}
    (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    compartment_id str
    (Updatable) The OCID of the compartment in which the resource is created.
    gateway_id str
    The OCID of the resource.
    path_prefix str
    A path on which to deploy all routes contained in the API deployment specification. For more information, see Deploying an API on an API Gateway by Creating an API Deployment.
    specification apigateway.DeploymentSpecificationArgs
    (Updatable) The logical configuration of the API exposed by a deployment.
    defined_tags Mapping[str, str]
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    display_name str
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. Example: My new resource
    freeform_tags Mapping[str, str]
    (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    compartmentId String
    (Updatable) The OCID of the compartment in which the resource is created.
    gatewayId String
    The OCID of the resource.
    pathPrefix String
    A path on which to deploy all routes contained in the API deployment specification. For more information, see Deploying an API on an API Gateway by Creating an API Deployment.
    specification Property Map
    (Updatable) The logical configuration of the API exposed by a deployment.
    definedTags Map<String>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. Example: My new resource
    freeformTags Map<String>
    (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Deployment resource produces the following output properties:

    Endpoint string
    The endpoint to access this deployment on the gateway.
    Id string
    The provider-assigned unique ID for this managed resource.
    LifecycleDetails string
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    State string
    The current state of the deployment.
    TimeCreated string
    The time this resource was created. An RFC3339 formatted datetime string.
    TimeUpdated string
    The time this resource was last updated. An RFC3339 formatted datetime string.
    Endpoint string
    The endpoint to access this deployment on the gateway.
    Id string
    The provider-assigned unique ID for this managed resource.
    LifecycleDetails string
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    State string
    The current state of the deployment.
    TimeCreated string
    The time this resource was created. An RFC3339 formatted datetime string.
    TimeUpdated string
    The time this resource was last updated. An RFC3339 formatted datetime string.
    endpoint String
    The endpoint to access this deployment on the gateway.
    id String
    The provider-assigned unique ID for this managed resource.
    lifecycleDetails String
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    state String
    The current state of the deployment.
    timeCreated String
    The time this resource was created. An RFC3339 formatted datetime string.
    timeUpdated String
    The time this resource was last updated. An RFC3339 formatted datetime string.
    endpoint string
    The endpoint to access this deployment on the gateway.
    id string
    The provider-assigned unique ID for this managed resource.
    lifecycleDetails string
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    state string
    The current state of the deployment.
    timeCreated string
    The time this resource was created. An RFC3339 formatted datetime string.
    timeUpdated string
    The time this resource was last updated. An RFC3339 formatted datetime string.
    endpoint str
    The endpoint to access this deployment on the gateway.
    id str
    The provider-assigned unique ID for this managed resource.
    lifecycle_details str
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    state str
    The current state of the deployment.
    time_created str
    The time this resource was created. An RFC3339 formatted datetime string.
    time_updated str
    The time this resource was last updated. An RFC3339 formatted datetime string.
    endpoint String
    The endpoint to access this deployment on the gateway.
    id String
    The provider-assigned unique ID for this managed resource.
    lifecycleDetails String
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    state String
    The current state of the deployment.
    timeCreated String
    The time this resource was created. An RFC3339 formatted datetime string.
    timeUpdated String
    The time this resource was last updated. An RFC3339 formatted datetime string.

    Look up Existing Deployment Resource

    Get an existing Deployment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: DeploymentState, opts?: CustomResourceOptions): Deployment
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            compartment_id: Optional[str] = None,
            defined_tags: Optional[Mapping[str, str]] = None,
            display_name: Optional[str] = None,
            endpoint: Optional[str] = None,
            freeform_tags: Optional[Mapping[str, str]] = None,
            gateway_id: Optional[str] = None,
            lifecycle_details: Optional[str] = None,
            path_prefix: Optional[str] = None,
            specification: Optional[_apigateway.DeploymentSpecificationArgs] = None,
            state: Optional[str] = None,
            time_created: Optional[str] = None,
            time_updated: Optional[str] = None) -> Deployment
    func GetDeployment(ctx *Context, name string, id IDInput, state *DeploymentState, opts ...ResourceOption) (*Deployment, error)
    public static Deployment Get(string name, Input<string> id, DeploymentState? state, CustomResourceOptions? opts = null)
    public static Deployment get(String name, Output<String> id, DeploymentState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CompartmentId string
    (Updatable) The OCID of the compartment in which the resource is created.
    DefinedTags Dictionary<string, string>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. Example: My new resource
    Endpoint string
    The endpoint to access this deployment on the gateway.
    FreeformTags Dictionary<string, string>
    (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    GatewayId string
    The OCID of the resource.
    LifecycleDetails string
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    PathPrefix string
    A path on which to deploy all routes contained in the API deployment specification. For more information, see Deploying an API on an API Gateway by Creating an API Deployment.
    Specification DeploymentSpecification
    (Updatable) The logical configuration of the API exposed by a deployment.
    State string
    The current state of the deployment.
    TimeCreated string
    The time this resource was created. An RFC3339 formatted datetime string.
    TimeUpdated string
    The time this resource was last updated. An RFC3339 formatted datetime string.
    CompartmentId string
    (Updatable) The OCID of the compartment in which the resource is created.
    DefinedTags map[string]string
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. Example: My new resource
    Endpoint string
    The endpoint to access this deployment on the gateway.
    FreeformTags map[string]string
    (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    GatewayId string
    The OCID of the resource.
    LifecycleDetails string
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    PathPrefix string
    A path on which to deploy all routes contained in the API deployment specification. For more information, see Deploying an API on an API Gateway by Creating an API Deployment.
    Specification DeploymentSpecificationArgs
    (Updatable) The logical configuration of the API exposed by a deployment.
    State string
    The current state of the deployment.
    TimeCreated string
    The time this resource was created. An RFC3339 formatted datetime string.
    TimeUpdated string
    The time this resource was last updated. An RFC3339 formatted datetime string.
    compartmentId String
    (Updatable) The OCID of the compartment in which the resource is created.
    definedTags Map<String,String>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. Example: My new resource
    endpoint String
    The endpoint to access this deployment on the gateway.
    freeformTags Map<String,String>
    (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    gatewayId String
    The OCID of the resource.
    lifecycleDetails String
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    pathPrefix String
    A path on which to deploy all routes contained in the API deployment specification. For more information, see Deploying an API on an API Gateway by Creating an API Deployment.
    specification DeploymentSpecification
    (Updatable) The logical configuration of the API exposed by a deployment.
    state String
    The current state of the deployment.
    timeCreated String
    The time this resource was created. An RFC3339 formatted datetime string.
    timeUpdated String
    The time this resource was last updated. An RFC3339 formatted datetime string.
    compartmentId string
    (Updatable) The OCID of the compartment in which the resource is created.
    definedTags {[key: string]: string}
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName string
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. Example: My new resource
    endpoint string
    The endpoint to access this deployment on the gateway.
    freeformTags {[key: string]: string}
    (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    gatewayId string
    The OCID of the resource.
    lifecycleDetails string
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    pathPrefix string
    A path on which to deploy all routes contained in the API deployment specification. For more information, see Deploying an API on an API Gateway by Creating an API Deployment.
    specification DeploymentSpecification
    (Updatable) The logical configuration of the API exposed by a deployment.
    state string
    The current state of the deployment.
    timeCreated string
    The time this resource was created. An RFC3339 formatted datetime string.
    timeUpdated string
    The time this resource was last updated. An RFC3339 formatted datetime string.
    compartment_id str
    (Updatable) The OCID of the compartment in which the resource is created.
    defined_tags Mapping[str, str]
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    display_name str
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. Example: My new resource
    endpoint str
    The endpoint to access this deployment on the gateway.
    freeform_tags Mapping[str, str]
    (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    gateway_id str
    The OCID of the resource.
    lifecycle_details str
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    path_prefix str
    A path on which to deploy all routes contained in the API deployment specification. For more information, see Deploying an API on an API Gateway by Creating an API Deployment.
    specification apigateway.DeploymentSpecificationArgs
    (Updatable) The logical configuration of the API exposed by a deployment.
    state str
    The current state of the deployment.
    time_created str
    The time this resource was created. An RFC3339 formatted datetime string.
    time_updated str
    The time this resource was last updated. An RFC3339 formatted datetime string.
    compartmentId String
    (Updatable) The OCID of the compartment in which the resource is created.
    definedTags Map<String>
    (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. Example: My new resource
    endpoint String
    The endpoint to access this deployment on the gateway.
    freeformTags Map<String>
    (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    gatewayId String
    The OCID of the resource.
    lifecycleDetails String
    A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in a Failed state.
    pathPrefix String
    A path on which to deploy all routes contained in the API deployment specification. For more information, see Deploying an API on an API Gateway by Creating an API Deployment.
    specification Property Map
    (Updatable) The logical configuration of the API exposed by a deployment.
    state String
    The current state of the deployment.
    timeCreated String
    The time this resource was created. An RFC3339 formatted datetime string.
    timeUpdated String
    The time this resource was last updated. An RFC3339 formatted datetime string.

    Supporting Types

    DeploymentSpecification, DeploymentSpecificationArgs

    Routes List<DeploymentSpecificationRoute>
    (Updatable) A list of routes that this API exposes.
    LoggingPolicies DeploymentSpecificationLoggingPolicies
    (Updatable) Policies controlling the pushing of logs to Oracle Cloud Infrastructure Public Logging.
    RequestPolicies DeploymentSpecificationRequestPolicies
    (Updatable) Global behavior applied to all requests received by the API.
    Routes []DeploymentSpecificationRoute
    (Updatable) A list of routes that this API exposes.
    LoggingPolicies DeploymentSpecificationLoggingPolicies
    (Updatable) Policies controlling the pushing of logs to Oracle Cloud Infrastructure Public Logging.
    RequestPolicies DeploymentSpecificationRequestPolicies
    (Updatable) Global behavior applied to all requests received by the API.
    routes List<DeploymentSpecificationRoute>
    (Updatable) A list of routes that this API exposes.
    loggingPolicies DeploymentSpecificationLoggingPolicies
    (Updatable) Policies controlling the pushing of logs to Oracle Cloud Infrastructure Public Logging.
    requestPolicies DeploymentSpecificationRequestPolicies
    (Updatable) Global behavior applied to all requests received by the API.
    routes DeploymentSpecificationRoute[]
    (Updatable) A list of routes that this API exposes.
    loggingPolicies DeploymentSpecificationLoggingPolicies
    (Updatable) Policies controlling the pushing of logs to Oracle Cloud Infrastructure Public Logging.
    requestPolicies DeploymentSpecificationRequestPolicies
    (Updatable) Global behavior applied to all requests received by the API.
    routes Sequence[apigateway.DeploymentSpecificationRoute]
    (Updatable) A list of routes that this API exposes.
    logging_policies apigateway.DeploymentSpecificationLoggingPolicies
    (Updatable) Policies controlling the pushing of logs to Oracle Cloud Infrastructure Public Logging.
    request_policies apigateway.DeploymentSpecificationRequestPolicies
    (Updatable) Global behavior applied to all requests received by the API.
    routes List<Property Map>
    (Updatable) A list of routes that this API exposes.
    loggingPolicies Property Map
    (Updatable) Policies controlling the pushing of logs to Oracle Cloud Infrastructure Public Logging.
    requestPolicies Property Map
    (Updatable) Global behavior applied to all requests received by the API.

    DeploymentSpecificationLoggingPolicies, DeploymentSpecificationLoggingPoliciesArgs

    AccessLog DeploymentSpecificationLoggingPoliciesAccessLog
    (Updatable) Configures the logging policies for the access logs of an API Deployment.
    ExecutionLog DeploymentSpecificationLoggingPoliciesExecutionLog
    (Updatable) Configures the logging policies for the execution logs of an API Deployment.
    AccessLog DeploymentSpecificationLoggingPoliciesAccessLog
    (Updatable) Configures the logging policies for the access logs of an API Deployment.
    ExecutionLog DeploymentSpecificationLoggingPoliciesExecutionLog
    (Updatable) Configures the logging policies for the execution logs of an API Deployment.
    accessLog DeploymentSpecificationLoggingPoliciesAccessLog
    (Updatable) Configures the logging policies for the access logs of an API Deployment.
    executionLog DeploymentSpecificationLoggingPoliciesExecutionLog
    (Updatable) Configures the logging policies for the execution logs of an API Deployment.
    accessLog DeploymentSpecificationLoggingPoliciesAccessLog
    (Updatable) Configures the logging policies for the access logs of an API Deployment.
    executionLog DeploymentSpecificationLoggingPoliciesExecutionLog
    (Updatable) Configures the logging policies for the execution logs of an API Deployment.
    access_log apigateway.DeploymentSpecificationLoggingPoliciesAccessLog
    (Updatable) Configures the logging policies for the access logs of an API Deployment.
    execution_log apigateway.DeploymentSpecificationLoggingPoliciesExecutionLog
    (Updatable) Configures the logging policies for the execution logs of an API Deployment.
    accessLog Property Map
    (Updatable) Configures the logging policies for the access logs of an API Deployment.
    executionLog Property Map
    (Updatable) Configures the logging policies for the execution logs of an API Deployment.

    DeploymentSpecificationLoggingPoliciesAccessLog, DeploymentSpecificationLoggingPoliciesAccessLogArgs

    IsEnabled bool

    (Updatable) Enables pushing of access logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query access logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'access' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    IsEnabled bool

    (Updatable) Enables pushing of access logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query access logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'access' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    isEnabled Boolean

    (Updatable) Enables pushing of access logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query access logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'access' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    isEnabled boolean

    (Updatable) Enables pushing of access logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query access logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'access' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    is_enabled bool

    (Updatable) Enables pushing of access logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query access logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'access' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    isEnabled Boolean

    (Updatable) Enables pushing of access logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query access logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'access' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    DeploymentSpecificationLoggingPoliciesExecutionLog, DeploymentSpecificationLoggingPoliciesExecutionLogArgs

    IsEnabled bool

    (Updatable) Enables pushing of execution logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query execution logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'execution' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    LogLevel string
    (Updatable) Specifies the log level used to control logging output of execution logs. Enabling logging at a given level also enables logging at all higher levels.
    IsEnabled bool

    (Updatable) Enables pushing of execution logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query execution logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'execution' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    LogLevel string
    (Updatable) Specifies the log level used to control logging output of execution logs. Enabling logging at a given level also enables logging at all higher levels.
    isEnabled Boolean

    (Updatable) Enables pushing of execution logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query execution logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'execution' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    logLevel String
    (Updatable) Specifies the log level used to control logging output of execution logs. Enabling logging at a given level also enables logging at all higher levels.
    isEnabled boolean

    (Updatable) Enables pushing of execution logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query execution logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'execution' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    logLevel string
    (Updatable) Specifies the log level used to control logging output of execution logs. Enabling logging at a given level also enables logging at all higher levels.
    is_enabled bool

    (Updatable) Enables pushing of execution logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query execution logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'execution' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    log_level str
    (Updatable) Specifies the log level used to control logging output of execution logs. Enabling logging at a given level also enables logging at all higher levels.
    isEnabled Boolean

    (Updatable) Enables pushing of execution logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query execution logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'execution' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    logLevel String
    (Updatable) Specifies the log level used to control logging output of execution logs. Enabling logging at a given level also enables logging at all higher levels.

    DeploymentSpecificationRequestPolicies, DeploymentSpecificationRequestPoliciesArgs

    Authentication DeploymentSpecificationRequestPoliciesAuthentication
    (Updatable) Information on how to authenticate incoming requests.
    Cors DeploymentSpecificationRequestPoliciesCors
    (Updatable) Enable CORS (Cross-Origin-Resource-Sharing) request handling.
    DynamicAuthentication DeploymentSpecificationRequestPoliciesDynamicAuthentication
    (Updatable) Policy on how to authenticate requests when multiple authentication options are configured for a deployment. For an incoming request, the value of selector specified under selectionSource will be matched against the keys specified for each authentication server. The authentication server whose key matches the value of selector will be used for authentication.
    MutualTls DeploymentSpecificationRequestPoliciesMutualTls
    (Updatable) Properties used to configure client mTLS verification when API Consumer makes connection to the gateway.
    RateLimiting DeploymentSpecificationRequestPoliciesRateLimiting
    (Updatable) Limit the number of requests that should be handled for the specified window using a specfic key.
    UsagePlans DeploymentSpecificationRequestPoliciesUsagePlans
    (Updatable) Usage plan policies for this deployment
    Authentication DeploymentSpecificationRequestPoliciesAuthentication
    (Updatable) Information on how to authenticate incoming requests.
    Cors DeploymentSpecificationRequestPoliciesCors
    (Updatable) Enable CORS (Cross-Origin-Resource-Sharing) request handling.
    DynamicAuthentication DeploymentSpecificationRequestPoliciesDynamicAuthentication
    (Updatable) Policy on how to authenticate requests when multiple authentication options are configured for a deployment. For an incoming request, the value of selector specified under selectionSource will be matched against the keys specified for each authentication server. The authentication server whose key matches the value of selector will be used for authentication.
    MutualTls DeploymentSpecificationRequestPoliciesMutualTls
    (Updatable) Properties used to configure client mTLS verification when API Consumer makes connection to the gateway.
    RateLimiting DeploymentSpecificationRequestPoliciesRateLimiting
    (Updatable) Limit the number of requests that should be handled for the specified window using a specfic key.
    UsagePlans DeploymentSpecificationRequestPoliciesUsagePlans
    (Updatable) Usage plan policies for this deployment
    authentication DeploymentSpecificationRequestPoliciesAuthentication
    (Updatable) Information on how to authenticate incoming requests.
    cors DeploymentSpecificationRequestPoliciesCors
    (Updatable) Enable CORS (Cross-Origin-Resource-Sharing) request handling.
    dynamicAuthentication DeploymentSpecificationRequestPoliciesDynamicAuthentication
    (Updatable) Policy on how to authenticate requests when multiple authentication options are configured for a deployment. For an incoming request, the value of selector specified under selectionSource will be matched against the keys specified for each authentication server. The authentication server whose key matches the value of selector will be used for authentication.
    mutualTls DeploymentSpecificationRequestPoliciesMutualTls
    (Updatable) Properties used to configure client mTLS verification when API Consumer makes connection to the gateway.
    rateLimiting DeploymentSpecificationRequestPoliciesRateLimiting
    (Updatable) Limit the number of requests that should be handled for the specified window using a specfic key.
    usagePlans DeploymentSpecificationRequestPoliciesUsagePlans
    (Updatable) Usage plan policies for this deployment
    authentication DeploymentSpecificationRequestPoliciesAuthentication
    (Updatable) Information on how to authenticate incoming requests.
    cors DeploymentSpecificationRequestPoliciesCors
    (Updatable) Enable CORS (Cross-Origin-Resource-Sharing) request handling.
    dynamicAuthentication DeploymentSpecificationRequestPoliciesDynamicAuthentication
    (Updatable) Policy on how to authenticate requests when multiple authentication options are configured for a deployment. For an incoming request, the value of selector specified under selectionSource will be matched against the keys specified for each authentication server. The authentication server whose key matches the value of selector will be used for authentication.
    mutualTls DeploymentSpecificationRequestPoliciesMutualTls
    (Updatable) Properties used to configure client mTLS verification when API Consumer makes connection to the gateway.
    rateLimiting DeploymentSpecificationRequestPoliciesRateLimiting
    (Updatable) Limit the number of requests that should be handled for the specified window using a specfic key.
    usagePlans DeploymentSpecificationRequestPoliciesUsagePlans
    (Updatable) Usage plan policies for this deployment
    authentication apigateway.DeploymentSpecificationRequestPoliciesAuthentication
    (Updatable) Information on how to authenticate incoming requests.
    cors apigateway.DeploymentSpecificationRequestPoliciesCors
    (Updatable) Enable CORS (Cross-Origin-Resource-Sharing) request handling.
    dynamic_authentication apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthentication
    (Updatable) Policy on how to authenticate requests when multiple authentication options are configured for a deployment. For an incoming request, the value of selector specified under selectionSource will be matched against the keys specified for each authentication server. The authentication server whose key matches the value of selector will be used for authentication.
    mutual_tls apigateway.DeploymentSpecificationRequestPoliciesMutualTls
    (Updatable) Properties used to configure client mTLS verification when API Consumer makes connection to the gateway.
    rate_limiting apigateway.DeploymentSpecificationRequestPoliciesRateLimiting
    (Updatable) Limit the number of requests that should be handled for the specified window using a specfic key.
    usage_plans apigateway.DeploymentSpecificationRequestPoliciesUsagePlans
    (Updatable) Usage plan policies for this deployment
    authentication Property Map
    (Updatable) Information on how to authenticate incoming requests.
    cors Property Map
    (Updatable) Enable CORS (Cross-Origin-Resource-Sharing) request handling.
    dynamicAuthentication Property Map
    (Updatable) Policy on how to authenticate requests when multiple authentication options are configured for a deployment. For an incoming request, the value of selector specified under selectionSource will be matched against the keys specified for each authentication server. The authentication server whose key matches the value of selector will be used for authentication.
    mutualTls Property Map
    (Updatable) Properties used to configure client mTLS verification when API Consumer makes connection to the gateway.
    rateLimiting Property Map
    (Updatable) Limit the number of requests that should be handled for the specified window using a specfic key.
    usagePlans Property Map
    (Updatable) Usage plan policies for this deployment

    DeploymentSpecificationRequestPoliciesAuthentication, DeploymentSpecificationRequestPoliciesAuthenticationArgs

    Type string
    (Updatable) Type of the authentication policy to use.
    Audiences List<string>
    (Updatable) The list of intended recipients for the token.
    CacheKeys List<string>
    (Updatable) A list of keys from "parameters" attribute value whose values will be added to the cache key.
    FunctionId string
    (Updatable) The OCID of the Oracle Functions function resource.
    IsAnonymousAccessAllowed bool
    (Updatable) Whether an unauthenticated user may access the API. Must be "true" to enable ANONYMOUS route authorization.
    Issuers List<string>
    (Updatable) A list of parties that could have issued the token.
    MaxClockSkewInSeconds double
    (Updatable) The maximum expected time difference between the system clocks of the token issuer and the API Gateway.
    Parameters Dictionary<string, string>
    (Updatable) A map where key is a user defined string and value is a context expressions whose values will be sent to the custom auth function. Values should contain an expression. Example: {"foo": "request.header[abc]"}
    PublicKeys DeploymentSpecificationRequestPoliciesAuthenticationPublicKeys
    (Updatable) A set of Public Keys that will be used to verify the JWT signature.
    TokenAuthScheme string
    (Updatable) The authentication scheme that is to be used when authenticating the token. This must to be provided if "tokenHeader" is specified.
    TokenHeader string
    (Updatable) The name of the header containing the authentication token.
    TokenQueryParam string
    (Updatable) The name of the query parameter containing the authentication token.
    ValidationFailurePolicy DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicy
    (Updatable) Policy for defining behaviour on validation failure.
    ValidationPolicy DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicy
    (Updatable) Authentication Policies for the Token Authentication types.
    VerifyClaims List<DeploymentSpecificationRequestPoliciesAuthenticationVerifyClaim>
    (Updatable) A list of claims which should be validated to consider the token valid.
    Type string
    (Updatable) Type of the authentication policy to use.
    Audiences []string
    (Updatable) The list of intended recipients for the token.
    CacheKeys []string
    (Updatable) A list of keys from "parameters" attribute value whose values will be added to the cache key.
    FunctionId string
    (Updatable) The OCID of the Oracle Functions function resource.
    IsAnonymousAccessAllowed bool
    (Updatable) Whether an unauthenticated user may access the API. Must be "true" to enable ANONYMOUS route authorization.
    Issuers []string
    (Updatable) A list of parties that could have issued the token.
    MaxClockSkewInSeconds float64
    (Updatable) The maximum expected time difference between the system clocks of the token issuer and the API Gateway.
    Parameters map[string]string
    (Updatable) A map where key is a user defined string and value is a context expressions whose values will be sent to the custom auth function. Values should contain an expression. Example: {"foo": "request.header[abc]"}
    PublicKeys DeploymentSpecificationRequestPoliciesAuthenticationPublicKeys
    (Updatable) A set of Public Keys that will be used to verify the JWT signature.
    TokenAuthScheme string
    (Updatable) The authentication scheme that is to be used when authenticating the token. This must to be provided if "tokenHeader" is specified.
    TokenHeader string
    (Updatable) The name of the header containing the authentication token.
    TokenQueryParam string
    (Updatable) The name of the query parameter containing the authentication token.
    ValidationFailurePolicy DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicy
    (Updatable) Policy for defining behaviour on validation failure.
    ValidationPolicy DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicy
    (Updatable) Authentication Policies for the Token Authentication types.
    VerifyClaims []DeploymentSpecificationRequestPoliciesAuthenticationVerifyClaim
    (Updatable) A list of claims which should be validated to consider the token valid.
    type String
    (Updatable) Type of the authentication policy to use.
    audiences List<String>
    (Updatable) The list of intended recipients for the token.
    cacheKeys List<String>
    (Updatable) A list of keys from "parameters" attribute value whose values will be added to the cache key.
    functionId String
    (Updatable) The OCID of the Oracle Functions function resource.
    isAnonymousAccessAllowed Boolean
    (Updatable) Whether an unauthenticated user may access the API. Must be "true" to enable ANONYMOUS route authorization.
    issuers List<String>
    (Updatable) A list of parties that could have issued the token.
    maxClockSkewInSeconds Double
    (Updatable) The maximum expected time difference between the system clocks of the token issuer and the API Gateway.
    parameters Map<String,String>
    (Updatable) A map where key is a user defined string and value is a context expressions whose values will be sent to the custom auth function. Values should contain an expression. Example: {"foo": "request.header[abc]"}
    publicKeys DeploymentSpecificationRequestPoliciesAuthenticationPublicKeys
    (Updatable) A set of Public Keys that will be used to verify the JWT signature.
    tokenAuthScheme String
    (Updatable) The authentication scheme that is to be used when authenticating the token. This must to be provided if "tokenHeader" is specified.
    tokenHeader String
    (Updatable) The name of the header containing the authentication token.
    tokenQueryParam String
    (Updatable) The name of the query parameter containing the authentication token.
    validationFailurePolicy DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicy
    (Updatable) Policy for defining behaviour on validation failure.
    validationPolicy DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicy
    (Updatable) Authentication Policies for the Token Authentication types.
    verifyClaims List<DeploymentSpecificationRequestPoliciesAuthenticationVerifyClaim>
    (Updatable) A list of claims which should be validated to consider the token valid.
    type string
    (Updatable) Type of the authentication policy to use.
    audiences string[]
    (Updatable) The list of intended recipients for the token.
    cacheKeys string[]
    (Updatable) A list of keys from "parameters" attribute value whose values will be added to the cache key.
    functionId string
    (Updatable) The OCID of the Oracle Functions function resource.
    isAnonymousAccessAllowed boolean
    (Updatable) Whether an unauthenticated user may access the API. Must be "true" to enable ANONYMOUS route authorization.
    issuers string[]
    (Updatable) A list of parties that could have issued the token.
    maxClockSkewInSeconds number
    (Updatable) The maximum expected time difference between the system clocks of the token issuer and the API Gateway.
    parameters {[key: string]: string}
    (Updatable) A map where key is a user defined string and value is a context expressions whose values will be sent to the custom auth function. Values should contain an expression. Example: {"foo": "request.header[abc]"}
    publicKeys DeploymentSpecificationRequestPoliciesAuthenticationPublicKeys
    (Updatable) A set of Public Keys that will be used to verify the JWT signature.
    tokenAuthScheme string
    (Updatable) The authentication scheme that is to be used when authenticating the token. This must to be provided if "tokenHeader" is specified.
    tokenHeader string
    (Updatable) The name of the header containing the authentication token.
    tokenQueryParam string
    (Updatable) The name of the query parameter containing the authentication token.
    validationFailurePolicy DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicy
    (Updatable) Policy for defining behaviour on validation failure.
    validationPolicy DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicy
    (Updatable) Authentication Policies for the Token Authentication types.
    verifyClaims DeploymentSpecificationRequestPoliciesAuthenticationVerifyClaim[]
    (Updatable) A list of claims which should be validated to consider the token valid.
    type str
    (Updatable) Type of the authentication policy to use.
    audiences Sequence[str]
    (Updatable) The list of intended recipients for the token.
    cache_keys Sequence[str]
    (Updatable) A list of keys from "parameters" attribute value whose values will be added to the cache key.
    function_id str
    (Updatable) The OCID of the Oracle Functions function resource.
    is_anonymous_access_allowed bool
    (Updatable) Whether an unauthenticated user may access the API. Must be "true" to enable ANONYMOUS route authorization.
    issuers Sequence[str]
    (Updatable) A list of parties that could have issued the token.
    max_clock_skew_in_seconds float
    (Updatable) The maximum expected time difference between the system clocks of the token issuer and the API Gateway.
    parameters Mapping[str, str]
    (Updatable) A map where key is a user defined string and value is a context expressions whose values will be sent to the custom auth function. Values should contain an expression. Example: {"foo": "request.header[abc]"}
    public_keys apigateway.DeploymentSpecificationRequestPoliciesAuthenticationPublicKeys
    (Updatable) A set of Public Keys that will be used to verify the JWT signature.
    token_auth_scheme str
    (Updatable) The authentication scheme that is to be used when authenticating the token. This must to be provided if "tokenHeader" is specified.
    token_header str
    (Updatable) The name of the header containing the authentication token.
    token_query_param str
    (Updatable) The name of the query parameter containing the authentication token.
    validation_failure_policy apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicy
    (Updatable) Policy for defining behaviour on validation failure.
    validation_policy apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicy
    (Updatable) Authentication Policies for the Token Authentication types.
    verify_claims Sequence[apigateway.DeploymentSpecificationRequestPoliciesAuthenticationVerifyClaim]
    (Updatable) A list of claims which should be validated to consider the token valid.
    type String
    (Updatable) Type of the authentication policy to use.
    audiences List<String>
    (Updatable) The list of intended recipients for the token.
    cacheKeys List<String>
    (Updatable) A list of keys from "parameters" attribute value whose values will be added to the cache key.
    functionId String
    (Updatable) The OCID of the Oracle Functions function resource.
    isAnonymousAccessAllowed Boolean
    (Updatable) Whether an unauthenticated user may access the API. Must be "true" to enable ANONYMOUS route authorization.
    issuers List<String>
    (Updatable) A list of parties that could have issued the token.
    maxClockSkewInSeconds Number
    (Updatable) The maximum expected time difference between the system clocks of the token issuer and the API Gateway.
    parameters Map<String>
    (Updatable) A map where key is a user defined string and value is a context expressions whose values will be sent to the custom auth function. Values should contain an expression. Example: {"foo": "request.header[abc]"}
    publicKeys Property Map
    (Updatable) A set of Public Keys that will be used to verify the JWT signature.
    tokenAuthScheme String
    (Updatable) The authentication scheme that is to be used when authenticating the token. This must to be provided if "tokenHeader" is specified.
    tokenHeader String
    (Updatable) The name of the header containing the authentication token.
    tokenQueryParam String
    (Updatable) The name of the query parameter containing the authentication token.
    validationFailurePolicy Property Map
    (Updatable) Policy for defining behaviour on validation failure.
    validationPolicy Property Map
    (Updatable) Authentication Policies for the Token Authentication types.
    verifyClaims List<Property Map>
    (Updatable) A list of claims which should be validated to consider the token valid.

    DeploymentSpecificationRequestPoliciesAuthenticationPublicKeys, DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysArgs

    Type string
    (Updatable) Type of the public key set.
    IsSslVerifyDisabled bool
    (Updatable) Defines whether or not to uphold SSL verification.
    Keys List<DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysKey>
    (Updatable) The set of static public keys.
    MaxCacheDurationInHours int
    (Updatable) The duration for which the JWKS should be cached before it is fetched again.
    Uri string
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    Type string
    (Updatable) Type of the public key set.
    IsSslVerifyDisabled bool
    (Updatable) Defines whether or not to uphold SSL verification.
    Keys []DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysKey
    (Updatable) The set of static public keys.
    MaxCacheDurationInHours int
    (Updatable) The duration for which the JWKS should be cached before it is fetched again.
    Uri string
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    type String
    (Updatable) Type of the public key set.
    isSslVerifyDisabled Boolean
    (Updatable) Defines whether or not to uphold SSL verification.
    keys List<DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysKey>
    (Updatable) The set of static public keys.
    maxCacheDurationInHours Integer
    (Updatable) The duration for which the JWKS should be cached before it is fetched again.
    uri String
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    type string
    (Updatable) Type of the public key set.
    isSslVerifyDisabled boolean
    (Updatable) Defines whether or not to uphold SSL verification.
    keys DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysKey[]
    (Updatable) The set of static public keys.
    maxCacheDurationInHours number
    (Updatable) The duration for which the JWKS should be cached before it is fetched again.
    uri string
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    type str
    (Updatable) Type of the public key set.
    is_ssl_verify_disabled bool
    (Updatable) Defines whether or not to uphold SSL verification.
    keys Sequence[apigateway.DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysKey]
    (Updatable) The set of static public keys.
    max_cache_duration_in_hours int
    (Updatable) The duration for which the JWKS should be cached before it is fetched again.
    uri str
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    type String
    (Updatable) Type of the public key set.
    isSslVerifyDisabled Boolean
    (Updatable) Defines whether or not to uphold SSL verification.
    keys List<Property Map>
    (Updatable) The set of static public keys.
    maxCacheDurationInHours Number
    (Updatable) The duration for which the JWKS should be cached before it is fetched again.
    uri String
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.

    DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysKey, DeploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeyArgs

    Format string
    (Updatable) The format of the public key.
    Alg string
    (Updatable) The algorithm intended for use with this key.
    E string
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    Key string
    (Updatable) The content of the PEM-encoded public key.
    KeyOps List<string>
    (Updatable) The operations for which this key is to be used.
    Kid string
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    Kty string
    (Updatable) The key type.
    N string
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    Use string
    (Updatable) The intended use of the public key.
    Format string
    (Updatable) The format of the public key.
    Alg string
    (Updatable) The algorithm intended for use with this key.
    E string
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    Key string
    (Updatable) The content of the PEM-encoded public key.
    KeyOps []string
    (Updatable) The operations for which this key is to be used.
    Kid string
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    Kty string
    (Updatable) The key type.
    N string
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    Use string
    (Updatable) The intended use of the public key.
    format String
    (Updatable) The format of the public key.
    alg String
    (Updatable) The algorithm intended for use with this key.
    e String
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    key String
    (Updatable) The content of the PEM-encoded public key.
    keyOps List<String>
    (Updatable) The operations for which this key is to be used.
    kid String
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    kty String
    (Updatable) The key type.
    n String
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    use String
    (Updatable) The intended use of the public key.
    format string
    (Updatable) The format of the public key.
    alg string
    (Updatable) The algorithm intended for use with this key.
    e string
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    key string
    (Updatable) The content of the PEM-encoded public key.
    keyOps string[]
    (Updatable) The operations for which this key is to be used.
    kid string
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    kty string
    (Updatable) The key type.
    n string
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    use string
    (Updatable) The intended use of the public key.
    format str
    (Updatable) The format of the public key.
    alg str
    (Updatable) The algorithm intended for use with this key.
    e str
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    key str
    (Updatable) The content of the PEM-encoded public key.
    key_ops Sequence[str]
    (Updatable) The operations for which this key is to be used.
    kid str
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    kty str
    (Updatable) The key type.
    n str
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    use str
    (Updatable) The intended use of the public key.
    format String
    (Updatable) The format of the public key.
    alg String
    (Updatable) The algorithm intended for use with this key.
    e String
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    key String
    (Updatable) The content of the PEM-encoded public key.
    keyOps List<String>
    (Updatable) The operations for which this key is to be used.
    kid String
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    kty String
    (Updatable) The key type.
    n String
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    use String
    (Updatable) The intended use of the public key.

    DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicy, DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyArgs

    Type string
    (Updatable) Type of the Validation failure Policy.
    ClientDetails DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetails
    (Updatable) Client App Credential details.
    FallbackRedirectPath string
    (Updatable) The path to be used as fallback after OAuth2.
    LogoutPath string
    (Updatable) The path to be used as logout.
    MaxExpiryDurationInHours int
    (Updatable) The duration for which the OAuth2 success token should be cached before it is fetched again.
    ResponseCode string
    (Updatable) HTTP response code, can include context variables.
    ResponseHeaderTransformations DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    ResponseMessage string
    (Updatable) HTTP response message.
    ResponseType string
    (Updatable) Response Type.
    Scopes List<string>
    (Updatable) List of scopes.
    SourceUriDetails DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetails
    (Updatable) Auth endpoint details.
    UseCookiesForIntermediateSteps bool
    (Updatable) Defines whether or not to use cookies for OAuth2 intermediate steps.
    UseCookiesForSession bool
    (Updatable) Defines whether or not to use cookies for session maintenance.
    UsePkce bool
    (Updatable) Defines whether or not to support PKCE.
    Type string
    (Updatable) Type of the Validation failure Policy.
    ClientDetails DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetails
    (Updatable) Client App Credential details.
    FallbackRedirectPath string
    (Updatable) The path to be used as fallback after OAuth2.
    LogoutPath string
    (Updatable) The path to be used as logout.
    MaxExpiryDurationInHours int
    (Updatable) The duration for which the OAuth2 success token should be cached before it is fetched again.
    ResponseCode string
    (Updatable) HTTP response code, can include context variables.
    ResponseHeaderTransformations DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    ResponseMessage string
    (Updatable) HTTP response message.
    ResponseType string
    (Updatable) Response Type.
    Scopes []string
    (Updatable) List of scopes.
    SourceUriDetails DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetails
    (Updatable) Auth endpoint details.
    UseCookiesForIntermediateSteps bool
    (Updatable) Defines whether or not to use cookies for OAuth2 intermediate steps.
    UseCookiesForSession bool
    (Updatable) Defines whether or not to use cookies for session maintenance.
    UsePkce bool
    (Updatable) Defines whether or not to support PKCE.
    type String
    (Updatable) Type of the Validation failure Policy.
    clientDetails DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetails
    (Updatable) Client App Credential details.
    fallbackRedirectPath String
    (Updatable) The path to be used as fallback after OAuth2.
    logoutPath String
    (Updatable) The path to be used as logout.
    maxExpiryDurationInHours Integer
    (Updatable) The duration for which the OAuth2 success token should be cached before it is fetched again.
    responseCode String
    (Updatable) HTTP response code, can include context variables.
    responseHeaderTransformations DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    responseMessage String
    (Updatable) HTTP response message.
    responseType String
    (Updatable) Response Type.
    scopes List<String>
    (Updatable) List of scopes.
    sourceUriDetails DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetails
    (Updatable) Auth endpoint details.
    useCookiesForIntermediateSteps Boolean
    (Updatable) Defines whether or not to use cookies for OAuth2 intermediate steps.
    useCookiesForSession Boolean
    (Updatable) Defines whether or not to use cookies for session maintenance.
    usePkce Boolean
    (Updatable) Defines whether or not to support PKCE.
    type string
    (Updatable) Type of the Validation failure Policy.
    clientDetails DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetails
    (Updatable) Client App Credential details.
    fallbackRedirectPath string
    (Updatable) The path to be used as fallback after OAuth2.
    logoutPath string
    (Updatable) The path to be used as logout.
    maxExpiryDurationInHours number
    (Updatable) The duration for which the OAuth2 success token should be cached before it is fetched again.
    responseCode string
    (Updatable) HTTP response code, can include context variables.
    responseHeaderTransformations DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    responseMessage string
    (Updatable) HTTP response message.
    responseType string
    (Updatable) Response Type.
    scopes string[]
    (Updatable) List of scopes.
    sourceUriDetails DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetails
    (Updatable) Auth endpoint details.
    useCookiesForIntermediateSteps boolean
    (Updatable) Defines whether or not to use cookies for OAuth2 intermediate steps.
    useCookiesForSession boolean
    (Updatable) Defines whether or not to use cookies for session maintenance.
    usePkce boolean
    (Updatable) Defines whether or not to support PKCE.
    type str
    (Updatable) Type of the Validation failure Policy.
    client_details apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetails
    (Updatable) Client App Credential details.
    fallback_redirect_path str
    (Updatable) The path to be used as fallback after OAuth2.
    logout_path str
    (Updatable) The path to be used as logout.
    max_expiry_duration_in_hours int
    (Updatable) The duration for which the OAuth2 success token should be cached before it is fetched again.
    response_code str
    (Updatable) HTTP response code, can include context variables.
    response_header_transformations apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    response_message str
    (Updatable) HTTP response message.
    response_type str
    (Updatable) Response Type.
    scopes Sequence[str]
    (Updatable) List of scopes.
    source_uri_details apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetails
    (Updatable) Auth endpoint details.
    use_cookies_for_intermediate_steps bool
    (Updatable) Defines whether or not to use cookies for OAuth2 intermediate steps.
    use_cookies_for_session bool
    (Updatable) Defines whether or not to use cookies for session maintenance.
    use_pkce bool
    (Updatable) Defines whether or not to support PKCE.
    type String
    (Updatable) Type of the Validation failure Policy.
    clientDetails Property Map
    (Updatable) Client App Credential details.
    fallbackRedirectPath String
    (Updatable) The path to be used as fallback after OAuth2.
    logoutPath String
    (Updatable) The path to be used as logout.
    maxExpiryDurationInHours Number
    (Updatable) The duration for which the OAuth2 success token should be cached before it is fetched again.
    responseCode String
    (Updatable) HTTP response code, can include context variables.
    responseHeaderTransformations Property Map
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    responseMessage String
    (Updatable) HTTP response message.
    responseType String
    (Updatable) Response Type.
    scopes List<String>
    (Updatable) List of scopes.
    sourceUriDetails Property Map
    (Updatable) Auth endpoint details.
    useCookiesForIntermediateSteps Boolean
    (Updatable) Defines whether or not to use cookies for OAuth2 intermediate steps.
    useCookiesForSession Boolean
    (Updatable) Defines whether or not to use cookies for session maintenance.
    usePkce Boolean
    (Updatable) Defines whether or not to support PKCE.

    DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetails, DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyClientDetailsArgs

    Type string
    (Updatable) To specify where the Client App details should be taken from.
    ClientId string
    (Updatable) Client ID for the OAuth2/OIDC app.
    ClientSecretId string
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    ClientSecretVersionNumber string
    (Updatable) The version number of the client secret to use.
    Type string
    (Updatable) To specify where the Client App details should be taken from.
    ClientId string
    (Updatable) Client ID for the OAuth2/OIDC app.
    ClientSecretId string
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    ClientSecretVersionNumber string
    (Updatable) The version number of the client secret to use.
    type String
    (Updatable) To specify where the Client App details should be taken from.
    clientId String
    (Updatable) Client ID for the OAuth2/OIDC app.
    clientSecretId String
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    clientSecretVersionNumber String
    (Updatable) The version number of the client secret to use.
    type string
    (Updatable) To specify where the Client App details should be taken from.
    clientId string
    (Updatable) Client ID for the OAuth2/OIDC app.
    clientSecretId string
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    clientSecretVersionNumber string
    (Updatable) The version number of the client secret to use.
    type str
    (Updatable) To specify where the Client App details should be taken from.
    client_id str
    (Updatable) Client ID for the OAuth2/OIDC app.
    client_secret_id str
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    client_secret_version_number str
    (Updatable) The version number of the client secret to use.
    type String
    (Updatable) To specify where the Client App details should be taken from.
    clientId String
    (Updatable) Client ID for the OAuth2/OIDC app.
    clientSecretId String
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    clientSecretVersionNumber String
    (Updatable) The version number of the client secret to use.

    DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformations, DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsArgs

    FilterHeaders DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    RenameHeaders DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    SetHeaders DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    FilterHeaders DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    RenameHeaders DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    SetHeaders DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    filterHeaders DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    renameHeaders DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    setHeaders DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    filterHeaders DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    renameHeaders DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    setHeaders DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    filter_headers apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    rename_headers apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    set_headers apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    filterHeaders Property Map
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    renameHeaders Property Map
    (Updatable) Rename HTTP headers as they pass through the gateway.
    setHeaders Property Map
    (Updatable) Set HTTP headers as they pass through the gateway.

    DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeaders, DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersArgs

    Items List<DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItem>
    (Updatable) The list of headers.
    Type string
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    Items []DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItem
    (Updatable) The list of headers.
    Type string
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    items List<DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItem>
    (Updatable) The list of headers.
    type String
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    items DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItem[]
    (Updatable) The list of headers.
    type string
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    items Sequence[apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItem]
    (Updatable) The list of headers.
    type str
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    items List<Property Map>
    (Updatable) The list of headers.
    type String
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.

    DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItem, DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArgs

    Name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    Name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    name String
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    name str
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    name String
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.

    DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeaders, DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersArgs

    items List<Property Map>
    (Updatable) The list of headers.

    DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItem, DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArgs

    From string
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    To string
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    From string
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    To string
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    from String
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    to String
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    from string
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    to string
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    from_ str
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    to str
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    from String
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    to String
    (Updatable) The new name of the header. This name must be unique across transformation policies.

    DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeaders, DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersArgs

    items List<Property Map>
    (Updatable) The list of headers.

    DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItem, DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArgs

    IfExists string
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    Name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    Values List<string>
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    IfExists string
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    Name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    Values []string
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    ifExists String
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name String
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    values List<String>
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    ifExists string
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    values string[]
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    if_exists str
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name str
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    values Sequence[str]
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    ifExists String
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name String
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    values List<String>
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.

    DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetails, DeploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicySourceUriDetailsArgs

    Type string
    (Updatable) Type of the Uri detail.
    Uri string
    (Updatable) The discovery URI for the auth server.
    Type string
    (Updatable) Type of the Uri detail.
    Uri string
    (Updatable) The discovery URI for the auth server.
    type String
    (Updatable) Type of the Uri detail.
    uri String
    (Updatable) The discovery URI for the auth server.
    type string
    (Updatable) Type of the Uri detail.
    uri string
    (Updatable) The discovery URI for the auth server.
    type str
    (Updatable) Type of the Uri detail.
    uri str
    (Updatable) The discovery URI for the auth server.
    type String
    (Updatable) Type of the Uri detail.
    uri String
    (Updatable) The discovery URI for the auth server.

    DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicy, DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyArgs

    Type string
    (Updatable) Type of the token validation policy.
    AdditionalValidationPolicy DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicy
    (Updatable) Additional JWT validation checks.
    ClientDetails DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetails
    (Updatable) Client App Credential details.
    IsSslVerifyDisabled bool
    (Updatable) Defines whether or not to uphold SSL verification.
    Keys List<DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKey>
    (Updatable) The set of static public keys.
    MaxCacheDurationInHours int
    (Updatable) The duration for which the introspect URL response should be cached before it is fetched again.
    SourceUriDetails DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetails
    (Updatable) Auth endpoint details.
    Uri string
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    Type string
    (Updatable) Type of the token validation policy.
    AdditionalValidationPolicy DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicy
    (Updatable) Additional JWT validation checks.
    ClientDetails DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetails
    (Updatable) Client App Credential details.
    IsSslVerifyDisabled bool
    (Updatable) Defines whether or not to uphold SSL verification.
    Keys []DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKey
    (Updatable) The set of static public keys.
    MaxCacheDurationInHours int
    (Updatable) The duration for which the introspect URL response should be cached before it is fetched again.
    SourceUriDetails DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetails
    (Updatable) Auth endpoint details.
    Uri string
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    type String
    (Updatable) Type of the token validation policy.
    additionalValidationPolicy DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicy
    (Updatable) Additional JWT validation checks.
    clientDetails DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetails
    (Updatable) Client App Credential details.
    isSslVerifyDisabled Boolean
    (Updatable) Defines whether or not to uphold SSL verification.
    keys List<DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKey>
    (Updatable) The set of static public keys.
    maxCacheDurationInHours Integer
    (Updatable) The duration for which the introspect URL response should be cached before it is fetched again.
    sourceUriDetails DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetails
    (Updatable) Auth endpoint details.
    uri String
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    type string
    (Updatable) Type of the token validation policy.
    additionalValidationPolicy DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicy
    (Updatable) Additional JWT validation checks.
    clientDetails DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetails
    (Updatable) Client App Credential details.
    isSslVerifyDisabled boolean
    (Updatable) Defines whether or not to uphold SSL verification.
    keys DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKey[]
    (Updatable) The set of static public keys.
    maxCacheDurationInHours number
    (Updatable) The duration for which the introspect URL response should be cached before it is fetched again.
    sourceUriDetails DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetails
    (Updatable) Auth endpoint details.
    uri string
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    type str
    (Updatable) Type of the token validation policy.
    additional_validation_policy apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicy
    (Updatable) Additional JWT validation checks.
    client_details apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetails
    (Updatable) Client App Credential details.
    is_ssl_verify_disabled bool
    (Updatable) Defines whether or not to uphold SSL verification.
    keys Sequence[apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKey]
    (Updatable) The set of static public keys.
    max_cache_duration_in_hours int
    (Updatable) The duration for which the introspect URL response should be cached before it is fetched again.
    source_uri_details apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetails
    (Updatable) Auth endpoint details.
    uri str
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    type String
    (Updatable) Type of the token validation policy.
    additionalValidationPolicy Property Map
    (Updatable) Additional JWT validation checks.
    clientDetails Property Map
    (Updatable) Client App Credential details.
    isSslVerifyDisabled Boolean
    (Updatable) Defines whether or not to uphold SSL verification.
    keys List<Property Map>
    (Updatable) The set of static public keys.
    maxCacheDurationInHours Number
    (Updatable) The duration for which the introspect URL response should be cached before it is fetched again.
    sourceUriDetails Property Map
    (Updatable) Auth endpoint details.
    uri String
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.

    DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicy, DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyArgs

    Audiences List<string>
    (Updatable) The list of intended recipients for the token.
    Issuers List<string>
    (Updatable) A list of parties that could have issued the token.
    VerifyClaims List<DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaim>
    (Updatable) A list of claims which should be validated to consider the token valid.
    Audiences []string
    (Updatable) The list of intended recipients for the token.
    Issuers []string
    (Updatable) A list of parties that could have issued the token.
    VerifyClaims []DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaim
    (Updatable) A list of claims which should be validated to consider the token valid.
    audiences List<String>
    (Updatable) The list of intended recipients for the token.
    issuers List<String>
    (Updatable) A list of parties that could have issued the token.
    verifyClaims List<DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaim>
    (Updatable) A list of claims which should be validated to consider the token valid.
    audiences string[]
    (Updatable) The list of intended recipients for the token.
    issuers string[]
    (Updatable) A list of parties that could have issued the token.
    verifyClaims DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaim[]
    (Updatable) A list of claims which should be validated to consider the token valid.
    audiences Sequence[str]
    (Updatable) The list of intended recipients for the token.
    issuers Sequence[str]
    (Updatable) A list of parties that could have issued the token.
    verify_claims Sequence[apigateway.DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaim]
    (Updatable) A list of claims which should be validated to consider the token valid.
    audiences List<String>
    (Updatable) The list of intended recipients for the token.
    issuers List<String>
    (Updatable) A list of parties that could have issued the token.
    verifyClaims List<Property Map>
    (Updatable) A list of claims which should be validated to consider the token valid.

    DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaim, DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimArgs

    IsRequired bool
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    Key string
    (Updatable) Name of the claim.
    Values List<string>
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    IsRequired bool
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    Key string
    (Updatable) Name of the claim.
    Values []string
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    isRequired Boolean
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    key String
    (Updatable) Name of the claim.
    values List<String>
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    isRequired boolean
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    key string
    (Updatable) Name of the claim.
    values string[]
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    is_required bool
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    key str
    (Updatable) Name of the claim.
    values Sequence[str]
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    isRequired Boolean
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    key String
    (Updatable) Name of the claim.
    values List<String>
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.

    DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetails, DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsArgs

    Type string
    (Updatable) To specify where the Client App details should be taken from.
    ClientId string
    (Updatable) Client ID for the OAuth2/OIDC app.
    ClientSecretId string
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    ClientSecretVersionNumber string
    (Updatable) The version number of the client secret to use.
    Type string
    (Updatable) To specify where the Client App details should be taken from.
    ClientId string
    (Updatable) Client ID for the OAuth2/OIDC app.
    ClientSecretId string
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    ClientSecretVersionNumber string
    (Updatable) The version number of the client secret to use.
    type String
    (Updatable) To specify where the Client App details should be taken from.
    clientId String
    (Updatable) Client ID for the OAuth2/OIDC app.
    clientSecretId String
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    clientSecretVersionNumber String
    (Updatable) The version number of the client secret to use.
    type string
    (Updatable) To specify where the Client App details should be taken from.
    clientId string
    (Updatable) Client ID for the OAuth2/OIDC app.
    clientSecretId string
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    clientSecretVersionNumber string
    (Updatable) The version number of the client secret to use.
    type str
    (Updatable) To specify where the Client App details should be taken from.
    client_id str
    (Updatable) Client ID for the OAuth2/OIDC app.
    client_secret_id str
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    client_secret_version_number str
    (Updatable) The version number of the client secret to use.
    type String
    (Updatable) To specify where the Client App details should be taken from.
    clientId String
    (Updatable) Client ID for the OAuth2/OIDC app.
    clientSecretId String
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    clientSecretVersionNumber String
    (Updatable) The version number of the client secret to use.

    DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKey, DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeyArgs

    Format string
    (Updatable) The format of the public key.
    Alg string
    (Updatable) The algorithm intended for use with this key.
    E string
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    Key string
    (Updatable) The content of the PEM-encoded public key.
    KeyOps List<string>
    (Updatable) The operations for which this key is to be used.
    Kid string
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    Kty string
    (Updatable) The key type.
    N string
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    Use string
    (Updatable) The intended use of the public key.
    Format string
    (Updatable) The format of the public key.
    Alg string
    (Updatable) The algorithm intended for use with this key.
    E string
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    Key string
    (Updatable) The content of the PEM-encoded public key.
    KeyOps []string
    (Updatable) The operations for which this key is to be used.
    Kid string
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    Kty string
    (Updatable) The key type.
    N string
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    Use string
    (Updatable) The intended use of the public key.
    format String
    (Updatable) The format of the public key.
    alg String
    (Updatable) The algorithm intended for use with this key.
    e String
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    key String
    (Updatable) The content of the PEM-encoded public key.
    keyOps List<String>
    (Updatable) The operations for which this key is to be used.
    kid String
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    kty String
    (Updatable) The key type.
    n String
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    use String
    (Updatable) The intended use of the public key.
    format string
    (Updatable) The format of the public key.
    alg string
    (Updatable) The algorithm intended for use with this key.
    e string
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    key string
    (Updatable) The content of the PEM-encoded public key.
    keyOps string[]
    (Updatable) The operations for which this key is to be used.
    kid string
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    kty string
    (Updatable) The key type.
    n string
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    use string
    (Updatable) The intended use of the public key.
    format str
    (Updatable) The format of the public key.
    alg str
    (Updatable) The algorithm intended for use with this key.
    e str
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    key str
    (Updatable) The content of the PEM-encoded public key.
    key_ops Sequence[str]
    (Updatable) The operations for which this key is to be used.
    kid str
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    kty str
    (Updatable) The key type.
    n str
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    use str
    (Updatable) The intended use of the public key.
    format String
    (Updatable) The format of the public key.
    alg String
    (Updatable) The algorithm intended for use with this key.
    e String
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    key String
    (Updatable) The content of the PEM-encoded public key.
    keyOps List<String>
    (Updatable) The operations for which this key is to be used.
    kid String
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    kty String
    (Updatable) The key type.
    n String
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    use String
    (Updatable) The intended use of the public key.

    DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetails, DeploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsArgs

    Type string
    (Updatable) Type of the Uri detail.
    Uri string
    (Updatable) The discovery URI for the auth server.
    Type string
    (Updatable) Type of the Uri detail.
    Uri string
    (Updatable) The discovery URI for the auth server.
    type String
    (Updatable) Type of the Uri detail.
    uri String
    (Updatable) The discovery URI for the auth server.
    type string
    (Updatable) Type of the Uri detail.
    uri string
    (Updatable) The discovery URI for the auth server.
    type str
    (Updatable) Type of the Uri detail.
    uri str
    (Updatable) The discovery URI for the auth server.
    type String
    (Updatable) Type of the Uri detail.
    uri String
    (Updatable) The discovery URI for the auth server.

    DeploymentSpecificationRequestPoliciesAuthenticationVerifyClaim, DeploymentSpecificationRequestPoliciesAuthenticationVerifyClaimArgs

    IsRequired bool
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    Key string
    (Updatable) Name of the claim.
    Values List<string>
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    IsRequired bool
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    Key string
    (Updatable) Name of the claim.
    Values []string
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    isRequired Boolean
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    key String
    (Updatable) Name of the claim.
    values List<String>
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    isRequired boolean
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    key string
    (Updatable) Name of the claim.
    values string[]
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    is_required bool
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    key str
    (Updatable) Name of the claim.
    values Sequence[str]
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    isRequired Boolean
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    key String
    (Updatable) Name of the claim.
    values List<String>
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.

    DeploymentSpecificationRequestPoliciesCors, DeploymentSpecificationRequestPoliciesCorsArgs

    AllowedOrigins List<string>
    (Updatable) The list of allowed origins that the CORS handler will use to respond to CORS requests. The gateway will send the Access-Control-Allow-Origin header with the best origin match for the circumstances. '*' will match any origins, and 'null' will match queries from 'file:' origins. All other origins must be qualified with the scheme, full hostname, and port if necessary.
    AllowedHeaders List<string>
    (Updatable) The list of headers that will be allowed from the client via the Access-Control-Allow-Headers header. '*' will allow all headers.
    AllowedMethods List<string>
    (Updatable) The list of allowed HTTP methods that will be returned for the preflight OPTIONS request in the Access-Control-Allow-Methods header. '*' will allow all methods.
    ExposedHeaders List<string>
    (Updatable) The list of headers that the client will be allowed to see from the response as indicated by the Access-Control-Expose-Headers header. '*' will expose all headers.
    IsAllowCredentialsEnabled bool
    (Updatable) Whether to send the Access-Control-Allow-Credentials header to allow CORS requests with cookies.
    MaxAgeInSeconds int
    (Updatable) The time in seconds for the client to cache preflight responses. This is sent as the Access-Control-Max-Age if greater than 0.
    AllowedOrigins []string
    (Updatable) The list of allowed origins that the CORS handler will use to respond to CORS requests. The gateway will send the Access-Control-Allow-Origin header with the best origin match for the circumstances. '*' will match any origins, and 'null' will match queries from 'file:' origins. All other origins must be qualified with the scheme, full hostname, and port if necessary.
    AllowedHeaders []string
    (Updatable) The list of headers that will be allowed from the client via the Access-Control-Allow-Headers header. '*' will allow all headers.
    AllowedMethods []string
    (Updatable) The list of allowed HTTP methods that will be returned for the preflight OPTIONS request in the Access-Control-Allow-Methods header. '*' will allow all methods.
    ExposedHeaders []string
    (Updatable) The list of headers that the client will be allowed to see from the response as indicated by the Access-Control-Expose-Headers header. '*' will expose all headers.
    IsAllowCredentialsEnabled bool
    (Updatable) Whether to send the Access-Control-Allow-Credentials header to allow CORS requests with cookies.
    MaxAgeInSeconds int
    (Updatable) The time in seconds for the client to cache preflight responses. This is sent as the Access-Control-Max-Age if greater than 0.
    allowedOrigins List<String>
    (Updatable) The list of allowed origins that the CORS handler will use to respond to CORS requests. The gateway will send the Access-Control-Allow-Origin header with the best origin match for the circumstances. '*' will match any origins, and 'null' will match queries from 'file:' origins. All other origins must be qualified with the scheme, full hostname, and port if necessary.
    allowedHeaders List<String>
    (Updatable) The list of headers that will be allowed from the client via the Access-Control-Allow-Headers header. '*' will allow all headers.
    allowedMethods List<String>
    (Updatable) The list of allowed HTTP methods that will be returned for the preflight OPTIONS request in the Access-Control-Allow-Methods header. '*' will allow all methods.
    exposedHeaders List<String>
    (Updatable) The list of headers that the client will be allowed to see from the response as indicated by the Access-Control-Expose-Headers header. '*' will expose all headers.
    isAllowCredentialsEnabled Boolean
    (Updatable) Whether to send the Access-Control-Allow-Credentials header to allow CORS requests with cookies.
    maxAgeInSeconds Integer
    (Updatable) The time in seconds for the client to cache preflight responses. This is sent as the Access-Control-Max-Age if greater than 0.
    allowedOrigins string[]
    (Updatable) The list of allowed origins that the CORS handler will use to respond to CORS requests. The gateway will send the Access-Control-Allow-Origin header with the best origin match for the circumstances. '*' will match any origins, and 'null' will match queries from 'file:' origins. All other origins must be qualified with the scheme, full hostname, and port if necessary.
    allowedHeaders string[]
    (Updatable) The list of headers that will be allowed from the client via the Access-Control-Allow-Headers header. '*' will allow all headers.
    allowedMethods string[]
    (Updatable) The list of allowed HTTP methods that will be returned for the preflight OPTIONS request in the Access-Control-Allow-Methods header. '*' will allow all methods.
    exposedHeaders string[]
    (Updatable) The list of headers that the client will be allowed to see from the response as indicated by the Access-Control-Expose-Headers header. '*' will expose all headers.
    isAllowCredentialsEnabled boolean
    (Updatable) Whether to send the Access-Control-Allow-Credentials header to allow CORS requests with cookies.
    maxAgeInSeconds number
    (Updatable) The time in seconds for the client to cache preflight responses. This is sent as the Access-Control-Max-Age if greater than 0.
    allowed_origins Sequence[str]
    (Updatable) The list of allowed origins that the CORS handler will use to respond to CORS requests. The gateway will send the Access-Control-Allow-Origin header with the best origin match for the circumstances. '*' will match any origins, and 'null' will match queries from 'file:' origins. All other origins must be qualified with the scheme, full hostname, and port if necessary.
    allowed_headers Sequence[str]
    (Updatable) The list of headers that will be allowed from the client via the Access-Control-Allow-Headers header. '*' will allow all headers.
    allowed_methods Sequence[str]
    (Updatable) The list of allowed HTTP methods that will be returned for the preflight OPTIONS request in the Access-Control-Allow-Methods header. '*' will allow all methods.
    exposed_headers Sequence[str]
    (Updatable) The list of headers that the client will be allowed to see from the response as indicated by the Access-Control-Expose-Headers header. '*' will expose all headers.
    is_allow_credentials_enabled bool
    (Updatable) Whether to send the Access-Control-Allow-Credentials header to allow CORS requests with cookies.
    max_age_in_seconds int
    (Updatable) The time in seconds for the client to cache preflight responses. This is sent as the Access-Control-Max-Age if greater than 0.
    allowedOrigins List<String>
    (Updatable) The list of allowed origins that the CORS handler will use to respond to CORS requests. The gateway will send the Access-Control-Allow-Origin header with the best origin match for the circumstances. '*' will match any origins, and 'null' will match queries from 'file:' origins. All other origins must be qualified with the scheme, full hostname, and port if necessary.
    allowedHeaders List<String>
    (Updatable) The list of headers that will be allowed from the client via the Access-Control-Allow-Headers header. '*' will allow all headers.
    allowedMethods List<String>
    (Updatable) The list of allowed HTTP methods that will be returned for the preflight OPTIONS request in the Access-Control-Allow-Methods header. '*' will allow all methods.
    exposedHeaders List<String>
    (Updatable) The list of headers that the client will be allowed to see from the response as indicated by the Access-Control-Expose-Headers header. '*' will expose all headers.
    isAllowCredentialsEnabled Boolean
    (Updatable) Whether to send the Access-Control-Allow-Credentials header to allow CORS requests with cookies.
    maxAgeInSeconds Number
    (Updatable) The time in seconds for the client to cache preflight responses. This is sent as the Access-Control-Max-Age if greater than 0.

    DeploymentSpecificationRequestPoliciesDynamicAuthentication, DeploymentSpecificationRequestPoliciesDynamicAuthenticationArgs

    AuthenticationServers List<DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServer>
    (Updatable) List of authentication servers to choose from during dynamic authentication.
    SelectionSource DeploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSource
    (Updatable) The type of selector to use when dynamically routing and dynamically authenticating requests.
    AuthenticationServers []DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServer
    (Updatable) List of authentication servers to choose from during dynamic authentication.
    SelectionSource DeploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSource
    (Updatable) The type of selector to use when dynamically routing and dynamically authenticating requests.
    authenticationServers List<DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServer>
    (Updatable) List of authentication servers to choose from during dynamic authentication.
    selectionSource DeploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSource
    (Updatable) The type of selector to use when dynamically routing and dynamically authenticating requests.
    authenticationServers DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServer[]
    (Updatable) List of authentication servers to choose from during dynamic authentication.
    selectionSource DeploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSource
    (Updatable) The type of selector to use when dynamically routing and dynamically authenticating requests.
    authentication_servers Sequence[apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServer]
    (Updatable) List of authentication servers to choose from during dynamic authentication.
    selection_source apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSource
    (Updatable) The type of selector to use when dynamically routing and dynamically authenticating requests.
    authenticationServers List<Property Map>
    (Updatable) List of authentication servers to choose from during dynamic authentication.
    selectionSource Property Map
    (Updatable) The type of selector to use when dynamically routing and dynamically authenticating requests.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServer, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerArgs

    AuthenticationServerDetail DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetail
    (Updatable) Information on how to authenticate incoming requests.
    Key DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerKey
    (Updatable) Base policy for defining how to match the context variable in an incoming request with selection keys when dynamically routing and dynamically authenticating requests.
    AuthenticationServerDetail DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetail
    (Updatable) Information on how to authenticate incoming requests.
    Key DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerKey
    (Updatable) Base policy for defining how to match the context variable in an incoming request with selection keys when dynamically routing and dynamically authenticating requests.
    authenticationServerDetail DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetail
    (Updatable) Information on how to authenticate incoming requests.
    key DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerKey
    (Updatable) Base policy for defining how to match the context variable in an incoming request with selection keys when dynamically routing and dynamically authenticating requests.
    authenticationServerDetail DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetail
    (Updatable) Information on how to authenticate incoming requests.
    key DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerKey
    (Updatable) Base policy for defining how to match the context variable in an incoming request with selection keys when dynamically routing and dynamically authenticating requests.
    authentication_server_detail apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetail
    (Updatable) Information on how to authenticate incoming requests.
    key apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerKey
    (Updatable) Base policy for defining how to match the context variable in an incoming request with selection keys when dynamically routing and dynamically authenticating requests.
    authenticationServerDetail Property Map
    (Updatable) Information on how to authenticate incoming requests.
    key Property Map
    (Updatable) Base policy for defining how to match the context variable in an incoming request with selection keys when dynamically routing and dynamically authenticating requests.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetail, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailArgs

    Type string
    (Updatable) Type of the authentication policy to use.
    Audiences List<string>
    (Updatable) The list of intended recipients for the token.
    CacheKeys List<string>
    A list of keys from "parameters" attribute value whose values will be added to the cache key.
    FunctionId string
    (Updatable) The OCID of the Oracle Functions function resource.
    IsAnonymousAccessAllowed bool
    (Updatable) Whether an unauthenticated user may access the API. Must be "true" to enable ANONYMOUS route authorization.
    Issuers List<string>
    (Updatable) A list of parties that could have issued the token.
    MaxClockSkewInSeconds double
    (Updatable) The maximum expected time difference between the system clocks of the token issuer and the API Gateway.
    Parameters Dictionary<string, string>
    (Updatable) A map where key is a user defined string and value is a context expressions whose values will be sent to the custom auth function. Values should contain an expression. Example: {"foo": "request.header[abc]"}
    PublicKeys DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeys
    (Updatable) A set of Public Keys that will be used to verify the JWT signature.
    TokenAuthScheme string
    (Updatable) The authentication scheme that is to be used when authenticating the token. This must to be provided if "tokenHeader" is specified.
    TokenHeader string
    (Updatable) The name of the header containing the authentication token.
    TokenQueryParam string
    (Updatable) The name of the query parameter containing the authentication token.
    ValidationFailurePolicy DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicy
    (Updatable) Policy for defining behaviour on validation failure.
    ValidationPolicy DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicy
    (Updatable) Authentication Policies for the Token Authentication types.
    VerifyClaims List<DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailVerifyClaim>
    (Updatable) A list of claims which should be validated to consider the token valid.
    Type string
    (Updatable) Type of the authentication policy to use.
    Audiences []string
    (Updatable) The list of intended recipients for the token.
    CacheKeys []string
    A list of keys from "parameters" attribute value whose values will be added to the cache key.
    FunctionId string
    (Updatable) The OCID of the Oracle Functions function resource.
    IsAnonymousAccessAllowed bool
    (Updatable) Whether an unauthenticated user may access the API. Must be "true" to enable ANONYMOUS route authorization.
    Issuers []string
    (Updatable) A list of parties that could have issued the token.
    MaxClockSkewInSeconds float64
    (Updatable) The maximum expected time difference between the system clocks of the token issuer and the API Gateway.
    Parameters map[string]string
    (Updatable) A map where key is a user defined string and value is a context expressions whose values will be sent to the custom auth function. Values should contain an expression. Example: {"foo": "request.header[abc]"}
    PublicKeys DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeys
    (Updatable) A set of Public Keys that will be used to verify the JWT signature.
    TokenAuthScheme string
    (Updatable) The authentication scheme that is to be used when authenticating the token. This must to be provided if "tokenHeader" is specified.
    TokenHeader string
    (Updatable) The name of the header containing the authentication token.
    TokenQueryParam string
    (Updatable) The name of the query parameter containing the authentication token.
    ValidationFailurePolicy DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicy
    (Updatable) Policy for defining behaviour on validation failure.
    ValidationPolicy DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicy
    (Updatable) Authentication Policies for the Token Authentication types.
    VerifyClaims []DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailVerifyClaim
    (Updatable) A list of claims which should be validated to consider the token valid.
    type String
    (Updatable) Type of the authentication policy to use.
    audiences List<String>
    (Updatable) The list of intended recipients for the token.
    cacheKeys List<String>
    A list of keys from "parameters" attribute value whose values will be added to the cache key.
    functionId String
    (Updatable) The OCID of the Oracle Functions function resource.
    isAnonymousAccessAllowed Boolean
    (Updatable) Whether an unauthenticated user may access the API. Must be "true" to enable ANONYMOUS route authorization.
    issuers List<String>
    (Updatable) A list of parties that could have issued the token.
    maxClockSkewInSeconds Double
    (Updatable) The maximum expected time difference between the system clocks of the token issuer and the API Gateway.
    parameters Map<String,String>
    (Updatable) A map where key is a user defined string and value is a context expressions whose values will be sent to the custom auth function. Values should contain an expression. Example: {"foo": "request.header[abc]"}
    publicKeys DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeys
    (Updatable) A set of Public Keys that will be used to verify the JWT signature.
    tokenAuthScheme String
    (Updatable) The authentication scheme that is to be used when authenticating the token. This must to be provided if "tokenHeader" is specified.
    tokenHeader String
    (Updatable) The name of the header containing the authentication token.
    tokenQueryParam String
    (Updatable) The name of the query parameter containing the authentication token.
    validationFailurePolicy DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicy
    (Updatable) Policy for defining behaviour on validation failure.
    validationPolicy DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicy
    (Updatable) Authentication Policies for the Token Authentication types.
    verifyClaims List<DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailVerifyClaim>
    (Updatable) A list of claims which should be validated to consider the token valid.
    type string
    (Updatable) Type of the authentication policy to use.
    audiences string[]
    (Updatable) The list of intended recipients for the token.
    cacheKeys string[]
    A list of keys from "parameters" attribute value whose values will be added to the cache key.
    functionId string
    (Updatable) The OCID of the Oracle Functions function resource.
    isAnonymousAccessAllowed boolean
    (Updatable) Whether an unauthenticated user may access the API. Must be "true" to enable ANONYMOUS route authorization.
    issuers string[]
    (Updatable) A list of parties that could have issued the token.
    maxClockSkewInSeconds number
    (Updatable) The maximum expected time difference between the system clocks of the token issuer and the API Gateway.
    parameters {[key: string]: string}
    (Updatable) A map where key is a user defined string and value is a context expressions whose values will be sent to the custom auth function. Values should contain an expression. Example: {"foo": "request.header[abc]"}
    publicKeys DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeys
    (Updatable) A set of Public Keys that will be used to verify the JWT signature.
    tokenAuthScheme string
    (Updatable) The authentication scheme that is to be used when authenticating the token. This must to be provided if "tokenHeader" is specified.
    tokenHeader string
    (Updatable) The name of the header containing the authentication token.
    tokenQueryParam string
    (Updatable) The name of the query parameter containing the authentication token.
    validationFailurePolicy DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicy
    (Updatable) Policy for defining behaviour on validation failure.
    validationPolicy DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicy
    (Updatable) Authentication Policies for the Token Authentication types.
    verifyClaims DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailVerifyClaim[]
    (Updatable) A list of claims which should be validated to consider the token valid.
    type str
    (Updatable) Type of the authentication policy to use.
    audiences Sequence[str]
    (Updatable) The list of intended recipients for the token.
    cache_keys Sequence[str]
    A list of keys from "parameters" attribute value whose values will be added to the cache key.
    function_id str
    (Updatable) The OCID of the Oracle Functions function resource.
    is_anonymous_access_allowed bool
    (Updatable) Whether an unauthenticated user may access the API. Must be "true" to enable ANONYMOUS route authorization.
    issuers Sequence[str]
    (Updatable) A list of parties that could have issued the token.
    max_clock_skew_in_seconds float
    (Updatable) The maximum expected time difference between the system clocks of the token issuer and the API Gateway.
    parameters Mapping[str, str]
    (Updatable) A map where key is a user defined string and value is a context expressions whose values will be sent to the custom auth function. Values should contain an expression. Example: {"foo": "request.header[abc]"}
    public_keys apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeys
    (Updatable) A set of Public Keys that will be used to verify the JWT signature.
    token_auth_scheme str
    (Updatable) The authentication scheme that is to be used when authenticating the token. This must to be provided if "tokenHeader" is specified.
    token_header str
    (Updatable) The name of the header containing the authentication token.
    token_query_param str
    (Updatable) The name of the query parameter containing the authentication token.
    validation_failure_policy apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicy
    (Updatable) Policy for defining behaviour on validation failure.
    validation_policy apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicy
    (Updatable) Authentication Policies for the Token Authentication types.
    verify_claims Sequence[apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailVerifyClaim]
    (Updatable) A list of claims which should be validated to consider the token valid.
    type String
    (Updatable) Type of the authentication policy to use.
    audiences List<String>
    (Updatable) The list of intended recipients for the token.
    cacheKeys List<String>
    A list of keys from "parameters" attribute value whose values will be added to the cache key.
    functionId String
    (Updatable) The OCID of the Oracle Functions function resource.
    isAnonymousAccessAllowed Boolean
    (Updatable) Whether an unauthenticated user may access the API. Must be "true" to enable ANONYMOUS route authorization.
    issuers List<String>
    (Updatable) A list of parties that could have issued the token.
    maxClockSkewInSeconds Number
    (Updatable) The maximum expected time difference between the system clocks of the token issuer and the API Gateway.
    parameters Map<String>
    (Updatable) A map where key is a user defined string and value is a context expressions whose values will be sent to the custom auth function. Values should contain an expression. Example: {"foo": "request.header[abc]"}
    publicKeys Property Map
    (Updatable) A set of Public Keys that will be used to verify the JWT signature.
    tokenAuthScheme String
    (Updatable) The authentication scheme that is to be used when authenticating the token. This must to be provided if "tokenHeader" is specified.
    tokenHeader String
    (Updatable) The name of the header containing the authentication token.
    tokenQueryParam String
    (Updatable) The name of the query parameter containing the authentication token.
    validationFailurePolicy Property Map
    (Updatable) Policy for defining behaviour on validation failure.
    validationPolicy Property Map
    (Updatable) Authentication Policies for the Token Authentication types.
    verifyClaims List<Property Map>
    (Updatable) A list of claims which should be validated to consider the token valid.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeys, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysArgs

    Type string
    (Updatable) Type of the public key set.
    IsSslVerifyDisabled bool
    (Updatable) Defines whether or not to uphold SSL verification.
    Keys List<DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysKey>
    (Updatable) The set of static public keys.
    MaxCacheDurationInHours int
    (Updatable) The duration for which the JWKS should be cached before it is fetched again.
    Uri string
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    Type string
    (Updatable) Type of the public key set.
    IsSslVerifyDisabled bool
    (Updatable) Defines whether or not to uphold SSL verification.
    Keys []DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysKey
    (Updatable) The set of static public keys.
    MaxCacheDurationInHours int
    (Updatable) The duration for which the JWKS should be cached before it is fetched again.
    Uri string
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    type String
    (Updatable) Type of the public key set.
    isSslVerifyDisabled Boolean
    (Updatable) Defines whether or not to uphold SSL verification.
    keys List<DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysKey>
    (Updatable) The set of static public keys.
    maxCacheDurationInHours Integer
    (Updatable) The duration for which the JWKS should be cached before it is fetched again.
    uri String
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    type string
    (Updatable) Type of the public key set.
    isSslVerifyDisabled boolean
    (Updatable) Defines whether or not to uphold SSL verification.
    keys DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysKey[]
    (Updatable) The set of static public keys.
    maxCacheDurationInHours number
    (Updatable) The duration for which the JWKS should be cached before it is fetched again.
    uri string
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    type str
    (Updatable) Type of the public key set.
    is_ssl_verify_disabled bool
    (Updatable) Defines whether or not to uphold SSL verification.
    keys Sequence[apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysKey]
    (Updatable) The set of static public keys.
    max_cache_duration_in_hours int
    (Updatable) The duration for which the JWKS should be cached before it is fetched again.
    uri str
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    type String
    (Updatable) Type of the public key set.
    isSslVerifyDisabled Boolean
    (Updatable) Defines whether or not to uphold SSL verification.
    keys List<Property Map>
    (Updatable) The set of static public keys.
    maxCacheDurationInHours Number
    (Updatable) The duration for which the JWKS should be cached before it is fetched again.
    uri String
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysKey, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailPublicKeysKeyArgs

    Format string
    (Updatable) The format of the public key.
    Alg string
    (Updatable) The algorithm intended for use with this key.
    E string
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    Key string
    (Updatable) The content of the PEM-encoded public key.
    KeyOps List<string>
    (Updatable) The operations for which this key is to be used.
    Kid string
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    Kty string
    (Updatable) The key type.
    N string
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    Use string
    (Updatable) The intended use of the public key.
    Format string
    (Updatable) The format of the public key.
    Alg string
    (Updatable) The algorithm intended for use with this key.
    E string
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    Key string
    (Updatable) The content of the PEM-encoded public key.
    KeyOps []string
    (Updatable) The operations for which this key is to be used.
    Kid string
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    Kty string
    (Updatable) The key type.
    N string
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    Use string
    (Updatable) The intended use of the public key.
    format String
    (Updatable) The format of the public key.
    alg String
    (Updatable) The algorithm intended for use with this key.
    e String
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    key String
    (Updatable) The content of the PEM-encoded public key.
    keyOps List<String>
    (Updatable) The operations for which this key is to be used.
    kid String
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    kty String
    (Updatable) The key type.
    n String
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    use String
    (Updatable) The intended use of the public key.
    format string
    (Updatable) The format of the public key.
    alg string
    (Updatable) The algorithm intended for use with this key.
    e string
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    key string
    (Updatable) The content of the PEM-encoded public key.
    keyOps string[]
    (Updatable) The operations for which this key is to be used.
    kid string
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    kty string
    (Updatable) The key type.
    n string
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    use string
    (Updatable) The intended use of the public key.
    format str
    (Updatable) The format of the public key.
    alg str
    (Updatable) The algorithm intended for use with this key.
    e str
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    key str
    (Updatable) The content of the PEM-encoded public key.
    key_ops Sequence[str]
    (Updatable) The operations for which this key is to be used.
    kid str
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    kty str
    (Updatable) The key type.
    n str
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    use str
    (Updatable) The intended use of the public key.
    format String
    (Updatable) The format of the public key.
    alg String
    (Updatable) The algorithm intended for use with this key.
    e String
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    key String
    (Updatable) The content of the PEM-encoded public key.
    keyOps List<String>
    (Updatable) The operations for which this key is to be used.
    kid String
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    kty String
    (Updatable) The key type.
    n String
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    use String
    (Updatable) The intended use of the public key.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicy, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyArgs

    Type string
    (Updatable) Type of the Validation failure Policy.
    ClientDetails DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyClientDetails
    (Updatable) Client App Credential details.
    FallbackRedirectPath string
    (Updatable) The path to be used as fallback after OAuth2.
    LogoutPath string
    (Updatable) The path to be used as logout.
    MaxExpiryDurationInHours int
    (Updatable) The duration for which the OAuth2 success token should be cached before it is fetched again.
    ResponseCode string
    (Updatable) HTTP response code, can include context variables.
    ResponseHeaderTransformations DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    ResponseMessage string
    (Updatable) HTTP response message.
    ResponseType string
    (Updatable) Response Type.
    Scopes List<string>
    (Updatable) List of scopes.
    SourceUriDetails DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicySourceUriDetails
    (Updatable) Auth endpoint details.
    UseCookiesForIntermediateSteps bool
    (Updatable) Defines whether or not to use cookies for OAuth2 intermediate steps.
    UseCookiesForSession bool
    (Updatable) Defines whether or not to use cookies for session maintenance.
    UsePkce bool
    (Updatable) Defines whether or not to support PKCE.
    Type string
    (Updatable) Type of the Validation failure Policy.
    ClientDetails DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyClientDetails
    (Updatable) Client App Credential details.
    FallbackRedirectPath string
    (Updatable) The path to be used as fallback after OAuth2.
    LogoutPath string
    (Updatable) The path to be used as logout.
    MaxExpiryDurationInHours int
    (Updatable) The duration for which the OAuth2 success token should be cached before it is fetched again.
    ResponseCode string
    (Updatable) HTTP response code, can include context variables.
    ResponseHeaderTransformations DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    ResponseMessage string
    (Updatable) HTTP response message.
    ResponseType string
    (Updatable) Response Type.
    Scopes []string
    (Updatable) List of scopes.
    SourceUriDetails DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicySourceUriDetails
    (Updatable) Auth endpoint details.
    UseCookiesForIntermediateSteps bool
    (Updatable) Defines whether or not to use cookies for OAuth2 intermediate steps.
    UseCookiesForSession bool
    (Updatable) Defines whether or not to use cookies for session maintenance.
    UsePkce bool
    (Updatable) Defines whether or not to support PKCE.
    type String
    (Updatable) Type of the Validation failure Policy.
    clientDetails DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyClientDetails
    (Updatable) Client App Credential details.
    fallbackRedirectPath String
    (Updatable) The path to be used as fallback after OAuth2.
    logoutPath String
    (Updatable) The path to be used as logout.
    maxExpiryDurationInHours Integer
    (Updatable) The duration for which the OAuth2 success token should be cached before it is fetched again.
    responseCode String
    (Updatable) HTTP response code, can include context variables.
    responseHeaderTransformations DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    responseMessage String
    (Updatable) HTTP response message.
    responseType String
    (Updatable) Response Type.
    scopes List<String>
    (Updatable) List of scopes.
    sourceUriDetails DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicySourceUriDetails
    (Updatable) Auth endpoint details.
    useCookiesForIntermediateSteps Boolean
    (Updatable) Defines whether or not to use cookies for OAuth2 intermediate steps.
    useCookiesForSession Boolean
    (Updatable) Defines whether or not to use cookies for session maintenance.
    usePkce Boolean
    (Updatable) Defines whether or not to support PKCE.
    type string
    (Updatable) Type of the Validation failure Policy.
    clientDetails DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyClientDetails
    (Updatable) Client App Credential details.
    fallbackRedirectPath string
    (Updatable) The path to be used as fallback after OAuth2.
    logoutPath string
    (Updatable) The path to be used as logout.
    maxExpiryDurationInHours number
    (Updatable) The duration for which the OAuth2 success token should be cached before it is fetched again.
    responseCode string
    (Updatable) HTTP response code, can include context variables.
    responseHeaderTransformations DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    responseMessage string
    (Updatable) HTTP response message.
    responseType string
    (Updatable) Response Type.
    scopes string[]
    (Updatable) List of scopes.
    sourceUriDetails DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicySourceUriDetails
    (Updatable) Auth endpoint details.
    useCookiesForIntermediateSteps boolean
    (Updatable) Defines whether or not to use cookies for OAuth2 intermediate steps.
    useCookiesForSession boolean
    (Updatable) Defines whether or not to use cookies for session maintenance.
    usePkce boolean
    (Updatable) Defines whether or not to support PKCE.
    type str
    (Updatable) Type of the Validation failure Policy.
    client_details apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyClientDetails
    (Updatable) Client App Credential details.
    fallback_redirect_path str
    (Updatable) The path to be used as fallback after OAuth2.
    logout_path str
    (Updatable) The path to be used as logout.
    max_expiry_duration_in_hours int
    (Updatable) The duration for which the OAuth2 success token should be cached before it is fetched again.
    response_code str
    (Updatable) HTTP response code, can include context variables.
    response_header_transformations apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    response_message str
    (Updatable) HTTP response message.
    response_type str
    (Updatable) Response Type.
    scopes Sequence[str]
    (Updatable) List of scopes.
    source_uri_details apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicySourceUriDetails
    (Updatable) Auth endpoint details.
    use_cookies_for_intermediate_steps bool
    (Updatable) Defines whether or not to use cookies for OAuth2 intermediate steps.
    use_cookies_for_session bool
    (Updatable) Defines whether or not to use cookies for session maintenance.
    use_pkce bool
    (Updatable) Defines whether or not to support PKCE.
    type String
    (Updatable) Type of the Validation failure Policy.
    clientDetails Property Map
    (Updatable) Client App Credential details.
    fallbackRedirectPath String
    (Updatable) The path to be used as fallback after OAuth2.
    logoutPath String
    (Updatable) The path to be used as logout.
    maxExpiryDurationInHours Number
    (Updatable) The duration for which the OAuth2 success token should be cached before it is fetched again.
    responseCode String
    (Updatable) HTTP response code, can include context variables.
    responseHeaderTransformations Property Map
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    responseMessage String
    (Updatable) HTTP response message.
    responseType String
    (Updatable) Response Type.
    scopes List<String>
    (Updatable) List of scopes.
    sourceUriDetails Property Map
    (Updatable) Auth endpoint details.
    useCookiesForIntermediateSteps Boolean
    (Updatable) Defines whether or not to use cookies for OAuth2 intermediate steps.
    useCookiesForSession Boolean
    (Updatable) Defines whether or not to use cookies for session maintenance.
    usePkce Boolean
    (Updatable) Defines whether or not to support PKCE.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyClientDetails, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyClientDetailsArgs

    Type string
    (Updatable) To specify where the Client App details should be taken from.
    ClientId string
    (Updatable) Client ID for the OAuth2/OIDC app.
    ClientSecretId string
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    ClientSecretVersionNumber string
    (Updatable) The version number of the client secret to use.
    Type string
    (Updatable) To specify where the Client App details should be taken from.
    ClientId string
    (Updatable) Client ID for the OAuth2/OIDC app.
    ClientSecretId string
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    ClientSecretVersionNumber string
    (Updatable) The version number of the client secret to use.
    type String
    (Updatable) To specify where the Client App details should be taken from.
    clientId String
    (Updatable) Client ID for the OAuth2/OIDC app.
    clientSecretId String
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    clientSecretVersionNumber String
    (Updatable) The version number of the client secret to use.
    type string
    (Updatable) To specify where the Client App details should be taken from.
    clientId string
    (Updatable) Client ID for the OAuth2/OIDC app.
    clientSecretId string
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    clientSecretVersionNumber string
    (Updatable) The version number of the client secret to use.
    type str
    (Updatable) To specify where the Client App details should be taken from.
    client_id str
    (Updatable) Client ID for the OAuth2/OIDC app.
    client_secret_id str
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    client_secret_version_number str
    (Updatable) The version number of the client secret to use.
    type String
    (Updatable) To specify where the Client App details should be taken from.
    clientId String
    (Updatable) Client ID for the OAuth2/OIDC app.
    clientSecretId String
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    clientSecretVersionNumber String
    (Updatable) The version number of the client secret to use.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformations, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsArgs

    FilterHeaders DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    RenameHeaders DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    SetHeaders DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    FilterHeaders DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    RenameHeaders DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    SetHeaders DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    filterHeaders DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    renameHeaders DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    setHeaders DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    filterHeaders DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    renameHeaders DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    setHeaders DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    filter_headers apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    rename_headers apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    set_headers apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    filterHeaders Property Map
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    renameHeaders Property Map
    (Updatable) Rename HTTP headers as they pass through the gateway.
    setHeaders Property Map
    (Updatable) Set HTTP headers as they pass through the gateway.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeaders, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersArgs

    Items List<DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItem>
    (Updatable) The list of headers.
    Type string
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    Items []DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItem
    (Updatable) The list of headers.
    Type string
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    items List<DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItem>
    (Updatable) The list of headers.
    type String
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    items DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItem[]
    (Updatable) The list of headers.
    type string
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    items Sequence[apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItem]
    (Updatable) The list of headers.
    type str
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    items List<Property Map>
    (Updatable) The list of headers.
    type String
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItem, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsFilterHeadersItemArgs

    Name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    Name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    name String
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    name str
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    name String
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeaders, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersArgs

    items List<Property Map>
    (Updatable) The list of headers.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItem, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsRenameHeadersItemArgs

    From string
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    To string
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    From string
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    To string
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    from String
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    to String
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    from string
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    to string
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    from_ str
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    to str
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    from String
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    to String
    (Updatable) The new name of the header. This name must be unique across transformation policies.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeaders, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersArgs

    items List<Property Map>
    (Updatable) The list of headers.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItem, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicyResponseHeaderTransformationsSetHeadersItemArgs

    IfExists string
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    Name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    Values List<string>
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    IfExists string
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    Name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    Values []string
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    ifExists String
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name String
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    values List<String>
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    ifExists string
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    values string[]
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    if_exists str
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name str
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    values Sequence[str]
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    ifExists String
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name String
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    values List<String>
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicySourceUriDetails, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationFailurePolicySourceUriDetailsArgs

    Type string
    (Updatable) Type of the Uri detail.
    Uri string
    (Updatable) The discovery URI for the auth server.
    Type string
    (Updatable) Type of the Uri detail.
    Uri string
    (Updatable) The discovery URI for the auth server.
    type String
    (Updatable) Type of the Uri detail.
    uri String
    (Updatable) The discovery URI for the auth server.
    type string
    (Updatable) Type of the Uri detail.
    uri string
    (Updatable) The discovery URI for the auth server.
    type str
    (Updatable) Type of the Uri detail.
    uri str
    (Updatable) The discovery URI for the auth server.
    type String
    (Updatable) Type of the Uri detail.
    uri String
    (Updatable) The discovery URI for the auth server.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicy, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyArgs

    Type string
    (Updatable) Type of the token validation policy.
    AdditionalValidationPolicy DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicy
    (Updatable) Additional JWT validation checks.
    ClientDetails DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyClientDetails
    (Updatable) Client App Credential details.
    IsSslVerifyDisabled bool
    (Updatable) Defines whether or not to uphold SSL verification.
    Keys List<DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyKey>
    (Updatable) The set of static public keys.
    MaxCacheDurationInHours int
    (Updatable) The duration for which the introspect URL response should be cached before it is fetched again.
    SourceUriDetails DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicySourceUriDetails
    (Updatable) Auth endpoint details.
    Uri string
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    Type string
    (Updatable) Type of the token validation policy.
    AdditionalValidationPolicy DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicy
    (Updatable) Additional JWT validation checks.
    ClientDetails DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyClientDetails
    (Updatable) Client App Credential details.
    IsSslVerifyDisabled bool
    (Updatable) Defines whether or not to uphold SSL verification.
    Keys []DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyKey
    (Updatable) The set of static public keys.
    MaxCacheDurationInHours int
    (Updatable) The duration for which the introspect URL response should be cached before it is fetched again.
    SourceUriDetails DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicySourceUriDetails
    (Updatable) Auth endpoint details.
    Uri string
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    type String
    (Updatable) Type of the token validation policy.
    additionalValidationPolicy DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicy
    (Updatable) Additional JWT validation checks.
    clientDetails DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyClientDetails
    (Updatable) Client App Credential details.
    isSslVerifyDisabled Boolean
    (Updatable) Defines whether or not to uphold SSL verification.
    keys List<DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyKey>
    (Updatable) The set of static public keys.
    maxCacheDurationInHours Integer
    (Updatable) The duration for which the introspect URL response should be cached before it is fetched again.
    sourceUriDetails DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicySourceUriDetails
    (Updatable) Auth endpoint details.
    uri String
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    type string
    (Updatable) Type of the token validation policy.
    additionalValidationPolicy DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicy
    (Updatable) Additional JWT validation checks.
    clientDetails DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyClientDetails
    (Updatable) Client App Credential details.
    isSslVerifyDisabled boolean
    (Updatable) Defines whether or not to uphold SSL verification.
    keys DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyKey[]
    (Updatable) The set of static public keys.
    maxCacheDurationInHours number
    (Updatable) The duration for which the introspect URL response should be cached before it is fetched again.
    sourceUriDetails DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicySourceUriDetails
    (Updatable) Auth endpoint details.
    uri string
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    type str
    (Updatable) Type of the token validation policy.
    additional_validation_policy apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicy
    (Updatable) Additional JWT validation checks.
    client_details apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyClientDetails
    (Updatable) Client App Credential details.
    is_ssl_verify_disabled bool
    (Updatable) Defines whether or not to uphold SSL verification.
    keys Sequence[apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyKey]
    (Updatable) The set of static public keys.
    max_cache_duration_in_hours int
    (Updatable) The duration for which the introspect URL response should be cached before it is fetched again.
    source_uri_details apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicySourceUriDetails
    (Updatable) Auth endpoint details.
    uri str
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.
    type String
    (Updatable) Type of the token validation policy.
    additionalValidationPolicy Property Map
    (Updatable) Additional JWT validation checks.
    clientDetails Property Map
    (Updatable) Client App Credential details.
    isSslVerifyDisabled Boolean
    (Updatable) Defines whether or not to uphold SSL verification.
    keys List<Property Map>
    (Updatable) The set of static public keys.
    maxCacheDurationInHours Number
    (Updatable) The duration for which the introspect URL response should be cached before it is fetched again.
    sourceUriDetails Property Map
    (Updatable) Auth endpoint details.
    uri String
    (Updatable) The uri from which to retrieve the key. It must be accessible without authentication.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicy, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyArgs

    Audiences List<string>
    (Updatable) The list of intended recipients for the token.
    Issuers List<string>
    (Updatable) A list of parties that could have issued the token.
    VerifyClaims List<DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaim>
    (Updatable) A list of claims which should be validated to consider the token valid.
    Audiences []string
    (Updatable) The list of intended recipients for the token.
    Issuers []string
    (Updatable) A list of parties that could have issued the token.
    VerifyClaims []DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaim
    (Updatable) A list of claims which should be validated to consider the token valid.
    audiences List<String>
    (Updatable) The list of intended recipients for the token.
    issuers List<String>
    (Updatable) A list of parties that could have issued the token.
    verifyClaims List<DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaim>
    (Updatable) A list of claims which should be validated to consider the token valid.
    audiences string[]
    (Updatable) The list of intended recipients for the token.
    issuers string[]
    (Updatable) A list of parties that could have issued the token.
    verifyClaims DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaim[]
    (Updatable) A list of claims which should be validated to consider the token valid.
    audiences Sequence[str]
    (Updatable) The list of intended recipients for the token.
    issuers Sequence[str]
    (Updatable) A list of parties that could have issued the token.
    verify_claims Sequence[apigateway.DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaim]
    (Updatable) A list of claims which should be validated to consider the token valid.
    audiences List<String>
    (Updatable) The list of intended recipients for the token.
    issuers List<String>
    (Updatable) A list of parties that could have issued the token.
    verifyClaims List<Property Map>
    (Updatable) A list of claims which should be validated to consider the token valid.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaim, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimArgs

    IsRequired bool
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    Key string
    (Updatable) Name of the claim.
    Values List<string>
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    IsRequired bool
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    Key string
    (Updatable) Name of the claim.
    Values []string
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    isRequired Boolean
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    key String
    (Updatable) Name of the claim.
    values List<String>
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    isRequired boolean
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    key string
    (Updatable) Name of the claim.
    values string[]
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    is_required bool
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    key str
    (Updatable) Name of the claim.
    values Sequence[str]
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    isRequired Boolean
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    key String
    (Updatable) Name of the claim.
    values List<String>
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyClientDetails, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyClientDetailsArgs

    Type string
    (Updatable) To specify where the Client App details should be taken from.
    ClientId string
    (Updatable) Client ID for the OAuth2/OIDC app.
    ClientSecretId string
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    ClientSecretVersionNumber string
    (Updatable) The version number of the client secret to use.
    Type string
    (Updatable) To specify where the Client App details should be taken from.
    ClientId string
    (Updatable) Client ID for the OAuth2/OIDC app.
    ClientSecretId string
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    ClientSecretVersionNumber string
    (Updatable) The version number of the client secret to use.
    type String
    (Updatable) To specify where the Client App details should be taken from.
    clientId String
    (Updatable) Client ID for the OAuth2/OIDC app.
    clientSecretId String
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    clientSecretVersionNumber String
    (Updatable) The version number of the client secret to use.
    type string
    (Updatable) To specify where the Client App details should be taken from.
    clientId string
    (Updatable) Client ID for the OAuth2/OIDC app.
    clientSecretId string
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    clientSecretVersionNumber string
    (Updatable) The version number of the client secret to use.
    type str
    (Updatable) To specify where the Client App details should be taken from.
    client_id str
    (Updatable) Client ID for the OAuth2/OIDC app.
    client_secret_id str
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    client_secret_version_number str
    (Updatable) The version number of the client secret to use.
    type String
    (Updatable) To specify where the Client App details should be taken from.
    clientId String
    (Updatable) Client ID for the OAuth2/OIDC app.
    clientSecretId String
    (Updatable) The OCID of the Oracle Vault Service secret resource.
    clientSecretVersionNumber String
    (Updatable) The version number of the client secret to use.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyKey, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicyKeyArgs

    Format string
    (Updatable) The format of the public key.
    Alg string
    (Updatable) The algorithm intended for use with this key.
    E string
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    Key string
    (Updatable) The content of the PEM-encoded public key.
    KeyOps List<string>
    (Updatable) The operations for which this key is to be used.
    Kid string
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    Kty string
    (Updatable) The key type.
    N string
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    Use string
    (Updatable) The intended use of the public key.
    Format string
    (Updatable) The format of the public key.
    Alg string
    (Updatable) The algorithm intended for use with this key.
    E string
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    Key string
    (Updatable) The content of the PEM-encoded public key.
    KeyOps []string
    (Updatable) The operations for which this key is to be used.
    Kid string
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    Kty string
    (Updatable) The key type.
    N string
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    Use string
    (Updatable) The intended use of the public key.
    format String
    (Updatable) The format of the public key.
    alg String
    (Updatable) The algorithm intended for use with this key.
    e String
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    key String
    (Updatable) The content of the PEM-encoded public key.
    keyOps List<String>
    (Updatable) The operations for which this key is to be used.
    kid String
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    kty String
    (Updatable) The key type.
    n String
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    use String
    (Updatable) The intended use of the public key.
    format string
    (Updatable) The format of the public key.
    alg string
    (Updatable) The algorithm intended for use with this key.
    e string
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    key string
    (Updatable) The content of the PEM-encoded public key.
    keyOps string[]
    (Updatable) The operations for which this key is to be used.
    kid string
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    kty string
    (Updatable) The key type.
    n string
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    use string
    (Updatable) The intended use of the public key.
    format str
    (Updatable) The format of the public key.
    alg str
    (Updatable) The algorithm intended for use with this key.
    e str
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    key str
    (Updatable) The content of the PEM-encoded public key.
    key_ops Sequence[str]
    (Updatable) The operations for which this key is to be used.
    kid str
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    kty str
    (Updatable) The key type.
    n str
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    use str
    (Updatable) The intended use of the public key.
    format String
    (Updatable) The format of the public key.
    alg String
    (Updatable) The algorithm intended for use with this key.
    e String
    (Updatable) The base64 url encoded exponent of the RSA public key represented by this key.
    key String
    (Updatable) The content of the PEM-encoded public key.
    keyOps List<String>
    (Updatable) The operations for which this key is to be used.
    kid String
    (Updatable) A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
    kty String
    (Updatable) The key type.
    n String
    (Updatable) The base64 url encoded modulus of the RSA public key represented by this key.
    use String
    (Updatable) The intended use of the public key.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicySourceUriDetails, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailValidationPolicySourceUriDetailsArgs

    Type string
    (Updatable) Type of the Uri detail.
    Uri string
    (Updatable) The discovery URI for the auth server.
    Type string
    (Updatable) Type of the Uri detail.
    Uri string
    (Updatable) The discovery URI for the auth server.
    type String
    (Updatable) Type of the Uri detail.
    uri String
    (Updatable) The discovery URI for the auth server.
    type string
    (Updatable) Type of the Uri detail.
    uri string
    (Updatable) The discovery URI for the auth server.
    type str
    (Updatable) Type of the Uri detail.
    uri str
    (Updatable) The discovery URI for the auth server.
    type String
    (Updatable) Type of the Uri detail.
    uri String
    (Updatable) The discovery URI for the auth server.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailVerifyClaim, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerAuthenticationServerDetailVerifyClaimArgs

    IsRequired bool
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    Key string
    (Updatable) Name of the claim.
    Values List<string>
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    IsRequired bool
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    Key string
    (Updatable) Name of the claim.
    Values []string
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    isRequired Boolean
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    key String
    (Updatable) Name of the claim.
    values List<String>
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    isRequired boolean
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    key string
    (Updatable) Name of the claim.
    values string[]
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    is_required bool
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    key str
    (Updatable) Name of the claim.
    values Sequence[str]
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
    isRequired Boolean
    (Updatable) Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
    key String
    (Updatable) Name of the claim.
    values List<String>
    (Updatable) The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerKey, DeploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServerKeyArgs

    Name string
    (Updatable) Name assigned to the branch.
    Expression string
    (Updatable) A selection key string containing a wildcard to match with the context variable in an incoming request. If the context variable matches the string, the request is sent to the route or authentication server associated with the selection key. Valid wildcards are '*' (zero or more characters) and '+' (one or more characters). The string can only contain one wildcard, and the wildcard must be at the start or the end of the string.
    IsDefault bool
    (Updatable) Specifies whether to use the route or authentication server associated with this selection key as the default. The default is used if the value of a context variable in an incoming request does not match any of the other selection key values when dynamically routing and dynamically authenticating requests.
    Type string
    (Updatable) Type of the selection key.
    Values List<string>
    (Updatable) The set of selection keys to match with the context variable in an incoming request. If the context variable exactly matches one of the keys in the set, the request is sent to the route or authentication server associated with the set.
    Name string
    (Updatable) Name assigned to the branch.
    Expression string
    (Updatable) A selection key string containing a wildcard to match with the context variable in an incoming request. If the context variable matches the string, the request is sent to the route or authentication server associated with the selection key. Valid wildcards are '*' (zero or more characters) and '+' (one or more characters). The string can only contain one wildcard, and the wildcard must be at the start or the end of the string.
    IsDefault bool
    (Updatable) Specifies whether to use the route or authentication server associated with this selection key as the default. The default is used if the value of a context variable in an incoming request does not match any of the other selection key values when dynamically routing and dynamically authenticating requests.
    Type string
    (Updatable) Type of the selection key.
    Values []string
    (Updatable) The set of selection keys to match with the context variable in an incoming request. If the context variable exactly matches one of the keys in the set, the request is sent to the route or authentication server associated with the set.
    name String
    (Updatable) Name assigned to the branch.
    expression String
    (Updatable) A selection key string containing a wildcard to match with the context variable in an incoming request. If the context variable matches the string, the request is sent to the route or authentication server associated with the selection key. Valid wildcards are '*' (zero or more characters) and '+' (one or more characters). The string can only contain one wildcard, and the wildcard must be at the start or the end of the string.
    isDefault Boolean
    (Updatable) Specifies whether to use the route or authentication server associated with this selection key as the default. The default is used if the value of a context variable in an incoming request does not match any of the other selection key values when dynamically routing and dynamically authenticating requests.
    type String
    (Updatable) Type of the selection key.
    values List<String>
    (Updatable) The set of selection keys to match with the context variable in an incoming request. If the context variable exactly matches one of the keys in the set, the request is sent to the route or authentication server associated with the set.
    name string
    (Updatable) Name assigned to the branch.
    expression string
    (Updatable) A selection key string containing a wildcard to match with the context variable in an incoming request. If the context variable matches the string, the request is sent to the route or authentication server associated with the selection key. Valid wildcards are '*' (zero or more characters) and '+' (one or more characters). The string can only contain one wildcard, and the wildcard must be at the start or the end of the string.
    isDefault boolean
    (Updatable) Specifies whether to use the route or authentication server associated with this selection key as the default. The default is used if the value of a context variable in an incoming request does not match any of the other selection key values when dynamically routing and dynamically authenticating requests.
    type string
    (Updatable) Type of the selection key.
    values string[]
    (Updatable) The set of selection keys to match with the context variable in an incoming request. If the context variable exactly matches one of the keys in the set, the request is sent to the route or authentication server associated with the set.
    name str
    (Updatable) Name assigned to the branch.
    expression str
    (Updatable) A selection key string containing a wildcard to match with the context variable in an incoming request. If the context variable matches the string, the request is sent to the route or authentication server associated with the selection key. Valid wildcards are '*' (zero or more characters) and '+' (one or more characters). The string can only contain one wildcard, and the wildcard must be at the start or the end of the string.
    is_default bool
    (Updatable) Specifies whether to use the route or authentication server associated with this selection key as the default. The default is used if the value of a context variable in an incoming request does not match any of the other selection key values when dynamically routing and dynamically authenticating requests.
    type str
    (Updatable) Type of the selection key.
    values Sequence[str]
    (Updatable) The set of selection keys to match with the context variable in an incoming request. If the context variable exactly matches one of the keys in the set, the request is sent to the route or authentication server associated with the set.
    name String
    (Updatable) Name assigned to the branch.
    expression String
    (Updatable) A selection key string containing a wildcard to match with the context variable in an incoming request. If the context variable matches the string, the request is sent to the route or authentication server associated with the selection key. Valid wildcards are '*' (zero or more characters) and '+' (one or more characters). The string can only contain one wildcard, and the wildcard must be at the start or the end of the string.
    isDefault Boolean
    (Updatable) Specifies whether to use the route or authentication server associated with this selection key as the default. The default is used if the value of a context variable in an incoming request does not match any of the other selection key values when dynamically routing and dynamically authenticating requests.
    type String
    (Updatable) Type of the selection key.
    values List<String>
    (Updatable) The set of selection keys to match with the context variable in an incoming request. If the context variable exactly matches one of the keys in the set, the request is sent to the route or authentication server associated with the set.

    DeploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSource, DeploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceArgs

    Selector string
    (Updatable) String describing the context variable used as selector.
    Type string
    (Updatable) Type of the Selection source to use.
    Selector string
    (Updatable) String describing the context variable used as selector.
    Type string
    (Updatable) Type of the Selection source to use.
    selector String
    (Updatable) String describing the context variable used as selector.
    type String
    (Updatable) Type of the Selection source to use.
    selector string
    (Updatable) String describing the context variable used as selector.
    type string
    (Updatable) Type of the Selection source to use.
    selector str
    (Updatable) String describing the context variable used as selector.
    type str
    (Updatable) Type of the Selection source to use.
    selector String
    (Updatable) String describing the context variable used as selector.
    type String
    (Updatable) Type of the Selection source to use.

    DeploymentSpecificationRequestPoliciesMutualTls, DeploymentSpecificationRequestPoliciesMutualTlsArgs

    AllowedSans List<string>
    (Updatable) Allowed list of CN or SAN which will be used for verification of certificate.
    IsVerifiedCertificateRequired bool
    (Updatable) Determines whether to enable client verification when API Consumer makes connection to the gateway.
    AllowedSans []string
    (Updatable) Allowed list of CN or SAN which will be used for verification of certificate.
    IsVerifiedCertificateRequired bool
    (Updatable) Determines whether to enable client verification when API Consumer makes connection to the gateway.
    allowedSans List<String>
    (Updatable) Allowed list of CN or SAN which will be used for verification of certificate.
    isVerifiedCertificateRequired Boolean
    (Updatable) Determines whether to enable client verification when API Consumer makes connection to the gateway.
    allowedSans string[]
    (Updatable) Allowed list of CN or SAN which will be used for verification of certificate.
    isVerifiedCertificateRequired boolean
    (Updatable) Determines whether to enable client verification when API Consumer makes connection to the gateway.
    allowed_sans Sequence[str]
    (Updatable) Allowed list of CN or SAN which will be used for verification of certificate.
    is_verified_certificate_required bool
    (Updatable) Determines whether to enable client verification when API Consumer makes connection to the gateway.
    allowedSans List<String>
    (Updatable) Allowed list of CN or SAN which will be used for verification of certificate.
    isVerifiedCertificateRequired Boolean
    (Updatable) Determines whether to enable client verification when API Consumer makes connection to the gateway.

    DeploymentSpecificationRequestPoliciesRateLimiting, DeploymentSpecificationRequestPoliciesRateLimitingArgs

    RateInRequestsPerSecond int
    (Updatable) The maximum number of requests per second to allow.
    RateKey string
    (Updatable) The key used to group requests together.
    RateInRequestsPerSecond int
    (Updatable) The maximum number of requests per second to allow.
    RateKey string
    (Updatable) The key used to group requests together.
    rateInRequestsPerSecond Integer
    (Updatable) The maximum number of requests per second to allow.
    rateKey String
    (Updatable) The key used to group requests together.
    rateInRequestsPerSecond number
    (Updatable) The maximum number of requests per second to allow.
    rateKey string
    (Updatable) The key used to group requests together.
    rate_in_requests_per_second int
    (Updatable) The maximum number of requests per second to allow.
    rate_key str
    (Updatable) The key used to group requests together.
    rateInRequestsPerSecond Number
    (Updatable) The maximum number of requests per second to allow.
    rateKey String
    (Updatable) The key used to group requests together.

    DeploymentSpecificationRequestPoliciesUsagePlans, DeploymentSpecificationRequestPoliciesUsagePlansArgs

    TokenLocations List<string>
    (Updatable) A list of context variables specifying where API tokens may be located in a request. Example locations:

    • "request.headers[token]"
    • "request.query[token]"
    • "request.auth[Token]"
    • "request.path[TOKEN]"
    TokenLocations []string
    (Updatable) A list of context variables specifying where API tokens may be located in a request. Example locations:

    • "request.headers[token]"
    • "request.query[token]"
    • "request.auth[Token]"
    • "request.path[TOKEN]"
    tokenLocations List<String>
    (Updatable) A list of context variables specifying where API tokens may be located in a request. Example locations:

    • "request.headers[token]"
    • "request.query[token]"
    • "request.auth[Token]"
    • "request.path[TOKEN]"
    tokenLocations string[]
    (Updatable) A list of context variables specifying where API tokens may be located in a request. Example locations:

    • "request.headers[token]"
    • "request.query[token]"
    • "request.auth[Token]"
    • "request.path[TOKEN]"
    token_locations Sequence[str]
    (Updatable) A list of context variables specifying where API tokens may be located in a request. Example locations:

    • "request.headers[token]"
    • "request.query[token]"
    • "request.auth[Token]"
    • "request.path[TOKEN]"
    tokenLocations List<String>
    (Updatable) A list of context variables specifying where API tokens may be located in a request. Example locations:

    • "request.headers[token]"
    • "request.query[token]"
    • "request.auth[Token]"
    • "request.path[TOKEN]"

    DeploymentSpecificationRoute, DeploymentSpecificationRouteArgs

    Backend DeploymentSpecificationRouteBackend
    (Updatable) The backend to forward requests to.
    Path string
    (Updatable) A URL path pattern that must be matched on this route. The path pattern may contain a subset of RFC 6570 identifiers to allow wildcard and parameterized matching.
    LoggingPolicies DeploymentSpecificationRouteLoggingPolicies
    (Updatable) Policies controlling the pushing of logs to Oracle Cloud Infrastructure Public Logging.
    Methods List<string>
    (Updatable) A list of allowed methods on this route.
    RequestPolicies DeploymentSpecificationRouteRequestPolicies
    (Updatable) Behavior applied to any requests received by the API on this route.
    ResponsePolicies DeploymentSpecificationRouteResponsePolicies
    (Updatable) Behavior applied to any responses sent by the API for requests on this route.
    Backend DeploymentSpecificationRouteBackend
    (Updatable) The backend to forward requests to.
    Path string
    (Updatable) A URL path pattern that must be matched on this route. The path pattern may contain a subset of RFC 6570 identifiers to allow wildcard and parameterized matching.
    LoggingPolicies DeploymentSpecificationRouteLoggingPolicies
    (Updatable) Policies controlling the pushing of logs to Oracle Cloud Infrastructure Public Logging.
    Methods []string
    (Updatable) A list of allowed methods on this route.
    RequestPolicies DeploymentSpecificationRouteRequestPolicies
    (Updatable) Behavior applied to any requests received by the API on this route.
    ResponsePolicies DeploymentSpecificationRouteResponsePolicies
    (Updatable) Behavior applied to any responses sent by the API for requests on this route.
    backend DeploymentSpecificationRouteBackend
    (Updatable) The backend to forward requests to.
    path String
    (Updatable) A URL path pattern that must be matched on this route. The path pattern may contain a subset of RFC 6570 identifiers to allow wildcard and parameterized matching.
    loggingPolicies DeploymentSpecificationRouteLoggingPolicies
    (Updatable) Policies controlling the pushing of logs to Oracle Cloud Infrastructure Public Logging.
    methods List<String>
    (Updatable) A list of allowed methods on this route.
    requestPolicies DeploymentSpecificationRouteRequestPolicies
    (Updatable) Behavior applied to any requests received by the API on this route.
    responsePolicies DeploymentSpecificationRouteResponsePolicies
    (Updatable) Behavior applied to any responses sent by the API for requests on this route.
    backend DeploymentSpecificationRouteBackend
    (Updatable) The backend to forward requests to.
    path string
    (Updatable) A URL path pattern that must be matched on this route. The path pattern may contain a subset of RFC 6570 identifiers to allow wildcard and parameterized matching.
    loggingPolicies DeploymentSpecificationRouteLoggingPolicies
    (Updatable) Policies controlling the pushing of logs to Oracle Cloud Infrastructure Public Logging.
    methods string[]
    (Updatable) A list of allowed methods on this route.
    requestPolicies DeploymentSpecificationRouteRequestPolicies
    (Updatable) Behavior applied to any requests received by the API on this route.
    responsePolicies DeploymentSpecificationRouteResponsePolicies
    (Updatable) Behavior applied to any responses sent by the API for requests on this route.
    backend apigateway.DeploymentSpecificationRouteBackend
    (Updatable) The backend to forward requests to.
    path str
    (Updatable) A URL path pattern that must be matched on this route. The path pattern may contain a subset of RFC 6570 identifiers to allow wildcard and parameterized matching.
    logging_policies apigateway.DeploymentSpecificationRouteLoggingPolicies
    (Updatable) Policies controlling the pushing of logs to Oracle Cloud Infrastructure Public Logging.
    methods Sequence[str]
    (Updatable) A list of allowed methods on this route.
    request_policies apigateway.DeploymentSpecificationRouteRequestPolicies
    (Updatable) Behavior applied to any requests received by the API on this route.
    response_policies apigateway.DeploymentSpecificationRouteResponsePolicies
    (Updatable) Behavior applied to any responses sent by the API for requests on this route.
    backend Property Map
    (Updatable) The backend to forward requests to.
    path String
    (Updatable) A URL path pattern that must be matched on this route. The path pattern may contain a subset of RFC 6570 identifiers to allow wildcard and parameterized matching.
    loggingPolicies Property Map
    (Updatable) Policies controlling the pushing of logs to Oracle Cloud Infrastructure Public Logging.
    methods List<String>
    (Updatable) A list of allowed methods on this route.
    requestPolicies Property Map
    (Updatable) Behavior applied to any requests received by the API on this route.
    responsePolicies Property Map
    (Updatable) Behavior applied to any responses sent by the API for requests on this route.

    DeploymentSpecificationRouteBackend, DeploymentSpecificationRouteBackendArgs

    Type string
    (Updatable) Type of the API backend.
    AllowedPostLogoutUris List<string>
    (Updatable)
    Body string
    (Updatable) The body of the stock response from the mock backend.
    ConnectTimeoutInSeconds double
    (Updatable) Defines a timeout for establishing a connection with a proxied server.
    FunctionId string
    (Updatable) The OCID of the Oracle Functions function resource.
    Headers List<DeploymentSpecificationRouteBackendHeader>
    (Updatable) The headers of the stock response from the mock backend.
    IsSslVerifyDisabled bool
    (Updatable) Defines whether or not to uphold SSL verification.
    PostLogoutState string
    (Updatable) Defines a state that should be shared on redirecting to postLogout URL.
    ReadTimeoutInSeconds double
    (Updatable) Defines a timeout for reading a response from the proxied server.
    RoutingBackends List<DeploymentSpecificationRouteBackendRoutingBackend>
    (Updatable) List of backends to chose from for Dynamic Routing.
    SelectionSource DeploymentSpecificationRouteBackendSelectionSource
    (Updatable) Information around selector used for branching among routes/ authentication servers while dynamic routing/ authentication.
    SendTimeoutInSeconds double
    (Updatable) Defines a timeout for transmitting a request to the proxied server.
    Status int
    (Updatable) The status code of the stock response from the mock backend.
    Url string
    (Updatable)
    Type string
    (Updatable) Type of the API backend.
    AllowedPostLogoutUris []string
    (Updatable)
    Body string
    (Updatable) The body of the stock response from the mock backend.
    ConnectTimeoutInSeconds float64
    (Updatable) Defines a timeout for establishing a connection with a proxied server.
    FunctionId string
    (Updatable) The OCID of the Oracle Functions function resource.
    Headers []DeploymentSpecificationRouteBackendHeader
    (Updatable) The headers of the stock response from the mock backend.
    IsSslVerifyDisabled bool
    (Updatable) Defines whether or not to uphold SSL verification.
    PostLogoutState string
    (Updatable) Defines a state that should be shared on redirecting to postLogout URL.
    ReadTimeoutInSeconds float64
    (Updatable) Defines a timeout for reading a response from the proxied server.
    RoutingBackends []DeploymentSpecificationRouteBackendRoutingBackend
    (Updatable) List of backends to chose from for Dynamic Routing.
    SelectionSource DeploymentSpecificationRouteBackendSelectionSource
    (Updatable) Information around selector used for branching among routes/ authentication servers while dynamic routing/ authentication.
    SendTimeoutInSeconds float64
    (Updatable) Defines a timeout for transmitting a request to the proxied server.
    Status int
    (Updatable) The status code of the stock response from the mock backend.
    Url string
    (Updatable)
    type String
    (Updatable) Type of the API backend.
    allowedPostLogoutUris List<String>
    (Updatable)
    body String
    (Updatable) The body of the stock response from the mock backend.
    connectTimeoutInSeconds Double
    (Updatable) Defines a timeout for establishing a connection with a proxied server.
    functionId String
    (Updatable) The OCID of the Oracle Functions function resource.
    headers List<DeploymentSpecificationRouteBackendHeader>
    (Updatable) The headers of the stock response from the mock backend.
    isSslVerifyDisabled Boolean
    (Updatable) Defines whether or not to uphold SSL verification.
    postLogoutState String
    (Updatable) Defines a state that should be shared on redirecting to postLogout URL.
    readTimeoutInSeconds Double
    (Updatable) Defines a timeout for reading a response from the proxied server.
    routingBackends List<DeploymentSpecificationRouteBackendRoutingBackend>
    (Updatable) List of backends to chose from for Dynamic Routing.
    selectionSource DeploymentSpecificationRouteBackendSelectionSource
    (Updatable) Information around selector used for branching among routes/ authentication servers while dynamic routing/ authentication.
    sendTimeoutInSeconds Double
    (Updatable) Defines a timeout for transmitting a request to the proxied server.
    status Integer
    (Updatable) The status code of the stock response from the mock backend.
    url String
    (Updatable)
    type string
    (Updatable) Type of the API backend.
    allowedPostLogoutUris string[]
    (Updatable)
    body string
    (Updatable) The body of the stock response from the mock backend.
    connectTimeoutInSeconds number
    (Updatable) Defines a timeout for establishing a connection with a proxied server.
    functionId string
    (Updatable) The OCID of the Oracle Functions function resource.
    headers DeploymentSpecificationRouteBackendHeader[]
    (Updatable) The headers of the stock response from the mock backend.
    isSslVerifyDisabled boolean
    (Updatable) Defines whether or not to uphold SSL verification.
    postLogoutState string
    (Updatable) Defines a state that should be shared on redirecting to postLogout URL.
    readTimeoutInSeconds number
    (Updatable) Defines a timeout for reading a response from the proxied server.
    routingBackends DeploymentSpecificationRouteBackendRoutingBackend[]
    (Updatable) List of backends to chose from for Dynamic Routing.
    selectionSource DeploymentSpecificationRouteBackendSelectionSource
    (Updatable) Information around selector used for branching among routes/ authentication servers while dynamic routing/ authentication.
    sendTimeoutInSeconds number
    (Updatable) Defines a timeout for transmitting a request to the proxied server.
    status number
    (Updatable) The status code of the stock response from the mock backend.
    url string
    (Updatable)
    type str
    (Updatable) Type of the API backend.
    allowed_post_logout_uris Sequence[str]
    (Updatable)
    body str
    (Updatable) The body of the stock response from the mock backend.
    connect_timeout_in_seconds float
    (Updatable) Defines a timeout for establishing a connection with a proxied server.
    function_id str
    (Updatable) The OCID of the Oracle Functions function resource.
    headers Sequence[apigateway.DeploymentSpecificationRouteBackendHeader]
    (Updatable) The headers of the stock response from the mock backend.
    is_ssl_verify_disabled bool
    (Updatable) Defines whether or not to uphold SSL verification.
    post_logout_state str
    (Updatable) Defines a state that should be shared on redirecting to postLogout URL.
    read_timeout_in_seconds float
    (Updatable) Defines a timeout for reading a response from the proxied server.
    routing_backends Sequence[apigateway.DeploymentSpecificationRouteBackendRoutingBackend]
    (Updatable) List of backends to chose from for Dynamic Routing.
    selection_source apigateway.DeploymentSpecificationRouteBackendSelectionSource
    (Updatable) Information around selector used for branching among routes/ authentication servers while dynamic routing/ authentication.
    send_timeout_in_seconds float
    (Updatable) Defines a timeout for transmitting a request to the proxied server.
    status int
    (Updatable) The status code of the stock response from the mock backend.
    url str
    (Updatable)
    type String
    (Updatable) Type of the API backend.
    allowedPostLogoutUris List<String>
    (Updatable)
    body String
    (Updatable) The body of the stock response from the mock backend.
    connectTimeoutInSeconds Number
    (Updatable) Defines a timeout for establishing a connection with a proxied server.
    functionId String
    (Updatable) The OCID of the Oracle Functions function resource.
    headers List<Property Map>
    (Updatable) The headers of the stock response from the mock backend.
    isSslVerifyDisabled Boolean
    (Updatable) Defines whether or not to uphold SSL verification.
    postLogoutState String
    (Updatable) Defines a state that should be shared on redirecting to postLogout URL.
    readTimeoutInSeconds Number
    (Updatable) Defines a timeout for reading a response from the proxied server.
    routingBackends List<Property Map>
    (Updatable) List of backends to chose from for Dynamic Routing.
    selectionSource Property Map
    (Updatable) Information around selector used for branching among routes/ authentication servers while dynamic routing/ authentication.
    sendTimeoutInSeconds Number
    (Updatable) Defines a timeout for transmitting a request to the proxied server.
    status Number
    (Updatable) The status code of the stock response from the mock backend.
    url String
    (Updatable)

    DeploymentSpecificationRouteBackendHeader, DeploymentSpecificationRouteBackendHeaderArgs

    Name string
    (Updatable) Name of the header.
    Value string
    (Updatable) Value of the header.
    Name string
    (Updatable) Name of the header.
    Value string
    (Updatable) Value of the header.
    name String
    (Updatable) Name of the header.
    value String
    (Updatable) Value of the header.
    name string
    (Updatable) Name of the header.
    value string
    (Updatable) Value of the header.
    name str
    (Updatable) Name of the header.
    value str
    (Updatable) Value of the header.
    name String
    (Updatable) Name of the header.
    value String
    (Updatable) Value of the header.

    DeploymentSpecificationRouteBackendRoutingBackend, DeploymentSpecificationRouteBackendRoutingBackendArgs

    Backend DeploymentSpecificationRouteBackendRoutingBackendBackend
    (Updatable) The backend to forward requests to.
    Key DeploymentSpecificationRouteBackendRoutingBackendKey
    (Updatable) Information around the values for selector of an authentication/ routing branch.
    Backend DeploymentSpecificationRouteBackendRoutingBackendBackend
    (Updatable) The backend to forward requests to.
    Key DeploymentSpecificationRouteBackendRoutingBackendKey
    (Updatable) Information around the values for selector of an authentication/ routing branch.
    backend DeploymentSpecificationRouteBackendRoutingBackendBackend
    (Updatable) The backend to forward requests to.
    key DeploymentSpecificationRouteBackendRoutingBackendKey
    (Updatable) Information around the values for selector of an authentication/ routing branch.
    backend DeploymentSpecificationRouteBackendRoutingBackendBackend
    (Updatable) The backend to forward requests to.
    key DeploymentSpecificationRouteBackendRoutingBackendKey
    (Updatable) Information around the values for selector of an authentication/ routing branch.
    backend apigateway.DeploymentSpecificationRouteBackendRoutingBackendBackend
    (Updatable) The backend to forward requests to.
    key apigateway.DeploymentSpecificationRouteBackendRoutingBackendKey
    (Updatable) Information around the values for selector of an authentication/ routing branch.
    backend Property Map
    (Updatable) The backend to forward requests to.
    key Property Map
    (Updatable) Information around the values for selector of an authentication/ routing branch.

    DeploymentSpecificationRouteBackendRoutingBackendBackend, DeploymentSpecificationRouteBackendRoutingBackendBackendArgs

    Type string
    Type of the Response Cache Store Policy.
    Body string
    The body of the stock response from the mock backend.
    ConnectTimeoutInSeconds double
    Defines a timeout for establishing a connection with a proxied server.
    FunctionId string
    The OCID of the Oracle Functions function resource.
    Headers List<DeploymentSpecificationRouteBackendRoutingBackendBackendHeader>
    IsSslVerifyDisabled bool
    Defines whether or not to uphold SSL verification.
    ReadTimeoutInSeconds double
    Defines a timeout for reading a response from the proxied server.
    SendTimeoutInSeconds double
    Defines a timeout for transmitting a request to the proxied server.
    Status int
    The status code of the stock response from the mock backend.
    Url string
    Type string
    Type of the Response Cache Store Policy.
    Body string
    The body of the stock response from the mock backend.
    ConnectTimeoutInSeconds float64
    Defines a timeout for establishing a connection with a proxied server.
    FunctionId string
    The OCID of the Oracle Functions function resource.
    Headers []DeploymentSpecificationRouteBackendRoutingBackendBackendHeader
    IsSslVerifyDisabled bool
    Defines whether or not to uphold SSL verification.
    ReadTimeoutInSeconds float64
    Defines a timeout for reading a response from the proxied server.
    SendTimeoutInSeconds float64
    Defines a timeout for transmitting a request to the proxied server.
    Status int
    The status code of the stock response from the mock backend.
    Url string
    type String
    Type of the Response Cache Store Policy.
    body String
    The body of the stock response from the mock backend.
    connectTimeoutInSeconds Double
    Defines a timeout for establishing a connection with a proxied server.
    functionId String
    The OCID of the Oracle Functions function resource.
    headers List<DeploymentSpecificationRouteBackendRoutingBackendBackendHeader>
    isSslVerifyDisabled Boolean
    Defines whether or not to uphold SSL verification.
    readTimeoutInSeconds Double
    Defines a timeout for reading a response from the proxied server.
    sendTimeoutInSeconds Double
    Defines a timeout for transmitting a request to the proxied server.
    status Integer
    The status code of the stock response from the mock backend.
    url String
    type string
    Type of the Response Cache Store Policy.
    body string
    The body of the stock response from the mock backend.
    connectTimeoutInSeconds number
    Defines a timeout for establishing a connection with a proxied server.
    functionId string
    The OCID of the Oracle Functions function resource.
    headers DeploymentSpecificationRouteBackendRoutingBackendBackendHeader[]
    isSslVerifyDisabled boolean
    Defines whether or not to uphold SSL verification.
    readTimeoutInSeconds number
    Defines a timeout for reading a response from the proxied server.
    sendTimeoutInSeconds number
    Defines a timeout for transmitting a request to the proxied server.
    status number
    The status code of the stock response from the mock backend.
    url string
    type str
    Type of the Response Cache Store Policy.
    body str
    The body of the stock response from the mock backend.
    connect_timeout_in_seconds float
    Defines a timeout for establishing a connection with a proxied server.
    function_id str
    The OCID of the Oracle Functions function resource.
    headers Sequence[apigateway.DeploymentSpecificationRouteBackendRoutingBackendBackendHeader]
    is_ssl_verify_disabled bool
    Defines whether or not to uphold SSL verification.
    read_timeout_in_seconds float
    Defines a timeout for reading a response from the proxied server.
    send_timeout_in_seconds float
    Defines a timeout for transmitting a request to the proxied server.
    status int
    The status code of the stock response from the mock backend.
    url str
    type String
    Type of the Response Cache Store Policy.
    body String
    The body of the stock response from the mock backend.
    connectTimeoutInSeconds Number
    Defines a timeout for establishing a connection with a proxied server.
    functionId String
    The OCID of the Oracle Functions function resource.
    headers List<Property Map>
    isSslVerifyDisabled Boolean
    Defines whether or not to uphold SSL verification.
    readTimeoutInSeconds Number
    Defines a timeout for reading a response from the proxied server.
    sendTimeoutInSeconds Number
    Defines a timeout for transmitting a request to the proxied server.
    status Number
    The status code of the stock response from the mock backend.
    url String

    DeploymentSpecificationRouteBackendRoutingBackendBackendHeader, DeploymentSpecificationRouteBackendRoutingBackendBackendHeaderArgs

    Name string
    The case-insensitive name of the header. This name must be unique across transformation policies.
    Value string
    Value of the header.
    Name string
    The case-insensitive name of the header. This name must be unique across transformation policies.
    Value string
    Value of the header.
    name String
    The case-insensitive name of the header. This name must be unique across transformation policies.
    value String
    Value of the header.
    name string
    The case-insensitive name of the header. This name must be unique across transformation policies.
    value string
    Value of the header.
    name str
    The case-insensitive name of the header. This name must be unique across transformation policies.
    value str
    Value of the header.
    name String
    The case-insensitive name of the header. This name must be unique across transformation policies.
    value String
    Value of the header.

    DeploymentSpecificationRouteBackendRoutingBackendKey, DeploymentSpecificationRouteBackendRoutingBackendKeyArgs

    Name string
    (Updatable) Name assigned to the branch.
    Type string
    (Updatable) Information regarding type of the selection key.
    Expression string
    (Updatable) String describing the expression with wildcards.
    IsDefault bool
    (Updatable) Information regarding whether this is the default branch.
    Values List<string>
    (Updatable) Information regarding the set of values of selector for which this branch should be selected.
    Name string
    (Updatable) Name assigned to the branch.
    Type string
    (Updatable) Information regarding type of the selection key.
    Expression string
    (Updatable) String describing the expression with wildcards.
    IsDefault bool
    (Updatable) Information regarding whether this is the default branch.
    Values []string
    (Updatable) Information regarding the set of values of selector for which this branch should be selected.
    name String
    (Updatable) Name assigned to the branch.
    type String
    (Updatable) Information regarding type of the selection key.
    expression String
    (Updatable) String describing the expression with wildcards.
    isDefault Boolean
    (Updatable) Information regarding whether this is the default branch.
    values List<String>
    (Updatable) Information regarding the set of values of selector for which this branch should be selected.
    name string
    (Updatable) Name assigned to the branch.
    type string
    (Updatable) Information regarding type of the selection key.
    expression string
    (Updatable) String describing the expression with wildcards.
    isDefault boolean
    (Updatable) Information regarding whether this is the default branch.
    values string[]
    (Updatable) Information regarding the set of values of selector for which this branch should be selected.
    name str
    (Updatable) Name assigned to the branch.
    type str
    (Updatable) Information regarding type of the selection key.
    expression str
    (Updatable) String describing the expression with wildcards.
    is_default bool
    (Updatable) Information regarding whether this is the default branch.
    values Sequence[str]
    (Updatable) Information regarding the set of values of selector for which this branch should be selected.
    name String
    (Updatable) Name assigned to the branch.
    type String
    (Updatable) Information regarding type of the selection key.
    expression String
    (Updatable) String describing the expression with wildcards.
    isDefault Boolean
    (Updatable) Information regarding whether this is the default branch.
    values List<String>
    (Updatable) Information regarding the set of values of selector for which this branch should be selected.

    DeploymentSpecificationRouteBackendSelectionSource, DeploymentSpecificationRouteBackendSelectionSourceArgs

    Selector string
    (Updatable) String describing the context variable used as selector.
    Type string
    (Updatable) Type of the Selection source to use.
    Selector string
    (Updatable) String describing the context variable used as selector.
    Type string
    (Updatable) Type of the Selection source to use.
    selector String
    (Updatable) String describing the context variable used as selector.
    type String
    (Updatable) Type of the Selection source to use.
    selector string
    (Updatable) String describing the context variable used as selector.
    type string
    (Updatable) Type of the Selection source to use.
    selector str
    (Updatable) String describing the context variable used as selector.
    type str
    (Updatable) Type of the Selection source to use.
    selector String
    (Updatable) String describing the context variable used as selector.
    type String
    (Updatable) Type of the Selection source to use.

    DeploymentSpecificationRouteLoggingPolicies, DeploymentSpecificationRouteLoggingPoliciesArgs

    AccessLog DeploymentSpecificationRouteLoggingPoliciesAccessLog
    (Updatable) Configures the logging policies for the access logs of an API Deployment.
    ExecutionLog DeploymentSpecificationRouteLoggingPoliciesExecutionLog
    (Updatable) Configures the logging policies for the execution logs of an API Deployment.
    AccessLog DeploymentSpecificationRouteLoggingPoliciesAccessLog
    (Updatable) Configures the logging policies for the access logs of an API Deployment.
    ExecutionLog DeploymentSpecificationRouteLoggingPoliciesExecutionLog
    (Updatable) Configures the logging policies for the execution logs of an API Deployment.
    accessLog DeploymentSpecificationRouteLoggingPoliciesAccessLog
    (Updatable) Configures the logging policies for the access logs of an API Deployment.
    executionLog DeploymentSpecificationRouteLoggingPoliciesExecutionLog
    (Updatable) Configures the logging policies for the execution logs of an API Deployment.
    accessLog DeploymentSpecificationRouteLoggingPoliciesAccessLog
    (Updatable) Configures the logging policies for the access logs of an API Deployment.
    executionLog DeploymentSpecificationRouteLoggingPoliciesExecutionLog
    (Updatable) Configures the logging policies for the execution logs of an API Deployment.
    access_log apigateway.DeploymentSpecificationRouteLoggingPoliciesAccessLog
    (Updatable) Configures the logging policies for the access logs of an API Deployment.
    execution_log apigateway.DeploymentSpecificationRouteLoggingPoliciesExecutionLog
    (Updatable) Configures the logging policies for the execution logs of an API Deployment.
    accessLog Property Map
    (Updatable) Configures the logging policies for the access logs of an API Deployment.
    executionLog Property Map
    (Updatable) Configures the logging policies for the execution logs of an API Deployment.

    DeploymentSpecificationRouteLoggingPoliciesAccessLog, DeploymentSpecificationRouteLoggingPoliciesAccessLogArgs

    IsEnabled bool

    (Updatable) Enables pushing of access logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query access logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'access' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    IsEnabled bool

    (Updatable) Enables pushing of access logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query access logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'access' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    isEnabled Boolean

    (Updatable) Enables pushing of access logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query access logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'access' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    isEnabled boolean

    (Updatable) Enables pushing of access logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query access logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'access' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    is_enabled bool

    (Updatable) Enables pushing of access logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query access logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'access' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    isEnabled Boolean

    (Updatable) Enables pushing of access logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query access logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'access' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    DeploymentSpecificationRouteLoggingPoliciesExecutionLog, DeploymentSpecificationRouteLoggingPoliciesExecutionLogArgs

    IsEnabled bool

    (Updatable) Enables pushing of execution logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query execution logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'execution' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    LogLevel string
    (Updatable) Specifies the log level used to control logging output of execution logs. Enabling logging at a given level also enables logging at all higher levels.
    IsEnabled bool

    (Updatable) Enables pushing of execution logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query execution logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'execution' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    LogLevel string
    (Updatable) Specifies the log level used to control logging output of execution logs. Enabling logging at a given level also enables logging at all higher levels.
    isEnabled Boolean

    (Updatable) Enables pushing of execution logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query execution logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'execution' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    logLevel String
    (Updatable) Specifies the log level used to control logging output of execution logs. Enabling logging at a given level also enables logging at all higher levels.
    isEnabled boolean

    (Updatable) Enables pushing of execution logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query execution logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'execution' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    logLevel string
    (Updatable) Specifies the log level used to control logging output of execution logs. Enabling logging at a given level also enables logging at all higher levels.
    is_enabled bool

    (Updatable) Enables pushing of execution logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query execution logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'execution' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    log_level str
    (Updatable) Specifies the log level used to control logging output of execution logs. Enabling logging at a given level also enables logging at all higher levels.
    isEnabled Boolean

    (Updatable) Enables pushing of execution logs to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Oracle recommends using the Oracle Cloud Infrastructure Logging service to enable, retrieve, and query execution logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'execution' in Oracle Cloud Infrastructure Logging service, the logs will not be uploaded to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket.

    Please note that the functionality to push to the legacy Oracle Cloud Infrastructure Object Storage log archival bucket has been deprecated and will be removed in the future.

    logLevel String
    (Updatable) Specifies the log level used to control logging output of execution logs. Enabling logging at a given level also enables logging at all higher levels.

    DeploymentSpecificationRouteRequestPolicies, DeploymentSpecificationRouteRequestPoliciesArgs

    Authorization DeploymentSpecificationRouteRequestPoliciesAuthorization
    (Updatable) If authentication has been performed, validate whether the request scope (if any) applies to this route. If no RouteAuthorizationPolicy is defined for a route, a policy with a type of AUTHENTICATION_ONLY is applied.
    BodyValidation DeploymentSpecificationRouteRequestPoliciesBodyValidation
    (Updatable) Validate the payload body of the incoming API requests on a specific route.
    Cors DeploymentSpecificationRouteRequestPoliciesCors
    (Updatable) Enable CORS (Cross-Origin-Resource-Sharing) request handling.
    HeaderTransformations DeploymentSpecificationRouteRequestPoliciesHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    HeaderValidations DeploymentSpecificationRouteRequestPoliciesHeaderValidations
    (Updatable) Validate the HTTP headers on the incoming API requests on a specific route.
    QueryParameterTransformations DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformations
    (Updatable) A set of transformations to apply to query parameters that pass through the gateway.
    QueryParameterValidations DeploymentSpecificationRouteRequestPoliciesQueryParameterValidations
    (Updatable) Validate the URL query parameters on the incoming API requests on a specific route.
    ResponseCacheLookup DeploymentSpecificationRouteRequestPoliciesResponseCacheLookup
    (Updatable) Base policy for Response Cache lookup.
    Authorization DeploymentSpecificationRouteRequestPoliciesAuthorization
    (Updatable) If authentication has been performed, validate whether the request scope (if any) applies to this route. If no RouteAuthorizationPolicy is defined for a route, a policy with a type of AUTHENTICATION_ONLY is applied.
    BodyValidation DeploymentSpecificationRouteRequestPoliciesBodyValidation
    (Updatable) Validate the payload body of the incoming API requests on a specific route.
    Cors DeploymentSpecificationRouteRequestPoliciesCors
    (Updatable) Enable CORS (Cross-Origin-Resource-Sharing) request handling.
    HeaderTransformations DeploymentSpecificationRouteRequestPoliciesHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    HeaderValidations DeploymentSpecificationRouteRequestPoliciesHeaderValidations
    (Updatable) Validate the HTTP headers on the incoming API requests on a specific route.
    QueryParameterTransformations DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformations
    (Updatable) A set of transformations to apply to query parameters that pass through the gateway.
    QueryParameterValidations DeploymentSpecificationRouteRequestPoliciesQueryParameterValidations
    (Updatable) Validate the URL query parameters on the incoming API requests on a specific route.
    ResponseCacheLookup DeploymentSpecificationRouteRequestPoliciesResponseCacheLookup
    (Updatable) Base policy for Response Cache lookup.
    authorization DeploymentSpecificationRouteRequestPoliciesAuthorization
    (Updatable) If authentication has been performed, validate whether the request scope (if any) applies to this route. If no RouteAuthorizationPolicy is defined for a route, a policy with a type of AUTHENTICATION_ONLY is applied.
    bodyValidation DeploymentSpecificationRouteRequestPoliciesBodyValidation
    (Updatable) Validate the payload body of the incoming API requests on a specific route.
    cors DeploymentSpecificationRouteRequestPoliciesCors
    (Updatable) Enable CORS (Cross-Origin-Resource-Sharing) request handling.
    headerTransformations DeploymentSpecificationRouteRequestPoliciesHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    headerValidations DeploymentSpecificationRouteRequestPoliciesHeaderValidations
    (Updatable) Validate the HTTP headers on the incoming API requests on a specific route.
    queryParameterTransformations DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformations
    (Updatable) A set of transformations to apply to query parameters that pass through the gateway.
    queryParameterValidations DeploymentSpecificationRouteRequestPoliciesQueryParameterValidations
    (Updatable) Validate the URL query parameters on the incoming API requests on a specific route.
    responseCacheLookup DeploymentSpecificationRouteRequestPoliciesResponseCacheLookup
    (Updatable) Base policy for Response Cache lookup.
    authorization DeploymentSpecificationRouteRequestPoliciesAuthorization
    (Updatable) If authentication has been performed, validate whether the request scope (if any) applies to this route. If no RouteAuthorizationPolicy is defined for a route, a policy with a type of AUTHENTICATION_ONLY is applied.
    bodyValidation DeploymentSpecificationRouteRequestPoliciesBodyValidation
    (Updatable) Validate the payload body of the incoming API requests on a specific route.
    cors DeploymentSpecificationRouteRequestPoliciesCors
    (Updatable) Enable CORS (Cross-Origin-Resource-Sharing) request handling.
    headerTransformations DeploymentSpecificationRouteRequestPoliciesHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    headerValidations DeploymentSpecificationRouteRequestPoliciesHeaderValidations
    (Updatable) Validate the HTTP headers on the incoming API requests on a specific route.
    queryParameterTransformations DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformations
    (Updatable) A set of transformations to apply to query parameters that pass through the gateway.
    queryParameterValidations DeploymentSpecificationRouteRequestPoliciesQueryParameterValidations
    (Updatable) Validate the URL query parameters on the incoming API requests on a specific route.
    responseCacheLookup DeploymentSpecificationRouteRequestPoliciesResponseCacheLookup
    (Updatable) Base policy for Response Cache lookup.
    authorization apigateway.DeploymentSpecificationRouteRequestPoliciesAuthorization
    (Updatable) If authentication has been performed, validate whether the request scope (if any) applies to this route. If no RouteAuthorizationPolicy is defined for a route, a policy with a type of AUTHENTICATION_ONLY is applied.
    body_validation apigateway.DeploymentSpecificationRouteRequestPoliciesBodyValidation
    (Updatable) Validate the payload body of the incoming API requests on a specific route.
    cors apigateway.DeploymentSpecificationRouteRequestPoliciesCors
    (Updatable) Enable CORS (Cross-Origin-Resource-Sharing) request handling.
    header_transformations apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    header_validations apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderValidations
    (Updatable) Validate the HTTP headers on the incoming API requests on a specific route.
    query_parameter_transformations apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformations
    (Updatable) A set of transformations to apply to query parameters that pass through the gateway.
    query_parameter_validations apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterValidations
    (Updatable) Validate the URL query parameters on the incoming API requests on a specific route.
    response_cache_lookup apigateway.DeploymentSpecificationRouteRequestPoliciesResponseCacheLookup
    (Updatable) Base policy for Response Cache lookup.
    authorization Property Map
    (Updatable) If authentication has been performed, validate whether the request scope (if any) applies to this route. If no RouteAuthorizationPolicy is defined for a route, a policy with a type of AUTHENTICATION_ONLY is applied.
    bodyValidation Property Map
    (Updatable) Validate the payload body of the incoming API requests on a specific route.
    cors Property Map
    (Updatable) Enable CORS (Cross-Origin-Resource-Sharing) request handling.
    headerTransformations Property Map
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    headerValidations Property Map
    (Updatable) Validate the HTTP headers on the incoming API requests on a specific route.
    queryParameterTransformations Property Map
    (Updatable) A set of transformations to apply to query parameters that pass through the gateway.
    queryParameterValidations Property Map
    (Updatable) Validate the URL query parameters on the incoming API requests on a specific route.
    responseCacheLookup Property Map
    (Updatable) Base policy for Response Cache lookup.

    DeploymentSpecificationRouteRequestPoliciesAuthorization, DeploymentSpecificationRouteRequestPoliciesAuthorizationArgs

    AllowedScopes List<string>
    (Updatable) A user whose scope includes any of these access ranges is allowed on this route. Access ranges are case-sensitive.
    Type string
    (Updatable) Indicates how authorization should be applied. For a type of ANY_OF, an "allowedScope" property must also be specified. Otherwise, only a type is required. For a type of ANONYMOUS, an authenticated API must have the "isAnonymousAccessAllowed" property set to "true" in the authentication policy.
    AllowedScopes []string
    (Updatable) A user whose scope includes any of these access ranges is allowed on this route. Access ranges are case-sensitive.
    Type string
    (Updatable) Indicates how authorization should be applied. For a type of ANY_OF, an "allowedScope" property must also be specified. Otherwise, only a type is required. For a type of ANONYMOUS, an authenticated API must have the "isAnonymousAccessAllowed" property set to "true" in the authentication policy.
    allowedScopes List<String>
    (Updatable) A user whose scope includes any of these access ranges is allowed on this route. Access ranges are case-sensitive.
    type String
    (Updatable) Indicates how authorization should be applied. For a type of ANY_OF, an "allowedScope" property must also be specified. Otherwise, only a type is required. For a type of ANONYMOUS, an authenticated API must have the "isAnonymousAccessAllowed" property set to "true" in the authentication policy.
    allowedScopes string[]
    (Updatable) A user whose scope includes any of these access ranges is allowed on this route. Access ranges are case-sensitive.
    type string
    (Updatable) Indicates how authorization should be applied. For a type of ANY_OF, an "allowedScope" property must also be specified. Otherwise, only a type is required. For a type of ANONYMOUS, an authenticated API must have the "isAnonymousAccessAllowed" property set to "true" in the authentication policy.
    allowed_scopes Sequence[str]
    (Updatable) A user whose scope includes any of these access ranges is allowed on this route. Access ranges are case-sensitive.
    type str
    (Updatable) Indicates how authorization should be applied. For a type of ANY_OF, an "allowedScope" property must also be specified. Otherwise, only a type is required. For a type of ANONYMOUS, an authenticated API must have the "isAnonymousAccessAllowed" property set to "true" in the authentication policy.
    allowedScopes List<String>
    (Updatable) A user whose scope includes any of these access ranges is allowed on this route. Access ranges are case-sensitive.
    type String
    (Updatable) Indicates how authorization should be applied. For a type of ANY_OF, an "allowedScope" property must also be specified. Otherwise, only a type is required. For a type of ANONYMOUS, an authenticated API must have the "isAnonymousAccessAllowed" property set to "true" in the authentication policy.

    DeploymentSpecificationRouteRequestPoliciesBodyValidation, DeploymentSpecificationRouteRequestPoliciesBodyValidationArgs

    Contents List<DeploymentSpecificationRouteRequestPoliciesBodyValidationContent>
    (Updatable) The content of the request body.
    Required bool
    (Updatable) Determines if the request body is required in the request.
    ValidationMode string

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    Contents []DeploymentSpecificationRouteRequestPoliciesBodyValidationContent
    (Updatable) The content of the request body.
    Required bool
    (Updatable) Determines if the request body is required in the request.
    ValidationMode string

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    contents List<DeploymentSpecificationRouteRequestPoliciesBodyValidationContent>
    (Updatable) The content of the request body.
    required Boolean
    (Updatable) Determines if the request body is required in the request.
    validationMode String

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    contents DeploymentSpecificationRouteRequestPoliciesBodyValidationContent[]
    (Updatable) The content of the request body.
    required boolean
    (Updatable) Determines if the request body is required in the request.
    validationMode string

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    contents Sequence[apigateway.DeploymentSpecificationRouteRequestPoliciesBodyValidationContent]
    (Updatable) The content of the request body.
    required bool
    (Updatable) Determines if the request body is required in the request.
    validation_mode str

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    contents List<Property Map>
    (Updatable) The content of the request body.
    required Boolean
    (Updatable) Determines if the request body is required in the request.
    validationMode String

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    DeploymentSpecificationRouteRequestPoliciesBodyValidationContent, DeploymentSpecificationRouteRequestPoliciesBodyValidationContentArgs

    MediaType string

    (Updatable) The media_type is a media type range subset restricted to the following schema

    media_type ::= ( / ( "" "/" "" ) / ( type "/" "*" ) / ( type "/" subtype ) )

    For requests that match multiple media types, only the most specific media type is applicable. e.g. text/plain overrides text/*

    ValidationType string

    (Updatable) Validation type defines the content validation method.

    Make the validation to first parse the body as the respective format.

    MediaType string

    (Updatable) The media_type is a media type range subset restricted to the following schema

    media_type ::= ( / ( "" "/" "" ) / ( type "/" "*" ) / ( type "/" subtype ) )

    For requests that match multiple media types, only the most specific media type is applicable. e.g. text/plain overrides text/*

    ValidationType string

    (Updatable) Validation type defines the content validation method.

    Make the validation to first parse the body as the respective format.

    mediaType String

    (Updatable) The media_type is a media type range subset restricted to the following schema

    media_type ::= ( / ( "" "/" "" ) / ( type "/" "*" ) / ( type "/" subtype ) )

    For requests that match multiple media types, only the most specific media type is applicable. e.g. text/plain overrides text/*

    validationType String

    (Updatable) Validation type defines the content validation method.

    Make the validation to first parse the body as the respective format.

    mediaType string

    (Updatable) The media_type is a media type range subset restricted to the following schema

    media_type ::= ( / ( "" "/" "" ) / ( type "/" "*" ) / ( type "/" subtype ) )

    For requests that match multiple media types, only the most specific media type is applicable. e.g. text/plain overrides text/*

    validationType string

    (Updatable) Validation type defines the content validation method.

    Make the validation to first parse the body as the respective format.

    media_type str

    (Updatable) The media_type is a media type range subset restricted to the following schema

    media_type ::= ( / ( "" "/" "" ) / ( type "/" "*" ) / ( type "/" subtype ) )

    For requests that match multiple media types, only the most specific media type is applicable. e.g. text/plain overrides text/*

    validation_type str

    (Updatable) Validation type defines the content validation method.

    Make the validation to first parse the body as the respective format.

    mediaType String

    (Updatable) The media_type is a media type range subset restricted to the following schema

    media_type ::= ( / ( "" "/" "" ) / ( type "/" "*" ) / ( type "/" subtype ) )

    For requests that match multiple media types, only the most specific media type is applicable. e.g. text/plain overrides text/*

    validationType String

    (Updatable) Validation type defines the content validation method.

    Make the validation to first parse the body as the respective format.

    DeploymentSpecificationRouteRequestPoliciesCors, DeploymentSpecificationRouteRequestPoliciesCorsArgs

    AllowedOrigins List<string>
    (Updatable) The list of allowed origins that the CORS handler will use to respond to CORS requests. The gateway will send the Access-Control-Allow-Origin header with the best origin match for the circumstances. '*' will match any origins, and 'null' will match queries from 'file:' origins. All other origins must be qualified with the scheme, full hostname, and port if necessary.
    AllowedHeaders List<string>
    (Updatable) The list of headers that will be allowed from the client via the Access-Control-Allow-Headers header. '*' will allow all headers.
    AllowedMethods List<string>
    (Updatable) The list of allowed HTTP methods that will be returned for the preflight OPTIONS request in the Access-Control-Allow-Methods header. '*' will allow all methods.
    ExposedHeaders List<string>
    (Updatable) The list of headers that the client will be allowed to see from the response as indicated by the Access-Control-Expose-Headers header. '*' will expose all headers.
    IsAllowCredentialsEnabled bool
    (Updatable) Whether to send the Access-Control-Allow-Credentials header to allow CORS requests with cookies.
    MaxAgeInSeconds int
    (Updatable) The time in seconds for the client to cache preflight responses. This is sent as the Access-Control-Max-Age if greater than 0.
    AllowedOrigins []string
    (Updatable) The list of allowed origins that the CORS handler will use to respond to CORS requests. The gateway will send the Access-Control-Allow-Origin header with the best origin match for the circumstances. '*' will match any origins, and 'null' will match queries from 'file:' origins. All other origins must be qualified with the scheme, full hostname, and port if necessary.
    AllowedHeaders []string
    (Updatable) The list of headers that will be allowed from the client via the Access-Control-Allow-Headers header. '*' will allow all headers.
    AllowedMethods []string
    (Updatable) The list of allowed HTTP methods that will be returned for the preflight OPTIONS request in the Access-Control-Allow-Methods header. '*' will allow all methods.
    ExposedHeaders []string
    (Updatable) The list of headers that the client will be allowed to see from the response as indicated by the Access-Control-Expose-Headers header. '*' will expose all headers.
    IsAllowCredentialsEnabled bool
    (Updatable) Whether to send the Access-Control-Allow-Credentials header to allow CORS requests with cookies.
    MaxAgeInSeconds int
    (Updatable) The time in seconds for the client to cache preflight responses. This is sent as the Access-Control-Max-Age if greater than 0.
    allowedOrigins List<String>
    (Updatable) The list of allowed origins that the CORS handler will use to respond to CORS requests. The gateway will send the Access-Control-Allow-Origin header with the best origin match for the circumstances. '*' will match any origins, and 'null' will match queries from 'file:' origins. All other origins must be qualified with the scheme, full hostname, and port if necessary.
    allowedHeaders List<String>
    (Updatable) The list of headers that will be allowed from the client via the Access-Control-Allow-Headers header. '*' will allow all headers.
    allowedMethods List<String>
    (Updatable) The list of allowed HTTP methods that will be returned for the preflight OPTIONS request in the Access-Control-Allow-Methods header. '*' will allow all methods.
    exposedHeaders List<String>
    (Updatable) The list of headers that the client will be allowed to see from the response as indicated by the Access-Control-Expose-Headers header. '*' will expose all headers.
    isAllowCredentialsEnabled Boolean
    (Updatable) Whether to send the Access-Control-Allow-Credentials header to allow CORS requests with cookies.
    maxAgeInSeconds Integer
    (Updatable) The time in seconds for the client to cache preflight responses. This is sent as the Access-Control-Max-Age if greater than 0.
    allowedOrigins string[]
    (Updatable) The list of allowed origins that the CORS handler will use to respond to CORS requests. The gateway will send the Access-Control-Allow-Origin header with the best origin match for the circumstances. '*' will match any origins, and 'null' will match queries from 'file:' origins. All other origins must be qualified with the scheme, full hostname, and port if necessary.
    allowedHeaders string[]
    (Updatable) The list of headers that will be allowed from the client via the Access-Control-Allow-Headers header. '*' will allow all headers.
    allowedMethods string[]
    (Updatable) The list of allowed HTTP methods that will be returned for the preflight OPTIONS request in the Access-Control-Allow-Methods header. '*' will allow all methods.
    exposedHeaders string[]
    (Updatable) The list of headers that the client will be allowed to see from the response as indicated by the Access-Control-Expose-Headers header. '*' will expose all headers.
    isAllowCredentialsEnabled boolean
    (Updatable) Whether to send the Access-Control-Allow-Credentials header to allow CORS requests with cookies.
    maxAgeInSeconds number
    (Updatable) The time in seconds for the client to cache preflight responses. This is sent as the Access-Control-Max-Age if greater than 0.
    allowed_origins Sequence[str]
    (Updatable) The list of allowed origins that the CORS handler will use to respond to CORS requests. The gateway will send the Access-Control-Allow-Origin header with the best origin match for the circumstances. '*' will match any origins, and 'null' will match queries from 'file:' origins. All other origins must be qualified with the scheme, full hostname, and port if necessary.
    allowed_headers Sequence[str]
    (Updatable) The list of headers that will be allowed from the client via the Access-Control-Allow-Headers header. '*' will allow all headers.
    allowed_methods Sequence[str]
    (Updatable) The list of allowed HTTP methods that will be returned for the preflight OPTIONS request in the Access-Control-Allow-Methods header. '*' will allow all methods.
    exposed_headers Sequence[str]
    (Updatable) The list of headers that the client will be allowed to see from the response as indicated by the Access-Control-Expose-Headers header. '*' will expose all headers.
    is_allow_credentials_enabled bool
    (Updatable) Whether to send the Access-Control-Allow-Credentials header to allow CORS requests with cookies.
    max_age_in_seconds int
    (Updatable) The time in seconds for the client to cache preflight responses. This is sent as the Access-Control-Max-Age if greater than 0.
    allowedOrigins List<String>
    (Updatable) The list of allowed origins that the CORS handler will use to respond to CORS requests. The gateway will send the Access-Control-Allow-Origin header with the best origin match for the circumstances. '*' will match any origins, and 'null' will match queries from 'file:' origins. All other origins must be qualified with the scheme, full hostname, and port if necessary.
    allowedHeaders List<String>
    (Updatable) The list of headers that will be allowed from the client via the Access-Control-Allow-Headers header. '*' will allow all headers.
    allowedMethods List<String>
    (Updatable) The list of allowed HTTP methods that will be returned for the preflight OPTIONS request in the Access-Control-Allow-Methods header. '*' will allow all methods.
    exposedHeaders List<String>
    (Updatable) The list of headers that the client will be allowed to see from the response as indicated by the Access-Control-Expose-Headers header. '*' will expose all headers.
    isAllowCredentialsEnabled Boolean
    (Updatable) Whether to send the Access-Control-Allow-Credentials header to allow CORS requests with cookies.
    maxAgeInSeconds Number
    (Updatable) The time in seconds for the client to cache preflight responses. This is sent as the Access-Control-Max-Age if greater than 0.

    DeploymentSpecificationRouteRequestPoliciesHeaderTransformations, DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsArgs

    FilterHeaders DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    RenameHeaders DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    SetHeaders DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    FilterHeaders DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    RenameHeaders DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    SetHeaders DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    filterHeaders DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    renameHeaders DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    setHeaders DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    filterHeaders DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    renameHeaders DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    setHeaders DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    filter_headers apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    rename_headers apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    set_headers apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    filterHeaders Property Map
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    renameHeaders Property Map
    (Updatable) Rename HTTP headers as they pass through the gateway.
    setHeaders Property Map
    (Updatable) Set HTTP headers as they pass through the gateway.

    DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeaders, DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersArgs

    Items List<DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersItem>
    (Updatable) The list of headers.
    Type string
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    Items []DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersItem
    (Updatable) The list of headers.
    Type string
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    items List<DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersItem>
    (Updatable) The list of headers.
    type String
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    items DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersItem[]
    (Updatable) The list of headers.
    type string
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    items Sequence[apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersItem]
    (Updatable) The list of headers.
    type str
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    items List<Property Map>
    (Updatable) The list of headers.
    type String
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.

    DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersItem, DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsFilterHeadersItemArgs

    Name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    Name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    name String
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    name str
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    name String
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.

    DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeaders, DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersArgs

    items List<Property Map>
    (Updatable) The list of headers.

    DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersItem, DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsRenameHeadersItemArgs

    From string
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    To string
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    From string
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    To string
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    from String
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    to String
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    from string
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    to string
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    from_ str
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    to str
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    from String
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    to String
    (Updatable) The new name of the header. This name must be unique across transformation policies.

    DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeaders, DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersArgs

    items List<Property Map>
    (Updatable) The list of headers.

    DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersItem, DeploymentSpecificationRouteRequestPoliciesHeaderTransformationsSetHeadersItemArgs

    Name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    Values List<string>
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    IfExists string
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    Name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    Values []string
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    IfExists string
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name String
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    values List<String>
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    ifExists String
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    values string[]
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    ifExists string
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name str
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    values Sequence[str]
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    if_exists str
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name String
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    values List<String>
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    ifExists String
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.

    DeploymentSpecificationRouteRequestPoliciesHeaderValidations, DeploymentSpecificationRouteRequestPoliciesHeaderValidationsArgs

    Headers List<DeploymentSpecificationRouteRequestPoliciesHeaderValidationsHeader>
    (Updatable)
    ValidationMode string

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    Headers []DeploymentSpecificationRouteRequestPoliciesHeaderValidationsHeader
    (Updatable)
    ValidationMode string

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    headers List<DeploymentSpecificationRouteRequestPoliciesHeaderValidationsHeader>
    (Updatable)
    validationMode String

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    headers DeploymentSpecificationRouteRequestPoliciesHeaderValidationsHeader[]
    (Updatable)
    validationMode string

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    headers Sequence[apigateway.DeploymentSpecificationRouteRequestPoliciesHeaderValidationsHeader]
    (Updatable)
    validation_mode str

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    headers List<Property Map>
    (Updatable)
    validationMode String

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    DeploymentSpecificationRouteRequestPoliciesHeaderValidationsHeader, DeploymentSpecificationRouteRequestPoliciesHeaderValidationsHeaderArgs

    Name string
    (Updatable) Parameter name.
    Required bool
    (Updatable) Determines if the header is required in the request.
    Name string
    (Updatable) Parameter name.
    Required bool
    (Updatable) Determines if the header is required in the request.
    name String
    (Updatable) Parameter name.
    required Boolean
    (Updatable) Determines if the header is required in the request.
    name string
    (Updatable) Parameter name.
    required boolean
    (Updatable) Determines if the header is required in the request.
    name str
    (Updatable) Parameter name.
    required bool
    (Updatable) Determines if the header is required in the request.
    name String
    (Updatable) Parameter name.
    required Boolean
    (Updatable) Determines if the header is required in the request.

    DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformations, DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsArgs

    FilterQueryParameters DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParameters
    (Updatable) Filter parameters from the query string as they pass through the gateway. The gateway applies filters after other transformations, so any parameters set or renamed must also be listed here when using an ALLOW type policy.
    RenameQueryParameters DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParameters
    (Updatable) Rename parameters on the query string as they pass through the gateway.
    SetQueryParameters DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParameters
    (Updatable) Set parameters on the query string as they pass through the gateway.
    FilterQueryParameters DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParameters
    (Updatable) Filter parameters from the query string as they pass through the gateway. The gateway applies filters after other transformations, so any parameters set or renamed must also be listed here when using an ALLOW type policy.
    RenameQueryParameters DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParameters
    (Updatable) Rename parameters on the query string as they pass through the gateway.
    SetQueryParameters DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParameters
    (Updatable) Set parameters on the query string as they pass through the gateway.
    filterQueryParameters DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParameters
    (Updatable) Filter parameters from the query string as they pass through the gateway. The gateway applies filters after other transformations, so any parameters set or renamed must also be listed here when using an ALLOW type policy.
    renameQueryParameters DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParameters
    (Updatable) Rename parameters on the query string as they pass through the gateway.
    setQueryParameters DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParameters
    (Updatable) Set parameters on the query string as they pass through the gateway.
    filterQueryParameters DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParameters
    (Updatable) Filter parameters from the query string as they pass through the gateway. The gateway applies filters after other transformations, so any parameters set or renamed must also be listed here when using an ALLOW type policy.
    renameQueryParameters DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParameters
    (Updatable) Rename parameters on the query string as they pass through the gateway.
    setQueryParameters DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParameters
    (Updatable) Set parameters on the query string as they pass through the gateway.
    filter_query_parameters apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParameters
    (Updatable) Filter parameters from the query string as they pass through the gateway. The gateway applies filters after other transformations, so any parameters set or renamed must also be listed here when using an ALLOW type policy.
    rename_query_parameters apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParameters
    (Updatable) Rename parameters on the query string as they pass through the gateway.
    set_query_parameters apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParameters
    (Updatable) Set parameters on the query string as they pass through the gateway.
    filterQueryParameters Property Map
    (Updatable) Filter parameters from the query string as they pass through the gateway. The gateway applies filters after other transformations, so any parameters set or renamed must also be listed here when using an ALLOW type policy.
    renameQueryParameters Property Map
    (Updatable) Rename parameters on the query string as they pass through the gateway.
    setQueryParameters Property Map
    (Updatable) Set parameters on the query string as they pass through the gateway.

    DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParameters, DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersArgs

    Items List<DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersItem>
    (Updatable) The list of query parameters.
    Type string
    (Updatable) BLOCK drops any query parameters that are in the list of items, so it acts as an exclusion list. ALLOW permits only the parameters in the list and removes all others, so it acts as an inclusion list.
    Items []DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersItem
    (Updatable) The list of query parameters.
    Type string
    (Updatable) BLOCK drops any query parameters that are in the list of items, so it acts as an exclusion list. ALLOW permits only the parameters in the list and removes all others, so it acts as an inclusion list.
    items List<DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersItem>
    (Updatable) The list of query parameters.
    type String
    (Updatable) BLOCK drops any query parameters that are in the list of items, so it acts as an exclusion list. ALLOW permits only the parameters in the list and removes all others, so it acts as an inclusion list.
    items DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersItem[]
    (Updatable) The list of query parameters.
    type string
    (Updatable) BLOCK drops any query parameters that are in the list of items, so it acts as an exclusion list. ALLOW permits only the parameters in the list and removes all others, so it acts as an inclusion list.
    items Sequence[apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersItem]
    (Updatable) The list of query parameters.
    type str
    (Updatable) BLOCK drops any query parameters that are in the list of items, so it acts as an exclusion list. ALLOW permits only the parameters in the list and removes all others, so it acts as an inclusion list.
    items List<Property Map>
    (Updatable) The list of query parameters.
    type String
    (Updatable) BLOCK drops any query parameters that are in the list of items, so it acts as an exclusion list. ALLOW permits only the parameters in the list and removes all others, so it acts as an inclusion list.

    DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersItem, DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsFilterQueryParametersItemArgs

    Name string
    (Updatable) The case-sensitive name of the query parameter.
    Name string
    (Updatable) The case-sensitive name of the query parameter.
    name String
    (Updatable) The case-sensitive name of the query parameter.
    name string
    (Updatable) The case-sensitive name of the query parameter.
    name str
    (Updatable) The case-sensitive name of the query parameter.
    name String
    (Updatable) The case-sensitive name of the query parameter.

    DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParameters, DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersArgs

    items List<Property Map>
    (Updatable) The list of query parameters.

    DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersItem, DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsRenameQueryParametersItemArgs

    From string
    (Updatable) The original case-sensitive name of the query parameter. This name must be unique across transformation policies.
    To string
    (Updatable) The new name of the query parameter. This name must be unique across transformation policies.
    From string
    (Updatable) The original case-sensitive name of the query parameter. This name must be unique across transformation policies.
    To string
    (Updatable) The new name of the query parameter. This name must be unique across transformation policies.
    from String
    (Updatable) The original case-sensitive name of the query parameter. This name must be unique across transformation policies.
    to String
    (Updatable) The new name of the query parameter. This name must be unique across transformation policies.
    from string
    (Updatable) The original case-sensitive name of the query parameter. This name must be unique across transformation policies.
    to string
    (Updatable) The new name of the query parameter. This name must be unique across transformation policies.
    from_ str
    (Updatable) The original case-sensitive name of the query parameter. This name must be unique across transformation policies.
    to str
    (Updatable) The new name of the query parameter. This name must be unique across transformation policies.
    from String
    (Updatable) The original case-sensitive name of the query parameter. This name must be unique across transformation policies.
    to String
    (Updatable) The new name of the query parameter. This name must be unique across transformation policies.

    DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParameters, DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersArgs

    items List<Property Map>
    (Updatable) The list of query parameters.

    DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersItem, DeploymentSpecificationRouteRequestPoliciesQueryParameterTransformationsSetQueryParametersItemArgs

    Name string
    (Updatable) The case-sensitive name of the query parameter. This name must be unique across transformation policies.
    Values List<string>
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    IfExists string
    (Updatable) If a query parameter with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    Name string
    (Updatable) The case-sensitive name of the query parameter. This name must be unique across transformation policies.
    Values []string
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    IfExists string
    (Updatable) If a query parameter with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name String
    (Updatable) The case-sensitive name of the query parameter. This name must be unique across transformation policies.
    values List<String>
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    ifExists String
    (Updatable) If a query parameter with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name string
    (Updatable) The case-sensitive name of the query parameter. This name must be unique across transformation policies.
    values string[]
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    ifExists string
    (Updatable) If a query parameter with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name str
    (Updatable) The case-sensitive name of the query parameter. This name must be unique across transformation policies.
    values Sequence[str]
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    if_exists str
    (Updatable) If a query parameter with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name String
    (Updatable) The case-sensitive name of the query parameter. This name must be unique across transformation policies.
    values List<String>
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    ifExists String
    (Updatable) If a query parameter with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.

    DeploymentSpecificationRouteRequestPoliciesQueryParameterValidations, DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsArgs

    Parameters List<DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsParameter>
    (Updatable)
    ValidationMode string

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    Parameters []DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsParameter
    (Updatable)
    ValidationMode string

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    parameters List<DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsParameter>
    (Updatable)
    validationMode String

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    parameters DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsParameter[]
    (Updatable)
    validationMode string

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    parameters Sequence[apigateway.DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsParameter]
    (Updatable)
    validation_mode str

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    parameters List<Property Map>
    (Updatable)
    validationMode String

    (Updatable) Validation behavior mode.

    In ENFORCING mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.

    In PERMISSIVE mode, the result of the validation will be exposed as metrics while the request will follow the normal path.

    DISABLED type turns the validation off.

    DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsParameter, DeploymentSpecificationRouteRequestPoliciesQueryParameterValidationsParameterArgs

    Name string
    (Updatable) Parameter name.
    Required bool
    (Updatable) Determines if the parameter is required in the request.
    Name string
    (Updatable) Parameter name.
    Required bool
    (Updatable) Determines if the parameter is required in the request.
    name String
    (Updatable) Parameter name.
    required Boolean
    (Updatable) Determines if the parameter is required in the request.
    name string
    (Updatable) Parameter name.
    required boolean
    (Updatable) Determines if the parameter is required in the request.
    name str
    (Updatable) Parameter name.
    required bool
    (Updatable) Determines if the parameter is required in the request.
    name String
    (Updatable) Parameter name.
    required Boolean
    (Updatable) Determines if the parameter is required in the request.

    DeploymentSpecificationRouteRequestPoliciesResponseCacheLookup, DeploymentSpecificationRouteRequestPoliciesResponseCacheLookupArgs

    Type string
    (Updatable) Type of the Response Cache Store Policy.
    CacheKeyAdditions List<string>
    (Updatable) A list of context expressions whose values will be added to the base cache key. Values should contain an expression enclosed within ${} delimiters. Only the request context is available.
    IsEnabled bool
    (Updatable) Whether this policy is currently enabled.
    IsPrivateCachingEnabled bool

    (Updatable) Set true to allow caching responses where the request has an Authorization header. Ensure you have configured your cache key additions to get the level of isolation across authenticated requests that you require.

    When false, any request with an Authorization header will not be stored in the Response Cache.

    If using the CustomAuthenticationPolicy then the tokenHeader/tokenQueryParam are also subject to this check.

    Type string
    (Updatable) Type of the Response Cache Store Policy.
    CacheKeyAdditions []string
    (Updatable) A list of context expressions whose values will be added to the base cache key. Values should contain an expression enclosed within ${} delimiters. Only the request context is available.
    IsEnabled bool
    (Updatable) Whether this policy is currently enabled.
    IsPrivateCachingEnabled bool

    (Updatable) Set true to allow caching responses where the request has an Authorization header. Ensure you have configured your cache key additions to get the level of isolation across authenticated requests that you require.

    When false, any request with an Authorization header will not be stored in the Response Cache.

    If using the CustomAuthenticationPolicy then the tokenHeader/tokenQueryParam are also subject to this check.

    type String
    (Updatable) Type of the Response Cache Store Policy.
    cacheKeyAdditions List<String>
    (Updatable) A list of context expressions whose values will be added to the base cache key. Values should contain an expression enclosed within ${} delimiters. Only the request context is available.
    isEnabled Boolean
    (Updatable) Whether this policy is currently enabled.
    isPrivateCachingEnabled Boolean

    (Updatable) Set true to allow caching responses where the request has an Authorization header. Ensure you have configured your cache key additions to get the level of isolation across authenticated requests that you require.

    When false, any request with an Authorization header will not be stored in the Response Cache.

    If using the CustomAuthenticationPolicy then the tokenHeader/tokenQueryParam are also subject to this check.

    type string
    (Updatable) Type of the Response Cache Store Policy.
    cacheKeyAdditions string[]
    (Updatable) A list of context expressions whose values will be added to the base cache key. Values should contain an expression enclosed within ${} delimiters. Only the request context is available.
    isEnabled boolean
    (Updatable) Whether this policy is currently enabled.
    isPrivateCachingEnabled boolean

    (Updatable) Set true to allow caching responses where the request has an Authorization header. Ensure you have configured your cache key additions to get the level of isolation across authenticated requests that you require.

    When false, any request with an Authorization header will not be stored in the Response Cache.

    If using the CustomAuthenticationPolicy then the tokenHeader/tokenQueryParam are also subject to this check.

    type str
    (Updatable) Type of the Response Cache Store Policy.
    cache_key_additions Sequence[str]
    (Updatable) A list of context expressions whose values will be added to the base cache key. Values should contain an expression enclosed within ${} delimiters. Only the request context is available.
    is_enabled bool
    (Updatable) Whether this policy is currently enabled.
    is_private_caching_enabled bool

    (Updatable) Set true to allow caching responses where the request has an Authorization header. Ensure you have configured your cache key additions to get the level of isolation across authenticated requests that you require.

    When false, any request with an Authorization header will not be stored in the Response Cache.

    If using the CustomAuthenticationPolicy then the tokenHeader/tokenQueryParam are also subject to this check.

    type String
    (Updatable) Type of the Response Cache Store Policy.
    cacheKeyAdditions List<String>
    (Updatable) A list of context expressions whose values will be added to the base cache key. Values should contain an expression enclosed within ${} delimiters. Only the request context is available.
    isEnabled Boolean
    (Updatable) Whether this policy is currently enabled.
    isPrivateCachingEnabled Boolean

    (Updatable) Set true to allow caching responses where the request has an Authorization header. Ensure you have configured your cache key additions to get the level of isolation across authenticated requests that you require.

    When false, any request with an Authorization header will not be stored in the Response Cache.

    If using the CustomAuthenticationPolicy then the tokenHeader/tokenQueryParam are also subject to this check.

    DeploymentSpecificationRouteResponsePolicies, DeploymentSpecificationRouteResponsePoliciesArgs

    HeaderTransformations DeploymentSpecificationRouteResponsePoliciesHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    ResponseCacheStore DeploymentSpecificationRouteResponsePoliciesResponseCacheStore
    (Updatable) Base policy for how a response from a backend is cached in the Response Cache.
    HeaderTransformations DeploymentSpecificationRouteResponsePoliciesHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    ResponseCacheStore DeploymentSpecificationRouteResponsePoliciesResponseCacheStore
    (Updatable) Base policy for how a response from a backend is cached in the Response Cache.
    headerTransformations DeploymentSpecificationRouteResponsePoliciesHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    responseCacheStore DeploymentSpecificationRouteResponsePoliciesResponseCacheStore
    (Updatable) Base policy for how a response from a backend is cached in the Response Cache.
    headerTransformations DeploymentSpecificationRouteResponsePoliciesHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    responseCacheStore DeploymentSpecificationRouteResponsePoliciesResponseCacheStore
    (Updatable) Base policy for how a response from a backend is cached in the Response Cache.
    header_transformations apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformations
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    response_cache_store apigateway.DeploymentSpecificationRouteResponsePoliciesResponseCacheStore
    (Updatable) Base policy for how a response from a backend is cached in the Response Cache.
    headerTransformations Property Map
    (Updatable) A set of transformations to apply to HTTP headers that pass through the gateway.
    responseCacheStore Property Map
    (Updatable) Base policy for how a response from a backend is cached in the Response Cache.

    DeploymentSpecificationRouteResponsePoliciesHeaderTransformations, DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsArgs

    FilterHeaders DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    RenameHeaders DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    SetHeaders DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    FilterHeaders DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    RenameHeaders DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    SetHeaders DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    filterHeaders DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    renameHeaders DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    setHeaders DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    filterHeaders DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    renameHeaders DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    setHeaders DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    filter_headers apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeaders
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    rename_headers apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeaders
    (Updatable) Rename HTTP headers as they pass through the gateway.
    set_headers apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeaders
    (Updatable) Set HTTP headers as they pass through the gateway.
    filterHeaders Property Map
    (Updatable) Filter HTTP headers as they pass through the gateway. The gateway applies filters after other transformations, so any headers set or renamed must also be listed here when using an ALLOW type policy.
    renameHeaders Property Map
    (Updatable) Rename HTTP headers as they pass through the gateway.
    setHeaders Property Map
    (Updatable) Set HTTP headers as they pass through the gateway.

    DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeaders, DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersArgs

    Items List<DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersItem>
    (Updatable) The list of headers.
    Type string
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    Items []DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersItem
    (Updatable) The list of headers.
    Type string
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    items List<DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersItem>
    (Updatable) The list of headers.
    type String
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    items DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersItem[]
    (Updatable) The list of headers.
    type string
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    items Sequence[apigateway.DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersItem]
    (Updatable) The list of headers.
    type str
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
    items List<Property Map>
    (Updatable) The list of headers.
    type String
    (Updatable) BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.

    DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersItem, DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsFilterHeadersItemArgs

    Name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    Name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    name String
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    name str
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    name String
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.

    DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeaders, DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersArgs

    items List<Property Map>
    (Updatable) The list of headers.

    DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersItem, DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsRenameHeadersItemArgs

    From string
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    To string
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    From string
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    To string
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    from String
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    to String
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    from string
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    to string
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    from_ str
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    to str
    (Updatable) The new name of the header. This name must be unique across transformation policies.
    from String
    (Updatable) The original case-insensitive name of the header. This name must be unique across transformation policies.
    to String
    (Updatable) The new name of the header. This name must be unique across transformation policies.

    DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeaders, DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersArgs

    items List<Property Map>
    (Updatable) The list of headers.

    DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersItem, DeploymentSpecificationRouteResponsePoliciesHeaderTransformationsSetHeadersItemArgs

    Name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    Values List<string>
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    IfExists string
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    Name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    Values []string
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    IfExists string
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name String
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    values List<String>
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    ifExists String
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name string
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    values string[]
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    ifExists string
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name str
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    values Sequence[str]
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    if_exists str
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
    name String
    (Updatable) The case-insensitive name of the header. This name must be unique across transformation policies.
    values List<String>
    (Updatable) A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
    ifExists String
    (Updatable) If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.

    DeploymentSpecificationRouteResponsePoliciesResponseCacheStore, DeploymentSpecificationRouteResponsePoliciesResponseCacheStoreArgs

    TimeToLiveInSeconds int
    (Updatable) Sets the number of seconds for a response from a backend being stored in the Response Cache before it expires.
    Type string

    (Updatable) Type of the Response Cache Store Policy.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    TimeToLiveInSeconds int
    (Updatable) Sets the number of seconds for a response from a backend being stored in the Response Cache before it expires.
    Type string

    (Updatable) Type of the Response Cache Store Policy.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    timeToLiveInSeconds Integer
    (Updatable) Sets the number of seconds for a response from a backend being stored in the Response Cache before it expires.
    type String

    (Updatable) Type of the Response Cache Store Policy.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    timeToLiveInSeconds number
    (Updatable) Sets the number of seconds for a response from a backend being stored in the Response Cache before it expires.
    type string

    (Updatable) Type of the Response Cache Store Policy.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    time_to_live_in_seconds int
    (Updatable) Sets the number of seconds for a response from a backend being stored in the Response Cache before it expires.
    type str

    (Updatable) Type of the Response Cache Store Policy.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    timeToLiveInSeconds Number
    (Updatable) Sets the number of seconds for a response from a backend being stored in the Response Cache before it expires.
    type String

    (Updatable) Type of the Response Cache Store Policy.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    Import

    Deployments can be imported using the id, e.g.

    $ pulumi import oci:ApiGateway/deployment:Deployment test_deployment "id"
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    oci pulumi/pulumi-oci
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the oci Terraform Provider.
    oci logo
    Oracle Cloud Infrastructure v2.17.0 published on Friday, Nov 15, 2024 by Pulumi