-
Notifications
You must be signed in to change notification settings - Fork 80
/
shape.go
110 lines (82 loc) · 5.1 KB
/
shape.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
// Copyright (c) 2016, 2018, 2021, 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.
// Core Services API
//
// API covering the Networking (https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/overview.htm),
// Compute (https://docs.cloud.oracle.com/iaas/Content/Compute/Concepts/computeoverview.htm), and
// Block Volume (https://docs.cloud.oracle.com/iaas/Content/Block/Concepts/overview.htm) services. Use this API
// to manage resources such as virtual cloud networks (VCNs), compute instances, and
// block storage volumes.
//
package core
import (
"github.com/oracle/oci-go-sdk/v47/common"
)
// Shape A compute instance shape that can be used in LaunchInstance.
// For more information, see Overview of the Compute Service (https://docs.cloud.oracle.com/iaas/Content/Compute/Concepts/computeoverview.htm) and
// Compute Shapes (https://docs.cloud.oracle.com/iaas/Content/Compute/References/computeshapes.htm).
type Shape struct {
// The name of the shape. You can enumerate all available shapes by calling
// ListShapes.
Shape *string `mandatory:"true" json:"shape"`
// For a subcore burstable VM, the supported baseline OCPU utilization for instances that use this shape.
BaselineOcpuUtilizations []ShapeBaselineOcpuUtilizationsEnum `mandatory:"false" json:"baselineOcpuUtilizations,omitempty"`
// For a subcore burstable VM, the minimum total baseline OCPUs required. The total baseline OCPUs is equal to
// baselineOcpuUtilization chosen multiplied by the number of OCPUs chosen.
MinTotalBaselineOcpusRequired *float32 `mandatory:"false" json:"minTotalBaselineOcpusRequired"`
// A short description of the shape's processor (CPU).
ProcessorDescription *string `mandatory:"false" json:"processorDescription"`
// The default number of OCPUs available for this shape.
Ocpus *float32 `mandatory:"false" json:"ocpus"`
// The default amount of memory available for this shape, in gigabytes.
MemoryInGBs *float32 `mandatory:"false" json:"memoryInGBs"`
// The networking bandwidth available for this shape, in gigabits per second.
NetworkingBandwidthInGbps *float32 `mandatory:"false" json:"networkingBandwidthInGbps"`
// The maximum number of VNIC attachments available for this shape.
MaxVnicAttachments *int `mandatory:"false" json:"maxVnicAttachments"`
// The number of GPUs available for this shape.
Gpus *int `mandatory:"false" json:"gpus"`
// A short description of the graphics processing unit (GPU) available for this shape.
// If the shape does not have any GPUs, this field is `null`.
GpuDescription *string `mandatory:"false" json:"gpuDescription"`
// The number of local disks available for this shape.
LocalDisks *int `mandatory:"false" json:"localDisks"`
// The aggregate size of the local disks available for this shape, in gigabytes.
// If the shape does not have any local disks, this field is `null`.
LocalDisksTotalSizeInGBs *float32 `mandatory:"false" json:"localDisksTotalSizeInGBs"`
// A short description of the local disks available for this shape.
// If the shape does not have any local disks, this field is `null`.
LocalDiskDescription *string `mandatory:"false" json:"localDiskDescription"`
// Whether live migration is supported for this shape.
IsLiveMigrationSupported *bool `mandatory:"false" json:"isLiveMigrationSupported"`
OcpuOptions *ShapeOcpuOptions `mandatory:"false" json:"ocpuOptions"`
MemoryOptions *ShapeMemoryOptions `mandatory:"false" json:"memoryOptions"`
NetworkingBandwidthOptions *ShapeNetworkingBandwidthOptions `mandatory:"false" json:"networkingBandwidthOptions"`
MaxVnicAttachmentOptions *ShapeMaxVnicAttachmentOptions `mandatory:"false" json:"maxVnicAttachmentOptions"`
PlatformConfigOptions *ShapePlatformConfigOptions `mandatory:"false" json:"platformConfigOptions"`
}
func (m Shape) String() string {
return common.PointerString(m)
}
// ShapeBaselineOcpuUtilizationsEnum Enum with underlying type: string
type ShapeBaselineOcpuUtilizationsEnum string
// Set of constants representing the allowable values for ShapeBaselineOcpuUtilizationsEnum
const (
ShapeBaselineOcpuUtilizations8 ShapeBaselineOcpuUtilizationsEnum = "BASELINE_1_8"
ShapeBaselineOcpuUtilizations2 ShapeBaselineOcpuUtilizationsEnum = "BASELINE_1_2"
ShapeBaselineOcpuUtilizations1 ShapeBaselineOcpuUtilizationsEnum = "BASELINE_1_1"
)
var mappingShapeBaselineOcpuUtilizations = map[string]ShapeBaselineOcpuUtilizationsEnum{
"BASELINE_1_8": ShapeBaselineOcpuUtilizations8,
"BASELINE_1_2": ShapeBaselineOcpuUtilizations2,
"BASELINE_1_1": ShapeBaselineOcpuUtilizations1,
}
// GetShapeBaselineOcpuUtilizationsEnumValues Enumerates the set of values for ShapeBaselineOcpuUtilizationsEnum
func GetShapeBaselineOcpuUtilizationsEnumValues() []ShapeBaselineOcpuUtilizationsEnum {
values := make([]ShapeBaselineOcpuUtilizationsEnum, 0)
for _, v := range mappingShapeBaselineOcpuUtilizations {
values = append(values, v)
}
return values
}