@@ -70003,154 +70003,178 @@ type InstanceTemplateIntf interface {
7000370003
7000470004// UnmarshalInstanceTemplate unmarshals an instance of InstanceTemplate from the specified map of raw messages.
7000570005func UnmarshalInstanceTemplate(m map[string]json.RawMessage, result interface{}) (err error) {
70006- obj := new(InstanceTemplate)
70007- err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype)
70008- if err != nil {
70009- err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo())
70010- return
70011- }
70012- err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext)
70013- if err != nil {
70014- err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo())
70015- return
70016- }
70017- err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode)
70018- if err != nil {
70019- err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo())
70020- return
70021- }
70022- err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt)
70023- if err != nil {
70024- err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo())
70025- return
70026- }
70027- err = core.UnmarshalPrimitive(m, "crn", &obj.CRN)
70028- if err != nil {
70029- err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo())
70030- return
70031- }
70032- err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype)
70033- if err != nil {
70034- err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo())
70035- return
70036- }
70037- err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot)
70038- if err != nil {
70039- err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo())
70040- return
70041- }
70042- err = core.UnmarshalPrimitive(m, "href", &obj.Href)
70043- if err != nil {
70044- err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo())
70045- return
70046- }
70047- err = core.UnmarshalPrimitive(m, "id", &obj.ID)
70048- if err != nil {
70049- err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo())
70050- return
70051- }
70052- err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity)
70053- if err != nil {
70054- err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo())
70055- return
70056- }
70057- err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype)
70058- if err != nil {
70059- err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo())
70060- return
70061- }
70062- err = core.UnmarshalPrimitive(m, "name", &obj.Name)
70063- if err != nil {
70064- err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo())
70065- return
70066- }
70067- err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype)
70068- if err != nil {
70069- err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo())
70070- return
70071- }
70072- err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity)
70073- if err != nil {
70074- err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo())
70075- return
70076- }
70077- err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype)
70078- if err != nil {
70079- err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo())
70080- return
70081- }
70082- err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference)
70083- if err != nil {
70084- err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo())
70085- return
70086- }
70087- err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth)
70088- if err != nil {
70089- err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo())
70090- return
70091- }
70092- err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData)
70093- if err != nil {
70094- err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo())
70095- return
70096- }
70097- err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype)
70098- if err != nil {
70099- err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo())
70100- return
70101- }
70102- err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode)
70103- if err != nil {
70104- err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo())
70105- return
70106- }
70107- err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity)
70108- if err != nil {
70109- err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo())
70110- return
70111- }
70112- err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext)
70113- if err != nil {
70114- err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo())
70115- return
70116- }
70117- err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity)
70118- if err != nil {
70119- err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo())
70120- return
70121- }
70122- err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity)
70123- if err != nil {
70124- err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo())
70125- return
70126- }
70127- err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype)
70128- if err != nil {
70129- err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo())
70130- return
70131- }
70132- err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype)
70133- if err != nil {
70134- err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo())
70135- return
70136- }
70137- err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype)
70138- if err != nil {
70139- err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo())
70140- return
70006+
70007+ // Check for source_snapshot presence to determine object type
70008+ var isSourceSnapshot bool
70009+ if bootVolumeRaw, exists := m["boot_volume_attachment"]; exists && len(bootVolumeRaw) > 0 && string(bootVolumeRaw) != "null" {
70010+ var bootVolumeMap map[string]json.RawMessage
70011+ if err = json.Unmarshal(bootVolumeRaw, &bootVolumeMap); err == nil {
70012+ if volumeRaw, volumeExists := bootVolumeMap["volume"]; volumeExists && len(volumeRaw) > 0 && string(volumeRaw) != "null" {
70013+ var volumeMap map[string]json.RawMessage
70014+ if err = json.Unmarshal(volumeRaw, &volumeMap); err == nil {
70015+ if _, snapshotExists := volumeMap["source_snapshot"]; snapshotExists {
70016+ isSourceSnapshot = true
70017+ }
70018+ }
70019+ }
70020+ }
7014170021 }
70142- err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype)
70143- if err != nil {
70144- err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo())
70022+ if isSourceSnapshot {
70023+ err = core.UnmarshalModel(m, "", result, UnmarshalInstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext)
70024+ if err != nil {
70025+ err = core.SDKErrorf(err, "", "unmarshal-InstanceTemplateInstanceBySourceSnapshotInstanceTemplateContext-error", common.GetComponentInfo())
70026+ }
7014570027 return
70146- }
70147- err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype)
70148- if err != nil {
70149- err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo())
70028+ } else {
70029+ obj := new(InstanceTemplate)
70030+ err = core.UnmarshalModel(m, "availability_policy", &obj.AvailabilityPolicy, UnmarshalInstanceAvailabilityPolicyPrototype)
70031+ if err != nil {
70032+ err = core.SDKErrorf(err, "", "availability_policy-error", common.GetComponentInfo())
70033+ return
70034+ }
70035+ err = core.UnmarshalModel(m, "cluster_network_attachments", &obj.ClusterNetworkAttachments, UnmarshalInstanceClusterNetworkAttachmentPrototypeInstanceContext)
70036+ if err != nil {
70037+ err = core.SDKErrorf(err, "", "cluster_network_attachments-error", common.GetComponentInfo())
70038+ return
70039+ }
70040+ err = core.UnmarshalPrimitive(m, "confidential_compute_mode", &obj.ConfidentialComputeMode)
70041+ if err != nil {
70042+ err = core.SDKErrorf(err, "", "confidential_compute_mode-error", common.GetComponentInfo())
70043+ return
70044+ }
70045+ err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt)
70046+ if err != nil {
70047+ err = core.SDKErrorf(err, "", "created_at-error", common.GetComponentInfo())
70048+ return
70049+ }
70050+ err = core.UnmarshalPrimitive(m, "crn", &obj.CRN)
70051+ if err != nil {
70052+ err = core.SDKErrorf(err, "", "crn-error", common.GetComponentInfo())
70053+ return
70054+ }
70055+ err = core.UnmarshalModel(m, "default_trusted_profile", &obj.DefaultTrustedProfile, UnmarshalInstanceDefaultTrustedProfilePrototype)
70056+ if err != nil {
70057+ err = core.SDKErrorf(err, "", "default_trusted_profile-error", common.GetComponentInfo())
70058+ return
70059+ }
70060+ err = core.UnmarshalPrimitive(m, "enable_secure_boot", &obj.EnableSecureBoot)
70061+ if err != nil {
70062+ err = core.SDKErrorf(err, "", "enable_secure_boot-error", common.GetComponentInfo())
70063+ return
70064+ }
70065+ err = core.UnmarshalPrimitive(m, "href", &obj.Href)
70066+ if err != nil {
70067+ err = core.SDKErrorf(err, "", "href-error", common.GetComponentInfo())
70068+ return
70069+ }
70070+ err = core.UnmarshalPrimitive(m, "id", &obj.ID)
70071+ if err != nil {
70072+ err = core.SDKErrorf(err, "", "id-error", common.GetComponentInfo())
70073+ return
70074+ }
70075+ err = core.UnmarshalModel(m, "keys", &obj.Keys, UnmarshalKeyIdentity)
70076+ if err != nil {
70077+ err = core.SDKErrorf(err, "", "keys-error", common.GetComponentInfo())
70078+ return
70079+ }
70080+ err = core.UnmarshalModel(m, "metadata_service", &obj.MetadataService, UnmarshalInstanceMetadataServicePrototype)
70081+ if err != nil {
70082+ err = core.SDKErrorf(err, "", "metadata_service-error", common.GetComponentInfo())
70083+ return
70084+ }
70085+ err = core.UnmarshalPrimitive(m, "name", &obj.Name)
70086+ if err != nil {
70087+ err = core.SDKErrorf(err, "", "name-error", common.GetComponentInfo())
70088+ return
70089+ }
70090+ err = core.UnmarshalModel(m, "placement_target", &obj.PlacementTarget, UnmarshalInstancePlacementTargetPrototype)
70091+ if err != nil {
70092+ err = core.SDKErrorf(err, "", "placement_target-error", common.GetComponentInfo())
70093+ return
70094+ }
70095+ err = core.UnmarshalModel(m, "profile", &obj.Profile, UnmarshalInstanceProfileIdentity)
70096+ if err != nil {
70097+ err = core.SDKErrorf(err, "", "profile-error", common.GetComponentInfo())
70098+ return
70099+ }
70100+ err = core.UnmarshalModel(m, "reservation_affinity", &obj.ReservationAffinity, UnmarshalInstanceReservationAffinityPrototype)
70101+ if err != nil {
70102+ err = core.SDKErrorf(err, "", "reservation_affinity-error", common.GetComponentInfo())
70103+ return
70104+ }
70105+ err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference)
70106+ if err != nil {
70107+ err = core.SDKErrorf(err, "", "resource_group-error", common.GetComponentInfo())
70108+ return
70109+ }
70110+ err = core.UnmarshalPrimitive(m, "total_volume_bandwidth", &obj.TotalVolumeBandwidth)
70111+ if err != nil {
70112+ err = core.SDKErrorf(err, "", "total_volume_bandwidth-error", common.GetComponentInfo())
70113+ return
70114+ }
70115+ err = core.UnmarshalPrimitive(m, "user_data", &obj.UserData)
70116+ if err != nil {
70117+ err = core.SDKErrorf(err, "", "user_data-error", common.GetComponentInfo())
70118+ return
70119+ }
70120+ err = core.UnmarshalModel(m, "volume_attachments", &obj.VolumeAttachments, UnmarshalVolumeAttachmentPrototype)
70121+ if err != nil {
70122+ err = core.SDKErrorf(err, "", "volume_attachments-error", common.GetComponentInfo())
70123+ return
70124+ }
70125+ err = core.UnmarshalPrimitive(m, "volume_bandwidth_qos_mode", &obj.VolumeBandwidthQosMode)
70126+ if err != nil {
70127+ err = core.SDKErrorf(err, "", "volume_bandwidth_qos_mode-error", common.GetComponentInfo())
70128+ return
70129+ }
70130+ err = core.UnmarshalModel(m, "vpc", &obj.VPC, UnmarshalVPCIdentity)
70131+ if err != nil {
70132+ err = core.SDKErrorf(err, "", "vpc-error", common.GetComponentInfo())
70133+ return
70134+ }
70135+ err = core.UnmarshalModel(m, "boot_volume_attachment", &obj.BootVolumeAttachment, UnmarshalVolumeAttachmentPrototypeInstanceByImageContext)
70136+ if err != nil {
70137+ err = core.SDKErrorf(err, "", "boot_volume_attachment-error", common.GetComponentInfo())
70138+ return
70139+ }
70140+ err = core.UnmarshalModel(m, "image", &obj.Image, UnmarshalImageIdentity)
70141+ if err != nil {
70142+ err = core.SDKErrorf(err, "", "image-error", common.GetComponentInfo())
70143+ return
70144+ }
70145+ err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity)
70146+ if err != nil {
70147+ err = core.SDKErrorf(err, "", "zone-error", common.GetComponentInfo())
70148+ return
70149+ }
70150+ err = core.UnmarshalModel(m, "network_attachments", &obj.NetworkAttachments, UnmarshalInstanceNetworkAttachmentPrototype)
70151+ if err != nil {
70152+ err = core.SDKErrorf(err, "", "network_attachments-error", common.GetComponentInfo())
70153+ return
70154+ }
70155+ err = core.UnmarshalModel(m, "primary_network_attachment", &obj.PrimaryNetworkAttachment, UnmarshalInstanceNetworkAttachmentPrototype)
70156+ if err != nil {
70157+ err = core.SDKErrorf(err, "", "primary_network_attachment-error", common.GetComponentInfo())
70158+ return
70159+ }
70160+ err = core.UnmarshalModel(m, "network_interfaces", &obj.NetworkInterfaces, UnmarshalNetworkInterfacePrototype)
70161+ if err != nil {
70162+ err = core.SDKErrorf(err, "", "network_interfaces-error", common.GetComponentInfo())
70163+ return
70164+ }
70165+ err = core.UnmarshalModel(m, "primary_network_interface", &obj.PrimaryNetworkInterface, UnmarshalNetworkInterfacePrototype)
70166+ if err != nil {
70167+ err = core.SDKErrorf(err, "", "primary_network_interface-error", common.GetComponentInfo())
70168+ return
70169+ }
70170+ err = core.UnmarshalModel(m, "catalog_offering", &obj.CatalogOffering, UnmarshalInstanceCatalogOfferingPrototype)
70171+ if err != nil {
70172+ err = core.SDKErrorf(err, "", "catalog_offering-error", common.GetComponentInfo())
70173+ return
70174+ }
70175+ reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj))
7015070176 return
7015170177 }
70152- reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj))
70153- return
7015470178}
7015570179
7015670180// InstanceTemplateCollection : InstanceTemplateCollection struct
0 commit comments