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

     // Create a request and dependent object(s).
	const  updateAutonomousDatabaseDetails = {
		backupRetentionPeriodInDays: 3212,
		computeModel: database.models.UpdateAutonomousDatabaseDetails.ComputeModel.Ocpu,
		inMemoryPercentage: 855,
		localAdgAutoFailoverMaxDataLossLimit: 3030,
		cpuCoreCount: 101,
		longTermBackupSchedule: {
			repeatCadence: database.models.LongTermBackUpScheduleDetails.RepeatCadence.Monthly,
			timeOfBackup: new Date("Sun Sep 25 17:02:18 UTC 2039"),
			retentionPeriodInDays: 3410,
			isDisabled: false,

			}
,
		isDevTier: true,
		computeCount: 560.44653,
		ocpuCount: 1974.3217,
		dataStorageSizeInTBs: 98,
		dataStorageSizeInGBs: 94461,
		displayName: "EXAMPLE-displayName-Value",
		isFreeTier: true,
		adminPassword: "EXAMPLE-adminPassword-Value",
		dbName: "EXAMPLE-dbName-Value",
		freeformTags: {
			EXAMPLE_KEY_gMJzq :"EXAMPLE_VALUE_LaAhKhDEtTpyzy56T74K"
			},
		definedTags: {
			EXAMPLE_KEY_yD9kz :{
				EXAMPLE_KEY_mI6AS :"EXAMPLE--Value"
				}
			},
		securityAttributes: {
			EXAMPLE_KEY_HvtKo :{
				EXAMPLE_KEY_g6m5C :"EXAMPLE--Value"
				}
			},
		dbWorkload: database.models.UpdateAutonomousDatabaseDetails.DbWorkload.Oltp,
		licenseModel: database.models.UpdateAutonomousDatabaseDetails.LicenseModel.BringYourOwnLicense,
		byolComputeCountLimit: 7578.246,
		isAccessControlEnabled: false,
		whitelistedIps: ["EXAMPLE--Value"				],
		arePrimaryWhitelistedIpsUsed: true,
		standbyWhitelistedIps: ["EXAMPLE--Value"				],
		isAutoScalingEnabled: true,
		isRefreshableClone: false,
		refreshableMode: database.models.UpdateAutonomousDatabaseDetails.RefreshableMode.Manual,
		isLocalDataGuardEnabled: false,
		isDataGuardEnabled: true,
		peerDbId: "ocid1.test.oc1..<unique_ID>EXAMPLE-peerDbId-Value",
		dbVersion: "EXAMPLE-dbVersion-Value",
		openMode: database.models.UpdateAutonomousDatabaseDetails.OpenMode.ReadOnly,
		permissionLevel: database.models.UpdateAutonomousDatabaseDetails.PermissionLevel.Unrestricted,
		subnetId: "ocid1.test.oc1..<unique_ID>EXAMPLE-subnetId-Value",
		privateEndpointLabel: "EXAMPLE-privateEndpointLabel-Value",
		privateEndpointIp: "EXAMPLE-privateEndpointIp-Value",
		nsgIds: ["EXAMPLE--Value"				],
		autoRefreshFrequencyInSeconds: 39753,
		autoRefreshPointLagInSeconds: 474388,
		timeOfAutoRefreshStart: new Date("Fri Oct 24 11:59:34 UTC 2025"),
		customerContacts: [{
				email: "EXAMPLE-email-Value",

				}
				],
		isMtlsConnectionRequired: false,
		resourcePoolLeaderId: "ocid1.test.oc1..<unique_ID>EXAMPLE-resourcePoolLeaderId-Value",
		resourcePoolSummary: {
			poolSize: 881,
			poolStorageSizeInTBs: 604,
			availableStorageCapacityInTBs: 525.0603,
			totalComputeCapacity: 584,
			availableComputeCapacity: 13,
			isDisabled: true,

			}
,
		autonomousMaintenanceScheduleType: database.models.UpdateAutonomousDatabaseDetails.AutonomousMaintenanceScheduleType.Regular,
		autonomousDatabaseMaintenanceWindow: {
			dayOfWeek: {
				name: database.models.DayOfWeek.Name.Monday,

				}
,
			maintenanceStartTime: "EXAMPLE-maintenanceStartTime-Value",
			maintenanceEndTime: "EXAMPLE-maintenanceEndTime-Value",

			}
,
		timeMaintenancePauseUntil: new Date("Sun Aug 08 09:39:03 UTC 2010"),
		isBackupRetentionLocked: false,
		timeScheduledDbVersionUpgrade: new Date("Tue Jan 24 00:37:08 UTC 2045"),
		isDisableDbVersionUpgradeSchedule: false,
		isScheduleDbVersionUpgradeToEarliest: true,
		scheduledOperations: [{
				dayOfWeek: {
					name: database.models.DayOfWeek.Name.Tuesday,

					}
,
				scheduledStartTime: "EXAMPLE-scheduledStartTime-Value",
				scheduledStopTime: "EXAMPLE-scheduledStopTime-Value",

				}
				],
		isAutoScalingForStorageEnabled: true,
		databaseEdition: database.models.AutonomousDatabaseSummary.DatabaseEdition.EnterpriseEdition,
		dbToolsDetails: [{
				name: database.models.DatabaseTool.Name.Apex,
				isEnabled: true,
				computeCount: 741.12476,
				maxIdleTimeInMinutes: 902,

				}
				],
		vanityUrlDetails: {
			isDisabled: false,
			apiGatewayId: "ocid1.test.oc1..<unique_ID>EXAMPLE-apiGatewayId-Value",
			vanityUrlHostName: "EXAMPLE-vanityUrlHostName-Value",

			}
,
		secretId: "ocid1.test.oc1..<unique_ID>EXAMPLE-secretId-Value",
		secretVersionNumber: 42,
		encryptionKey: {
			provider: "AZURE",			vaultUri: "EXAMPLE-vaultUri-Value",
			keyName: "EXAMPLE-keyName-Value"

			}
,
		isDisconnectPeer: true,
		localAdgResourcePoolLeaderId: "ocid1.test.oc1..<unique_ID>EXAMPLE-localAdgResourcePoolLeaderId-Value",

		}

	const updateAutonomousDatabaseRequest: database.requests.UpdateAutonomousDatabaseRequest = { 
	autonomousDatabaseId: "ocid1.test.oc1..<unique_ID>EXAMPLE-autonomousDatabaseId-Value",
	updateAutonomousDatabaseDetails: updateAutonomousDatabaseDetails,
	ifMatch: "EXAMPLE-ifMatch-Value",
	opcRequestId: "HFKUVQYJLYGKHWMXGOKI<unique_ID>",
	opcDryRun: true,

		}; 


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