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	"github.com/oracle/oci-go-sdk/common"
17)
18
19// CreateBootVolumeBackupDetails The representation of CreateBootVolumeBackupDetails
20type CreateBootVolumeBackupDetails struct {
21
22	// The OCID of the boot volume that needs to be backed up.
23	BootVolumeId *string `mandatory:"true" json:"bootVolumeId"`
24
25	// Defined tags for this resource. Each key is predefined and scoped to a
26	// namespace. For more information, see Resource Tags (https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
27	// Example: `{"Operations": {"CostCenter": "42"}}`
28	DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"`
29
30	// A user-friendly name for the boot volume backup. Does not have to be unique and it's changeable.
31	// Avoid entering confidential information.
32	DisplayName *string `mandatory:"false" json:"displayName"`
33
34	// Free-form tags for this resource. Each tag is a simple key-value pair with no
35	// predefined name, type, or namespace. For more information, see Resource Tags (https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
36	// Example: `{"Department": "Finance"}`
37	FreeformTags map[string]string `mandatory:"false" json:"freeformTags"`
38
39	// The type of backup to create. If omitted, defaults to incremental.
40	Type CreateBootVolumeBackupDetailsTypeEnum `mandatory:"false" json:"type,omitempty"`
41}
42
43func (m CreateBootVolumeBackupDetails) String() string {
44	return common.PointerString(m)
45}
46
47// CreateBootVolumeBackupDetailsTypeEnum Enum with underlying type: string
48type CreateBootVolumeBackupDetailsTypeEnum string
49
50// Set of constants representing the allowable values for CreateBootVolumeBackupDetailsTypeEnum
51const (
52	CreateBootVolumeBackupDetailsTypeFull        CreateBootVolumeBackupDetailsTypeEnum = "FULL"
53	CreateBootVolumeBackupDetailsTypeIncremental CreateBootVolumeBackupDetailsTypeEnum = "INCREMENTAL"
54)
55
56var mappingCreateBootVolumeBackupDetailsType = map[string]CreateBootVolumeBackupDetailsTypeEnum{
57	"FULL":        CreateBootVolumeBackupDetailsTypeFull,
58	"INCREMENTAL": CreateBootVolumeBackupDetailsTypeIncremental,
59}
60
61// GetCreateBootVolumeBackupDetailsTypeEnumValues Enumerates the set of values for CreateBootVolumeBackupDetailsTypeEnum
62func GetCreateBootVolumeBackupDetailsTypeEnumValues() []CreateBootVolumeBackupDetailsTypeEnum {
63	values := make([]CreateBootVolumeBackupDetailsTypeEnum, 0)
64	for _, v := range mappingCreateBootVolumeBackupDetailsType {
65		values = append(values, v)
66	}
67	return values
68}
69