-
Notifications
You must be signed in to change notification settings - Fork 82
/
data_guard_association_summary.go
359 lines (301 loc) · 19 KB
/
data_guard_association_summary.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
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
// Copyright (c) 2016, 2018, 2024, 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.
// Database Service API
//
// The API for the Database Service. Use this API to manage resources such as databases and DB Systems. For more information, see Overview of the Database Service (https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/databaseoverview.htm).
//
package database
import (
"fmt"
"github.com/oracle/oci-go-sdk/v65/common"
"strings"
)
// DataGuardAssociationSummary The properties that define a Data Guard association.
// 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).
// For information about endpoints and signing API requests, see
// About the API (https://docs.cloud.oracle.com/Content/API/Concepts/usingapi.htm). For information about available SDKs and tools, see
// SDKS and Other Tools (https://docs.cloud.oracle.com/Content/API/Concepts/sdks.htm).
type DataGuardAssociationSummary struct {
// The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Data Guard association.
Id *string `mandatory:"true" json:"id"`
// The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the reporting database.
DatabaseId *string `mandatory:"true" json:"databaseId"`
// The role of the reporting database in this Data Guard association.
Role DataGuardAssociationSummaryRoleEnum `mandatory:"true" json:"role"`
// The current state of the Data Guard association.
LifecycleState DataGuardAssociationSummaryLifecycleStateEnum `mandatory:"true" json:"lifecycleState"`
// The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the DB system containing the associated
// peer database.
PeerDbSystemId *string `mandatory:"true" json:"peerDbSystemId"`
// The role of the peer database in this Data Guard association.
PeerRole DataGuardAssociationSummaryPeerRoleEnum `mandatory:"true" json:"peerRole"`
// The protection mode of this Data Guard association. For more information, see
// Oracle Data Guard Protection Modes (http://docs.oracle.com/database/122/SBYDB/oracle-data-guard-protection-modes.htm#SBYDB02000)
// in the Oracle Data Guard documentation.
ProtectionMode DataGuardAssociationSummaryProtectionModeEnum `mandatory:"true" json:"protectionMode"`
// Additional information about the current lifecycleState, if available.
LifecycleDetails *string `mandatory:"false" json:"lifecycleDetails"`
// The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Database Home containing the associated peer database.
PeerDbHomeId *string `mandatory:"false" json:"peerDbHomeId"`
// The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the associated peer database.
PeerDatabaseId *string `mandatory:"false" json:"peerDatabaseId"`
// The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the peer database's Data Guard association.
PeerDataGuardAssociationId *string `mandatory:"false" json:"peerDataGuardAssociationId"`
// The lag time between updates to the primary database and application of the redo data on the standby database,
// as computed by the reporting database.
// Example: `9 seconds`
ApplyLag *string `mandatory:"false" json:"applyLag"`
// The rate at which redo logs are synced between the associated databases.
// Example: `180 Mb per second`
ApplyRate *string `mandatory:"false" json:"applyRate"`
// The redo transport type used by this Data Guard association. For more information, see
// Redo Transport Services (http://docs.oracle.com/database/122/SBYDB/oracle-data-guard-redo-transport-services.htm#SBYDB00400)
// in the Oracle Data Guard documentation.
TransportType DataGuardAssociationSummaryTransportTypeEnum `mandatory:"false" json:"transportType,omitempty"`
// The date and time the Data Guard association was created.
TimeCreated *common.SDKTime `mandatory:"false" json:"timeCreated"`
// True if active Data Guard is enabled.
IsActiveDataGuardEnabled *bool `mandatory:"false" json:"isActiveDataGuardEnabled"`
}
func (m DataGuardAssociationSummary) 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 DataGuardAssociationSummary) ValidateEnumValue() (bool, error) {
errMessage := []string{}
if _, ok := GetMappingDataGuardAssociationSummaryRoleEnum(string(m.Role)); !ok && m.Role != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for Role: %s. Supported values are: %s.", m.Role, strings.Join(GetDataGuardAssociationSummaryRoleEnumStringValues(), ",")))
}
if _, ok := GetMappingDataGuardAssociationSummaryLifecycleStateEnum(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(GetDataGuardAssociationSummaryLifecycleStateEnumStringValues(), ",")))
}
if _, ok := GetMappingDataGuardAssociationSummaryPeerRoleEnum(string(m.PeerRole)); !ok && m.PeerRole != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for PeerRole: %s. Supported values are: %s.", m.PeerRole, strings.Join(GetDataGuardAssociationSummaryPeerRoleEnumStringValues(), ",")))
}
if _, ok := GetMappingDataGuardAssociationSummaryProtectionModeEnum(string(m.ProtectionMode)); !ok && m.ProtectionMode != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for ProtectionMode: %s. Supported values are: %s.", m.ProtectionMode, strings.Join(GetDataGuardAssociationSummaryProtectionModeEnumStringValues(), ",")))
}
if _, ok := GetMappingDataGuardAssociationSummaryTransportTypeEnum(string(m.TransportType)); !ok && m.TransportType != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for TransportType: %s. Supported values are: %s.", m.TransportType, strings.Join(GetDataGuardAssociationSummaryTransportTypeEnumStringValues(), ",")))
}
if len(errMessage) > 0 {
return true, fmt.Errorf(strings.Join(errMessage, "\n"))
}
return false, nil
}
// DataGuardAssociationSummaryRoleEnum Enum with underlying type: string
type DataGuardAssociationSummaryRoleEnum string
// Set of constants representing the allowable values for DataGuardAssociationSummaryRoleEnum
const (
DataGuardAssociationSummaryRolePrimary DataGuardAssociationSummaryRoleEnum = "PRIMARY"
DataGuardAssociationSummaryRoleStandby DataGuardAssociationSummaryRoleEnum = "STANDBY"
DataGuardAssociationSummaryRoleDisabledStandby DataGuardAssociationSummaryRoleEnum = "DISABLED_STANDBY"
)
var mappingDataGuardAssociationSummaryRoleEnum = map[string]DataGuardAssociationSummaryRoleEnum{
"PRIMARY": DataGuardAssociationSummaryRolePrimary,
"STANDBY": DataGuardAssociationSummaryRoleStandby,
"DISABLED_STANDBY": DataGuardAssociationSummaryRoleDisabledStandby,
}
var mappingDataGuardAssociationSummaryRoleEnumLowerCase = map[string]DataGuardAssociationSummaryRoleEnum{
"primary": DataGuardAssociationSummaryRolePrimary,
"standby": DataGuardAssociationSummaryRoleStandby,
"disabled_standby": DataGuardAssociationSummaryRoleDisabledStandby,
}
// GetDataGuardAssociationSummaryRoleEnumValues Enumerates the set of values for DataGuardAssociationSummaryRoleEnum
func GetDataGuardAssociationSummaryRoleEnumValues() []DataGuardAssociationSummaryRoleEnum {
values := make([]DataGuardAssociationSummaryRoleEnum, 0)
for _, v := range mappingDataGuardAssociationSummaryRoleEnum {
values = append(values, v)
}
return values
}
// GetDataGuardAssociationSummaryRoleEnumStringValues Enumerates the set of values in String for DataGuardAssociationSummaryRoleEnum
func GetDataGuardAssociationSummaryRoleEnumStringValues() []string {
return []string{
"PRIMARY",
"STANDBY",
"DISABLED_STANDBY",
}
}
// GetMappingDataGuardAssociationSummaryRoleEnum performs case Insensitive comparison on enum value and return the desired enum
func GetMappingDataGuardAssociationSummaryRoleEnum(val string) (DataGuardAssociationSummaryRoleEnum, bool) {
enum, ok := mappingDataGuardAssociationSummaryRoleEnumLowerCase[strings.ToLower(val)]
return enum, ok
}
// DataGuardAssociationSummaryLifecycleStateEnum Enum with underlying type: string
type DataGuardAssociationSummaryLifecycleStateEnum string
// Set of constants representing the allowable values for DataGuardAssociationSummaryLifecycleStateEnum
const (
DataGuardAssociationSummaryLifecycleStateProvisioning DataGuardAssociationSummaryLifecycleStateEnum = "PROVISIONING"
DataGuardAssociationSummaryLifecycleStateAvailable DataGuardAssociationSummaryLifecycleStateEnum = "AVAILABLE"
DataGuardAssociationSummaryLifecycleStateUpdating DataGuardAssociationSummaryLifecycleStateEnum = "UPDATING"
DataGuardAssociationSummaryLifecycleStateTerminating DataGuardAssociationSummaryLifecycleStateEnum = "TERMINATING"
DataGuardAssociationSummaryLifecycleStateTerminated DataGuardAssociationSummaryLifecycleStateEnum = "TERMINATED"
DataGuardAssociationSummaryLifecycleStateFailed DataGuardAssociationSummaryLifecycleStateEnum = "FAILED"
DataGuardAssociationSummaryLifecycleStateUpgrading DataGuardAssociationSummaryLifecycleStateEnum = "UPGRADING"
)
var mappingDataGuardAssociationSummaryLifecycleStateEnum = map[string]DataGuardAssociationSummaryLifecycleStateEnum{
"PROVISIONING": DataGuardAssociationSummaryLifecycleStateProvisioning,
"AVAILABLE": DataGuardAssociationSummaryLifecycleStateAvailable,
"UPDATING": DataGuardAssociationSummaryLifecycleStateUpdating,
"TERMINATING": DataGuardAssociationSummaryLifecycleStateTerminating,
"TERMINATED": DataGuardAssociationSummaryLifecycleStateTerminated,
"FAILED": DataGuardAssociationSummaryLifecycleStateFailed,
"UPGRADING": DataGuardAssociationSummaryLifecycleStateUpgrading,
}
var mappingDataGuardAssociationSummaryLifecycleStateEnumLowerCase = map[string]DataGuardAssociationSummaryLifecycleStateEnum{
"provisioning": DataGuardAssociationSummaryLifecycleStateProvisioning,
"available": DataGuardAssociationSummaryLifecycleStateAvailable,
"updating": DataGuardAssociationSummaryLifecycleStateUpdating,
"terminating": DataGuardAssociationSummaryLifecycleStateTerminating,
"terminated": DataGuardAssociationSummaryLifecycleStateTerminated,
"failed": DataGuardAssociationSummaryLifecycleStateFailed,
"upgrading": DataGuardAssociationSummaryLifecycleStateUpgrading,
}
// GetDataGuardAssociationSummaryLifecycleStateEnumValues Enumerates the set of values for DataGuardAssociationSummaryLifecycleStateEnum
func GetDataGuardAssociationSummaryLifecycleStateEnumValues() []DataGuardAssociationSummaryLifecycleStateEnum {
values := make([]DataGuardAssociationSummaryLifecycleStateEnum, 0)
for _, v := range mappingDataGuardAssociationSummaryLifecycleStateEnum {
values = append(values, v)
}
return values
}
// GetDataGuardAssociationSummaryLifecycleStateEnumStringValues Enumerates the set of values in String for DataGuardAssociationSummaryLifecycleStateEnum
func GetDataGuardAssociationSummaryLifecycleStateEnumStringValues() []string {
return []string{
"PROVISIONING",
"AVAILABLE",
"UPDATING",
"TERMINATING",
"TERMINATED",
"FAILED",
"UPGRADING",
}
}
// GetMappingDataGuardAssociationSummaryLifecycleStateEnum performs case Insensitive comparison on enum value and return the desired enum
func GetMappingDataGuardAssociationSummaryLifecycleStateEnum(val string) (DataGuardAssociationSummaryLifecycleStateEnum, bool) {
enum, ok := mappingDataGuardAssociationSummaryLifecycleStateEnumLowerCase[strings.ToLower(val)]
return enum, ok
}
// DataGuardAssociationSummaryPeerRoleEnum Enum with underlying type: string
type DataGuardAssociationSummaryPeerRoleEnum string
// Set of constants representing the allowable values for DataGuardAssociationSummaryPeerRoleEnum
const (
DataGuardAssociationSummaryPeerRolePrimary DataGuardAssociationSummaryPeerRoleEnum = "PRIMARY"
DataGuardAssociationSummaryPeerRoleStandby DataGuardAssociationSummaryPeerRoleEnum = "STANDBY"
DataGuardAssociationSummaryPeerRoleDisabledStandby DataGuardAssociationSummaryPeerRoleEnum = "DISABLED_STANDBY"
)
var mappingDataGuardAssociationSummaryPeerRoleEnum = map[string]DataGuardAssociationSummaryPeerRoleEnum{
"PRIMARY": DataGuardAssociationSummaryPeerRolePrimary,
"STANDBY": DataGuardAssociationSummaryPeerRoleStandby,
"DISABLED_STANDBY": DataGuardAssociationSummaryPeerRoleDisabledStandby,
}
var mappingDataGuardAssociationSummaryPeerRoleEnumLowerCase = map[string]DataGuardAssociationSummaryPeerRoleEnum{
"primary": DataGuardAssociationSummaryPeerRolePrimary,
"standby": DataGuardAssociationSummaryPeerRoleStandby,
"disabled_standby": DataGuardAssociationSummaryPeerRoleDisabledStandby,
}
// GetDataGuardAssociationSummaryPeerRoleEnumValues Enumerates the set of values for DataGuardAssociationSummaryPeerRoleEnum
func GetDataGuardAssociationSummaryPeerRoleEnumValues() []DataGuardAssociationSummaryPeerRoleEnum {
values := make([]DataGuardAssociationSummaryPeerRoleEnum, 0)
for _, v := range mappingDataGuardAssociationSummaryPeerRoleEnum {
values = append(values, v)
}
return values
}
// GetDataGuardAssociationSummaryPeerRoleEnumStringValues Enumerates the set of values in String for DataGuardAssociationSummaryPeerRoleEnum
func GetDataGuardAssociationSummaryPeerRoleEnumStringValues() []string {
return []string{
"PRIMARY",
"STANDBY",
"DISABLED_STANDBY",
}
}
// GetMappingDataGuardAssociationSummaryPeerRoleEnum performs case Insensitive comparison on enum value and return the desired enum
func GetMappingDataGuardAssociationSummaryPeerRoleEnum(val string) (DataGuardAssociationSummaryPeerRoleEnum, bool) {
enum, ok := mappingDataGuardAssociationSummaryPeerRoleEnumLowerCase[strings.ToLower(val)]
return enum, ok
}
// DataGuardAssociationSummaryProtectionModeEnum Enum with underlying type: string
type DataGuardAssociationSummaryProtectionModeEnum string
// Set of constants representing the allowable values for DataGuardAssociationSummaryProtectionModeEnum
const (
DataGuardAssociationSummaryProtectionModeAvailability DataGuardAssociationSummaryProtectionModeEnum = "MAXIMUM_AVAILABILITY"
DataGuardAssociationSummaryProtectionModePerformance DataGuardAssociationSummaryProtectionModeEnum = "MAXIMUM_PERFORMANCE"
DataGuardAssociationSummaryProtectionModeProtection DataGuardAssociationSummaryProtectionModeEnum = "MAXIMUM_PROTECTION"
)
var mappingDataGuardAssociationSummaryProtectionModeEnum = map[string]DataGuardAssociationSummaryProtectionModeEnum{
"MAXIMUM_AVAILABILITY": DataGuardAssociationSummaryProtectionModeAvailability,
"MAXIMUM_PERFORMANCE": DataGuardAssociationSummaryProtectionModePerformance,
"MAXIMUM_PROTECTION": DataGuardAssociationSummaryProtectionModeProtection,
}
var mappingDataGuardAssociationSummaryProtectionModeEnumLowerCase = map[string]DataGuardAssociationSummaryProtectionModeEnum{
"maximum_availability": DataGuardAssociationSummaryProtectionModeAvailability,
"maximum_performance": DataGuardAssociationSummaryProtectionModePerformance,
"maximum_protection": DataGuardAssociationSummaryProtectionModeProtection,
}
// GetDataGuardAssociationSummaryProtectionModeEnumValues Enumerates the set of values for DataGuardAssociationSummaryProtectionModeEnum
func GetDataGuardAssociationSummaryProtectionModeEnumValues() []DataGuardAssociationSummaryProtectionModeEnum {
values := make([]DataGuardAssociationSummaryProtectionModeEnum, 0)
for _, v := range mappingDataGuardAssociationSummaryProtectionModeEnum {
values = append(values, v)
}
return values
}
// GetDataGuardAssociationSummaryProtectionModeEnumStringValues Enumerates the set of values in String for DataGuardAssociationSummaryProtectionModeEnum
func GetDataGuardAssociationSummaryProtectionModeEnumStringValues() []string {
return []string{
"MAXIMUM_AVAILABILITY",
"MAXIMUM_PERFORMANCE",
"MAXIMUM_PROTECTION",
}
}
// GetMappingDataGuardAssociationSummaryProtectionModeEnum performs case Insensitive comparison on enum value and return the desired enum
func GetMappingDataGuardAssociationSummaryProtectionModeEnum(val string) (DataGuardAssociationSummaryProtectionModeEnum, bool) {
enum, ok := mappingDataGuardAssociationSummaryProtectionModeEnumLowerCase[strings.ToLower(val)]
return enum, ok
}
// DataGuardAssociationSummaryTransportTypeEnum Enum with underlying type: string
type DataGuardAssociationSummaryTransportTypeEnum string
// Set of constants representing the allowable values for DataGuardAssociationSummaryTransportTypeEnum
const (
DataGuardAssociationSummaryTransportTypeSync DataGuardAssociationSummaryTransportTypeEnum = "SYNC"
DataGuardAssociationSummaryTransportTypeAsync DataGuardAssociationSummaryTransportTypeEnum = "ASYNC"
DataGuardAssociationSummaryTransportTypeFastsync DataGuardAssociationSummaryTransportTypeEnum = "FASTSYNC"
)
var mappingDataGuardAssociationSummaryTransportTypeEnum = map[string]DataGuardAssociationSummaryTransportTypeEnum{
"SYNC": DataGuardAssociationSummaryTransportTypeSync,
"ASYNC": DataGuardAssociationSummaryTransportTypeAsync,
"FASTSYNC": DataGuardAssociationSummaryTransportTypeFastsync,
}
var mappingDataGuardAssociationSummaryTransportTypeEnumLowerCase = map[string]DataGuardAssociationSummaryTransportTypeEnum{
"sync": DataGuardAssociationSummaryTransportTypeSync,
"async": DataGuardAssociationSummaryTransportTypeAsync,
"fastsync": DataGuardAssociationSummaryTransportTypeFastsync,
}
// GetDataGuardAssociationSummaryTransportTypeEnumValues Enumerates the set of values for DataGuardAssociationSummaryTransportTypeEnum
func GetDataGuardAssociationSummaryTransportTypeEnumValues() []DataGuardAssociationSummaryTransportTypeEnum {
values := make([]DataGuardAssociationSummaryTransportTypeEnum, 0)
for _, v := range mappingDataGuardAssociationSummaryTransportTypeEnum {
values = append(values, v)
}
return values
}
// GetDataGuardAssociationSummaryTransportTypeEnumStringValues Enumerates the set of values in String for DataGuardAssociationSummaryTransportTypeEnum
func GetDataGuardAssociationSummaryTransportTypeEnumStringValues() []string {
return []string{
"SYNC",
"ASYNC",
"FASTSYNC",
}
}
// GetMappingDataGuardAssociationSummaryTransportTypeEnum performs case Insensitive comparison on enum value and return the desired enum
func GetMappingDataGuardAssociationSummaryTransportTypeEnum(val string) (DataGuardAssociationSummaryTransportTypeEnum, bool) {
enum, ok := mappingDataGuardAssociationSummaryTransportTypeEnumLowerCase[strings.ToLower(val)]
return enum, ok
}