import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Deployment resource in Oracle Cloud Infrastructure API Gateway service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/api-gateway/latest/Deployment * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/api_gateway * * Creates a new deployment. * * ## Example Usage * * ```typescript * 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 === "true", * }, * executionLog: { * isEnabled: deploymentSpecificationLoggingPoliciesExecutionLogIsEnabled === "true", * logLevel: deploymentSpecificationLoggingPoliciesExecutionLogLogLevel, * }, * }, * requestPolicies: { * authentication: { * type: deploymentSpecificationRequestPoliciesAuthenticationType, * audiences: deploymentSpecificationRequestPoliciesAuthenticationAudiences, * cacheKeys: deploymentSpecificationRequestPoliciesAuthenticationCacheKey, * functionId: testFunction.id, * isAnonymousAccessAllowed: deploymentSpecificationRequestPoliciesAuthenticationIsAnonymousAccessAllowed === "true", * issuers: deploymentSpecificationRequestPoliciesAuthenticationIssuers, * maxClockSkewInSeconds: deploymentSpecificationRequestPoliciesAuthenticationMaxClockSkewInSeconds, * parameters: deploymentSpecificationRequestPoliciesAuthenticationParameters, * publicKeys: { * type: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysType, * isSslVerifyDisabled: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysIsSslVerifyDisabled === "true", * keys: [{ * format: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysFormat, * alg: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysAlg, * e: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysE, * key: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKey, * keyOps: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKeyOps, * kid: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKid, * kty: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysKty, * n: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysN, * use: deploymentSpecificationRequestPoliciesAuthenticationPublicKeysKeysUse, * }], * maxCacheDurationInHours: Number(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, * loginPath: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyLoginPath, * logoutPath: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyLogoutPath, * maxExpiryDurationInHours: Number(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 === "true", * useCookiesForSession: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUseCookiesForSession === "true", * usePkce: deploymentSpecificationRequestPoliciesAuthenticationValidationFailurePolicyUsePkce === "true", * }, * validationPolicy: { * type: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyType, * additionalValidationPolicy: { * audiences: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyAudiences, * issuers: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyIssuers, * verifyClaims: [{ * isRequired: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsIsRequired === "true", * key: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsKey, * values: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyAdditionalValidationPolicyVerifyClaimsValues, * }], * }, * clientDetails: { * type: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsType, * clientId: testClient.id, * clientSecretId: testSecret.id, * clientSecretVersionNumber: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyClientDetailsClientSecretVersionNumber, * }, * isSslVerifyDisabled: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyIsSslVerifyDisabled === "true", * keys: [{ * format: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysFormat, * alg: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysAlg, * e: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysE, * key: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKey, * keyOps: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKeyOps, * kid: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKid, * kty: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysKty, * n: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysN, * use: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyKeysUse, * }], * maxCacheDurationInHours: Number(deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyMaxCacheDurationInHours), * sourceUriDetails: { * type: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsType, * uri: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicySourceUriDetailsUri, * }, * uri: deploymentSpecificationRequestPoliciesAuthenticationValidationPolicyUri, * }, * verifyClaims: [{ * isRequired: deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsIsRequired === "true", * key: deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsKey, * values: deploymentSpecificationRequestPoliciesAuthenticationVerifyClaimsValues, * }], * }, * cors: { * allowedOrigins: deploymentSpecificationRequestPoliciesCorsAllowedOrigins, * allowedHeaders: deploymentSpecificationRequestPoliciesCorsAllowedHeaders, * allowedMethods: deploymentSpecificationRequestPoliciesCorsAllowedMethods, * exposedHeaders: deploymentSpecificationRequestPoliciesCorsExposedHeaders, * isAllowCredentialsEnabled: deploymentSpecificationRequestPoliciesCorsIsAllowCredentialsEnabled === "true", * maxAgeInSeconds: Number(deploymentSpecificationRequestPoliciesCorsMaxAgeInSeconds), * }, * dynamicAuthentication: { * authenticationServers: [{ * authenticationServerDetail: { * type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailType, * audiences: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailAudiences, * functionId: testFunction.id, * isAnonymousAccessAllowed: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailIsAnonymousAccessAllowed === "true", * issuers: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailIssuers, * maxClockSkewInSeconds: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailMaxClockSkewInSeconds, * publicKeys: { * type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysType, * isSslVerifyDisabled: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysIsSslVerifyDisabled === "true", * keys: [{ * format: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysFormat, * alg: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysAlg, * e: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysE, * key: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKey, * keyOps: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKeyOps, * kid: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKid, * kty: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysKty, * n: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysN, * use: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailPublicKeysKeysUse, * }], * maxCacheDurationInHours: Number(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, * loginPath: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyLoginPath, * logoutPath: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyLogoutPath, * maxExpiryDurationInHours: Number(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 === "true", * useCookiesForSession: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUseCookiesForSession === "true", * usePkce: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationFailurePolicyUsePkce === "true", * }, * validationPolicy: { * type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyType, * additionalValidationPolicy: { * audiences: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyAudiences, * issuers: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyIssuers, * verifyClaims: [{ * isRequired: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsIsRequired === "true", * key: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsKey, * values: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyAdditionalValidationPolicyVerifyClaimsValues, * }], * }, * clientDetails: { * type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyClientDetailsType, * clientId: testClient.id, * clientSecretId: testSecret.id, * clientSecretVersionNumber: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyClientDetailsClientSecretVersionNumber, * }, * isSslVerifyDisabled: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyIsSslVerifyDisabled === "true", * keys: [{ * format: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysFormat, * alg: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysAlg, * e: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysE, * key: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKey, * keyOps: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKeyOps, * kid: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKid, * kty: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysKty, * n: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysN, * use: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyKeysUse, * }], * maxCacheDurationInHours: Number(deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyMaxCacheDurationInHours), * sourceUriDetails: { * type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicySourceUriDetailsType, * uri: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicySourceUriDetailsUri, * }, * uri: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailValidationPolicyUri, * }, * verifyClaims: [{ * isRequired: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsIsRequired === "true", * key: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsKey, * values: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersAuthenticationServerDetailVerifyClaimsValues, * }], * }, * key: { * name: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyName, * expression: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyExpression, * isDefault: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyIsDefault === "true", * type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyType, * values: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyValues, * }, * }], * selectionSource: { * selector: deploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceSelector, * type: deploymentSpecificationRequestPoliciesDynamicAuthenticationSelectionSourceType, * }, * }, * mutualTls: { * allowedSans: deploymentSpecificationRequestPoliciesMutualTlsAllowedSans, * isVerifiedCertificateRequired: deploymentSpecificationRequestPoliciesMutualTlsIsVerifiedCertificateRequired === "true", * }, * rateLimiting: { * rateInRequestsPerSecond: Number(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 === "true", * postLogoutState: deploymentSpecificationRoutesBackendPostLogoutState, * readTimeoutInSeconds: deploymentSpecificationRoutesBackendReadTimeoutInSeconds, * routingBackends: [{ * backend: { * type: deploymentSpecificationRoutesBackendRoutingBackendsBackendType, * body: deploymentSpecificationRoutesBackendRoutingBackendsBackendBody, * connectTimeoutInSeconds: deploymentSpecificationRoutesBackendRoutingBackendsBackendConnectTimeoutInSeconds, * functionId: testFunction.id, * headers: [{ * name: deploymentSpecificationRoutesBackendRoutingBackendsBackendHeadersName, * value: deploymentSpecificationRoutesBackendRoutingBackendsBackendHeadersValue, * }], * isSslVerifyDisabled: deploymentSpecificationRoutesBackendRoutingBackendsBackendIsSslVerifyDisabled === "true", * readTimeoutInSeconds: deploymentSpecificationRoutesBackendRoutingBackendsBackendReadTimeoutInSeconds, * sendTimeoutInSeconds: deploymentSpecificationRoutesBackendRoutingBackendsBackendSendTimeoutInSeconds, * status: Number(deploymentSpecificationRoutesBackendRoutingBackendsBackendStatus), * url: deploymentSpecificationRoutesBackendRoutingBackendsBackendUrl, * }, * key: { * name: deploymentSpecificationRoutesBackendRoutingBackendsKeyName, * type: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyType, * expression: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyExpression, * isDefault: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyIsDefault === "true", * values: deploymentSpecificationRequestPoliciesDynamicAuthenticationAuthenticationServersKeyValues, * }, * }], * selectionSource: { * selector: deploymentSpecificationRoutesBackendSelectionSourceSelector, * type: deploymentSpecificationRoutesBackendSelectionSourceType, * }, * sendTimeoutInSeconds: deploymentSpecificationRoutesBackendSendTimeoutInSeconds, * status: Number(deploymentSpecificationRoutesBackendStatus), * url: deploymentSpecificationRoutesBackendUrl, * }, * path: deploymentSpecificationRoutesPath, * loggingPolicies: { * accessLog: { * isEnabled: deploymentSpecificationRoutesLoggingPoliciesAccessLogIsEnabled === "true", * }, * executionLog: { * isEnabled: deploymentSpecificationRoutesLoggingPoliciesExecutionLogIsEnabled === "true", * logLevel: deploymentSpecificationRoutesLoggingPoliciesExecutionLogLogLevel, * }, * }, * methods: deploymentSpecificationRoutesMethods, * requestPolicies: { * authorization: { * allowedScopes: deploymentSpecificationRoutesRequestPoliciesAuthorizationAllowedScope, * type: deploymentSpecificationRoutesRequestPoliciesAuthorizationType, * }, * bodyValidation: { * contents: [{ * mediaType: deploymentSpecificationRoutesRequestPoliciesBodyValidationContentMediaType, * validationType: deploymentSpecificationRoutesRequestPoliciesBodyValidationContentValidationType, * }], * required: deploymentSpecificationRoutesRequestPoliciesBodyValidationRequired === "true", * validationMode: deploymentSpecificationRoutesRequestPoliciesBodyValidationValidationMode, * }, * cors: { * allowedOrigins: deploymentSpecificationRoutesRequestPoliciesCorsAllowedOrigins, * allowedHeaders: deploymentSpecificationRoutesRequestPoliciesCorsAllowedHeaders, * allowedMethods: deploymentSpecificationRoutesRequestPoliciesCorsAllowedMethods, * exposedHeaders: deploymentSpecificationRoutesRequestPoliciesCorsExposedHeaders, * isAllowCredentialsEnabled: deploymentSpecificationRoutesRequestPoliciesCorsIsAllowCredentialsEnabled === "true", * maxAgeInSeconds: Number(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 === "true", * }], * 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 === "true", * }], * validationMode: deploymentSpecificationRoutesRequestPoliciesQueryParameterValidationsValidationMode, * }, * responseCacheLookup: { * type: deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupType, * cacheKeyAdditions: deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupCacheKeyAdditions, * isEnabled: deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupIsEnabled === "true", * isPrivateCachingEnabled: deploymentSpecificationRoutesRequestPoliciesResponseCacheLookupIsPrivateCachingEnabled === "true", * }, * }, * responsePolicies: { * headerTransformations: { * filterHeaders: { * items: [{ * name: deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsFilterHeadersItemsName, * }], * type: deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsFilterHeadersType, * }, * renameHeaders: { * items: [{ * from: deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsRenameHeadersItemsFrom, * to: deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsRenameHeadersItemsTo, * }], * }, * setHeaders: { * items: [{ * name: deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsName, * values: deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsValues, * ifExists: deploymentSpecificationRoutesResponsePoliciesHeaderTransformationsSetHeadersItemsIfExists, * }], * }, * }, * responseCacheStore: { * timeToLiveInSeconds: Number(deploymentSpecificationRoutesResponsePoliciesResponseCacheStoreTimeToLiveInSeconds), * type: deploymentSpecificationRoutesResponsePoliciesResponseCacheStoreType, * }, * }, * }], * }, * definedTags: { * "Operations.CostCenter": "42", * }, * displayName: deploymentDisplayName, * freeformTags: { * Department: "Finance", * }, * locks: [{ * type: deploymentLocksType, * message: deploymentLocksMessage, * }], * }); * ``` * * ## Import * * Deployments can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:ApiGateway/deployment:Deployment test_deployment "id" * ``` */ export declare class Deployment extends pulumi.CustomResource { /** * Get an existing Deployment resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: DeploymentState, opts?: pulumi.CustomResourceOptions): Deployment; /** * Returns true if the given object is an instance of Deployment. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Deployment; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which the resource is created. */ readonly compartmentId: pulumi.Output; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` */ readonly definedTags: pulumi.Output<{ [key: string]: string; }>; /** * (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. Example: `My new resource` */ readonly displayName: pulumi.Output; /** * The endpoint to access this deployment on the gateway. */ readonly endpoint: pulumi.Output; /** * (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](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ readonly freeformTags: pulumi.Output<{ [key: string]: string; }>; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the resource. */ readonly gatewayId: pulumi.Output; readonly isLockOverride: pulumi.Output; /** * 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. */ readonly lifecycleDetails: pulumi.Output; /** * Locks associated with this resource. */ readonly locks: pulumi.Output; /** * 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](https://docs.cloud.oracle.com/iaas/Content/APIGateway/Tasks/apigatewaycreatingdeployment.htm). */ readonly pathPrefix: pulumi.Output; /** * (Updatable) The logical configuration of the API exposed by a deployment. */ readonly specification: pulumi.Output; /** * The current state of the deployment. */ readonly state: pulumi.Output; /** * System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}` */ readonly systemTags: pulumi.Output<{ [key: string]: string; }>; /** * The time this resource was created. An RFC3339 formatted datetime string. */ readonly timeCreated: pulumi.Output; /** * The time this resource was last updated. An RFC3339 formatted datetime string. */ readonly timeUpdated: pulumi.Output; /** * Create a Deployment resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: DeploymentArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Deployment resources. */ export interface DeploymentState { /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which the resource is created. */ compartmentId?: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. Example: `My new resource` */ displayName?: pulumi.Input; /** * The endpoint to access this deployment on the gateway. */ endpoint?: pulumi.Input; /** * (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](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the resource. */ gatewayId?: pulumi.Input; isLockOverride?: pulumi.Input; /** * 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. */ lifecycleDetails?: pulumi.Input; /** * Locks associated with this resource. */ locks?: pulumi.Input[] | undefined>; /** * 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](https://docs.cloud.oracle.com/iaas/Content/APIGateway/Tasks/apigatewaycreatingdeployment.htm). */ pathPrefix?: pulumi.Input; /** * (Updatable) The logical configuration of the API exposed by a deployment. */ specification?: pulumi.Input; /** * The current state of the deployment. */ state?: pulumi.Input; /** * System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}` */ systemTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The time this resource was created. An RFC3339 formatted datetime string. */ timeCreated?: pulumi.Input; /** * The time this resource was last updated. An RFC3339 formatted datetime string. */ timeUpdated?: pulumi.Input; } /** * The set of arguments for constructing a Deployment resource. */ export interface DeploymentArgs { /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which the resource is created. */ compartmentId: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. Example: `My new resource` */ displayName?: pulumi.Input; /** * (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](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the resource. */ gatewayId: pulumi.Input; isLockOverride?: pulumi.Input; /** * Locks associated with this resource. */ locks?: pulumi.Input[] | undefined>; /** * 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](https://docs.cloud.oracle.com/iaas/Content/APIGateway/Tasks/apigatewaycreatingdeployment.htm). */ pathPrefix: pulumi.Input; /** * (Updatable) The logical configuration of the API exposed by a deployment. */ specification: pulumi.Input; } //# sourceMappingURL=deployment.d.ts.map