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// Core Services API 6// 7// API covering the Networking (https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/overview.htm), 8// Compute (https://docs.cloud.oracle.com/iaas/Content/Compute/Concepts/computeoverview.htm), and 9// Block Volume (https://docs.cloud.oracle.com/iaas/Content/Block/Concepts/overview.htm) services. Use this API 10// to manage resources such as virtual cloud networks (VCNs), compute instances, and 11// block storage volumes. 12// 13 14package core 15 16import ( 17 "github.com/oracle/oci-go-sdk/common" 18) 19 20// Shape A compute instance shape that can be used in LaunchInstance. 21// For more information, see Overview of the Compute Service (https://docs.cloud.oracle.com/Content/Compute/Concepts/computeoverview.htm) and 22// Compute Shapes (https://docs.cloud.oracle.com/Content/Compute/References/computeshapes.htm). 23type Shape struct { 24 25 // The name of the shape. You can enumerate all available shapes by calling 26 // ListShapes. 27 Shape *string `mandatory:"true" json:"shape"` 28 29 // A short description of the shape's processor (CPU). 30 ProcessorDescription *string `mandatory:"false" json:"processorDescription"` 31 32 // The default number of OCPUs available for this shape. 33 Ocpus *float32 `mandatory:"false" json:"ocpus"` 34 35 // The default amount of memory available for this shape, in gigabytes. 36 MemoryInGBs *float32 `mandatory:"false" json:"memoryInGBs"` 37 38 // The networking bandwidth available for this shape, in gigabits per second. 39 NetworkingBandwidthInGbps *float32 `mandatory:"false" json:"networkingBandwidthInGbps"` 40 41 // The maximum number of VNIC attachments available for this shape. 42 MaxVnicAttachments *int `mandatory:"false" json:"maxVnicAttachments"` 43 44 // The number of GPUs available for this shape. 45 Gpus *int `mandatory:"false" json:"gpus"` 46 47 // A short description of the graphics processing unit (GPU) available for this shape. 48 // If the shape does not have any GPUs, this field is `null`. 49 GpuDescription *string `mandatory:"false" json:"gpuDescription"` 50 51 // The number of local disks available for this shape. 52 LocalDisks *int `mandatory:"false" json:"localDisks"` 53 54 // The aggregate size of the local disks available for this shape, in gigabytes. 55 // If the shape does not have any local disks, this field is `null`. 56 LocalDisksTotalSizeInGBs *float32 `mandatory:"false" json:"localDisksTotalSizeInGBs"` 57 58 // A short description of the local disks available for this shape. 59 // If the shape does not have any local disks, this field is `null`. 60 LocalDiskDescription *string `mandatory:"false" json:"localDiskDescription"` 61 62 OcpuOptions *ShapeOcpuOptions `mandatory:"false" json:"ocpuOptions"` 63 64 MemoryOptions *ShapeMemoryOptions `mandatory:"false" json:"memoryOptions"` 65 66 NetworkingBandwidthOptions *ShapeNetworkingBandwidthOptions `mandatory:"false" json:"networkingBandwidthOptions"` 67 68 MaxVnicAttachmentOptions *ShapeMaxVnicAttachmentOptions `mandatory:"false" json:"maxVnicAttachmentOptions"` 69} 70 71func (m Shape) String() string { 72 return common.PointerString(m) 73} 74