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// AttachEmulatedVolumeDetails The representation of AttachEmulatedVolumeDetails
21type AttachEmulatedVolumeDetails struct {
22
23	// The OCID of the instance.
24	InstanceId *string `mandatory:"true" json:"instanceId"`
25
26	// The OCID of the volume.
27	VolumeId *string `mandatory:"true" json:"volumeId"`
28
29	// The device name.
30	Device *string `mandatory:"false" json:"device"`
31
32	// A user-friendly name. Does not have to be unique, and it cannot be changed. Avoid entering confidential information.
33	DisplayName *string `mandatory:"false" json:"displayName"`
34
35	// Whether the attachment was created in read-only mode.
36	IsReadOnly *bool `mandatory:"false" json:"isReadOnly"`
37}
38
39//GetDevice returns Device
40func (m AttachEmulatedVolumeDetails) GetDevice() *string {
41	return m.Device
42}
43
44//GetDisplayName returns DisplayName
45func (m AttachEmulatedVolumeDetails) GetDisplayName() *string {
46	return m.DisplayName
47}
48
49//GetInstanceId returns InstanceId
50func (m AttachEmulatedVolumeDetails) GetInstanceId() *string {
51	return m.InstanceId
52}
53
54//GetIsReadOnly returns IsReadOnly
55func (m AttachEmulatedVolumeDetails) GetIsReadOnly() *bool {
56	return m.IsReadOnly
57}
58
59//GetVolumeId returns VolumeId
60func (m AttachEmulatedVolumeDetails) GetVolumeId() *string {
61	return m.VolumeId
62}
63
64func (m AttachEmulatedVolumeDetails) String() string {
65	return common.PointerString(m)
66}
67
68// MarshalJSON marshals to json representation
69func (m AttachEmulatedVolumeDetails) MarshalJSON() (buff []byte, e error) {
70	type MarshalTypeAttachEmulatedVolumeDetails AttachEmulatedVolumeDetails
71	s := struct {
72		DiscriminatorParam string `json:"type"`
73		MarshalTypeAttachEmulatedVolumeDetails
74	}{
75		"emulated",
76		(MarshalTypeAttachEmulatedVolumeDetails)(m),
77	}
78
79	return json.Marshal(&s)
80}
81