1// Copyright (c) 2016, 2018, 2020, 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.cloud.oracle.com/iaas/Content/Database/Concepts/databaseoverview.htm).
8//
9
10package database
11
12import (
13	"github.com/oracle/oci-go-sdk/common"
14)
15
16// ExadataIormConfig Response details which has IORM Settings for this Exadata System
17type ExadataIormConfig struct {
18
19	// The current config state of IORM settings for this Exadata System.
20	LifecycleState ExadataIormConfigLifecycleStateEnum `mandatory:"false" json:"lifecycleState,omitempty"`
21
22	// Additional information about the current lifecycleState.
23	LifecycleDetails *string `mandatory:"false" json:"lifecycleDetails"`
24
25	// Value for the IORM objective
26	// Default is "Auto"
27	Objective ExadataIormConfigObjectiveEnum `mandatory:"false" json:"objective,omitempty"`
28
29	// Array of IORM Setting for all the database in
30	// this Exadata DB System
31	DbPlans []DbIormConfig `mandatory:"false" json:"dbPlans"`
32}
33
34func (m ExadataIormConfig) String() string {
35	return common.PointerString(m)
36}
37
38// ExadataIormConfigLifecycleStateEnum Enum with underlying type: string
39type ExadataIormConfigLifecycleStateEnum string
40
41// Set of constants representing the allowable values for ExadataIormConfigLifecycleStateEnum
42const (
43	ExadataIormConfigLifecycleStateBootstrapping ExadataIormConfigLifecycleStateEnum = "BOOTSTRAPPING"
44	ExadataIormConfigLifecycleStateEnabled       ExadataIormConfigLifecycleStateEnum = "ENABLED"
45	ExadataIormConfigLifecycleStateDisabled      ExadataIormConfigLifecycleStateEnum = "DISABLED"
46	ExadataIormConfigLifecycleStateUpdating      ExadataIormConfigLifecycleStateEnum = "UPDATING"
47	ExadataIormConfigLifecycleStateFailed        ExadataIormConfigLifecycleStateEnum = "FAILED"
48)
49
50var mappingExadataIormConfigLifecycleState = map[string]ExadataIormConfigLifecycleStateEnum{
51	"BOOTSTRAPPING": ExadataIormConfigLifecycleStateBootstrapping,
52	"ENABLED":       ExadataIormConfigLifecycleStateEnabled,
53	"DISABLED":      ExadataIormConfigLifecycleStateDisabled,
54	"UPDATING":      ExadataIormConfigLifecycleStateUpdating,
55	"FAILED":        ExadataIormConfigLifecycleStateFailed,
56}
57
58// GetExadataIormConfigLifecycleStateEnumValues Enumerates the set of values for ExadataIormConfigLifecycleStateEnum
59func GetExadataIormConfigLifecycleStateEnumValues() []ExadataIormConfigLifecycleStateEnum {
60	values := make([]ExadataIormConfigLifecycleStateEnum, 0)
61	for _, v := range mappingExadataIormConfigLifecycleState {
62		values = append(values, v)
63	}
64	return values
65}
66
67// ExadataIormConfigObjectiveEnum Enum with underlying type: string
68type ExadataIormConfigObjectiveEnum string
69
70// Set of constants representing the allowable values for ExadataIormConfigObjectiveEnum
71const (
72	ExadataIormConfigObjectiveLowLatency     ExadataIormConfigObjectiveEnum = "LOW_LATENCY"
73	ExadataIormConfigObjectiveHighThroughput ExadataIormConfigObjectiveEnum = "HIGH_THROUGHPUT"
74	ExadataIormConfigObjectiveBalanced       ExadataIormConfigObjectiveEnum = "BALANCED"
75	ExadataIormConfigObjectiveAuto           ExadataIormConfigObjectiveEnum = "AUTO"
76	ExadataIormConfigObjectiveBasic          ExadataIormConfigObjectiveEnum = "BASIC"
77)
78
79var mappingExadataIormConfigObjective = map[string]ExadataIormConfigObjectiveEnum{
80	"LOW_LATENCY":     ExadataIormConfigObjectiveLowLatency,
81	"HIGH_THROUGHPUT": ExadataIormConfigObjectiveHighThroughput,
82	"BALANCED":        ExadataIormConfigObjectiveBalanced,
83	"AUTO":            ExadataIormConfigObjectiveAuto,
84	"BASIC":           ExadataIormConfigObjectiveBasic,
85}
86
87// GetExadataIormConfigObjectiveEnumValues Enumerates the set of values for ExadataIormConfigObjectiveEnum
88func GetExadataIormConfigObjectiveEnumValues() []ExadataIormConfigObjectiveEnum {
89	values := make([]ExadataIormConfigObjectiveEnum, 0)
90	for _, v := range mappingExadataIormConfigObjective {
91		values = append(values, v)
92	}
93	return values
94}
95