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 (511 lines) | stat: -rw-r--r-- 23,646 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
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

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

// Amazon CloudWatch Internet Monitor calculates measurements about the
// availability for your application's internet traffic between client locations
// and Amazon Web Services. Amazon Web Services has substantial historical data
// about internet performance and availability between Amazon Web Services services
// and different network providers and geographies. By applying statistical
// analysis to the data, Internet Monitor can detect when the performance and
// availability for your application has dropped, compared to an estimated baseline
// that's already calculated. To make it easier to see those drops, we report that
// information to you in the form of health scores: a performance score and an
// availability score. Availability in Internet Monitor represents the estimated
// percentage of traffic that is not seeing an availability drop. For example, an
// availability score of 99% for an end user and service location pair is
// equivalent to 1% of the traffic experiencing an availability drop for that pair.
// For more information, see How Internet Monitor calculates performance and
// availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores)
// in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User
// Guide.
type AvailabilityMeasurement struct {

	// Experience scores, or health scores are calculated for different geographic and
	// network provider combinations (that is, different granularities) and also summed
	// into global scores. If you view performance or availability scores without
	// filtering for any specific geography or service provider, Amazon CloudWatch
	// Internet Monitor provides global health scores. The Amazon CloudWatch Internet
	// Monitor chapter in the CloudWatch User Guide includes detailed information about
	// how Internet Monitor calculates health scores, including performance and
	// availability scores, and when it creates and resolves health events. For more
	// information, see How Amazon Web Services calculates performance and
	// availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores)
	// in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.
	ExperienceScore *float64

	// The percentage of impact caused by a health event for client location traffic
	// globally. For information about how Internet Monitor calculates impact, see
	// Inside Internet Monitor (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html)
	// in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User
	// Guide.
	PercentOfClientLocationImpacted *float64

	// The impact on total traffic that a health event has, in increased latency or
	// reduced availability. This is the percentage of how much latency has increased
	// or availability has decreased during the event, compared to what is typical for
	// traffic from this client location to the Amazon Web Services location using this
	// client network. For information about how Internet Monitor calculates impact,
	// see How Internet Monitor works (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html)
	// in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User
	// Guide.
	PercentOfTotalTrafficImpacted *float64

	noSmithyDocumentSerde
}

// A filter that you use with the results of a Amazon CloudWatch Internet Monitor
// query that you created and ran. The query sets up a repository of data that is a
// subset of your application's Internet Monitor data. FilterParameter is a string
// that defines how you want to filter the repository of data to return a set of
// results, based on your criteria. The filter parameters that you can specify
// depend on the query type that you used to create the repository, since each
// query type returns a different set of Internet Monitor data. For each filter,
// you specify a field (such as city ), an operator (such as not_equals , and a
// value or array of values (such as ["Seattle", "Redmond"] ). Separate values in
// the array with commas. For more information about specifying filter parameters,
// see Using the Amazon CloudWatch Internet Monitor query interface (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-cwim-query.html)
// in the Amazon CloudWatch Internet Monitor User Guide.
type FilterParameter struct {

	// A data field that you want to filter, to further scope your application's
	// Internet Monitor data in a repository that you created by running a query. A
	// field might be city , for example. The field must be one of the fields that was
	// returned by the specific query that you used to create the repository.
	Field *string

	// The operator to use with the filter field and a value, such as not_equals .
	Operator Operator

	// One or more values to be used, together with the specified operator, to filter
	// data for a query. For example, you could specify an array of values such as
	// ["Seattle", "Redmond"] . Values in the array are separated by commas.
	Values []string

	noSmithyDocumentSerde
}

// Information about a health event created in a monitor in Amazon CloudWatch
// Internet Monitor.
type HealthEvent struct {

	// The Amazon Resource Name (ARN) of the event.
	//
	// This member is required.
	EventArn *string

	// The internally-generated identifier of a specific network traffic impairment
	// health event.
	//
	// This member is required.
	EventId *string

	// The type of impairment for a health event.
	//
	// This member is required.
	ImpactType HealthEventImpactType

	// The locations impacted by the health event.
	//
	// This member is required.
	ImpactedLocations []ImpactedLocation

	// When the health event was last updated.
	//
	// This member is required.
	LastUpdatedAt *time.Time

	// When a health event started.
	//
	// This member is required.
	StartedAt *time.Time

	// Health event list member.
	//
	// This member is required.
	Status HealthEventStatus

	// When the health event was created.
	CreatedAt *time.Time

	// The time when a health event ended. If the health event is still active, then
	// the end time is not set.
	EndedAt *time.Time

	// The value of the threshold percentage for performance or availability that was
	// configured when Amazon CloudWatch Internet Monitor created the health event.
	HealthScoreThreshold float64

	// The impact on total traffic that a health event has, in increased latency or
	// reduced availability. This is the percentage of how much latency has increased
	// or availability has decreased during the event, compared to what is typical for
	// traffic from this client location to the Amazon Web Services location using this
	// client network.
	PercentOfTotalTrafficImpacted *float64

	noSmithyDocumentSerde
}

// A complex type with the configuration information that determines the threshold
// and other conditions for when Internet Monitor creates a health event for an
// overall performance or availability issue, across an application's geographies.
// Defines the percentages, for overall performance scores and availability scores
// for an application, that are the thresholds for when Amazon CloudWatch Internet
// Monitor creates a health event. You can override the defaults to set a custom
// threshold for overall performance or availability scores, or both. You can also
// set thresholds for local health scores,, where Internet Monitor creates a health
// event when scores cross a threshold for one or more city-networks, in addition
// to creating an event when an overall score crosses a threshold. If you don't set
// a health event threshold, the default value is 95%. For local thresholds, you
// also set a minimum percentage of overall traffic that is impacted by an issue
// before Internet Monitor creates an event. In addition, you can disable local
// thresholds, for performance scores, availability scores, or both. For more
// information, see Change health event thresholds (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-overview.html#IMUpdateThresholdFromOverview)
// in the Internet Monitor section of the CloudWatch User Guide.
type HealthEventsConfig struct {

	// The configuration that determines the threshold and other conditions for when
	// Internet Monitor creates a health event for a local availability issue.
	AvailabilityLocalHealthEventsConfig *LocalHealthEventsConfig

	// The health event threshold percentage set for availability scores.
	AvailabilityScoreThreshold float64

	// The configuration that determines the threshold and other conditions for when
	// Internet Monitor creates a health event for a local performance issue.
	PerformanceLocalHealthEventsConfig *LocalHealthEventsConfig

	// The health event threshold percentage set for performance scores.
	PerformanceScoreThreshold float64

	noSmithyDocumentSerde
}

// Information about a location impacted by a health event in Amazon CloudWatch
// Internet Monitor. Geographic regions are hierarchically categorized into
// country, subdivision, metro and city geographic granularities. The geographic
// region is identified based on the IP address used at the client locations.
type ImpactedLocation struct {

	// The name of the network at an impacted location.
	//
	// This member is required.
	ASName *string

	// The Autonomous System Number (ASN) of the network at an impacted location.
	//
	// This member is required.
	ASNumber *int64

	// The name of the country where the health event is located.
	//
	// This member is required.
	Country *string

	// The status of the health event at an impacted location.
	//
	// This member is required.
	Status HealthEventStatus

	// The cause of the impairment. There are two types of network impairments: Amazon
	// Web Services network issues or internet issues. Internet issues are typically a
	// problem with a network provider, like an internet service provider (ISP).
	CausedBy *NetworkImpairment

	// The name of the city where the health event is located.
	City *string

	// The country code where the health event is located. The ISO 3166-2 codes for
	// the country is provided, when available.
	CountryCode *string

	// The calculated health at a specific location.
	InternetHealth *InternetHealth

	// The latitude where the health event is located.
	Latitude *float64

	// The longitude where the health event is located.
	Longitude *float64

	// The metro area where the health event is located. Metro indicates a
	// metropolitan region in the United States, such as the region around New York
	// City. In non-US countries, this is a second-level subdivision. For example, in
	// the United Kingdom, it could be a county, a London borough, a unitary authority,
	// council area, and so on.
	Metro *string

	// The service location where the health event is located.
	ServiceLocation *string

	// The subdivision location where the health event is located. The subdivision
	// usually maps to states in most countries (including the United States). For
	// United Kingdom, it maps to a country (England, Scotland, Wales) or province
	// (Northern Ireland).
	Subdivision *string

	// The subdivision code where the health event is located. The ISO 3166-2 codes
	// for country subdivisions is provided, when available.
	SubdivisionCode *string

	noSmithyDocumentSerde
}

// Internet health includes measurements calculated by Amazon CloudWatch Internet
// Monitor about the performance and availability for your application on the
// internet. Amazon Web Services has substantial historical data about internet
// performance and availability between Amazon Web Services services and different
// network providers and geographies. By applying statistical analysis to the data,
// Internet Monitor can detect when the performance and availability for your
// application has dropped, compared to an estimated baseline that's already
// calculated. To make it easier to see those drops, Internet Monitor reports the
// information to you in the form of health scores: a performance score and an
// availability score.
type InternetHealth struct {

	// Availability in Internet Monitor represents the estimated percentage of traffic
	// that is not seeing an availability drop. For example, an availability score of
	// 99% for an end user and service location pair is equivalent to 1% of the traffic
	// experiencing an availability drop for that pair. For more information, see How
	// Internet Monitor calculates performance and availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores)
	// in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.
	Availability *AvailabilityMeasurement

	// Performance in Internet Monitor represents the estimated percentage of traffic
	// that is not seeing a performance drop. For example, a performance score of 99%
	// for an end user and service location pair is equivalent to 1% of the traffic
	// experiencing a performance drop for that pair. For more information, see How
	// Internet Monitor calculates performance and availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores)
	// in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.
	Performance *PerformanceMeasurement

	noSmithyDocumentSerde
}

// Publish internet measurements to an Amazon S3 bucket in addition to CloudWatch
// Logs.
type InternetMeasurementsLogDelivery struct {

	// The configuration information for publishing Internet Monitor internet
	// measurements to Amazon S3. The configuration includes the bucket name and
	// (optionally) prefix for the S3 bucket to store the measurements, and the
	// delivery status. The delivery status is ENABLED or DISABLED , depending on
	// whether you choose to deliver internet measurements to S3 logs.
	S3Config *S3Config

	noSmithyDocumentSerde
}

// A complex type with the configuration information that determines the threshold
// and other conditions for when Internet Monitor creates a health event for a
// local performance or availability issue, when scores cross a threshold for one
// or more city-networks. Defines the percentages, for performance scores or
// availability scores, that are the local thresholds for when Amazon CloudWatch
// Internet Monitor creates a health event. Also defines whether a local threshold
// is enabled or disabled, and the minimum percentage of overall traffic that must
// be impacted by an issue before Internet Monitor creates an event when a
// threshold is crossed for a local health score. If you don't set a local health
// event threshold, the default value is 60%. For more information, see Change
// health event thresholds (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-overview.html#IMUpdateThresholdFromOverview)
// in the Internet Monitor section of the CloudWatch User Guide.
type LocalHealthEventsConfig struct {

	// The health event threshold percentage set for a local health score.
	HealthScoreThreshold float64

	// The minimum percentage of overall traffic for an application that must be
	// impacted by an issue before Internet Monitor creates an event when a threshold
	// is crossed for a local health score. If you don't set a minimum traffic impact
	// threshold, the default value is 0.01%.
	MinTrafficImpact float64

	// The status of whether Internet Monitor creates a health event based on a
	// threshold percentage set for a local health score. The status can be ENABLED or
	// DISABLED .
	Status LocalHealthEventsConfigStatus

	noSmithyDocumentSerde
}

// The description of and information about a monitor in Amazon CloudWatch
// Internet Monitor.
type Monitor struct {

	// The Amazon Resource Name (ARN) of the monitor.
	//
	// This member is required.
	MonitorArn *string

	// The name of the monitor.
	//
	// This member is required.
	MonitorName *string

	// The status of a monitor.
	//
	// This member is required.
	Status MonitorConfigState

	// The health of data processing for the monitor.
	ProcessingStatus MonitorProcessingStatusCode

	noSmithyDocumentSerde
}

// An internet service provider (ISP) or network in Amazon CloudWatch Internet
// Monitor.
type Network struct {

	// The internet provider name or network name.
	//
	// This member is required.
	ASName *string

	// The Autonomous System Number (ASN) of the internet provider or network.
	//
	// This member is required.
	ASNumber *int64

	noSmithyDocumentSerde
}

// Information about the network impairment for a specific network measured by
// Amazon CloudWatch Internet Monitor.
type NetworkImpairment struct {

	// The combination of the Autonomous System Number (ASN) of the network and the
	// name of the network.
	//
	// This member is required.
	AsPath []Network

	// Type of network impairment.
	//
	// This member is required.
	NetworkEventType TriangulationEventType

	// The networks that could be impacted by a network impairment event.
	//
	// This member is required.
	Networks []Network

	noSmithyDocumentSerde
}

// Amazon CloudWatch Internet Monitor calculates measurements about the
// performance for your application's internet traffic between client locations and
// Amazon Web Services. Amazon Web Services has substantial historical data about
// internet performance and availability between Amazon Web Services services and
// different network providers and geographies. By applying statistical analysis to
// the data, Internet Monitor can detect when the performance and availability for
// your application has dropped, compared to an estimated baseline that's already
// calculated. To make it easier to see those drops, we report that information to
// you in the form of health scores: a performance score and an availability score.
// Performance in Internet Monitor represents the estimated percentage of traffic
// that is not seeing a performance drop. For example, a performance score of 99%
// for an end user and service location pair is equivalent to 1% of the traffic
// experiencing a performance drop for that pair. For more information, see How
// Internet Monitor calculates performance and availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores)
// in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.
type PerformanceMeasurement struct {

	// Experience scores, or health scores, are calculated for different geographic
	// and network provider combinations (that is, different granularities) and also
	// totaled into global scores. If you view performance or availability scores
	// without filtering for any specific geography or service provider, Amazon
	// CloudWatch Internet Monitor provides global health scores. The Amazon CloudWatch
	// Internet Monitor chapter in the CloudWatch User Guide includes detailed
	// information about how Internet Monitor calculates health scores, including
	// performance and availability scores, and when it creates and resolves health
	// events. For more information, see How Amazon Web Services calculates
	// performance and availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores)
	// in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.
	ExperienceScore *float64

	// How much performance impact was caused by a health event at a client location.
	// For performance, this is the percentage of how much latency increased during the
	// event compared to typical performance for traffic, from this client location to
	// an Amazon Web Services location, using a specific client network. For more
	// information, see When Amazon Web Services creates and resolves health events (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMHealthEventStartStop)
	// in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.
	PercentOfClientLocationImpacted *float64

	// The impact on total traffic that a health event has, in increased latency or
	// reduced availability. This is the percentage of how much latency has increased
	// or availability has decreased during the event, compared to what is typical for
	// traffic from this client location to the Amazon Web Services location using this
	// client network. For more information, see When Amazon Web Services creates and
	// resolves health events (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMHealthEventStartStop)
	// in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.
	PercentOfTotalTrafficImpacted *float64

	// This is the percentage of how much round-trip time increased during the event
	// compared to typical round-trip time for your application for traffic. For more
	// information, see When Amazon Web Services creates and resolves health events (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMHealthEventStartStop)
	// in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.
	RoundTripTime *RoundTripTime

	noSmithyDocumentSerde
}

// Defines a field to query for your application's Amazon CloudWatch Internet
// Monitor data. You create a data repository by running a query of a specific
// type. Each QueryType includes a specific set of fields and datatypes to
// retrieve data for.
type QueryField struct {

	// The name of a field to query your application's Amazon CloudWatch Internet
	// Monitor data for, such as availability_score .
	Name *string

	// The data type for a query field, which must correspond to the field you're
	// defining for QueryField . For example, if the query field name is
	// availability_score , the data type is float .
	Type *string

	noSmithyDocumentSerde
}

// Round-trip time (RTT) is how long it takes for a request from the user to
// return a response to the user. Amazon CloudWatch Internet Monitor calculates RTT
// at different percentiles: p50, p90, and p95.
type RoundTripTime struct {

	// RTT at the 50th percentile (p50).
	P50 *float64

	// RTT at the 90th percentile (p90).
	P90 *float64

	// RTT at the 95th percentile (p95).
	P95 *float64

	noSmithyDocumentSerde
}

// The configuration for publishing Amazon CloudWatch Internet Monitor internet
// measurements to Amazon S3. The configuration includes the bucket name and
// (optionally) prefix for the S3 bucket to store the measurements, and the
// delivery status. The delivery status is ENABLED or DISABLED , depending on
// whether you choose to deliver internet measurements to S3 logs.
type S3Config struct {

	// The Amazon S3 bucket name.
	BucketName *string

	// The Amazon S3 bucket prefix.
	BucketPrefix *string

	// The status of publishing Internet Monitor internet measurements to an Amazon S3
	// bucket.
	LogDeliveryStatus LogDeliveryStatus

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde