@@ -69593,149 +69593,173 @@ type InstanceTemplateIntf interface {
6959369593
6959469594// UnmarshalInstanceTemplate unmarshals an instance of InstanceTemplate from the specified map of raw messages.
6959569595func UnmarshalInstanceTemplate(m map[string]json.RawMessage, result interface{}) (err error) {
69596- obj := new(InstanceTemplate)
69597- err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype)
69598- if err != nil {
69599- err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo())
69600- return
69601- }
69602- err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext)
69603- if err != nil {
69604- err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo())
69605- return
69606- }
69607- err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode)
69608- if err != nil {
69609- err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo())
69610- return
69611- }
69612- err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt)
69613- if err != nil {
69614- err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo())
69615- return
69616- }
69617- err = core.UnmarshalPrimitive(m, "crn", &obj.CRN)
69618- if err != nil {
69619- err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo())
69620- return
69621- }
69622- err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype)
69623- if err != nil {
69624- err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo())
69625- return
69626- }
69627- err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot)
69628- if err != nil {
69629- err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo())
69630- return
69631- }
69632- err = core.UnmarshalPrimitive(m, "href", &obj.Href)
69633- if err != nil {
69634- err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo())
69635- return
69636- }
69637- err = core.UnmarshalPrimitive(m, "id", &obj.ID)
69638- if err != nil {
69639- err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo())
69640- return
69641- }
69642- err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity)
69643- if err != nil {
69644- err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo())
69645- return
69646- }
69647- err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype)
69648- if err != nil {
69649- err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo())
69650- return
69651- }
69652- err = core.UnmarshalPrimitive(m, "name", &obj.Name)
69653- if err != nil {
69654- err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo())
69655- return
69656- }
69657- err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype)
69658- if err != nil {
69659- err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo())
69660- return
69661- }
69662- err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity)
69663- if err != nil {
69664- err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo())
69665- return
69666- }
69667- err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype)
69668- if err != nil {
69669- err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo())
69670- return
69671- }
69672- err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference)
69673- if err != nil {
69674- err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo())
69675- return
69676- }
69677- err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth)
69678- if err != nil {
69679- err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo())
69680- return
69681- }
69682- err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData)
69683- if err != nil {
69684- err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo())
69685- return
69686- }
69687- err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype)
69688- if err != nil {
69689- err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo())
69690- return
69691- }
69692- err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity)
69693- if err != nil {
69694- err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo())
69695- return
69696- }
69697- err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext)
69698- if err != nil {
69699- err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo())
69700- return
69701- }
69702- err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity)
69703- if err != nil {
69704- err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo())
69705- return
69706- }
69707- err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity)
69708- if err != nil {
69709- err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo())
69710- return
69711- }
69712- err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype)
69713- if err != nil {
69714- err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo())
69715- return
69716- }
69717- err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype)
69718- if err != nil {
69719- err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo())
69720- return
69721- }
69722- err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype)
69723- if err != nil {
69724- err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo())
69725- return
69596+
69597+ // Check for source_snapshot presence to determine object type
69598+ var isSourceSnapshot bool
69599+ if bootVolumeRaw, exists := m["boot_volume_attachment"]; exists && len(bootVolumeRaw) > 0 && string(bootVolumeRaw) != "null" {
69600+ var bootVolumeMap map[string]json.RawMessage
69601+ if err = json.Unmarshal(bootVolumeRaw, &bootVolumeMap); err == nil {
69602+ if volumeRaw, volumeExists := bootVolumeMap["volume"]; volumeExists && len(volumeRaw) > 0 && string(volumeRaw) != "null" {
69603+ var volumeMap map[string]json.RawMessage
69604+ if err = json.Unmarshal(volumeRaw, &volumeMap); err == nil {
69605+ if _, snapshotExists := volumeMap["source_snapshot"]; snapshotExists {
69606+ isSourceSnapshot = true
69607+ }
69608+ }
69609+ }
69610+ }
6972669611 }
69727- err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype)
69728- if err != nil {
69729- err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo())
69612+ if isSourceSnapshot {
69613+ err = core.UnmarshalModel(m, "", result, UnmarshalInstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext)
69614+ if err != nil {
69615+ err = core.SDKErrorf(err, "", "unmarshal-InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext-error", common.GetComponentInfo())
69616+ }
6973069617 return
69731- }
69732- err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype)
69733- if err != nil {
69734- err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo())
69618+ } else {
69619+ obj := new(InstanceTemplate)
69620+ err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype)
69621+ if err != nil {
69622+ err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo())
69623+ return
69624+ }
69625+ err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext)
69626+ if err != nil {
69627+ err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo())
69628+ return
69629+ }
69630+ err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode)
69631+ if err != nil {
69632+ err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo())
69633+ return
69634+ }
69635+ err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt)
69636+ if err != nil {
69637+ err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo())
69638+ return
69639+ }
69640+ err = core.UnmarshalPrimitive(m, "crn", &obj.CRN)
69641+ if err != nil {
69642+ err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo())
69643+ return
69644+ }
69645+ err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype)
69646+ if err != nil {
69647+ err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo())
69648+ return
69649+ }
69650+ err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot)
69651+ if err != nil {
69652+ err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo())
69653+ return
69654+ }
69655+ err = core.UnmarshalPrimitive(m, "href", &obj.Href)
69656+ if err != nil {
69657+ err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo())
69658+ return
69659+ }
69660+ err = core.UnmarshalPrimitive(m, "id", &obj.ID)
69661+ if err != nil {
69662+ err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo())
69663+ return
69664+ }
69665+ err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity)
69666+ if err != nil {
69667+ err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo())
69668+ return
69669+ }
69670+ err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype)
69671+ if err != nil {
69672+ err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo())
69673+ return
69674+ }
69675+ err = core.UnmarshalPrimitive(m, "name", &obj.Name)
69676+ if err != nil {
69677+ err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo())
69678+ return
69679+ }
69680+ err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype)
69681+ if err != nil {
69682+ err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo())
69683+ return
69684+ }
69685+ err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity)
69686+ if err != nil {
69687+ err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo())
69688+ return
69689+ }
69690+ err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype)
69691+ if err != nil {
69692+ err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo())
69693+ return
69694+ }
69695+ err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference)
69696+ if err != nil {
69697+ err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo())
69698+ return
69699+ }
69700+ err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth)
69701+ if err != nil {
69702+ err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo())
69703+ return
69704+ }
69705+ err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData)
69706+ if err != nil {
69707+ err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo())
69708+ return
69709+ }
69710+ err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype)
69711+ if err != nil {
69712+ err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo())
69713+ return
69714+ }
69715+ err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity)
69716+ if err != nil {
69717+ err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo())
69718+ return
69719+ }
69720+ err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext)
69721+ if err != nil {
69722+ err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo())
69723+ return
69724+ }
69725+ err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity)
69726+ if err != nil {
69727+ err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo())
69728+ return
69729+ }
69730+ err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity)
69731+ if err != nil {
69732+ err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo())
69733+ return
69734+ }
69735+ err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype)
69736+ if err != nil {
69737+ err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo())
69738+ return
69739+ }
69740+ err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype)
69741+ if err != nil {
69742+ err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo())
69743+ return
69744+ }
69745+ err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype)
69746+ if err != nil {
69747+ err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo())
69748+ return
69749+ }
69750+ err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype)
69751+ if err != nil {
69752+ err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo())
69753+ return
69754+ }
69755+ err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype)
69756+ if err != nil {
69757+ err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo())
69758+ return
69759+ }
69760+ reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj))
6973569761 return
6973669762 }
69737- reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj))
69738- return
6973969763}
6974069764
6974169765// InstanceTemplateCollection : InstanceTemplateCollection struct
0 commit comments