-
Notifications
You must be signed in to change notification settings - Fork 82
/
backup.go
259 lines (212 loc) · 9.84 KB
/
backup.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
// Copyright (c) 2016, 2018, 2022, Oracle and/or its affiliates. All rights reserved.
// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
// Code generated. DO NOT EDIT.
// MySQL Database Service API
//
// The API for the MySQL Database Service
//
package mysql
import (
"fmt"
"github.com/oracle/oci-go-sdk/v65/common"
"strings"
)
// Backup A full or incremental copy of a DB System which can be used to create a
// new DB System or recover a DB System.
// To use any of the API operations, you must be authorized in an IAM
// policy. If you're not authorized, talk to an administrator. If you're an
// administrator who needs to write policies to give users access, see
// Getting Started with
// Policies (https://docs.cloud.oracle.com/Content/Identity/Concepts/policygetstarted.htm).
type Backup struct {
// OCID of the backup itself
Id *string `mandatory:"true" json:"id"`
// The OCID of the compartment.
CompartmentId *string `mandatory:"true" json:"compartmentId"`
// The time the backup record was created.
TimeCreated *common.SDKTime `mandatory:"true" json:"timeCreated"`
// The time at which the backup was updated.
TimeUpdated *common.SDKTime `mandatory:"true" json:"timeUpdated"`
// The state of the backup.
LifecycleState BackupLifecycleStateEnum `mandatory:"true" json:"lifecycleState"`
// Additional information about the current lifecycleState.
LifecycleDetails *string `mandatory:"true" json:"lifecycleDetails"`
// The type of backup.
BackupType BackupBackupTypeEnum `mandatory:"true" json:"backupType"`
// Indicates how the backup was created: manually, automatic, or by an Operator.
CreationType BackupCreationTypeEnum `mandatory:"true" json:"creationType"`
// The OCID of the DB System the backup is associated with.
DbSystemId *string `mandatory:"true" json:"dbSystemId"`
// A user-supplied display name for the backup.
DisplayName *string `mandatory:"false" json:"displayName"`
// A user-supplied description for the backup.
Description *string `mandatory:"false" json:"description"`
DbSystemSnapshot *DbSystemSnapshot `mandatory:"false" json:"dbSystemSnapshot"`
// The size of the backup in base-2 (IEC) gibibytes. (GiB).
BackupSizeInGBs *int `mandatory:"false" json:"backupSizeInGBs"`
// Number of days to retain this backup.
RetentionInDays *int `mandatory:"false" json:"retentionInDays"`
// Initial size of the data volume in GiBs.
DataStorageSizeInGBs *int `mandatory:"false" json:"dataStorageSizeInGBs"`
// The MySQL server version of the DB System used for backup.
MysqlVersion *string `mandatory:"false" json:"mysqlVersion"`
// The shape of the DB System used for backup.
ShapeName *string `mandatory:"false" json:"shapeName"`
// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
// Example: `{"bar-key": "value"}`
FreeformTags map[string]string `mandatory:"false" json:"freeformTags"`
// Defined tags for this resource. Each key is predefined and scoped to a namespace.
// Example: `{"foo-namespace": {"bar-key": "value"}}`
DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"`
}
func (m Backup) String() string {
return common.PointerString(m)
}
// ValidateEnumValue returns an error when providing an unsupported enum value
// This function is being called during constructing API request process
// Not recommended for calling this function directly
func (m Backup) ValidateEnumValue() (bool, error) {
errMessage := []string{}
if _, ok := GetMappingBackupLifecycleStateEnum(string(m.LifecycleState)); !ok && m.LifecycleState != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for LifecycleState: %s. Supported values are: %s.", m.LifecycleState, strings.Join(GetBackupLifecycleStateEnumStringValues(), ",")))
}
if _, ok := GetMappingBackupBackupTypeEnum(string(m.BackupType)); !ok && m.BackupType != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for BackupType: %s. Supported values are: %s.", m.BackupType, strings.Join(GetBackupBackupTypeEnumStringValues(), ",")))
}
if _, ok := GetMappingBackupCreationTypeEnum(string(m.CreationType)); !ok && m.CreationType != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for CreationType: %s. Supported values are: %s.", m.CreationType, strings.Join(GetBackupCreationTypeEnumStringValues(), ",")))
}
if len(errMessage) > 0 {
return true, fmt.Errorf(strings.Join(errMessage, "\n"))
}
return false, nil
}
// BackupLifecycleStateEnum Enum with underlying type: string
type BackupLifecycleStateEnum string
// Set of constants representing the allowable values for BackupLifecycleStateEnum
const (
BackupLifecycleStateCreating BackupLifecycleStateEnum = "CREATING"
BackupLifecycleStateActive BackupLifecycleStateEnum = "ACTIVE"
BackupLifecycleStateInactive BackupLifecycleStateEnum = "INACTIVE"
BackupLifecycleStateUpdating BackupLifecycleStateEnum = "UPDATING"
BackupLifecycleStateDeleting BackupLifecycleStateEnum = "DELETING"
BackupLifecycleStateDeleted BackupLifecycleStateEnum = "DELETED"
BackupLifecycleStateFailed BackupLifecycleStateEnum = "FAILED"
)
var mappingBackupLifecycleStateEnum = map[string]BackupLifecycleStateEnum{
"CREATING": BackupLifecycleStateCreating,
"ACTIVE": BackupLifecycleStateActive,
"INACTIVE": BackupLifecycleStateInactive,
"UPDATING": BackupLifecycleStateUpdating,
"DELETING": BackupLifecycleStateDeleting,
"DELETED": BackupLifecycleStateDeleted,
"FAILED": BackupLifecycleStateFailed,
}
var mappingBackupLifecycleStateEnumLowerCase = map[string]BackupLifecycleStateEnum{
"creating": BackupLifecycleStateCreating,
"active": BackupLifecycleStateActive,
"inactive": BackupLifecycleStateInactive,
"updating": BackupLifecycleStateUpdating,
"deleting": BackupLifecycleStateDeleting,
"deleted": BackupLifecycleStateDeleted,
"failed": BackupLifecycleStateFailed,
}
// GetBackupLifecycleStateEnumValues Enumerates the set of values for BackupLifecycleStateEnum
func GetBackupLifecycleStateEnumValues() []BackupLifecycleStateEnum {
values := make([]BackupLifecycleStateEnum, 0)
for _, v := range mappingBackupLifecycleStateEnum {
values = append(values, v)
}
return values
}
// GetBackupLifecycleStateEnumStringValues Enumerates the set of values in String for BackupLifecycleStateEnum
func GetBackupLifecycleStateEnumStringValues() []string {
return []string{
"CREATING",
"ACTIVE",
"INACTIVE",
"UPDATING",
"DELETING",
"DELETED",
"FAILED",
}
}
// GetMappingBackupLifecycleStateEnum performs case Insensitive comparison on enum value and return the desired enum
func GetMappingBackupLifecycleStateEnum(val string) (BackupLifecycleStateEnum, bool) {
enum, ok := mappingBackupLifecycleStateEnumLowerCase[strings.ToLower(val)]
return enum, ok
}
// BackupBackupTypeEnum Enum with underlying type: string
type BackupBackupTypeEnum string
// Set of constants representing the allowable values for BackupBackupTypeEnum
const (
BackupBackupTypeFull BackupBackupTypeEnum = "FULL"
BackupBackupTypeIncremental BackupBackupTypeEnum = "INCREMENTAL"
)
var mappingBackupBackupTypeEnum = map[string]BackupBackupTypeEnum{
"FULL": BackupBackupTypeFull,
"INCREMENTAL": BackupBackupTypeIncremental,
}
var mappingBackupBackupTypeEnumLowerCase = map[string]BackupBackupTypeEnum{
"full": BackupBackupTypeFull,
"incremental": BackupBackupTypeIncremental,
}
// GetBackupBackupTypeEnumValues Enumerates the set of values for BackupBackupTypeEnum
func GetBackupBackupTypeEnumValues() []BackupBackupTypeEnum {
values := make([]BackupBackupTypeEnum, 0)
for _, v := range mappingBackupBackupTypeEnum {
values = append(values, v)
}
return values
}
// GetBackupBackupTypeEnumStringValues Enumerates the set of values in String for BackupBackupTypeEnum
func GetBackupBackupTypeEnumStringValues() []string {
return []string{
"FULL",
"INCREMENTAL",
}
}
// GetMappingBackupBackupTypeEnum performs case Insensitive comparison on enum value and return the desired enum
func GetMappingBackupBackupTypeEnum(val string) (BackupBackupTypeEnum, bool) {
enum, ok := mappingBackupBackupTypeEnumLowerCase[strings.ToLower(val)]
return enum, ok
}
// BackupCreationTypeEnum Enum with underlying type: string
type BackupCreationTypeEnum string
// Set of constants representing the allowable values for BackupCreationTypeEnum
const (
BackupCreationTypeManual BackupCreationTypeEnum = "MANUAL"
BackupCreationTypeAutomatic BackupCreationTypeEnum = "AUTOMATIC"
BackupCreationTypeOperator BackupCreationTypeEnum = "OPERATOR"
)
var mappingBackupCreationTypeEnum = map[string]BackupCreationTypeEnum{
"MANUAL": BackupCreationTypeManual,
"AUTOMATIC": BackupCreationTypeAutomatic,
"OPERATOR": BackupCreationTypeOperator,
}
var mappingBackupCreationTypeEnumLowerCase = map[string]BackupCreationTypeEnum{
"manual": BackupCreationTypeManual,
"automatic": BackupCreationTypeAutomatic,
"operator": BackupCreationTypeOperator,
}
// GetBackupCreationTypeEnumValues Enumerates the set of values for BackupCreationTypeEnum
func GetBackupCreationTypeEnumValues() []BackupCreationTypeEnum {
values := make([]BackupCreationTypeEnum, 0)
for _, v := range mappingBackupCreationTypeEnum {
values = append(values, v)
}
return values
}
// GetBackupCreationTypeEnumStringValues Enumerates the set of values in String for BackupCreationTypeEnum
func GetBackupCreationTypeEnumStringValues() []string {
return []string{
"MANUAL",
"AUTOMATIC",
"OPERATOR",
}
}
// GetMappingBackupCreationTypeEnum performs case Insensitive comparison on enum value and return the desired enum
func GetMappingBackupCreationTypeEnum(val string) (BackupCreationTypeEnum, bool) {
enum, ok := mappingBackupCreationTypeEnumLowerCase[strings.ToLower(val)]
return enum, ok
}