-
Notifications
You must be signed in to change notification settings - Fork 82
/
management_agent.go
127 lines (96 loc) · 6.08 KB
/
management_agent.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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
// Copyright (c) 2016, 2018, 2022, 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.
// Management Agent API
//
// Use the Management Agent API to manage your infrastructure's management agents, including their plugins and install keys.
// For more information, see Management Agent (https://docs.cloud.oracle.com/iaas/management-agents/index.html).
//
package managementagent
import (
"fmt"
"github.com/oracle/oci-go-sdk/v65/common"
"strings"
)
// ManagementAgent The details of the Management Agent inventory including the associated plugins.
type ManagementAgent struct {
// agent identifier
Id *string `mandatory:"true" json:"id"`
// Management Agent Version
Version *string `mandatory:"true" json:"version"`
// Compartment Identifier
CompartmentId *string `mandatory:"true" json:"compartmentId"`
// agent install key identifier
InstallKeyId *string `mandatory:"false" json:"installKeyId"`
// Management Agent Name
DisplayName *string `mandatory:"false" json:"displayName"`
// Platform Type
PlatformType PlatformTypesEnum `mandatory:"false" json:"platformType,omitempty"`
// Platform Name
PlatformName *string `mandatory:"false" json:"platformName"`
// Platform Version
PlatformVersion *string `mandatory:"false" json:"platformVersion"`
// Version of the deployment artifact instantiated by this Management Agent.
// The format for Standalone resourceMode is YYMMDD.HHMM, and the format for other modes
// (whose artifacts are based upon Standalone but can advance independently)
// is YYMMDD.HHMM.VVVVVVVVVVVV.
// VVVVVVVVVVVV is always a numeric value between 000000000000 and 999999999999
ResourceArtifactVersion *string `mandatory:"false" json:"resourceArtifactVersion"`
// Management Agent host machine name
Host *string `mandatory:"false" json:"host"`
// Host resource ocid
HostId *string `mandatory:"false" json:"hostId"`
// Path where Management Agent is installed
InstallPath *string `mandatory:"false" json:"installPath"`
// list of managementAgentPlugins associated with the agent
PluginList []ManagementAgentPluginDetails `mandatory:"false" json:"pluginList"`
// true if the agent can be upgraded automatically; false if it must be upgraded manually. This flag is derived from the tenancy level auto upgrade preference.
IsAgentAutoUpgradable *bool `mandatory:"false" json:"isAgentAutoUpgradable"`
// The time the Management Agent was created. An RFC3339 formatted datetime string
TimeCreated *common.SDKTime `mandatory:"false" json:"timeCreated"`
// The time the Management Agent was updated. An RFC3339 formatted datetime string
TimeUpdated *common.SDKTime `mandatory:"false" json:"timeUpdated"`
// The time the Management Agent has last recorded its health status in telemetry. This value will be null if the agent has not recorded its health status in last 7 days. An RFC3339 formatted datetime string
TimeLastHeartbeat *common.SDKTime `mandatory:"false" json:"timeLastHeartbeat"`
// The current availability status of managementAgent
AvailabilityStatus AvailabilityStatusEnum `mandatory:"false" json:"availabilityStatus,omitempty"`
// The current state of managementAgent
LifecycleState LifecycleStatesEnum `mandatory:"false" json:"lifecycleState,omitempty"`
// A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in Failed state.
LifecycleDetails *string `mandatory:"false" json:"lifecycleDetails"`
// true, if the agent image is manually downloaded and installed. false, if the agent is deployed as a plugin in Oracle Cloud Agent.
IsCustomerDeployed *bool `mandatory:"false" json:"isCustomerDeployed"`
// The install type, either AGENT or GATEWAY
InstallType InstallTypesEnum `mandatory:"false" json:"installType,omitempty"`
// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
// Example: `{"bar-key": "value"}`
FreeformTags map[string]string `mandatory:"false" json:"freeformTags"`
// Defined tags for this resource. Each key is predefined and scoped to a namespace.
// Example: `{"foo-namespace": {"bar-key": "value"}}`
DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"`
}
func (m ManagementAgent) String() string {
return common.PointerString(m)
}
// ValidateEnumValue returns an error when providing an unsupported enum value
// This function is being called during constructing API request process
// Not recommended for calling this function directly
func (m ManagementAgent) ValidateEnumValue() (bool, error) {
errMessage := []string{}
if _, ok := GetMappingPlatformTypesEnum(string(m.PlatformType)); !ok && m.PlatformType != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for PlatformType: %s. Supported values are: %s.", m.PlatformType, strings.Join(GetPlatformTypesEnumStringValues(), ",")))
}
if _, ok := GetMappingAvailabilityStatusEnum(string(m.AvailabilityStatus)); !ok && m.AvailabilityStatus != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for AvailabilityStatus: %s. Supported values are: %s.", m.AvailabilityStatus, strings.Join(GetAvailabilityStatusEnumStringValues(), ",")))
}
if _, ok := GetMappingLifecycleStatesEnum(string(m.LifecycleState)); !ok && m.LifecycleState != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for LifecycleState: %s. Supported values are: %s.", m.LifecycleState, strings.Join(GetLifecycleStatesEnumStringValues(), ",")))
}
if _, ok := GetMappingInstallTypesEnum(string(m.InstallType)); !ok && m.InstallType != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for InstallType: %s. Supported values are: %s.", m.InstallType, strings.Join(GetInstallTypesEnumStringValues(), ",")))
}
if len(errMessage) > 0 {
return true, fmt.Errorf(strings.Join(errMessage, "\n"))
}
return false, nil
}