requests) {
for (HttpRequest r : requests) {
diff --git a/bmc-computecloudatcustomer/pom.xml b/bmc-computecloudatcustomer/pom.xml
index b44f63357fd..bf399ba0b28 100644
--- a/bmc-computecloudatcustomer/pom.xml
+++ b/bmc-computecloudatcustomer/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-computecloudatcustomer
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-computeinstanceagent/pom.xml b/bmc-computeinstanceagent/pom.xml
index 4a761ac6b78..f2b8a1ea9c9 100644
--- a/bmc-computeinstanceagent/pom.xml
+++ b/bmc-computeinstanceagent/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-computeinstanceagent
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-containerengine/pom.xml b/bmc-containerengine/pom.xml
index bf653e32d02..da58df9bcbb 100644
--- a/bmc-containerengine/pom.xml
+++ b/bmc-containerengine/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
@@ -18,7 +18,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
diff --git a/bmc-containerinstances/pom.xml b/bmc-containerinstances/pom.xml
index d9594aca63f..e46a534fe20 100644
--- a/bmc-containerinstances/pom.xml
+++ b/bmc-containerinstances/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-containerinstances
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-containerregistry/pom.xml b/bmc-containerregistry/pom.xml
index 987d8beac14..e6091740daf 100644
--- a/bmc-containerregistry/pom.xml
+++ b/bmc-containerregistry/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-containerregistry
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-core/pom.xml b/bmc-core/pom.xml
index b4de82ac8d8..936325f8f62 100644
--- a/bmc-core/pom.xml
+++ b/bmc-core/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
@@ -18,12 +18,12 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
com.oracle.oci.sdk
oci-java-sdk-workrequests
- 3.96.0
+ 3.97.0
diff --git a/bmc-costad/pom.xml b/bmc-costad/pom.xml
index 3bfe4f6f3e7..9a7a2edfb89 100644
--- a/bmc-costad/pom.xml
+++ b/bmc-costad/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-costad
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-dashboardservice/pom.xml b/bmc-dashboardservice/pom.xml
index a29420589b3..303f06070ba 100644
--- a/bmc-dashboardservice/pom.xml
+++ b/bmc-dashboardservice/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-dashboardservice
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-database/pom.xml b/bmc-database/pom.xml
index ae3facd328d..d729060238b 100644
--- a/bmc-database/pom.xml
+++ b/bmc-database/pom.xml
@@ -5,7 +5,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
@@ -18,12 +18,12 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
com.oracle.oci.sdk
oci-java-sdk-workrequests
- 3.96.0
+ 3.97.0
diff --git a/bmc-databasemanagement/pom.xml b/bmc-databasemanagement/pom.xml
index 193ba2725bb..3ef56e8a737 100644
--- a/bmc-databasemanagement/pom.xml
+++ b/bmc-databasemanagement/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-databasemanagement
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-databasemigration/pom.xml b/bmc-databasemigration/pom.xml
index 8acf2d4d8b3..bae93b78e52 100644
--- a/bmc-databasemigration/pom.xml
+++ b/bmc-databasemigration/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-databasemigration
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-databasetools/pom.xml b/bmc-databasetools/pom.xml
index fb0340b270a..a4df74b7afe 100644
--- a/bmc-databasetools/pom.xml
+++ b/bmc-databasetools/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-databasetools
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-databasetoolsruntime/pom.xml b/bmc-databasetoolsruntime/pom.xml
index 233047cb386..4b76673bc2e 100644
--- a/bmc-databasetoolsruntime/pom.xml
+++ b/bmc-databasetoolsruntime/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-databasetoolsruntime
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-datacatalog/pom.xml b/bmc-datacatalog/pom.xml
index 615af62fa1e..8243f251f68 100644
--- a/bmc-datacatalog/pom.xml
+++ b/bmc-datacatalog/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-datacatalog
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-datacc/pom.xml b/bmc-datacc/pom.xml
index 7191d8f61d0..93deb43faa2 100644
--- a/bmc-datacc/pom.xml
+++ b/bmc-datacc/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-datacc
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-dataflow/pom.xml b/bmc-dataflow/pom.xml
index 5825411a997..a1e4c2c28f0 100644
--- a/bmc-dataflow/pom.xml
+++ b/bmc-dataflow/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-dataflow
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-dataintegration/pom.xml b/bmc-dataintegration/pom.xml
index 4dddb0ef941..b8e81801c2f 100644
--- a/bmc-dataintegration/pom.xml
+++ b/bmc-dataintegration/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-dataintegration
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-datalabelingservice/pom.xml b/bmc-datalabelingservice/pom.xml
index 173b9951cad..ea2e5baab11 100644
--- a/bmc-datalabelingservice/pom.xml
+++ b/bmc-datalabelingservice/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-datalabelingservice
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-datalabelingservicedataplane/pom.xml b/bmc-datalabelingservicedataplane/pom.xml
index 7cb130b4200..8b7a3b1118d 100644
--- a/bmc-datalabelingservicedataplane/pom.xml
+++ b/bmc-datalabelingservicedataplane/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-datalabelingservicedataplane
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-datasafe/pom.xml b/bmc-datasafe/pom.xml
index e71eb503a32..cc6c4292273 100644
--- a/bmc-datasafe/pom.xml
+++ b/bmc-datasafe/pom.xml
@@ -4,7 +4,7 @@
com.oracle.oci.sdk
oci-java-sdk
- 3.96.0
+ 3.97.0
../pom.xml
oci-java-sdk-datasafe
@@ -15,7 +15,7 @@
com.oracle.oci.sdk
oci-java-sdk-common
- 3.96.0
+ 3.97.0
\ No newline at end of file
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafe.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafe.java
index 5453fbde780..594a611a48c 100644
--- a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafe.java
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafe.java
@@ -430,6 +430,24 @@ ChangeAuditPolicyCompartmentResponse changeAuditPolicyCompartment(
ChangeAuditProfileCompartmentResponse changeAuditProfileCompartment(
ChangeAuditProfileCompartmentRequest request);
+ /**
+ * Moves the specified saved crypto assessment into a different compartment. Only `SAVED` crypto
+ * assessments are supported.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ * Example: Click here to see how to use
+ * ChangeCryptoAssessmentCompartment API.
+ */
+ ChangeCryptoAssessmentCompartmentResponse changeCryptoAssessmentCompartment(
+ ChangeCryptoAssessmentCompartmentRequest request);
+
/**
* Moves the Data Safe private endpoint and its dependent resources to the specified
* compartment.
@@ -1651,6 +1669,23 @@ DeleteAuditArchiveRetrievalResponse deleteAuditArchiveRetrieval(
*/
DeleteAuditTrailResponse deleteAuditTrail(DeleteAuditTrailRequest request);
+ /**
+ * Deletes the specified saved crypto assessment. Only assessments of type `SAVED` can be
+ * deleted. Attempts to delete a `LATEST` assessment return `400 InvalidParameter`.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * DeleteCryptoAssessment API.
+ */
+ DeleteCryptoAssessmentResponse deleteCryptoAssessment(DeleteCryptoAssessmentRequest request);
+
/**
* Deletes the specified Data Safe private endpoint.
*
@@ -2211,6 +2246,25 @@ DeploySecurityPolicyDeploymentResponse deploySecurityPolicyDeployment(
*/
DiscoverAuditTrailsResponse discoverAuditTrails(DiscoverAuditTrailsRequest request);
+ /**
+ * Downloads the report of the specified crypto assessment. To download the crypto assessment
+ * report, it needs to be generated first. Please use GenerateCryptoAssessmentReport to generate
+ * a downloadable report in the preferred format (PDF, XLS).
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * DownloadCryptoAssessmentReport API.
+ */
+ DownloadCryptoAssessmentReportResponse downloadCryptoAssessmentReport(
+ DownloadCryptoAssessmentReportRequest request);
+
/**
* Downloads an already-generated discovery report. Note that the
* GenerateDiscoveryReportForDownload operation is a prerequisite for the
@@ -2399,6 +2453,24 @@ DownloadUserAssessmentReportResponse downloadUserAssessmentReport(
EnableDataSafeConfigurationResponse enableDataSafeConfiguration(
EnableDataSafeConfigurationRequest request);
+ /**
+ * Generates the report of the specified crypto assessment. Supported output formats are PDF and
+ * XLS.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * GenerateCryptoAssessmentReport API.
+ */
+ GenerateCryptoAssessmentReportResponse generateCryptoAssessmentReport(
+ GenerateCryptoAssessmentReportRequest request);
+
/**
* Generates a downloadable discovery report. It's a prerequisite for the
* DownloadDiscoveryReport operation. Use this endpoint to generate a discovery report file and
@@ -2750,6 +2822,40 @@ GetCompatibleFormatsForDataTypesResponse getCompatibleFormatsForDataTypes(
GetCompatibleFormatsForSensitiveTypesResponse getCompatibleFormatsForSensitiveTypes(
GetCompatibleFormatsForSensitiveTypesRequest request);
+ /**
+ * Gets the details of the specified crypto assessment.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use GetCryptoAssessment
+ * API.
+ */
+ GetCryptoAssessmentResponse getCryptoAssessment(GetCryptoAssessmentRequest request);
+
+ /**
+ * Gets SQLNET.ORA parameter values and quantum-readiness evaluation for the specified crypto
+ * assessment.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * GetCryptoAssessmentSqlnetParameters API.
+ */
+ GetCryptoAssessmentSqlnetParametersResponse getCryptoAssessmentSqlnetParameters(
+ GetCryptoAssessmentSqlnetParametersRequest request);
+
/**
* Gets the details of the Data Safe configuration.
*
@@ -3945,6 +4051,182 @@ ListCollectedAuditVolumesResponse listCollectedAuditVolumes(
*/
ListColumnsResponse listColumns(ListColumnsRequest request);
+ /**
+ * Gets backup set summaries across targets in a compartment. Use assessmentId to narrow results
+ * to one crypto assessment.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * ListCryptoAssessmentBackupSets API.
+ */
+ ListCryptoAssessmentBackupSetsResponse listCryptoAssessmentBackupSets(
+ ListCryptoAssessmentBackupSetsRequest request);
+
+ /**
+ * Lists the CBOM items for the specified crypto assessment.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * ListCryptoAssessmentCbomItems API.
+ */
+ ListCryptoAssessmentCbomItemsResponse listCryptoAssessmentCbomItems(
+ ListCryptoAssessmentCbomItemsRequest request);
+
+ /**
+ * Lists certificates discovered across targets in a compartment, including target, wallet
+ * location, issuer, subject, validity window, expiry bucket, public key type, and status so
+ * expiring or weak certificates can be identified and prioritized.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * ListCryptoAssessmentCertificates API.
+ */
+ ListCryptoAssessmentCertificatesResponse listCryptoAssessmentCertificates(
+ ListCryptoAssessmentCertificatesRequest request);
+
+ /**
+ * Lists findings in a compartment with the number of affected targets.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * ListCryptoAssessmentFindingAnalytics API.
+ */
+ ListCryptoAssessmentFindingAnalyticsResponse listCryptoAssessmentFindingAnalytics(
+ ListCryptoAssessmentFindingAnalyticsRequest request);
+
+ /**
+ * For a selected finding, lists targets where it occurs in assessments.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * ListCryptoAssessmentFindingTargets API.
+ */
+ ListCryptoAssessmentFindingTargetsResponse listCryptoAssessmentFindingTargets(
+ ListCryptoAssessmentFindingTargetsRequest request);
+
+ /**
+ * Lists crypto deviation findings for the specified crypto assessment.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * ListCryptoAssessmentFindings API.
+ */
+ ListCryptoAssessmentFindingsResponse listCryptoAssessmentFindings(
+ ListCryptoAssessmentFindingsRequest request);
+
+ /**
+ * Gets a paginated list of cryptographic keys across targets in a compartment. Use assessmentId
+ * to narrow results to one crypto assessment.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * ListCryptoAssessmentKeys API.
+ */
+ ListCryptoAssessmentKeysResponse listCryptoAssessmentKeys(
+ ListCryptoAssessmentKeysRequest request);
+
+ /**
+ * Lists TDE object encryption summaries across targets in a compartment. Use assessmentId to
+ * narrow results to one crypto assessment, and objectType to return either tablespace-level or
+ * column-level TDE observations.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * ListCryptoAssessmentTdeObjects API.
+ */
+ ListCryptoAssessmentTdeObjectsResponse listCryptoAssessmentTdeObjects(
+ ListCryptoAssessmentTdeObjectsRequest request);
+
+ /**
+ * Gets wallet details across targets in a compartment. Use assessmentId to narrow results to
+ * one crypto assessment.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * ListCryptoAssessmentWallets API.
+ */
+ ListCryptoAssessmentWalletsResponse listCryptoAssessmentWallets(
+ ListCryptoAssessmentWalletsRequest request);
+
+ /**
+ * Gets a list of crypto assessments with filtering and pagination support.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * ListCryptoAssessments API.
+ */
+ ListCryptoAssessmentsResponse listCryptoAssessments(ListCryptoAssessmentsRequest request);
+
/**
* Gets a list of Data Safe private endpoints.
*
@@ -5898,6 +6180,25 @@ PatchTargetAlertPolicyAssociationResponse patchTargetAlertPolicyAssociation(
*/
PurgeSqlCollectionLogsResponse purgeSqlCollectionLogs(PurgeSqlCollectionLogsRequest request);
+ /**
+ * Runs a crypto assessment, refreshes the latest assessment, and saves it for future reference.
+ * This operation runs with a cryptoAssessmentId of type LATEST. Before you start, first call
+ * the ListCryptoAssessments operation with filter \"type = latest\" to get the crypto
+ * assessment ID for the target's latest assessment.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * RefreshCryptoAssessment API.
+ */
+ RefreshCryptoAssessmentResponse refreshCryptoAssessment(RefreshCryptoAssessmentRequest request);
+
/**
* Refreshes the specified database security configuration.
*
@@ -6389,6 +6690,22 @@ UpdateAuditArchiveRetrievalResponse updateAuditArchiveRetrieval(
*/
UpdateAuditTrailResponse updateAuditTrail(UpdateAuditTrailRequest request);
+ /**
+ * Updates one or more attributes of the specified crypto assessment.
+ *
+ * @param request The request object containing the details to send
+ * @return A response object containing details about the completed operation
+ * @throws BmcException when an error occurs. This operation uses
+ * RetryConfiguration.SDK_DEFAULT_RETRY_CONFIGURATION as default if no retry strategy is
+ * provided. The specifics of the default retry strategy are described here
+ * https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/javasdkconcepts.htm#javasdkconcepts_topic_Retries
+ *
Example: Click here to see how to use
+ * UpdateCryptoAssessment API.
+ */
+ UpdateCryptoAssessmentResponse updateCryptoAssessment(UpdateCryptoAssessmentRequest request);
+
/**
* Updates one or more attributes of the specified Data Safe private endpoint.
*
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafeAsync.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafeAsync.java
index 870027ec3fa..e97ce8f66af 100644
--- a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafeAsync.java
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafeAsync.java
@@ -402,6 +402,25 @@ java.util.concurrent.Future changeAuditPol
ChangeAuditProfileCompartmentResponse>
handler);
+ /**
+ * Moves the specified saved crypto assessment into a different compartment. Only `SAVED` crypto
+ * assessments are supported.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future
+ changeCryptoAssessmentCompartment(
+ ChangeCryptoAssessmentCompartmentRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ChangeCryptoAssessmentCompartmentRequest,
+ ChangeCryptoAssessmentCompartmentResponse>
+ handler);
+
/**
* Moves the Data Safe private endpoint and its dependent resources to the specified
* compartment.
@@ -1633,6 +1652,23 @@ java.util.concurrent.Future deleteAuditTrail(
com.oracle.bmc.responses.AsyncHandler
handler);
+ /**
+ * Deletes the specified saved crypto assessment. Only assessments of type `SAVED` can be
+ * deleted. Attempts to delete a `LATEST` assessment return `400 InvalidParameter`.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future deleteCryptoAssessment(
+ DeleteCryptoAssessmentRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ DeleteCryptoAssessmentRequest, DeleteCryptoAssessmentResponse>
+ handler);
+
/**
* Deletes the specified Data Safe private endpoint.
*
@@ -2188,6 +2224,26 @@ java.util.concurrent.Future discoverAuditTrails(
DiscoverAuditTrailsRequest, DiscoverAuditTrailsResponse>
handler);
+ /**
+ * Downloads the report of the specified crypto assessment. To download the crypto assessment
+ * report, it needs to be generated first. Please use GenerateCryptoAssessmentReport to generate
+ * a downloadable report in the preferred format (PDF, XLS).
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future
+ downloadCryptoAssessmentReport(
+ DownloadCryptoAssessmentReportRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ DownloadCryptoAssessmentReportRequest,
+ DownloadCryptoAssessmentReportResponse>
+ handler);
+
/**
* Downloads an already-generated discovery report. Note that the
* GenerateDiscoveryReportForDownload operation is a prerequisite for the
@@ -2375,6 +2431,25 @@ java.util.concurrent.Future enableDataSafeC
EnableDataSafeConfigurationRequest, EnableDataSafeConfigurationResponse>
handler);
+ /**
+ * Generates the report of the specified crypto assessment. Supported output formats are PDF and
+ * XLS.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future
+ generateCryptoAssessmentReport(
+ GenerateCryptoAssessmentReportRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GenerateCryptoAssessmentReportRequest,
+ GenerateCryptoAssessmentReportResponse>
+ handler);
+
/**
* Generates a downloadable discovery report. It's a prerequisite for the
* DownloadDiscoveryReport operation. Use this endpoint to generate a discovery report file and
@@ -2729,6 +2804,41 @@ java.util.concurrent.Future getAuditTrail(
GetCompatibleFormatsForSensitiveTypesResponse>
handler);
+ /**
+ * Gets the details of the specified crypto assessment.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future getCryptoAssessment(
+ GetCryptoAssessmentRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetCryptoAssessmentRequest, GetCryptoAssessmentResponse>
+ handler);
+
+ /**
+ * Gets SQLNET.ORA parameter values and quantum-readiness evaluation for the specified crypto
+ * assessment.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future
+ getCryptoAssessmentSqlnetParameters(
+ GetCryptoAssessmentSqlnetParametersRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ GetCryptoAssessmentSqlnetParametersRequest,
+ GetCryptoAssessmentSqlnetParametersResponse>
+ handler);
+
/**
* Gets the details of the Data Safe configuration.
*
@@ -3900,6 +4010,186 @@ java.util.concurrent.Future listColumns(
ListColumnsRequest request,
com.oracle.bmc.responses.AsyncHandler handler);
+ /**
+ * Gets backup set summaries across targets in a compartment. Use assessmentId to narrow results
+ * to one crypto assessment.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future
+ listCryptoAssessmentBackupSets(
+ ListCryptoAssessmentBackupSetsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentBackupSetsRequest,
+ ListCryptoAssessmentBackupSetsResponse>
+ handler);
+
+ /**
+ * Lists the CBOM items for the specified crypto assessment.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future
+ listCryptoAssessmentCbomItems(
+ ListCryptoAssessmentCbomItemsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentCbomItemsRequest,
+ ListCryptoAssessmentCbomItemsResponse>
+ handler);
+
+ /**
+ * Lists certificates discovered across targets in a compartment, including target, wallet
+ * location, issuer, subject, validity window, expiry bucket, public key type, and status so
+ * expiring or weak certificates can be identified and prioritized.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future
+ listCryptoAssessmentCertificates(
+ ListCryptoAssessmentCertificatesRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentCertificatesRequest,
+ ListCryptoAssessmentCertificatesResponse>
+ handler);
+
+ /**
+ * Lists findings in a compartment with the number of affected targets.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future
+ listCryptoAssessmentFindingAnalytics(
+ ListCryptoAssessmentFindingAnalyticsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentFindingAnalyticsRequest,
+ ListCryptoAssessmentFindingAnalyticsResponse>
+ handler);
+
+ /**
+ * For a selected finding, lists targets where it occurs in assessments.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future
+ listCryptoAssessmentFindingTargets(
+ ListCryptoAssessmentFindingTargetsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentFindingTargetsRequest,
+ ListCryptoAssessmentFindingTargetsResponse>
+ handler);
+
+ /**
+ * Lists crypto deviation findings for the specified crypto assessment.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future listCryptoAssessmentFindings(
+ ListCryptoAssessmentFindingsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentFindingsRequest,
+ ListCryptoAssessmentFindingsResponse>
+ handler);
+
+ /**
+ * Gets a paginated list of cryptographic keys across targets in a compartment. Use assessmentId
+ * to narrow results to one crypto assessment.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future listCryptoAssessmentKeys(
+ ListCryptoAssessmentKeysRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentKeysRequest, ListCryptoAssessmentKeysResponse>
+ handler);
+
+ /**
+ * Lists TDE object encryption summaries across targets in a compartment. Use assessmentId to
+ * narrow results to one crypto assessment, and objectType to return either tablespace-level or
+ * column-level TDE observations.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future
+ listCryptoAssessmentTdeObjects(
+ ListCryptoAssessmentTdeObjectsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentTdeObjectsRequest,
+ ListCryptoAssessmentTdeObjectsResponse>
+ handler);
+
+ /**
+ * Gets wallet details across targets in a compartment. Use assessmentId to narrow results to
+ * one crypto assessment.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future listCryptoAssessmentWallets(
+ ListCryptoAssessmentWalletsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentWalletsRequest, ListCryptoAssessmentWalletsResponse>
+ handler);
+
+ /**
+ * Gets a list of crypto assessments with filtering and pagination support.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future listCryptoAssessments(
+ ListCryptoAssessmentsRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentsRequest, ListCryptoAssessmentsResponse>
+ handler);
+
/**
* Gets a list of Data Safe private endpoints.
*
@@ -5846,6 +6136,25 @@ java.util.concurrent.Future purgeSqlCollectionLo
PurgeSqlCollectionLogsRequest, PurgeSqlCollectionLogsResponse>
handler);
+ /**
+ * Runs a crypto assessment, refreshes the latest assessment, and saves it for future reference.
+ * This operation runs with a cryptoAssessmentId of type LATEST. Before you start, first call
+ * the ListCryptoAssessments operation with filter \"type = latest\" to get the crypto
+ * assessment ID for the target's latest assessment.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future refreshCryptoAssessment(
+ RefreshCryptoAssessmentRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ RefreshCryptoAssessmentRequest, RefreshCryptoAssessmentResponse>
+ handler);
+
/**
* Refreshes the specified database security configuration.
*
@@ -6335,6 +6644,22 @@ java.util.concurrent.Future updateAuditTrail(
com.oracle.bmc.responses.AsyncHandler
handler);
+ /**
+ * Updates one or more attributes of the specified crypto assessment.
+ *
+ * @param request The request object containing the details to send
+ * @param handler The request handler to invoke upon completion, may be null.
+ * @return A Future that can be used to get the response if no AsyncHandler was provided. Note,
+ * if you provide an AsyncHandler and use the Future, some types of responses (like
+ * java.io.InputStream) may not be able to be read in both places as the underlying stream
+ * may only be consumed once.
+ */
+ java.util.concurrent.Future updateCryptoAssessment(
+ UpdateCryptoAssessmentRequest request,
+ com.oracle.bmc.responses.AsyncHandler<
+ UpdateCryptoAssessmentRequest, UpdateCryptoAssessmentResponse>
+ handler);
+
/**
* Updates one or more attributes of the specified Data Safe private endpoint.
*
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafeAsyncClient.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafeAsyncClient.java
index c31e99f7802..528f640ef7f 100644
--- a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafeAsyncClient.java
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafeAsyncClient.java
@@ -56,7 +56,7 @@ public class DataSafeAsyncClient extends com.oracle.bmc.http.internal.BaseAsyncC
LOG.warn(
com.oracle.bmc.util.StreamUtils.getStreamWarningMessage(
"DataSafeAsyncClient",
- "downloadDiscoveryReport,downloadMaskingLog,downloadMaskingPolicy,downloadMaskingReport,downloadPrivilegeScript,downloadSecurityAssessmentReport,downloadSensitiveDataModel,downloadSensitiveTypesExport,downloadUserAssessmentReport,generateOnPremConnectorConfiguration,getReportContent"));
+ "downloadCryptoAssessmentReport,downloadDiscoveryReport,downloadMaskingLog,downloadMaskingPolicy,downloadMaskingReport,downloadPrivilegeScript,downloadSecurityAssessmentReport,downloadSensitiveDataModel,downloadSensitiveTypesExport,downloadUserAssessmentReport,generateOnPremConnectorConfiguration,getReportContent"));
}
}
@@ -129,9 +129,6 @@ public java.util.concurrent.Future activateTarge
final com.oracle.bmc.responses.AsyncHandler<
ActivateTargetDatabaseRequest, ActivateTargetDatabaseResponse>
handler) {
- Objects.requireNonNull(
- request.getActivateTargetDatabaseDetails(),
- "activateTargetDatabaseDetails is required");
Validate.notBlank(request.getTargetDatabaseId(), "targetDatabaseId must not be blank");
@@ -850,6 +847,47 @@ public java.util.concurrent.Future changeAlertCo
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ changeCryptoAssessmentCompartment(
+ ChangeCryptoAssessmentCompartmentRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ChangeCryptoAssessmentCompartmentRequest,
+ ChangeCryptoAssessmentCompartmentResponse>
+ handler) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+ Objects.requireNonNull(
+ request.getChangeCryptoAssessmentCompartmentDetails(),
+ "changeCryptoAssessmentCompartmentDetails is required");
+
+ return clientCall(request, ChangeCryptoAssessmentCompartmentResponse::builder)
+ .logger(LOG, "changeCryptoAssessmentCompartment")
+ .serviceDetails(
+ "DataSafe",
+ "ChangeCryptoAssessmentCompartment",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ChangeCryptoAssessmentCompartment")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(ChangeCryptoAssessmentCompartmentRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .appendPathParam("actions")
+ .appendPathParam("changeCompartment")
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ ChangeCryptoAssessmentCompartmentResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ChangeCryptoAssessmentCompartmentResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
changeDataSafePrivateEndpointCompartment(
@@ -3408,6 +3446,37 @@ public java.util.concurrent.Future deleteAuditTrail(
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future deleteCryptoAssessment(
+ DeleteCryptoAssessmentRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ DeleteCryptoAssessmentRequest, DeleteCryptoAssessmentResponse>
+ handler) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+
+ return clientCall(request, DeleteCryptoAssessmentResponse::builder)
+ .logger(LOG, "deleteCryptoAssessment")
+ .serviceDetails(
+ "DataSafe",
+ "DeleteCryptoAssessment",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/DeleteCryptoAssessment")
+ .method(com.oracle.bmc.http.client.Method.DELETE)
+ .requestBuilder(DeleteCryptoAssessmentRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ DeleteCryptoAssessmentResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id", DeleteCryptoAssessmentResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
deleteDataSafePrivateEndpoint(
@@ -4489,6 +4558,52 @@ public java.util.concurrent.Future discoverAuditTra
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ downloadCryptoAssessmentReport(
+ DownloadCryptoAssessmentReportRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ DownloadCryptoAssessmentReportRequest,
+ DownloadCryptoAssessmentReportResponse>
+ handler) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+ Objects.requireNonNull(
+ request.getDownloadCryptoAssessmentReportDetails(),
+ "downloadCryptoAssessmentReportDetails is required");
+
+ return clientCall(request, DownloadCryptoAssessmentReportResponse::builder)
+ .logger(LOG, "downloadCryptoAssessmentReport")
+ .serviceDetails(
+ "DataSafe",
+ "DownloadCryptoAssessmentReport",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/DownloadCryptoAssessmentReport")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(DownloadCryptoAssessmentReportRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .appendPathParam("actions")
+ .appendPathParam("downloadReport")
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .hasBody()
+ .handleBody(
+ java.io.InputStream.class,
+ DownloadCryptoAssessmentReportResponse.Builder::inputStream)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ DownloadCryptoAssessmentReportResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "etag", DownloadCryptoAssessmentReportResponse.Builder::etag)
+ .handleResponseHeaderLong(
+ "content-length",
+ DownloadCryptoAssessmentReportResponse.Builder::contentLength)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future downloadDiscoveryReport(
DownloadDiscoveryReportRequest request,
@@ -4893,6 +5008,47 @@ public java.util.concurrent.Future downloadPriv
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ generateCryptoAssessmentReport(
+ GenerateCryptoAssessmentReportRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ GenerateCryptoAssessmentReportRequest,
+ GenerateCryptoAssessmentReportResponse>
+ handler) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+ Objects.requireNonNull(
+ request.getGenerateCryptoAssessmentReportDetails(),
+ "generateCryptoAssessmentReportDetails is required");
+
+ return clientCall(request, GenerateCryptoAssessmentReportResponse::builder)
+ .logger(LOG, "generateCryptoAssessmentReport")
+ .serviceDetails(
+ "DataSafe",
+ "GenerateCryptoAssessmentReport",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/GenerateCryptoAssessmentReport")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(GenerateCryptoAssessmentReportRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .appendPathParam("actions")
+ .appendPathParam("generateReport")
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ GenerateCryptoAssessmentReportResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ GenerateCryptoAssessmentReportResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
generateDiscoveryReportForDownload(
@@ -5623,6 +5779,82 @@ public java.util.concurrent.Future getAuditTrail(
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future getCryptoAssessment(
+ GetCryptoAssessmentRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ GetCryptoAssessmentRequest, GetCryptoAssessmentResponse>
+ handler) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+
+ return clientCall(request, GetCryptoAssessmentResponse::builder)
+ .logger(LOG, "getCryptoAssessment")
+ .serviceDetails(
+ "DataSafe",
+ "GetCryptoAssessment",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/GetCryptoAssessment")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetCryptoAssessmentRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessment.class,
+ GetCryptoAssessmentResponse.Builder::cryptoAssessment)
+ .handleResponseHeaderString(
+ "opc-request-id", GetCryptoAssessmentResponse.Builder::opcRequestId)
+ .handleResponseHeaderString("etag", GetCryptoAssessmentResponse.Builder::etag)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ getCryptoAssessmentSqlnetParameters(
+ GetCryptoAssessmentSqlnetParametersRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ GetCryptoAssessmentSqlnetParametersRequest,
+ GetCryptoAssessmentSqlnetParametersResponse>
+ handler) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+
+ return clientCall(request, GetCryptoAssessmentSqlnetParametersResponse::builder)
+ .logger(LOG, "getCryptoAssessmentSqlnetParameters")
+ .serviceDetails(
+ "DataSafe",
+ "GetCryptoAssessmentSqlnetParameters",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/GetCryptoAssessmentSqlnetParameters")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetCryptoAssessmentSqlnetParametersRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .appendPathParam("sqlnetParameters")
+ .appendQueryParam("parameter", request.getParameter())
+ .appendEnumQueryParam("quantumReadiness", request.getQuantumReadiness())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentSqlnetParameters.class,
+ GetCryptoAssessmentSqlnetParametersResponse.Builder
+ ::cryptoAssessmentSqlnetParameters)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ GetCryptoAssessmentSqlnetParametersResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page",
+ GetCryptoAssessmentSqlnetParametersResponse.Builder::opcPrevPage)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ GetCryptoAssessmentSqlnetParametersResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future getDataSafeConfiguration(
GetDataSafeConfigurationRequest request,
@@ -8091,6 +8323,550 @@ public java.util.concurrent.Future listColumns(
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future
+ listCryptoAssessmentBackupSets(
+ ListCryptoAssessmentBackupSetsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentBackupSetsRequest,
+ ListCryptoAssessmentBackupSetsResponse>
+ handler) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListCryptoAssessmentBackupSetsResponse::builder)
+ .logger(LOG, "listCryptoAssessmentBackupSets")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentBackupSets",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentBackupSets")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentBackupSetsRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam("backupSets")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("compartmentIdInSubtree", request.getCompartmentIdInSubtree())
+ .appendEnumQueryParam("accessLevel", request.getAccessLevel())
+ .appendQueryParam("assessmentId", request.getAssessmentId())
+ .appendEnumQueryParam("assessmentType", request.getAssessmentType())
+ .appendQueryParam("targetId", request.getTargetId())
+ .appendListQueryParam(
+ "targetIds",
+ request.getTargetIds(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendQueryParam("backupSetKey", request.getBackupSetKey())
+ .appendQueryParam("isEncrypted", request.getIsEncrypted())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentBackupSetCollection.class,
+ ListCryptoAssessmentBackupSetsResponse.Builder
+ ::cryptoAssessmentBackupSetCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListCryptoAssessmentBackupSetsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListCryptoAssessmentBackupSetsResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page",
+ ListCryptoAssessmentBackupSetsResponse.Builder::opcPrevPage)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ listCryptoAssessmentCbomItems(
+ ListCryptoAssessmentCbomItemsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentCbomItemsRequest,
+ ListCryptoAssessmentCbomItemsResponse>
+ handler) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+
+ return clientCall(request, ListCryptoAssessmentCbomItemsResponse::builder)
+ .logger(LOG, "listCryptoAssessmentCbomItems")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentCbomItems",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentCbomItems")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentCbomItemsRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .appendPathParam("cbomItems")
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentCbomItemCollection.class,
+ ListCryptoAssessmentCbomItemsResponse.Builder
+ ::cryptoAssessmentCbomItemCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListCryptoAssessmentCbomItemsResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ listCryptoAssessmentCertificates(
+ ListCryptoAssessmentCertificatesRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentCertificatesRequest,
+ ListCryptoAssessmentCertificatesResponse>
+ handler) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListCryptoAssessmentCertificatesResponse::builder)
+ .logger(LOG, "listCryptoAssessmentCertificates")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentCertificates",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentCertificates")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentCertificatesRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam("certificates")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("compartmentIdInSubtree", request.getCompartmentIdInSubtree())
+ .appendEnumQueryParam("accessLevel", request.getAccessLevel())
+ .appendQueryParam("assessmentId", request.getAssessmentId())
+ .appendEnumQueryParam("assessmentType", request.getAssessmentType())
+ .appendQueryParam("targetId", request.getTargetId())
+ .appendListQueryParam(
+ "targetIds",
+ request.getTargetIds(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "certificateType",
+ request.getCertificateType(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "status",
+ request.getStatus(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "publicKeyType",
+ request.getPublicKeyType(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "signatureAlgorithm",
+ request.getSignatureAlgorithm(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendQueryParam("expiryBucket", request.getExpiryBucket())
+ .appendQueryParam("daysToExpiry", request.getDaysToExpiry())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentCertificateCollection.class,
+ ListCryptoAssessmentCertificatesResponse.Builder
+ ::cryptoAssessmentCertificateCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListCryptoAssessmentCertificatesResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListCryptoAssessmentCertificatesResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page",
+ ListCryptoAssessmentCertificatesResponse.Builder::opcPrevPage)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ listCryptoAssessmentFindingAnalytics(
+ ListCryptoAssessmentFindingAnalyticsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentFindingAnalyticsRequest,
+ ListCryptoAssessmentFindingAnalyticsResponse>
+ handler) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListCryptoAssessmentFindingAnalyticsResponse::builder)
+ .logger(LOG, "listCryptoAssessmentFindingAnalytics")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentFindingAnalytics",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentFindingAnalytics")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentFindingAnalyticsRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam("findingAnalytics")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("compartmentIdInSubtree", request.getCompartmentIdInSubtree())
+ .appendEnumQueryParam("accessLevel", request.getAccessLevel())
+ .appendEnumQueryParam("category", request.getCategory())
+ .appendListQueryParam(
+ "findingKey",
+ request.getFindingKey(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendQueryParam("isQuantumReadinessCheck", request.getIsQuantumReadinessCheck())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentFindingAnalyticsCollection
+ .class,
+ ListCryptoAssessmentFindingAnalyticsResponse.Builder
+ ::cryptoAssessmentFindingAnalyticsCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListCryptoAssessmentFindingAnalyticsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListCryptoAssessmentFindingAnalyticsResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page",
+ ListCryptoAssessmentFindingAnalyticsResponse.Builder::opcPrevPage)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ listCryptoAssessmentFindingTargets(
+ ListCryptoAssessmentFindingTargetsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentFindingTargetsRequest,
+ ListCryptoAssessmentFindingTargetsResponse>
+ handler) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ Objects.requireNonNull(request.getFindingKey(), "findingKey is required");
+
+ return clientCall(request, ListCryptoAssessmentFindingTargetsResponse::builder)
+ .logger(LOG, "listCryptoAssessmentFindingTargets")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentFindingTargets",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentFindingTargets")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentFindingTargetsRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam("findingTargets")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendListQueryParam(
+ "findingKey",
+ request.getFindingKey(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendEnumQueryParam("assessmentType", request.getAssessmentType())
+ .appendQueryParam("targetId", request.getTargetId())
+ .appendListQueryParam(
+ "targetIds",
+ request.getTargetIds(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendEnumQueryParam("status", request.getStatus())
+ .appendQueryParam("isQuantumReadinessCheck", request.getIsQuantumReadinessCheck())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendQueryParam("compartmentIdInSubtree", request.getCompartmentIdInSubtree())
+ .appendEnumQueryParam("accessLevel", request.getAccessLevel())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentFindingTargetCollection.class,
+ ListCryptoAssessmentFindingTargetsResponse.Builder
+ ::cryptoAssessmentFindingTargetCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListCryptoAssessmentFindingTargetsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListCryptoAssessmentFindingTargetsResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page",
+ ListCryptoAssessmentFindingTargetsResponse.Builder::opcPrevPage)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ listCryptoAssessmentFindings(
+ ListCryptoAssessmentFindingsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentFindingsRequest,
+ ListCryptoAssessmentFindingsResponse>
+ handler) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+
+ return clientCall(request, ListCryptoAssessmentFindingsResponse::builder)
+ .logger(LOG, "listCryptoAssessmentFindings")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentFindings",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentFindings")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentFindingsRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .appendPathParam("findings")
+ .appendQueryParam("findingKey", request.getFindingKey())
+ .appendQueryParam("title", request.getTitle())
+ .appendEnumQueryParam("category", request.getCategory())
+ .appendEnumQueryParam("status", request.getStatus())
+ .appendQueryParam("isQuantumReadinessCheck", request.getIsQuantumReadinessCheck())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentFindingCollection.class,
+ ListCryptoAssessmentFindingsResponse.Builder
+ ::cryptoAssessmentFindingCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListCryptoAssessmentFindingsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", ListCryptoAssessmentFindingsResponse.Builder::opcNextPage)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future listCryptoAssessmentKeys(
+ ListCryptoAssessmentKeysRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentKeysRequest, ListCryptoAssessmentKeysResponse>
+ handler) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListCryptoAssessmentKeysResponse::builder)
+ .logger(LOG, "listCryptoAssessmentKeys")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentKeys",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentKeys")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentKeysRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam("keys")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("compartmentIdInSubtree", request.getCompartmentIdInSubtree())
+ .appendEnumQueryParam("accessLevel", request.getAccessLevel())
+ .appendQueryParam("assessmentId", request.getAssessmentId())
+ .appendEnumQueryParam("assessmentType", request.getAssessmentType())
+ .appendQueryParam("targetId", request.getTargetId())
+ .appendListQueryParam(
+ "targetIds",
+ request.getTargetIds(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendEnumQueryParam("feature", request.getFeature())
+ .appendQueryParam("keyId", request.getKeyId())
+ .appendEnumQueryParam("keyType", request.getKeyType())
+ .appendListQueryParam(
+ "keyManagerType",
+ request.getKeyManagerType(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentKeyCollection.class,
+ ListCryptoAssessmentKeysResponse.Builder::cryptoAssessmentKeyCollection)
+ .handleResponseHeaderString(
+ "opc-request-id", ListCryptoAssessmentKeysResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", ListCryptoAssessmentKeysResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page", ListCryptoAssessmentKeysResponse.Builder::opcPrevPage)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ listCryptoAssessmentTdeObjects(
+ ListCryptoAssessmentTdeObjectsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentTdeObjectsRequest,
+ ListCryptoAssessmentTdeObjectsResponse>
+ handler) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ Objects.requireNonNull(request.getObjectType(), "objectType is required");
+
+ return clientCall(request, ListCryptoAssessmentTdeObjectsResponse::builder)
+ .logger(LOG, "listCryptoAssessmentTdeObjects")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentTdeObjects",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentTdeObjects")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentTdeObjectsRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam("tdeObjects")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("compartmentIdInSubtree", request.getCompartmentIdInSubtree())
+ .appendEnumQueryParam("accessLevel", request.getAccessLevel())
+ .appendQueryParam("assessmentId", request.getAssessmentId())
+ .appendEnumQueryParam("assessmentType", request.getAssessmentType())
+ .appendQueryParam("targetId", request.getTargetId())
+ .appendListQueryParam(
+ "targetIds",
+ request.getTargetIds(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendEnumQueryParam("objectType", request.getObjectType())
+ .appendEnumQueryParam("quantumReadiness", request.getQuantumReadiness())
+ .appendListQueryParam(
+ "encryptionObserved",
+ request.getEncryptionObserved(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendEnumQueryParam("encryptionStatus", request.getEncryptionStatus())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentTdeObjectCollection.class,
+ ListCryptoAssessmentTdeObjectsResponse.Builder
+ ::cryptoAssessmentTdeObjectCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListCryptoAssessmentTdeObjectsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListCryptoAssessmentTdeObjectsResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page",
+ ListCryptoAssessmentTdeObjectsResponse.Builder::opcPrevPage)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future
+ listCryptoAssessmentWallets(
+ ListCryptoAssessmentWalletsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentWalletsRequest,
+ ListCryptoAssessmentWalletsResponse>
+ handler) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListCryptoAssessmentWalletsResponse::builder)
+ .logger(LOG, "listCryptoAssessmentWallets")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentWallets",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentWallets")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentWalletsRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam("wallets")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("compartmentIdInSubtree", request.getCompartmentIdInSubtree())
+ .appendEnumQueryParam("accessLevel", request.getAccessLevel())
+ .appendQueryParam("assessmentId", request.getAssessmentId())
+ .appendEnumQueryParam("assessmentType", request.getAssessmentType())
+ .appendQueryParam("targetId", request.getTargetId())
+ .appendListQueryParam(
+ "targetIds",
+ request.getTargetIds(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendEnumQueryParam("feature", request.getFeature())
+ .appendListQueryParam(
+ "walletEncryptionAlgorithm",
+ request.getWalletEncryptionAlgorithm(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentWalletCollection.class,
+ ListCryptoAssessmentWalletsResponse.Builder
+ ::cryptoAssessmentWalletCollection)
+ .handleResponseHeaderString(
+ "opc-request-id", ListCryptoAssessmentWalletsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", ListCryptoAssessmentWalletsResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page", ListCryptoAssessmentWalletsResponse.Builder::opcPrevPage)
+ .callAsync(handler);
+ }
+
+ @Override
+ public java.util.concurrent.Future listCryptoAssessments(
+ ListCryptoAssessmentsRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ ListCryptoAssessmentsRequest, ListCryptoAssessmentsResponse>
+ handler) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListCryptoAssessmentsResponse::builder)
+ .logger(LOG, "listCryptoAssessments")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessments",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessments")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentsRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("compartmentIdInSubtree", request.getCompartmentIdInSubtree())
+ .appendEnumQueryParam("accessLevel", request.getAccessLevel())
+ .appendQueryParam("displayName", request.getDisplayName())
+ .appendEnumQueryParam("type", request.getType())
+ .appendQueryParam("assessmentId", request.getAssessmentId())
+ .appendQueryParam("targetId", request.getTargetId())
+ .appendListQueryParam(
+ "targetIds",
+ request.getTargetIds(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendQueryParam("targetDatabaseGroupId", request.getTargetDatabaseGroupId())
+ .appendEnumQueryParam("targetType", request.getTargetType())
+ .appendListQueryParam(
+ "postureCategory",
+ request.getPostureCategory(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendQueryParam("isAssessmentScheduled", request.getIsAssessmentScheduled())
+ .appendEnumQueryParam("lifecycleState", request.getLifecycleState())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentCollection.class,
+ ListCryptoAssessmentsResponse.Builder::cryptoAssessmentCollection)
+ .handleResponseHeaderString(
+ "opc-request-id", ListCryptoAssessmentsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", ListCryptoAssessmentsResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page", ListCryptoAssessmentsResponse.Builder::opcPrevPage)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
listDataSafePrivateEndpoints(
@@ -12565,6 +13341,43 @@ public java.util.concurrent.Future purgeSqlColle
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future refreshCryptoAssessment(
+ RefreshCryptoAssessmentRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ RefreshCryptoAssessmentRequest, RefreshCryptoAssessmentResponse>
+ handler) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+ Objects.requireNonNull(
+ request.getRunCryptoAssessmentDetails(), "runCryptoAssessmentDetails is required");
+
+ return clientCall(request, RefreshCryptoAssessmentResponse::builder)
+ .logger(LOG, "refreshCryptoAssessment")
+ .serviceDetails(
+ "DataSafe",
+ "RefreshCryptoAssessment",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/RefreshCryptoAssessment")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(RefreshCryptoAssessmentRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .appendPathParam("actions")
+ .appendPathParam("refresh")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ RefreshCryptoAssessmentResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id", RefreshCryptoAssessmentResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
refreshDatabaseSecurityConfiguration(
@@ -13589,6 +14402,41 @@ public java.util.concurrent.Future updateAuditTrail(
.callAsync(handler);
}
+ @Override
+ public java.util.concurrent.Future updateCryptoAssessment(
+ UpdateCryptoAssessmentRequest request,
+ final com.oracle.bmc.responses.AsyncHandler<
+ UpdateCryptoAssessmentRequest, UpdateCryptoAssessmentResponse>
+ handler) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+ Objects.requireNonNull(
+ request.getUpdateCryptoAssessmentDetails(),
+ "updateCryptoAssessmentDetails is required");
+
+ return clientCall(request, UpdateCryptoAssessmentResponse::builder)
+ .logger(LOG, "updateCryptoAssessment")
+ .serviceDetails(
+ "DataSafe",
+ "UpdateCryptoAssessment",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/UpdateCryptoAssessment")
+ .method(com.oracle.bmc.http.client.Method.PUT)
+ .requestBuilder(UpdateCryptoAssessmentRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ UpdateCryptoAssessmentResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id", UpdateCryptoAssessmentResponse.Builder::opcRequestId)
+ .callAsync(handler);
+ }
+
@Override
public java.util.concurrent.Future
updateDataSafePrivateEndpoint(
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafeClient.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafeClient.java
index a13f436bfbb..720232fcf9c 100644
--- a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafeClient.java
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafeClient.java
@@ -71,7 +71,7 @@ public class DataSafeClient extends com.oracle.bmc.http.internal.BaseSyncClient
LOG.warn(
com.oracle.bmc.util.StreamUtils.getStreamWarningMessage(
"DataSafeClient",
- "downloadDiscoveryReport,downloadMaskingLog,downloadMaskingPolicy,downloadMaskingReport,downloadPrivilegeScript,downloadSecurityAssessmentReport,downloadSensitiveDataModel,downloadSensitiveTypesExport,downloadUserAssessmentReport,generateOnPremConnectorConfiguration,getReportContent"));
+ "downloadCryptoAssessmentReport,downloadDiscoveryReport,downloadMaskingLog,downloadMaskingPolicy,downloadMaskingReport,downloadPrivilegeScript,downloadSecurityAssessmentReport,downloadSensitiveDataModel,downloadSensitiveTypesExport,downloadUserAssessmentReport,generateOnPremConnectorConfiguration,getReportContent"));
}
}
@@ -153,9 +153,6 @@ public void setRegion(String regionId) {
@Override
public ActivateTargetDatabaseResponse activateTargetDatabase(
ActivateTargetDatabaseRequest request) {
- Objects.requireNonNull(
- request.getActivateTargetDatabaseDetails(),
- "activateTargetDatabaseDetails is required");
Validate.notBlank(request.getTargetDatabaseId(), "targetDatabaseId must not be blank");
@@ -814,6 +811,43 @@ public ChangeAuditProfileCompartmentResponse changeAuditProfileCompartment(
.callSync();
}
+ @Override
+ public ChangeCryptoAssessmentCompartmentResponse changeCryptoAssessmentCompartment(
+ ChangeCryptoAssessmentCompartmentRequest request) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+ Objects.requireNonNull(
+ request.getChangeCryptoAssessmentCompartmentDetails(),
+ "changeCryptoAssessmentCompartmentDetails is required");
+
+ return clientCall(request, ChangeCryptoAssessmentCompartmentResponse::builder)
+ .logger(LOG, "changeCryptoAssessmentCompartment")
+ .serviceDetails(
+ "DataSafe",
+ "ChangeCryptoAssessmentCompartment",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ChangeCryptoAssessmentCompartment")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(ChangeCryptoAssessmentCompartmentRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .appendPathParam("actions")
+ .appendPathParam("changeCompartment")
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .operationUsesDefaultRetries()
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ ChangeCryptoAssessmentCompartmentResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ChangeCryptoAssessmentCompartmentResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public ChangeDataSafePrivateEndpointCompartmentResponse
changeDataSafePrivateEndpointCompartment(
@@ -3160,6 +3194,35 @@ public DeleteAuditTrailResponse deleteAuditTrail(DeleteAuditTrailRequest request
.callSync();
}
+ @Override
+ public DeleteCryptoAssessmentResponse deleteCryptoAssessment(
+ DeleteCryptoAssessmentRequest request) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+
+ return clientCall(request, DeleteCryptoAssessmentResponse::builder)
+ .logger(LOG, "deleteCryptoAssessment")
+ .serviceDetails(
+ "DataSafe",
+ "DeleteCryptoAssessment",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/DeleteCryptoAssessment")
+ .method(com.oracle.bmc.http.client.Method.DELETE)
+ .requestBuilder(DeleteCryptoAssessmentRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ DeleteCryptoAssessmentResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id", DeleteCryptoAssessmentResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public DeleteDataSafePrivateEndpointResponse deleteDataSafePrivateEndpoint(
DeleteDataSafePrivateEndpointRequest request) {
@@ -4143,6 +4206,48 @@ public DiscoverAuditTrailsResponse discoverAuditTrails(DiscoverAuditTrailsReques
.callSync();
}
+ @Override
+ public DownloadCryptoAssessmentReportResponse downloadCryptoAssessmentReport(
+ DownloadCryptoAssessmentReportRequest request) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+ Objects.requireNonNull(
+ request.getDownloadCryptoAssessmentReportDetails(),
+ "downloadCryptoAssessmentReportDetails is required");
+
+ return clientCall(request, DownloadCryptoAssessmentReportResponse::builder)
+ .logger(LOG, "downloadCryptoAssessmentReport")
+ .serviceDetails(
+ "DataSafe",
+ "DownloadCryptoAssessmentReport",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/DownloadCryptoAssessmentReport")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(DownloadCryptoAssessmentReportRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .appendPathParam("actions")
+ .appendPathParam("downloadReport")
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .hasBody()
+ .handleBody(
+ java.io.InputStream.class,
+ DownloadCryptoAssessmentReportResponse.Builder::inputStream)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ DownloadCryptoAssessmentReportResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "etag", DownloadCryptoAssessmentReportResponse.Builder::etag)
+ .handleResponseHeaderLong(
+ "content-length",
+ DownloadCryptoAssessmentReportResponse.Builder::contentLength)
+ .callSync();
+ }
+
@Override
public DownloadDiscoveryReportResponse downloadDiscoveryReport(
DownloadDiscoveryReportRequest request) {
@@ -4516,6 +4621,43 @@ public EnableDataSafeConfigurationResponse enableDataSafeConfiguration(
.callSync();
}
+ @Override
+ public GenerateCryptoAssessmentReportResponse generateCryptoAssessmentReport(
+ GenerateCryptoAssessmentReportRequest request) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+ Objects.requireNonNull(
+ request.getGenerateCryptoAssessmentReportDetails(),
+ "generateCryptoAssessmentReportDetails is required");
+
+ return clientCall(request, GenerateCryptoAssessmentReportResponse::builder)
+ .logger(LOG, "generateCryptoAssessmentReport")
+ .serviceDetails(
+ "DataSafe",
+ "GenerateCryptoAssessmentReport",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/GenerateCryptoAssessmentReport")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(GenerateCryptoAssessmentReportRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .appendPathParam("actions")
+ .appendPathParam("generateReport")
+ .accept("application/json")
+ .appendHeader("if-match", request.getIfMatch())
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ GenerateCryptoAssessmentReportResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ GenerateCryptoAssessmentReportResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public GenerateDiscoveryReportForDownloadResponse generateDiscoveryReportForDownload(
GenerateDiscoveryReportForDownloadRequest request) {
@@ -5181,6 +5323,75 @@ public GetCompatibleFormatsForSensitiveTypesResponse getCompatibleFormatsForSens
.callSync();
}
+ @Override
+ public GetCryptoAssessmentResponse getCryptoAssessment(GetCryptoAssessmentRequest request) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+
+ return clientCall(request, GetCryptoAssessmentResponse::builder)
+ .logger(LOG, "getCryptoAssessment")
+ .serviceDetails(
+ "DataSafe",
+ "GetCryptoAssessment",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/GetCryptoAssessment")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetCryptoAssessmentRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessment.class,
+ GetCryptoAssessmentResponse.Builder::cryptoAssessment)
+ .handleResponseHeaderString(
+ "opc-request-id", GetCryptoAssessmentResponse.Builder::opcRequestId)
+ .handleResponseHeaderString("etag", GetCryptoAssessmentResponse.Builder::etag)
+ .callSync();
+ }
+
+ @Override
+ public GetCryptoAssessmentSqlnetParametersResponse getCryptoAssessmentSqlnetParameters(
+ GetCryptoAssessmentSqlnetParametersRequest request) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+
+ return clientCall(request, GetCryptoAssessmentSqlnetParametersResponse::builder)
+ .logger(LOG, "getCryptoAssessmentSqlnetParameters")
+ .serviceDetails(
+ "DataSafe",
+ "GetCryptoAssessmentSqlnetParameters",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/GetCryptoAssessmentSqlnetParameters")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(GetCryptoAssessmentSqlnetParametersRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .appendPathParam("sqlnetParameters")
+ .appendQueryParam("parameter", request.getParameter())
+ .appendEnumQueryParam("quantumReadiness", request.getQuantumReadiness())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentSqlnetParameters.class,
+ GetCryptoAssessmentSqlnetParametersResponse.Builder
+ ::cryptoAssessmentSqlnetParameters)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ GetCryptoAssessmentSqlnetParametersResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page",
+ GetCryptoAssessmentSqlnetParametersResponse.Builder::opcPrevPage)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ GetCryptoAssessmentSqlnetParametersResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public GetDataSafeConfigurationResponse getDataSafeConfiguration(
GetDataSafeConfigurationRequest request) {
@@ -7468,6 +7679,514 @@ public ListColumnsResponse listColumns(ListColumnsRequest request) {
.callSync();
}
+ @Override
+ public ListCryptoAssessmentBackupSetsResponse listCryptoAssessmentBackupSets(
+ ListCryptoAssessmentBackupSetsRequest request) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListCryptoAssessmentBackupSetsResponse::builder)
+ .logger(LOG, "listCryptoAssessmentBackupSets")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentBackupSets",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentBackupSets")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentBackupSetsRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam("backupSets")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("compartmentIdInSubtree", request.getCompartmentIdInSubtree())
+ .appendEnumQueryParam("accessLevel", request.getAccessLevel())
+ .appendQueryParam("assessmentId", request.getAssessmentId())
+ .appendEnumQueryParam("assessmentType", request.getAssessmentType())
+ .appendQueryParam("targetId", request.getTargetId())
+ .appendListQueryParam(
+ "targetIds",
+ request.getTargetIds(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendQueryParam("backupSetKey", request.getBackupSetKey())
+ .appendQueryParam("isEncrypted", request.getIsEncrypted())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentBackupSetCollection.class,
+ ListCryptoAssessmentBackupSetsResponse.Builder
+ ::cryptoAssessmentBackupSetCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListCryptoAssessmentBackupSetsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListCryptoAssessmentBackupSetsResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page",
+ ListCryptoAssessmentBackupSetsResponse.Builder::opcPrevPage)
+ .callSync();
+ }
+
+ @Override
+ public ListCryptoAssessmentCbomItemsResponse listCryptoAssessmentCbomItems(
+ ListCryptoAssessmentCbomItemsRequest request) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+
+ return clientCall(request, ListCryptoAssessmentCbomItemsResponse::builder)
+ .logger(LOG, "listCryptoAssessmentCbomItems")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentCbomItems",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentCbomItems")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentCbomItemsRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .appendPathParam("cbomItems")
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentCbomItemCollection.class,
+ ListCryptoAssessmentCbomItemsResponse.Builder
+ ::cryptoAssessmentCbomItemCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListCryptoAssessmentCbomItemsResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
+ @Override
+ public ListCryptoAssessmentCertificatesResponse listCryptoAssessmentCertificates(
+ ListCryptoAssessmentCertificatesRequest request) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListCryptoAssessmentCertificatesResponse::builder)
+ .logger(LOG, "listCryptoAssessmentCertificates")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentCertificates",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentCertificates")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentCertificatesRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam("certificates")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("compartmentIdInSubtree", request.getCompartmentIdInSubtree())
+ .appendEnumQueryParam("accessLevel", request.getAccessLevel())
+ .appendQueryParam("assessmentId", request.getAssessmentId())
+ .appendEnumQueryParam("assessmentType", request.getAssessmentType())
+ .appendQueryParam("targetId", request.getTargetId())
+ .appendListQueryParam(
+ "targetIds",
+ request.getTargetIds(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "certificateType",
+ request.getCertificateType(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "status",
+ request.getStatus(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "publicKeyType",
+ request.getPublicKeyType(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendListQueryParam(
+ "signatureAlgorithm",
+ request.getSignatureAlgorithm(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendQueryParam("expiryBucket", request.getExpiryBucket())
+ .appendQueryParam("daysToExpiry", request.getDaysToExpiry())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentCertificateCollection.class,
+ ListCryptoAssessmentCertificatesResponse.Builder
+ ::cryptoAssessmentCertificateCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListCryptoAssessmentCertificatesResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListCryptoAssessmentCertificatesResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page",
+ ListCryptoAssessmentCertificatesResponse.Builder::opcPrevPage)
+ .callSync();
+ }
+
+ @Override
+ public ListCryptoAssessmentFindingAnalyticsResponse listCryptoAssessmentFindingAnalytics(
+ ListCryptoAssessmentFindingAnalyticsRequest request) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListCryptoAssessmentFindingAnalyticsResponse::builder)
+ .logger(LOG, "listCryptoAssessmentFindingAnalytics")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentFindingAnalytics",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentFindingAnalytics")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentFindingAnalyticsRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam("findingAnalytics")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("compartmentIdInSubtree", request.getCompartmentIdInSubtree())
+ .appendEnumQueryParam("accessLevel", request.getAccessLevel())
+ .appendEnumQueryParam("category", request.getCategory())
+ .appendListQueryParam(
+ "findingKey",
+ request.getFindingKey(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendQueryParam("isQuantumReadinessCheck", request.getIsQuantumReadinessCheck())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentFindingAnalyticsCollection
+ .class,
+ ListCryptoAssessmentFindingAnalyticsResponse.Builder
+ ::cryptoAssessmentFindingAnalyticsCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListCryptoAssessmentFindingAnalyticsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListCryptoAssessmentFindingAnalyticsResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page",
+ ListCryptoAssessmentFindingAnalyticsResponse.Builder::opcPrevPage)
+ .callSync();
+ }
+
+ @Override
+ public ListCryptoAssessmentFindingTargetsResponse listCryptoAssessmentFindingTargets(
+ ListCryptoAssessmentFindingTargetsRequest request) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ Objects.requireNonNull(request.getFindingKey(), "findingKey is required");
+
+ return clientCall(request, ListCryptoAssessmentFindingTargetsResponse::builder)
+ .logger(LOG, "listCryptoAssessmentFindingTargets")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentFindingTargets",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentFindingTargets")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentFindingTargetsRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam("findingTargets")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendListQueryParam(
+ "findingKey",
+ request.getFindingKey(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendEnumQueryParam("assessmentType", request.getAssessmentType())
+ .appendQueryParam("targetId", request.getTargetId())
+ .appendListQueryParam(
+ "targetIds",
+ request.getTargetIds(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendEnumQueryParam("status", request.getStatus())
+ .appendQueryParam("isQuantumReadinessCheck", request.getIsQuantumReadinessCheck())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendQueryParam("compartmentIdInSubtree", request.getCompartmentIdInSubtree())
+ .appendEnumQueryParam("accessLevel", request.getAccessLevel())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentFindingTargetCollection.class,
+ ListCryptoAssessmentFindingTargetsResponse.Builder
+ ::cryptoAssessmentFindingTargetCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListCryptoAssessmentFindingTargetsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListCryptoAssessmentFindingTargetsResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page",
+ ListCryptoAssessmentFindingTargetsResponse.Builder::opcPrevPage)
+ .callSync();
+ }
+
+ @Override
+ public ListCryptoAssessmentFindingsResponse listCryptoAssessmentFindings(
+ ListCryptoAssessmentFindingsRequest request) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+
+ return clientCall(request, ListCryptoAssessmentFindingsResponse::builder)
+ .logger(LOG, "listCryptoAssessmentFindings")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentFindings",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentFindings")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentFindingsRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .appendPathParam("findings")
+ .appendQueryParam("findingKey", request.getFindingKey())
+ .appendQueryParam("title", request.getTitle())
+ .appendEnumQueryParam("category", request.getCategory())
+ .appendEnumQueryParam("status", request.getStatus())
+ .appendQueryParam("isQuantumReadinessCheck", request.getIsQuantumReadinessCheck())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentFindingCollection.class,
+ ListCryptoAssessmentFindingsResponse.Builder
+ ::cryptoAssessmentFindingCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListCryptoAssessmentFindingsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", ListCryptoAssessmentFindingsResponse.Builder::opcNextPage)
+ .callSync();
+ }
+
+ @Override
+ public ListCryptoAssessmentKeysResponse listCryptoAssessmentKeys(
+ ListCryptoAssessmentKeysRequest request) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListCryptoAssessmentKeysResponse::builder)
+ .logger(LOG, "listCryptoAssessmentKeys")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentKeys",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentKeys")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentKeysRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam("keys")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("compartmentIdInSubtree", request.getCompartmentIdInSubtree())
+ .appendEnumQueryParam("accessLevel", request.getAccessLevel())
+ .appendQueryParam("assessmentId", request.getAssessmentId())
+ .appendEnumQueryParam("assessmentType", request.getAssessmentType())
+ .appendQueryParam("targetId", request.getTargetId())
+ .appendListQueryParam(
+ "targetIds",
+ request.getTargetIds(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendEnumQueryParam("feature", request.getFeature())
+ .appendQueryParam("keyId", request.getKeyId())
+ .appendEnumQueryParam("keyType", request.getKeyType())
+ .appendListQueryParam(
+ "keyManagerType",
+ request.getKeyManagerType(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentKeyCollection.class,
+ ListCryptoAssessmentKeysResponse.Builder::cryptoAssessmentKeyCollection)
+ .handleResponseHeaderString(
+ "opc-request-id", ListCryptoAssessmentKeysResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", ListCryptoAssessmentKeysResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page", ListCryptoAssessmentKeysResponse.Builder::opcPrevPage)
+ .callSync();
+ }
+
+ @Override
+ public ListCryptoAssessmentTdeObjectsResponse listCryptoAssessmentTdeObjects(
+ ListCryptoAssessmentTdeObjectsRequest request) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ Objects.requireNonNull(request.getObjectType(), "objectType is required");
+
+ return clientCall(request, ListCryptoAssessmentTdeObjectsResponse::builder)
+ .logger(LOG, "listCryptoAssessmentTdeObjects")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentTdeObjects",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentTdeObjects")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentTdeObjectsRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam("tdeObjects")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("compartmentIdInSubtree", request.getCompartmentIdInSubtree())
+ .appendEnumQueryParam("accessLevel", request.getAccessLevel())
+ .appendQueryParam("assessmentId", request.getAssessmentId())
+ .appendEnumQueryParam("assessmentType", request.getAssessmentType())
+ .appendQueryParam("targetId", request.getTargetId())
+ .appendListQueryParam(
+ "targetIds",
+ request.getTargetIds(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendEnumQueryParam("objectType", request.getObjectType())
+ .appendEnumQueryParam("quantumReadiness", request.getQuantumReadiness())
+ .appendListQueryParam(
+ "encryptionObserved",
+ request.getEncryptionObserved(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendEnumQueryParam("encryptionStatus", request.getEncryptionStatus())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentTdeObjectCollection.class,
+ ListCryptoAssessmentTdeObjectsResponse.Builder
+ ::cryptoAssessmentTdeObjectCollection)
+ .handleResponseHeaderString(
+ "opc-request-id",
+ ListCryptoAssessmentTdeObjectsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page",
+ ListCryptoAssessmentTdeObjectsResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page",
+ ListCryptoAssessmentTdeObjectsResponse.Builder::opcPrevPage)
+ .callSync();
+ }
+
+ @Override
+ public ListCryptoAssessmentWalletsResponse listCryptoAssessmentWallets(
+ ListCryptoAssessmentWalletsRequest request) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListCryptoAssessmentWalletsResponse::builder)
+ .logger(LOG, "listCryptoAssessmentWallets")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessmentWallets",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessmentWallets")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentWalletsRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam("wallets")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("compartmentIdInSubtree", request.getCompartmentIdInSubtree())
+ .appendEnumQueryParam("accessLevel", request.getAccessLevel())
+ .appendQueryParam("assessmentId", request.getAssessmentId())
+ .appendEnumQueryParam("assessmentType", request.getAssessmentType())
+ .appendQueryParam("targetId", request.getTargetId())
+ .appendListQueryParam(
+ "targetIds",
+ request.getTargetIds(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendEnumQueryParam("feature", request.getFeature())
+ .appendListQueryParam(
+ "walletEncryptionAlgorithm",
+ request.getWalletEncryptionAlgorithm(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentWalletCollection.class,
+ ListCryptoAssessmentWalletsResponse.Builder
+ ::cryptoAssessmentWalletCollection)
+ .handleResponseHeaderString(
+ "opc-request-id", ListCryptoAssessmentWalletsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", ListCryptoAssessmentWalletsResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page", ListCryptoAssessmentWalletsResponse.Builder::opcPrevPage)
+ .callSync();
+ }
+
+ @Override
+ public ListCryptoAssessmentsResponse listCryptoAssessments(
+ ListCryptoAssessmentsRequest request) {
+ Objects.requireNonNull(request.getCompartmentId(), "compartmentId is required");
+
+ return clientCall(request, ListCryptoAssessmentsResponse::builder)
+ .logger(LOG, "listCryptoAssessments")
+ .serviceDetails(
+ "DataSafe",
+ "ListCryptoAssessments",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/ListCryptoAssessments")
+ .method(com.oracle.bmc.http.client.Method.GET)
+ .requestBuilder(ListCryptoAssessmentsRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendQueryParam("compartmentId", request.getCompartmentId())
+ .appendQueryParam("compartmentIdInSubtree", request.getCompartmentIdInSubtree())
+ .appendEnumQueryParam("accessLevel", request.getAccessLevel())
+ .appendQueryParam("displayName", request.getDisplayName())
+ .appendEnumQueryParam("type", request.getType())
+ .appendQueryParam("assessmentId", request.getAssessmentId())
+ .appendQueryParam("targetId", request.getTargetId())
+ .appendListQueryParam(
+ "targetIds",
+ request.getTargetIds(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendQueryParam("targetDatabaseGroupId", request.getTargetDatabaseGroupId())
+ .appendEnumQueryParam("targetType", request.getTargetType())
+ .appendListQueryParam(
+ "postureCategory",
+ request.getPostureCategory(),
+ com.oracle.bmc.util.internal.CollectionFormatType.Multi)
+ .appendQueryParam("isAssessmentScheduled", request.getIsAssessmentScheduled())
+ .appendEnumQueryParam("lifecycleState", request.getLifecycleState())
+ .appendEnumQueryParam("sortBy", request.getSortBy())
+ .appendEnumQueryParam("sortOrder", request.getSortOrder())
+ .appendQueryParam("limit", request.getLimit())
+ .appendQueryParam("page", request.getPage())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .operationUsesDefaultRetries()
+ .handleBody(
+ com.oracle.bmc.datasafe.model.CryptoAssessmentCollection.class,
+ ListCryptoAssessmentsResponse.Builder::cryptoAssessmentCollection)
+ .handleResponseHeaderString(
+ "opc-request-id", ListCryptoAssessmentsResponse.Builder::opcRequestId)
+ .handleResponseHeaderString(
+ "opc-next-page", ListCryptoAssessmentsResponse.Builder::opcNextPage)
+ .handleResponseHeaderString(
+ "opc-prev-page", ListCryptoAssessmentsResponse.Builder::opcPrevPage)
+ .callSync();
+ }
+
@Override
public ListDataSafePrivateEndpointsResponse listDataSafePrivateEndpoints(
ListDataSafePrivateEndpointsRequest request) {
@@ -11667,6 +12386,41 @@ public PurgeSqlCollectionLogsResponse purgeSqlCollectionLogs(
.callSync();
}
+ @Override
+ public RefreshCryptoAssessmentResponse refreshCryptoAssessment(
+ RefreshCryptoAssessmentRequest request) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+ Objects.requireNonNull(
+ request.getRunCryptoAssessmentDetails(), "runCryptoAssessmentDetails is required");
+
+ return clientCall(request, RefreshCryptoAssessmentResponse::builder)
+ .logger(LOG, "refreshCryptoAssessment")
+ .serviceDetails(
+ "DataSafe",
+ "RefreshCryptoAssessment",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/RefreshCryptoAssessment")
+ .method(com.oracle.bmc.http.client.Method.POST)
+ .requestBuilder(RefreshCryptoAssessmentRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .appendPathParam("actions")
+ .appendPathParam("refresh")
+ .accept("application/json")
+ .appendHeader("opc-retry-token", request.getOpcRetryToken())
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .operationUsesDefaultRetries()
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ RefreshCryptoAssessmentResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id", RefreshCryptoAssessmentResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public RefreshDatabaseSecurityConfigurationResponse refreshDatabaseSecurityConfiguration(
RefreshDatabaseSecurityConfigurationRequest request) {
@@ -12603,6 +13357,39 @@ public UpdateAuditTrailResponse updateAuditTrail(UpdateAuditTrailRequest request
.callSync();
}
+ @Override
+ public UpdateCryptoAssessmentResponse updateCryptoAssessment(
+ UpdateCryptoAssessmentRequest request) {
+
+ Validate.notBlank(request.getCryptoAssessmentId(), "cryptoAssessmentId must not be blank");
+ Objects.requireNonNull(
+ request.getUpdateCryptoAssessmentDetails(),
+ "updateCryptoAssessmentDetails is required");
+
+ return clientCall(request, UpdateCryptoAssessmentResponse::builder)
+ .logger(LOG, "updateCryptoAssessment")
+ .serviceDetails(
+ "DataSafe",
+ "UpdateCryptoAssessment",
+ "https://docs.oracle.com/iaas/api/#/en/data-safe/20181201/CryptoAssessment/UpdateCryptoAssessment")
+ .method(com.oracle.bmc.http.client.Method.PUT)
+ .requestBuilder(UpdateCryptoAssessmentRequest::builder)
+ .basePath("/20181201")
+ .appendPathParam("cryptoAssessments")
+ .appendPathParam(request.getCryptoAssessmentId())
+ .accept("application/json")
+ .appendHeader("opc-request-id", request.getOpcRequestId())
+ .appendHeader("if-match", request.getIfMatch())
+ .operationUsesDefaultRetries()
+ .hasBody()
+ .handleResponseHeaderString(
+ "opc-work-request-id",
+ UpdateCryptoAssessmentResponse.Builder::opcWorkRequestId)
+ .handleResponseHeaderString(
+ "opc-request-id", UpdateCryptoAssessmentResponse.Builder::opcRequestId)
+ .callSync();
+ }
+
@Override
public UpdateDataSafePrivateEndpointResponse updateDataSafePrivateEndpoint(
UpdateDataSafePrivateEndpointRequest request) {
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafePaginators.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafePaginators.java
index f0573215f2a..743b830fe14 100644
--- a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafePaginators.java
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafePaginators.java
@@ -2308,6 +2308,1161 @@ public java.util.List apply(
});
}
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listCryptoAssessmentBackupSets operation. This iterable will fetch more data from the server
+ * as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the responses
+ * received from the service.
+ */
+ public Iterable
+ listCryptoAssessmentBackupSetsResponseIterator(
+ final ListCryptoAssessmentBackupSetsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListCryptoAssessmentBackupSetsRequest.Builder,
+ ListCryptoAssessmentBackupSetsRequest,
+ ListCryptoAssessmentBackupSetsResponse>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListCryptoAssessmentBackupSetsRequest.Builder get() {
+ return ListCryptoAssessmentBackupSetsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListCryptoAssessmentBackupSetsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentBackupSetsRequest.Builder>,
+ ListCryptoAssessmentBackupSetsRequest>() {
+ @Override
+ public ListCryptoAssessmentBackupSetsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentBackupSetsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentBackupSetsRequest,
+ ListCryptoAssessmentBackupSetsResponse>() {
+ @Override
+ public ListCryptoAssessmentBackupSetsResponse apply(
+ ListCryptoAssessmentBackupSetsRequest request) {
+ return client.listCryptoAssessmentBackupSets(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentBackupSetSummary} objects contained in
+ * responses from the listCryptoAssessmentBackupSets operation. This iterable will fetch more
+ * data from the server as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentBackupSetSummary} objects contained in
+ * responses received from the service.
+ */
+ public Iterable
+ listCryptoAssessmentBackupSetsRecordIterator(
+ final ListCryptoAssessmentBackupSetsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListCryptoAssessmentBackupSetsRequest.Builder,
+ ListCryptoAssessmentBackupSetsRequest,
+ ListCryptoAssessmentBackupSetsResponse,
+ com.oracle.bmc.datasafe.model.CryptoAssessmentBackupSetSummary>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListCryptoAssessmentBackupSetsRequest.Builder get() {
+ return ListCryptoAssessmentBackupSetsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListCryptoAssessmentBackupSetsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentBackupSetsRequest.Builder>,
+ ListCryptoAssessmentBackupSetsRequest>() {
+ @Override
+ public ListCryptoAssessmentBackupSetsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentBackupSetsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentBackupSetsRequest,
+ ListCryptoAssessmentBackupSetsResponse>() {
+ @Override
+ public ListCryptoAssessmentBackupSetsResponse apply(
+ ListCryptoAssessmentBackupSetsRequest request) {
+ return client.listCryptoAssessmentBackupSets(request);
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentBackupSetsResponse,
+ java.util.List<
+ com.oracle.bmc.datasafe.model.CryptoAssessmentBackupSetSummary>>() {
+ @Override
+ public java.util.List<
+ com.oracle.bmc.datasafe.model.CryptoAssessmentBackupSetSummary>
+ apply(ListCryptoAssessmentBackupSetsResponse response) {
+ return response.getCryptoAssessmentBackupSetCollection().getItems();
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listCryptoAssessmentCertificates operation. This iterable will fetch more data from the
+ * server as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the responses
+ * received from the service.
+ */
+ public Iterable
+ listCryptoAssessmentCertificatesResponseIterator(
+ final ListCryptoAssessmentCertificatesRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListCryptoAssessmentCertificatesRequest.Builder,
+ ListCryptoAssessmentCertificatesRequest,
+ ListCryptoAssessmentCertificatesResponse>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListCryptoAssessmentCertificatesRequest.Builder get() {
+ return ListCryptoAssessmentCertificatesRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentCertificatesResponse, String>() {
+ @Override
+ public String apply(ListCryptoAssessmentCertificatesResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentCertificatesRequest.Builder>,
+ ListCryptoAssessmentCertificatesRequest>() {
+ @Override
+ public ListCryptoAssessmentCertificatesRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentCertificatesRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentCertificatesRequest,
+ ListCryptoAssessmentCertificatesResponse>() {
+ @Override
+ public ListCryptoAssessmentCertificatesResponse apply(
+ ListCryptoAssessmentCertificatesRequest request) {
+ return client.listCryptoAssessmentCertificates(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentCertificateSummary} objects contained in
+ * responses from the listCryptoAssessmentCertificates operation. This iterable will fetch more
+ * data from the server as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentCertificateSummary} objects contained in
+ * responses received from the service.
+ */
+ public Iterable
+ listCryptoAssessmentCertificatesRecordIterator(
+ final ListCryptoAssessmentCertificatesRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListCryptoAssessmentCertificatesRequest.Builder,
+ ListCryptoAssessmentCertificatesRequest,
+ ListCryptoAssessmentCertificatesResponse,
+ com.oracle.bmc.datasafe.model.CryptoAssessmentCertificateSummary>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListCryptoAssessmentCertificatesRequest.Builder get() {
+ return ListCryptoAssessmentCertificatesRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentCertificatesResponse, String>() {
+ @Override
+ public String apply(ListCryptoAssessmentCertificatesResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentCertificatesRequest.Builder>,
+ ListCryptoAssessmentCertificatesRequest>() {
+ @Override
+ public ListCryptoAssessmentCertificatesRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentCertificatesRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentCertificatesRequest,
+ ListCryptoAssessmentCertificatesResponse>() {
+ @Override
+ public ListCryptoAssessmentCertificatesResponse apply(
+ ListCryptoAssessmentCertificatesRequest request) {
+ return client.listCryptoAssessmentCertificates(request);
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentCertificatesResponse,
+ java.util.List<
+ com.oracle.bmc.datasafe.model
+ .CryptoAssessmentCertificateSummary>>() {
+ @Override
+ public java.util.List<
+ com.oracle.bmc.datasafe.model
+ .CryptoAssessmentCertificateSummary>
+ apply(ListCryptoAssessmentCertificatesResponse response) {
+ return response.getCryptoAssessmentCertificateCollection().getItems();
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listCryptoAssessmentFindingAnalytics operation. This iterable will fetch more data from the
+ * server as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the responses
+ * received from the service.
+ */
+ public Iterable
+ listCryptoAssessmentFindingAnalyticsResponseIterator(
+ final ListCryptoAssessmentFindingAnalyticsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListCryptoAssessmentFindingAnalyticsRequest.Builder,
+ ListCryptoAssessmentFindingAnalyticsRequest,
+ ListCryptoAssessmentFindingAnalyticsResponse>(
+ new java.util.function.Supplier<
+ ListCryptoAssessmentFindingAnalyticsRequest.Builder>() {
+ @Override
+ public ListCryptoAssessmentFindingAnalyticsRequest.Builder get() {
+ return ListCryptoAssessmentFindingAnalyticsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentFindingAnalyticsResponse, String>() {
+ @Override
+ public String apply(ListCryptoAssessmentFindingAnalyticsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentFindingAnalyticsRequest.Builder>,
+ ListCryptoAssessmentFindingAnalyticsRequest>() {
+ @Override
+ public ListCryptoAssessmentFindingAnalyticsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentFindingAnalyticsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentFindingAnalyticsRequest,
+ ListCryptoAssessmentFindingAnalyticsResponse>() {
+ @Override
+ public ListCryptoAssessmentFindingAnalyticsResponse apply(
+ ListCryptoAssessmentFindingAnalyticsRequest request) {
+ return client.listCryptoAssessmentFindingAnalytics(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentFindingAnalyticsSummary} objects contained in
+ * responses from the listCryptoAssessmentFindingAnalytics operation. This iterable will fetch
+ * more data from the server as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentFindingAnalyticsSummary} objects contained
+ * in responses received from the service.
+ */
+ public Iterable
+ listCryptoAssessmentFindingAnalyticsRecordIterator(
+ final ListCryptoAssessmentFindingAnalyticsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListCryptoAssessmentFindingAnalyticsRequest.Builder,
+ ListCryptoAssessmentFindingAnalyticsRequest,
+ ListCryptoAssessmentFindingAnalyticsResponse,
+ com.oracle.bmc.datasafe.model.CryptoAssessmentFindingAnalyticsSummary>(
+ new java.util.function.Supplier<
+ ListCryptoAssessmentFindingAnalyticsRequest.Builder>() {
+ @Override
+ public ListCryptoAssessmentFindingAnalyticsRequest.Builder get() {
+ return ListCryptoAssessmentFindingAnalyticsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentFindingAnalyticsResponse, String>() {
+ @Override
+ public String apply(ListCryptoAssessmentFindingAnalyticsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentFindingAnalyticsRequest.Builder>,
+ ListCryptoAssessmentFindingAnalyticsRequest>() {
+ @Override
+ public ListCryptoAssessmentFindingAnalyticsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentFindingAnalyticsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentFindingAnalyticsRequest,
+ ListCryptoAssessmentFindingAnalyticsResponse>() {
+ @Override
+ public ListCryptoAssessmentFindingAnalyticsResponse apply(
+ ListCryptoAssessmentFindingAnalyticsRequest request) {
+ return client.listCryptoAssessmentFindingAnalytics(request);
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentFindingAnalyticsResponse,
+ java.util.List<
+ com.oracle.bmc.datasafe.model
+ .CryptoAssessmentFindingAnalyticsSummary>>() {
+ @Override
+ public java.util.List<
+ com.oracle.bmc.datasafe.model
+ .CryptoAssessmentFindingAnalyticsSummary>
+ apply(ListCryptoAssessmentFindingAnalyticsResponse response) {
+ return response.getCryptoAssessmentFindingAnalyticsCollection().getItems();
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listCryptoAssessmentFindingTargets operation. This iterable will fetch more data from the
+ * server as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the responses
+ * received from the service.
+ */
+ public Iterable
+ listCryptoAssessmentFindingTargetsResponseIterator(
+ final ListCryptoAssessmentFindingTargetsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListCryptoAssessmentFindingTargetsRequest.Builder,
+ ListCryptoAssessmentFindingTargetsRequest,
+ ListCryptoAssessmentFindingTargetsResponse>(
+ new java.util.function.Supplier<
+ ListCryptoAssessmentFindingTargetsRequest.Builder>() {
+ @Override
+ public ListCryptoAssessmentFindingTargetsRequest.Builder get() {
+ return ListCryptoAssessmentFindingTargetsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentFindingTargetsResponse, String>() {
+ @Override
+ public String apply(ListCryptoAssessmentFindingTargetsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentFindingTargetsRequest.Builder>,
+ ListCryptoAssessmentFindingTargetsRequest>() {
+ @Override
+ public ListCryptoAssessmentFindingTargetsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentFindingTargetsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentFindingTargetsRequest,
+ ListCryptoAssessmentFindingTargetsResponse>() {
+ @Override
+ public ListCryptoAssessmentFindingTargetsResponse apply(
+ ListCryptoAssessmentFindingTargetsRequest request) {
+ return client.listCryptoAssessmentFindingTargets(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentFindingTargetSummary} objects contained in
+ * responses from the listCryptoAssessmentFindingTargets operation. This iterable will fetch
+ * more data from the server as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentFindingTargetSummary} objects contained in
+ * responses received from the service.
+ */
+ public Iterable
+ listCryptoAssessmentFindingTargetsRecordIterator(
+ final ListCryptoAssessmentFindingTargetsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListCryptoAssessmentFindingTargetsRequest.Builder,
+ ListCryptoAssessmentFindingTargetsRequest,
+ ListCryptoAssessmentFindingTargetsResponse,
+ com.oracle.bmc.datasafe.model.CryptoAssessmentFindingTargetSummary>(
+ new java.util.function.Supplier<
+ ListCryptoAssessmentFindingTargetsRequest.Builder>() {
+ @Override
+ public ListCryptoAssessmentFindingTargetsRequest.Builder get() {
+ return ListCryptoAssessmentFindingTargetsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentFindingTargetsResponse, String>() {
+ @Override
+ public String apply(ListCryptoAssessmentFindingTargetsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentFindingTargetsRequest.Builder>,
+ ListCryptoAssessmentFindingTargetsRequest>() {
+ @Override
+ public ListCryptoAssessmentFindingTargetsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentFindingTargetsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentFindingTargetsRequest,
+ ListCryptoAssessmentFindingTargetsResponse>() {
+ @Override
+ public ListCryptoAssessmentFindingTargetsResponse apply(
+ ListCryptoAssessmentFindingTargetsRequest request) {
+ return client.listCryptoAssessmentFindingTargets(request);
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentFindingTargetsResponse,
+ java.util.List<
+ com.oracle.bmc.datasafe.model
+ .CryptoAssessmentFindingTargetSummary>>() {
+ @Override
+ public java.util.List<
+ com.oracle.bmc.datasafe.model
+ .CryptoAssessmentFindingTargetSummary>
+ apply(ListCryptoAssessmentFindingTargetsResponse response) {
+ return response.getCryptoAssessmentFindingTargetCollection().getItems();
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listCryptoAssessmentFindings operation. This iterable will fetch more data from the server as
+ * needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the responses
+ * received from the service.
+ */
+ public Iterable
+ listCryptoAssessmentFindingsResponseIterator(
+ final ListCryptoAssessmentFindingsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListCryptoAssessmentFindingsRequest.Builder,
+ ListCryptoAssessmentFindingsRequest,
+ ListCryptoAssessmentFindingsResponse>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListCryptoAssessmentFindingsRequest.Builder get() {
+ return ListCryptoAssessmentFindingsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListCryptoAssessmentFindingsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentFindingsRequest.Builder>,
+ ListCryptoAssessmentFindingsRequest>() {
+ @Override
+ public ListCryptoAssessmentFindingsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentFindingsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentFindingsRequest,
+ ListCryptoAssessmentFindingsResponse>() {
+ @Override
+ public ListCryptoAssessmentFindingsResponse apply(
+ ListCryptoAssessmentFindingsRequest request) {
+ return client.listCryptoAssessmentFindings(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentFindingSummary} objects contained in responses
+ * from the listCryptoAssessmentFindings operation. This iterable will fetch more data from the
+ * server as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentFindingSummary} objects contained in
+ * responses received from the service.
+ */
+ public Iterable
+ listCryptoAssessmentFindingsRecordIterator(
+ final ListCryptoAssessmentFindingsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListCryptoAssessmentFindingsRequest.Builder,
+ ListCryptoAssessmentFindingsRequest,
+ ListCryptoAssessmentFindingsResponse,
+ com.oracle.bmc.datasafe.model.CryptoAssessmentFindingSummary>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListCryptoAssessmentFindingsRequest.Builder get() {
+ return ListCryptoAssessmentFindingsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListCryptoAssessmentFindingsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentFindingsRequest.Builder>,
+ ListCryptoAssessmentFindingsRequest>() {
+ @Override
+ public ListCryptoAssessmentFindingsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentFindingsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentFindingsRequest,
+ ListCryptoAssessmentFindingsResponse>() {
+ @Override
+ public ListCryptoAssessmentFindingsResponse apply(
+ ListCryptoAssessmentFindingsRequest request) {
+ return client.listCryptoAssessmentFindings(request);
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentFindingsResponse,
+ java.util.List<
+ com.oracle.bmc.datasafe.model.CryptoAssessmentFindingSummary>>() {
+ @Override
+ public java.util.List<
+ com.oracle.bmc.datasafe.model.CryptoAssessmentFindingSummary>
+ apply(ListCryptoAssessmentFindingsResponse response) {
+ return response.getCryptoAssessmentFindingCollection().getItems();
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listCryptoAssessmentKeys operation. This iterable will fetch more data from the server as
+ * needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the responses
+ * received from the service.
+ */
+ public Iterable listCryptoAssessmentKeysResponseIterator(
+ final ListCryptoAssessmentKeysRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListCryptoAssessmentKeysRequest.Builder,
+ ListCryptoAssessmentKeysRequest,
+ ListCryptoAssessmentKeysResponse>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListCryptoAssessmentKeysRequest.Builder get() {
+ return ListCryptoAssessmentKeysRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListCryptoAssessmentKeysResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentKeysRequest.Builder>,
+ ListCryptoAssessmentKeysRequest>() {
+ @Override
+ public ListCryptoAssessmentKeysRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentKeysRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentKeysRequest, ListCryptoAssessmentKeysResponse>() {
+ @Override
+ public ListCryptoAssessmentKeysResponse apply(
+ ListCryptoAssessmentKeysRequest request) {
+ return client.listCryptoAssessmentKeys(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentKeySummary} objects contained in responses from
+ * the listCryptoAssessmentKeys operation. This iterable will fetch more data from the server as
+ * needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentKeySummary} objects contained in responses
+ * received from the service.
+ */
+ public Iterable
+ listCryptoAssessmentKeysRecordIterator(final ListCryptoAssessmentKeysRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListCryptoAssessmentKeysRequest.Builder,
+ ListCryptoAssessmentKeysRequest,
+ ListCryptoAssessmentKeysResponse,
+ com.oracle.bmc.datasafe.model.CryptoAssessmentKeySummary>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListCryptoAssessmentKeysRequest.Builder get() {
+ return ListCryptoAssessmentKeysRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListCryptoAssessmentKeysResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentKeysRequest.Builder>,
+ ListCryptoAssessmentKeysRequest>() {
+ @Override
+ public ListCryptoAssessmentKeysRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentKeysRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentKeysRequest, ListCryptoAssessmentKeysResponse>() {
+ @Override
+ public ListCryptoAssessmentKeysResponse apply(
+ ListCryptoAssessmentKeysRequest request) {
+ return client.listCryptoAssessmentKeys(request);
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentKeysResponse,
+ java.util.List<
+ com.oracle.bmc.datasafe.model.CryptoAssessmentKeySummary>>() {
+ @Override
+ public java.util.List
+ apply(ListCryptoAssessmentKeysResponse response) {
+ return response.getCryptoAssessmentKeyCollection().getItems();
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listCryptoAssessmentTdeObjects operation. This iterable will fetch more data from the server
+ * as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the responses
+ * received from the service.
+ */
+ public Iterable
+ listCryptoAssessmentTdeObjectsResponseIterator(
+ final ListCryptoAssessmentTdeObjectsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListCryptoAssessmentTdeObjectsRequest.Builder,
+ ListCryptoAssessmentTdeObjectsRequest,
+ ListCryptoAssessmentTdeObjectsResponse>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListCryptoAssessmentTdeObjectsRequest.Builder get() {
+ return ListCryptoAssessmentTdeObjectsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListCryptoAssessmentTdeObjectsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentTdeObjectsRequest.Builder>,
+ ListCryptoAssessmentTdeObjectsRequest>() {
+ @Override
+ public ListCryptoAssessmentTdeObjectsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentTdeObjectsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentTdeObjectsRequest,
+ ListCryptoAssessmentTdeObjectsResponse>() {
+ @Override
+ public ListCryptoAssessmentTdeObjectsResponse apply(
+ ListCryptoAssessmentTdeObjectsRequest request) {
+ return client.listCryptoAssessmentTdeObjects(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentTdeObjectSummary} objects contained in
+ * responses from the listCryptoAssessmentTdeObjects operation. This iterable will fetch more
+ * data from the server as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentTdeObjectSummary} objects contained in
+ * responses received from the service.
+ */
+ public Iterable
+ listCryptoAssessmentTdeObjectsRecordIterator(
+ final ListCryptoAssessmentTdeObjectsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListCryptoAssessmentTdeObjectsRequest.Builder,
+ ListCryptoAssessmentTdeObjectsRequest,
+ ListCryptoAssessmentTdeObjectsResponse,
+ com.oracle.bmc.datasafe.model.CryptoAssessmentTdeObjectSummary>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListCryptoAssessmentTdeObjectsRequest.Builder get() {
+ return ListCryptoAssessmentTdeObjectsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListCryptoAssessmentTdeObjectsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentTdeObjectsRequest.Builder>,
+ ListCryptoAssessmentTdeObjectsRequest>() {
+ @Override
+ public ListCryptoAssessmentTdeObjectsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentTdeObjectsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentTdeObjectsRequest,
+ ListCryptoAssessmentTdeObjectsResponse>() {
+ @Override
+ public ListCryptoAssessmentTdeObjectsResponse apply(
+ ListCryptoAssessmentTdeObjectsRequest request) {
+ return client.listCryptoAssessmentTdeObjects(request);
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentTdeObjectsResponse,
+ java.util.List<
+ com.oracle.bmc.datasafe.model.CryptoAssessmentTdeObjectSummary>>() {
+ @Override
+ public java.util.List<
+ com.oracle.bmc.datasafe.model.CryptoAssessmentTdeObjectSummary>
+ apply(ListCryptoAssessmentTdeObjectsResponse response) {
+ return response.getCryptoAssessmentTdeObjectCollection().getItems();
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listCryptoAssessmentWallets operation. This iterable will fetch more data from the server as
+ * needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the responses
+ * received from the service.
+ */
+ public Iterable
+ listCryptoAssessmentWalletsResponseIterator(
+ final ListCryptoAssessmentWalletsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListCryptoAssessmentWalletsRequest.Builder,
+ ListCryptoAssessmentWalletsRequest,
+ ListCryptoAssessmentWalletsResponse>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListCryptoAssessmentWalletsRequest.Builder get() {
+ return ListCryptoAssessmentWalletsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListCryptoAssessmentWalletsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentWalletsRequest.Builder>,
+ ListCryptoAssessmentWalletsRequest>() {
+ @Override
+ public ListCryptoAssessmentWalletsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentWalletsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentWalletsRequest, ListCryptoAssessmentWalletsResponse>() {
+ @Override
+ public ListCryptoAssessmentWalletsResponse apply(
+ ListCryptoAssessmentWalletsRequest request) {
+ return client.listCryptoAssessmentWallets(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentWalletSummary} objects contained in responses
+ * from the listCryptoAssessmentWallets operation. This iterable will fetch more data from the
+ * server as needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentWalletSummary} objects contained in
+ * responses received from the service.
+ */
+ public Iterable
+ listCryptoAssessmentWalletsRecordIterator(
+ final ListCryptoAssessmentWalletsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListCryptoAssessmentWalletsRequest.Builder,
+ ListCryptoAssessmentWalletsRequest,
+ ListCryptoAssessmentWalletsResponse,
+ com.oracle.bmc.datasafe.model.CryptoAssessmentWalletSummary>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListCryptoAssessmentWalletsRequest.Builder get() {
+ return ListCryptoAssessmentWalletsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListCryptoAssessmentWalletsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentWalletsRequest.Builder>,
+ ListCryptoAssessmentWalletsRequest>() {
+ @Override
+ public ListCryptoAssessmentWalletsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentWalletsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentWalletsRequest, ListCryptoAssessmentWalletsResponse>() {
+ @Override
+ public ListCryptoAssessmentWalletsResponse apply(
+ ListCryptoAssessmentWalletsRequest request) {
+ return client.listCryptoAssessmentWallets(request);
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentWalletsResponse,
+ java.util.List<
+ com.oracle.bmc.datasafe.model.CryptoAssessmentWalletSummary>>() {
+ @Override
+ public java.util.List<
+ com.oracle.bmc.datasafe.model.CryptoAssessmentWalletSummary>
+ apply(ListCryptoAssessmentWalletsResponse response) {
+ return response.getCryptoAssessmentWalletCollection().getItems();
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the responses received from the
+ * listCryptoAssessments operation. This iterable will fetch more data from the server as
+ * needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the responses
+ * received from the service.
+ */
+ public Iterable listCryptoAssessmentsResponseIterator(
+ final ListCryptoAssessmentsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseIterable<
+ ListCryptoAssessmentsRequest.Builder,
+ ListCryptoAssessmentsRequest,
+ ListCryptoAssessmentsResponse>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListCryptoAssessmentsRequest.Builder get() {
+ return ListCryptoAssessmentsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListCryptoAssessmentsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentsRequest.Builder>,
+ ListCryptoAssessmentsRequest>() {
+ @Override
+ public ListCryptoAssessmentsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentsRequest, ListCryptoAssessmentsResponse>() {
+ @Override
+ public ListCryptoAssessmentsResponse apply(
+ ListCryptoAssessmentsRequest request) {
+ return client.listCryptoAssessments(request);
+ }
+ });
+ }
+
+ /**
+ * Creates a new iterable which will iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentSummary} objects contained in responses from
+ * the listCryptoAssessments operation. This iterable will fetch more data from the server as
+ * needed.
+ *
+ * @param request a request which can be sent to the service operation
+ * @return an {@link java.lang.Iterable} which can be used to iterate over the {@link
+ * com.oracle.bmc.datasafe.model.CryptoAssessmentSummary} objects contained in responses
+ * received from the service.
+ */
+ public Iterable
+ listCryptoAssessmentsRecordIterator(final ListCryptoAssessmentsRequest request) {
+ return new com.oracle.bmc.paginator.internal.ResponseRecordIterable<
+ ListCryptoAssessmentsRequest.Builder,
+ ListCryptoAssessmentsRequest,
+ ListCryptoAssessmentsResponse,
+ com.oracle.bmc.datasafe.model.CryptoAssessmentSummary>(
+ new java.util.function.Supplier() {
+ @Override
+ public ListCryptoAssessmentsRequest.Builder get() {
+ return ListCryptoAssessmentsRequest.builder().copy(request);
+ }
+ },
+ new java.util.function.Function() {
+ @Override
+ public String apply(ListCryptoAssessmentsResponse response) {
+ return response.getOpcNextPage();
+ }
+ },
+ new java.util.function.Function<
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentsRequest.Builder>,
+ ListCryptoAssessmentsRequest>() {
+ @Override
+ public ListCryptoAssessmentsRequest apply(
+ com.oracle.bmc.paginator.internal.RequestBuilderAndToken<
+ ListCryptoAssessmentsRequest.Builder>
+ input) {
+ if (input.getNextPageToken() == null) {
+ return input.getRequestBuilder().build();
+ } else {
+ return input.getRequestBuilder()
+ .page(input.getNextPageToken().orElse(null))
+ .build();
+ }
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentsRequest, ListCryptoAssessmentsResponse>() {
+ @Override
+ public ListCryptoAssessmentsResponse apply(
+ ListCryptoAssessmentsRequest request) {
+ return client.listCryptoAssessments(request);
+ }
+ },
+ new java.util.function.Function<
+ ListCryptoAssessmentsResponse,
+ java.util.List>() {
+ @Override
+ public java.util.List
+ apply(ListCryptoAssessmentsResponse response) {
+ return response.getCryptoAssessmentCollection().getItems();
+ }
+ });
+ }
+
/**
* Creates a new iterable which will iterate over the responses received from the
* listDataSafePrivateEndpoints operation. This iterable will fetch more data from the server as
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafeWaiters.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafeWaiters.java
index ff7025aad74..fab5d5bd002 100644
--- a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafeWaiters.java
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/DataSafeWaiters.java
@@ -857,6 +857,113 @@ public boolean test(GetAuditTrailResponse response) {
request);
}
+ /**
+ * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration.
+ *
+ * @param request the request to send
+ * @param targetStates the desired states to wait for. If multiple states are provided then the
+ * waiter will return once the resource reaches any of the provided states
+ * @return a new {@code Waiter} instance
+ */
+ public com.oracle.bmc.waiter.Waiter
+ forCryptoAssessment(
+ GetCryptoAssessmentRequest request,
+ com.oracle.bmc.datasafe.model.CryptoAssessment.LifecycleState... targetStates) {
+ com.oracle.bmc.util.internal.Validate.notEmpty(
+ targetStates, "At least one targetState must be provided");
+ com.oracle.bmc.util.internal.Validate.noNullElements(
+ targetStates, "Null targetState values are not permitted");
+
+ return forCryptoAssessment(
+ com.oracle.bmc.waiter.Waiters.DEFAULT_POLLING_WAITER, request, targetStates);
+ }
+
+ /**
+ * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration.
+ *
+ * @param request the request to send
+ * @param targetState the desired state to wait for
+ * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use
+ * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use
+ * @return a new {@code com.oracle.bmc.waiter.Waiter} instance
+ */
+ public com.oracle.bmc.waiter.Waiter
+ forCryptoAssessment(
+ GetCryptoAssessmentRequest request,
+ com.oracle.bmc.datasafe.model.CryptoAssessment.LifecycleState targetState,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy) {
+ com.oracle.bmc.util.internal.Validate.notNull(
+ targetState, "The targetState cannot be null");
+
+ return forCryptoAssessment(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetState);
+ }
+
+ /**
+ * Creates a new {@link com.oracle.bmc.waiter.Waiter} using the provided configuration.
+ *
+ * @param request the request to send
+ * @param terminationStrategy the {@link com.oracle.bmc.waiter.TerminationStrategy} to use
+ * @param delayStrategy the {@link com.oracle.bmc.waiter.DelayStrategy} to use
+ * @param targetStates the desired states to wait for. The waiter will return once the resource
+ * reaches any of the provided states
+ * @return a new {@code com.oracle.bmc.waiter.Waiter} instance
+ */
+ public com.oracle.bmc.waiter.Waiter
+ forCryptoAssessment(
+ GetCryptoAssessmentRequest request,
+ com.oracle.bmc.waiter.TerminationStrategy terminationStrategy,
+ com.oracle.bmc.waiter.DelayStrategy delayStrategy,
+ com.oracle.bmc.datasafe.model.CryptoAssessment.LifecycleState... targetStates) {
+ com.oracle.bmc.util.internal.Validate.notEmpty(
+ targetStates, "At least one target state must be provided");
+ com.oracle.bmc.util.internal.Validate.noNullElements(
+ targetStates, "Null target states are not permitted");
+
+ return forCryptoAssessment(
+ com.oracle.bmc.waiter.Waiters.newWaiter(terminationStrategy, delayStrategy),
+ request,
+ targetStates);
+ }
+
+ // Helper method to create a new Waiter for CryptoAssessment.
+ private com.oracle.bmc.waiter.Waiter
+ forCryptoAssessment(
+ com.oracle.bmc.waiter.BmcGenericWaiter waiter,
+ final GetCryptoAssessmentRequest request,
+ final com.oracle.bmc.datasafe.model.CryptoAssessment.LifecycleState...
+ targetStates) {
+ final java.util.Set
+ targetStatesSet = new java.util.HashSet<>(java.util.Arrays.asList(targetStates));
+
+ return new com.oracle.bmc.waiter.internal.SimpleWaiterImpl<>(
+ executorService,
+ waiter.toCallable(
+ () -> request,
+ new java.util.function.Function<
+ GetCryptoAssessmentRequest, GetCryptoAssessmentResponse>() {
+ @Override
+ public GetCryptoAssessmentResponse apply(
+ GetCryptoAssessmentRequest request) {
+ return client.getCryptoAssessment(request);
+ }
+ },
+ new java.util.function.Predicate() {
+ @Override
+ public boolean test(GetCryptoAssessmentResponse response) {
+ return targetStatesSet.contains(
+ response.getCryptoAssessment().getLifecycleState());
+ }
+ },
+ targetStatesSet.contains(
+ com.oracle.bmc.datasafe.model.CryptoAssessment.LifecycleState
+ .Deleted)),
+ request);
+ }
+
/**
* Creates a new {@link com.oracle.bmc.waiter.Waiter} using the default configuration.
*
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/ChangeAuditProfileCompartmentDetails.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/ChangeAuditProfileCompartmentDetails.java
index b90328245fa..04076c0da87 100644
--- a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/ChangeAuditProfileCompartmentDetails.java
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/ChangeAuditProfileCompartmentDetails.java
@@ -5,7 +5,7 @@
package com.oracle.bmc.datasafe.model;
/**
- * Moves the specified audit profile and its assoicated resources into a different compartment.
+ * Moves the specified audit profile and its associated resources into a different compartment.
* Note: Objects should always be created or deserialized using the {@link Builder}. This model
* distinguishes fields that are {@code null} because they are unset from fields that are explicitly
* set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
diff --git a/bmc-distributeddatabasev26/src/main/java/com/oracle/bmc/distributeddatabasev26/model/ChangeDistributedDatabaseCompartmentDetails.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/ChangeCryptoAssessmentCompartmentDetails.java
similarity index 72%
rename from bmc-distributeddatabasev26/src/main/java/com/oracle/bmc/distributeddatabasev26/model/ChangeDistributedDatabaseCompartmentDetails.java
rename to bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/ChangeCryptoAssessmentCompartmentDetails.java
index 5eda8bb876b..5deb5206492 100644
--- a/bmc-distributeddatabasev26/src/main/java/com/oracle/bmc/distributeddatabasev26/model/ChangeDistributedDatabaseCompartmentDetails.java
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/ChangeCryptoAssessmentCompartmentDetails.java
@@ -2,11 +2,10 @@
* Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
* This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
*/
-package com.oracle.bmc.distributeddatabasev26.model;
+package com.oracle.bmc.datasafe.model;
/**
- * The configuration details for moving the resource for Globally distributed database to other
- * compartment.
+ * The details used to change the compartment of the crypto assessment.
* Note: Objects should always be created or deserialized using the {@link Builder}. This model
* distinguishes fields that are {@code null} because they are unset from fields that are explicitly
* set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
@@ -16,32 +15,28 @@
* into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
* null}).
*/
-@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20260101")
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20181201")
@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
- builder = ChangeDistributedDatabaseCompartmentDetails.Builder.class)
+ builder = ChangeCryptoAssessmentCompartmentDetails.Builder.class)
@com.fasterxml.jackson.annotation.JsonFilter(
com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
-public final class ChangeDistributedDatabaseCompartmentDetails
+public final class ChangeCryptoAssessmentCompartmentDetails
extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
@Deprecated
@java.beans.ConstructorProperties({"compartmentId"})
- public ChangeDistributedDatabaseCompartmentDetails(String compartmentId) {
+ public ChangeCryptoAssessmentCompartmentDetails(String compartmentId) {
super();
this.compartmentId = compartmentId;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
public static class Builder {
- /**
- * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
- * compartment to move the resource to.
- */
+ /** The OCID of the compartment where you want to move the crypto assessment. */
@com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
private String compartmentId;
/**
- * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
- * compartment to move the resource to.
+ * The OCID of the compartment where you want to move the crypto assessment.
*
* @param compartmentId the value to set
* @return this builder
@@ -55,9 +50,9 @@ public Builder compartmentId(String compartmentId) {
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
- public ChangeDistributedDatabaseCompartmentDetails build() {
- ChangeDistributedDatabaseCompartmentDetails model =
- new ChangeDistributedDatabaseCompartmentDetails(this.compartmentId);
+ public ChangeCryptoAssessmentCompartmentDetails build() {
+ ChangeCryptoAssessmentCompartmentDetails model =
+ new ChangeCryptoAssessmentCompartmentDetails(this.compartmentId);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
@@ -65,7 +60,7 @@ public ChangeDistributedDatabaseCompartmentDetails build() {
}
@com.fasterxml.jackson.annotation.JsonIgnore
- public Builder copy(ChangeDistributedDatabaseCompartmentDetails model) {
+ public Builder copy(ChangeCryptoAssessmentCompartmentDetails model) {
if (model.wasPropertyExplicitlySet("compartmentId")) {
this.compartmentId(model.getCompartmentId());
}
@@ -82,16 +77,12 @@ public Builder toBuilder() {
return new Builder().copy(this);
}
- /**
- * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
- * compartment to move the resource to.
- */
+ /** The OCID of the compartment where you want to move the crypto assessment. */
@com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
private final String compartmentId;
/**
- * The [OCID](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the
- * compartment to move the resource to.
+ * The OCID of the compartment where you want to move the crypto assessment.
*
* @return the value
*/
@@ -112,7 +103,7 @@ public String toString() {
*/
public String toString(boolean includeByteArrayContents) {
java.lang.StringBuilder sb = new java.lang.StringBuilder();
- sb.append("ChangeDistributedDatabaseCompartmentDetails(");
+ sb.append("ChangeCryptoAssessmentCompartmentDetails(");
sb.append("super=").append(super.toString());
sb.append("compartmentId=").append(String.valueOf(this.compartmentId));
sb.append(")");
@@ -124,12 +115,12 @@ public boolean equals(Object o) {
if (this == o) {
return true;
}
- if (!(o instanceof ChangeDistributedDatabaseCompartmentDetails)) {
+ if (!(o instanceof ChangeCryptoAssessmentCompartmentDetails)) {
return false;
}
- ChangeDistributedDatabaseCompartmentDetails other =
- (ChangeDistributedDatabaseCompartmentDetails) o;
+ ChangeCryptoAssessmentCompartmentDetails other =
+ (ChangeCryptoAssessmentCompartmentDetails) o;
return java.util.Objects.equals(this.compartmentId, other.compartmentId)
&& super.equals(other);
}
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessment.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessment.java
new file mode 100644
index 00000000000..e108765ef93
--- /dev/null
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessment.java
@@ -0,0 +1,1454 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.datasafe.model;
+
+/**
+ * A crypto assessment that provides insight into database cryptographic posture. The assessment
+ * evaluates data and network encryption, certificates, key management, backups, and
+ * quantum-readiness settings for a target database.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20181201")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = CryptoAssessment.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CryptoAssessment
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "id",
+ "displayName",
+ "description",
+ "compartmentId",
+ "timeCreated",
+ "timeUpdated",
+ "timeLastAssessed",
+ "lifecycleState",
+ "lifecycleDetails",
+ "type",
+ "triggeredBy",
+ "targetType",
+ "targetId",
+ "targetDatabaseGroupId",
+ "databaseVersion",
+ "databaseName",
+ "databaseArchitecture",
+ "cryptoProvider",
+ "postureCategory",
+ "schedule",
+ "cryptoPosture",
+ "issueCount",
+ "targetsWithIssuesCount",
+ "isAssessmentScheduled",
+ "freeformTags",
+ "definedTags",
+ "systemTags"
+ })
+ public CryptoAssessment(
+ String id,
+ String displayName,
+ String description,
+ String compartmentId,
+ java.util.Date timeCreated,
+ java.util.Date timeUpdated,
+ java.util.Date timeLastAssessed,
+ LifecycleState lifecycleState,
+ String lifecycleDetails,
+ Type type,
+ TriggeredBy triggeredBy,
+ TargetType targetType,
+ String targetId,
+ String targetDatabaseGroupId,
+ String databaseVersion,
+ String databaseName,
+ String databaseArchitecture,
+ String cryptoProvider,
+ CryptoPostureCategory postureCategory,
+ String schedule,
+ CryptoPosture cryptoPosture,
+ Integer issueCount,
+ Integer targetsWithIssuesCount,
+ Boolean isAssessmentScheduled,
+ java.util.Map freeformTags,
+ java.util.Map> definedTags,
+ java.util.Map> systemTags) {
+ super();
+ this.id = id;
+ this.displayName = displayName;
+ this.description = description;
+ this.compartmentId = compartmentId;
+ this.timeCreated = timeCreated;
+ this.timeUpdated = timeUpdated;
+ this.timeLastAssessed = timeLastAssessed;
+ this.lifecycleState = lifecycleState;
+ this.lifecycleDetails = lifecycleDetails;
+ this.type = type;
+ this.triggeredBy = triggeredBy;
+ this.targetType = targetType;
+ this.targetId = targetId;
+ this.targetDatabaseGroupId = targetDatabaseGroupId;
+ this.databaseVersion = databaseVersion;
+ this.databaseName = databaseName;
+ this.databaseArchitecture = databaseArchitecture;
+ this.cryptoProvider = cryptoProvider;
+ this.postureCategory = postureCategory;
+ this.schedule = schedule;
+ this.cryptoPosture = cryptoPosture;
+ this.issueCount = issueCount;
+ this.targetsWithIssuesCount = targetsWithIssuesCount;
+ this.isAssessmentScheduled = isAssessmentScheduled;
+ this.freeformTags = freeformTags;
+ this.definedTags = definedTags;
+ this.systemTags = systemTags;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** The OCID of the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("id")
+ private String id;
+
+ /**
+ * The OCID of the crypto assessment.
+ *
+ * @param id the value to set
+ * @return this builder
+ */
+ public Builder id(String id) {
+ this.id = id;
+ this.__explicitlySet__.add("id");
+ return this;
+ }
+ /** The display name of the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("displayName")
+ private String displayName;
+
+ /**
+ * The display name of the crypto assessment.
+ *
+ * @param displayName the value to set
+ * @return this builder
+ */
+ public Builder displayName(String displayName) {
+ this.displayName = displayName;
+ this.__explicitlySet__.add("displayName");
+ return this;
+ }
+ /** The description of the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("description")
+ private String description;
+
+ /**
+ * The description of the crypto assessment.
+ *
+ * @param description the value to set
+ * @return this builder
+ */
+ public Builder description(String description) {
+ this.description = description;
+ this.__explicitlySet__.add("description");
+ return this;
+ }
+ /** The OCID of the compartment that contains the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private String compartmentId;
+
+ /**
+ * The OCID of the compartment that contains the crypto assessment.
+ *
+ * @param compartmentId the value to set
+ * @return this builder
+ */
+ public Builder compartmentId(String compartmentId) {
+ this.compartmentId = compartmentId;
+ this.__explicitlySet__.add("compartmentId");
+ return this;
+ }
+ /** The date and time the crypto assessment was created, in RFC3339 format. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeCreated")
+ private java.util.Date timeCreated;
+
+ /**
+ * The date and time the crypto assessment was created, in RFC3339 format.
+ *
+ * @param timeCreated the value to set
+ * @return this builder
+ */
+ public Builder timeCreated(java.util.Date timeCreated) {
+ this.timeCreated = timeCreated;
+ this.__explicitlySet__.add("timeCreated");
+ return this;
+ }
+ /** The date and time the crypto assessment was last updated, in RFC3339 format. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated")
+ private java.util.Date timeUpdated;
+
+ /**
+ * The date and time the crypto assessment was last updated, in RFC3339 format.
+ *
+ * @param timeUpdated the value to set
+ * @return this builder
+ */
+ public Builder timeUpdated(java.util.Date timeUpdated) {
+ this.timeUpdated = timeUpdated;
+ this.__explicitlySet__.add("timeUpdated");
+ return this;
+ }
+ /** The date and time the crypto posture was last assessed, in RFC3339 format. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeLastAssessed")
+ private java.util.Date timeLastAssessed;
+
+ /**
+ * The date and time the crypto posture was last assessed, in RFC3339 format.
+ *
+ * @param timeLastAssessed the value to set
+ * @return this builder
+ */
+ public Builder timeLastAssessed(java.util.Date timeLastAssessed) {
+ this.timeLastAssessed = timeLastAssessed;
+ this.__explicitlySet__.add("timeLastAssessed");
+ return this;
+ }
+ /** The current lifecycle state of the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState")
+ private LifecycleState lifecycleState;
+
+ /**
+ * The current lifecycle state of the crypto assessment.
+ *
+ * @param lifecycleState the value to set
+ * @return this builder
+ */
+ public Builder lifecycleState(LifecycleState lifecycleState) {
+ this.lifecycleState = lifecycleState;
+ this.__explicitlySet__.add("lifecycleState");
+ return this;
+ }
+ /** Details about the current lifecycle state of the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails")
+ private String lifecycleDetails;
+
+ /**
+ * Details about the current lifecycle state of the crypto assessment.
+ *
+ * @param lifecycleDetails the value to set
+ * @return this builder
+ */
+ public Builder lifecycleDetails(String lifecycleDetails) {
+ this.lifecycleDetails = lifecycleDetails;
+ this.__explicitlySet__.add("lifecycleDetails");
+ return this;
+ }
+ /** The type of this crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("type")
+ private Type type;
+
+ /**
+ * The type of this crypto assessment.
+ *
+ * @param type the value to set
+ * @return this builder
+ */
+ public Builder type(Type type) {
+ this.type = type;
+ this.__explicitlySet__.add("type");
+ return this;
+ }
+ /** The actor that created the assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("triggeredBy")
+ private TriggeredBy triggeredBy;
+
+ /**
+ * The actor that created the assessment.
+ *
+ * @param triggeredBy the value to set
+ * @return this builder
+ */
+ public Builder triggeredBy(TriggeredBy triggeredBy) {
+ this.triggeredBy = triggeredBy;
+ this.__explicitlySet__.add("triggeredBy");
+ return this;
+ }
+ /** The target type of the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetType")
+ private TargetType targetType;
+
+ /**
+ * The target type of the crypto assessment.
+ *
+ * @param targetType the value to set
+ * @return this builder
+ */
+ public Builder targetType(TargetType targetType) {
+ this.targetType = targetType;
+ this.__explicitlySet__.add("targetType");
+ return this;
+ }
+ /** The OCID of the target database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetId")
+ private String targetId;
+
+ /**
+ * The OCID of the target database.
+ *
+ * @param targetId the value to set
+ * @return this builder
+ */
+ public Builder targetId(String targetId) {
+ this.targetId = targetId;
+ this.__explicitlySet__.add("targetId");
+ return this;
+ }
+ /**
+ * The OCID of the target database group. This is returned when {@code targetType} is {@code
+ * TARGET_DATABASE_GROUP}.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetDatabaseGroupId")
+ private String targetDatabaseGroupId;
+
+ /**
+ * The OCID of the target database group. This is returned when {@code targetType} is {@code
+ * TARGET_DATABASE_GROUP}.
+ *
+ * @param targetDatabaseGroupId the value to set
+ * @return this builder
+ */
+ public Builder targetDatabaseGroupId(String targetDatabaseGroupId) {
+ this.targetDatabaseGroupId = targetDatabaseGroupId;
+ this.__explicitlySet__.add("targetDatabaseGroupId");
+ return this;
+ }
+ /** The version of the assessed target database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseVersion")
+ private String databaseVersion;
+
+ /**
+ * The version of the assessed target database.
+ *
+ * @param databaseVersion the value to set
+ * @return this builder
+ */
+ public Builder databaseVersion(String databaseVersion) {
+ this.databaseVersion = databaseVersion;
+ this.__explicitlySet__.add("databaseVersion");
+ return this;
+ }
+ /** The name of the assessed target database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseName")
+ private String databaseName;
+
+ /**
+ * The name of the assessed target database.
+ *
+ * @param databaseName the value to set
+ * @return this builder
+ */
+ public Builder databaseName(String databaseName) {
+ this.databaseName = databaseName;
+ this.__explicitlySet__.add("databaseName");
+ return this;
+ }
+ /** The architecture of the assessed target database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseArchitecture")
+ private String databaseArchitecture;
+
+ /**
+ * The architecture of the assessed target database.
+ *
+ * @param databaseArchitecture the value to set
+ * @return this builder
+ */
+ public Builder databaseArchitecture(String databaseArchitecture) {
+ this.databaseArchitecture = databaseArchitecture;
+ this.__explicitlySet__.add("databaseArchitecture");
+ return this;
+ }
+ /** Cryptographic provider and version information observed on the target. */
+ @com.fasterxml.jackson.annotation.JsonProperty("cryptoProvider")
+ private String cryptoProvider;
+
+ /**
+ * Cryptographic provider and version information observed on the target.
+ *
+ * @param cryptoProvider the value to set
+ * @return this builder
+ */
+ public Builder cryptoProvider(String cryptoProvider) {
+ this.cryptoProvider = cryptoProvider;
+ this.__explicitlySet__.add("cryptoProvider");
+ return this;
+ }
+ /** Overall posture category for the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("postureCategory")
+ private CryptoPostureCategory postureCategory;
+
+ /**
+ * Overall posture category for the crypto assessment.
+ *
+ * @param postureCategory the value to set
+ * @return this builder
+ */
+ public Builder postureCategory(CryptoPostureCategory postureCategory) {
+ this.postureCategory = postureCategory;
+ this.__explicitlySet__.add("postureCategory");
+ return this;
+ }
+ /**
+ * The schedule used to run the crypto assessment periodically. The schedule uses the
+ * format: ;
+ *
+ * For v1, the version-specific schedule format is:
+ *
+ *
+ * Specify either day-of-week for weekly schedules or day-of-month for monthly schedules.
+ * Do not specify both. For monthly schedules, day-of-month must be between 1 and 28. If the
+ * service generates a default monthly schedule for an assessment created on day 29, 30, or
+ * 31 of a month, it uses day 28.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("schedule")
+ private String schedule;
+
+ /**
+ * The schedule used to run the crypto assessment periodically. The schedule uses the
+ * format: ;
+ *
+ * For v1, the version-specific schedule format is:
+ *
+ *
+ * Specify either day-of-week for weekly schedules or day-of-month for monthly schedules.
+ * Do not specify both. For monthly schedules, day-of-month must be between 1 and 28. If the
+ * service generates a default monthly schedule for an assessment created on day 29, 30, or
+ * 31 of a month, it uses day 28.
+ *
+ * @param schedule the value to set
+ * @return this builder
+ */
+ public Builder schedule(String schedule) {
+ this.schedule = schedule;
+ this.__explicitlySet__.add("schedule");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("cryptoPosture")
+ private CryptoPosture cryptoPosture;
+
+ public Builder cryptoPosture(CryptoPosture cryptoPosture) {
+ this.cryptoPosture = cryptoPosture;
+ this.__explicitlySet__.add("cryptoPosture");
+ return this;
+ }
+ /** Number of crypto issues detected in this assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("issueCount")
+ private Integer issueCount;
+
+ /**
+ * Number of crypto issues detected in this assessment.
+ *
+ * @param issueCount the value to set
+ * @return this builder
+ */
+ public Builder issueCount(Integer issueCount) {
+ this.issueCount = issueCount;
+ this.__explicitlySet__.add("issueCount");
+ return this;
+ }
+ /**
+ * Number of assessed targets with one or more crypto issues. For a target database
+ * assessment, this value is 1 when the target has issues and 0 otherwise. For a target
+ * database group assessment, this value is the number of targets in the group that have
+ * issues.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetsWithIssuesCount")
+ private Integer targetsWithIssuesCount;
+
+ /**
+ * Number of assessed targets with one or more crypto issues. For a target database
+ * assessment, this value is 1 when the target has issues and 0 otherwise. For a target
+ * database group assessment, this value is the number of targets in the group that have
+ * issues.
+ *
+ * @param targetsWithIssuesCount the value to set
+ * @return this builder
+ */
+ public Builder targetsWithIssuesCount(Integer targetsWithIssuesCount) {
+ this.targetsWithIssuesCount = targetsWithIssuesCount;
+ this.__explicitlySet__.add("targetsWithIssuesCount");
+ return this;
+ }
+ /**
+ * Indicates whether scheduled execution is active for this crypto assessment. When false,
+ * the schedule value is retained but scheduled execution is paused.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isAssessmentScheduled")
+ private Boolean isAssessmentScheduled;
+
+ /**
+ * Indicates whether scheduled execution is active for this crypto assessment. When false,
+ * the schedule value is retained but scheduled execution is paused.
+ *
+ * @param isAssessmentScheduled the value to set
+ * @return this builder
+ */
+ public Builder isAssessmentScheduled(Boolean isAssessmentScheduled) {
+ this.isAssessmentScheduled = isAssessmentScheduled;
+ this.__explicitlySet__.add("isAssessmentScheduled");
+ return this;
+ }
+ /**
+ * 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.oracle.com/iaas/Content/General/Concepts/resourcetags.htm)
+ *
+ *
Example: {@code {"Department": "Finance"}}
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("freeformTags")
+ private java.util.Map freeformTags;
+
+ /**
+ * 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.oracle.com/iaas/Content/General/Concepts/resourcetags.htm)
+ *
+ * Example: {@code {"Department": "Finance"}}
+ *
+ * @param freeformTags the value to set
+ * @return this builder
+ */
+ public Builder freeformTags(java.util.Map freeformTags) {
+ this.freeformTags = freeformTags;
+ this.__explicitlySet__.add("freeformTags");
+ return this;
+ }
+ /**
+ * Defined tags for this resource. Each key is predefined and scoped to a namespace. For
+ * more information, see [Resource
+ * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm) Example:
+ * {@code {"Operations": {"CostCenter": "42"}}}
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("definedTags")
+ private java.util.Map> definedTags;
+
+ /**
+ * Defined tags for this resource. Each key is predefined and scoped to a namespace. For
+ * more information, see [Resource
+ * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm) Example:
+ * {@code {"Operations": {"CostCenter": "42"}}}
+ *
+ * @param definedTags the value to set
+ * @return this builder
+ */
+ public Builder definedTags(
+ java.util.Map> definedTags) {
+ this.definedTags = definedTags;
+ this.__explicitlySet__.add("definedTags");
+ return this;
+ }
+ /**
+ * System tags for this resource. Each key is predefined and scoped to a namespace. For more
+ * information, see Resource Tags. Example: {@code {"orcl-cloud": {"free-tier-retained":
+ * "true"}}}
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("systemTags")
+ private java.util.Map> systemTags;
+
+ /**
+ * System tags for this resource. Each key is predefined and scoped to a namespace. For more
+ * information, see Resource Tags. Example: {@code {"orcl-cloud": {"free-tier-retained":
+ * "true"}}}
+ *
+ * @param systemTags the value to set
+ * @return this builder
+ */
+ public Builder systemTags(java.util.Map> systemTags) {
+ this.systemTags = systemTags;
+ this.__explicitlySet__.add("systemTags");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CryptoAssessment build() {
+ CryptoAssessment model =
+ new CryptoAssessment(
+ this.id,
+ this.displayName,
+ this.description,
+ this.compartmentId,
+ this.timeCreated,
+ this.timeUpdated,
+ this.timeLastAssessed,
+ this.lifecycleState,
+ this.lifecycleDetails,
+ this.type,
+ this.triggeredBy,
+ this.targetType,
+ this.targetId,
+ this.targetDatabaseGroupId,
+ this.databaseVersion,
+ this.databaseName,
+ this.databaseArchitecture,
+ this.cryptoProvider,
+ this.postureCategory,
+ this.schedule,
+ this.cryptoPosture,
+ this.issueCount,
+ this.targetsWithIssuesCount,
+ this.isAssessmentScheduled,
+ this.freeformTags,
+ this.definedTags,
+ this.systemTags);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CryptoAssessment model) {
+ if (model.wasPropertyExplicitlySet("id")) {
+ this.id(model.getId());
+ }
+ if (model.wasPropertyExplicitlySet("displayName")) {
+ this.displayName(model.getDisplayName());
+ }
+ if (model.wasPropertyExplicitlySet("description")) {
+ this.description(model.getDescription());
+ }
+ if (model.wasPropertyExplicitlySet("compartmentId")) {
+ this.compartmentId(model.getCompartmentId());
+ }
+ if (model.wasPropertyExplicitlySet("timeCreated")) {
+ this.timeCreated(model.getTimeCreated());
+ }
+ if (model.wasPropertyExplicitlySet("timeUpdated")) {
+ this.timeUpdated(model.getTimeUpdated());
+ }
+ if (model.wasPropertyExplicitlySet("timeLastAssessed")) {
+ this.timeLastAssessed(model.getTimeLastAssessed());
+ }
+ if (model.wasPropertyExplicitlySet("lifecycleState")) {
+ this.lifecycleState(model.getLifecycleState());
+ }
+ if (model.wasPropertyExplicitlySet("lifecycleDetails")) {
+ this.lifecycleDetails(model.getLifecycleDetails());
+ }
+ if (model.wasPropertyExplicitlySet("type")) {
+ this.type(model.getType());
+ }
+ if (model.wasPropertyExplicitlySet("triggeredBy")) {
+ this.triggeredBy(model.getTriggeredBy());
+ }
+ if (model.wasPropertyExplicitlySet("targetType")) {
+ this.targetType(model.getTargetType());
+ }
+ if (model.wasPropertyExplicitlySet("targetId")) {
+ this.targetId(model.getTargetId());
+ }
+ if (model.wasPropertyExplicitlySet("targetDatabaseGroupId")) {
+ this.targetDatabaseGroupId(model.getTargetDatabaseGroupId());
+ }
+ if (model.wasPropertyExplicitlySet("databaseVersion")) {
+ this.databaseVersion(model.getDatabaseVersion());
+ }
+ if (model.wasPropertyExplicitlySet("databaseName")) {
+ this.databaseName(model.getDatabaseName());
+ }
+ if (model.wasPropertyExplicitlySet("databaseArchitecture")) {
+ this.databaseArchitecture(model.getDatabaseArchitecture());
+ }
+ if (model.wasPropertyExplicitlySet("cryptoProvider")) {
+ this.cryptoProvider(model.getCryptoProvider());
+ }
+ if (model.wasPropertyExplicitlySet("postureCategory")) {
+ this.postureCategory(model.getPostureCategory());
+ }
+ if (model.wasPropertyExplicitlySet("schedule")) {
+ this.schedule(model.getSchedule());
+ }
+ if (model.wasPropertyExplicitlySet("cryptoPosture")) {
+ this.cryptoPosture(model.getCryptoPosture());
+ }
+ if (model.wasPropertyExplicitlySet("issueCount")) {
+ this.issueCount(model.getIssueCount());
+ }
+ if (model.wasPropertyExplicitlySet("targetsWithIssuesCount")) {
+ this.targetsWithIssuesCount(model.getTargetsWithIssuesCount());
+ }
+ if (model.wasPropertyExplicitlySet("isAssessmentScheduled")) {
+ this.isAssessmentScheduled(model.getIsAssessmentScheduled());
+ }
+ if (model.wasPropertyExplicitlySet("freeformTags")) {
+ this.freeformTags(model.getFreeformTags());
+ }
+ if (model.wasPropertyExplicitlySet("definedTags")) {
+ this.definedTags(model.getDefinedTags());
+ }
+ if (model.wasPropertyExplicitlySet("systemTags")) {
+ this.systemTags(model.getSystemTags());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** The OCID of the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("id")
+ private final String id;
+
+ /**
+ * The OCID of the crypto assessment.
+ *
+ * @return the value
+ */
+ public String getId() {
+ return id;
+ }
+
+ /** The display name of the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("displayName")
+ private final String displayName;
+
+ /**
+ * The display name of the crypto assessment.
+ *
+ * @return the value
+ */
+ public String getDisplayName() {
+ return displayName;
+ }
+
+ /** The description of the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("description")
+ private final String description;
+
+ /**
+ * The description of the crypto assessment.
+ *
+ * @return the value
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /** The OCID of the compartment that contains the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private final String compartmentId;
+
+ /**
+ * The OCID of the compartment that contains the crypto assessment.
+ *
+ * @return the value
+ */
+ public String getCompartmentId() {
+ return compartmentId;
+ }
+
+ /** The date and time the crypto assessment was created, in RFC3339 format. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeCreated")
+ private final java.util.Date timeCreated;
+
+ /**
+ * The date and time the crypto assessment was created, in RFC3339 format.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeCreated() {
+ return timeCreated;
+ }
+
+ /** The date and time the crypto assessment was last updated, in RFC3339 format. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated")
+ private final java.util.Date timeUpdated;
+
+ /**
+ * The date and time the crypto assessment was last updated, in RFC3339 format.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeUpdated() {
+ return timeUpdated;
+ }
+
+ /** The date and time the crypto posture was last assessed, in RFC3339 format. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeLastAssessed")
+ private final java.util.Date timeLastAssessed;
+
+ /**
+ * The date and time the crypto posture was last assessed, in RFC3339 format.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeLastAssessed() {
+ return timeLastAssessed;
+ }
+
+ /** The current lifecycle state of the crypto assessment. */
+ public enum LifecycleState implements com.oracle.bmc.http.internal.BmcEnum {
+ Creating("CREATING"),
+ Active("ACTIVE"),
+ Updating("UPDATING"),
+ Deleting("DELETING"),
+ Deleted("DELETED"),
+ Failed("FAILED"),
+
+ /**
+ * This value is used if a service returns a value for this enum that is not recognized by
+ * this version of the SDK.
+ */
+ UnknownEnumValue(null);
+
+ private static final org.slf4j.Logger LOG =
+ org.slf4j.LoggerFactory.getLogger(LifecycleState.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (LifecycleState v : LifecycleState.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ LifecycleState(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static LifecycleState create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'LifecycleState', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+ /** The current lifecycle state of the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState")
+ private final LifecycleState lifecycleState;
+
+ /**
+ * The current lifecycle state of the crypto assessment.
+ *
+ * @return the value
+ */
+ public LifecycleState getLifecycleState() {
+ return lifecycleState;
+ }
+
+ /** Details about the current lifecycle state of the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails")
+ private final String lifecycleDetails;
+
+ /**
+ * Details about the current lifecycle state of the crypto assessment.
+ *
+ * @return the value
+ */
+ public String getLifecycleDetails() {
+ return lifecycleDetails;
+ }
+
+ /** The type of this crypto assessment. */
+ public enum Type implements com.oracle.bmc.http.internal.BmcEnum {
+ Latest("LATEST"),
+ Saved("SAVED"),
+
+ /**
+ * This value is used if a service returns a value for this enum that is not recognized by
+ * this version of the SDK.
+ */
+ UnknownEnumValue(null);
+
+ private static final org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(Type.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (Type v : Type.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ Type(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static Type create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'Type', returning UnknownEnumValue", key);
+ return UnknownEnumValue;
+ }
+ };
+ /** The type of this crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("type")
+ private final Type type;
+
+ /**
+ * The type of this crypto assessment.
+ *
+ * @return the value
+ */
+ public Type getType() {
+ return type;
+ }
+
+ /** The actor that created the assessment. */
+ public enum TriggeredBy implements com.oracle.bmc.http.internal.BmcEnum {
+ User("USER"),
+ System("SYSTEM"),
+
+ /**
+ * This value is used if a service returns a value for this enum that is not recognized by
+ * this version of the SDK.
+ */
+ UnknownEnumValue(null);
+
+ private static final org.slf4j.Logger LOG =
+ org.slf4j.LoggerFactory.getLogger(TriggeredBy.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (TriggeredBy v : TriggeredBy.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ TriggeredBy(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static TriggeredBy create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'TriggeredBy', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+ /** The actor that created the assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("triggeredBy")
+ private final TriggeredBy triggeredBy;
+
+ /**
+ * The actor that created the assessment.
+ *
+ * @return the value
+ */
+ public TriggeredBy getTriggeredBy() {
+ return triggeredBy;
+ }
+
+ /** The target type of the crypto assessment. */
+ public enum TargetType implements com.oracle.bmc.http.internal.BmcEnum {
+ TargetDatabase("TARGET_DATABASE"),
+ TargetDatabaseGroup("TARGET_DATABASE_GROUP"),
+
+ /**
+ * This value is used if a service returns a value for this enum that is not recognized by
+ * this version of the SDK.
+ */
+ UnknownEnumValue(null);
+
+ private static final org.slf4j.Logger LOG =
+ org.slf4j.LoggerFactory.getLogger(TargetType.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (TargetType v : TargetType.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ TargetType(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static TargetType create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'TargetType', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+ /** The target type of the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetType")
+ private final TargetType targetType;
+
+ /**
+ * The target type of the crypto assessment.
+ *
+ * @return the value
+ */
+ public TargetType getTargetType() {
+ return targetType;
+ }
+
+ /** The OCID of the target database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetId")
+ private final String targetId;
+
+ /**
+ * The OCID of the target database.
+ *
+ * @return the value
+ */
+ public String getTargetId() {
+ return targetId;
+ }
+
+ /**
+ * The OCID of the target database group. This is returned when {@code targetType} is {@code
+ * TARGET_DATABASE_GROUP}.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetDatabaseGroupId")
+ private final String targetDatabaseGroupId;
+
+ /**
+ * The OCID of the target database group. This is returned when {@code targetType} is {@code
+ * TARGET_DATABASE_GROUP}.
+ *
+ * @return the value
+ */
+ public String getTargetDatabaseGroupId() {
+ return targetDatabaseGroupId;
+ }
+
+ /** The version of the assessed target database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseVersion")
+ private final String databaseVersion;
+
+ /**
+ * The version of the assessed target database.
+ *
+ * @return the value
+ */
+ public String getDatabaseVersion() {
+ return databaseVersion;
+ }
+
+ /** The name of the assessed target database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseName")
+ private final String databaseName;
+
+ /**
+ * The name of the assessed target database.
+ *
+ * @return the value
+ */
+ public String getDatabaseName() {
+ return databaseName;
+ }
+
+ /** The architecture of the assessed target database. */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseArchitecture")
+ private final String databaseArchitecture;
+
+ /**
+ * The architecture of the assessed target database.
+ *
+ * @return the value
+ */
+ public String getDatabaseArchitecture() {
+ return databaseArchitecture;
+ }
+
+ /** Cryptographic provider and version information observed on the target. */
+ @com.fasterxml.jackson.annotation.JsonProperty("cryptoProvider")
+ private final String cryptoProvider;
+
+ /**
+ * Cryptographic provider and version information observed on the target.
+ *
+ * @return the value
+ */
+ public String getCryptoProvider() {
+ return cryptoProvider;
+ }
+
+ /** Overall posture category for the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("postureCategory")
+ private final CryptoPostureCategory postureCategory;
+
+ /**
+ * Overall posture category for the crypto assessment.
+ *
+ * @return the value
+ */
+ public CryptoPostureCategory getPostureCategory() {
+ return postureCategory;
+ }
+
+ /**
+ * The schedule used to run the crypto assessment periodically. The schedule uses the format:
+ * ;
+ *
+ * For v1, the version-specific schedule format is:
+ *
+ *
+ * Specify either day-of-week for weekly schedules or day-of-month for monthly schedules. Do
+ * not specify both. For monthly schedules, day-of-month must be between 1 and 28. If the
+ * service generates a default monthly schedule for an assessment created on day 29, 30, or 31
+ * of a month, it uses day 28.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("schedule")
+ private final String schedule;
+
+ /**
+ * The schedule used to run the crypto assessment periodically. The schedule uses the format:
+ * ;
+ *
+ * For v1, the version-specific schedule format is:
+ *
+ *
+ * Specify either day-of-week for weekly schedules or day-of-month for monthly schedules. Do
+ * not specify both. For monthly schedules, day-of-month must be between 1 and 28. If the
+ * service generates a default monthly schedule for an assessment created on day 29, 30, or 31
+ * of a month, it uses day 28.
+ *
+ * @return the value
+ */
+ public String getSchedule() {
+ return schedule;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("cryptoPosture")
+ private final CryptoPosture cryptoPosture;
+
+ public CryptoPosture getCryptoPosture() {
+ return cryptoPosture;
+ }
+
+ /** Number of crypto issues detected in this assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("issueCount")
+ private final Integer issueCount;
+
+ /**
+ * Number of crypto issues detected in this assessment.
+ *
+ * @return the value
+ */
+ public Integer getIssueCount() {
+ return issueCount;
+ }
+
+ /**
+ * Number of assessed targets with one or more crypto issues. For a target database assessment,
+ * this value is 1 when the target has issues and 0 otherwise. For a target database group
+ * assessment, this value is the number of targets in the group that have issues.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetsWithIssuesCount")
+ private final Integer targetsWithIssuesCount;
+
+ /**
+ * Number of assessed targets with one or more crypto issues. For a target database assessment,
+ * this value is 1 when the target has issues and 0 otherwise. For a target database group
+ * assessment, this value is the number of targets in the group that have issues.
+ *
+ * @return the value
+ */
+ public Integer getTargetsWithIssuesCount() {
+ return targetsWithIssuesCount;
+ }
+
+ /**
+ * Indicates whether scheduled execution is active for this crypto assessment. When false, the
+ * schedule value is retained but scheduled execution is paused.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("isAssessmentScheduled")
+ private final Boolean isAssessmentScheduled;
+
+ /**
+ * Indicates whether scheduled execution is active for this crypto assessment. When false, the
+ * schedule value is retained but scheduled execution is paused.
+ *
+ * @return the value
+ */
+ public Boolean getIsAssessmentScheduled() {
+ return isAssessmentScheduled;
+ }
+
+ /**
+ * 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.oracle.com/iaas/Content/General/Concepts/resourcetags.htm)
+ *
+ *
Example: {@code {"Department": "Finance"}}
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("freeformTags")
+ private final java.util.Map freeformTags;
+
+ /**
+ * 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.oracle.com/iaas/Content/General/Concepts/resourcetags.htm)
+ *
+ * Example: {@code {"Department": "Finance"}}
+ *
+ * @return the value
+ */
+ public java.util.Map getFreeformTags() {
+ return freeformTags;
+ }
+
+ /**
+ * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more
+ * information, see [Resource
+ * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm) Example: {@code
+ * {"Operations": {"CostCenter": "42"}}}
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("definedTags")
+ private final java.util.Map> definedTags;
+
+ /**
+ * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more
+ * information, see [Resource
+ * Tags](https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm) Example: {@code
+ * {"Operations": {"CostCenter": "42"}}}
+ *
+ * @return the value
+ */
+ public java.util.Map> getDefinedTags() {
+ return definedTags;
+ }
+
+ /**
+ * System tags for this resource. Each key is predefined and scoped to a namespace. For more
+ * information, see Resource Tags. Example: {@code {"orcl-cloud": {"free-tier-retained":
+ * "true"}}}
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("systemTags")
+ private final java.util.Map> systemTags;
+
+ /**
+ * System tags for this resource. Each key is predefined and scoped to a namespace. For more
+ * information, see Resource Tags. Example: {@code {"orcl-cloud": {"free-tier-retained":
+ * "true"}}}
+ *
+ * @return the value
+ */
+ public java.util.Map> getSystemTags() {
+ return systemTags;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CryptoAssessment(");
+ sb.append("super=").append(super.toString());
+ sb.append("id=").append(String.valueOf(this.id));
+ sb.append(", displayName=").append(String.valueOf(this.displayName));
+ sb.append(", description=").append(String.valueOf(this.description));
+ sb.append(", compartmentId=").append(String.valueOf(this.compartmentId));
+ sb.append(", timeCreated=").append(String.valueOf(this.timeCreated));
+ sb.append(", timeUpdated=").append(String.valueOf(this.timeUpdated));
+ sb.append(", timeLastAssessed=").append(String.valueOf(this.timeLastAssessed));
+ sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState));
+ sb.append(", lifecycleDetails=").append(String.valueOf(this.lifecycleDetails));
+ sb.append(", type=").append(String.valueOf(this.type));
+ sb.append(", triggeredBy=").append(String.valueOf(this.triggeredBy));
+ sb.append(", targetType=").append(String.valueOf(this.targetType));
+ sb.append(", targetId=").append(String.valueOf(this.targetId));
+ sb.append(", targetDatabaseGroupId=").append(String.valueOf(this.targetDatabaseGroupId));
+ sb.append(", databaseVersion=").append(String.valueOf(this.databaseVersion));
+ sb.append(", databaseName=").append(String.valueOf(this.databaseName));
+ sb.append(", databaseArchitecture=").append(String.valueOf(this.databaseArchitecture));
+ sb.append(", cryptoProvider=").append(String.valueOf(this.cryptoProvider));
+ sb.append(", postureCategory=").append(String.valueOf(this.postureCategory));
+ sb.append(", schedule=").append(String.valueOf(this.schedule));
+ sb.append(", cryptoPosture=").append(String.valueOf(this.cryptoPosture));
+ sb.append(", issueCount=").append(String.valueOf(this.issueCount));
+ sb.append(", targetsWithIssuesCount=").append(String.valueOf(this.targetsWithIssuesCount));
+ sb.append(", isAssessmentScheduled=").append(String.valueOf(this.isAssessmentScheduled));
+ sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
+ sb.append(", definedTags=").append(String.valueOf(this.definedTags));
+ sb.append(", systemTags=").append(String.valueOf(this.systemTags));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CryptoAssessment)) {
+ return false;
+ }
+
+ CryptoAssessment other = (CryptoAssessment) o;
+ return java.util.Objects.equals(this.id, other.id)
+ && java.util.Objects.equals(this.displayName, other.displayName)
+ && java.util.Objects.equals(this.description, other.description)
+ && java.util.Objects.equals(this.compartmentId, other.compartmentId)
+ && java.util.Objects.equals(this.timeCreated, other.timeCreated)
+ && java.util.Objects.equals(this.timeUpdated, other.timeUpdated)
+ && java.util.Objects.equals(this.timeLastAssessed, other.timeLastAssessed)
+ && java.util.Objects.equals(this.lifecycleState, other.lifecycleState)
+ && java.util.Objects.equals(this.lifecycleDetails, other.lifecycleDetails)
+ && java.util.Objects.equals(this.type, other.type)
+ && java.util.Objects.equals(this.triggeredBy, other.triggeredBy)
+ && java.util.Objects.equals(this.targetType, other.targetType)
+ && java.util.Objects.equals(this.targetId, other.targetId)
+ && java.util.Objects.equals(this.targetDatabaseGroupId, other.targetDatabaseGroupId)
+ && java.util.Objects.equals(this.databaseVersion, other.databaseVersion)
+ && java.util.Objects.equals(this.databaseName, other.databaseName)
+ && java.util.Objects.equals(this.databaseArchitecture, other.databaseArchitecture)
+ && java.util.Objects.equals(this.cryptoProvider, other.cryptoProvider)
+ && java.util.Objects.equals(this.postureCategory, other.postureCategory)
+ && java.util.Objects.equals(this.schedule, other.schedule)
+ && java.util.Objects.equals(this.cryptoPosture, other.cryptoPosture)
+ && java.util.Objects.equals(this.issueCount, other.issueCount)
+ && java.util.Objects.equals(
+ this.targetsWithIssuesCount, other.targetsWithIssuesCount)
+ && java.util.Objects.equals(this.isAssessmentScheduled, other.isAssessmentScheduled)
+ && java.util.Objects.equals(this.freeformTags, other.freeformTags)
+ && java.util.Objects.equals(this.definedTags, other.definedTags)
+ && java.util.Objects.equals(this.systemTags, other.systemTags)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode());
+ result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode());
+ result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode());
+ result =
+ (result * PRIME)
+ + (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
+ result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode());
+ result = (result * PRIME) + (this.timeUpdated == null ? 43 : this.timeUpdated.hashCode());
+ result =
+ (result * PRIME)
+ + (this.timeLastAssessed == null ? 43 : this.timeLastAssessed.hashCode());
+ result =
+ (result * PRIME)
+ + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode());
+ result =
+ (result * PRIME)
+ + (this.lifecycleDetails == null ? 43 : this.lifecycleDetails.hashCode());
+ result = (result * PRIME) + (this.type == null ? 43 : this.type.hashCode());
+ result = (result * PRIME) + (this.triggeredBy == null ? 43 : this.triggeredBy.hashCode());
+ result = (result * PRIME) + (this.targetType == null ? 43 : this.targetType.hashCode());
+ result = (result * PRIME) + (this.targetId == null ? 43 : this.targetId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.targetDatabaseGroupId == null
+ ? 43
+ : this.targetDatabaseGroupId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.databaseVersion == null ? 43 : this.databaseVersion.hashCode());
+ result = (result * PRIME) + (this.databaseName == null ? 43 : this.databaseName.hashCode());
+ result =
+ (result * PRIME)
+ + (this.databaseArchitecture == null
+ ? 43
+ : this.databaseArchitecture.hashCode());
+ result =
+ (result * PRIME)
+ + (this.cryptoProvider == null ? 43 : this.cryptoProvider.hashCode());
+ result =
+ (result * PRIME)
+ + (this.postureCategory == null ? 43 : this.postureCategory.hashCode());
+ result = (result * PRIME) + (this.schedule == null ? 43 : this.schedule.hashCode());
+ result =
+ (result * PRIME)
+ + (this.cryptoPosture == null ? 43 : this.cryptoPosture.hashCode());
+ result = (result * PRIME) + (this.issueCount == null ? 43 : this.issueCount.hashCode());
+ result =
+ (result * PRIME)
+ + (this.targetsWithIssuesCount == null
+ ? 43
+ : this.targetsWithIssuesCount.hashCode());
+ result =
+ (result * PRIME)
+ + (this.isAssessmentScheduled == null
+ ? 43
+ : this.isAssessmentScheduled.hashCode());
+ result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode());
+ result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode());
+ result = (result * PRIME) + (this.systemTags == null ? 43 : this.systemTags.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentBackupSetCollection.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentBackupSetCollection.java
new file mode 100644
index 00000000000..d62bec3ba54
--- /dev/null
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentBackupSetCollection.java
@@ -0,0 +1,135 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.datasafe.model;
+
+/**
+ * Backup set summaries observed for a crypto assessment.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20181201")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CryptoAssessmentBackupSetCollection.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CryptoAssessmentBackupSetCollection
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"items"})
+ public CryptoAssessmentBackupSetCollection(
+ java.util.List items) {
+ super();
+ this.items = items;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** Backup set summary items for the specified crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private java.util.List items;
+
+ /**
+ * Backup set summary items for the specified crypto assessment.
+ *
+ * @param items the value to set
+ * @return this builder
+ */
+ public Builder items(java.util.List items) {
+ this.items = items;
+ this.__explicitlySet__.add("items");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CryptoAssessmentBackupSetCollection build() {
+ CryptoAssessmentBackupSetCollection model =
+ new CryptoAssessmentBackupSetCollection(this.items);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CryptoAssessmentBackupSetCollection model) {
+ if (model.wasPropertyExplicitlySet("items")) {
+ this.items(model.getItems());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** Backup set summary items for the specified crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private final java.util.List items;
+
+ /**
+ * Backup set summary items for the specified crypto assessment.
+ *
+ * @return the value
+ */
+ public java.util.List getItems() {
+ return items;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CryptoAssessmentBackupSetCollection(");
+ sb.append("super=").append(super.toString());
+ sb.append("items=").append(String.valueOf(this.items));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CryptoAssessmentBackupSetCollection)) {
+ return false;
+ }
+
+ CryptoAssessmentBackupSetCollection other = (CryptoAssessmentBackupSetCollection) o;
+ return java.util.Objects.equals(this.items, other.items) && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.items == null ? 43 : this.items.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentBackupSetSummary.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentBackupSetSummary.java
new file mode 100644
index 00000000000..53880413cc4
--- /dev/null
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentBackupSetSummary.java
@@ -0,0 +1,738 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.datasafe.model;
+
+/**
+ * Summary of one backup set observed for a crypto assessment.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20181201")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CryptoAssessmentBackupSetSummary.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CryptoAssessmentBackupSetSummary
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "assessmentId",
+ "timeLastAssessed",
+ "targetId",
+ "backupSetKey",
+ "setStamp",
+ "backupType",
+ "status",
+ "backupPieces",
+ "isEncrypted",
+ "algorithmObserved",
+ "cipherModeObserved",
+ "isCompressed",
+ "timeCreated",
+ "sizeInGBs"
+ })
+ public CryptoAssessmentBackupSetSummary(
+ String assessmentId,
+ java.util.Date timeLastAssessed,
+ String targetId,
+ String backupSetKey,
+ String setStamp,
+ BackupType backupType,
+ Status status,
+ Integer backupPieces,
+ Boolean isEncrypted,
+ String algorithmObserved,
+ String cipherModeObserved,
+ Boolean isCompressed,
+ java.util.Date timeCreated,
+ Double sizeInGBs) {
+ super();
+ this.assessmentId = assessmentId;
+ this.timeLastAssessed = timeLastAssessed;
+ this.targetId = targetId;
+ this.backupSetKey = backupSetKey;
+ this.setStamp = setStamp;
+ this.backupType = backupType;
+ this.status = status;
+ this.backupPieces = backupPieces;
+ this.isEncrypted = isEncrypted;
+ this.algorithmObserved = algorithmObserved;
+ this.cipherModeObserved = cipherModeObserved;
+ this.isCompressed = isCompressed;
+ this.timeCreated = timeCreated;
+ this.sizeInGBs = sizeInGBs;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** OCID of the crypto assessment that discovered the backup set. */
+ @com.fasterxml.jackson.annotation.JsonProperty("assessmentId")
+ private String assessmentId;
+
+ /**
+ * OCID of the crypto assessment that discovered the backup set.
+ *
+ * @param assessmentId the value to set
+ * @return this builder
+ */
+ public Builder assessmentId(String assessmentId) {
+ this.assessmentId = assessmentId;
+ this.__explicitlySet__.add("assessmentId");
+ return this;
+ }
+ /**
+ * The date and time the associated crypto assessment was last assessed, in RFC3339 format.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeLastAssessed")
+ private java.util.Date timeLastAssessed;
+
+ /**
+ * The date and time the associated crypto assessment was last assessed, in RFC3339 format.
+ *
+ * @param timeLastAssessed the value to set
+ * @return this builder
+ */
+ public Builder timeLastAssessed(java.util.Date timeLastAssessed) {
+ this.timeLastAssessed = timeLastAssessed;
+ this.__explicitlySet__.add("timeLastAssessed");
+ return this;
+ }
+ /** OCID of the target database associated with the backup set. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetId")
+ private String targetId;
+
+ /**
+ * OCID of the target database associated with the backup set.
+ *
+ * @param targetId the value to set
+ * @return this builder
+ */
+ public Builder targetId(String targetId) {
+ this.targetId = targetId;
+ this.__explicitlySet__.add("targetId");
+ return this;
+ }
+ /** Backup set key. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupSetKey")
+ private String backupSetKey;
+
+ /**
+ * Backup set key.
+ *
+ * @param backupSetKey the value to set
+ * @return this builder
+ */
+ public Builder backupSetKey(String backupSetKey) {
+ this.backupSetKey = backupSetKey;
+ this.__explicitlySet__.add("backupSetKey");
+ return this;
+ }
+ /** Backup set stamp. */
+ @com.fasterxml.jackson.annotation.JsonProperty("setStamp")
+ private String setStamp;
+
+ /**
+ * Backup set stamp.
+ *
+ * @param setStamp the value to set
+ * @return this builder
+ */
+ public Builder setStamp(String setStamp) {
+ this.setStamp = setStamp;
+ this.__explicitlySet__.add("setStamp");
+ return this;
+ }
+ /** Backup type observed for the set. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupType")
+ private BackupType backupType;
+
+ /**
+ * Backup type observed for the set.
+ *
+ * @param backupType the value to set
+ * @return this builder
+ */
+ public Builder backupType(BackupType backupType) {
+ this.backupType = backupType;
+ this.__explicitlySet__.add("backupType");
+ return this;
+ }
+ /** Current status of the backup set. */
+ @com.fasterxml.jackson.annotation.JsonProperty("status")
+ private Status status;
+
+ /**
+ * Current status of the backup set.
+ *
+ * @param status the value to set
+ * @return this builder
+ */
+ public Builder status(Status status) {
+ this.status = status;
+ this.__explicitlySet__.add("status");
+ return this;
+ }
+ /** Number of backup pieces in the set. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupPieces")
+ private Integer backupPieces;
+
+ /**
+ * Number of backup pieces in the set.
+ *
+ * @param backupPieces the value to set
+ * @return this builder
+ */
+ public Builder backupPieces(Integer backupPieces) {
+ this.backupPieces = backupPieces;
+ this.__explicitlySet__.add("backupPieces");
+ return this;
+ }
+ /** Indicates whether the backup set is encrypted. */
+ @com.fasterxml.jackson.annotation.JsonProperty("isEncrypted")
+ private Boolean isEncrypted;
+
+ /**
+ * Indicates whether the backup set is encrypted.
+ *
+ * @param isEncrypted the value to set
+ * @return this builder
+ */
+ public Builder isEncrypted(Boolean isEncrypted) {
+ this.isEncrypted = isEncrypted;
+ this.__explicitlySet__.add("isEncrypted");
+ return this;
+ }
+ /** Encryption algorithm observed for the backup set when encryption is enabled. */
+ @com.fasterxml.jackson.annotation.JsonProperty("algorithmObserved")
+ private String algorithmObserved;
+
+ /**
+ * Encryption algorithm observed for the backup set when encryption is enabled.
+ *
+ * @param algorithmObserved the value to set
+ * @return this builder
+ */
+ public Builder algorithmObserved(String algorithmObserved) {
+ this.algorithmObserved = algorithmObserved;
+ this.__explicitlySet__.add("algorithmObserved");
+ return this;
+ }
+ /** Cipher mode observed for the backup set when encryption is enabled. */
+ @com.fasterxml.jackson.annotation.JsonProperty("cipherModeObserved")
+ private String cipherModeObserved;
+
+ /**
+ * Cipher mode observed for the backup set when encryption is enabled.
+ *
+ * @param cipherModeObserved the value to set
+ * @return this builder
+ */
+ public Builder cipherModeObserved(String cipherModeObserved) {
+ this.cipherModeObserved = cipherModeObserved;
+ this.__explicitlySet__.add("cipherModeObserved");
+ return this;
+ }
+ /** Indicates whether the backup set is compressed. */
+ @com.fasterxml.jackson.annotation.JsonProperty("isCompressed")
+ private Boolean isCompressed;
+
+ /**
+ * Indicates whether the backup set is compressed.
+ *
+ * @param isCompressed the value to set
+ * @return this builder
+ */
+ public Builder isCompressed(Boolean isCompressed) {
+ this.isCompressed = isCompressed;
+ this.__explicitlySet__.add("isCompressed");
+ return this;
+ }
+ /** Backup set creation time in RFC3339 format. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeCreated")
+ private java.util.Date timeCreated;
+
+ /**
+ * Backup set creation time in RFC3339 format.
+ *
+ * @param timeCreated the value to set
+ * @return this builder
+ */
+ public Builder timeCreated(java.util.Date timeCreated) {
+ this.timeCreated = timeCreated;
+ this.__explicitlySet__.add("timeCreated");
+ return this;
+ }
+ /** Backup set size in gigabytes. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sizeInGBs")
+ private Double sizeInGBs;
+
+ /**
+ * Backup set size in gigabytes.
+ *
+ * @param sizeInGBs the value to set
+ * @return this builder
+ */
+ public Builder sizeInGBs(Double sizeInGBs) {
+ this.sizeInGBs = sizeInGBs;
+ this.__explicitlySet__.add("sizeInGBs");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CryptoAssessmentBackupSetSummary build() {
+ CryptoAssessmentBackupSetSummary model =
+ new CryptoAssessmentBackupSetSummary(
+ this.assessmentId,
+ this.timeLastAssessed,
+ this.targetId,
+ this.backupSetKey,
+ this.setStamp,
+ this.backupType,
+ this.status,
+ this.backupPieces,
+ this.isEncrypted,
+ this.algorithmObserved,
+ this.cipherModeObserved,
+ this.isCompressed,
+ this.timeCreated,
+ this.sizeInGBs);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CryptoAssessmentBackupSetSummary model) {
+ if (model.wasPropertyExplicitlySet("assessmentId")) {
+ this.assessmentId(model.getAssessmentId());
+ }
+ if (model.wasPropertyExplicitlySet("timeLastAssessed")) {
+ this.timeLastAssessed(model.getTimeLastAssessed());
+ }
+ if (model.wasPropertyExplicitlySet("targetId")) {
+ this.targetId(model.getTargetId());
+ }
+ if (model.wasPropertyExplicitlySet("backupSetKey")) {
+ this.backupSetKey(model.getBackupSetKey());
+ }
+ if (model.wasPropertyExplicitlySet("setStamp")) {
+ this.setStamp(model.getSetStamp());
+ }
+ if (model.wasPropertyExplicitlySet("backupType")) {
+ this.backupType(model.getBackupType());
+ }
+ if (model.wasPropertyExplicitlySet("status")) {
+ this.status(model.getStatus());
+ }
+ if (model.wasPropertyExplicitlySet("backupPieces")) {
+ this.backupPieces(model.getBackupPieces());
+ }
+ if (model.wasPropertyExplicitlySet("isEncrypted")) {
+ this.isEncrypted(model.getIsEncrypted());
+ }
+ if (model.wasPropertyExplicitlySet("algorithmObserved")) {
+ this.algorithmObserved(model.getAlgorithmObserved());
+ }
+ if (model.wasPropertyExplicitlySet("cipherModeObserved")) {
+ this.cipherModeObserved(model.getCipherModeObserved());
+ }
+ if (model.wasPropertyExplicitlySet("isCompressed")) {
+ this.isCompressed(model.getIsCompressed());
+ }
+ if (model.wasPropertyExplicitlySet("timeCreated")) {
+ this.timeCreated(model.getTimeCreated());
+ }
+ if (model.wasPropertyExplicitlySet("sizeInGBs")) {
+ this.sizeInGBs(model.getSizeInGBs());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** OCID of the crypto assessment that discovered the backup set. */
+ @com.fasterxml.jackson.annotation.JsonProperty("assessmentId")
+ private final String assessmentId;
+
+ /**
+ * OCID of the crypto assessment that discovered the backup set.
+ *
+ * @return the value
+ */
+ public String getAssessmentId() {
+ return assessmentId;
+ }
+
+ /** The date and time the associated crypto assessment was last assessed, in RFC3339 format. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeLastAssessed")
+ private final java.util.Date timeLastAssessed;
+
+ /**
+ * The date and time the associated crypto assessment was last assessed, in RFC3339 format.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeLastAssessed() {
+ return timeLastAssessed;
+ }
+
+ /** OCID of the target database associated with the backup set. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetId")
+ private final String targetId;
+
+ /**
+ * OCID of the target database associated with the backup set.
+ *
+ * @return the value
+ */
+ public String getTargetId() {
+ return targetId;
+ }
+
+ /** Backup set key. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupSetKey")
+ private final String backupSetKey;
+
+ /**
+ * Backup set key.
+ *
+ * @return the value
+ */
+ public String getBackupSetKey() {
+ return backupSetKey;
+ }
+
+ /** Backup set stamp. */
+ @com.fasterxml.jackson.annotation.JsonProperty("setStamp")
+ private final String setStamp;
+
+ /**
+ * Backup set stamp.
+ *
+ * @return the value
+ */
+ public String getSetStamp() {
+ return setStamp;
+ }
+
+ /** Backup type observed for the set. */
+ public enum BackupType implements com.oracle.bmc.http.internal.BmcEnum {
+ Datafile("DATAFILE"),
+ Archived("ARCHIVED"),
+ Incremental("INCREMENTAL"),
+ NotSupported("NOT_SUPPORTED"),
+
+ /**
+ * This value is used if a service returns a value for this enum that is not recognized by
+ * this version of the SDK.
+ */
+ UnknownEnumValue(null);
+
+ private static final org.slf4j.Logger LOG =
+ org.slf4j.LoggerFactory.getLogger(BackupType.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (BackupType v : BackupType.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ BackupType(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static BackupType create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'BackupType', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+ /** Backup type observed for the set. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupType")
+ private final BackupType backupType;
+
+ /**
+ * Backup type observed for the set.
+ *
+ * @return the value
+ */
+ public BackupType getBackupType() {
+ return backupType;
+ }
+
+ /** Current status of the backup set. */
+ public enum Status implements com.oracle.bmc.http.internal.BmcEnum {
+ Available("AVAILABLE"),
+ Expired("EXPIRED"),
+ Deleted("DELETED"),
+ NotSupported("NOT_SUPPORTED"),
+
+ /**
+ * This value is used if a service returns a value for this enum that is not recognized by
+ * this version of the SDK.
+ */
+ UnknownEnumValue(null);
+
+ private static final org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(Status.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (Status v : Status.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ Status(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static Status create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'Status', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+ /** Current status of the backup set. */
+ @com.fasterxml.jackson.annotation.JsonProperty("status")
+ private final Status status;
+
+ /**
+ * Current status of the backup set.
+ *
+ * @return the value
+ */
+ public Status getStatus() {
+ return status;
+ }
+
+ /** Number of backup pieces in the set. */
+ @com.fasterxml.jackson.annotation.JsonProperty("backupPieces")
+ private final Integer backupPieces;
+
+ /**
+ * Number of backup pieces in the set.
+ *
+ * @return the value
+ */
+ public Integer getBackupPieces() {
+ return backupPieces;
+ }
+
+ /** Indicates whether the backup set is encrypted. */
+ @com.fasterxml.jackson.annotation.JsonProperty("isEncrypted")
+ private final Boolean isEncrypted;
+
+ /**
+ * Indicates whether the backup set is encrypted.
+ *
+ * @return the value
+ */
+ public Boolean getIsEncrypted() {
+ return isEncrypted;
+ }
+
+ /** Encryption algorithm observed for the backup set when encryption is enabled. */
+ @com.fasterxml.jackson.annotation.JsonProperty("algorithmObserved")
+ private final String algorithmObserved;
+
+ /**
+ * Encryption algorithm observed for the backup set when encryption is enabled.
+ *
+ * @return the value
+ */
+ public String getAlgorithmObserved() {
+ return algorithmObserved;
+ }
+
+ /** Cipher mode observed for the backup set when encryption is enabled. */
+ @com.fasterxml.jackson.annotation.JsonProperty("cipherModeObserved")
+ private final String cipherModeObserved;
+
+ /**
+ * Cipher mode observed for the backup set when encryption is enabled.
+ *
+ * @return the value
+ */
+ public String getCipherModeObserved() {
+ return cipherModeObserved;
+ }
+
+ /** Indicates whether the backup set is compressed. */
+ @com.fasterxml.jackson.annotation.JsonProperty("isCompressed")
+ private final Boolean isCompressed;
+
+ /**
+ * Indicates whether the backup set is compressed.
+ *
+ * @return the value
+ */
+ public Boolean getIsCompressed() {
+ return isCompressed;
+ }
+
+ /** Backup set creation time in RFC3339 format. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeCreated")
+ private final java.util.Date timeCreated;
+
+ /**
+ * Backup set creation time in RFC3339 format.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeCreated() {
+ return timeCreated;
+ }
+
+ /** Backup set size in gigabytes. */
+ @com.fasterxml.jackson.annotation.JsonProperty("sizeInGBs")
+ private final Double sizeInGBs;
+
+ /**
+ * Backup set size in gigabytes.
+ *
+ * @return the value
+ */
+ public Double getSizeInGBs() {
+ return sizeInGBs;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CryptoAssessmentBackupSetSummary(");
+ sb.append("super=").append(super.toString());
+ sb.append("assessmentId=").append(String.valueOf(this.assessmentId));
+ sb.append(", timeLastAssessed=").append(String.valueOf(this.timeLastAssessed));
+ sb.append(", targetId=").append(String.valueOf(this.targetId));
+ sb.append(", backupSetKey=").append(String.valueOf(this.backupSetKey));
+ sb.append(", setStamp=").append(String.valueOf(this.setStamp));
+ sb.append(", backupType=").append(String.valueOf(this.backupType));
+ sb.append(", status=").append(String.valueOf(this.status));
+ sb.append(", backupPieces=").append(String.valueOf(this.backupPieces));
+ sb.append(", isEncrypted=").append(String.valueOf(this.isEncrypted));
+ sb.append(", algorithmObserved=").append(String.valueOf(this.algorithmObserved));
+ sb.append(", cipherModeObserved=").append(String.valueOf(this.cipherModeObserved));
+ sb.append(", isCompressed=").append(String.valueOf(this.isCompressed));
+ sb.append(", timeCreated=").append(String.valueOf(this.timeCreated));
+ sb.append(", sizeInGBs=").append(String.valueOf(this.sizeInGBs));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CryptoAssessmentBackupSetSummary)) {
+ return false;
+ }
+
+ CryptoAssessmentBackupSetSummary other = (CryptoAssessmentBackupSetSummary) o;
+ return java.util.Objects.equals(this.assessmentId, other.assessmentId)
+ && java.util.Objects.equals(this.timeLastAssessed, other.timeLastAssessed)
+ && java.util.Objects.equals(this.targetId, other.targetId)
+ && java.util.Objects.equals(this.backupSetKey, other.backupSetKey)
+ && java.util.Objects.equals(this.setStamp, other.setStamp)
+ && java.util.Objects.equals(this.backupType, other.backupType)
+ && java.util.Objects.equals(this.status, other.status)
+ && java.util.Objects.equals(this.backupPieces, other.backupPieces)
+ && java.util.Objects.equals(this.isEncrypted, other.isEncrypted)
+ && java.util.Objects.equals(this.algorithmObserved, other.algorithmObserved)
+ && java.util.Objects.equals(this.cipherModeObserved, other.cipherModeObserved)
+ && java.util.Objects.equals(this.isCompressed, other.isCompressed)
+ && java.util.Objects.equals(this.timeCreated, other.timeCreated)
+ && java.util.Objects.equals(this.sizeInGBs, other.sizeInGBs)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.assessmentId == null ? 43 : this.assessmentId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.timeLastAssessed == null ? 43 : this.timeLastAssessed.hashCode());
+ result = (result * PRIME) + (this.targetId == null ? 43 : this.targetId.hashCode());
+ result = (result * PRIME) + (this.backupSetKey == null ? 43 : this.backupSetKey.hashCode());
+ result = (result * PRIME) + (this.setStamp == null ? 43 : this.setStamp.hashCode());
+ result = (result * PRIME) + (this.backupType == null ? 43 : this.backupType.hashCode());
+ result = (result * PRIME) + (this.status == null ? 43 : this.status.hashCode());
+ result = (result * PRIME) + (this.backupPieces == null ? 43 : this.backupPieces.hashCode());
+ result = (result * PRIME) + (this.isEncrypted == null ? 43 : this.isEncrypted.hashCode());
+ result =
+ (result * PRIME)
+ + (this.algorithmObserved == null ? 43 : this.algorithmObserved.hashCode());
+ result =
+ (result * PRIME)
+ + (this.cipherModeObserved == null
+ ? 43
+ : this.cipherModeObserved.hashCode());
+ result = (result * PRIME) + (this.isCompressed == null ? 43 : this.isCompressed.hashCode());
+ result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode());
+ result = (result * PRIME) + (this.sizeInGBs == null ? 43 : this.sizeInGBs.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentCbomItemCollection.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentCbomItemCollection.java
new file mode 100644
index 00000000000..e8c9b7ef11b
--- /dev/null
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentCbomItemCollection.java
@@ -0,0 +1,135 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.datasafe.model;
+
+/**
+ * Collection of CBOM items discovered for a crypto assessment.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20181201")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CryptoAssessmentCbomItemCollection.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CryptoAssessmentCbomItemCollection
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"items"})
+ public CryptoAssessmentCbomItemCollection(
+ java.util.List items) {
+ super();
+ this.items = items;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** CBOM items for the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private java.util.List items;
+
+ /**
+ * CBOM items for the crypto assessment.
+ *
+ * @param items the value to set
+ * @return this builder
+ */
+ public Builder items(java.util.List items) {
+ this.items = items;
+ this.__explicitlySet__.add("items");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CryptoAssessmentCbomItemCollection build() {
+ CryptoAssessmentCbomItemCollection model =
+ new CryptoAssessmentCbomItemCollection(this.items);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CryptoAssessmentCbomItemCollection model) {
+ if (model.wasPropertyExplicitlySet("items")) {
+ this.items(model.getItems());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** CBOM items for the crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private final java.util.List items;
+
+ /**
+ * CBOM items for the crypto assessment.
+ *
+ * @return the value
+ */
+ public java.util.List getItems() {
+ return items;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CryptoAssessmentCbomItemCollection(");
+ sb.append("super=").append(super.toString());
+ sb.append("items=").append(String.valueOf(this.items));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CryptoAssessmentCbomItemCollection)) {
+ return false;
+ }
+
+ CryptoAssessmentCbomItemCollection other = (CryptoAssessmentCbomItemCollection) o;
+ return java.util.Objects.equals(this.items, other.items) && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.items == null ? 43 : this.items.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentCbomItemSummary.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentCbomItemSummary.java
new file mode 100644
index 00000000000..295259bbcee
--- /dev/null
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentCbomItemSummary.java
@@ -0,0 +1,413 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.datasafe.model;
+
+/**
+ * One CBOM item representing a cryptographic component or configuration.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20181201")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CryptoAssessmentCbomItemSummary.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CryptoAssessmentCbomItemSummary
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "componentType",
+ "feature",
+ "protocol",
+ "algorithm",
+ "format",
+ "keySize",
+ "configurationLocation",
+ "complianceDriver"
+ })
+ public CryptoAssessmentCbomItemSummary(
+ String componentType,
+ String feature,
+ String protocol,
+ String algorithm,
+ String format,
+ String keySize,
+ java.util.List configurationLocation,
+ String complianceDriver) {
+ super();
+ this.componentType = componentType;
+ this.feature = feature;
+ this.protocol = protocol;
+ this.algorithm = algorithm;
+ this.format = format;
+ this.keySize = keySize;
+ this.configurationLocation = configurationLocation;
+ this.complianceDriver = complianceDriver;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** Type of component represented in the CBOM item. */
+ @com.fasterxml.jackson.annotation.JsonProperty("componentType")
+ private String componentType;
+
+ /**
+ * Type of component represented in the CBOM item.
+ *
+ * @param componentType the value to set
+ * @return this builder
+ */
+ public Builder componentType(String componentType) {
+ this.componentType = componentType;
+ this.__explicitlySet__.add("componentType");
+ return this;
+ }
+ /** Feature name represented by the CBOM item. */
+ @com.fasterxml.jackson.annotation.JsonProperty("feature")
+ private String feature;
+
+ /**
+ * Feature name represented by the CBOM item.
+ *
+ * @param feature the value to set
+ * @return this builder
+ */
+ public Builder feature(String feature) {
+ this.feature = feature;
+ this.__explicitlySet__.add("feature");
+ return this;
+ }
+ /** Protocol used by the cryptographic feature. */
+ @com.fasterxml.jackson.annotation.JsonProperty("protocol")
+ private String protocol;
+
+ /**
+ * Protocol used by the cryptographic feature.
+ *
+ * @param protocol the value to set
+ * @return this builder
+ */
+ public Builder protocol(String protocol) {
+ this.protocol = protocol;
+ this.__explicitlySet__.add("protocol");
+ return this;
+ }
+ /** Cryptographic algorithm or integrity/checksum value observed for the feature. */
+ @com.fasterxml.jackson.annotation.JsonProperty("algorithm")
+ private String algorithm;
+
+ /**
+ * Cryptographic algorithm or integrity/checksum value observed for the feature.
+ *
+ * @param algorithm the value to set
+ * @return this builder
+ */
+ public Builder algorithm(String algorithm) {
+ this.algorithm = algorithm;
+ this.__explicitlySet__.add("algorithm");
+ return this;
+ }
+ /** Cryptographic format used by the feature. */
+ @com.fasterxml.jackson.annotation.JsonProperty("format")
+ private String format;
+
+ /**
+ * Cryptographic format used by the feature.
+ *
+ * @param format the value to set
+ * @return this builder
+ */
+ public Builder format(String format) {
+ this.format = format;
+ this.__explicitlySet__.add("format");
+ return this;
+ }
+ /** Observed key size for the feature. */
+ @com.fasterxml.jackson.annotation.JsonProperty("keySize")
+ private String keySize;
+
+ /**
+ * Observed key size for the feature.
+ *
+ * @param keySize the value to set
+ * @return this builder
+ */
+ public Builder keySize(String keySize) {
+ this.keySize = keySize;
+ this.__explicitlySet__.add("keySize");
+ return this;
+ }
+ /** Locations where this item is configured or stored. */
+ @com.fasterxml.jackson.annotation.JsonProperty("configurationLocation")
+ private java.util.List configurationLocation;
+
+ /**
+ * Locations where this item is configured or stored.
+ *
+ * @param configurationLocation the value to set
+ * @return this builder
+ */
+ public Builder configurationLocation(java.util.List configurationLocation) {
+ this.configurationLocation = configurationLocation;
+ this.__explicitlySet__.add("configurationLocation");
+ return this;
+ }
+ /** Static compliance standards applicable to the feature. */
+ @com.fasterxml.jackson.annotation.JsonProperty("complianceDriver")
+ private String complianceDriver;
+
+ /**
+ * Static compliance standards applicable to the feature.
+ *
+ * @param complianceDriver the value to set
+ * @return this builder
+ */
+ public Builder complianceDriver(String complianceDriver) {
+ this.complianceDriver = complianceDriver;
+ this.__explicitlySet__.add("complianceDriver");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CryptoAssessmentCbomItemSummary build() {
+ CryptoAssessmentCbomItemSummary model =
+ new CryptoAssessmentCbomItemSummary(
+ this.componentType,
+ this.feature,
+ this.protocol,
+ this.algorithm,
+ this.format,
+ this.keySize,
+ this.configurationLocation,
+ this.complianceDriver);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CryptoAssessmentCbomItemSummary model) {
+ if (model.wasPropertyExplicitlySet("componentType")) {
+ this.componentType(model.getComponentType());
+ }
+ if (model.wasPropertyExplicitlySet("feature")) {
+ this.feature(model.getFeature());
+ }
+ if (model.wasPropertyExplicitlySet("protocol")) {
+ this.protocol(model.getProtocol());
+ }
+ if (model.wasPropertyExplicitlySet("algorithm")) {
+ this.algorithm(model.getAlgorithm());
+ }
+ if (model.wasPropertyExplicitlySet("format")) {
+ this.format(model.getFormat());
+ }
+ if (model.wasPropertyExplicitlySet("keySize")) {
+ this.keySize(model.getKeySize());
+ }
+ if (model.wasPropertyExplicitlySet("configurationLocation")) {
+ this.configurationLocation(model.getConfigurationLocation());
+ }
+ if (model.wasPropertyExplicitlySet("complianceDriver")) {
+ this.complianceDriver(model.getComplianceDriver());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** Type of component represented in the CBOM item. */
+ @com.fasterxml.jackson.annotation.JsonProperty("componentType")
+ private final String componentType;
+
+ /**
+ * Type of component represented in the CBOM item.
+ *
+ * @return the value
+ */
+ public String getComponentType() {
+ return componentType;
+ }
+
+ /** Feature name represented by the CBOM item. */
+ @com.fasterxml.jackson.annotation.JsonProperty("feature")
+ private final String feature;
+
+ /**
+ * Feature name represented by the CBOM item.
+ *
+ * @return the value
+ */
+ public String getFeature() {
+ return feature;
+ }
+
+ /** Protocol used by the cryptographic feature. */
+ @com.fasterxml.jackson.annotation.JsonProperty("protocol")
+ private final String protocol;
+
+ /**
+ * Protocol used by the cryptographic feature.
+ *
+ * @return the value
+ */
+ public String getProtocol() {
+ return protocol;
+ }
+
+ /** Cryptographic algorithm or integrity/checksum value observed for the feature. */
+ @com.fasterxml.jackson.annotation.JsonProperty("algorithm")
+ private final String algorithm;
+
+ /**
+ * Cryptographic algorithm or integrity/checksum value observed for the feature.
+ *
+ * @return the value
+ */
+ public String getAlgorithm() {
+ return algorithm;
+ }
+
+ /** Cryptographic format used by the feature. */
+ @com.fasterxml.jackson.annotation.JsonProperty("format")
+ private final String format;
+
+ /**
+ * Cryptographic format used by the feature.
+ *
+ * @return the value
+ */
+ public String getFormat() {
+ return format;
+ }
+
+ /** Observed key size for the feature. */
+ @com.fasterxml.jackson.annotation.JsonProperty("keySize")
+ private final String keySize;
+
+ /**
+ * Observed key size for the feature.
+ *
+ * @return the value
+ */
+ public String getKeySize() {
+ return keySize;
+ }
+
+ /** Locations where this item is configured or stored. */
+ @com.fasterxml.jackson.annotation.JsonProperty("configurationLocation")
+ private final java.util.List configurationLocation;
+
+ /**
+ * Locations where this item is configured or stored.
+ *
+ * @return the value
+ */
+ public java.util.List getConfigurationLocation() {
+ return configurationLocation;
+ }
+
+ /** Static compliance standards applicable to the feature. */
+ @com.fasterxml.jackson.annotation.JsonProperty("complianceDriver")
+ private final String complianceDriver;
+
+ /**
+ * Static compliance standards applicable to the feature.
+ *
+ * @return the value
+ */
+ public String getComplianceDriver() {
+ return complianceDriver;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CryptoAssessmentCbomItemSummary(");
+ sb.append("super=").append(super.toString());
+ sb.append("componentType=").append(String.valueOf(this.componentType));
+ sb.append(", feature=").append(String.valueOf(this.feature));
+ sb.append(", protocol=").append(String.valueOf(this.protocol));
+ sb.append(", algorithm=").append(String.valueOf(this.algorithm));
+ sb.append(", format=").append(String.valueOf(this.format));
+ sb.append(", keySize=").append(String.valueOf(this.keySize));
+ sb.append(", configurationLocation=").append(String.valueOf(this.configurationLocation));
+ sb.append(", complianceDriver=").append(String.valueOf(this.complianceDriver));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CryptoAssessmentCbomItemSummary)) {
+ return false;
+ }
+
+ CryptoAssessmentCbomItemSummary other = (CryptoAssessmentCbomItemSummary) o;
+ return java.util.Objects.equals(this.componentType, other.componentType)
+ && java.util.Objects.equals(this.feature, other.feature)
+ && java.util.Objects.equals(this.protocol, other.protocol)
+ && java.util.Objects.equals(this.algorithm, other.algorithm)
+ && java.util.Objects.equals(this.format, other.format)
+ && java.util.Objects.equals(this.keySize, other.keySize)
+ && java.util.Objects.equals(this.configurationLocation, other.configurationLocation)
+ && java.util.Objects.equals(this.complianceDriver, other.complianceDriver)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result =
+ (result * PRIME)
+ + (this.componentType == null ? 43 : this.componentType.hashCode());
+ result = (result * PRIME) + (this.feature == null ? 43 : this.feature.hashCode());
+ result = (result * PRIME) + (this.protocol == null ? 43 : this.protocol.hashCode());
+ result = (result * PRIME) + (this.algorithm == null ? 43 : this.algorithm.hashCode());
+ result = (result * PRIME) + (this.format == null ? 43 : this.format.hashCode());
+ result = (result * PRIME) + (this.keySize == null ? 43 : this.keySize.hashCode());
+ result =
+ (result * PRIME)
+ + (this.configurationLocation == null
+ ? 43
+ : this.configurationLocation.hashCode());
+ result =
+ (result * PRIME)
+ + (this.complianceDriver == null ? 43 : this.complianceDriver.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentCertificateCollection.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentCertificateCollection.java
new file mode 100644
index 00000000000..e6d9eb91936
--- /dev/null
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentCertificateCollection.java
@@ -0,0 +1,135 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.datasafe.model;
+
+/**
+ * Certificates discovered across targets in a compartment.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20181201")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CryptoAssessmentCertificateCollection.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CryptoAssessmentCertificateCollection
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"items"})
+ public CryptoAssessmentCertificateCollection(
+ java.util.List items) {
+ super();
+ this.items = items;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** Certificate summaries that match the request filters. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private java.util.List items;
+
+ /**
+ * Certificate summaries that match the request filters.
+ *
+ * @param items the value to set
+ * @return this builder
+ */
+ public Builder items(java.util.List items) {
+ this.items = items;
+ this.__explicitlySet__.add("items");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CryptoAssessmentCertificateCollection build() {
+ CryptoAssessmentCertificateCollection model =
+ new CryptoAssessmentCertificateCollection(this.items);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CryptoAssessmentCertificateCollection model) {
+ if (model.wasPropertyExplicitlySet("items")) {
+ this.items(model.getItems());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** Certificate summaries that match the request filters. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private final java.util.List items;
+
+ /**
+ * Certificate summaries that match the request filters.
+ *
+ * @return the value
+ */
+ public java.util.List getItems() {
+ return items;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CryptoAssessmentCertificateCollection(");
+ sb.append("super=").append(super.toString());
+ sb.append("items=").append(String.valueOf(this.items));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CryptoAssessmentCertificateCollection)) {
+ return false;
+ }
+
+ CryptoAssessmentCertificateCollection other = (CryptoAssessmentCertificateCollection) o;
+ return java.util.Objects.equals(this.items, other.items) && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.items == null ? 43 : this.items.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentCertificateSummary.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentCertificateSummary.java
new file mode 100644
index 00000000000..7f78785f0b2
--- /dev/null
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentCertificateSummary.java
@@ -0,0 +1,926 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.datasafe.model;
+
+/**
+ * Summary of one certificate discovered across targets in a compartment.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20181201")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CryptoAssessmentCertificateSummary.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CryptoAssessmentCertificateSummary
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "assessmentId",
+ "timeLastAssessed",
+ "assessmentType",
+ "compartmentId",
+ "targetId",
+ "walletLocation",
+ "certificateType",
+ "subject",
+ "issuer",
+ "status",
+ "serialNumber",
+ "age",
+ "timeValidFrom",
+ "timeValidUntil",
+ "expiryBucket",
+ "daysToExpiry",
+ "publicKeyType",
+ "signatureAlgorithm"
+ })
+ public CryptoAssessmentCertificateSummary(
+ String assessmentId,
+ java.util.Date timeLastAssessed,
+ CryptoAssessment.Type assessmentType,
+ String compartmentId,
+ String targetId,
+ String walletLocation,
+ CertificateType certificateType,
+ String subject,
+ String issuer,
+ Status status,
+ String serialNumber,
+ Long age,
+ java.util.Date timeValidFrom,
+ java.util.Date timeValidUntil,
+ String expiryBucket,
+ Integer daysToExpiry,
+ String publicKeyType,
+ String signatureAlgorithm) {
+ super();
+ this.assessmentId = assessmentId;
+ this.timeLastAssessed = timeLastAssessed;
+ this.assessmentType = assessmentType;
+ this.compartmentId = compartmentId;
+ this.targetId = targetId;
+ this.walletLocation = walletLocation;
+ this.certificateType = certificateType;
+ this.subject = subject;
+ this.issuer = issuer;
+ this.status = status;
+ this.serialNumber = serialNumber;
+ this.age = age;
+ this.timeValidFrom = timeValidFrom;
+ this.timeValidUntil = timeValidUntil;
+ this.expiryBucket = expiryBucket;
+ this.daysToExpiry = daysToExpiry;
+ this.publicKeyType = publicKeyType;
+ this.signatureAlgorithm = signatureAlgorithm;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** OCID of the crypto assessment that discovered the certificate. */
+ @com.fasterxml.jackson.annotation.JsonProperty("assessmentId")
+ private String assessmentId;
+
+ /**
+ * OCID of the crypto assessment that discovered the certificate.
+ *
+ * @param assessmentId the value to set
+ * @return this builder
+ */
+ public Builder assessmentId(String assessmentId) {
+ this.assessmentId = assessmentId;
+ this.__explicitlySet__.add("assessmentId");
+ return this;
+ }
+ /**
+ * The date and time the associated crypto assessment was last assessed, in RFC3339 format.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeLastAssessed")
+ private java.util.Date timeLastAssessed;
+
+ /**
+ * The date and time the associated crypto assessment was last assessed, in RFC3339 format.
+ *
+ * @param timeLastAssessed the value to set
+ * @return this builder
+ */
+ public Builder timeLastAssessed(java.util.Date timeLastAssessed) {
+ this.timeLastAssessed = timeLastAssessed;
+ this.__explicitlySet__.add("timeLastAssessed");
+ return this;
+ }
+ /** Type of the crypto assessment that discovered the certificate. */
+ @com.fasterxml.jackson.annotation.JsonProperty("assessmentType")
+ private CryptoAssessment.Type assessmentType;
+
+ /**
+ * Type of the crypto assessment that discovered the certificate.
+ *
+ * @param assessmentType the value to set
+ * @return this builder
+ */
+ public Builder assessmentType(CryptoAssessment.Type assessmentType) {
+ this.assessmentType = assessmentType;
+ this.__explicitlySet__.add("assessmentType");
+ return this;
+ }
+ /** OCID of the compartment that contains the certificate row. */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private String compartmentId;
+
+ /**
+ * OCID of the compartment that contains the certificate row.
+ *
+ * @param compartmentId the value to set
+ * @return this builder
+ */
+ public Builder compartmentId(String compartmentId) {
+ this.compartmentId = compartmentId;
+ this.__explicitlySet__.add("compartmentId");
+ return this;
+ }
+ /** OCID of the target database associated with the certificate. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetId")
+ private String targetId;
+
+ /**
+ * OCID of the target database associated with the certificate.
+ *
+ * @param targetId the value to set
+ * @return this builder
+ */
+ public Builder targetId(String targetId) {
+ this.targetId = targetId;
+ this.__explicitlySet__.add("targetId");
+ return this;
+ }
+ /** Wallet location where the certificate was discovered, if available. */
+ @com.fasterxml.jackson.annotation.JsonProperty("walletLocation")
+ private String walletLocation;
+
+ /**
+ * Wallet location where the certificate was discovered, if available.
+ *
+ * @param walletLocation the value to set
+ * @return this builder
+ */
+ public Builder walletLocation(String walletLocation) {
+ this.walletLocation = walletLocation;
+ this.__explicitlySet__.add("walletLocation");
+ return this;
+ }
+ /** Type of certificate. */
+ @com.fasterxml.jackson.annotation.JsonProperty("certificateType")
+ private CertificateType certificateType;
+
+ /**
+ * Type of certificate.
+ *
+ * @param certificateType the value to set
+ * @return this builder
+ */
+ public Builder certificateType(CertificateType certificateType) {
+ this.certificateType = certificateType;
+ this.__explicitlySet__.add("certificateType");
+ return this;
+ }
+ /** Subject of the certificate. */
+ @com.fasterxml.jackson.annotation.JsonProperty("subject")
+ private String subject;
+
+ /**
+ * Subject of the certificate.
+ *
+ * @param subject the value to set
+ * @return this builder
+ */
+ public Builder subject(String subject) {
+ this.subject = subject;
+ this.__explicitlySet__.add("subject");
+ return this;
+ }
+ /** Issuer of the certificate. */
+ @com.fasterxml.jackson.annotation.JsonProperty("issuer")
+ private String issuer;
+
+ /**
+ * Issuer of the certificate.
+ *
+ * @param issuer the value to set
+ * @return this builder
+ */
+ public Builder issuer(String issuer) {
+ this.issuer = issuer;
+ this.__explicitlySet__.add("issuer");
+ return this;
+ }
+ /** Certificate validity status. */
+ @com.fasterxml.jackson.annotation.JsonProperty("status")
+ private Status status;
+
+ /**
+ * Certificate validity status.
+ *
+ * @param status the value to set
+ * @return this builder
+ */
+ public Builder status(Status status) {
+ this.status = status;
+ this.__explicitlySet__.add("status");
+ return this;
+ }
+ /** Certificate serial number. */
+ @com.fasterxml.jackson.annotation.JsonProperty("serialNumber")
+ private String serialNumber;
+
+ /**
+ * Certificate serial number.
+ *
+ * @param serialNumber the value to set
+ * @return this builder
+ */
+ public Builder serialNumber(String serialNumber) {
+ this.serialNumber = serialNumber;
+ this.__explicitlySet__.add("serialNumber");
+ return this;
+ }
+ /**
+ * Age of the certificate in whole days, calculated from timeValidFrom using the current UTC
+ * date.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("age")
+ private Long age;
+
+ /**
+ * Age of the certificate in whole days, calculated from timeValidFrom using the current UTC
+ * date.
+ *
+ * @param age the value to set
+ * @return this builder
+ */
+ public Builder age(Long age) {
+ this.age = age;
+ this.__explicitlySet__.add("age");
+ return this;
+ }
+ /** Certificate validity start time in RFC3339 format. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeValidFrom")
+ private java.util.Date timeValidFrom;
+
+ /**
+ * Certificate validity start time in RFC3339 format.
+ *
+ * @param timeValidFrom the value to set
+ * @return this builder
+ */
+ public Builder timeValidFrom(java.util.Date timeValidFrom) {
+ this.timeValidFrom = timeValidFrom;
+ this.__explicitlySet__.add("timeValidFrom");
+ return this;
+ }
+ /** Certificate validity end time in RFC3339 format. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeValidUntil")
+ private java.util.Date timeValidUntil;
+
+ /**
+ * Certificate validity end time in RFC3339 format.
+ *
+ * @param timeValidUntil the value to set
+ * @return this builder
+ */
+ public Builder timeValidUntil(java.util.Date timeValidUntil) {
+ this.timeValidUntil = timeValidUntil;
+ this.__explicitlySet__.add("timeValidUntil");
+ return this;
+ }
+ /**
+ * Expiry bucket populated for the certificate when the assessment runs. Supported values
+ * are 0_15, 15_30, 30_60, 60_90, and 90_PLUS.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("expiryBucket")
+ private String expiryBucket;
+
+ /**
+ * Expiry bucket populated for the certificate when the assessment runs. Supported values
+ * are 0_15, 15_30, 30_60, 60_90, and 90_PLUS.
+ *
+ * @param expiryBucket the value to set
+ * @return this builder
+ */
+ public Builder expiryBucket(String expiryBucket) {
+ this.expiryBucket = expiryBucket;
+ this.__explicitlySet__.add("expiryBucket");
+ return this;
+ }
+ /**
+ * Number of whole days until certificate expiration, calculated from timeValidUntil.
+ * Negative values indicate already expired certificates.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("daysToExpiry")
+ private Integer daysToExpiry;
+
+ /**
+ * Number of whole days until certificate expiration, calculated from timeValidUntil.
+ * Negative values indicate already expired certificates.
+ *
+ * @param daysToExpiry the value to set
+ * @return this builder
+ */
+ public Builder daysToExpiry(Integer daysToExpiry) {
+ this.daysToExpiry = daysToExpiry;
+ this.__explicitlySet__.add("daysToExpiry");
+ return this;
+ }
+ /** Public key type and size. */
+ @com.fasterxml.jackson.annotation.JsonProperty("publicKeyType")
+ private String publicKeyType;
+
+ /**
+ * Public key type and size.
+ *
+ * @param publicKeyType the value to set
+ * @return this builder
+ */
+ public Builder publicKeyType(String publicKeyType) {
+ this.publicKeyType = publicKeyType;
+ this.__explicitlySet__.add("publicKeyType");
+ return this;
+ }
+ /** Signature algorithm used by the certificate. */
+ @com.fasterxml.jackson.annotation.JsonProperty("signatureAlgorithm")
+ private String signatureAlgorithm;
+
+ /**
+ * Signature algorithm used by the certificate.
+ *
+ * @param signatureAlgorithm the value to set
+ * @return this builder
+ */
+ public Builder signatureAlgorithm(String signatureAlgorithm) {
+ this.signatureAlgorithm = signatureAlgorithm;
+ this.__explicitlySet__.add("signatureAlgorithm");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CryptoAssessmentCertificateSummary build() {
+ CryptoAssessmentCertificateSummary model =
+ new CryptoAssessmentCertificateSummary(
+ this.assessmentId,
+ this.timeLastAssessed,
+ this.assessmentType,
+ this.compartmentId,
+ this.targetId,
+ this.walletLocation,
+ this.certificateType,
+ this.subject,
+ this.issuer,
+ this.status,
+ this.serialNumber,
+ this.age,
+ this.timeValidFrom,
+ this.timeValidUntil,
+ this.expiryBucket,
+ this.daysToExpiry,
+ this.publicKeyType,
+ this.signatureAlgorithm);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CryptoAssessmentCertificateSummary model) {
+ if (model.wasPropertyExplicitlySet("assessmentId")) {
+ this.assessmentId(model.getAssessmentId());
+ }
+ if (model.wasPropertyExplicitlySet("timeLastAssessed")) {
+ this.timeLastAssessed(model.getTimeLastAssessed());
+ }
+ if (model.wasPropertyExplicitlySet("assessmentType")) {
+ this.assessmentType(model.getAssessmentType());
+ }
+ if (model.wasPropertyExplicitlySet("compartmentId")) {
+ this.compartmentId(model.getCompartmentId());
+ }
+ if (model.wasPropertyExplicitlySet("targetId")) {
+ this.targetId(model.getTargetId());
+ }
+ if (model.wasPropertyExplicitlySet("walletLocation")) {
+ this.walletLocation(model.getWalletLocation());
+ }
+ if (model.wasPropertyExplicitlySet("certificateType")) {
+ this.certificateType(model.getCertificateType());
+ }
+ if (model.wasPropertyExplicitlySet("subject")) {
+ this.subject(model.getSubject());
+ }
+ if (model.wasPropertyExplicitlySet("issuer")) {
+ this.issuer(model.getIssuer());
+ }
+ if (model.wasPropertyExplicitlySet("status")) {
+ this.status(model.getStatus());
+ }
+ if (model.wasPropertyExplicitlySet("serialNumber")) {
+ this.serialNumber(model.getSerialNumber());
+ }
+ if (model.wasPropertyExplicitlySet("age")) {
+ this.age(model.getAge());
+ }
+ if (model.wasPropertyExplicitlySet("timeValidFrom")) {
+ this.timeValidFrom(model.getTimeValidFrom());
+ }
+ if (model.wasPropertyExplicitlySet("timeValidUntil")) {
+ this.timeValidUntil(model.getTimeValidUntil());
+ }
+ if (model.wasPropertyExplicitlySet("expiryBucket")) {
+ this.expiryBucket(model.getExpiryBucket());
+ }
+ if (model.wasPropertyExplicitlySet("daysToExpiry")) {
+ this.daysToExpiry(model.getDaysToExpiry());
+ }
+ if (model.wasPropertyExplicitlySet("publicKeyType")) {
+ this.publicKeyType(model.getPublicKeyType());
+ }
+ if (model.wasPropertyExplicitlySet("signatureAlgorithm")) {
+ this.signatureAlgorithm(model.getSignatureAlgorithm());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** OCID of the crypto assessment that discovered the certificate. */
+ @com.fasterxml.jackson.annotation.JsonProperty("assessmentId")
+ private final String assessmentId;
+
+ /**
+ * OCID of the crypto assessment that discovered the certificate.
+ *
+ * @return the value
+ */
+ public String getAssessmentId() {
+ return assessmentId;
+ }
+
+ /** The date and time the associated crypto assessment was last assessed, in RFC3339 format. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeLastAssessed")
+ private final java.util.Date timeLastAssessed;
+
+ /**
+ * The date and time the associated crypto assessment was last assessed, in RFC3339 format.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeLastAssessed() {
+ return timeLastAssessed;
+ }
+
+ /** Type of the crypto assessment that discovered the certificate. */
+ @com.fasterxml.jackson.annotation.JsonProperty("assessmentType")
+ private final CryptoAssessment.Type assessmentType;
+
+ /**
+ * Type of the crypto assessment that discovered the certificate.
+ *
+ * @return the value
+ */
+ public CryptoAssessment.Type getAssessmentType() {
+ return assessmentType;
+ }
+
+ /** OCID of the compartment that contains the certificate row. */
+ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId")
+ private final String compartmentId;
+
+ /**
+ * OCID of the compartment that contains the certificate row.
+ *
+ * @return the value
+ */
+ public String getCompartmentId() {
+ return compartmentId;
+ }
+
+ /** OCID of the target database associated with the certificate. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetId")
+ private final String targetId;
+
+ /**
+ * OCID of the target database associated with the certificate.
+ *
+ * @return the value
+ */
+ public String getTargetId() {
+ return targetId;
+ }
+
+ /** Wallet location where the certificate was discovered, if available. */
+ @com.fasterxml.jackson.annotation.JsonProperty("walletLocation")
+ private final String walletLocation;
+
+ /**
+ * Wallet location where the certificate was discovered, if available.
+ *
+ * @return the value
+ */
+ public String getWalletLocation() {
+ return walletLocation;
+ }
+
+ /** Type of certificate. */
+ public enum CertificateType implements com.oracle.bmc.http.internal.BmcEnum {
+ Server("SERVER"),
+ User("USER"),
+ Trusted("TRUSTED"),
+
+ /**
+ * This value is used if a service returns a value for this enum that is not recognized by
+ * this version of the SDK.
+ */
+ UnknownEnumValue(null);
+
+ private static final org.slf4j.Logger LOG =
+ org.slf4j.LoggerFactory.getLogger(CertificateType.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (CertificateType v : CertificateType.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ CertificateType(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static CertificateType create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'CertificateType', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+ /** Type of certificate. */
+ @com.fasterxml.jackson.annotation.JsonProperty("certificateType")
+ private final CertificateType certificateType;
+
+ /**
+ * Type of certificate.
+ *
+ * @return the value
+ */
+ public CertificateType getCertificateType() {
+ return certificateType;
+ }
+
+ /** Subject of the certificate. */
+ @com.fasterxml.jackson.annotation.JsonProperty("subject")
+ private final String subject;
+
+ /**
+ * Subject of the certificate.
+ *
+ * @return the value
+ */
+ public String getSubject() {
+ return subject;
+ }
+
+ /** Issuer of the certificate. */
+ @com.fasterxml.jackson.annotation.JsonProperty("issuer")
+ private final String issuer;
+
+ /**
+ * Issuer of the certificate.
+ *
+ * @return the value
+ */
+ public String getIssuer() {
+ return issuer;
+ }
+
+ /** Certificate validity status. */
+ public enum Status implements com.oracle.bmc.http.internal.BmcEnum {
+ Valid("VALID"),
+ ExpiringSoon("EXPIRING_SOON"),
+ Expired("EXPIRED"),
+ Invalid("INVALID"),
+ InUse("IN_USE"),
+
+ /**
+ * This value is used if a service returns a value for this enum that is not recognized by
+ * this version of the SDK.
+ */
+ UnknownEnumValue(null);
+
+ private static final org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(Status.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (Status v : Status.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ Status(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static Status create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'Status', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+ /** Certificate validity status. */
+ @com.fasterxml.jackson.annotation.JsonProperty("status")
+ private final Status status;
+
+ /**
+ * Certificate validity status.
+ *
+ * @return the value
+ */
+ public Status getStatus() {
+ return status;
+ }
+
+ /** Certificate serial number. */
+ @com.fasterxml.jackson.annotation.JsonProperty("serialNumber")
+ private final String serialNumber;
+
+ /**
+ * Certificate serial number.
+ *
+ * @return the value
+ */
+ public String getSerialNumber() {
+ return serialNumber;
+ }
+
+ /**
+ * Age of the certificate in whole days, calculated from timeValidFrom using the current UTC
+ * date.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("age")
+ private final Long age;
+
+ /**
+ * Age of the certificate in whole days, calculated from timeValidFrom using the current UTC
+ * date.
+ *
+ * @return the value
+ */
+ public Long getAge() {
+ return age;
+ }
+
+ /** Certificate validity start time in RFC3339 format. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeValidFrom")
+ private final java.util.Date timeValidFrom;
+
+ /**
+ * Certificate validity start time in RFC3339 format.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeValidFrom() {
+ return timeValidFrom;
+ }
+
+ /** Certificate validity end time in RFC3339 format. */
+ @com.fasterxml.jackson.annotation.JsonProperty("timeValidUntil")
+ private final java.util.Date timeValidUntil;
+
+ /**
+ * Certificate validity end time in RFC3339 format.
+ *
+ * @return the value
+ */
+ public java.util.Date getTimeValidUntil() {
+ return timeValidUntil;
+ }
+
+ /**
+ * Expiry bucket populated for the certificate when the assessment runs. Supported values are
+ * 0_15, 15_30, 30_60, 60_90, and 90_PLUS.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("expiryBucket")
+ private final String expiryBucket;
+
+ /**
+ * Expiry bucket populated for the certificate when the assessment runs. Supported values are
+ * 0_15, 15_30, 30_60, 60_90, and 90_PLUS.
+ *
+ * @return the value
+ */
+ public String getExpiryBucket() {
+ return expiryBucket;
+ }
+
+ /**
+ * Number of whole days until certificate expiration, calculated from timeValidUntil. Negative
+ * values indicate already expired certificates.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("daysToExpiry")
+ private final Integer daysToExpiry;
+
+ /**
+ * Number of whole days until certificate expiration, calculated from timeValidUntil. Negative
+ * values indicate already expired certificates.
+ *
+ * @return the value
+ */
+ public Integer getDaysToExpiry() {
+ return daysToExpiry;
+ }
+
+ /** Public key type and size. */
+ @com.fasterxml.jackson.annotation.JsonProperty("publicKeyType")
+ private final String publicKeyType;
+
+ /**
+ * Public key type and size.
+ *
+ * @return the value
+ */
+ public String getPublicKeyType() {
+ return publicKeyType;
+ }
+
+ /** Signature algorithm used by the certificate. */
+ @com.fasterxml.jackson.annotation.JsonProperty("signatureAlgorithm")
+ private final String signatureAlgorithm;
+
+ /**
+ * Signature algorithm used by the certificate.
+ *
+ * @return the value
+ */
+ public String getSignatureAlgorithm() {
+ return signatureAlgorithm;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CryptoAssessmentCertificateSummary(");
+ sb.append("super=").append(super.toString());
+ sb.append("assessmentId=").append(String.valueOf(this.assessmentId));
+ sb.append(", timeLastAssessed=").append(String.valueOf(this.timeLastAssessed));
+ sb.append(", assessmentType=").append(String.valueOf(this.assessmentType));
+ sb.append(", compartmentId=").append(String.valueOf(this.compartmentId));
+ sb.append(", targetId=").append(String.valueOf(this.targetId));
+ sb.append(", walletLocation=").append(String.valueOf(this.walletLocation));
+ sb.append(", certificateType=").append(String.valueOf(this.certificateType));
+ sb.append(", subject=").append(String.valueOf(this.subject));
+ sb.append(", issuer=").append(String.valueOf(this.issuer));
+ sb.append(", status=").append(String.valueOf(this.status));
+ sb.append(", serialNumber=").append(String.valueOf(this.serialNumber));
+ sb.append(", age=").append(String.valueOf(this.age));
+ sb.append(", timeValidFrom=").append(String.valueOf(this.timeValidFrom));
+ sb.append(", timeValidUntil=").append(String.valueOf(this.timeValidUntil));
+ sb.append(", expiryBucket=").append(String.valueOf(this.expiryBucket));
+ sb.append(", daysToExpiry=").append(String.valueOf(this.daysToExpiry));
+ sb.append(", publicKeyType=").append(String.valueOf(this.publicKeyType));
+ sb.append(", signatureAlgorithm=").append(String.valueOf(this.signatureAlgorithm));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CryptoAssessmentCertificateSummary)) {
+ return false;
+ }
+
+ CryptoAssessmentCertificateSummary other = (CryptoAssessmentCertificateSummary) o;
+ return java.util.Objects.equals(this.assessmentId, other.assessmentId)
+ && java.util.Objects.equals(this.timeLastAssessed, other.timeLastAssessed)
+ && java.util.Objects.equals(this.assessmentType, other.assessmentType)
+ && java.util.Objects.equals(this.compartmentId, other.compartmentId)
+ && java.util.Objects.equals(this.targetId, other.targetId)
+ && java.util.Objects.equals(this.walletLocation, other.walletLocation)
+ && java.util.Objects.equals(this.certificateType, other.certificateType)
+ && java.util.Objects.equals(this.subject, other.subject)
+ && java.util.Objects.equals(this.issuer, other.issuer)
+ && java.util.Objects.equals(this.status, other.status)
+ && java.util.Objects.equals(this.serialNumber, other.serialNumber)
+ && java.util.Objects.equals(this.age, other.age)
+ && java.util.Objects.equals(this.timeValidFrom, other.timeValidFrom)
+ && java.util.Objects.equals(this.timeValidUntil, other.timeValidUntil)
+ && java.util.Objects.equals(this.expiryBucket, other.expiryBucket)
+ && java.util.Objects.equals(this.daysToExpiry, other.daysToExpiry)
+ && java.util.Objects.equals(this.publicKeyType, other.publicKeyType)
+ && java.util.Objects.equals(this.signatureAlgorithm, other.signatureAlgorithm)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.assessmentId == null ? 43 : this.assessmentId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.timeLastAssessed == null ? 43 : this.timeLastAssessed.hashCode());
+ result =
+ (result * PRIME)
+ + (this.assessmentType == null ? 43 : this.assessmentType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.compartmentId == null ? 43 : this.compartmentId.hashCode());
+ result = (result * PRIME) + (this.targetId == null ? 43 : this.targetId.hashCode());
+ result =
+ (result * PRIME)
+ + (this.walletLocation == null ? 43 : this.walletLocation.hashCode());
+ result =
+ (result * PRIME)
+ + (this.certificateType == null ? 43 : this.certificateType.hashCode());
+ result = (result * PRIME) + (this.subject == null ? 43 : this.subject.hashCode());
+ result = (result * PRIME) + (this.issuer == null ? 43 : this.issuer.hashCode());
+ result = (result * PRIME) + (this.status == null ? 43 : this.status.hashCode());
+ result = (result * PRIME) + (this.serialNumber == null ? 43 : this.serialNumber.hashCode());
+ result = (result * PRIME) + (this.age == null ? 43 : this.age.hashCode());
+ result =
+ (result * PRIME)
+ + (this.timeValidFrom == null ? 43 : this.timeValidFrom.hashCode());
+ result =
+ (result * PRIME)
+ + (this.timeValidUntil == null ? 43 : this.timeValidUntil.hashCode());
+ result = (result * PRIME) + (this.expiryBucket == null ? 43 : this.expiryBucket.hashCode());
+ result = (result * PRIME) + (this.daysToExpiry == null ? 43 : this.daysToExpiry.hashCode());
+ result =
+ (result * PRIME)
+ + (this.publicKeyType == null ? 43 : this.publicKeyType.hashCode());
+ result =
+ (result * PRIME)
+ + (this.signatureAlgorithm == null
+ ? 43
+ : this.signatureAlgorithm.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentCollection.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentCollection.java
new file mode 100644
index 00000000000..c0387a57d85
--- /dev/null
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentCollection.java
@@ -0,0 +1,133 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.datasafe.model;
+
+/**
+ * Collection of crypto assessment summaries.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20181201")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CryptoAssessmentCollection.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CryptoAssessmentCollection
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"items"})
+ public CryptoAssessmentCollection(java.util.List items) {
+ super();
+ this.items = items;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** Crypto assessment summary items. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private java.util.List items;
+
+ /**
+ * Crypto assessment summary items.
+ *
+ * @param items the value to set
+ * @return this builder
+ */
+ public Builder items(java.util.List items) {
+ this.items = items;
+ this.__explicitlySet__.add("items");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CryptoAssessmentCollection build() {
+ CryptoAssessmentCollection model = new CryptoAssessmentCollection(this.items);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CryptoAssessmentCollection model) {
+ if (model.wasPropertyExplicitlySet("items")) {
+ this.items(model.getItems());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** Crypto assessment summary items. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private final java.util.List items;
+
+ /**
+ * Crypto assessment summary items.
+ *
+ * @return the value
+ */
+ public java.util.List getItems() {
+ return items;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CryptoAssessmentCollection(");
+ sb.append("super=").append(super.toString());
+ sb.append("items=").append(String.valueOf(this.items));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CryptoAssessmentCollection)) {
+ return false;
+ }
+
+ CryptoAssessmentCollection other = (CryptoAssessmentCollection) o;
+ return java.util.Objects.equals(this.items, other.items) && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.items == null ? 43 : this.items.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentFindingAnalyticsCollection.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentFindingAnalyticsCollection.java
new file mode 100644
index 00000000000..ab7f5de83a7
--- /dev/null
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentFindingAnalyticsCollection.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.datasafe.model;
+
+/**
+ * List of crypto finding analytics for the specified compartment.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20181201")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CryptoAssessmentFindingAnalyticsCollection.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CryptoAssessmentFindingAnalyticsCollection
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"items"})
+ public CryptoAssessmentFindingAnalyticsCollection(
+ java.util.List items) {
+ super();
+ this.items = items;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** Array of crypto finding analytics summaries. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private java.util.List items;
+
+ /**
+ * Array of crypto finding analytics summaries.
+ *
+ * @param items the value to set
+ * @return this builder
+ */
+ public Builder items(java.util.List items) {
+ this.items = items;
+ this.__explicitlySet__.add("items");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CryptoAssessmentFindingAnalyticsCollection build() {
+ CryptoAssessmentFindingAnalyticsCollection model =
+ new CryptoAssessmentFindingAnalyticsCollection(this.items);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CryptoAssessmentFindingAnalyticsCollection model) {
+ if (model.wasPropertyExplicitlySet("items")) {
+ this.items(model.getItems());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** Array of crypto finding analytics summaries. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private final java.util.List items;
+
+ /**
+ * Array of crypto finding analytics summaries.
+ *
+ * @return the value
+ */
+ public java.util.List getItems() {
+ return items;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CryptoAssessmentFindingAnalyticsCollection(");
+ sb.append("super=").append(super.toString());
+ sb.append("items=").append(String.valueOf(this.items));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CryptoAssessmentFindingAnalyticsCollection)) {
+ return false;
+ }
+
+ CryptoAssessmentFindingAnalyticsCollection other =
+ (CryptoAssessmentFindingAnalyticsCollection) o;
+ return java.util.Objects.equals(this.items, other.items) && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.items == null ? 43 : this.items.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentFindingAnalyticsSummary.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentFindingAnalyticsSummary.java
new file mode 100644
index 00000000000..63bc66b042c
--- /dev/null
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentFindingAnalyticsSummary.java
@@ -0,0 +1,516 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.datasafe.model;
+
+/**
+ * Aggregated finding details with number of affected targets.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20181201")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CryptoAssessmentFindingAnalyticsSummary.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CryptoAssessmentFindingAnalyticsSummary
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "findingKey",
+ "title",
+ "category",
+ "targetCount",
+ "priority",
+ "severity",
+ "shortSummary",
+ "shortRemediation"
+ })
+ public CryptoAssessmentFindingAnalyticsSummary(
+ String findingKey,
+ String title,
+ Category category,
+ Integer targetCount,
+ Integer priority,
+ Severity severity,
+ String shortSummary,
+ String shortRemediation) {
+ super();
+ this.findingKey = findingKey;
+ this.title = title;
+ this.category = category;
+ this.targetCount = targetCount;
+ this.priority = priority;
+ this.severity = severity;
+ this.shortSummary = shortSummary;
+ this.shortRemediation = shortRemediation;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** Unique key of the finding. */
+ @com.fasterxml.jackson.annotation.JsonProperty("findingKey")
+ private String findingKey;
+
+ /**
+ * Unique key of the finding.
+ *
+ * @param findingKey the value to set
+ * @return this builder
+ */
+ public Builder findingKey(String findingKey) {
+ this.findingKey = findingKey;
+ this.__explicitlySet__.add("findingKey");
+ return this;
+ }
+ /** Display title of the finding. */
+ @com.fasterxml.jackson.annotation.JsonProperty("title")
+ private String title;
+
+ /**
+ * Display title of the finding.
+ *
+ * @param title the value to set
+ * @return this builder
+ */
+ public Builder title(String title) {
+ this.title = title;
+ this.__explicitlySet__.add("title");
+ return this;
+ }
+ /** Category key to which the finding belongs. */
+ @com.fasterxml.jackson.annotation.JsonProperty("category")
+ private Category category;
+
+ /**
+ * Category key to which the finding belongs.
+ *
+ * @param category the value to set
+ * @return this builder
+ */
+ public Builder category(Category category) {
+ this.category = category;
+ this.__explicitlySet__.add("category");
+ return this;
+ }
+ /** Number of targets impacted by this finding in the queried scope. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetCount")
+ private Integer targetCount;
+
+ /**
+ * Number of targets impacted by this finding in the queried scope.
+ *
+ * @param targetCount the value to set
+ * @return this builder
+ */
+ public Builder targetCount(Integer targetCount) {
+ this.targetCount = targetCount;
+ this.__explicitlySet__.add("targetCount");
+ return this;
+ }
+ /** Numeric priority of the finding. 1 is CRITICAL, 2 is HIGH, 3 is MEDIUM, and 4 is LOW. */
+ @com.fasterxml.jackson.annotation.JsonProperty("priority")
+ private Integer priority;
+
+ /**
+ * Numeric priority of the finding. 1 is CRITICAL, 2 is HIGH, 3 is MEDIUM, and 4 is LOW.
+ *
+ * @param priority the value to set
+ * @return this builder
+ */
+ public Builder priority(Integer priority) {
+ this.priority = priority;
+ this.__explicitlySet__.add("priority");
+ return this;
+ }
+ /**
+ * Text severity derived from priority using the static mapping 1=CRITICAL, 2=HIGH,
+ * 3=MEDIUM, 4=LOW.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("severity")
+ private Severity severity;
+
+ /**
+ * Text severity derived from priority using the static mapping 1=CRITICAL, 2=HIGH,
+ * 3=MEDIUM, 4=LOW.
+ *
+ * @param severity the value to set
+ * @return this builder
+ */
+ public Builder severity(Severity severity) {
+ this.severity = severity;
+ this.__explicitlySet__.add("severity");
+ return this;
+ }
+ /** Short summary of the finding. */
+ @com.fasterxml.jackson.annotation.JsonProperty("shortSummary")
+ private String shortSummary;
+
+ /**
+ * Short summary of the finding.
+ *
+ * @param shortSummary the value to set
+ * @return this builder
+ */
+ public Builder shortSummary(String shortSummary) {
+ this.shortSummary = shortSummary;
+ this.__explicitlySet__.add("shortSummary");
+ return this;
+ }
+ /** Short remediation for the finding. */
+ @com.fasterxml.jackson.annotation.JsonProperty("shortRemediation")
+ private String shortRemediation;
+
+ /**
+ * Short remediation for the finding.
+ *
+ * @param shortRemediation the value to set
+ * @return this builder
+ */
+ public Builder shortRemediation(String shortRemediation) {
+ this.shortRemediation = shortRemediation;
+ this.__explicitlySet__.add("shortRemediation");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CryptoAssessmentFindingAnalyticsSummary build() {
+ CryptoAssessmentFindingAnalyticsSummary model =
+ new CryptoAssessmentFindingAnalyticsSummary(
+ this.findingKey,
+ this.title,
+ this.category,
+ this.targetCount,
+ this.priority,
+ this.severity,
+ this.shortSummary,
+ this.shortRemediation);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CryptoAssessmentFindingAnalyticsSummary model) {
+ if (model.wasPropertyExplicitlySet("findingKey")) {
+ this.findingKey(model.getFindingKey());
+ }
+ if (model.wasPropertyExplicitlySet("title")) {
+ this.title(model.getTitle());
+ }
+ if (model.wasPropertyExplicitlySet("category")) {
+ this.category(model.getCategory());
+ }
+ if (model.wasPropertyExplicitlySet("targetCount")) {
+ this.targetCount(model.getTargetCount());
+ }
+ if (model.wasPropertyExplicitlySet("priority")) {
+ this.priority(model.getPriority());
+ }
+ if (model.wasPropertyExplicitlySet("severity")) {
+ this.severity(model.getSeverity());
+ }
+ if (model.wasPropertyExplicitlySet("shortSummary")) {
+ this.shortSummary(model.getShortSummary());
+ }
+ if (model.wasPropertyExplicitlySet("shortRemediation")) {
+ this.shortRemediation(model.getShortRemediation());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** Unique key of the finding. */
+ @com.fasterxml.jackson.annotation.JsonProperty("findingKey")
+ private final String findingKey;
+
+ /**
+ * Unique key of the finding.
+ *
+ * @return the value
+ */
+ public String getFindingKey() {
+ return findingKey;
+ }
+
+ /** Display title of the finding. */
+ @com.fasterxml.jackson.annotation.JsonProperty("title")
+ private final String title;
+
+ /**
+ * Display title of the finding.
+ *
+ * @return the value
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ /** Category key to which the finding belongs. */
+ public enum Category implements com.oracle.bmc.http.internal.BmcEnum {
+ NetworkEncryption("NETWORK_ENCRYPTION"),
+ DataEncryption("DATA_ENCRYPTION"),
+ CertificatesAndKeyManagement("CERTIFICATES_AND_KEY_MANAGEMENT"),
+ BackupAndExportEncryption("BACKUP_AND_EXPORT_ENCRYPTION"),
+ PostQuantumReadiness("POST_QUANTUM_READINESS"),
+ NotSupported("NOT_SUPPORTED"),
+
+ /**
+ * This value is used if a service returns a value for this enum that is not recognized by
+ * this version of the SDK.
+ */
+ UnknownEnumValue(null);
+
+ private static final org.slf4j.Logger LOG =
+ org.slf4j.LoggerFactory.getLogger(Category.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (Category v : Category.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ Category(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static Category create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'Category', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+ /** Category key to which the finding belongs. */
+ @com.fasterxml.jackson.annotation.JsonProperty("category")
+ private final Category category;
+
+ /**
+ * Category key to which the finding belongs.
+ *
+ * @return the value
+ */
+ public Category getCategory() {
+ return category;
+ }
+
+ /** Number of targets impacted by this finding in the queried scope. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetCount")
+ private final Integer targetCount;
+
+ /**
+ * Number of targets impacted by this finding in the queried scope.
+ *
+ * @return the value
+ */
+ public Integer getTargetCount() {
+ return targetCount;
+ }
+
+ /** Numeric priority of the finding. 1 is CRITICAL, 2 is HIGH, 3 is MEDIUM, and 4 is LOW. */
+ @com.fasterxml.jackson.annotation.JsonProperty("priority")
+ private final Integer priority;
+
+ /**
+ * Numeric priority of the finding. 1 is CRITICAL, 2 is HIGH, 3 is MEDIUM, and 4 is LOW.
+ *
+ * @return the value
+ */
+ public Integer getPriority() {
+ return priority;
+ }
+
+ /**
+ * Text severity derived from priority using the static mapping 1=CRITICAL, 2=HIGH, 3=MEDIUM,
+ * 4=LOW.
+ */
+ public enum Severity implements com.oracle.bmc.http.internal.BmcEnum {
+ Critical("CRITICAL"),
+ High("HIGH"),
+ Medium("MEDIUM"),
+ Low("LOW"),
+
+ /**
+ * This value is used if a service returns a value for this enum that is not recognized by
+ * this version of the SDK.
+ */
+ UnknownEnumValue(null);
+
+ private static final org.slf4j.Logger LOG =
+ org.slf4j.LoggerFactory.getLogger(Severity.class);
+
+ private final String value;
+ private static java.util.Map map;
+
+ static {
+ map = new java.util.HashMap<>();
+ for (Severity v : Severity.values()) {
+ if (v != UnknownEnumValue) {
+ map.put(v.getValue(), v);
+ }
+ }
+ }
+
+ Severity(String value) {
+ this.value = value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static Severity create(String key) {
+ if (map.containsKey(key)) {
+ return map.get(key);
+ }
+ LOG.warn(
+ "Received unknown value '{}' for enum 'Severity', returning UnknownEnumValue",
+ key);
+ return UnknownEnumValue;
+ }
+ };
+ /**
+ * Text severity derived from priority using the static mapping 1=CRITICAL, 2=HIGH, 3=MEDIUM,
+ * 4=LOW.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("severity")
+ private final Severity severity;
+
+ /**
+ * Text severity derived from priority using the static mapping 1=CRITICAL, 2=HIGH, 3=MEDIUM,
+ * 4=LOW.
+ *
+ * @return the value
+ */
+ public Severity getSeverity() {
+ return severity;
+ }
+
+ /** Short summary of the finding. */
+ @com.fasterxml.jackson.annotation.JsonProperty("shortSummary")
+ private final String shortSummary;
+
+ /**
+ * Short summary of the finding.
+ *
+ * @return the value
+ */
+ public String getShortSummary() {
+ return shortSummary;
+ }
+
+ /** Short remediation for the finding. */
+ @com.fasterxml.jackson.annotation.JsonProperty("shortRemediation")
+ private final String shortRemediation;
+
+ /**
+ * Short remediation for the finding.
+ *
+ * @return the value
+ */
+ public String getShortRemediation() {
+ return shortRemediation;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CryptoAssessmentFindingAnalyticsSummary(");
+ sb.append("super=").append(super.toString());
+ sb.append("findingKey=").append(String.valueOf(this.findingKey));
+ sb.append(", title=").append(String.valueOf(this.title));
+ sb.append(", category=").append(String.valueOf(this.category));
+ sb.append(", targetCount=").append(String.valueOf(this.targetCount));
+ sb.append(", priority=").append(String.valueOf(this.priority));
+ sb.append(", severity=").append(String.valueOf(this.severity));
+ sb.append(", shortSummary=").append(String.valueOf(this.shortSummary));
+ sb.append(", shortRemediation=").append(String.valueOf(this.shortRemediation));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CryptoAssessmentFindingAnalyticsSummary)) {
+ return false;
+ }
+
+ CryptoAssessmentFindingAnalyticsSummary other = (CryptoAssessmentFindingAnalyticsSummary) o;
+ return java.util.Objects.equals(this.findingKey, other.findingKey)
+ && java.util.Objects.equals(this.title, other.title)
+ && java.util.Objects.equals(this.category, other.category)
+ && java.util.Objects.equals(this.targetCount, other.targetCount)
+ && java.util.Objects.equals(this.priority, other.priority)
+ && java.util.Objects.equals(this.severity, other.severity)
+ && java.util.Objects.equals(this.shortSummary, other.shortSummary)
+ && java.util.Objects.equals(this.shortRemediation, other.shortRemediation)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.findingKey == null ? 43 : this.findingKey.hashCode());
+ result = (result * PRIME) + (this.title == null ? 43 : this.title.hashCode());
+ result = (result * PRIME) + (this.category == null ? 43 : this.category.hashCode());
+ result = (result * PRIME) + (this.targetCount == null ? 43 : this.targetCount.hashCode());
+ result = (result * PRIME) + (this.priority == null ? 43 : this.priority.hashCode());
+ result = (result * PRIME) + (this.severity == null ? 43 : this.severity.hashCode());
+ result = (result * PRIME) + (this.shortSummary == null ? 43 : this.shortSummary.hashCode());
+ result =
+ (result * PRIME)
+ + (this.shortRemediation == null ? 43 : this.shortRemediation.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentFindingCategorySummary.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentFindingCategorySummary.java
new file mode 100644
index 00000000000..60e21565c70
--- /dev/null
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentFindingCategorySummary.java
@@ -0,0 +1,207 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.datasafe.model;
+
+/**
+ * Aggregate finding counts for one crypto finding category.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20181201")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CryptoAssessmentFindingCategorySummary.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CryptoAssessmentFindingCategorySummary
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({"passChecks", "findings", "totalChecks"})
+ public CryptoAssessmentFindingCategorySummary(
+ Integer passChecks, Integer findings, Integer totalChecks) {
+ super();
+ this.passChecks = passChecks;
+ this.findings = findings;
+ this.totalChecks = totalChecks;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** Findings with PASS status. */
+ @com.fasterxml.jackson.annotation.JsonProperty("passChecks")
+ private Integer passChecks;
+
+ /**
+ * Findings with PASS status.
+ *
+ * @param passChecks the value to set
+ * @return this builder
+ */
+ public Builder passChecks(Integer passChecks) {
+ this.passChecks = passChecks;
+ this.__explicitlySet__.add("passChecks");
+ return this;
+ }
+ /** Findings with FAIL or EVALUATE status. */
+ @com.fasterxml.jackson.annotation.JsonProperty("findings")
+ private Integer findings;
+
+ /**
+ * Findings with FAIL or EVALUATE status.
+ *
+ * @param findings the value to set
+ * @return this builder
+ */
+ public Builder findings(Integer findings) {
+ this.findings = findings;
+ this.__explicitlySet__.add("findings");
+ return this;
+ }
+ /** Total findings across all statuses in this category. */
+ @com.fasterxml.jackson.annotation.JsonProperty("totalChecks")
+ private Integer totalChecks;
+
+ /**
+ * Total findings across all statuses in this category.
+ *
+ * @param totalChecks the value to set
+ * @return this builder
+ */
+ public Builder totalChecks(Integer totalChecks) {
+ this.totalChecks = totalChecks;
+ this.__explicitlySet__.add("totalChecks");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set __explicitlySet__ = new java.util.HashSet();
+
+ public CryptoAssessmentFindingCategorySummary build() {
+ CryptoAssessmentFindingCategorySummary model =
+ new CryptoAssessmentFindingCategorySummary(
+ this.passChecks, this.findings, this.totalChecks);
+ for (String explicitlySetProperty : this.__explicitlySet__) {
+ model.markPropertyAsExplicitlySet(explicitlySetProperty);
+ }
+ return model;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ public Builder copy(CryptoAssessmentFindingCategorySummary model) {
+ if (model.wasPropertyExplicitlySet("passChecks")) {
+ this.passChecks(model.getPassChecks());
+ }
+ if (model.wasPropertyExplicitlySet("findings")) {
+ this.findings(model.getFindings());
+ }
+ if (model.wasPropertyExplicitlySet("totalChecks")) {
+ this.totalChecks(model.getTotalChecks());
+ }
+ return this;
+ }
+ }
+
+ /** Create a new builder. */
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public Builder toBuilder() {
+ return new Builder().copy(this);
+ }
+
+ /** Findings with PASS status. */
+ @com.fasterxml.jackson.annotation.JsonProperty("passChecks")
+ private final Integer passChecks;
+
+ /**
+ * Findings with PASS status.
+ *
+ * @return the value
+ */
+ public Integer getPassChecks() {
+ return passChecks;
+ }
+
+ /** Findings with FAIL or EVALUATE status. */
+ @com.fasterxml.jackson.annotation.JsonProperty("findings")
+ private final Integer findings;
+
+ /**
+ * Findings with FAIL or EVALUATE status.
+ *
+ * @return the value
+ */
+ public Integer getFindings() {
+ return findings;
+ }
+
+ /** Total findings across all statuses in this category. */
+ @com.fasterxml.jackson.annotation.JsonProperty("totalChecks")
+ private final Integer totalChecks;
+
+ /**
+ * Total findings across all statuses in this category.
+ *
+ * @return the value
+ */
+ public Integer getTotalChecks() {
+ return totalChecks;
+ }
+
+ @Override
+ public String toString() {
+ return this.toString(true);
+ }
+
+ /**
+ * Return a string representation of the object.
+ *
+ * @param includeByteArrayContents true to include the full contents of byte arrays
+ * @return string representation
+ */
+ public String toString(boolean includeByteArrayContents) {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder();
+ sb.append("CryptoAssessmentFindingCategorySummary(");
+ sb.append("super=").append(super.toString());
+ sb.append("passChecks=").append(String.valueOf(this.passChecks));
+ sb.append(", findings=").append(String.valueOf(this.findings));
+ sb.append(", totalChecks=").append(String.valueOf(this.totalChecks));
+ sb.append(")");
+ return sb.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (!(o instanceof CryptoAssessmentFindingCategorySummary)) {
+ return false;
+ }
+
+ CryptoAssessmentFindingCategorySummary other = (CryptoAssessmentFindingCategorySummary) o;
+ return java.util.Objects.equals(this.passChecks, other.passChecks)
+ && java.util.Objects.equals(this.findings, other.findings)
+ && java.util.Objects.equals(this.totalChecks, other.totalChecks)
+ && super.equals(other);
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 59;
+ int result = 1;
+ result = (result * PRIME) + (this.passChecks == null ? 43 : this.passChecks.hashCode());
+ result = (result * PRIME) + (this.findings == null ? 43 : this.findings.hashCode());
+ result = (result * PRIME) + (this.totalChecks == null ? 43 : this.totalChecks.hashCode());
+ result = (result * PRIME) + super.hashCode();
+ return result;
+ }
+}
diff --git a/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentFindingCollection.java b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentFindingCollection.java
new file mode 100644
index 00000000000..43d113536f7
--- /dev/null
+++ b/bmc-datasafe/src/main/java/com/oracle/bmc/datasafe/model/CryptoAssessmentFindingCollection.java
@@ -0,0 +1,285 @@
+/**
+ * Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+ * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+ */
+package com.oracle.bmc.datasafe.model;
+
+/**
+ * List of crypto deviation findings for the specified crypto assessment.
+ * Note: Objects should always be created or deserialized using the {@link Builder}. This model
+ * distinguishes fields that are {@code null} because they are unset from fields that are explicitly
+ * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
+ * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
+ * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
+ * fields into account. The constructor, on the other hand, does not take the explicitly set fields
+ * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
+ * null}).
+ */
+@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20181201")
+@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
+ builder = CryptoAssessmentFindingCollection.Builder.class)
+@com.fasterxml.jackson.annotation.JsonFilter(
+ com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
+public final class CryptoAssessmentFindingCollection
+ extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
+ @Deprecated
+ @java.beans.ConstructorProperties({
+ "targetId",
+ "assessmentType",
+ "databaseVersion",
+ "summary",
+ "items"
+ })
+ public CryptoAssessmentFindingCollection(
+ String targetId,
+ CryptoAssessment.Type assessmentType,
+ String databaseVersion,
+ CryptoAssessmentFindingSummaryMetrics summary,
+ java.util.List items) {
+ super();
+ this.targetId = targetId;
+ this.assessmentType = assessmentType;
+ this.databaseVersion = databaseVersion;
+ this.summary = summary;
+ this.items = items;
+ }
+
+ @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
+ public static class Builder {
+ /** The OCID of the target database for the specified crypto assessment. */
+ @com.fasterxml.jackson.annotation.JsonProperty("targetId")
+ private String targetId;
+
+ /**
+ * The OCID of the target database for the specified crypto assessment.
+ *
+ * @param targetId the value to set
+ * @return this builder
+ */
+ public Builder targetId(String targetId) {
+ this.targetId = targetId;
+ this.__explicitlySet__.add("targetId");
+ return this;
+ }
+ /** Assessment type recorded in the findings table. */
+ @com.fasterxml.jackson.annotation.JsonProperty("assessmentType")
+ private CryptoAssessment.Type assessmentType;
+
+ /**
+ * Assessment type recorded in the findings table.
+ *
+ * @param assessmentType the value to set
+ * @return this builder
+ */
+ public Builder assessmentType(CryptoAssessment.Type assessmentType) {
+ this.assessmentType = assessmentType;
+ this.__explicitlySet__.add("assessmentType");
+ return this;
+ }
+ /**
+ * Database version for the target database associated with the specified crypto assessment.
+ */
+ @com.fasterxml.jackson.annotation.JsonProperty("databaseVersion")
+ private String databaseVersion;
+
+ /**
+ * Database version for the target database associated with the specified crypto assessment.
+ *
+ * @param databaseVersion the value to set
+ * @return this builder
+ */
+ public Builder databaseVersion(String databaseVersion) {
+ this.databaseVersion = databaseVersion;
+ this.__explicitlySet__.add("databaseVersion");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonProperty("summary")
+ private CryptoAssessmentFindingSummaryMetrics summary;
+
+ public Builder summary(CryptoAssessmentFindingSummaryMetrics summary) {
+ this.summary = summary;
+ this.__explicitlySet__.add("summary");
+ return this;
+ }
+ /** Array of crypto deviation findings. */
+ @com.fasterxml.jackson.annotation.JsonProperty("items")
+ private java.util.List items;
+
+ /**
+ * Array of crypto deviation findings.
+ *
+ * @param items the value to set
+ * @return this builder
+ */
+ public Builder items(java.util.List items) {
+ this.items = items;
+ this.__explicitlySet__.add("items");
+ return this;
+ }
+
+ @com.fasterxml.jackson.annotation.JsonIgnore
+ private final java.util.Set