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 (999 lines) | stat: -rw-r--r-- 43,650 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
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

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

// A complex type that contains information about the Amazon Route 53 DNS records
// that you want Cloud Map to create when you register an instance. The record
// types of a service can only be changed by deleting the service and recreating it
// with a new Dnsconfig .
type DnsConfig struct {

	// An array that contains one DnsRecord object for each Route 53 DNS record that
	// you want Cloud Map to create when you register an instance.
	//
	// This member is required.
	DnsRecords []DnsRecord

	// Use NamespaceId in Service (https://docs.aws.amazon.com/cloud-map/latest/api/API_Service.html)
	// instead. The ID of the namespace to use for DNS configuration.
	//
	// Deprecated: Top level attribute in request should be used to reference
	// namespace-id
	NamespaceId *string

	// The routing policy that you want to apply to all Route 53 DNS records that
	// Cloud Map creates when you register an instance and specify this service. If you
	// want to use this service to register instances that create alias records,
	// specify WEIGHTED for the routing policy. You can specify the following values:
	// MULTIVALUE If you define a health check for the service and the health check is
	// healthy, Route 53 returns the applicable value for up to eight instances. For
	// example, suppose that the service includes configurations for one A record and
	// a health check. You use the service to register 10 instances. Route 53 responds
	// to DNS queries with IP addresses for up to eight healthy instances. If fewer
	// than eight instances are healthy, Route 53 responds to every DNS query with the
	// IP addresses for all of the healthy instances. If you don't define a health
	// check for the service, Route 53 assumes that all instances are healthy and
	// returns the values for up to eight instances. For more information about the
	// multivalue routing policy, see Multivalue Answer Routing (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-multivalue)
	// in the Route 53 Developer Guide. WEIGHTED Route 53 returns the applicable value
	// from one randomly selected instance from among the instances that you registered
	// using the same service. Currently, all records have the same weight, so you
	// can't route more or less traffic to any instances. For example, suppose that the
	// service includes configurations for one A record and a health check. You use
	// the service to register 10 instances. Route 53 responds to DNS queries with the
	// IP address for one randomly selected instance from among the healthy instances.
	// If no instances are healthy, Route 53 responds to DNS queries as if all of the
	// instances were healthy. If you don't define a health check for the service,
	// Route 53 assumes that all instances are healthy and returns the applicable value
	// for one randomly selected instance. For more information about the weighted
	// routing policy, see Weighted Routing (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-weighted)
	// in the Route 53 Developer Guide.
	RoutingPolicy RoutingPolicy

	noSmithyDocumentSerde
}

// A complex type that contains information about changes to the Route 53 DNS
// records that Cloud Map creates when you register an instance.
type DnsConfigChange struct {

	// An array that contains one DnsRecord object for each Route 53 record that you
	// want Cloud Map to create when you register an instance.
	//
	// This member is required.
	DnsRecords []DnsRecord

	noSmithyDocumentSerde
}

// A complex type that contains the ID for the Route 53 hosted zone that Cloud Map
// creates when you create a namespace.
type DnsProperties struct {

	// The ID for the Route 53 hosted zone that Cloud Map creates when you create a
	// namespace.
	HostedZoneId *string

	// Start of Authority (SOA) record for the hosted zone.
	SOA *SOA

	noSmithyDocumentSerde
}

// A complex type that contains information about the Route 53 DNS records that
// you want Cloud Map to create when you register an instance.
type DnsRecord struct {

	// The amount of time, in seconds, that you want DNS resolvers to cache the
	// settings for this record. Alias records don't include a TTL because Route 53
	// uses the TTL for the Amazon Web Services resource that an alias record routes
	// traffic to. If you include the AWS_ALIAS_DNS_NAME attribute when you submit a
	// RegisterInstance (https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html)
	// request, the TTL value is ignored. Always specify a TTL for the service; you
	// can use a service to register instances that create either alias or non-alias
	// records.
	//
	// This member is required.
	TTL *int64

	// The type of the resource, which indicates the type of value that Route 53
	// returns in response to DNS queries. You can specify values for Type in the
	// following combinations:
	//   - A
	//   - AAAA
	//   - A and AAAA
	//   - SRV
	//   - CNAME
	// If you want Cloud Map to create a Route 53 alias record when you register an
	// instance, specify A or AAAA for Type . You specify other settings, such as the
	// IP address for A and AAAA records, when you register an instance. For more
	// information, see RegisterInstance (https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html)
	// . The following values are supported: A Route 53 returns the IP address of the
	// resource in IPv4 format, such as 192.0.2.44. AAAA Route 53 returns the IP
	// address of the resource in IPv6 format, such as
	// 2001:0db8:85a3:0000:0000:abcd:0001:2345. CNAME Route 53 returns the domain name
	// of the resource, such as www.example.com. Note the following:
	//   - You specify the domain name that you want to route traffic to when you
	//   register an instance. For more information, see Attributes (https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html#cloudmap-RegisterInstance-request-Attributes)
	//   in the topic RegisterInstance (https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html)
	//   .
	//   - You must specify WEIGHTED for the value of RoutingPolicy .
	//   - You can't specify both CNAME for Type and settings for HealthCheckConfig .
	//   If you do, the request will fail with an InvalidInput error.
	// SRV Route 53 returns the value for an SRV record. The value for an SRV record
	// uses the following values: priority weight port service-hostname Note the
	// following about the values:
	//   - The values of priority and weight are both set to 1 and can't be changed.
	//   - The value of port comes from the value that you specify for the
	//   AWS_INSTANCE_PORT attribute when you submit a RegisterInstance (https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html)
	//   request.
	//   - The value of service-hostname is a concatenation of the following values:
	//   - The value that you specify for InstanceId when you register an instance.
	//   - The name of the service.
	//   - The name of the namespace. For example, if the value of InstanceId is test ,
	//   the name of the service is backend , and the name of the namespace is
	//   example.com , the value of service-hostname is the following:
	//   test.backend.example.com
	// If you specify settings for an SRV record, note the following:
	//   - If you specify values for AWS_INSTANCE_IPV4 , AWS_INSTANCE_IPV6 , or both in
	//   the RegisterInstance request, Cloud Map automatically creates A and/or AAAA
	//   records that have the same name as the value of service-hostname in the SRV
	//   record. You can ignore these records.
	//   - If you're using a system that requires a specific SRV format, such as
	//   HAProxy, see the Name (https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html#cloudmap-CreateService-request-Name)
	//   element in the documentation about CreateService for information about how to
	//   specify the correct name format.
	//
	// This member is required.
	Type RecordType

	noSmithyDocumentSerde
}

// Public DNS and HTTP namespaces only. A complex type that contains settings for
// an optional health check. If you specify settings for a health check, Cloud Map
// associates the health check with the records that you specify in DnsConfig . If
// you specify a health check configuration, you can specify either
// HealthCheckCustomConfig or HealthCheckConfig but not both. Health checks are
// basic Route 53 health checks that monitor an Amazon Web Services endpoint. For
// information about pricing for health checks, see Amazon Route 53 Pricing (http://aws.amazon.com/route53/pricing/)
// . Note the following about configuring health checks. A and AAAA records If
// DnsConfig includes configurations for both A and AAAA records, Cloud Map
// creates a health check that uses the IPv4 address to check the health of the
// resource. If the endpoint tthat's specified by the IPv4 address is unhealthy,
// Route 53 considers both the A and AAAA records to be unhealthy. CNAME records
// You can't specify settings for HealthCheckConfig when the DNSConfig includes
// CNAME for the value of Type . If you do, the CreateService request will fail
// with an InvalidInput error. Request interval A Route 53 health checker in each
// health-checking Amazon Web Services Region sends a health check request to an
// endpoint every 30 seconds. On average, your endpoint receives a health check
// request about every two seconds. However, health checkers don't coordinate with
// one another. Therefore, you might sometimes see several requests in one second
// that's followed by a few seconds with no health checks at all. Health checking
// regions Health checkers perform checks from all Route 53 health-checking
// Regions. For a list of the current Regions, see Regions (https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions)
// . Alias records When you register an instance, if you include the
// AWS_ALIAS_DNS_NAME attribute, Cloud Map creates a Route 53 alias record. Note
// the following:
//   - Route 53 automatically sets EvaluateTargetHealth to true for alias records.
//     When EvaluateTargetHealth is true, the alias record inherits the health of the
//     referenced Amazon Web Services resource. such as an ELB load balancer. For more
//     information, see EvaluateTargetHealth (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth)
//     .
//   - If you include HealthCheckConfig and then use the service to register an
//     instance that creates an alias record, Route 53 doesn't create the health check.
//
// Charges for health checks Health checks are basic Route 53 health checks that
// monitor an Amazon Web Services endpoint. For information about pricing for
// health checks, see Amazon Route 53 Pricing (http://aws.amazon.com/route53/pricing/)
// .
type HealthCheckConfig struct {

	// The type of health check that you want to create, which indicates how Route 53
	// determines whether an endpoint is healthy. You can't change the value of Type
	// after you create a health check. You can create the following types of health
	// checks:
	//   - HTTP: Route 53 tries to establish a TCP connection. If successful, Route 53
	//   submits an HTTP request and waits for an HTTP status code of 200 or greater and
	//   less than 400.
	//   - HTTPS: Route 53 tries to establish a TCP connection. If successful, Route
	//   53 submits an HTTPS request and waits for an HTTP status code of 200 or greater
	//   and less than 400. If you specify HTTPS for the value of Type , the endpoint
	//   must support TLS v1.0 or later.
	//   - TCP: Route 53 tries to establish a TCP connection. If you specify TCP for
	//   Type , don't specify a value for ResourcePath .
	// For more information, see How Route 53 Determines Whether an Endpoint Is Healthy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)
	// in the Route 53 Developer Guide.
	//
	// This member is required.
	Type HealthCheckType

	// The number of consecutive health checks that an endpoint must pass or fail for
	// Route 53 to change the current status of the endpoint from unhealthy to healthy
	// or the other way around. For more information, see How Route 53 Determines
	// Whether an Endpoint Is Healthy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)
	// in the Route 53 Developer Guide.
	FailureThreshold *int32

	// The path that you want Route 53 to request when performing health checks. The
	// path can be any value that your endpoint returns an HTTP status code of a 2xx or
	// 3xx format for when the endpoint is healthy. An example file is
	// /docs/route53-health-check.html . Route 53 automatically adds the DNS name for
	// the service. If you don't specify a value for ResourcePath , the default value
	// is / . If you specify TCP for Type , you must not specify a value for
	// ResourcePath .
	ResourcePath *string

	noSmithyDocumentSerde
}

// A complex type that contains information about an optional custom health check.
// A custom health check, which requires that you use a third-party health checker
// to evaluate the health of your resources, is useful in the following
// circumstances:
//   - You can't use a health check that's defined by HealthCheckConfig because the
//     resource isn't available over the internet. For example, you can use a custom
//     health check when the instance is in an Amazon VPC. (To check the health of
//     resources in a VPC, the health checker must also be in the VPC.)
//   - You want to use a third-party health checker regardless of where your
//     resources are located.
//
// If you specify a health check configuration, you can specify either
// HealthCheckCustomConfig or HealthCheckConfig but not both. To change the status
// of a custom health check, submit an UpdateInstanceCustomHealthStatus request.
// Cloud Map doesn't monitor the status of the resource, it just keeps a record of
// the status specified in the most recent UpdateInstanceCustomHealthStatus
// request. Here's how custom health checks work:
//   - You create a service.
//   - You register an instance.
//   - You configure a third-party health checker to monitor the resource that's
//     associated with the new instance. Cloud Map doesn't check the health of the
//     resource directly.
//   - The third-party health-checker determines that the resource is unhealthy
//     and notifies your application.
//   - Your application submits an UpdateInstanceCustomHealthStatus request.
//   - Cloud Map waits for 30 seconds.
//   - If another UpdateInstanceCustomHealthStatus request doesn't arrive during
//     that time to change the status back to healthy, Cloud Map stops routing traffic
//     to the resource.
type HealthCheckCustomConfig struct {

	// This parameter is no longer supported and is always set to 1. Cloud Map waits
	// for approximately 30 seconds after receiving an UpdateInstanceCustomHealthStatus
	// request before changing the status of the service instance. The number of
	// 30-second intervals that you want Cloud Map to wait after receiving an
	// UpdateInstanceCustomHealthStatus request before it changes the health status of
	// a service instance. Sending a second or subsequent
	// UpdateInstanceCustomHealthStatus request with the same value before 30 seconds
	// has passed doesn't accelerate the change. Cloud Map still waits 30 seconds
	// after the first request to make the change.
	//
	// Deprecated: Configurable FailureThreshold of HealthCheckCustomConfig is
	// deprecated. It will always have value 1.
	FailureThreshold *int32

	noSmithyDocumentSerde
}

// In a response to a DiscoverInstances (https://docs.aws.amazon.com/cloud-map/latest/api/API_DiscoverInstances.html)
// request, HttpInstanceSummary contains information about one instance that
// matches the values that you specified in the request.
type HttpInstanceSummary struct {

	// If you included any attributes when you registered the instance, the values of
	// those attributes.
	Attributes map[string]string

	// If you configured health checking in the service, the current health status of
	// the service instance.
	HealthStatus HealthStatus

	// The ID of an instance that matches the values that you specified in the request.
	InstanceId *string

	// The HttpName name of the namespace. It's found in the HttpProperties member of
	// the Properties member of the namespace.
	NamespaceName *string

	// The name of the service that you specified when you registered the instance.
	ServiceName *string

	noSmithyDocumentSerde
}

// Updated properties for the HTTP namespace.
type HttpNamespaceChange struct {

	// An updated description for the HTTP namespace.
	//
	// This member is required.
	Description *string

	noSmithyDocumentSerde
}

// A complex type that contains the name of an HTTP namespace.
type HttpProperties struct {

	// The name of an HTTP namespace.
	HttpName *string

	noSmithyDocumentSerde
}

// A complex type that contains information about an instance that Cloud Map
// creates when you submit a RegisterInstance request.
type Instance struct {

	// An identifier that you want to associate with the instance. Note the following:
	//   - If the service that's specified by ServiceId includes settings for an SRV
	//   record, the value of InstanceId is automatically included as part of the value
	//   for the SRV record. For more information, see DnsRecord > Type (https://docs.aws.amazon.com/cloud-map/latest/api/API_DnsRecord.html#cloudmap-Type-DnsRecord-Type)
	//   .
	//   - You can use this value to update an existing instance.
	//   - To register a new instance, you must specify a value that's unique among
	//   instances that you register by using the same service.
	//   - If you specify an existing InstanceId and ServiceId , Cloud Map updates the
	//   existing DNS records. If there's also an existing health check, Cloud Map
	//   deletes the old health check and creates a new one. The health check isn't
	//   deleted immediately, so it will still appear for a while if you submit a
	//   ListHealthChecks request, for example.
	//
	// This member is required.
	Id *string

	// A string map that contains the following information for the service that you
	// specify in ServiceId :
	//   - The attributes that apply to the records that are defined in the service.
	//   - For each attribute, the applicable value.
	// Do not include sensitive information in the attributes if the namespace is
	// discoverable by public DNS queries. Supported attribute keys include the
	// following: AWS_ALIAS_DNS_NAME If you want Cloud Map to create a Route 53 alias
	// record that routes traffic to an Elastic Load Balancing load balancer, specify
	// the DNS name that's associated with the load balancer. For information about how
	// to get the DNS name, see AliasTarget->DNSName (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-DNSName)
	// in the Route 53 API Reference. Note the following:
	//   - The configuration for the service that's specified by ServiceId must include
	//   settings for an A record, an AAAA record, or both.
	//   - In the service that's specified by ServiceId , the value of RoutingPolicy
	//   must be WEIGHTED .
	//   - If the service that's specified by ServiceId includes HealthCheckConfig
	//   settings, Cloud Map creates the health check, but it won't associate the health
	//   check with the alias record.
	//   - Auto naming currently doesn't support creating alias records that route
	//   traffic to Amazon Web Services resources other than ELB load balancers.
	//   - If you specify a value for AWS_ALIAS_DNS_NAME , don't specify values for any
	//   of the AWS_INSTANCE attributes.
	// AWS_EC2_INSTANCE_ID HTTP namespaces only. The Amazon EC2 instance ID for the
	// instance. The AWS_INSTANCE_IPV4 attribute contains the primary private IPv4
	// address. AWS_INIT_HEALTH_STATUS If the service configuration includes
	// HealthCheckCustomConfig , you can optionally use AWS_INIT_HEALTH_STATUS to
	// specify the initial status of the custom health check, HEALTHY or UNHEALTHY . If
	// you don't specify a value for AWS_INIT_HEALTH_STATUS , the initial status is
	// HEALTHY . AWS_INSTANCE_CNAME If the service configuration includes a CNAME
	// record, the domain name that you want Route 53 to return in response to DNS
	// queries (for example, example.com ). This value is required if the service
	// specified by ServiceId includes settings for an CNAME record. AWS_INSTANCE_IPV4
	// If the service configuration includes an A record, the IPv4 address that you
	// want Route 53 to return in response to DNS queries (for example, 192.0.2.44 ).
	// This value is required if the service specified by ServiceId includes settings
	// for an A record. If the service includes settings for an SRV record, you must
	// specify a value for AWS_INSTANCE_IPV4 , AWS_INSTANCE_IPV6 , or both.
	// AWS_INSTANCE_IPV6 If the service configuration includes an AAAA record, the
	// IPv6 address that you want Route 53 to return in response to DNS queries (for
	// example, 2001:0db8:85a3:0000:0000:abcd:0001:2345 ). This value is required if
	// the service specified by ServiceId includes settings for an AAAA record. If the
	// service includes settings for an SRV record, you must specify a value for
	// AWS_INSTANCE_IPV4 , AWS_INSTANCE_IPV6 , or both. AWS_INSTANCE_PORT If the
	// service includes an SRV record, the value that you want Route 53 to return for
	// the port. If the service includes HealthCheckConfig , the port on the endpoint
	// that you want Route 53 to send requests to. This value is required if you
	// specified settings for an SRV record or a Route 53 health check when you
	// created the service.
	Attributes map[string]string

	// A unique string that identifies the request and that allows failed
	// RegisterInstance requests to be retried without the risk of executing the
	// operation twice. You must use a unique CreatorRequestId string every time you
	// submit a RegisterInstance request if you're registering additional instances
	// for the same namespace and service. CreatorRequestId can be any unique string
	// (for example, a date/time stamp).
	CreatorRequestId *string

	noSmithyDocumentSerde
}

// A complex type that contains information about the instances that you
// registered by using a specified service.
type InstanceSummary struct {

	// A string map that contains the following information:
	//   - The attributes that are associated with the instance.
	//   - For each attribute, the applicable value.
	// Supported attribute keys include the following: AWS_ALIAS_DNS_NAME For an alias
	// record that routes traffic to an Elastic Load Balancing load balancer, the DNS
	// name that's associated with the load balancer. AWS_EC2_INSTANCE_ID (HTTP
	// namespaces only) The Amazon EC2 instance ID for the instance. When the
	// AWS_EC2_INSTANCE_ID attribute is specified, then the AWS_INSTANCE_IPV4
	// attribute contains the primary private IPv4 address. AWS_INIT_HEALTH_STATUS If
	// the service configuration includes HealthCheckCustomConfig , you can optionally
	// use AWS_INIT_HEALTH_STATUS to specify the initial status of the custom health
	// check, HEALTHY or UNHEALTHY . If you don't specify a value for
	// AWS_INIT_HEALTH_STATUS , the initial status is HEALTHY . AWS_INSTANCE_CNAME For
	// a CNAME record, the domain name that Route 53 returns in response to DNS
	// queries (for example, example.com ). AWS_INSTANCE_IPV4 For an A record, the
	// IPv4 address that Route 53 returns in response to DNS queries (for example,
	// 192.0.2.44 ). AWS_INSTANCE_IPV6 For an AAAA record, the IPv6 address that Route
	// 53 returns in response to DNS queries (for example,
	// 2001:0db8:85a3:0000:0000:abcd:0001:2345 ). AWS_INSTANCE_PORT For an SRV record,
	// the value that Route 53 returns for the port. In addition, if the service
	// includes HealthCheckConfig , the port on the endpoint that Route 53 sends
	// requests to.
	Attributes map[string]string

	// The ID for an instance that you created by using a specified service.
	Id *string

	noSmithyDocumentSerde
}

// A complex type that contains information about a specified namespace.
type Namespace struct {

	// The Amazon Resource Name (ARN) that Cloud Map assigns to the namespace when you
	// create it.
	Arn *string

	// The date that the namespace was created, in Unix date/time format and
	// Coordinated Universal Time (UTC). The value of CreateDate is accurate to
	// milliseconds. For example, the value 1516925490.087 represents Friday, January
	// 26, 2018 12:11:30.087 AM.
	CreateDate *time.Time

	// A unique string that identifies the request and that allows failed requests to
	// be retried without the risk of running an operation twice.
	CreatorRequestId *string

	// The description that you specify for the namespace when you create it.
	Description *string

	// The ID of a namespace.
	Id *string

	// The name of the namespace, such as example.com .
	Name *string

	// A complex type that contains information that's specific to the type of the
	// namespace.
	Properties *NamespaceProperties

	// The number of services that are associated with the namespace.
	ServiceCount *int32

	// The type of the namespace. The methods for discovering instances depends on the
	// value that you specify: HTTP Instances can be discovered only programmatically,
	// using the Cloud Map DiscoverInstances API. DNS_PUBLIC Instances can be
	// discovered using public DNS queries and using the DiscoverInstances API.
	// DNS_PRIVATE Instances can be discovered using DNS queries in VPCs and using the
	// DiscoverInstances API.
	Type NamespaceType

	noSmithyDocumentSerde
}

// A complex type that identifies the namespaces that you want to list. You can
// choose to list public or private namespaces.
type NamespaceFilter struct {

	// Specify the namespaces that you want to get using one of the following.
	//   - TYPE : Gets the namespaces of the specified type.
	//   - NAME : Gets the namespaces with the specified name.
	//   - HTTP_NAME : Gets the namespaces with the specified HTTP name.
	//
	// This member is required.
	Name NamespaceFilterName

	// Specify the values that are applicable to the value that you specify for Name .
	//   - TYPE : Specify HTTP , DNS_PUBLIC , or DNS_PRIVATE .
	//   - NAME : Specify the name of the namespace, which is found in Namespace.Name .
	//   - HTTP_NAME : Specify the HTTP name of the namespace, which is found in
	//   Namespace.Properties.HttpProperties.HttpName .
	//
	// This member is required.
	Values []string

	// Specify the operator that you want to use to determine whether a namespace
	// matches the specified value. Valid values for Condition are one of the
	// following.
	//   - EQ : When you specify EQ for Condition , you can specify only one value. EQ
	//   is supported for TYPE , NAME , and HTTP_NAME . EQ is the default condition and
	//   can be omitted.
	//   - BEGINS_WITH : When you specify BEGINS_WITH for Condition , you can specify
	//   only one value. BEGINS_WITH is supported for TYPE , NAME , and HTTP_NAME .
	Condition FilterCondition

	noSmithyDocumentSerde
}

// A complex type that contains information that's specific to the namespace type.
type NamespaceProperties struct {

	// A complex type that contains the ID for the Route 53 hosted zone that Cloud Map
	// creates when you create a namespace.
	DnsProperties *DnsProperties

	// A complex type that contains the name of an HTTP namespace.
	HttpProperties *HttpProperties

	noSmithyDocumentSerde
}

// A complex type that contains information about a namespace.
type NamespaceSummary struct {

	// The Amazon Resource Name (ARN) that Cloud Map assigns to the namespace when you
	// create it.
	Arn *string

	// The date and time that the namespace was created.
	CreateDate *time.Time

	// A description for the namespace.
	Description *string

	// The ID of the namespace.
	Id *string

	// The name of the namespace. When you create a namespace, Cloud Map automatically
	// creates a Route 53 hosted zone that has the same name as the namespace.
	Name *string

	// The properties of the namespace.
	Properties *NamespaceProperties

	// The number of services that were created using the namespace.
	ServiceCount *int32

	// The type of the namespace, either public or private.
	Type NamespaceType

	noSmithyDocumentSerde
}

// A complex type that contains information about a specified operation.
type Operation struct {

	// The date and time that the request was submitted, in Unix date/time format and
	// Coordinated Universal Time (UTC). The value of CreateDate is accurate to
	// milliseconds. For example, the value 1516925490.087 represents Friday, January
	// 26, 2018 12:11:30.087 AM.
	CreateDate *time.Time

	// The code associated with ErrorMessage . Values for ErrorCode include the
	// following:
	//   - ACCESS_DENIED
	//   - CANNOT_CREATE_HOSTED_ZONE
	//   - EXPIRED_TOKEN
	//   - HOSTED_ZONE_NOT_FOUND
	//   - INTERNAL_FAILURE
	//   - INVALID_CHANGE_BATCH
	//   - THROTTLED_REQUEST
	ErrorCode *string

	// If the value of Status is FAIL , the reason that the operation failed.
	ErrorMessage *string

	// The ID of the operation that you want to get information about.
	Id *string

	// The status of the operation. Values include the following: SUBMITTED This is
	// the initial state that occurs immediately after you submit a request. PENDING
	// Cloud Map is performing the operation. SUCCESS The operation succeeded. FAIL The
	// operation failed. For the failure reason, see ErrorMessage .
	Status OperationStatus

	// The name of the target entity that's associated with the operation: NAMESPACE
	// The namespace ID is returned in the ResourceId property. SERVICE The service ID
	// is returned in the ResourceId property. INSTANCE The instance ID is returned in
	// the ResourceId property.
	Targets map[string]string

	// The name of the operation that's associated with the specified ID.
	Type OperationType

	// The date and time that the value of Status changed to the current value, in
	// Unix date/time format and Coordinated Universal Time (UTC). The value of
	// UpdateDate is accurate to milliseconds. For example, the value 1516925490.087
	// represents Friday, January 26, 2018 12:11:30.087 AM.
	UpdateDate *time.Time

	noSmithyDocumentSerde
}

// A complex type that lets you select the operations that you want to list.
type OperationFilter struct {

	// Specify the operations that you want to get:
	//   - NAMESPACE_ID: Gets operations related to specified namespaces.
	//   - SERVICE_ID: Gets operations related to specified services.
	//   - STATUS: Gets operations based on the status of the operations: SUBMITTED ,
	//   PENDING , SUCCEED , or FAIL .
	//   - TYPE: Gets specified types of operation.
	//   - UPDATE_DATE: Gets operations that changed status during a specified
	//   date/time range.
	//
	// This member is required.
	Name OperationFilterName

	// Specify values that are applicable to the value that you specify for Name :
	//   - NAMESPACE_ID: Specify one namespace ID.
	//   - SERVICE_ID: Specify one service ID.
	//   - STATUS: Specify one or more statuses: SUBMITTED , PENDING , SUCCEED , or
	//   FAIL .
	//   - TYPE: Specify one or more of the following types: CREATE_NAMESPACE ,
	//   DELETE_NAMESPACE , UPDATE_SERVICE , REGISTER_INSTANCE , or DEREGISTER_INSTANCE
	//   .
	//   - UPDATE_DATE: Specify a start date and an end date in Unix date/time format
	//   and Coordinated Universal Time (UTC). The start date must be the first value.
	//
	// This member is required.
	Values []string

	// The operator that you want to use to determine whether an operation matches the
	// specified value. Valid values for condition include:
	//   - EQ : When you specify EQ for the condition, you can specify only one value.
	//   EQ is supported for NAMESPACE_ID , SERVICE_ID , STATUS , and TYPE . EQ is the
	//   default condition and can be omitted.
	//   - IN : When you specify IN for the condition, you can specify a list of one or
	//   more values. IN is supported for STATUS and TYPE . An operation must match one
	//   of the specified values to be returned in the response.
	//   - BETWEEN : Specify a start date and an end date in Unix date/time format and
	//   Coordinated Universal Time (UTC). The start date must be the first value.
	//   BETWEEN is supported for UPDATE_DATE .
	Condition FilterCondition

	noSmithyDocumentSerde
}

// A complex type that contains information about an operation that matches the
// criteria that you specified in a ListOperations (https://docs.aws.amazon.com/cloud-map/latest/api/API_ListOperations.html)
// request.
type OperationSummary struct {

	// The ID for an operation.
	Id *string

	// The status of the operation. Values include the following:
	//   - SUBMITTED: This is the initial state immediately after you submit a
	//   request.
	//   - PENDING: Cloud Map is performing the operation.
	//   - SUCCESS: The operation succeeded.
	//   - FAIL: The operation failed. For the failure reason, see ErrorMessage .
	Status OperationStatus

	noSmithyDocumentSerde
}

// Updated properties for the private DNS namespace.
type PrivateDnsNamespaceChange struct {

	// An updated description for the private DNS namespace.
	Description *string

	// Properties to be updated in the private DNS namespace.
	Properties *PrivateDnsNamespacePropertiesChange

	noSmithyDocumentSerde
}

// DNS properties for the private DNS namespace.
type PrivateDnsNamespaceProperties struct {

	// DNS properties for the private DNS namespace.
	//
	// This member is required.
	DnsProperties *PrivateDnsPropertiesMutable

	noSmithyDocumentSerde
}

// Updated properties for the private DNS namespace.
type PrivateDnsNamespacePropertiesChange struct {

	// Updated DNS properties for the private DNS namespace.
	//
	// This member is required.
	DnsProperties *PrivateDnsPropertiesMutableChange

	noSmithyDocumentSerde
}

// DNS properties for the private DNS namespace.
type PrivateDnsPropertiesMutable struct {

	// Fields for the Start of Authority (SOA) record for the hosted zone for the
	// private DNS namespace.
	//
	// This member is required.
	SOA *SOA

	noSmithyDocumentSerde
}

// Updated DNS properties for the private DNS namespace.
type PrivateDnsPropertiesMutableChange struct {

	// Updated fields for the Start of Authority (SOA) record for the hosted zone for
	// the private DNS namespace.
	//
	// This member is required.
	SOA *SOAChange

	noSmithyDocumentSerde
}

// Updated properties for the public DNS namespace.
type PublicDnsNamespaceChange struct {

	// An updated description for the public DNS namespace.
	Description *string

	// Properties to be updated in the public DNS namespace.
	Properties *PublicDnsNamespacePropertiesChange

	noSmithyDocumentSerde
}

// DNS properties for the public DNS namespace.
type PublicDnsNamespaceProperties struct {

	// DNS properties for the public DNS namespace.
	//
	// This member is required.
	DnsProperties *PublicDnsPropertiesMutable

	noSmithyDocumentSerde
}

// Updated properties for the public DNS namespace.
type PublicDnsNamespacePropertiesChange struct {

	// Updated DNS properties for the hosted zone for the public DNS namespace.
	//
	// This member is required.
	DnsProperties *PublicDnsPropertiesMutableChange

	noSmithyDocumentSerde
}

// DNS properties for the public DNS namespace.
type PublicDnsPropertiesMutable struct {

	// Start of Authority (SOA) record for the hosted zone for the public DNS
	// namespace.
	//
	// This member is required.
	SOA *SOA

	noSmithyDocumentSerde
}

// Updated DNS properties for the public DNS namespace.
type PublicDnsPropertiesMutableChange struct {

	// Updated fields for the Start of Authority (SOA) record for the hosted zone for
	// the public DNS namespace.
	//
	// This member is required.
	SOA *SOAChange

	noSmithyDocumentSerde
}

// A complex type that contains information about the specified service.
type Service struct {

	// The Amazon Resource Name (ARN) that Cloud Map assigns to the service when you
	// create it.
	Arn *string

	// The date and time that the service was created, in Unix format and Coordinated
	// Universal Time (UTC). The value of CreateDate is accurate to milliseconds. For
	// example, the value 1516925490.087 represents Friday, January 26, 2018
	// 12:11:30.087 AM.
	CreateDate *time.Time

	// A unique string that identifies the request and that allows failed requests to
	// be retried without the risk of running the operation twice. CreatorRequestId
	// can be any unique string (for example, a date/timestamp).
	CreatorRequestId *string

	// The description of the service.
	Description *string

	// A complex type that contains information about the Route 53 DNS records that
	// you want Cloud Map to create when you register an instance. The record types of
	// a service can only be changed by deleting the service and recreating it with a
	// new Dnsconfig .
	DnsConfig *DnsConfig

	// Public DNS and HTTP namespaces only. A complex type that contains settings for
	// an optional health check. If you specify settings for a health check, Cloud Map
	// associates the health check with the records that you specify in DnsConfig . For
	// information about the charges for health checks, see Amazon Route 53 Pricing (http://aws.amazon.com/route53/pricing/)
	// .
	HealthCheckConfig *HealthCheckConfig

	// A complex type that contains information about an optional custom health check.
	// If you specify a health check configuration, you can specify either
	// HealthCheckCustomConfig or HealthCheckConfig but not both.
	HealthCheckCustomConfig *HealthCheckCustomConfig

	// The ID that Cloud Map assigned to the service when you created it.
	Id *string

	// The number of instances that are currently associated with the service.
	// Instances that were previously associated with the service but that are deleted
	// aren't included in the count. The count might not reflect pending registrations
	// and deregistrations.
	InstanceCount *int32

	// The name of the service.
	Name *string

	// The ID of the namespace that was used to create the service.
	NamespaceId *string

	// Describes the systems that can be used to discover the service instances.
	// DNS_HTTP The service instances can be discovered using either DNS queries or the
	// DiscoverInstances API operation. HTTP The service instances can only be
	// discovered using the DiscoverInstances API operation. DNS Reserved.
	Type ServiceType

	noSmithyDocumentSerde
}

// A complex type that contains changes to an existing service.
type ServiceChange struct {

	// A description for the service.
	Description *string

	// Information about the Route 53 DNS records that you want Cloud Map to create
	// when you register an instance.
	DnsConfig *DnsConfigChange

	// Public DNS and HTTP namespaces only. Settings for an optional health check. If
	// you specify settings for a health check, Cloud Map associates the health check
	// with the records that you specify in DnsConfig .
	HealthCheckConfig *HealthCheckConfig

	noSmithyDocumentSerde
}

// A complex type that lets you specify the namespaces that you want to list
// services for.
type ServiceFilter struct {

	// Specify NAMESPACE_ID .
	//
	// This member is required.
	Name ServiceFilterName

	// The values that are applicable to the value that you specify for Condition to
	// filter the list of services.
	//
	// This member is required.
	Values []string

	// The operator that you want to use to determine whether a service is returned by
	// ListServices . Valid values for Condition include the following:
	//   - EQ : When you specify EQ , specify one namespace ID for Values . EQ is the
	//   default condition and can be omitted.
	Condition FilterCondition

	noSmithyDocumentSerde
}

// A complex type that contains information about a specified service.
type ServiceSummary struct {

	// The Amazon Resource Name (ARN) that Cloud Map assigns to the service when you
	// create it.
	Arn *string

	// The date and time that the service was created.
	CreateDate *time.Time

	// The description that you specify when you create the service.
	Description *string

	// Information about the Route 53 DNS records that you want Cloud Map to create
	// when you register an instance.
	DnsConfig *DnsConfig

	// Public DNS and HTTP namespaces only. Settings for an optional health check. If
	// you specify settings for a health check, Cloud Map associates the health check
	// with the records that you specify in DnsConfig .
	HealthCheckConfig *HealthCheckConfig

	// Information about an optional custom health check. A custom health check, which
	// requires that you use a third-party health checker to evaluate the health of
	// your resources, is useful in the following circumstances:
	//   - You can't use a health check that's defined by HealthCheckConfig because the
	//   resource isn't available over the internet. For example, you can use a custom
	//   health check when the instance is in an Amazon VPC. (To check the health of
	//   resources in a VPC, the health checker must also be in the VPC.)
	//   - You want to use a third-party health checker regardless of where your
	//   resources are located.
	// If you specify a health check configuration, you can specify either
	// HealthCheckCustomConfig or HealthCheckConfig but not both.
	HealthCheckCustomConfig *HealthCheckCustomConfig

	// The ID that Cloud Map assigned to the service when you created it.
	Id *string

	// The number of instances that are currently associated with the service.
	// Instances that were previously associated with the service but that are deleted
	// aren't included in the count. The count might not reflect pending registrations
	// and deregistrations.
	InstanceCount *int32

	// The name of the service.
	Name *string

	// Describes the systems that can be used to discover the service instances.
	// DNS_HTTP The service instances can be discovered using either DNS queries or the
	// DiscoverInstances API operation. HTTP The service instances can only be
	// discovered using the DiscoverInstances API operation. DNS Reserved.
	Type ServiceType

	noSmithyDocumentSerde
}

// Start of Authority (SOA) properties for a public or private DNS namespace.
type SOA struct {

	// The time to live (TTL) for purposes of negative caching.
	//
	// This member is required.
	TTL *int64

	noSmithyDocumentSerde
}

// Updated Start of Authority (SOA) properties for a public or private DNS
// namespace.
type SOAChange struct {

	// The updated time to live (TTL) for purposes of negative caching.
	//
	// This member is required.
	TTL *int64

	noSmithyDocumentSerde
}

// A custom key-value pair that's associated with a resource.
type Tag struct {

	// The key identifier, or name, of the tag.
	//
	// This member is required.
	Key *string

	// The string value that's associated with the key of the tag. You can set the
	// value of a tag to an empty string, but you can't set the value of a tag to null.
	//
	// This member is required.
	Value *string

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde