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