File: types.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.24.1-2~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 554,032 kB
  • sloc: java: 15,941; makefile: 419; sh: 175
file content (433 lines) | stat: -rw-r--r-- 13,175 bytes parent folder | download
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
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

import (
	smithydocument "github.com/aws/smithy-go/document"
	"time"
)

// Describes a standalone resource or similarly grouped resources that the
// application is made up of.
type ApplicationComponent struct {

	// The name of the component.
	ComponentName *string

	// If logging is supported for the resource type, indicates whether the component
	// has configured logs to be monitored.
	ComponentRemarks *string

	// Workloads detected in the application component.
	DetectedWorkload map[string]map[string]string

	// Indicates whether the application component is monitored.
	Monitor *bool

	// The operating system of the component.
	OsType OsType

	// The resource type. Supported resource types include EC2 instances, Auto Scaling
	// group, Classic ELB, Application ELB, and SQS Queue.
	ResourceType *string

	// The stack tier of the application component.
	Tier Tier

	noSmithyDocumentSerde
}

// Describes the status of the application.
type ApplicationInfo struct {

	// The AWS account ID for the owner of the application.
	AccountId *string

	// If set to true, the managed policies for SSM and CW will be attached to the
	// instance roles if they are missing.
	AttachMissingPermission *bool

	// Indicates whether auto-configuration is turned on for this application.
	AutoConfigEnabled *bool

	// Indicates whether Application Insights can listen to CloudWatch events for the
	// application resources, such as instance terminated , failed deployment , and
	// others.
	CWEMonitorEnabled *bool

	// The method used by Application Insights to onboard your resources.
	DiscoveryType DiscoveryType

	// The lifecycle of the application.
	LifeCycle *string

	// Indicates whether Application Insights will create opsItems for any problem
	// detected by Application Insights for an application.
	OpsCenterEnabled *bool

	// The SNS topic provided to Application Insights that is associated to the
	// created opsItems to receive SNS notifications for opsItem updates.
	OpsItemSNSTopicArn *string

	// The issues on the user side that block Application Insights from successfully
	// monitoring an application. Example remarks include:
	//   - “Configuring application, detected 1 Errors, 3 Warnings”
	//   - “Configuring application, detected 1 Unconfigured Components”
	Remarks *string

	// The name of the resource group used for the application.
	ResourceGroupName *string

	noSmithyDocumentSerde
}

// The event information.
type ConfigurationEvent struct {

	// The AWS account ID for the owner of the application to which the configuration
	// event belongs.
	AccountId *string

	// The details of the event in plain text.
	EventDetail *string

	// The name of the resource Application Insights attempted to configure.
	EventResourceName *string

	// The resource type that Application Insights attempted to configure, for
	// example, CLOUDWATCH_ALARM.
	EventResourceType ConfigurationEventResourceType

	// The status of the configuration update event. Possible values include INFO,
	// WARN, and ERROR.
	EventStatus ConfigurationEventStatus

	// The timestamp of the event.
	EventTime *time.Time

	// The resource monitored by Application Insights.
	MonitoredResourceARN *string

	// The name of the resource group of the application to which the configuration
	// event belongs.
	ResourceGroupName *string

	noSmithyDocumentSerde
}

// An object that defines the log patterns that belongs to a LogPatternSet .
type LogPattern struct {

	// A regular expression that defines the log pattern. A log pattern can contain as
	// many as 50 characters, and it cannot be empty. The pattern must be DFA
	// compatible. Patterns that utilize forward lookahead or backreference
	// constructions are not supported.
	Pattern *string

	// The name of the log pattern. A log pattern name can contain as many as 50
	// characters, and it cannot be empty. The characters can be Unicode letters,
	// digits, or one of the following symbols: period, dash, underscore.
	PatternName *string

	// The name of the log pattern. A log pattern name can contain as many as 30
	// characters, and it cannot be empty. The characters can be Unicode letters,
	// digits, or one of the following symbols: period, dash, underscore.
	PatternSetName *string

	// Rank of the log pattern. Must be a value between 1 and 1,000,000 . The patterns
	// are sorted by rank, so we recommend that you set your highest priority patterns
	// with the lowest rank. A pattern of rank 1 will be the first to get matched to a
	// log line. A pattern of rank 1,000,000 will be last to get matched. When you
	// configure custom log patterns from the console, a Low severity pattern
	// translates to a 750,000 rank. A Medium severity pattern translates to a 500,000
	// rank. And a High severity pattern translates to a 250,000 rank. Rank values
	// less than 1 or greater than 1,000,000 are reserved for AWS-provided patterns.
	Rank int32

	noSmithyDocumentSerde
}

// Describes an anomaly or error with the application.
type Observation struct {

	// The detail type of the CloudWatch Event-based observation, for example, EC2
	// Instance State-change Notification .
	CloudWatchEventDetailType *string

	// The ID of the CloudWatch Event-based observation related to the detected
	// problem.
	CloudWatchEventId *string

	// The source of the CloudWatch Event.
	CloudWatchEventSource CloudWatchEventSource

	// The CodeDeploy application to which the deployment belongs.
	CodeDeployApplication *string

	// The deployment group to which the CodeDeploy deployment belongs.
	CodeDeployDeploymentGroup *string

	// The deployment ID of the CodeDeploy-based observation related to the detected
	// problem.
	CodeDeployDeploymentId *string

	// The instance group to which the CodeDeploy instance belongs.
	CodeDeployInstanceGroupId *string

	// The status of the CodeDeploy deployment, for example SUCCESS or  FAILURE .
	CodeDeployState *string

	// The cause of an EBS CloudWatch event.
	EbsCause *string

	// The type of EBS CloudWatch event, such as createVolume , deleteVolume or
	// attachVolume .
	EbsEvent *string

	// The request ID of an EBS CloudWatch event.
	EbsRequestId *string

	// The result of an EBS CloudWatch event, such as failed or succeeded .
	EbsResult *string

	// The state of the instance, such as STOPPING or TERMINATING .
	Ec2State *string

	// The time when the observation ended, in epoch seconds.
	EndTime *time.Time

	// The Amazon Resource Name (ARN) of the AWS Health Event-based observation.
	HealthEventArn *string

	// The description of the AWS Health event provided by the service, such as Amazon
	// EC2.
	HealthEventDescription *string

	// The category of the AWS Health event, such as issue .
	HealthEventTypeCategory *string

	// The type of the AWS Health event, for example, AWS_EC2_POWER_CONNECTIVITY_ISSUE .
	HealthEventTypeCode *string

	// The service to which the AWS Health Event belongs, such as EC2.
	HealthService *string

	// The ID of the observation type.
	Id *string

	// The timestamp in the CloudWatch Logs that specifies when the matched line
	// occurred.
	LineTime *time.Time

	// The log filter of the observation.
	LogFilter LogFilter

	// The log group name.
	LogGroup *string

	// The log text of the observation.
	LogText *string

	// The name of the observation metric.
	MetricName *string

	// The namespace of the observation metric.
	MetricNamespace *string

	// The category of an RDS event.
	RdsEventCategories *string

	// The message of an RDS event.
	RdsEventMessage *string

	// The name of the S3 CloudWatch Event-based observation.
	S3EventName *string

	// The source resource ARN of the observation.
	SourceARN *string

	// The source type of the observation.
	SourceType *string

	// The time when the observation was first detected, in epoch seconds.
	StartTime *time.Time

	// The Amazon Resource Name (ARN) of the step function-based observation.
	StatesArn *string

	// The Amazon Resource Name (ARN) of the step function execution-based observation.
	StatesExecutionArn *string

	// The input to the step function-based observation.
	StatesInput *string

	// The status of the step function-related observation.
	StatesStatus *string

	// The unit of the source observation metric.
	Unit *string

	// The value of the source observation metric.
	Value *float64

	// The X-Ray request error percentage for this node.
	XRayErrorPercent *int32

	// The X-Ray request fault percentage for this node.
	XRayFaultPercent *int32

	// The name of the X-Ray node.
	XRayNodeName *string

	// The type of the X-Ray node.
	XRayNodeType *string

	// The X-Ray node request average latency for this node.
	XRayRequestAverageLatency *int64

	// The X-Ray request count for this node.
	XRayRequestCount *int32

	// The X-Ray request throttle percentage for this node.
	XRayThrottlePercent *int32

	noSmithyDocumentSerde
}

// Describes a problem that is detected by correlating observations.
type Problem struct {

	// The AWS account ID for the owner of the resource group affected by the problem.
	AccountId *string

	// The resource affected by the problem.
	AffectedResource *string

	// The time when the problem ended, in epoch seconds.
	EndTime *time.Time

	// Feedback provided by the user about the problem.
	Feedback map[string]FeedbackValue

	// The ID of the problem.
	Id *string

	// A detailed analysis of the problem using machine learning.
	Insights *string

	// The last time that the problem reoccurred after its last resolution.
	LastRecurrenceTime *time.Time

	// The number of times that the same problem reoccurred after the first time it
	// was resolved.
	RecurringCount *int64

	// Specifies how the problem was resolved. If the value is AUTOMATIC , the system
	// resolved the problem. If the value is MANUAL , the user resolved the problem. If
	// the value is UNRESOLVED , then the problem is not resolved.
	ResolutionMethod ResolutionMethod

	// The name of the resource group affected by the problem.
	ResourceGroupName *string

	// A measure of the level of impact of the problem.
	SeverityLevel SeverityLevel

	// The time when the problem started, in epoch seconds.
	StartTime *time.Time

	// The status of the problem.
	Status Status

	// The name of the problem.
	Title *string

	// Specifies whether or not you can view the problem. Updates to ignored problems
	// do not generate notifications.
	Visibility Visibility

	noSmithyDocumentSerde
}

// Describes observations related to the problem.
type RelatedObservations struct {

	// The list of observations related to the problem.
	ObservationList []Observation

	noSmithyDocumentSerde
}

// An object that defines the tags associated with an application. A tag is a
// label that you optionally define and associate with an application. Tags can
// help you categorize and manage resources in different ways, such as by purpose,
// owner, environment, or other criteria. Each tag consists of a required tag key
// and an associated tag value, both of which you define. A tag key is a general
// label that acts as a category for a more specific tag value. A tag value acts as
// a descriptor within a tag key. A tag key can contain as many as 128 characters.
// A tag value can contain as many as 256 characters. The characters can be Unicode
// letters, digits, white space, or one of the following symbols: _ . : / = + -.
// The following additional restrictions apply to tags:
//   - Tag keys and values are case sensitive.
//   - For each associated resource, each tag key must be unique and it can have
//     only one value.
//   - The aws: prefix is reserved for use by AWS; you can’t use it in any tag keys
//     or values that you define. In addition, you can't edit or remove tag keys or
//     values that use this prefix.
type Tag struct {

	// One part of a key-value pair that defines a tag. The maximum length of a tag
	// key is 128 characters. The minimum length is 1 character.
	//
	// This member is required.
	Key *string

	// The optional part of a key-value pair that defines a tag. The maximum length of
	// a tag value is 256 characters. The minimum length is 0 characters. If you don't
	// want an application to have a specific tag value, don't specify a value for this
	// parameter.
	//
	// This member is required.
	Value *string

	noSmithyDocumentSerde
}

// Describes the workloads on a component.
type Workload struct {

	// The name of the component.
	ComponentName *string

	// The tier of the workload.
	Tier Tier

	// The ID of the workload.
	WorkloadId *string

	// The name of the workload.
	WorkloadName *string

	// If logging is supported for the resource type, shows whether the component has
	// configured logs to be monitored.
	WorkloadRemarks *string

	noSmithyDocumentSerde
}

// The configuration of the workload.
type WorkloadConfiguration struct {

	// The configuration settings of the workload.
	Configuration *string

	// The configuration of the workload tier.
	Tier Tier

	// The name of the workload.
	WorkloadName *string

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde