// 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 mediaservices from "oci-mediaservices";
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 mediaservices.MediaServicesClient({ authenticationDetailsProvider: provider });

     // Create a request and dependent object(s).
	const  updateStreamCdnConfigDetails = {
		displayName: "EXAMPLE-displayName-Value",
		isEnabled: true,
		config: {
			type: "AKAMAI_MANUAL",			originAuthSignType: mediaservices.models.AkamaiManualStreamCdnConfig.OriginAuthSignType.ForwardUrl,
			originAuthSignEncryption: mediaservices.models.AkamaiManualStreamCdnConfig.OriginAuthSignEncryption.Sha256Hmac,
			originAuthSecretKeyA: "EXAMPLE-originAuthSecretKeyA-Value",
			originAuthSecretKeyNonceA: "EXAMPLE-originAuthSecretKeyNonceA-Value",
			originAuthSecretKeyB: "EXAMPLE-originAuthSecretKeyB-Value",
			originAuthSecretKeyNonceB: "EXAMPLE-originAuthSecretKeyNonceB-Value",
			edgeHostname: "EXAMPLE-edgeHostname-Value",
			edgePathPrefix: "EXAMPLE-edgePathPrefix-Value",
			isEdgeTokenAuth: true,
			edgeTokenKey: "EXAMPLE-edgeTokenKey-Value",
			edgeTokenSalt: "EXAMPLE-edgeTokenSalt-Value"

			}
,
		freeformTags: {
			EXAMPLE_KEY_FEQBK :"EXAMPLE_VALUE_WwxTDFhG70zvpMMWaNJ4"
			},
		definedTags: {
			EXAMPLE_KEY_YPNsp :{
				EXAMPLE_KEY_eyBHx :"EXAMPLE--Value"
				}
			},

		}

	const updateStreamCdnConfigRequest: mediaservices.requests.UpdateStreamCdnConfigRequest = { 
	streamCdnConfigId: "ocid1.test.oc1..<unique_ID>EXAMPLE-streamCdnConfigId-Value",
	updateStreamCdnConfigDetails: updateStreamCdnConfigDetails,
	isLockOverride: false,
	ifMatch: "EXAMPLE-ifMatch-Value",
	opcRequestId: "YWC03XZ3ZFXW11FUBOAD<unique_ID>",

		}; 


     // Send request to the Client.
     const updateStreamCdnConfigResponse = await client.updateStreamCdnConfig(updateStreamCdnConfigRequest);
     }
     catch (error) {
         console.log("updateStreamCdnConfig Failed with error  " + error);
     }
})();