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// LogAnalytics API
6//
7// The LogAnalytics API for the LogAnalytics service.
8//
9
10package loganalytics
11
12import (
13	"github.com/oracle/oci-go-sdk/common"
14)
15
16// LogAnalyticsEntity Description of a log analytics entity.
17type LogAnalyticsEntity struct {
18
19	// The log analytics entity OCID. This ID is a reference used by log analytics features and it represents
20	// a resource that is provisioned and managed by the customer on their premises or on the cloud.
21	Id *string `mandatory:"true" json:"id"`
22
23	// Log analytics entity name. The name must be unique, within the tenancy, and cannot be changed.
24	Name *string `mandatory:"true" json:"name"`
25
26	// Compartment Identifier OCID  (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
27	CompartmentId *string `mandatory:"true" json:"compartmentId"`
28
29	// Log analytics entity type name.
30	EntityTypeName *string `mandatory:"true" json:"entityTypeName"`
31
32	// Internal name for the log analytics entity type.
33	EntityTypeInternalName *string `mandatory:"true" json:"entityTypeInternalName"`
34
35	// The current state of the log analytics entity.
36	LifecycleState EntityLifecycleStatesEnum `mandatory:"true" json:"lifecycleState"`
37
38	// lifecycleDetails has additional information regarding substeps such as management agent plugin deployment.
39	LifecycleDetails *string `mandatory:"true" json:"lifecycleDetails"`
40
41	// The date and time the resource was created, in the format defined by RFC3339.
42	TimeCreated *common.SDKTime `mandatory:"true" json:"timeCreated"`
43
44	// The date and time the resource was last updated, in the format defined by RFC3339.
45	TimeUpdated *common.SDKTime `mandatory:"true" json:"timeUpdated"`
46
47	// The OCID of the Management Agent.
48	ManagementAgentId *string `mandatory:"false" json:"managementAgentId"`
49
50	// Management agent (management-agents resource kind) display name
51	ManagementAgentDisplayName *string `mandatory:"false" json:"managementAgentDisplayName"`
52
53	// Management agent (management-agents resource kind) compartment OCID
54	ManagementAgentCompartmentId *string `mandatory:"false" json:"managementAgentCompartmentId"`
55
56	// The timezone region of the log analytics entity.
57	TimezoneRegion *string `mandatory:"false" json:"timezoneRegion"`
58
59	// The name/value pairs for parameter values to be used in file patterns specified in log sources.
60	Properties map[string]string `mandatory:"false" json:"properties"`
61
62	// The Boolean flag to indicate if logs are collected for an entity for log analytics usage.
63	AreLogsCollected *bool `mandatory:"false" json:"areLogsCollected"`
64
65	// The OCID of the Cloud resource which this entity is a representation of. This may be blank when the entity
66	// represents a non-cloud resource that the customer may have on their premises.
67	CloudResourceId *string `mandatory:"false" json:"cloudResourceId"`
68
69	// The hostname where the entity represented here is actually present. This would be the output one would get if
70	// they run `echo $HOSTNAME` on Linux or an equivalent OS command. This may be different from
71	// management agents host since logs may be collected remotely.
72	Hostname *string `mandatory:"false" json:"hostname"`
73
74	// This indicates the type of source. It is primarily for Enterprise Manager Repository ID.
75	SourceId *string `mandatory:"false" json:"sourceId"`
76
77	// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
78	// Example: `{"bar-key": "value"}`
79	FreeformTags map[string]string `mandatory:"false" json:"freeformTags"`
80
81	// Defined tags for this resource. Each key is predefined and scoped to a namespace.
82	// Example: `{"foo-namespace": {"bar-key": "value"}}`
83	DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"`
84}
85
86func (m LogAnalyticsEntity) String() string {
87	return common.PointerString(m)
88}
89