|
| 1 | +// Copyright (c) 2016, 2018, 2025, Oracle and/or its affiliates. All rights reserved. |
| 2 | +// 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. |
| 3 | +// Code generated. DO NOT EDIT. |
| 4 | + |
| 5 | +// Database Service API |
| 6 | +// |
| 7 | +// 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.oracle.com/iaas/Content/Database/Concepts/databaseoverview.htm). |
| 8 | +// |
| 9 | + |
| 10 | +package database |
| 11 | + |
| 12 | +import ( |
| 13 | + "fmt" |
| 14 | + "github.com/oracle/oci-go-sdk/v65/common" |
| 15 | + "strings" |
| 16 | +) |
| 17 | + |
| 18 | +// AutonomousContainerDatabaseBackup An Autonomous Database backup. |
| 19 | +type AutonomousContainerDatabaseBackup struct { |
| 20 | + |
| 21 | + // The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Autonomous Database backup. |
| 22 | + Id *string `mandatory:"true" json:"id"` |
| 23 | + |
| 24 | + // The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. |
| 25 | + CompartmentId *string `mandatory:"true" json:"compartmentId"` |
| 26 | + |
| 27 | + // The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Autonomous Container Database. |
| 28 | + AutonomousContainerDatabaseId *string `mandatory:"true" json:"autonomousContainerDatabaseId"` |
| 29 | + |
| 30 | + // A user-friendly name for the backup. This name need not be unique. |
| 31 | + DisplayName *string `mandatory:"true" json:"displayName"` |
| 32 | + |
| 33 | + // The type of backup. |
| 34 | + Type AutonomousContainerDatabaseBackupTypeEnum `mandatory:"true" json:"type"` |
| 35 | + |
| 36 | + // Indicates whether the backup is user-initiated or automatic. |
| 37 | + IsAutomatic *bool `mandatory:"true" json:"isAutomatic"` |
| 38 | + |
| 39 | + // The current state of the backup. |
| 40 | + LifecycleState AutonomousContainerDatabaseBackupLifecycleStateEnum `mandatory:"true" json:"lifecycleState"` |
| 41 | + |
| 42 | + // The user-friendly name for the Autonomous Container Database when the Backup was initiated. This name need not be unique. This field captures the name at the time of backup creation, accounting for possible later updates to the display name. |
| 43 | + AcdDisplayName *string `mandatory:"false" json:"acdDisplayName"` |
| 44 | + |
| 45 | + // The date and time the backup started. |
| 46 | + TimeStarted *common.SDKTime `mandatory:"false" json:"timeStarted"` |
| 47 | + |
| 48 | + // The date and time the backup completed. |
| 49 | + TimeEnded *common.SDKTime `mandatory:"false" json:"timeEnded"` |
| 50 | + |
| 51 | + // Additional information about the current lifecycle state. |
| 52 | + LifecycleDetails *string `mandatory:"false" json:"lifecycleDetails"` |
| 53 | + |
| 54 | + // Retention period, in days, for long-term backups |
| 55 | + RetentionPeriodInDays *int `mandatory:"false" json:"retentionPeriodInDays"` |
| 56 | + |
| 57 | + // Whether backup is for remote-region or local region |
| 58 | + IsRemoteBackup *bool `mandatory:"false" json:"isRemoteBackup"` |
| 59 | + |
| 60 | + // The infrastructure type this resource belongs to. |
| 61 | + InfrastructureType AutonomousContainerDatabaseBackupInfrastructureTypeEnum `mandatory:"false" json:"infrastructureType,omitempty"` |
| 62 | + |
| 63 | + // Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. |
| 64 | + // For more information, see Resource Tags (https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). |
| 65 | + // Example: `{"Department": "Finance"}` |
| 66 | + FreeformTags map[string]string `mandatory:"false" json:"freeformTags"` |
| 67 | + |
| 68 | + // Defined tags for this resource. Each key is predefined and scoped to a namespace. |
| 69 | + // For more information, see Resource Tags (https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). |
| 70 | + DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"` |
| 71 | + |
| 72 | + // System tags for this resource. Each key is predefined and scoped to a namespace. |
| 73 | + // For more information, see Resource Tags (https://docs.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). |
| 74 | + SystemTags map[string]map[string]interface{} `mandatory:"false" json:"systemTags"` |
| 75 | + |
| 76 | + // List of Autonomous Databases that is part of this Autonomous Container Database Backup |
| 77 | + AutonomousDatabases []AutonomousDatabaseInBackup `mandatory:"false" json:"autonomousDatabases"` |
| 78 | +} |
| 79 | + |
| 80 | +func (m AutonomousContainerDatabaseBackup) String() string { |
| 81 | + return common.PointerString(m) |
| 82 | +} |
| 83 | + |
| 84 | +// ValidateEnumValue returns an error when providing an unsupported enum value |
| 85 | +// This function is being called during constructing API request process |
| 86 | +// Not recommended for calling this function directly |
| 87 | +func (m AutonomousContainerDatabaseBackup) ValidateEnumValue() (bool, error) { |
| 88 | + errMessage := []string{} |
| 89 | + if _, ok := GetMappingAutonomousContainerDatabaseBackupTypeEnum(string(m.Type)); !ok && m.Type != "" { |
| 90 | + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for Type: %s. Supported values are: %s.", m.Type, strings.Join(GetAutonomousContainerDatabaseBackupTypeEnumStringValues(), ","))) |
| 91 | + } |
| 92 | + if _, ok := GetMappingAutonomousContainerDatabaseBackupLifecycleStateEnum(string(m.LifecycleState)); !ok && m.LifecycleState != "" { |
| 93 | + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for LifecycleState: %s. Supported values are: %s.", m.LifecycleState, strings.Join(GetAutonomousContainerDatabaseBackupLifecycleStateEnumStringValues(), ","))) |
| 94 | + } |
| 95 | + |
| 96 | + if _, ok := GetMappingAutonomousContainerDatabaseBackupInfrastructureTypeEnum(string(m.InfrastructureType)); !ok && m.InfrastructureType != "" { |
| 97 | + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for InfrastructureType: %s. Supported values are: %s.", m.InfrastructureType, strings.Join(GetAutonomousContainerDatabaseBackupInfrastructureTypeEnumStringValues(), ","))) |
| 98 | + } |
| 99 | + if len(errMessage) > 0 { |
| 100 | + return true, fmt.Errorf(strings.Join(errMessage, "\n")) |
| 101 | + } |
| 102 | + return false, nil |
| 103 | +} |
| 104 | + |
| 105 | +// AutonomousContainerDatabaseBackupTypeEnum Enum with underlying type: string |
| 106 | +type AutonomousContainerDatabaseBackupTypeEnum string |
| 107 | + |
| 108 | +// Set of constants representing the allowable values for AutonomousContainerDatabaseBackupTypeEnum |
| 109 | +const ( |
| 110 | + AutonomousContainerDatabaseBackupTypeIncremental AutonomousContainerDatabaseBackupTypeEnum = "INCREMENTAL" |
| 111 | + AutonomousContainerDatabaseBackupTypeFull AutonomousContainerDatabaseBackupTypeEnum = "FULL" |
| 112 | +) |
| 113 | + |
| 114 | +var mappingAutonomousContainerDatabaseBackupTypeEnum = map[string]AutonomousContainerDatabaseBackupTypeEnum{ |
| 115 | + "INCREMENTAL": AutonomousContainerDatabaseBackupTypeIncremental, |
| 116 | + "FULL": AutonomousContainerDatabaseBackupTypeFull, |
| 117 | +} |
| 118 | + |
| 119 | +var mappingAutonomousContainerDatabaseBackupTypeEnumLowerCase = map[string]AutonomousContainerDatabaseBackupTypeEnum{ |
| 120 | + "incremental": AutonomousContainerDatabaseBackupTypeIncremental, |
| 121 | + "full": AutonomousContainerDatabaseBackupTypeFull, |
| 122 | +} |
| 123 | + |
| 124 | +// GetAutonomousContainerDatabaseBackupTypeEnumValues Enumerates the set of values for AutonomousContainerDatabaseBackupTypeEnum |
| 125 | +func GetAutonomousContainerDatabaseBackupTypeEnumValues() []AutonomousContainerDatabaseBackupTypeEnum { |
| 126 | + values := make([]AutonomousContainerDatabaseBackupTypeEnum, 0) |
| 127 | + for _, v := range mappingAutonomousContainerDatabaseBackupTypeEnum { |
| 128 | + values = append(values, v) |
| 129 | + } |
| 130 | + return values |
| 131 | +} |
| 132 | + |
| 133 | +// GetAutonomousContainerDatabaseBackupTypeEnumStringValues Enumerates the set of values in String for AutonomousContainerDatabaseBackupTypeEnum |
| 134 | +func GetAutonomousContainerDatabaseBackupTypeEnumStringValues() []string { |
| 135 | + return []string{ |
| 136 | + "INCREMENTAL", |
| 137 | + "FULL", |
| 138 | + } |
| 139 | +} |
| 140 | + |
| 141 | +// GetMappingAutonomousContainerDatabaseBackupTypeEnum performs case Insensitive comparison on enum value and return the desired enum |
| 142 | +func GetMappingAutonomousContainerDatabaseBackupTypeEnum(val string) (AutonomousContainerDatabaseBackupTypeEnum, bool) { |
| 143 | + enum, ok := mappingAutonomousContainerDatabaseBackupTypeEnumLowerCase[strings.ToLower(val)] |
| 144 | + return enum, ok |
| 145 | +} |
| 146 | + |
| 147 | +// AutonomousContainerDatabaseBackupLifecycleStateEnum Enum with underlying type: string |
| 148 | +type AutonomousContainerDatabaseBackupLifecycleStateEnum string |
| 149 | + |
| 150 | +// Set of constants representing the allowable values for AutonomousContainerDatabaseBackupLifecycleStateEnum |
| 151 | +const ( |
| 152 | + AutonomousContainerDatabaseBackupLifecycleStateCreating AutonomousContainerDatabaseBackupLifecycleStateEnum = "CREATING" |
| 153 | + AutonomousContainerDatabaseBackupLifecycleStateActive AutonomousContainerDatabaseBackupLifecycleStateEnum = "ACTIVE" |
| 154 | + AutonomousContainerDatabaseBackupLifecycleStateDeleting AutonomousContainerDatabaseBackupLifecycleStateEnum = "DELETING" |
| 155 | + AutonomousContainerDatabaseBackupLifecycleStateDeleted AutonomousContainerDatabaseBackupLifecycleStateEnum = "DELETED" |
| 156 | + AutonomousContainerDatabaseBackupLifecycleStateFailed AutonomousContainerDatabaseBackupLifecycleStateEnum = "FAILED" |
| 157 | +) |
| 158 | + |
| 159 | +var mappingAutonomousContainerDatabaseBackupLifecycleStateEnum = map[string]AutonomousContainerDatabaseBackupLifecycleStateEnum{ |
| 160 | + "CREATING": AutonomousContainerDatabaseBackupLifecycleStateCreating, |
| 161 | + "ACTIVE": AutonomousContainerDatabaseBackupLifecycleStateActive, |
| 162 | + "DELETING": AutonomousContainerDatabaseBackupLifecycleStateDeleting, |
| 163 | + "DELETED": AutonomousContainerDatabaseBackupLifecycleStateDeleted, |
| 164 | + "FAILED": AutonomousContainerDatabaseBackupLifecycleStateFailed, |
| 165 | +} |
| 166 | + |
| 167 | +var mappingAutonomousContainerDatabaseBackupLifecycleStateEnumLowerCase = map[string]AutonomousContainerDatabaseBackupLifecycleStateEnum{ |
| 168 | + "creating": AutonomousContainerDatabaseBackupLifecycleStateCreating, |
| 169 | + "active": AutonomousContainerDatabaseBackupLifecycleStateActive, |
| 170 | + "deleting": AutonomousContainerDatabaseBackupLifecycleStateDeleting, |
| 171 | + "deleted": AutonomousContainerDatabaseBackupLifecycleStateDeleted, |
| 172 | + "failed": AutonomousContainerDatabaseBackupLifecycleStateFailed, |
| 173 | +} |
| 174 | + |
| 175 | +// GetAutonomousContainerDatabaseBackupLifecycleStateEnumValues Enumerates the set of values for AutonomousContainerDatabaseBackupLifecycleStateEnum |
| 176 | +func GetAutonomousContainerDatabaseBackupLifecycleStateEnumValues() []AutonomousContainerDatabaseBackupLifecycleStateEnum { |
| 177 | + values := make([]AutonomousContainerDatabaseBackupLifecycleStateEnum, 0) |
| 178 | + for _, v := range mappingAutonomousContainerDatabaseBackupLifecycleStateEnum { |
| 179 | + values = append(values, v) |
| 180 | + } |
| 181 | + return values |
| 182 | +} |
| 183 | + |
| 184 | +// GetAutonomousContainerDatabaseBackupLifecycleStateEnumStringValues Enumerates the set of values in String for AutonomousContainerDatabaseBackupLifecycleStateEnum |
| 185 | +func GetAutonomousContainerDatabaseBackupLifecycleStateEnumStringValues() []string { |
| 186 | + return []string{ |
| 187 | + "CREATING", |
| 188 | + "ACTIVE", |
| 189 | + "DELETING", |
| 190 | + "DELETED", |
| 191 | + "FAILED", |
| 192 | + } |
| 193 | +} |
| 194 | + |
| 195 | +// GetMappingAutonomousContainerDatabaseBackupLifecycleStateEnum performs case Insensitive comparison on enum value and return the desired enum |
| 196 | +func GetMappingAutonomousContainerDatabaseBackupLifecycleStateEnum(val string) (AutonomousContainerDatabaseBackupLifecycleStateEnum, bool) { |
| 197 | + enum, ok := mappingAutonomousContainerDatabaseBackupLifecycleStateEnumLowerCase[strings.ToLower(val)] |
| 198 | + return enum, ok |
| 199 | +} |
| 200 | + |
| 201 | +// AutonomousContainerDatabaseBackupInfrastructureTypeEnum Enum with underlying type: string |
| 202 | +type AutonomousContainerDatabaseBackupInfrastructureTypeEnum string |
| 203 | + |
| 204 | +// Set of constants representing the allowable values for AutonomousContainerDatabaseBackupInfrastructureTypeEnum |
| 205 | +const ( |
| 206 | + AutonomousContainerDatabaseBackupInfrastructureTypeCloud AutonomousContainerDatabaseBackupInfrastructureTypeEnum = "CLOUD" |
| 207 | + AutonomousContainerDatabaseBackupInfrastructureTypeCloudAtCustomer AutonomousContainerDatabaseBackupInfrastructureTypeEnum = "CLOUD_AT_CUSTOMER" |
| 208 | +) |
| 209 | + |
| 210 | +var mappingAutonomousContainerDatabaseBackupInfrastructureTypeEnum = map[string]AutonomousContainerDatabaseBackupInfrastructureTypeEnum{ |
| 211 | + "CLOUD": AutonomousContainerDatabaseBackupInfrastructureTypeCloud, |
| 212 | + "CLOUD_AT_CUSTOMER": AutonomousContainerDatabaseBackupInfrastructureTypeCloudAtCustomer, |
| 213 | +} |
| 214 | + |
| 215 | +var mappingAutonomousContainerDatabaseBackupInfrastructureTypeEnumLowerCase = map[string]AutonomousContainerDatabaseBackupInfrastructureTypeEnum{ |
| 216 | + "cloud": AutonomousContainerDatabaseBackupInfrastructureTypeCloud, |
| 217 | + "cloud_at_customer": AutonomousContainerDatabaseBackupInfrastructureTypeCloudAtCustomer, |
| 218 | +} |
| 219 | + |
| 220 | +// GetAutonomousContainerDatabaseBackupInfrastructureTypeEnumValues Enumerates the set of values for AutonomousContainerDatabaseBackupInfrastructureTypeEnum |
| 221 | +func GetAutonomousContainerDatabaseBackupInfrastructureTypeEnumValues() []AutonomousContainerDatabaseBackupInfrastructureTypeEnum { |
| 222 | + values := make([]AutonomousContainerDatabaseBackupInfrastructureTypeEnum, 0) |
| 223 | + for _, v := range mappingAutonomousContainerDatabaseBackupInfrastructureTypeEnum { |
| 224 | + values = append(values, v) |
| 225 | + } |
| 226 | + return values |
| 227 | +} |
| 228 | + |
| 229 | +// GetAutonomousContainerDatabaseBackupInfrastructureTypeEnumStringValues Enumerates the set of values in String for AutonomousContainerDatabaseBackupInfrastructureTypeEnum |
| 230 | +func GetAutonomousContainerDatabaseBackupInfrastructureTypeEnumStringValues() []string { |
| 231 | + return []string{ |
| 232 | + "CLOUD", |
| 233 | + "CLOUD_AT_CUSTOMER", |
| 234 | + } |
| 235 | +} |
| 236 | + |
| 237 | +// GetMappingAutonomousContainerDatabaseBackupInfrastructureTypeEnum performs case Insensitive comparison on enum value and return the desired enum |
| 238 | +func GetMappingAutonomousContainerDatabaseBackupInfrastructureTypeEnum(val string) (AutonomousContainerDatabaseBackupInfrastructureTypeEnum, bool) { |
| 239 | + enum, ok := mappingAutonomousContainerDatabaseBackupInfrastructureTypeEnumLowerCase[strings.ToLower(val)] |
| 240 | + return enum, ok |
| 241 | +} |
0 commit comments