1// Copyright (c) 2016, 2018, 2019, Oracle and/or its affiliates. All rights reserved. 2// Code generated. DO NOT EDIT. 3 4// Core Services API 5// 6// API covering the Networking (https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/overview.htm), 7// Compute (https://docs.cloud.oracle.com/iaas/Content/Compute/Concepts/computeoverview.htm), and 8// Block Volume (https://docs.cloud.oracle.com/iaas/Content/Block/Concepts/overview.htm) services. Use this API 9// to manage resources such as virtual cloud networks (VCNs), compute instances, and 10// block storage volumes. 11// 12 13package core 14 15import ( 16 "encoding/json" 17 "github.com/oracle/oci-go-sdk/common" 18) 19 20// ComputeInstanceDetails Compute Instance Configuration instance details. 21type ComputeInstanceDetails struct { 22 BlockVolumes []InstanceConfigurationBlockVolumeDetails `mandatory:"false" json:"blockVolumes"` 23 24 LaunchDetails *InstanceConfigurationLaunchInstanceDetails `mandatory:"false" json:"launchDetails"` 25 26 SecondaryVnics []InstanceConfigurationAttachVnicDetails `mandatory:"false" json:"secondaryVnics"` 27} 28 29func (m ComputeInstanceDetails) String() string { 30 return common.PointerString(m) 31} 32 33// MarshalJSON marshals to json representation 34func (m ComputeInstanceDetails) MarshalJSON() (buff []byte, e error) { 35 type MarshalTypeComputeInstanceDetails ComputeInstanceDetails 36 s := struct { 37 DiscriminatorParam string `json:"instanceType"` 38 MarshalTypeComputeInstanceDetails 39 }{ 40 "compute", 41 (MarshalTypeComputeInstanceDetails)(m), 42 } 43 44 return json.Marshal(&s) 45} 46