/
zz_applicationinsightsanalyticsitem_types.go
executable file
·180 lines (139 loc) · 10.3 KB
/
zz_applicationinsightsanalyticsitem_types.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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
// SPDX-FileCopyrightText: 2024 The Crossplane Authors <https://crossplane.io>
//
// SPDX-License-Identifier: Apache-2.0
// Code generated by upjet. DO NOT EDIT.
package v1beta1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
v1 "github.com/crossplane/crossplane-runtime/apis/common/v1"
)
type ApplicationInsightsAnalyticsItemInitParameters struct {
// The ID of the Application Insights component on which the Analytics Item exists. Changing this forces a new resource to be created.
// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta1.ApplicationInsights
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
ApplicationInsightsID *string `json:"applicationInsightsId,omitempty" tf:"application_insights_id,omitempty"`
// Reference to a ApplicationInsights in insights to populate applicationInsightsId.
// +kubebuilder:validation:Optional
ApplicationInsightsIDRef *v1.Reference `json:"applicationInsightsIdRef,omitempty" tf:"-"`
// Selector for a ApplicationInsights in insights to populate applicationInsightsId.
// +kubebuilder:validation:Optional
ApplicationInsightsIDSelector *v1.Selector `json:"applicationInsightsIdSelector,omitempty" tf:"-"`
// The content for the Analytics Item, for example the query text if type is query.
Content *string `json:"content,omitempty" tf:"content,omitempty"`
// The alias to use for the function. Required when type is function.
FunctionAlias *string `json:"functionAlias,omitempty" tf:"function_alias,omitempty"`
// Specifies the name of the Application Insights Analytics Item. Changing this forces a new resource to be created.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// The scope for the Analytics Item. Can be shared or user. Changing this forces a new resource to be created. Must be shared for functions.
Scope *string `json:"scope,omitempty" tf:"scope,omitempty"`
// The type of Analytics Item to create. Can be one of query, function, folder, recent. Changing this forces a new resource to be created.
Type *string `json:"type,omitempty" tf:"type,omitempty"`
}
type ApplicationInsightsAnalyticsItemObservation struct {
// The ID of the Application Insights component on which the Analytics Item exists. Changing this forces a new resource to be created.
ApplicationInsightsID *string `json:"applicationInsightsId,omitempty" tf:"application_insights_id,omitempty"`
// The content for the Analytics Item, for example the query text if type is query.
Content *string `json:"content,omitempty" tf:"content,omitempty"`
// The alias to use for the function. Required when type is function.
FunctionAlias *string `json:"functionAlias,omitempty" tf:"function_alias,omitempty"`
// The ID of the Application Insights Analytics Item.
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// Specifies the name of the Application Insights Analytics Item. Changing this forces a new resource to be created.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// The scope for the Analytics Item. Can be shared or user. Changing this forces a new resource to be created. Must be shared for functions.
Scope *string `json:"scope,omitempty" tf:"scope,omitempty"`
// A string containing the time the Analytics Item was created.
TimeCreated *string `json:"timeCreated,omitempty" tf:"time_created,omitempty"`
// A string containing the time the Analytics Item was last modified.
TimeModified *string `json:"timeModified,omitempty" tf:"time_modified,omitempty"`
// The type of Analytics Item to create. Can be one of query, function, folder, recent. Changing this forces a new resource to be created.
Type *string `json:"type,omitempty" tf:"type,omitempty"`
// A string indicating the version of the query format
Version *string `json:"version,omitempty" tf:"version,omitempty"`
}
type ApplicationInsightsAnalyticsItemParameters struct {
// The ID of the Application Insights component on which the Analytics Item exists. Changing this forces a new resource to be created.
// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/insights/v1beta1.ApplicationInsights
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
// +kubebuilder:validation:Optional
ApplicationInsightsID *string `json:"applicationInsightsId,omitempty" tf:"application_insights_id,omitempty"`
// Reference to a ApplicationInsights in insights to populate applicationInsightsId.
// +kubebuilder:validation:Optional
ApplicationInsightsIDRef *v1.Reference `json:"applicationInsightsIdRef,omitempty" tf:"-"`
// Selector for a ApplicationInsights in insights to populate applicationInsightsId.
// +kubebuilder:validation:Optional
ApplicationInsightsIDSelector *v1.Selector `json:"applicationInsightsIdSelector,omitempty" tf:"-"`
// The content for the Analytics Item, for example the query text if type is query.
// +kubebuilder:validation:Optional
Content *string `json:"content,omitempty" tf:"content,omitempty"`
// The alias to use for the function. Required when type is function.
// +kubebuilder:validation:Optional
FunctionAlias *string `json:"functionAlias,omitempty" tf:"function_alias,omitempty"`
// Specifies the name of the Application Insights Analytics Item. Changing this forces a new resource to be created.
// +kubebuilder:validation:Optional
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// The scope for the Analytics Item. Can be shared or user. Changing this forces a new resource to be created. Must be shared for functions.
// +kubebuilder:validation:Optional
Scope *string `json:"scope,omitempty" tf:"scope,omitempty"`
// The type of Analytics Item to create. Can be one of query, function, folder, recent. Changing this forces a new resource to be created.
// +kubebuilder:validation:Optional
Type *string `json:"type,omitempty" tf:"type,omitempty"`
}
// ApplicationInsightsAnalyticsItemSpec defines the desired state of ApplicationInsightsAnalyticsItem
type ApplicationInsightsAnalyticsItemSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider ApplicationInsightsAnalyticsItemParameters `json:"forProvider"`
// THIS IS A BETA FIELD. It will be honored
// unless the Management Policies feature flag is disabled.
// InitProvider holds the same fields as ForProvider, with the exception
// of Identifier and other resource reference fields. The fields that are
// in InitProvider are merged into ForProvider when the resource is created.
// The same fields are also added to the terraform ignore_changes hook, to
// avoid updating them after creation. This is useful for fields that are
// required on creation, but we do not desire to update them after creation,
// for example because of an external controller is managing them, like an
// autoscaler.
InitProvider ApplicationInsightsAnalyticsItemInitParameters `json:"initProvider,omitempty"`
}
// ApplicationInsightsAnalyticsItemStatus defines the observed state of ApplicationInsightsAnalyticsItem.
type ApplicationInsightsAnalyticsItemStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider ApplicationInsightsAnalyticsItemObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:storageversion
// ApplicationInsightsAnalyticsItem is the Schema for the ApplicationInsightsAnalyticsItems API. Manages an Application Insights Analytics Item component.
// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status"
// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status"
// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name"
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}
type ApplicationInsightsAnalyticsItem struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.content) || (has(self.initProvider) && has(self.initProvider.content))",message="spec.forProvider.content is a required parameter"
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.scope) || (has(self.initProvider) && has(self.initProvider.scope))",message="spec.forProvider.scope is a required parameter"
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.type) || (has(self.initProvider) && has(self.initProvider.type))",message="spec.forProvider.type is a required parameter"
Spec ApplicationInsightsAnalyticsItemSpec `json:"spec"`
Status ApplicationInsightsAnalyticsItemStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// ApplicationInsightsAnalyticsItemList contains a list of ApplicationInsightsAnalyticsItems
type ApplicationInsightsAnalyticsItemList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ApplicationInsightsAnalyticsItem `json:"items"`
}
// Repository type metadata.
var (
ApplicationInsightsAnalyticsItem_Kind = "ApplicationInsightsAnalyticsItem"
ApplicationInsightsAnalyticsItem_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ApplicationInsightsAnalyticsItem_Kind}.String()
ApplicationInsightsAnalyticsItem_KindAPIVersion = ApplicationInsightsAnalyticsItem_Kind + "." + CRDGroupVersion.String()
ApplicationInsightsAnalyticsItem_GroupVersionKind = CRDGroupVersion.WithKind(ApplicationInsightsAnalyticsItem_Kind)
)
func init() {
SchemeBuilder.Register(&ApplicationInsightsAnalyticsItem{}, &ApplicationInsightsAnalyticsItemList{})
}