@@ -624,6 +624,21 @@ export class BlockstorageClient {
624
624
value: response.headers.get("opc-request-id"),
625
625
key: "opcRequestId",
626
626
dataType: "string"
627
+ },
628
+ {
629
+ value: response.headers.get("opc-work-request-id"),
630
+ key: "opcWorkRequestId",
631
+ dataType: "string"
632
+ },
633
+ {
634
+ value: response.headers.get("location"),
635
+ key: "location",
636
+ dataType: "string"
637
+ },
638
+ {
639
+ value: response.headers.get("content-location"),
640
+ key: "contentLocation",
641
+ dataType: "string"
627
642
}
628
643
]
629
644
});
@@ -686,6 +701,94 @@ export class BlockstorageClient {
686
701
bodyKey: "volumeBackup",
687
702
bodyModel: model.VolumeBackup,
688
703
type: "model.VolumeBackup",
704
+ responseHeaders: [
705
+ {
706
+ value: response.headers.get("etag"),
707
+ key: "etag",
708
+ dataType: "string"
709
+ },
710
+ {
711
+ value: response.headers.get("opc-request-id"),
712
+ key: "opcRequestId",
713
+ dataType: "string"
714
+ },
715
+ {
716
+ value: response.headers.get("opc-work-request-id"),
717
+ key: "opcWorkRequestId",
718
+ dataType: "string"
719
+ },
720
+ {
721
+ value: response.headers.get("location"),
722
+ key: "location",
723
+ dataType: "string"
724
+ },
725
+ {
726
+ value: response.headers.get("content-location"),
727
+ key: "contentLocation",
728
+ dataType: "string"
729
+ }
730
+ ]
731
+ });
732
+
733
+ return sdkResponse;
734
+ } catch (err) {
735
+ throw err;
736
+ }
737
+ }
738
+
739
+ /**
740
+ * Creates a volume group backup copy in specified region. For general information about volume group backups,
741
+ * see [Overview of Block Volume Service Backups](https://docs.cloud.oracle.com/Content/Block/Concepts/blockvolumebackups.htm)
742
+ *
743
+ * @param CopyVolumeGroupBackupRequest
744
+ * @return CopyVolumeGroupBackupResponse
745
+ * @throws OciError when an error occurs
746
+ * @example Click {@link https://docs.cloud.oracle.com/en-us/iaas/tools/typescript-sdk-examples/latest/core/CopyVolumeGroupBackup.ts.html |here} to see how to use CopyVolumeGroupBackup API.
747
+ */
748
+ public async copyVolumeGroupBackup(
749
+ copyVolumeGroupBackupRequest: requests.CopyVolumeGroupBackupRequest
750
+ ): Promise<responses.CopyVolumeGroupBackupResponse> {
751
+ if (this.logger)
752
+ this.logger.debug("Calling operation BlockstorageClient#copyVolumeGroupBackup.");
753
+ const pathParams = {
754
+ "{volumeGroupBackupId}": copyVolumeGroupBackupRequest.volumeGroupBackupId
755
+ };
756
+
757
+ const queryParams = {};
758
+
759
+ let headerParams = {
760
+ "Content-Type": common.Constants.APPLICATION_JSON,
761
+ "opc-retry-token": copyVolumeGroupBackupRequest.opcRetryToken,
762
+ "opc-request-id": copyVolumeGroupBackupRequest.opcRequestId
763
+ };
764
+
765
+ const retrier = GenericRetrier.createPreferredRetrier(
766
+ this._clientConfiguration ? this._clientConfiguration.retryConfiguration : {},
767
+ copyVolumeGroupBackupRequest.retryConfiguration
768
+ );
769
+ if (this.logger) retrier.logger = this.logger;
770
+ const request = await composeRequest({
771
+ baseEndpoint: this._endpoint,
772
+ defaultHeaders: this._defaultHeaders,
773
+ path: "/volumeGroupBackups/{volumeGroupBackupId}/actions/copy",
774
+ method: "POST",
775
+ bodyContent: common.ObjectSerializer.serialize(
776
+ copyVolumeGroupBackupRequest.copyVolumeGroupBackupDetails,
777
+ "CopyVolumeGroupBackupDetails",
778
+ model.CopyVolumeGroupBackupDetails.getJsonObj
779
+ ),
780
+ pathParams: pathParams,
781
+ headerParams: headerParams,
782
+ queryParams: queryParams
783
+ });
784
+ try {
785
+ const response = await retrier.makeServiceCall(this._httpClient, request);
786
+ const sdkResponse = composeResponse({
787
+ responseObject: <responses.CopyVolumeGroupBackupResponse>{},
788
+ body: await response.json(),
789
+ bodyKey: "volumeGroupBackup",
790
+ bodyModel: model.VolumeGroupBackup,
791
+ type: "model.VolumeGroupBackup",
689
792
responseHeaders: [
690
793
{
691
794
value: response.headers.get("etag"),
0 commit comments