// This is an automatically generated code sample.
// To make this code sample work in your Oracle Cloud tenancy,
// please replace the values for any parameters whose current values do not fit
// your use case (such as resource IDs, strings containing ‘EXAMPLE’ or ‘unique_id’, and
// boolean, number, and enum parameters with values not fitting your use case).
import * as apigateway from "oci-apigateway";
import common = require("oci-common");
// Create a default authentication provider that uses the DEFAULT
// profile in the configuration file.
// Refer to <see href="https://docs.cloud.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm#SDK_and_CLI_Configuration_File>the public documentation</see> on how to prepare a configuration file.
const provider: common.ConfigFileAuthenticationDetailsProvider = new common.ConfigFileAuthenticationDetailsProvider();
(async () => {
try {
// Create a service client
const client = new apigateway.DeploymentClient({ authenticationDetailsProvider: provider });
// Create a request and dependent object(s).
const updateDeploymentDetails = {
displayName: "EXAMPLE-displayName-Value",
specification: {
requestPolicies: {
authentication: {
type: "CUSTOM_AUTHENTICATION",
functionId: "ocid1.test.oc1..<unique_ID>EXAMPLE-functionId-Value",
tokenHeader: "EXAMPLE-tokenHeader-Value",
tokenQueryParam: "EXAMPLE-tokenQueryParam-Value",
parameters: {
EXAMPLE_KEY_XKsUI: "EXAMPLE_VALUE_yZP8zqYqrAG3ijNvhaSJ"
},
cacheKey: ["EXAMPLE--Value"],
validationFailurePolicy: {
type: "MODIFY_RESPONSE",
responseCode: "EXAMPLE-responseCode-Value",
responseMessage: "EXAMPLE-responseMessage-Value",
responseHeaderTransformations: {
setHeaders: {
items: [
{
name: "EXAMPLE-name-Value",
values: ["EXAMPLE--Value"],
ifExists: apigateway.models.SetHeaderPolicyItem.IfExists.Skip
}
]
},
renameHeaders: {
items: [
{
from: "EXAMPLE-from-Value",
to: "EXAMPLE-to-Value"
}
]
},
filterHeaders: {
type: apigateway.models.FilterHeaderPolicy.Type.Allow,
items: [
{
name: "EXAMPLE-name-Value"
}
]
}
}
},
isAnonymousAccessAllowed: false
},
rateLimiting: {
rateInRequestsPerSecond: 477,
rateKey: apigateway.models.RateLimitingPolicy.RateKey.ClientIp
},
cors: {
allowedOrigins: ["EXAMPLE--Value"],
allowedMethods: ["EXAMPLE--Value"],
allowedHeaders: ["EXAMPLE--Value"],
exposedHeaders: ["EXAMPLE--Value"],
isAllowCredentialsEnabled: false,
maxAgeInSeconds: 371
},
mutualTls: {
isVerifiedCertificateRequired: false,
allowedSans: ["EXAMPLE--Value"]
},
usagePlans: {
tokenLocations: ["EXAMPLE--Value"]
},
dynamicAuthentication: {
selectionSource: {
type: "SINGLE",
selector: "EXAMPLE-selector-Value"
},
authenticationServers: [
{
key: {
type: "ANY_OF",
values: ["EXAMPLE--Value"],
isDefault: false,
name: "EXAMPLE-name-Value"
},
authenticationServerDetail: {
type: "JWT_AUTHENTICATION",
tokenHeader: "EXAMPLE-tokenHeader-Value",
tokenQueryParam: "EXAMPLE-tokenQueryParam-Value",
tokenAuthScheme: "EXAMPLE-tokenAuthScheme-Value",
maxClockSkewInSeconds: 45.692345,
issuers: ["EXAMPLE--Value"],
audiences: ["EXAMPLE--Value"],
verifyClaims: [
{
key: "EXAMPLE-key-Value",
values: ["EXAMPLE--Value"],
isRequired: true
}
],
publicKeys: {
type: "REMOTE_JWKS",
uri: "EXAMPLE-uri-Value",
isSslVerifyDisabled: true,
maxCacheDurationInHours: 10
},
isAnonymousAccessAllowed: true
}
}
]
}
},
loggingPolicies: {
accessLog: {
isEnabled: true
},
executionLog: {
isEnabled: false,
logLevel: apigateway.models.ExecutionLogPolicy.LogLevel.Error
}
},
routes: [
{
path: "EXAMPLE-path-Value",
methods: [apigateway.models.ApiSpecificationRoute.Methods.Patch],
requestPolicies: {
authorization: {
type: "AUTHENTICATION_ONLY"
},
cors: {
allowedOrigins: ["EXAMPLE--Value"],
allowedMethods: ["EXAMPLE--Value"],
allowedHeaders: ["EXAMPLE--Value"],
exposedHeaders: ["EXAMPLE--Value"],
isAllowCredentialsEnabled: true,
maxAgeInSeconds: 134
},
queryParameterValidations: {
parameters: [
{
required: true,
name: "EXAMPLE-name-Value"
}
],
validationMode:
apigateway.models.QueryParameterValidationRequestPolicy.ValidationMode.Enforcing
},
headerValidations: {
headers: [
{
required: false,
name: "EXAMPLE-name-Value"
}
],
validationMode:
apigateway.models.HeaderValidationRequestPolicy.ValidationMode.Permissive
},
bodyValidation: {
required: false,
content: {
EXAMPLE_KEY_HfyK9: {
validationType: "NONE"
}
},
validationMode:
apigateway.models.BodyValidationRequestPolicy.ValidationMode.Disabled
},
headerTransformations: {
setHeaders: {
items: [
{
name: "EXAMPLE-name-Value",
values: ["EXAMPLE--Value"],
ifExists: apigateway.models.SetHeaderPolicyItem.IfExists.Overwrite
}
]
},
renameHeaders: {
items: [
{
from: "EXAMPLE-from-Value",
to: "EXAMPLE-to-Value"
}
]
},
filterHeaders: {
type: apigateway.models.FilterHeaderPolicy.Type.Block,
items: [
{
name: "EXAMPLE-name-Value"
}
]
}
},
queryParameterTransformations: {
setQueryParameters: {
items: [
{
name: "EXAMPLE-name-Value",
values: ["EXAMPLE--Value"],
ifExists: apigateway.models.SetQueryParameterPolicyItem.IfExists.Overwrite
}
]
},
renameQueryParameters: {
items: [
{
from: "EXAMPLE-from-Value",
to: "EXAMPLE-to-Value"
}
]
},
filterQueryParameters: {
type: apigateway.models.FilterQueryParameterPolicy.Type.Allow,
items: [
{
name: "EXAMPLE-name-Value"
}
]
}
},
responseCacheLookup: {
type: "SIMPLE_LOOKUP_POLICY",
cacheKeyAdditions: ["EXAMPLE--Value"],
isEnabled: true,
isPrivateCachingEnabled: true
}
},
responsePolicies: {
headerTransformations: {
setHeaders: {
items: [
{
name: "EXAMPLE-name-Value",
values: ["EXAMPLE--Value"],
ifExists: apigateway.models.SetHeaderPolicyItem.IfExists.Append
}
]
},
renameHeaders: {
items: [
{
from: "EXAMPLE-from-Value",
to: "EXAMPLE-to-Value"
}
]
},
filterHeaders: {
type: apigateway.models.FilterHeaderPolicy.Type.Block,
items: [
{
name: "EXAMPLE-name-Value"
}
]
}
},
responseCacheStore: {
type: "FIXED_TTL_STORE_POLICY",
timeToLiveInSeconds: 592
}
},
loggingPolicies: {
accessLog: {
isEnabled: true
},
executionLog: {
isEnabled: false,
logLevel: apigateway.models.ExecutionLogPolicy.LogLevel.Warn
}
},
backend: {
type: "DYNAMIC_ROUTING_BACKEND",
selectionSource: {
type: "SINGLE",
selector: "EXAMPLE-selector-Value"
},
routingBackends: [
{
key: {
type: "WILDCARD",
expression: "EXAMPLE-expression-Value",
isDefault: false,
name: "EXAMPLE-name-Value"
}
}
]
}
}
]
},
freeformTags: {
EXAMPLE_KEY_ebgg4: "EXAMPLE_VALUE_U2qE62Tkba41BauppB8k"
},
definedTags: {
EXAMPLE_KEY_fwDWo: {
EXAMPLE_KEY_TbY12: "EXAMPLE--Value"
}
}
};
const updateDeploymentRequest: apigateway.requests.UpdateDeploymentRequest = {
deploymentId: "ocid1.test.oc1..<unique_ID>EXAMPLE-deploymentId-Value",
updateDeploymentDetails: updateDeploymentDetails,
ifMatch: "EXAMPLE-ifMatch-Value",
opcRequestId: "6I33LMCP3W7FXZKOA3MB<unique_ID>"
};
// Send request to the Client.
const updateDeploymentResponse = await client.updateDeployment(updateDeploymentRequest);
} catch (error) {
console.log("updateDeployment Failed with error " + error);
}
})();