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// InstanceConfigurationVolumeSourceFromVolumeBackupDetails Specifies the volume backup.
21type InstanceConfigurationVolumeSourceFromVolumeBackupDetails struct {
22
23	// The OCID of the volume backup.
24	Id *string `mandatory:"false" json:"id"`
25}
26
27func (m InstanceConfigurationVolumeSourceFromVolumeBackupDetails) String() string {
28	return common.PointerString(m)
29}
30
31// MarshalJSON marshals to json representation
32func (m InstanceConfigurationVolumeSourceFromVolumeBackupDetails) MarshalJSON() (buff []byte, e error) {
33	type MarshalTypeInstanceConfigurationVolumeSourceFromVolumeBackupDetails InstanceConfigurationVolumeSourceFromVolumeBackupDetails
34	s := struct {
35		DiscriminatorParam string `json:"type"`
36		MarshalTypeInstanceConfigurationVolumeSourceFromVolumeBackupDetails
37	}{
38		"volumeBackup",
39		(MarshalTypeInstanceConfigurationVolumeSourceFromVolumeBackupDetails)(m),
40	}
41
42	return json.Marshal(&s)
43}
44