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// CreateDedicatedVmHostDetails The details for creating a new dedicated virtual machine host.
21type CreateDedicatedVmHostDetails struct {
22
23	// The availability domain of the dedicated virtual machine host.
24	// Example: `Uocm:PHX-AD-1`
25	AvailabilityDomain *string `mandatory:"true" json:"availabilityDomain"`
26
27	// The OCID of the compartment.
28	CompartmentId *string `mandatory:"true" json:"compartmentId"`
29
30	// The dedicated virtual machine host shape. The shape determines the number of CPUs and
31	// other resources available for VM instances launched on the dedicated virtual machine host.
32	DedicatedVmHostShape *string `mandatory:"true" json:"dedicatedVmHostShape"`
33
34	// Defined tags for this resource. Each key is predefined and scoped to a
35	// namespace. For more information, see Resource Tags (https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
36	// Example: `{"Operations": {"CostCenter": "42"}}`
37	DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"`
38
39	// A user-friendly name. Does not have to be unique, and it's changeable.
40	// Avoid entering confidential information.
41	// Example: `My dedicated VM host`
42	DisplayName *string `mandatory:"false" json:"displayName"`
43
44	// The fault domain for the dedicated virtual machine host's assigned instances.
45	// For more information, see Fault Domains (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/regions.htm#fault).
46	// If you do not specify the fault domain, the system selects one for you. To change the fault domain for a dedicated virtual machine host,
47	// delete it and create a new dedicated virtual machine host in the preferred fault domain.
48	// To get a list of fault domains, use the `ListFaultDomains` operation in
49	// the Identity and Access Management Service API (https://docs.cloud.oracle.com/iaas/api/#/en/identity/20160918/).
50	// Example: `FAULT-DOMAIN-1`
51	FaultDomain *string `mandatory:"false" json:"faultDomain"`
52
53	// Free-form tags for this resource. Each tag is a simple key-value pair with no
54	// predefined name, type, or namespace. For more information, see Resource Tags (https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
55	// Example: `{"Department": "Finance"}`
56	FreeformTags map[string]string `mandatory:"false" json:"freeformTags"`
57}
58
59func (m CreateDedicatedVmHostDetails) String() string {
60	return common.PointerString(m)
61}
62