1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package servicediscovery 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" 14) 15 16const opCreateHttpNamespace = "CreateHttpNamespace" 17 18// CreateHttpNamespaceRequest generates a "aws/request.Request" representing the 19// client's request for the CreateHttpNamespace operation. The "output" return 20// value will be populated with the request's response once the request completes 21// successfully. 22// 23// Use "Send" method on the returned Request to send the API call to the service. 24// the "output" return value is not valid until after Send returns without error. 25// 26// See CreateHttpNamespace for more information on using the CreateHttpNamespace 27// API call, and error handling. 28// 29// This method is useful when you want to inject custom logic or configuration 30// into the SDK's request lifecycle. Such as custom headers, or retry logic. 31// 32// 33// // Example sending a request using the CreateHttpNamespaceRequest method. 34// req, resp := client.CreateHttpNamespaceRequest(params) 35// 36// err := req.Send() 37// if err == nil { // resp is now filled 38// fmt.Println(resp) 39// } 40// 41// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateHttpNamespace 42func (c *ServiceDiscovery) CreateHttpNamespaceRequest(input *CreateHttpNamespaceInput) (req *request.Request, output *CreateHttpNamespaceOutput) { 43 op := &request.Operation{ 44 Name: opCreateHttpNamespace, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &CreateHttpNamespaceInput{} 51 } 52 53 output = &CreateHttpNamespaceOutput{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// CreateHttpNamespace API operation for AWS Cloud Map. 59// 60// Creates an HTTP namespace. Service instances that you register using an HTTP 61// namespace can be discovered using a DiscoverInstances request but can't be 62// discovered using DNS. 63// 64// For the current quota on the number of namespaces that you can create using 65// the same AWS account, see AWS Cloud Map quotas (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) 66// in the AWS Cloud Map Developer Guide. 67// 68// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 69// with awserr.Error's Code and Message methods to get detailed information about 70// the error. 71// 72// See the AWS API reference guide for AWS Cloud Map's 73// API operation CreateHttpNamespace for usage and error information. 74// 75// Returned Error Types: 76// * InvalidInput 77// One or more specified values aren't valid. For example, a required value 78// might be missing, a numeric value might be outside the allowed range, or 79// a string value might exceed length constraints. 80// 81// * NamespaceAlreadyExists 82// The namespace that you're trying to create already exists. 83// 84// * ResourceLimitExceeded 85// The resource can't be created because you've reached the quota on the number 86// of resources. 87// 88// * DuplicateRequest 89// The operation is already in progress. 90// 91// * TooManyTagsException 92// The list of tags on the resource is over the quota. The maximum number of 93// tags that can be applied to a resource is 50. 94// 95// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateHttpNamespace 96func (c *ServiceDiscovery) CreateHttpNamespace(input *CreateHttpNamespaceInput) (*CreateHttpNamespaceOutput, error) { 97 req, out := c.CreateHttpNamespaceRequest(input) 98 return out, req.Send() 99} 100 101// CreateHttpNamespaceWithContext is the same as CreateHttpNamespace with the addition of 102// the ability to pass a context and additional request options. 103// 104// See CreateHttpNamespace for details on how to use this API operation. 105// 106// The context must be non-nil and will be used for request cancellation. If 107// the context is nil a panic will occur. In the future the SDK may create 108// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 109// for more information on using Contexts. 110func (c *ServiceDiscovery) CreateHttpNamespaceWithContext(ctx aws.Context, input *CreateHttpNamespaceInput, opts ...request.Option) (*CreateHttpNamespaceOutput, error) { 111 req, out := c.CreateHttpNamespaceRequest(input) 112 req.SetContext(ctx) 113 req.ApplyOptions(opts...) 114 return out, req.Send() 115} 116 117const opCreatePrivateDnsNamespace = "CreatePrivateDnsNamespace" 118 119// CreatePrivateDnsNamespaceRequest generates a "aws/request.Request" representing the 120// client's request for the CreatePrivateDnsNamespace operation. The "output" return 121// value will be populated with the request's response once the request completes 122// successfully. 123// 124// Use "Send" method on the returned Request to send the API call to the service. 125// the "output" return value is not valid until after Send returns without error. 126// 127// See CreatePrivateDnsNamespace for more information on using the CreatePrivateDnsNamespace 128// API call, and error handling. 129// 130// This method is useful when you want to inject custom logic or configuration 131// into the SDK's request lifecycle. Such as custom headers, or retry logic. 132// 133// 134// // Example sending a request using the CreatePrivateDnsNamespaceRequest method. 135// req, resp := client.CreatePrivateDnsNamespaceRequest(params) 136// 137// err := req.Send() 138// if err == nil { // resp is now filled 139// fmt.Println(resp) 140// } 141// 142// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePrivateDnsNamespace 143func (c *ServiceDiscovery) CreatePrivateDnsNamespaceRequest(input *CreatePrivateDnsNamespaceInput) (req *request.Request, output *CreatePrivateDnsNamespaceOutput) { 144 op := &request.Operation{ 145 Name: opCreatePrivateDnsNamespace, 146 HTTPMethod: "POST", 147 HTTPPath: "/", 148 } 149 150 if input == nil { 151 input = &CreatePrivateDnsNamespaceInput{} 152 } 153 154 output = &CreatePrivateDnsNamespaceOutput{} 155 req = c.newRequest(op, input, output) 156 return 157} 158 159// CreatePrivateDnsNamespace API operation for AWS Cloud Map. 160// 161// Creates a private namespace based on DNS, which will be visible only inside 162// a specified Amazon VPC. The namespace defines your service naming scheme. 163// For example, if you name your namespace example.com and name your service 164// backend, the resulting DNS name for the service will be backend.example.com. 165// For the current quota on the number of namespaces that you can create using 166// the same AWS account, see AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) 167// in the AWS Cloud Map Developer Guide. 168// 169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 170// with awserr.Error's Code and Message methods to get detailed information about 171// the error. 172// 173// See the AWS API reference guide for AWS Cloud Map's 174// API operation CreatePrivateDnsNamespace for usage and error information. 175// 176// Returned Error Types: 177// * InvalidInput 178// One or more specified values aren't valid. For example, a required value 179// might be missing, a numeric value might be outside the allowed range, or 180// a string value might exceed length constraints. 181// 182// * NamespaceAlreadyExists 183// The namespace that you're trying to create already exists. 184// 185// * ResourceLimitExceeded 186// The resource can't be created because you've reached the quota on the number 187// of resources. 188// 189// * DuplicateRequest 190// The operation is already in progress. 191// 192// * TooManyTagsException 193// The list of tags on the resource is over the quota. The maximum number of 194// tags that can be applied to a resource is 50. 195// 196// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePrivateDnsNamespace 197func (c *ServiceDiscovery) CreatePrivateDnsNamespace(input *CreatePrivateDnsNamespaceInput) (*CreatePrivateDnsNamespaceOutput, error) { 198 req, out := c.CreatePrivateDnsNamespaceRequest(input) 199 return out, req.Send() 200} 201 202// CreatePrivateDnsNamespaceWithContext is the same as CreatePrivateDnsNamespace with the addition of 203// the ability to pass a context and additional request options. 204// 205// See CreatePrivateDnsNamespace for details on how to use this API operation. 206// 207// The context must be non-nil and will be used for request cancellation. If 208// the context is nil a panic will occur. In the future the SDK may create 209// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 210// for more information on using Contexts. 211func (c *ServiceDiscovery) CreatePrivateDnsNamespaceWithContext(ctx aws.Context, input *CreatePrivateDnsNamespaceInput, opts ...request.Option) (*CreatePrivateDnsNamespaceOutput, error) { 212 req, out := c.CreatePrivateDnsNamespaceRequest(input) 213 req.SetContext(ctx) 214 req.ApplyOptions(opts...) 215 return out, req.Send() 216} 217 218const opCreatePublicDnsNamespace = "CreatePublicDnsNamespace" 219 220// CreatePublicDnsNamespaceRequest generates a "aws/request.Request" representing the 221// client's request for the CreatePublicDnsNamespace operation. The "output" return 222// value will be populated with the request's response once the request completes 223// successfully. 224// 225// Use "Send" method on the returned Request to send the API call to the service. 226// the "output" return value is not valid until after Send returns without error. 227// 228// See CreatePublicDnsNamespace for more information on using the CreatePublicDnsNamespace 229// API call, and error handling. 230// 231// This method is useful when you want to inject custom logic or configuration 232// into the SDK's request lifecycle. Such as custom headers, or retry logic. 233// 234// 235// // Example sending a request using the CreatePublicDnsNamespaceRequest method. 236// req, resp := client.CreatePublicDnsNamespaceRequest(params) 237// 238// err := req.Send() 239// if err == nil { // resp is now filled 240// fmt.Println(resp) 241// } 242// 243// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePublicDnsNamespace 244func (c *ServiceDiscovery) CreatePublicDnsNamespaceRequest(input *CreatePublicDnsNamespaceInput) (req *request.Request, output *CreatePublicDnsNamespaceOutput) { 245 op := &request.Operation{ 246 Name: opCreatePublicDnsNamespace, 247 HTTPMethod: "POST", 248 HTTPPath: "/", 249 } 250 251 if input == nil { 252 input = &CreatePublicDnsNamespaceInput{} 253 } 254 255 output = &CreatePublicDnsNamespaceOutput{} 256 req = c.newRequest(op, input, output) 257 return 258} 259 260// CreatePublicDnsNamespace API operation for AWS Cloud Map. 261// 262// Creates a public namespace based on DNS, which will be visible on the internet. 263// The namespace defines your service naming scheme. For example, if you name 264// your namespace example.com and name your service backend, the resulting DNS 265// name for the service will be backend.example.com. For the current quota on 266// the number of namespaces that you can create using the same AWS account, 267// see AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) 268// in the AWS Cloud Map Developer Guide. 269// 270// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 271// with awserr.Error's Code and Message methods to get detailed information about 272// the error. 273// 274// See the AWS API reference guide for AWS Cloud Map's 275// API operation CreatePublicDnsNamespace for usage and error information. 276// 277// Returned Error Types: 278// * InvalidInput 279// One or more specified values aren't valid. For example, a required value 280// might be missing, a numeric value might be outside the allowed range, or 281// a string value might exceed length constraints. 282// 283// * NamespaceAlreadyExists 284// The namespace that you're trying to create already exists. 285// 286// * ResourceLimitExceeded 287// The resource can't be created because you've reached the quota on the number 288// of resources. 289// 290// * DuplicateRequest 291// The operation is already in progress. 292// 293// * TooManyTagsException 294// The list of tags on the resource is over the quota. The maximum number of 295// tags that can be applied to a resource is 50. 296// 297// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePublicDnsNamespace 298func (c *ServiceDiscovery) CreatePublicDnsNamespace(input *CreatePublicDnsNamespaceInput) (*CreatePublicDnsNamespaceOutput, error) { 299 req, out := c.CreatePublicDnsNamespaceRequest(input) 300 return out, req.Send() 301} 302 303// CreatePublicDnsNamespaceWithContext is the same as CreatePublicDnsNamespace with the addition of 304// the ability to pass a context and additional request options. 305// 306// See CreatePublicDnsNamespace for details on how to use this API operation. 307// 308// The context must be non-nil and will be used for request cancellation. If 309// the context is nil a panic will occur. In the future the SDK may create 310// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 311// for more information on using Contexts. 312func (c *ServiceDiscovery) CreatePublicDnsNamespaceWithContext(ctx aws.Context, input *CreatePublicDnsNamespaceInput, opts ...request.Option) (*CreatePublicDnsNamespaceOutput, error) { 313 req, out := c.CreatePublicDnsNamespaceRequest(input) 314 req.SetContext(ctx) 315 req.ApplyOptions(opts...) 316 return out, req.Send() 317} 318 319const opCreateService = "CreateService" 320 321// CreateServiceRequest generates a "aws/request.Request" representing the 322// client's request for the CreateService operation. The "output" return 323// value will be populated with the request's response once the request completes 324// successfully. 325// 326// Use "Send" method on the returned Request to send the API call to the service. 327// the "output" return value is not valid until after Send returns without error. 328// 329// See CreateService for more information on using the CreateService 330// API call, and error handling. 331// 332// This method is useful when you want to inject custom logic or configuration 333// into the SDK's request lifecycle. Such as custom headers, or retry logic. 334// 335// 336// // Example sending a request using the CreateServiceRequest method. 337// req, resp := client.CreateServiceRequest(params) 338// 339// err := req.Send() 340// if err == nil { // resp is now filled 341// fmt.Println(resp) 342// } 343// 344// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateService 345func (c *ServiceDiscovery) CreateServiceRequest(input *CreateServiceInput) (req *request.Request, output *CreateServiceOutput) { 346 op := &request.Operation{ 347 Name: opCreateService, 348 HTTPMethod: "POST", 349 HTTPPath: "/", 350 } 351 352 if input == nil { 353 input = &CreateServiceInput{} 354 } 355 356 output = &CreateServiceOutput{} 357 req = c.newRequest(op, input, output) 358 return 359} 360 361// CreateService API operation for AWS Cloud Map. 362// 363// Creates a service, which defines the configuration for the following entities: 364// 365// * For public and private DNS namespaces, one of the following combinations 366// of DNS records in Amazon Route 53: A AAAA A and AAAA SRV CNAME 367// 368// * Optionally, a health check 369// 370// After you create the service, you can submit a RegisterInstance (https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html) 371// request, and AWS Cloud Map uses the values in the configuration to create 372// the specified entities. 373// 374// For the current quota on the number of instances that you can register using 375// the same namespace and using the same service, see AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) 376// in the AWS Cloud Map Developer Guide. 377// 378// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 379// with awserr.Error's Code and Message methods to get detailed information about 380// the error. 381// 382// See the AWS API reference guide for AWS Cloud Map's 383// API operation CreateService for usage and error information. 384// 385// Returned Error Types: 386// * InvalidInput 387// One or more specified values aren't valid. For example, a required value 388// might be missing, a numeric value might be outside the allowed range, or 389// a string value might exceed length constraints. 390// 391// * ResourceLimitExceeded 392// The resource can't be created because you've reached the quota on the number 393// of resources. 394// 395// * NamespaceNotFound 396// No namespace exists with the specified ID. 397// 398// * ServiceAlreadyExists 399// The service can't be created because a service with the same name already 400// exists. 401// 402// * TooManyTagsException 403// The list of tags on the resource is over the quota. The maximum number of 404// tags that can be applied to a resource is 50. 405// 406// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateService 407func (c *ServiceDiscovery) CreateService(input *CreateServiceInput) (*CreateServiceOutput, error) { 408 req, out := c.CreateServiceRequest(input) 409 return out, req.Send() 410} 411 412// CreateServiceWithContext is the same as CreateService with the addition of 413// the ability to pass a context and additional request options. 414// 415// See CreateService for details on how to use this API operation. 416// 417// The context must be non-nil and will be used for request cancellation. If 418// the context is nil a panic will occur. In the future the SDK may create 419// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 420// for more information on using Contexts. 421func (c *ServiceDiscovery) CreateServiceWithContext(ctx aws.Context, input *CreateServiceInput, opts ...request.Option) (*CreateServiceOutput, error) { 422 req, out := c.CreateServiceRequest(input) 423 req.SetContext(ctx) 424 req.ApplyOptions(opts...) 425 return out, req.Send() 426} 427 428const opDeleteNamespace = "DeleteNamespace" 429 430// DeleteNamespaceRequest generates a "aws/request.Request" representing the 431// client's request for the DeleteNamespace operation. The "output" return 432// value will be populated with the request's response once the request completes 433// successfully. 434// 435// Use "Send" method on the returned Request to send the API call to the service. 436// the "output" return value is not valid until after Send returns without error. 437// 438// See DeleteNamespace for more information on using the DeleteNamespace 439// API call, and error handling. 440// 441// This method is useful when you want to inject custom logic or configuration 442// into the SDK's request lifecycle. Such as custom headers, or retry logic. 443// 444// 445// // Example sending a request using the DeleteNamespaceRequest method. 446// req, resp := client.DeleteNamespaceRequest(params) 447// 448// err := req.Send() 449// if err == nil { // resp is now filled 450// fmt.Println(resp) 451// } 452// 453// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteNamespace 454func (c *ServiceDiscovery) DeleteNamespaceRequest(input *DeleteNamespaceInput) (req *request.Request, output *DeleteNamespaceOutput) { 455 op := &request.Operation{ 456 Name: opDeleteNamespace, 457 HTTPMethod: "POST", 458 HTTPPath: "/", 459 } 460 461 if input == nil { 462 input = &DeleteNamespaceInput{} 463 } 464 465 output = &DeleteNamespaceOutput{} 466 req = c.newRequest(op, input, output) 467 return 468} 469 470// DeleteNamespace API operation for AWS Cloud Map. 471// 472// Deletes a namespace from the current account. If the namespace still contains 473// one or more services, the request fails. 474// 475// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 476// with awserr.Error's Code and Message methods to get detailed information about 477// the error. 478// 479// See the AWS API reference guide for AWS Cloud Map's 480// API operation DeleteNamespace for usage and error information. 481// 482// Returned Error Types: 483// * InvalidInput 484// One or more specified values aren't valid. For example, a required value 485// might be missing, a numeric value might be outside the allowed range, or 486// a string value might exceed length constraints. 487// 488// * NamespaceNotFound 489// No namespace exists with the specified ID. 490// 491// * ResourceInUse 492// The specified resource can't be deleted because it contains other resources. 493// For example, you can't delete a service that contains any instances. 494// 495// * DuplicateRequest 496// The operation is already in progress. 497// 498// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteNamespace 499func (c *ServiceDiscovery) DeleteNamespace(input *DeleteNamespaceInput) (*DeleteNamespaceOutput, error) { 500 req, out := c.DeleteNamespaceRequest(input) 501 return out, req.Send() 502} 503 504// DeleteNamespaceWithContext is the same as DeleteNamespace with the addition of 505// the ability to pass a context and additional request options. 506// 507// See DeleteNamespace for details on how to use this API operation. 508// 509// The context must be non-nil and will be used for request cancellation. If 510// the context is nil a panic will occur. In the future the SDK may create 511// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 512// for more information on using Contexts. 513func (c *ServiceDiscovery) DeleteNamespaceWithContext(ctx aws.Context, input *DeleteNamespaceInput, opts ...request.Option) (*DeleteNamespaceOutput, error) { 514 req, out := c.DeleteNamespaceRequest(input) 515 req.SetContext(ctx) 516 req.ApplyOptions(opts...) 517 return out, req.Send() 518} 519 520const opDeleteService = "DeleteService" 521 522// DeleteServiceRequest generates a "aws/request.Request" representing the 523// client's request for the DeleteService operation. The "output" return 524// value will be populated with the request's response once the request completes 525// successfully. 526// 527// Use "Send" method on the returned Request to send the API call to the service. 528// the "output" return value is not valid until after Send returns without error. 529// 530// See DeleteService for more information on using the DeleteService 531// API call, and error handling. 532// 533// This method is useful when you want to inject custom logic or configuration 534// into the SDK's request lifecycle. Such as custom headers, or retry logic. 535// 536// 537// // Example sending a request using the DeleteServiceRequest method. 538// req, resp := client.DeleteServiceRequest(params) 539// 540// err := req.Send() 541// if err == nil { // resp is now filled 542// fmt.Println(resp) 543// } 544// 545// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteService 546func (c *ServiceDiscovery) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Request, output *DeleteServiceOutput) { 547 op := &request.Operation{ 548 Name: opDeleteService, 549 HTTPMethod: "POST", 550 HTTPPath: "/", 551 } 552 553 if input == nil { 554 input = &DeleteServiceInput{} 555 } 556 557 output = &DeleteServiceOutput{} 558 req = c.newRequest(op, input, output) 559 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 560 return 561} 562 563// DeleteService API operation for AWS Cloud Map. 564// 565// Deletes a specified service. If the service still contains one or more registered 566// instances, the request fails. 567// 568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 569// with awserr.Error's Code and Message methods to get detailed information about 570// the error. 571// 572// See the AWS API reference guide for AWS Cloud Map's 573// API operation DeleteService for usage and error information. 574// 575// Returned Error Types: 576// * InvalidInput 577// One or more specified values aren't valid. For example, a required value 578// might be missing, a numeric value might be outside the allowed range, or 579// a string value might exceed length constraints. 580// 581// * ServiceNotFound 582// No service exists with the specified ID. 583// 584// * ResourceInUse 585// The specified resource can't be deleted because it contains other resources. 586// For example, you can't delete a service that contains any instances. 587// 588// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeleteService 589func (c *ServiceDiscovery) DeleteService(input *DeleteServiceInput) (*DeleteServiceOutput, error) { 590 req, out := c.DeleteServiceRequest(input) 591 return out, req.Send() 592} 593 594// DeleteServiceWithContext is the same as DeleteService with the addition of 595// the ability to pass a context and additional request options. 596// 597// See DeleteService for details on how to use this API operation. 598// 599// The context must be non-nil and will be used for request cancellation. If 600// the context is nil a panic will occur. In the future the SDK may create 601// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 602// for more information on using Contexts. 603func (c *ServiceDiscovery) DeleteServiceWithContext(ctx aws.Context, input *DeleteServiceInput, opts ...request.Option) (*DeleteServiceOutput, error) { 604 req, out := c.DeleteServiceRequest(input) 605 req.SetContext(ctx) 606 req.ApplyOptions(opts...) 607 return out, req.Send() 608} 609 610const opDeregisterInstance = "DeregisterInstance" 611 612// DeregisterInstanceRequest generates a "aws/request.Request" representing the 613// client's request for the DeregisterInstance operation. The "output" return 614// value will be populated with the request's response once the request completes 615// successfully. 616// 617// Use "Send" method on the returned Request to send the API call to the service. 618// the "output" return value is not valid until after Send returns without error. 619// 620// See DeregisterInstance for more information on using the DeregisterInstance 621// API call, and error handling. 622// 623// This method is useful when you want to inject custom logic or configuration 624// into the SDK's request lifecycle. Such as custom headers, or retry logic. 625// 626// 627// // Example sending a request using the DeregisterInstanceRequest method. 628// req, resp := client.DeregisterInstanceRequest(params) 629// 630// err := req.Send() 631// if err == nil { // resp is now filled 632// fmt.Println(resp) 633// } 634// 635// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeregisterInstance 636func (c *ServiceDiscovery) DeregisterInstanceRequest(input *DeregisterInstanceInput) (req *request.Request, output *DeregisterInstanceOutput) { 637 op := &request.Operation{ 638 Name: opDeregisterInstance, 639 HTTPMethod: "POST", 640 HTTPPath: "/", 641 } 642 643 if input == nil { 644 input = &DeregisterInstanceInput{} 645 } 646 647 output = &DeregisterInstanceOutput{} 648 req = c.newRequest(op, input, output) 649 return 650} 651 652// DeregisterInstance API operation for AWS Cloud Map. 653// 654// Deletes the Amazon Route 53 DNS records and health check, if any, that AWS 655// Cloud Map created for the specified instance. 656// 657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 658// with awserr.Error's Code and Message methods to get detailed information about 659// the error. 660// 661// See the AWS API reference guide for AWS Cloud Map's 662// API operation DeregisterInstance for usage and error information. 663// 664// Returned Error Types: 665// * DuplicateRequest 666// The operation is already in progress. 667// 668// * InvalidInput 669// One or more specified values aren't valid. For example, a required value 670// might be missing, a numeric value might be outside the allowed range, or 671// a string value might exceed length constraints. 672// 673// * InstanceNotFound 674// No instance exists with the specified ID, or the instance was recently registered, 675// and information about the instance hasn't propagated yet. 676// 677// * ResourceInUse 678// The specified resource can't be deleted because it contains other resources. 679// For example, you can't delete a service that contains any instances. 680// 681// * ServiceNotFound 682// No service exists with the specified ID. 683// 684// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DeregisterInstance 685func (c *ServiceDiscovery) DeregisterInstance(input *DeregisterInstanceInput) (*DeregisterInstanceOutput, error) { 686 req, out := c.DeregisterInstanceRequest(input) 687 return out, req.Send() 688} 689 690// DeregisterInstanceWithContext is the same as DeregisterInstance with the addition of 691// the ability to pass a context and additional request options. 692// 693// See DeregisterInstance for details on how to use this API operation. 694// 695// The context must be non-nil and will be used for request cancellation. If 696// the context is nil a panic will occur. In the future the SDK may create 697// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 698// for more information on using Contexts. 699func (c *ServiceDiscovery) DeregisterInstanceWithContext(ctx aws.Context, input *DeregisterInstanceInput, opts ...request.Option) (*DeregisterInstanceOutput, error) { 700 req, out := c.DeregisterInstanceRequest(input) 701 req.SetContext(ctx) 702 req.ApplyOptions(opts...) 703 return out, req.Send() 704} 705 706const opDiscoverInstances = "DiscoverInstances" 707 708// DiscoverInstancesRequest generates a "aws/request.Request" representing the 709// client's request for the DiscoverInstances operation. The "output" return 710// value will be populated with the request's response once the request completes 711// successfully. 712// 713// Use "Send" method on the returned Request to send the API call to the service. 714// the "output" return value is not valid until after Send returns without error. 715// 716// See DiscoverInstances for more information on using the DiscoverInstances 717// API call, and error handling. 718// 719// This method is useful when you want to inject custom logic or configuration 720// into the SDK's request lifecycle. Such as custom headers, or retry logic. 721// 722// 723// // Example sending a request using the DiscoverInstancesRequest method. 724// req, resp := client.DiscoverInstancesRequest(params) 725// 726// err := req.Send() 727// if err == nil { // resp is now filled 728// fmt.Println(resp) 729// } 730// 731// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DiscoverInstances 732func (c *ServiceDiscovery) DiscoverInstancesRequest(input *DiscoverInstancesInput) (req *request.Request, output *DiscoverInstancesOutput) { 733 op := &request.Operation{ 734 Name: opDiscoverInstances, 735 HTTPMethod: "POST", 736 HTTPPath: "/", 737 } 738 739 if input == nil { 740 input = &DiscoverInstancesInput{} 741 } 742 743 output = &DiscoverInstancesOutput{} 744 req = c.newRequest(op, input, output) 745 req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data-", nil)) 746 req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) 747 return 748} 749 750// DiscoverInstances API operation for AWS Cloud Map. 751// 752// Discovers registered instances for a specified namespace and service. You 753// can use DiscoverInstances to discover instances for any type of namespace. 754// For public and private DNS namespaces, you can also use DNS queries to discover 755// instances. 756// 757// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 758// with awserr.Error's Code and Message methods to get detailed information about 759// the error. 760// 761// See the AWS API reference guide for AWS Cloud Map's 762// API operation DiscoverInstances for usage and error information. 763// 764// Returned Error Types: 765// * ServiceNotFound 766// No service exists with the specified ID. 767// 768// * NamespaceNotFound 769// No namespace exists with the specified ID. 770// 771// * InvalidInput 772// One or more specified values aren't valid. For example, a required value 773// might be missing, a numeric value might be outside the allowed range, or 774// a string value might exceed length constraints. 775// 776// * RequestLimitExceeded 777// The operation can't be completed because you've reached the quota for the 778// number of requests. For more information, see AWS Cloud Map API request throttling 779// quota (https://docs.aws.amazon.com/cloud-map/latest/dg/throttling.html) in 780// the AWS Cloud Map Developer Guide. 781// 782// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DiscoverInstances 783func (c *ServiceDiscovery) DiscoverInstances(input *DiscoverInstancesInput) (*DiscoverInstancesOutput, error) { 784 req, out := c.DiscoverInstancesRequest(input) 785 return out, req.Send() 786} 787 788// DiscoverInstancesWithContext is the same as DiscoverInstances with the addition of 789// the ability to pass a context and additional request options. 790// 791// See DiscoverInstances for details on how to use this API operation. 792// 793// The context must be non-nil and will be used for request cancellation. If 794// the context is nil a panic will occur. In the future the SDK may create 795// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 796// for more information on using Contexts. 797func (c *ServiceDiscovery) DiscoverInstancesWithContext(ctx aws.Context, input *DiscoverInstancesInput, opts ...request.Option) (*DiscoverInstancesOutput, error) { 798 req, out := c.DiscoverInstancesRequest(input) 799 req.SetContext(ctx) 800 req.ApplyOptions(opts...) 801 return out, req.Send() 802} 803 804const opGetInstance = "GetInstance" 805 806// GetInstanceRequest generates a "aws/request.Request" representing the 807// client's request for the GetInstance operation. The "output" return 808// value will be populated with the request's response once the request completes 809// successfully. 810// 811// Use "Send" method on the returned Request to send the API call to the service. 812// the "output" return value is not valid until after Send returns without error. 813// 814// See GetInstance for more information on using the GetInstance 815// API call, and error handling. 816// 817// This method is useful when you want to inject custom logic or configuration 818// into the SDK's request lifecycle. Such as custom headers, or retry logic. 819// 820// 821// // Example sending a request using the GetInstanceRequest method. 822// req, resp := client.GetInstanceRequest(params) 823// 824// err := req.Send() 825// if err == nil { // resp is now filled 826// fmt.Println(resp) 827// } 828// 829// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetInstance 830func (c *ServiceDiscovery) GetInstanceRequest(input *GetInstanceInput) (req *request.Request, output *GetInstanceOutput) { 831 op := &request.Operation{ 832 Name: opGetInstance, 833 HTTPMethod: "POST", 834 HTTPPath: "/", 835 } 836 837 if input == nil { 838 input = &GetInstanceInput{} 839 } 840 841 output = &GetInstanceOutput{} 842 req = c.newRequest(op, input, output) 843 return 844} 845 846// GetInstance API operation for AWS Cloud Map. 847// 848// Gets information about a specified instance. 849// 850// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 851// with awserr.Error's Code and Message methods to get detailed information about 852// the error. 853// 854// See the AWS API reference guide for AWS Cloud Map's 855// API operation GetInstance for usage and error information. 856// 857// Returned Error Types: 858// * InstanceNotFound 859// No instance exists with the specified ID, or the instance was recently registered, 860// and information about the instance hasn't propagated yet. 861// 862// * InvalidInput 863// One or more specified values aren't valid. For example, a required value 864// might be missing, a numeric value might be outside the allowed range, or 865// a string value might exceed length constraints. 866// 867// * ServiceNotFound 868// No service exists with the specified ID. 869// 870// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetInstance 871func (c *ServiceDiscovery) GetInstance(input *GetInstanceInput) (*GetInstanceOutput, error) { 872 req, out := c.GetInstanceRequest(input) 873 return out, req.Send() 874} 875 876// GetInstanceWithContext is the same as GetInstance with the addition of 877// the ability to pass a context and additional request options. 878// 879// See GetInstance for details on how to use this API operation. 880// 881// The context must be non-nil and will be used for request cancellation. If 882// the context is nil a panic will occur. In the future the SDK may create 883// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 884// for more information on using Contexts. 885func (c *ServiceDiscovery) GetInstanceWithContext(ctx aws.Context, input *GetInstanceInput, opts ...request.Option) (*GetInstanceOutput, error) { 886 req, out := c.GetInstanceRequest(input) 887 req.SetContext(ctx) 888 req.ApplyOptions(opts...) 889 return out, req.Send() 890} 891 892const opGetInstancesHealthStatus = "GetInstancesHealthStatus" 893 894// GetInstancesHealthStatusRequest generates a "aws/request.Request" representing the 895// client's request for the GetInstancesHealthStatus operation. The "output" return 896// value will be populated with the request's response once the request completes 897// successfully. 898// 899// Use "Send" method on the returned Request to send the API call to the service. 900// the "output" return value is not valid until after Send returns without error. 901// 902// See GetInstancesHealthStatus for more information on using the GetInstancesHealthStatus 903// API call, and error handling. 904// 905// This method is useful when you want to inject custom logic or configuration 906// into the SDK's request lifecycle. Such as custom headers, or retry logic. 907// 908// 909// // Example sending a request using the GetInstancesHealthStatusRequest method. 910// req, resp := client.GetInstancesHealthStatusRequest(params) 911// 912// err := req.Send() 913// if err == nil { // resp is now filled 914// fmt.Println(resp) 915// } 916// 917// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetInstancesHealthStatus 918func (c *ServiceDiscovery) GetInstancesHealthStatusRequest(input *GetInstancesHealthStatusInput) (req *request.Request, output *GetInstancesHealthStatusOutput) { 919 op := &request.Operation{ 920 Name: opGetInstancesHealthStatus, 921 HTTPMethod: "POST", 922 HTTPPath: "/", 923 Paginator: &request.Paginator{ 924 InputTokens: []string{"NextToken"}, 925 OutputTokens: []string{"NextToken"}, 926 LimitToken: "MaxResults", 927 TruncationToken: "", 928 }, 929 } 930 931 if input == nil { 932 input = &GetInstancesHealthStatusInput{} 933 } 934 935 output = &GetInstancesHealthStatusOutput{} 936 req = c.newRequest(op, input, output) 937 return 938} 939 940// GetInstancesHealthStatus API operation for AWS Cloud Map. 941// 942// Gets the current health status (Healthy, Unhealthy, or Unknown) of one or 943// more instances that are associated with a specified service. 944// 945// There is a brief delay between when you register an instance and when the 946// health status for the instance is available. 947// 948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 949// with awserr.Error's Code and Message methods to get detailed information about 950// the error. 951// 952// See the AWS API reference guide for AWS Cloud Map's 953// API operation GetInstancesHealthStatus for usage and error information. 954// 955// Returned Error Types: 956// * InstanceNotFound 957// No instance exists with the specified ID, or the instance was recently registered, 958// and information about the instance hasn't propagated yet. 959// 960// * InvalidInput 961// One or more specified values aren't valid. For example, a required value 962// might be missing, a numeric value might be outside the allowed range, or 963// a string value might exceed length constraints. 964// 965// * ServiceNotFound 966// No service exists with the specified ID. 967// 968// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetInstancesHealthStatus 969func (c *ServiceDiscovery) GetInstancesHealthStatus(input *GetInstancesHealthStatusInput) (*GetInstancesHealthStatusOutput, error) { 970 req, out := c.GetInstancesHealthStatusRequest(input) 971 return out, req.Send() 972} 973 974// GetInstancesHealthStatusWithContext is the same as GetInstancesHealthStatus with the addition of 975// the ability to pass a context and additional request options. 976// 977// See GetInstancesHealthStatus for details on how to use this API operation. 978// 979// The context must be non-nil and will be used for request cancellation. If 980// the context is nil a panic will occur. In the future the SDK may create 981// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 982// for more information on using Contexts. 983func (c *ServiceDiscovery) GetInstancesHealthStatusWithContext(ctx aws.Context, input *GetInstancesHealthStatusInput, opts ...request.Option) (*GetInstancesHealthStatusOutput, error) { 984 req, out := c.GetInstancesHealthStatusRequest(input) 985 req.SetContext(ctx) 986 req.ApplyOptions(opts...) 987 return out, req.Send() 988} 989 990// GetInstancesHealthStatusPages iterates over the pages of a GetInstancesHealthStatus operation, 991// calling the "fn" function with the response data for each page. To stop 992// iterating, return false from the fn function. 993// 994// See GetInstancesHealthStatus method for more information on how to use this operation. 995// 996// Note: This operation can generate multiple requests to a service. 997// 998// // Example iterating over at most 3 pages of a GetInstancesHealthStatus operation. 999// pageNum := 0 1000// err := client.GetInstancesHealthStatusPages(params, 1001// func(page *servicediscovery.GetInstancesHealthStatusOutput, lastPage bool) bool { 1002// pageNum++ 1003// fmt.Println(page) 1004// return pageNum <= 3 1005// }) 1006// 1007func (c *ServiceDiscovery) GetInstancesHealthStatusPages(input *GetInstancesHealthStatusInput, fn func(*GetInstancesHealthStatusOutput, bool) bool) error { 1008 return c.GetInstancesHealthStatusPagesWithContext(aws.BackgroundContext(), input, fn) 1009} 1010 1011// GetInstancesHealthStatusPagesWithContext same as GetInstancesHealthStatusPages except 1012// it takes a Context and allows setting request options on the pages. 1013// 1014// The context must be non-nil and will be used for request cancellation. If 1015// the context is nil a panic will occur. In the future the SDK may create 1016// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1017// for more information on using Contexts. 1018func (c *ServiceDiscovery) GetInstancesHealthStatusPagesWithContext(ctx aws.Context, input *GetInstancesHealthStatusInput, fn func(*GetInstancesHealthStatusOutput, bool) bool, opts ...request.Option) error { 1019 p := request.Pagination{ 1020 NewRequest: func() (*request.Request, error) { 1021 var inCpy *GetInstancesHealthStatusInput 1022 if input != nil { 1023 tmp := *input 1024 inCpy = &tmp 1025 } 1026 req, _ := c.GetInstancesHealthStatusRequest(inCpy) 1027 req.SetContext(ctx) 1028 req.ApplyOptions(opts...) 1029 return req, nil 1030 }, 1031 } 1032 1033 for p.Next() { 1034 if !fn(p.Page().(*GetInstancesHealthStatusOutput), !p.HasNextPage()) { 1035 break 1036 } 1037 } 1038 1039 return p.Err() 1040} 1041 1042const opGetNamespace = "GetNamespace" 1043 1044// GetNamespaceRequest generates a "aws/request.Request" representing the 1045// client's request for the GetNamespace operation. The "output" return 1046// value will be populated with the request's response once the request completes 1047// successfully. 1048// 1049// Use "Send" method on the returned Request to send the API call to the service. 1050// the "output" return value is not valid until after Send returns without error. 1051// 1052// See GetNamespace for more information on using the GetNamespace 1053// API call, and error handling. 1054// 1055// This method is useful when you want to inject custom logic or configuration 1056// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1057// 1058// 1059// // Example sending a request using the GetNamespaceRequest method. 1060// req, resp := client.GetNamespaceRequest(params) 1061// 1062// err := req.Send() 1063// if err == nil { // resp is now filled 1064// fmt.Println(resp) 1065// } 1066// 1067// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetNamespace 1068func (c *ServiceDiscovery) GetNamespaceRequest(input *GetNamespaceInput) (req *request.Request, output *GetNamespaceOutput) { 1069 op := &request.Operation{ 1070 Name: opGetNamespace, 1071 HTTPMethod: "POST", 1072 HTTPPath: "/", 1073 } 1074 1075 if input == nil { 1076 input = &GetNamespaceInput{} 1077 } 1078 1079 output = &GetNamespaceOutput{} 1080 req = c.newRequest(op, input, output) 1081 return 1082} 1083 1084// GetNamespace API operation for AWS Cloud Map. 1085// 1086// Gets information about a namespace. 1087// 1088// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1089// with awserr.Error's Code and Message methods to get detailed information about 1090// the error. 1091// 1092// See the AWS API reference guide for AWS Cloud Map's 1093// API operation GetNamespace for usage and error information. 1094// 1095// Returned Error Types: 1096// * InvalidInput 1097// One or more specified values aren't valid. For example, a required value 1098// might be missing, a numeric value might be outside the allowed range, or 1099// a string value might exceed length constraints. 1100// 1101// * NamespaceNotFound 1102// No namespace exists with the specified ID. 1103// 1104// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetNamespace 1105func (c *ServiceDiscovery) GetNamespace(input *GetNamespaceInput) (*GetNamespaceOutput, error) { 1106 req, out := c.GetNamespaceRequest(input) 1107 return out, req.Send() 1108} 1109 1110// GetNamespaceWithContext is the same as GetNamespace with the addition of 1111// the ability to pass a context and additional request options. 1112// 1113// See GetNamespace for details on how to use this API operation. 1114// 1115// The context must be non-nil and will be used for request cancellation. If 1116// the context is nil a panic will occur. In the future the SDK may create 1117// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1118// for more information on using Contexts. 1119func (c *ServiceDiscovery) GetNamespaceWithContext(ctx aws.Context, input *GetNamespaceInput, opts ...request.Option) (*GetNamespaceOutput, error) { 1120 req, out := c.GetNamespaceRequest(input) 1121 req.SetContext(ctx) 1122 req.ApplyOptions(opts...) 1123 return out, req.Send() 1124} 1125 1126const opGetOperation = "GetOperation" 1127 1128// GetOperationRequest generates a "aws/request.Request" representing the 1129// client's request for the GetOperation operation. The "output" return 1130// value will be populated with the request's response once the request completes 1131// successfully. 1132// 1133// Use "Send" method on the returned Request to send the API call to the service. 1134// the "output" return value is not valid until after Send returns without error. 1135// 1136// See GetOperation for more information on using the GetOperation 1137// API call, and error handling. 1138// 1139// This method is useful when you want to inject custom logic or configuration 1140// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1141// 1142// 1143// // Example sending a request using the GetOperationRequest method. 1144// req, resp := client.GetOperationRequest(params) 1145// 1146// err := req.Send() 1147// if err == nil { // resp is now filled 1148// fmt.Println(resp) 1149// } 1150// 1151// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetOperation 1152func (c *ServiceDiscovery) GetOperationRequest(input *GetOperationInput) (req *request.Request, output *GetOperationOutput) { 1153 op := &request.Operation{ 1154 Name: opGetOperation, 1155 HTTPMethod: "POST", 1156 HTTPPath: "/", 1157 } 1158 1159 if input == nil { 1160 input = &GetOperationInput{} 1161 } 1162 1163 output = &GetOperationOutput{} 1164 req = c.newRequest(op, input, output) 1165 return 1166} 1167 1168// GetOperation API operation for AWS Cloud Map. 1169// 1170// Gets information about any operation that returns an operation ID in the 1171// response, such as a CreateService request. 1172// 1173// To get a list of operations that match specified criteria, see ListOperations 1174// (https://docs.aws.amazon.com/cloud-map/latest/api/API_ListOperations.html). 1175// 1176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1177// with awserr.Error's Code and Message methods to get detailed information about 1178// the error. 1179// 1180// See the AWS API reference guide for AWS Cloud Map's 1181// API operation GetOperation for usage and error information. 1182// 1183// Returned Error Types: 1184// * InvalidInput 1185// One or more specified values aren't valid. For example, a required value 1186// might be missing, a numeric value might be outside the allowed range, or 1187// a string value might exceed length constraints. 1188// 1189// * OperationNotFound 1190// No operation exists with the specified ID. 1191// 1192// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetOperation 1193func (c *ServiceDiscovery) GetOperation(input *GetOperationInput) (*GetOperationOutput, error) { 1194 req, out := c.GetOperationRequest(input) 1195 return out, req.Send() 1196} 1197 1198// GetOperationWithContext is the same as GetOperation with the addition of 1199// the ability to pass a context and additional request options. 1200// 1201// See GetOperation for details on how to use this API operation. 1202// 1203// The context must be non-nil and will be used for request cancellation. If 1204// the context is nil a panic will occur. In the future the SDK may create 1205// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1206// for more information on using Contexts. 1207func (c *ServiceDiscovery) GetOperationWithContext(ctx aws.Context, input *GetOperationInput, opts ...request.Option) (*GetOperationOutput, error) { 1208 req, out := c.GetOperationRequest(input) 1209 req.SetContext(ctx) 1210 req.ApplyOptions(opts...) 1211 return out, req.Send() 1212} 1213 1214const opGetService = "GetService" 1215 1216// GetServiceRequest generates a "aws/request.Request" representing the 1217// client's request for the GetService operation. The "output" return 1218// value will be populated with the request's response once the request completes 1219// successfully. 1220// 1221// Use "Send" method on the returned Request to send the API call to the service. 1222// the "output" return value is not valid until after Send returns without error. 1223// 1224// See GetService for more information on using the GetService 1225// API call, and error handling. 1226// 1227// This method is useful when you want to inject custom logic or configuration 1228// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1229// 1230// 1231// // Example sending a request using the GetServiceRequest method. 1232// req, resp := client.GetServiceRequest(params) 1233// 1234// err := req.Send() 1235// if err == nil { // resp is now filled 1236// fmt.Println(resp) 1237// } 1238// 1239// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetService 1240func (c *ServiceDiscovery) GetServiceRequest(input *GetServiceInput) (req *request.Request, output *GetServiceOutput) { 1241 op := &request.Operation{ 1242 Name: opGetService, 1243 HTTPMethod: "POST", 1244 HTTPPath: "/", 1245 } 1246 1247 if input == nil { 1248 input = &GetServiceInput{} 1249 } 1250 1251 output = &GetServiceOutput{} 1252 req = c.newRequest(op, input, output) 1253 return 1254} 1255 1256// GetService API operation for AWS Cloud Map. 1257// 1258// Gets the settings for a specified service. 1259// 1260// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1261// with awserr.Error's Code and Message methods to get detailed information about 1262// the error. 1263// 1264// See the AWS API reference guide for AWS Cloud Map's 1265// API operation GetService for usage and error information. 1266// 1267// Returned Error Types: 1268// * InvalidInput 1269// One or more specified values aren't valid. For example, a required value 1270// might be missing, a numeric value might be outside the allowed range, or 1271// a string value might exceed length constraints. 1272// 1273// * ServiceNotFound 1274// No service exists with the specified ID. 1275// 1276// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/GetService 1277func (c *ServiceDiscovery) GetService(input *GetServiceInput) (*GetServiceOutput, error) { 1278 req, out := c.GetServiceRequest(input) 1279 return out, req.Send() 1280} 1281 1282// GetServiceWithContext is the same as GetService with the addition of 1283// the ability to pass a context and additional request options. 1284// 1285// See GetService for details on how to use this API operation. 1286// 1287// The context must be non-nil and will be used for request cancellation. If 1288// the context is nil a panic will occur. In the future the SDK may create 1289// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1290// for more information on using Contexts. 1291func (c *ServiceDiscovery) GetServiceWithContext(ctx aws.Context, input *GetServiceInput, opts ...request.Option) (*GetServiceOutput, error) { 1292 req, out := c.GetServiceRequest(input) 1293 req.SetContext(ctx) 1294 req.ApplyOptions(opts...) 1295 return out, req.Send() 1296} 1297 1298const opListInstances = "ListInstances" 1299 1300// ListInstancesRequest generates a "aws/request.Request" representing the 1301// client's request for the ListInstances operation. The "output" return 1302// value will be populated with the request's response once the request completes 1303// successfully. 1304// 1305// Use "Send" method on the returned Request to send the API call to the service. 1306// the "output" return value is not valid until after Send returns without error. 1307// 1308// See ListInstances for more information on using the ListInstances 1309// API call, and error handling. 1310// 1311// This method is useful when you want to inject custom logic or configuration 1312// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1313// 1314// 1315// // Example sending a request using the ListInstancesRequest method. 1316// req, resp := client.ListInstancesRequest(params) 1317// 1318// err := req.Send() 1319// if err == nil { // resp is now filled 1320// fmt.Println(resp) 1321// } 1322// 1323// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListInstances 1324func (c *ServiceDiscovery) ListInstancesRequest(input *ListInstancesInput) (req *request.Request, output *ListInstancesOutput) { 1325 op := &request.Operation{ 1326 Name: opListInstances, 1327 HTTPMethod: "POST", 1328 HTTPPath: "/", 1329 Paginator: &request.Paginator{ 1330 InputTokens: []string{"NextToken"}, 1331 OutputTokens: []string{"NextToken"}, 1332 LimitToken: "MaxResults", 1333 TruncationToken: "", 1334 }, 1335 } 1336 1337 if input == nil { 1338 input = &ListInstancesInput{} 1339 } 1340 1341 output = &ListInstancesOutput{} 1342 req = c.newRequest(op, input, output) 1343 return 1344} 1345 1346// ListInstances API operation for AWS Cloud Map. 1347// 1348// Lists summary information about the instances that you registered by using 1349// a specified service. 1350// 1351// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1352// with awserr.Error's Code and Message methods to get detailed information about 1353// the error. 1354// 1355// See the AWS API reference guide for AWS Cloud Map's 1356// API operation ListInstances for usage and error information. 1357// 1358// Returned Error Types: 1359// * ServiceNotFound 1360// No service exists with the specified ID. 1361// 1362// * InvalidInput 1363// One or more specified values aren't valid. For example, a required value 1364// might be missing, a numeric value might be outside the allowed range, or 1365// a string value might exceed length constraints. 1366// 1367// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListInstances 1368func (c *ServiceDiscovery) ListInstances(input *ListInstancesInput) (*ListInstancesOutput, error) { 1369 req, out := c.ListInstancesRequest(input) 1370 return out, req.Send() 1371} 1372 1373// ListInstancesWithContext is the same as ListInstances with the addition of 1374// the ability to pass a context and additional request options. 1375// 1376// See ListInstances for details on how to use this API operation. 1377// 1378// The context must be non-nil and will be used for request cancellation. If 1379// the context is nil a panic will occur. In the future the SDK may create 1380// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1381// for more information on using Contexts. 1382func (c *ServiceDiscovery) ListInstancesWithContext(ctx aws.Context, input *ListInstancesInput, opts ...request.Option) (*ListInstancesOutput, error) { 1383 req, out := c.ListInstancesRequest(input) 1384 req.SetContext(ctx) 1385 req.ApplyOptions(opts...) 1386 return out, req.Send() 1387} 1388 1389// ListInstancesPages iterates over the pages of a ListInstances operation, 1390// calling the "fn" function with the response data for each page. To stop 1391// iterating, return false from the fn function. 1392// 1393// See ListInstances method for more information on how to use this operation. 1394// 1395// Note: This operation can generate multiple requests to a service. 1396// 1397// // Example iterating over at most 3 pages of a ListInstances operation. 1398// pageNum := 0 1399// err := client.ListInstancesPages(params, 1400// func(page *servicediscovery.ListInstancesOutput, lastPage bool) bool { 1401// pageNum++ 1402// fmt.Println(page) 1403// return pageNum <= 3 1404// }) 1405// 1406func (c *ServiceDiscovery) ListInstancesPages(input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool) error { 1407 return c.ListInstancesPagesWithContext(aws.BackgroundContext(), input, fn) 1408} 1409 1410// ListInstancesPagesWithContext same as ListInstancesPages except 1411// it takes a Context and allows setting request options on the pages. 1412// 1413// The context must be non-nil and will be used for request cancellation. If 1414// the context is nil a panic will occur. In the future the SDK may create 1415// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1416// for more information on using Contexts. 1417func (c *ServiceDiscovery) ListInstancesPagesWithContext(ctx aws.Context, input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool, opts ...request.Option) error { 1418 p := request.Pagination{ 1419 NewRequest: func() (*request.Request, error) { 1420 var inCpy *ListInstancesInput 1421 if input != nil { 1422 tmp := *input 1423 inCpy = &tmp 1424 } 1425 req, _ := c.ListInstancesRequest(inCpy) 1426 req.SetContext(ctx) 1427 req.ApplyOptions(opts...) 1428 return req, nil 1429 }, 1430 } 1431 1432 for p.Next() { 1433 if !fn(p.Page().(*ListInstancesOutput), !p.HasNextPage()) { 1434 break 1435 } 1436 } 1437 1438 return p.Err() 1439} 1440 1441const opListNamespaces = "ListNamespaces" 1442 1443// ListNamespacesRequest generates a "aws/request.Request" representing the 1444// client's request for the ListNamespaces operation. The "output" return 1445// value will be populated with the request's response once the request completes 1446// successfully. 1447// 1448// Use "Send" method on the returned Request to send the API call to the service. 1449// the "output" return value is not valid until after Send returns without error. 1450// 1451// See ListNamespaces for more information on using the ListNamespaces 1452// API call, and error handling. 1453// 1454// This method is useful when you want to inject custom logic or configuration 1455// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1456// 1457// 1458// // Example sending a request using the ListNamespacesRequest method. 1459// req, resp := client.ListNamespacesRequest(params) 1460// 1461// err := req.Send() 1462// if err == nil { // resp is now filled 1463// fmt.Println(resp) 1464// } 1465// 1466// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListNamespaces 1467func (c *ServiceDiscovery) ListNamespacesRequest(input *ListNamespacesInput) (req *request.Request, output *ListNamespacesOutput) { 1468 op := &request.Operation{ 1469 Name: opListNamespaces, 1470 HTTPMethod: "POST", 1471 HTTPPath: "/", 1472 Paginator: &request.Paginator{ 1473 InputTokens: []string{"NextToken"}, 1474 OutputTokens: []string{"NextToken"}, 1475 LimitToken: "MaxResults", 1476 TruncationToken: "", 1477 }, 1478 } 1479 1480 if input == nil { 1481 input = &ListNamespacesInput{} 1482 } 1483 1484 output = &ListNamespacesOutput{} 1485 req = c.newRequest(op, input, output) 1486 return 1487} 1488 1489// ListNamespaces API operation for AWS Cloud Map. 1490// 1491// Lists summary information about the namespaces that were created by the current 1492// AWS account. 1493// 1494// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1495// with awserr.Error's Code and Message methods to get detailed information about 1496// the error. 1497// 1498// See the AWS API reference guide for AWS Cloud Map's 1499// API operation ListNamespaces for usage and error information. 1500// 1501// Returned Error Types: 1502// * InvalidInput 1503// One or more specified values aren't valid. For example, a required value 1504// might be missing, a numeric value might be outside the allowed range, or 1505// a string value might exceed length constraints. 1506// 1507// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListNamespaces 1508func (c *ServiceDiscovery) ListNamespaces(input *ListNamespacesInput) (*ListNamespacesOutput, error) { 1509 req, out := c.ListNamespacesRequest(input) 1510 return out, req.Send() 1511} 1512 1513// ListNamespacesWithContext is the same as ListNamespaces with the addition of 1514// the ability to pass a context and additional request options. 1515// 1516// See ListNamespaces for details on how to use this API operation. 1517// 1518// The context must be non-nil and will be used for request cancellation. If 1519// the context is nil a panic will occur. In the future the SDK may create 1520// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1521// for more information on using Contexts. 1522func (c *ServiceDiscovery) ListNamespacesWithContext(ctx aws.Context, input *ListNamespacesInput, opts ...request.Option) (*ListNamespacesOutput, error) { 1523 req, out := c.ListNamespacesRequest(input) 1524 req.SetContext(ctx) 1525 req.ApplyOptions(opts...) 1526 return out, req.Send() 1527} 1528 1529// ListNamespacesPages iterates over the pages of a ListNamespaces operation, 1530// calling the "fn" function with the response data for each page. To stop 1531// iterating, return false from the fn function. 1532// 1533// See ListNamespaces method for more information on how to use this operation. 1534// 1535// Note: This operation can generate multiple requests to a service. 1536// 1537// // Example iterating over at most 3 pages of a ListNamespaces operation. 1538// pageNum := 0 1539// err := client.ListNamespacesPages(params, 1540// func(page *servicediscovery.ListNamespacesOutput, lastPage bool) bool { 1541// pageNum++ 1542// fmt.Println(page) 1543// return pageNum <= 3 1544// }) 1545// 1546func (c *ServiceDiscovery) ListNamespacesPages(input *ListNamespacesInput, fn func(*ListNamespacesOutput, bool) bool) error { 1547 return c.ListNamespacesPagesWithContext(aws.BackgroundContext(), input, fn) 1548} 1549 1550// ListNamespacesPagesWithContext same as ListNamespacesPages except 1551// it takes a Context and allows setting request options on the pages. 1552// 1553// The context must be non-nil and will be used for request cancellation. If 1554// the context is nil a panic will occur. In the future the SDK may create 1555// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1556// for more information on using Contexts. 1557func (c *ServiceDiscovery) ListNamespacesPagesWithContext(ctx aws.Context, input *ListNamespacesInput, fn func(*ListNamespacesOutput, bool) bool, opts ...request.Option) error { 1558 p := request.Pagination{ 1559 NewRequest: func() (*request.Request, error) { 1560 var inCpy *ListNamespacesInput 1561 if input != nil { 1562 tmp := *input 1563 inCpy = &tmp 1564 } 1565 req, _ := c.ListNamespacesRequest(inCpy) 1566 req.SetContext(ctx) 1567 req.ApplyOptions(opts...) 1568 return req, nil 1569 }, 1570 } 1571 1572 for p.Next() { 1573 if !fn(p.Page().(*ListNamespacesOutput), !p.HasNextPage()) { 1574 break 1575 } 1576 } 1577 1578 return p.Err() 1579} 1580 1581const opListOperations = "ListOperations" 1582 1583// ListOperationsRequest generates a "aws/request.Request" representing the 1584// client's request for the ListOperations operation. The "output" return 1585// value will be populated with the request's response once the request completes 1586// successfully. 1587// 1588// Use "Send" method on the returned Request to send the API call to the service. 1589// the "output" return value is not valid until after Send returns without error. 1590// 1591// See ListOperations for more information on using the ListOperations 1592// API call, and error handling. 1593// 1594// This method is useful when you want to inject custom logic or configuration 1595// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1596// 1597// 1598// // Example sending a request using the ListOperationsRequest method. 1599// req, resp := client.ListOperationsRequest(params) 1600// 1601// err := req.Send() 1602// if err == nil { // resp is now filled 1603// fmt.Println(resp) 1604// } 1605// 1606// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListOperations 1607func (c *ServiceDiscovery) ListOperationsRequest(input *ListOperationsInput) (req *request.Request, output *ListOperationsOutput) { 1608 op := &request.Operation{ 1609 Name: opListOperations, 1610 HTTPMethod: "POST", 1611 HTTPPath: "/", 1612 Paginator: &request.Paginator{ 1613 InputTokens: []string{"NextToken"}, 1614 OutputTokens: []string{"NextToken"}, 1615 LimitToken: "MaxResults", 1616 TruncationToken: "", 1617 }, 1618 } 1619 1620 if input == nil { 1621 input = &ListOperationsInput{} 1622 } 1623 1624 output = &ListOperationsOutput{} 1625 req = c.newRequest(op, input, output) 1626 return 1627} 1628 1629// ListOperations API operation for AWS Cloud Map. 1630// 1631// Lists operations that match the criteria that you specify. 1632// 1633// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1634// with awserr.Error's Code and Message methods to get detailed information about 1635// the error. 1636// 1637// See the AWS API reference guide for AWS Cloud Map's 1638// API operation ListOperations for usage and error information. 1639// 1640// Returned Error Types: 1641// * InvalidInput 1642// One or more specified values aren't valid. For example, a required value 1643// might be missing, a numeric value might be outside the allowed range, or 1644// a string value might exceed length constraints. 1645// 1646// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListOperations 1647func (c *ServiceDiscovery) ListOperations(input *ListOperationsInput) (*ListOperationsOutput, error) { 1648 req, out := c.ListOperationsRequest(input) 1649 return out, req.Send() 1650} 1651 1652// ListOperationsWithContext is the same as ListOperations with the addition of 1653// the ability to pass a context and additional request options. 1654// 1655// See ListOperations for details on how to use this API operation. 1656// 1657// The context must be non-nil and will be used for request cancellation. If 1658// the context is nil a panic will occur. In the future the SDK may create 1659// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1660// for more information on using Contexts. 1661func (c *ServiceDiscovery) ListOperationsWithContext(ctx aws.Context, input *ListOperationsInput, opts ...request.Option) (*ListOperationsOutput, error) { 1662 req, out := c.ListOperationsRequest(input) 1663 req.SetContext(ctx) 1664 req.ApplyOptions(opts...) 1665 return out, req.Send() 1666} 1667 1668// ListOperationsPages iterates over the pages of a ListOperations operation, 1669// calling the "fn" function with the response data for each page. To stop 1670// iterating, return false from the fn function. 1671// 1672// See ListOperations method for more information on how to use this operation. 1673// 1674// Note: This operation can generate multiple requests to a service. 1675// 1676// // Example iterating over at most 3 pages of a ListOperations operation. 1677// pageNum := 0 1678// err := client.ListOperationsPages(params, 1679// func(page *servicediscovery.ListOperationsOutput, lastPage bool) bool { 1680// pageNum++ 1681// fmt.Println(page) 1682// return pageNum <= 3 1683// }) 1684// 1685func (c *ServiceDiscovery) ListOperationsPages(input *ListOperationsInput, fn func(*ListOperationsOutput, bool) bool) error { 1686 return c.ListOperationsPagesWithContext(aws.BackgroundContext(), input, fn) 1687} 1688 1689// ListOperationsPagesWithContext same as ListOperationsPages except 1690// it takes a Context and allows setting request options on the pages. 1691// 1692// The context must be non-nil and will be used for request cancellation. If 1693// the context is nil a panic will occur. In the future the SDK may create 1694// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1695// for more information on using Contexts. 1696func (c *ServiceDiscovery) ListOperationsPagesWithContext(ctx aws.Context, input *ListOperationsInput, fn func(*ListOperationsOutput, bool) bool, opts ...request.Option) error { 1697 p := request.Pagination{ 1698 NewRequest: func() (*request.Request, error) { 1699 var inCpy *ListOperationsInput 1700 if input != nil { 1701 tmp := *input 1702 inCpy = &tmp 1703 } 1704 req, _ := c.ListOperationsRequest(inCpy) 1705 req.SetContext(ctx) 1706 req.ApplyOptions(opts...) 1707 return req, nil 1708 }, 1709 } 1710 1711 for p.Next() { 1712 if !fn(p.Page().(*ListOperationsOutput), !p.HasNextPage()) { 1713 break 1714 } 1715 } 1716 1717 return p.Err() 1718} 1719 1720const opListServices = "ListServices" 1721 1722// ListServicesRequest generates a "aws/request.Request" representing the 1723// client's request for the ListServices operation. The "output" return 1724// value will be populated with the request's response once the request completes 1725// successfully. 1726// 1727// Use "Send" method on the returned Request to send the API call to the service. 1728// the "output" return value is not valid until after Send returns without error. 1729// 1730// See ListServices for more information on using the ListServices 1731// API call, and error handling. 1732// 1733// This method is useful when you want to inject custom logic or configuration 1734// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1735// 1736// 1737// // Example sending a request using the ListServicesRequest method. 1738// req, resp := client.ListServicesRequest(params) 1739// 1740// err := req.Send() 1741// if err == nil { // resp is now filled 1742// fmt.Println(resp) 1743// } 1744// 1745// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListServices 1746func (c *ServiceDiscovery) ListServicesRequest(input *ListServicesInput) (req *request.Request, output *ListServicesOutput) { 1747 op := &request.Operation{ 1748 Name: opListServices, 1749 HTTPMethod: "POST", 1750 HTTPPath: "/", 1751 Paginator: &request.Paginator{ 1752 InputTokens: []string{"NextToken"}, 1753 OutputTokens: []string{"NextToken"}, 1754 LimitToken: "MaxResults", 1755 TruncationToken: "", 1756 }, 1757 } 1758 1759 if input == nil { 1760 input = &ListServicesInput{} 1761 } 1762 1763 output = &ListServicesOutput{} 1764 req = c.newRequest(op, input, output) 1765 return 1766} 1767 1768// ListServices API operation for AWS Cloud Map. 1769// 1770// Lists summary information for all the services that are associated with one 1771// or more specified namespaces. 1772// 1773// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1774// with awserr.Error's Code and Message methods to get detailed information about 1775// the error. 1776// 1777// See the AWS API reference guide for AWS Cloud Map's 1778// API operation ListServices for usage and error information. 1779// 1780// Returned Error Types: 1781// * InvalidInput 1782// One or more specified values aren't valid. For example, a required value 1783// might be missing, a numeric value might be outside the allowed range, or 1784// a string value might exceed length constraints. 1785// 1786// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListServices 1787func (c *ServiceDiscovery) ListServices(input *ListServicesInput) (*ListServicesOutput, error) { 1788 req, out := c.ListServicesRequest(input) 1789 return out, req.Send() 1790} 1791 1792// ListServicesWithContext is the same as ListServices with the addition of 1793// the ability to pass a context and additional request options. 1794// 1795// See ListServices for details on how to use this API operation. 1796// 1797// The context must be non-nil and will be used for request cancellation. If 1798// the context is nil a panic will occur. In the future the SDK may create 1799// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1800// for more information on using Contexts. 1801func (c *ServiceDiscovery) ListServicesWithContext(ctx aws.Context, input *ListServicesInput, opts ...request.Option) (*ListServicesOutput, error) { 1802 req, out := c.ListServicesRequest(input) 1803 req.SetContext(ctx) 1804 req.ApplyOptions(opts...) 1805 return out, req.Send() 1806} 1807 1808// ListServicesPages iterates over the pages of a ListServices operation, 1809// calling the "fn" function with the response data for each page. To stop 1810// iterating, return false from the fn function. 1811// 1812// See ListServices method for more information on how to use this operation. 1813// 1814// Note: This operation can generate multiple requests to a service. 1815// 1816// // Example iterating over at most 3 pages of a ListServices operation. 1817// pageNum := 0 1818// err := client.ListServicesPages(params, 1819// func(page *servicediscovery.ListServicesOutput, lastPage bool) bool { 1820// pageNum++ 1821// fmt.Println(page) 1822// return pageNum <= 3 1823// }) 1824// 1825func (c *ServiceDiscovery) ListServicesPages(input *ListServicesInput, fn func(*ListServicesOutput, bool) bool) error { 1826 return c.ListServicesPagesWithContext(aws.BackgroundContext(), input, fn) 1827} 1828 1829// ListServicesPagesWithContext same as ListServicesPages except 1830// it takes a Context and allows setting request options on the pages. 1831// 1832// The context must be non-nil and will be used for request cancellation. If 1833// the context is nil a panic will occur. In the future the SDK may create 1834// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1835// for more information on using Contexts. 1836func (c *ServiceDiscovery) ListServicesPagesWithContext(ctx aws.Context, input *ListServicesInput, fn func(*ListServicesOutput, bool) bool, opts ...request.Option) error { 1837 p := request.Pagination{ 1838 NewRequest: func() (*request.Request, error) { 1839 var inCpy *ListServicesInput 1840 if input != nil { 1841 tmp := *input 1842 inCpy = &tmp 1843 } 1844 req, _ := c.ListServicesRequest(inCpy) 1845 req.SetContext(ctx) 1846 req.ApplyOptions(opts...) 1847 return req, nil 1848 }, 1849 } 1850 1851 for p.Next() { 1852 if !fn(p.Page().(*ListServicesOutput), !p.HasNextPage()) { 1853 break 1854 } 1855 } 1856 1857 return p.Err() 1858} 1859 1860const opListTagsForResource = "ListTagsForResource" 1861 1862// ListTagsForResourceRequest generates a "aws/request.Request" representing the 1863// client's request for the ListTagsForResource operation. The "output" return 1864// value will be populated with the request's response once the request completes 1865// successfully. 1866// 1867// Use "Send" method on the returned Request to send the API call to the service. 1868// the "output" return value is not valid until after Send returns without error. 1869// 1870// See ListTagsForResource for more information on using the ListTagsForResource 1871// API call, and error handling. 1872// 1873// This method is useful when you want to inject custom logic or configuration 1874// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1875// 1876// 1877// // Example sending a request using the ListTagsForResourceRequest method. 1878// req, resp := client.ListTagsForResourceRequest(params) 1879// 1880// err := req.Send() 1881// if err == nil { // resp is now filled 1882// fmt.Println(resp) 1883// } 1884// 1885// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListTagsForResource 1886func (c *ServiceDiscovery) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 1887 op := &request.Operation{ 1888 Name: opListTagsForResource, 1889 HTTPMethod: "POST", 1890 HTTPPath: "/", 1891 } 1892 1893 if input == nil { 1894 input = &ListTagsForResourceInput{} 1895 } 1896 1897 output = &ListTagsForResourceOutput{} 1898 req = c.newRequest(op, input, output) 1899 return 1900} 1901 1902// ListTagsForResource API operation for AWS Cloud Map. 1903// 1904// Lists tags for the specified resource. 1905// 1906// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1907// with awserr.Error's Code and Message methods to get detailed information about 1908// the error. 1909// 1910// See the AWS API reference guide for AWS Cloud Map's 1911// API operation ListTagsForResource for usage and error information. 1912// 1913// Returned Error Types: 1914// * ResourceNotFoundException 1915// The operation can't be completed because the resource was not found. 1916// 1917// * InvalidInput 1918// One or more specified values aren't valid. For example, a required value 1919// might be missing, a numeric value might be outside the allowed range, or 1920// a string value might exceed length constraints. 1921// 1922// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListTagsForResource 1923func (c *ServiceDiscovery) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 1924 req, out := c.ListTagsForResourceRequest(input) 1925 return out, req.Send() 1926} 1927 1928// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 1929// the ability to pass a context and additional request options. 1930// 1931// See ListTagsForResource for details on how to use this API operation. 1932// 1933// The context must be non-nil and will be used for request cancellation. If 1934// the context is nil a panic will occur. In the future the SDK may create 1935// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1936// for more information on using Contexts. 1937func (c *ServiceDiscovery) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 1938 req, out := c.ListTagsForResourceRequest(input) 1939 req.SetContext(ctx) 1940 req.ApplyOptions(opts...) 1941 return out, req.Send() 1942} 1943 1944const opRegisterInstance = "RegisterInstance" 1945 1946// RegisterInstanceRequest generates a "aws/request.Request" representing the 1947// client's request for the RegisterInstance operation. The "output" return 1948// value will be populated with the request's response once the request completes 1949// successfully. 1950// 1951// Use "Send" method on the returned Request to send the API call to the service. 1952// the "output" return value is not valid until after Send returns without error. 1953// 1954// See RegisterInstance for more information on using the RegisterInstance 1955// API call, and error handling. 1956// 1957// This method is useful when you want to inject custom logic or configuration 1958// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1959// 1960// 1961// // Example sending a request using the RegisterInstanceRequest method. 1962// req, resp := client.RegisterInstanceRequest(params) 1963// 1964// err := req.Send() 1965// if err == nil { // resp is now filled 1966// fmt.Println(resp) 1967// } 1968// 1969// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/RegisterInstance 1970func (c *ServiceDiscovery) RegisterInstanceRequest(input *RegisterInstanceInput) (req *request.Request, output *RegisterInstanceOutput) { 1971 op := &request.Operation{ 1972 Name: opRegisterInstance, 1973 HTTPMethod: "POST", 1974 HTTPPath: "/", 1975 } 1976 1977 if input == nil { 1978 input = &RegisterInstanceInput{} 1979 } 1980 1981 output = &RegisterInstanceOutput{} 1982 req = c.newRequest(op, input, output) 1983 return 1984} 1985 1986// RegisterInstance API operation for AWS Cloud Map. 1987// 1988// Creates or updates one or more records and, optionally, creates a health 1989// check based on the settings in a specified service. When you submit a RegisterInstance 1990// request, the following occurs: 1991// 1992// * For each DNS record that you define in the service that is specified 1993// by ServiceId, a record is created or updated in the hosted zone that is 1994// associated with the corresponding namespace. 1995// 1996// * If the service includes HealthCheckConfig, a health check is created 1997// based on the settings in the health check configuration. 1998// 1999// * The health check, if any, is associated with each of the new or updated 2000// records. 2001// 2002// One RegisterInstance request must complete before you can submit another 2003// request and specify the same service ID and instance ID. 2004// 2005// For more information, see CreateService (https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html). 2006// 2007// When AWS Cloud Map receives a DNS query for the specified DNS name, it returns 2008// the applicable value: 2009// 2010// * If the health check is healthy: returns all the records 2011// 2012// * If the health check is unhealthy: returns the applicable value for the 2013// last healthy instance 2014// 2015// * If you didn't specify a health check configuration: returns all the 2016// records 2017// 2018// For the current quota on the number of instances that you can register using 2019// the same namespace and using the same service, see AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) 2020// in the AWS Cloud Map Developer Guide. 2021// 2022// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2023// with awserr.Error's Code and Message methods to get detailed information about 2024// the error. 2025// 2026// See the AWS API reference guide for AWS Cloud Map's 2027// API operation RegisterInstance for usage and error information. 2028// 2029// Returned Error Types: 2030// * DuplicateRequest 2031// The operation is already in progress. 2032// 2033// * InvalidInput 2034// One or more specified values aren't valid. For example, a required value 2035// might be missing, a numeric value might be outside the allowed range, or 2036// a string value might exceed length constraints. 2037// 2038// * ResourceInUse 2039// The specified resource can't be deleted because it contains other resources. 2040// For example, you can't delete a service that contains any instances. 2041// 2042// * ResourceLimitExceeded 2043// The resource can't be created because you've reached the quota on the number 2044// of resources. 2045// 2046// * ServiceNotFound 2047// No service exists with the specified ID. 2048// 2049// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/RegisterInstance 2050func (c *ServiceDiscovery) RegisterInstance(input *RegisterInstanceInput) (*RegisterInstanceOutput, error) { 2051 req, out := c.RegisterInstanceRequest(input) 2052 return out, req.Send() 2053} 2054 2055// RegisterInstanceWithContext is the same as RegisterInstance with the addition of 2056// the ability to pass a context and additional request options. 2057// 2058// See RegisterInstance for details on how to use this API operation. 2059// 2060// The context must be non-nil and will be used for request cancellation. If 2061// the context is nil a panic will occur. In the future the SDK may create 2062// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2063// for more information on using Contexts. 2064func (c *ServiceDiscovery) RegisterInstanceWithContext(ctx aws.Context, input *RegisterInstanceInput, opts ...request.Option) (*RegisterInstanceOutput, error) { 2065 req, out := c.RegisterInstanceRequest(input) 2066 req.SetContext(ctx) 2067 req.ApplyOptions(opts...) 2068 return out, req.Send() 2069} 2070 2071const opTagResource = "TagResource" 2072 2073// TagResourceRequest generates a "aws/request.Request" representing the 2074// client's request for the TagResource operation. The "output" return 2075// value will be populated with the request's response once the request completes 2076// successfully. 2077// 2078// Use "Send" method on the returned Request to send the API call to the service. 2079// the "output" return value is not valid until after Send returns without error. 2080// 2081// See TagResource for more information on using the TagResource 2082// API call, and error handling. 2083// 2084// This method is useful when you want to inject custom logic or configuration 2085// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2086// 2087// 2088// // Example sending a request using the TagResourceRequest method. 2089// req, resp := client.TagResourceRequest(params) 2090// 2091// err := req.Send() 2092// if err == nil { // resp is now filled 2093// fmt.Println(resp) 2094// } 2095// 2096// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/TagResource 2097func (c *ServiceDiscovery) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 2098 op := &request.Operation{ 2099 Name: opTagResource, 2100 HTTPMethod: "POST", 2101 HTTPPath: "/", 2102 } 2103 2104 if input == nil { 2105 input = &TagResourceInput{} 2106 } 2107 2108 output = &TagResourceOutput{} 2109 req = c.newRequest(op, input, output) 2110 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2111 return 2112} 2113 2114// TagResource API operation for AWS Cloud Map. 2115// 2116// Adds one or more tags to the specified resource. 2117// 2118// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2119// with awserr.Error's Code and Message methods to get detailed information about 2120// the error. 2121// 2122// See the AWS API reference guide for AWS Cloud Map's 2123// API operation TagResource for usage and error information. 2124// 2125// Returned Error Types: 2126// * ResourceNotFoundException 2127// The operation can't be completed because the resource was not found. 2128// 2129// * TooManyTagsException 2130// The list of tags on the resource is over the quota. The maximum number of 2131// tags that can be applied to a resource is 50. 2132// 2133// * InvalidInput 2134// One or more specified values aren't valid. For example, a required value 2135// might be missing, a numeric value might be outside the allowed range, or 2136// a string value might exceed length constraints. 2137// 2138// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/TagResource 2139func (c *ServiceDiscovery) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 2140 req, out := c.TagResourceRequest(input) 2141 return out, req.Send() 2142} 2143 2144// TagResourceWithContext is the same as TagResource with the addition of 2145// the ability to pass a context and additional request options. 2146// 2147// See TagResource for details on how to use this API operation. 2148// 2149// The context must be non-nil and will be used for request cancellation. If 2150// the context is nil a panic will occur. In the future the SDK may create 2151// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2152// for more information on using Contexts. 2153func (c *ServiceDiscovery) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 2154 req, out := c.TagResourceRequest(input) 2155 req.SetContext(ctx) 2156 req.ApplyOptions(opts...) 2157 return out, req.Send() 2158} 2159 2160const opUntagResource = "UntagResource" 2161 2162// UntagResourceRequest generates a "aws/request.Request" representing the 2163// client's request for the UntagResource operation. The "output" return 2164// value will be populated with the request's response once the request completes 2165// successfully. 2166// 2167// Use "Send" method on the returned Request to send the API call to the service. 2168// the "output" return value is not valid until after Send returns without error. 2169// 2170// See UntagResource for more information on using the UntagResource 2171// API call, and error handling. 2172// 2173// This method is useful when you want to inject custom logic or configuration 2174// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2175// 2176// 2177// // Example sending a request using the UntagResourceRequest method. 2178// req, resp := client.UntagResourceRequest(params) 2179// 2180// err := req.Send() 2181// if err == nil { // resp is now filled 2182// fmt.Println(resp) 2183// } 2184// 2185// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UntagResource 2186func (c *ServiceDiscovery) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 2187 op := &request.Operation{ 2188 Name: opUntagResource, 2189 HTTPMethod: "POST", 2190 HTTPPath: "/", 2191 } 2192 2193 if input == nil { 2194 input = &UntagResourceInput{} 2195 } 2196 2197 output = &UntagResourceOutput{} 2198 req = c.newRequest(op, input, output) 2199 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2200 return 2201} 2202 2203// UntagResource API operation for AWS Cloud Map. 2204// 2205// Removes one or more tags from the specified resource. 2206// 2207// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2208// with awserr.Error's Code and Message methods to get detailed information about 2209// the error. 2210// 2211// See the AWS API reference guide for AWS Cloud Map's 2212// API operation UntagResource for usage and error information. 2213// 2214// Returned Error Types: 2215// * ResourceNotFoundException 2216// The operation can't be completed because the resource was not found. 2217// 2218// * InvalidInput 2219// One or more specified values aren't valid. For example, a required value 2220// might be missing, a numeric value might be outside the allowed range, or 2221// a string value might exceed length constraints. 2222// 2223// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UntagResource 2224func (c *ServiceDiscovery) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 2225 req, out := c.UntagResourceRequest(input) 2226 return out, req.Send() 2227} 2228 2229// UntagResourceWithContext is the same as UntagResource with the addition of 2230// the ability to pass a context and additional request options. 2231// 2232// See UntagResource for details on how to use this API operation. 2233// 2234// The context must be non-nil and will be used for request cancellation. If 2235// the context is nil a panic will occur. In the future the SDK may create 2236// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2237// for more information on using Contexts. 2238func (c *ServiceDiscovery) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 2239 req, out := c.UntagResourceRequest(input) 2240 req.SetContext(ctx) 2241 req.ApplyOptions(opts...) 2242 return out, req.Send() 2243} 2244 2245const opUpdateInstanceCustomHealthStatus = "UpdateInstanceCustomHealthStatus" 2246 2247// UpdateInstanceCustomHealthStatusRequest generates a "aws/request.Request" representing the 2248// client's request for the UpdateInstanceCustomHealthStatus operation. The "output" return 2249// value will be populated with the request's response once the request completes 2250// successfully. 2251// 2252// Use "Send" method on the returned Request to send the API call to the service. 2253// the "output" return value is not valid until after Send returns without error. 2254// 2255// See UpdateInstanceCustomHealthStatus for more information on using the UpdateInstanceCustomHealthStatus 2256// API call, and error handling. 2257// 2258// This method is useful when you want to inject custom logic or configuration 2259// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2260// 2261// 2262// // Example sending a request using the UpdateInstanceCustomHealthStatusRequest method. 2263// req, resp := client.UpdateInstanceCustomHealthStatusRequest(params) 2264// 2265// err := req.Send() 2266// if err == nil { // resp is now filled 2267// fmt.Println(resp) 2268// } 2269// 2270// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateInstanceCustomHealthStatus 2271func (c *ServiceDiscovery) UpdateInstanceCustomHealthStatusRequest(input *UpdateInstanceCustomHealthStatusInput) (req *request.Request, output *UpdateInstanceCustomHealthStatusOutput) { 2272 op := &request.Operation{ 2273 Name: opUpdateInstanceCustomHealthStatus, 2274 HTTPMethod: "POST", 2275 HTTPPath: "/", 2276 } 2277 2278 if input == nil { 2279 input = &UpdateInstanceCustomHealthStatusInput{} 2280 } 2281 2282 output = &UpdateInstanceCustomHealthStatusOutput{} 2283 req = c.newRequest(op, input, output) 2284 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2285 return 2286} 2287 2288// UpdateInstanceCustomHealthStatus API operation for AWS Cloud Map. 2289// 2290// Submits a request to change the health status of a custom health check to 2291// healthy or unhealthy. 2292// 2293// You can use UpdateInstanceCustomHealthStatus to change the status only for 2294// custom health checks, which you define using HealthCheckCustomConfig when 2295// you create a service. You can't use it to change the status for Route 53 2296// health checks, which you define using HealthCheckConfig. 2297// 2298// For more information, see HealthCheckCustomConfig (https://docs.aws.amazon.com/cloud-map/latest/api/API_HealthCheckCustomConfig.html). 2299// 2300// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2301// with awserr.Error's Code and Message methods to get detailed information about 2302// the error. 2303// 2304// See the AWS API reference guide for AWS Cloud Map's 2305// API operation UpdateInstanceCustomHealthStatus for usage and error information. 2306// 2307// Returned Error Types: 2308// * InstanceNotFound 2309// No instance exists with the specified ID, or the instance was recently registered, 2310// and information about the instance hasn't propagated yet. 2311// 2312// * ServiceNotFound 2313// No service exists with the specified ID. 2314// 2315// * CustomHealthNotFound 2316// The health check for the instance that is specified by ServiceId and InstanceId 2317// is not a custom health check. 2318// 2319// * InvalidInput 2320// One or more specified values aren't valid. For example, a required value 2321// might be missing, a numeric value might be outside the allowed range, or 2322// a string value might exceed length constraints. 2323// 2324// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateInstanceCustomHealthStatus 2325func (c *ServiceDiscovery) UpdateInstanceCustomHealthStatus(input *UpdateInstanceCustomHealthStatusInput) (*UpdateInstanceCustomHealthStatusOutput, error) { 2326 req, out := c.UpdateInstanceCustomHealthStatusRequest(input) 2327 return out, req.Send() 2328} 2329 2330// UpdateInstanceCustomHealthStatusWithContext is the same as UpdateInstanceCustomHealthStatus with the addition of 2331// the ability to pass a context and additional request options. 2332// 2333// See UpdateInstanceCustomHealthStatus for details on how to use this API operation. 2334// 2335// The context must be non-nil and will be used for request cancellation. If 2336// the context is nil a panic will occur. In the future the SDK may create 2337// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2338// for more information on using Contexts. 2339func (c *ServiceDiscovery) UpdateInstanceCustomHealthStatusWithContext(ctx aws.Context, input *UpdateInstanceCustomHealthStatusInput, opts ...request.Option) (*UpdateInstanceCustomHealthStatusOutput, error) { 2340 req, out := c.UpdateInstanceCustomHealthStatusRequest(input) 2341 req.SetContext(ctx) 2342 req.ApplyOptions(opts...) 2343 return out, req.Send() 2344} 2345 2346const opUpdateService = "UpdateService" 2347 2348// UpdateServiceRequest generates a "aws/request.Request" representing the 2349// client's request for the UpdateService operation. The "output" return 2350// value will be populated with the request's response once the request completes 2351// successfully. 2352// 2353// Use "Send" method on the returned Request to send the API call to the service. 2354// the "output" return value is not valid until after Send returns without error. 2355// 2356// See UpdateService for more information on using the UpdateService 2357// API call, and error handling. 2358// 2359// This method is useful when you want to inject custom logic or configuration 2360// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2361// 2362// 2363// // Example sending a request using the UpdateServiceRequest method. 2364// req, resp := client.UpdateServiceRequest(params) 2365// 2366// err := req.Send() 2367// if err == nil { // resp is now filled 2368// fmt.Println(resp) 2369// } 2370// 2371// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateService 2372func (c *ServiceDiscovery) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) { 2373 op := &request.Operation{ 2374 Name: opUpdateService, 2375 HTTPMethod: "POST", 2376 HTTPPath: "/", 2377 } 2378 2379 if input == nil { 2380 input = &UpdateServiceInput{} 2381 } 2382 2383 output = &UpdateServiceOutput{} 2384 req = c.newRequest(op, input, output) 2385 return 2386} 2387 2388// UpdateService API operation for AWS Cloud Map. 2389// 2390// Submits a request to perform the following operations: 2391// 2392// * Update the TTL setting for existing DnsRecords configurations 2393// 2394// * Add, update, or delete HealthCheckConfig for a specified service You 2395// can't add, update, or delete a HealthCheckCustomConfig configuration. 2396// 2397// For public and private DNS namespaces, note the following: 2398// 2399// * If you omit any existing DnsRecords or HealthCheckConfig configurations 2400// from an UpdateService request, the configurations are deleted from the 2401// service. 2402// 2403// * If you omit an existing HealthCheckCustomConfig configuration from an 2404// UpdateService request, the configuration is not deleted from the service. 2405// 2406// When you update settings for a service, AWS Cloud Map also updates the corresponding 2407// settings in all the records and health checks that were created by using 2408// the specified service. 2409// 2410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2411// with awserr.Error's Code and Message methods to get detailed information about 2412// the error. 2413// 2414// See the AWS API reference guide for AWS Cloud Map's 2415// API operation UpdateService for usage and error information. 2416// 2417// Returned Error Types: 2418// * DuplicateRequest 2419// The operation is already in progress. 2420// 2421// * InvalidInput 2422// One or more specified values aren't valid. For example, a required value 2423// might be missing, a numeric value might be outside the allowed range, or 2424// a string value might exceed length constraints. 2425// 2426// * ServiceNotFound 2427// No service exists with the specified ID. 2428// 2429// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UpdateService 2430func (c *ServiceDiscovery) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) { 2431 req, out := c.UpdateServiceRequest(input) 2432 return out, req.Send() 2433} 2434 2435// UpdateServiceWithContext is the same as UpdateService with the addition of 2436// the ability to pass a context and additional request options. 2437// 2438// See UpdateService for details on how to use this API operation. 2439// 2440// The context must be non-nil and will be used for request cancellation. If 2441// the context is nil a panic will occur. In the future the SDK may create 2442// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2443// for more information on using Contexts. 2444func (c *ServiceDiscovery) UpdateServiceWithContext(ctx aws.Context, input *UpdateServiceInput, opts ...request.Option) (*UpdateServiceOutput, error) { 2445 req, out := c.UpdateServiceRequest(input) 2446 req.SetContext(ctx) 2447 req.ApplyOptions(opts...) 2448 return out, req.Send() 2449} 2450 2451type CreateHttpNamespaceInput struct { 2452 _ struct{} `type:"structure"` 2453 2454 // A unique string that identifies the request and that allows failed CreateHttpNamespace 2455 // requests to be retried without the risk of executing the operation twice. 2456 // CreatorRequestId can be any unique string, for example, a date/time stamp. 2457 CreatorRequestId *string `type:"string" idempotencyToken:"true"` 2458 2459 // A description for the namespace. 2460 Description *string `type:"string"` 2461 2462 // The name that you want to assign to this namespace. 2463 // 2464 // Name is a required field 2465 Name *string `type:"string" required:"true"` 2466 2467 // The tags to add to the namespace. Each tag consists of a key and an optional 2468 // value, both of which you define. Tag keys can have a maximum character length 2469 // of 128 characters, and tag values can have a maximum length of 256 characters. 2470 Tags []*Tag `type:"list"` 2471} 2472 2473// String returns the string representation 2474func (s CreateHttpNamespaceInput) String() string { 2475 return awsutil.Prettify(s) 2476} 2477 2478// GoString returns the string representation 2479func (s CreateHttpNamespaceInput) GoString() string { 2480 return s.String() 2481} 2482 2483// Validate inspects the fields of the type to determine if they are valid. 2484func (s *CreateHttpNamespaceInput) Validate() error { 2485 invalidParams := request.ErrInvalidParams{Context: "CreateHttpNamespaceInput"} 2486 if s.Name == nil { 2487 invalidParams.Add(request.NewErrParamRequired("Name")) 2488 } 2489 if s.Tags != nil { 2490 for i, v := range s.Tags { 2491 if v == nil { 2492 continue 2493 } 2494 if err := v.Validate(); err != nil { 2495 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 2496 } 2497 } 2498 } 2499 2500 if invalidParams.Len() > 0 { 2501 return invalidParams 2502 } 2503 return nil 2504} 2505 2506// SetCreatorRequestId sets the CreatorRequestId field's value. 2507func (s *CreateHttpNamespaceInput) SetCreatorRequestId(v string) *CreateHttpNamespaceInput { 2508 s.CreatorRequestId = &v 2509 return s 2510} 2511 2512// SetDescription sets the Description field's value. 2513func (s *CreateHttpNamespaceInput) SetDescription(v string) *CreateHttpNamespaceInput { 2514 s.Description = &v 2515 return s 2516} 2517 2518// SetName sets the Name field's value. 2519func (s *CreateHttpNamespaceInput) SetName(v string) *CreateHttpNamespaceInput { 2520 s.Name = &v 2521 return s 2522} 2523 2524// SetTags sets the Tags field's value. 2525func (s *CreateHttpNamespaceInput) SetTags(v []*Tag) *CreateHttpNamespaceInput { 2526 s.Tags = v 2527 return s 2528} 2529 2530type CreateHttpNamespaceOutput struct { 2531 _ struct{} `type:"structure"` 2532 2533 // A value that you can use to determine whether the request completed successfully. 2534 // To get the status of the operation, see GetOperation (https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html). 2535 OperationId *string `type:"string"` 2536} 2537 2538// String returns the string representation 2539func (s CreateHttpNamespaceOutput) String() string { 2540 return awsutil.Prettify(s) 2541} 2542 2543// GoString returns the string representation 2544func (s CreateHttpNamespaceOutput) GoString() string { 2545 return s.String() 2546} 2547 2548// SetOperationId sets the OperationId field's value. 2549func (s *CreateHttpNamespaceOutput) SetOperationId(v string) *CreateHttpNamespaceOutput { 2550 s.OperationId = &v 2551 return s 2552} 2553 2554type CreatePrivateDnsNamespaceInput struct { 2555 _ struct{} `type:"structure"` 2556 2557 // A unique string that identifies the request and that allows failed CreatePrivateDnsNamespace 2558 // requests to be retried without the risk of executing the operation twice. 2559 // CreatorRequestId can be any unique string, for example, a date/time stamp. 2560 CreatorRequestId *string `type:"string" idempotencyToken:"true"` 2561 2562 // A description for the namespace. 2563 Description *string `type:"string"` 2564 2565 // The name that you want to assign to this namespace. When you create a private 2566 // DNS namespace, AWS Cloud Map automatically creates an Amazon Route 53 private 2567 // hosted zone that has the same name as the namespace. 2568 // 2569 // Name is a required field 2570 Name *string `type:"string" required:"true"` 2571 2572 // The tags to add to the namespace. Each tag consists of a key and an optional 2573 // value, both of which you define. Tag keys can have a maximum character length 2574 // of 128 characters, and tag values can have a maximum length of 256 characters. 2575 Tags []*Tag `type:"list"` 2576 2577 // The ID of the Amazon VPC that you want to associate the namespace with. 2578 // 2579 // Vpc is a required field 2580 Vpc *string `type:"string" required:"true"` 2581} 2582 2583// String returns the string representation 2584func (s CreatePrivateDnsNamespaceInput) String() string { 2585 return awsutil.Prettify(s) 2586} 2587 2588// GoString returns the string representation 2589func (s CreatePrivateDnsNamespaceInput) GoString() string { 2590 return s.String() 2591} 2592 2593// Validate inspects the fields of the type to determine if they are valid. 2594func (s *CreatePrivateDnsNamespaceInput) Validate() error { 2595 invalidParams := request.ErrInvalidParams{Context: "CreatePrivateDnsNamespaceInput"} 2596 if s.Name == nil { 2597 invalidParams.Add(request.NewErrParamRequired("Name")) 2598 } 2599 if s.Vpc == nil { 2600 invalidParams.Add(request.NewErrParamRequired("Vpc")) 2601 } 2602 if s.Tags != nil { 2603 for i, v := range s.Tags { 2604 if v == nil { 2605 continue 2606 } 2607 if err := v.Validate(); err != nil { 2608 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 2609 } 2610 } 2611 } 2612 2613 if invalidParams.Len() > 0 { 2614 return invalidParams 2615 } 2616 return nil 2617} 2618 2619// SetCreatorRequestId sets the CreatorRequestId field's value. 2620func (s *CreatePrivateDnsNamespaceInput) SetCreatorRequestId(v string) *CreatePrivateDnsNamespaceInput { 2621 s.CreatorRequestId = &v 2622 return s 2623} 2624 2625// SetDescription sets the Description field's value. 2626func (s *CreatePrivateDnsNamespaceInput) SetDescription(v string) *CreatePrivateDnsNamespaceInput { 2627 s.Description = &v 2628 return s 2629} 2630 2631// SetName sets the Name field's value. 2632func (s *CreatePrivateDnsNamespaceInput) SetName(v string) *CreatePrivateDnsNamespaceInput { 2633 s.Name = &v 2634 return s 2635} 2636 2637// SetTags sets the Tags field's value. 2638func (s *CreatePrivateDnsNamespaceInput) SetTags(v []*Tag) *CreatePrivateDnsNamespaceInput { 2639 s.Tags = v 2640 return s 2641} 2642 2643// SetVpc sets the Vpc field's value. 2644func (s *CreatePrivateDnsNamespaceInput) SetVpc(v string) *CreatePrivateDnsNamespaceInput { 2645 s.Vpc = &v 2646 return s 2647} 2648 2649type CreatePrivateDnsNamespaceOutput struct { 2650 _ struct{} `type:"structure"` 2651 2652 // A value that you can use to determine whether the request completed successfully. 2653 // To get the status of the operation, see GetOperation (https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html). 2654 OperationId *string `type:"string"` 2655} 2656 2657// String returns the string representation 2658func (s CreatePrivateDnsNamespaceOutput) String() string { 2659 return awsutil.Prettify(s) 2660} 2661 2662// GoString returns the string representation 2663func (s CreatePrivateDnsNamespaceOutput) GoString() string { 2664 return s.String() 2665} 2666 2667// SetOperationId sets the OperationId field's value. 2668func (s *CreatePrivateDnsNamespaceOutput) SetOperationId(v string) *CreatePrivateDnsNamespaceOutput { 2669 s.OperationId = &v 2670 return s 2671} 2672 2673type CreatePublicDnsNamespaceInput struct { 2674 _ struct{} `type:"structure"` 2675 2676 // A unique string that identifies the request and that allows failed CreatePublicDnsNamespace 2677 // requests to be retried without the risk of executing the operation twice. 2678 // CreatorRequestId can be any unique string, for example, a date/time stamp. 2679 CreatorRequestId *string `type:"string" idempotencyToken:"true"` 2680 2681 // A description for the namespace. 2682 Description *string `type:"string"` 2683 2684 // The name that you want to assign to this namespace. 2685 // 2686 // Name is a required field 2687 Name *string `type:"string" required:"true"` 2688 2689 // The tags to add to the namespace. Each tag consists of a key and an optional 2690 // value, both of which you define. Tag keys can have a maximum character length 2691 // of 128 characters, and tag values can have a maximum length of 256 characters. 2692 Tags []*Tag `type:"list"` 2693} 2694 2695// String returns the string representation 2696func (s CreatePublicDnsNamespaceInput) String() string { 2697 return awsutil.Prettify(s) 2698} 2699 2700// GoString returns the string representation 2701func (s CreatePublicDnsNamespaceInput) GoString() string { 2702 return s.String() 2703} 2704 2705// Validate inspects the fields of the type to determine if they are valid. 2706func (s *CreatePublicDnsNamespaceInput) Validate() error { 2707 invalidParams := request.ErrInvalidParams{Context: "CreatePublicDnsNamespaceInput"} 2708 if s.Name == nil { 2709 invalidParams.Add(request.NewErrParamRequired("Name")) 2710 } 2711 if s.Tags != nil { 2712 for i, v := range s.Tags { 2713 if v == nil { 2714 continue 2715 } 2716 if err := v.Validate(); err != nil { 2717 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 2718 } 2719 } 2720 } 2721 2722 if invalidParams.Len() > 0 { 2723 return invalidParams 2724 } 2725 return nil 2726} 2727 2728// SetCreatorRequestId sets the CreatorRequestId field's value. 2729func (s *CreatePublicDnsNamespaceInput) SetCreatorRequestId(v string) *CreatePublicDnsNamespaceInput { 2730 s.CreatorRequestId = &v 2731 return s 2732} 2733 2734// SetDescription sets the Description field's value. 2735func (s *CreatePublicDnsNamespaceInput) SetDescription(v string) *CreatePublicDnsNamespaceInput { 2736 s.Description = &v 2737 return s 2738} 2739 2740// SetName sets the Name field's value. 2741func (s *CreatePublicDnsNamespaceInput) SetName(v string) *CreatePublicDnsNamespaceInput { 2742 s.Name = &v 2743 return s 2744} 2745 2746// SetTags sets the Tags field's value. 2747func (s *CreatePublicDnsNamespaceInput) SetTags(v []*Tag) *CreatePublicDnsNamespaceInput { 2748 s.Tags = v 2749 return s 2750} 2751 2752type CreatePublicDnsNamespaceOutput struct { 2753 _ struct{} `type:"structure"` 2754 2755 // A value that you can use to determine whether the request completed successfully. 2756 // To get the status of the operation, see GetOperation (https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html). 2757 OperationId *string `type:"string"` 2758} 2759 2760// String returns the string representation 2761func (s CreatePublicDnsNamespaceOutput) String() string { 2762 return awsutil.Prettify(s) 2763} 2764 2765// GoString returns the string representation 2766func (s CreatePublicDnsNamespaceOutput) GoString() string { 2767 return s.String() 2768} 2769 2770// SetOperationId sets the OperationId field's value. 2771func (s *CreatePublicDnsNamespaceOutput) SetOperationId(v string) *CreatePublicDnsNamespaceOutput { 2772 s.OperationId = &v 2773 return s 2774} 2775 2776type CreateServiceInput struct { 2777 _ struct{} `type:"structure"` 2778 2779 // A unique string that identifies the request and that allows failed CreateService 2780 // requests to be retried without the risk of executing the operation twice. 2781 // CreatorRequestId can be any unique string, for example, a date/time stamp. 2782 CreatorRequestId *string `type:"string" idempotencyToken:"true"` 2783 2784 // A description for the service. 2785 Description *string `type:"string"` 2786 2787 // A complex type that contains information about the Amazon Route 53 records 2788 // that you want AWS Cloud Map to create when you register an instance. 2789 DnsConfig *DnsConfig `type:"structure"` 2790 2791 // Public DNS and HTTP namespaces only. A complex type that contains settings 2792 // for an optional Route 53 health check. If you specify settings for a health 2793 // check, AWS Cloud Map associates the health check with all the Route 53 DNS 2794 // records that you specify in DnsConfig. 2795 // 2796 // If you specify a health check configuration, you can specify either HealthCheckCustomConfig 2797 // or HealthCheckConfig but not both. 2798 // 2799 // For information about the charges for health checks, see AWS Cloud Map Pricing 2800 // (http://aws.amazon.com/cloud-map/pricing/). 2801 HealthCheckConfig *HealthCheckConfig `type:"structure"` 2802 2803 // A complex type that contains information about an optional custom health 2804 // check. 2805 // 2806 // If you specify a health check configuration, you can specify either HealthCheckCustomConfig 2807 // or HealthCheckConfig but not both. 2808 // 2809 // You can't add, update, or delete a HealthCheckCustomConfig configuration 2810 // from an existing service. 2811 HealthCheckCustomConfig *HealthCheckCustomConfig `type:"structure"` 2812 2813 // The name that you want to assign to the service. 2814 // 2815 // If you want AWS Cloud Map to create an SRV record when you register an instance, 2816 // and if you're using a system that requires a specific SRV format, such as 2817 // HAProxy (http://www.haproxy.org/), specify the following for Name: 2818 // 2819 // * Start the name with an underscore (_), such as _exampleservice 2820 // 2821 // * End the name with ._protocol, such as ._tcp 2822 // 2823 // When you register an instance, AWS Cloud Map creates an SRV record and assigns 2824 // a name to the record by concatenating the service name and the namespace 2825 // name, for example: 2826 // 2827 // _exampleservice._tcp.example.com 2828 // 2829 // Name is a required field 2830 Name *string `type:"string" required:"true"` 2831 2832 // The ID of the namespace that you want to use to create the service. 2833 NamespaceId *string `type:"string"` 2834 2835 // The tags to add to the service. Each tag consists of a key and an optional 2836 // value, both of which you define. Tag keys can have a maximum character length 2837 // of 128 characters, and tag values can have a maximum length of 256 characters. 2838 Tags []*Tag `type:"list"` 2839} 2840 2841// String returns the string representation 2842func (s CreateServiceInput) String() string { 2843 return awsutil.Prettify(s) 2844} 2845 2846// GoString returns the string representation 2847func (s CreateServiceInput) GoString() string { 2848 return s.String() 2849} 2850 2851// Validate inspects the fields of the type to determine if they are valid. 2852func (s *CreateServiceInput) Validate() error { 2853 invalidParams := request.ErrInvalidParams{Context: "CreateServiceInput"} 2854 if s.Name == nil { 2855 invalidParams.Add(request.NewErrParamRequired("Name")) 2856 } 2857 if s.DnsConfig != nil { 2858 if err := s.DnsConfig.Validate(); err != nil { 2859 invalidParams.AddNested("DnsConfig", err.(request.ErrInvalidParams)) 2860 } 2861 } 2862 if s.HealthCheckConfig != nil { 2863 if err := s.HealthCheckConfig.Validate(); err != nil { 2864 invalidParams.AddNested("HealthCheckConfig", err.(request.ErrInvalidParams)) 2865 } 2866 } 2867 if s.HealthCheckCustomConfig != nil { 2868 if err := s.HealthCheckCustomConfig.Validate(); err != nil { 2869 invalidParams.AddNested("HealthCheckCustomConfig", err.(request.ErrInvalidParams)) 2870 } 2871 } 2872 if s.Tags != nil { 2873 for i, v := range s.Tags { 2874 if v == nil { 2875 continue 2876 } 2877 if err := v.Validate(); err != nil { 2878 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 2879 } 2880 } 2881 } 2882 2883 if invalidParams.Len() > 0 { 2884 return invalidParams 2885 } 2886 return nil 2887} 2888 2889// SetCreatorRequestId sets the CreatorRequestId field's value. 2890func (s *CreateServiceInput) SetCreatorRequestId(v string) *CreateServiceInput { 2891 s.CreatorRequestId = &v 2892 return s 2893} 2894 2895// SetDescription sets the Description field's value. 2896func (s *CreateServiceInput) SetDescription(v string) *CreateServiceInput { 2897 s.Description = &v 2898 return s 2899} 2900 2901// SetDnsConfig sets the DnsConfig field's value. 2902func (s *CreateServiceInput) SetDnsConfig(v *DnsConfig) *CreateServiceInput { 2903 s.DnsConfig = v 2904 return s 2905} 2906 2907// SetHealthCheckConfig sets the HealthCheckConfig field's value. 2908func (s *CreateServiceInput) SetHealthCheckConfig(v *HealthCheckConfig) *CreateServiceInput { 2909 s.HealthCheckConfig = v 2910 return s 2911} 2912 2913// SetHealthCheckCustomConfig sets the HealthCheckCustomConfig field's value. 2914func (s *CreateServiceInput) SetHealthCheckCustomConfig(v *HealthCheckCustomConfig) *CreateServiceInput { 2915 s.HealthCheckCustomConfig = v 2916 return s 2917} 2918 2919// SetName sets the Name field's value. 2920func (s *CreateServiceInput) SetName(v string) *CreateServiceInput { 2921 s.Name = &v 2922 return s 2923} 2924 2925// SetNamespaceId sets the NamespaceId field's value. 2926func (s *CreateServiceInput) SetNamespaceId(v string) *CreateServiceInput { 2927 s.NamespaceId = &v 2928 return s 2929} 2930 2931// SetTags sets the Tags field's value. 2932func (s *CreateServiceInput) SetTags(v []*Tag) *CreateServiceInput { 2933 s.Tags = v 2934 return s 2935} 2936 2937type CreateServiceOutput struct { 2938 _ struct{} `type:"structure"` 2939 2940 // A complex type that contains information about the new service. 2941 Service *Service `type:"structure"` 2942} 2943 2944// String returns the string representation 2945func (s CreateServiceOutput) String() string { 2946 return awsutil.Prettify(s) 2947} 2948 2949// GoString returns the string representation 2950func (s CreateServiceOutput) GoString() string { 2951 return s.String() 2952} 2953 2954// SetService sets the Service field's value. 2955func (s *CreateServiceOutput) SetService(v *Service) *CreateServiceOutput { 2956 s.Service = v 2957 return s 2958} 2959 2960// The health check for the instance that is specified by ServiceId and InstanceId 2961// is not a custom health check. 2962type CustomHealthNotFound struct { 2963 _ struct{} `type:"structure"` 2964 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2965 2966 Message_ *string `locationName:"Message" type:"string"` 2967} 2968 2969// String returns the string representation 2970func (s CustomHealthNotFound) String() string { 2971 return awsutil.Prettify(s) 2972} 2973 2974// GoString returns the string representation 2975func (s CustomHealthNotFound) GoString() string { 2976 return s.String() 2977} 2978 2979func newErrorCustomHealthNotFound(v protocol.ResponseMetadata) error { 2980 return &CustomHealthNotFound{ 2981 RespMetadata: v, 2982 } 2983} 2984 2985// Code returns the exception type name. 2986func (s *CustomHealthNotFound) Code() string { 2987 return "CustomHealthNotFound" 2988} 2989 2990// Message returns the exception's message. 2991func (s *CustomHealthNotFound) Message() string { 2992 if s.Message_ != nil { 2993 return *s.Message_ 2994 } 2995 return "" 2996} 2997 2998// OrigErr always returns nil, satisfies awserr.Error interface. 2999func (s *CustomHealthNotFound) OrigErr() error { 3000 return nil 3001} 3002 3003func (s *CustomHealthNotFound) Error() string { 3004 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3005} 3006 3007// Status code returns the HTTP status code for the request's response error. 3008func (s *CustomHealthNotFound) StatusCode() int { 3009 return s.RespMetadata.StatusCode 3010} 3011 3012// RequestID returns the service's response RequestID for request. 3013func (s *CustomHealthNotFound) RequestID() string { 3014 return s.RespMetadata.RequestID 3015} 3016 3017type DeleteNamespaceInput struct { 3018 _ struct{} `type:"structure"` 3019 3020 // The ID of the namespace that you want to delete. 3021 // 3022 // Id is a required field 3023 Id *string `type:"string" required:"true"` 3024} 3025 3026// String returns the string representation 3027func (s DeleteNamespaceInput) String() string { 3028 return awsutil.Prettify(s) 3029} 3030 3031// GoString returns the string representation 3032func (s DeleteNamespaceInput) GoString() string { 3033 return s.String() 3034} 3035 3036// Validate inspects the fields of the type to determine if they are valid. 3037func (s *DeleteNamespaceInput) Validate() error { 3038 invalidParams := request.ErrInvalidParams{Context: "DeleteNamespaceInput"} 3039 if s.Id == nil { 3040 invalidParams.Add(request.NewErrParamRequired("Id")) 3041 } 3042 3043 if invalidParams.Len() > 0 { 3044 return invalidParams 3045 } 3046 return nil 3047} 3048 3049// SetId sets the Id field's value. 3050func (s *DeleteNamespaceInput) SetId(v string) *DeleteNamespaceInput { 3051 s.Id = &v 3052 return s 3053} 3054 3055type DeleteNamespaceOutput struct { 3056 _ struct{} `type:"structure"` 3057 3058 // A value that you can use to determine whether the request completed successfully. 3059 // To get the status of the operation, see GetOperation (https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html). 3060 OperationId *string `type:"string"` 3061} 3062 3063// String returns the string representation 3064func (s DeleteNamespaceOutput) String() string { 3065 return awsutil.Prettify(s) 3066} 3067 3068// GoString returns the string representation 3069func (s DeleteNamespaceOutput) GoString() string { 3070 return s.String() 3071} 3072 3073// SetOperationId sets the OperationId field's value. 3074func (s *DeleteNamespaceOutput) SetOperationId(v string) *DeleteNamespaceOutput { 3075 s.OperationId = &v 3076 return s 3077} 3078 3079type DeleteServiceInput struct { 3080 _ struct{} `type:"structure"` 3081 3082 // The ID of the service that you want to delete. 3083 // 3084 // Id is a required field 3085 Id *string `type:"string" required:"true"` 3086} 3087 3088// String returns the string representation 3089func (s DeleteServiceInput) String() string { 3090 return awsutil.Prettify(s) 3091} 3092 3093// GoString returns the string representation 3094func (s DeleteServiceInput) GoString() string { 3095 return s.String() 3096} 3097 3098// Validate inspects the fields of the type to determine if they are valid. 3099func (s *DeleteServiceInput) Validate() error { 3100 invalidParams := request.ErrInvalidParams{Context: "DeleteServiceInput"} 3101 if s.Id == nil { 3102 invalidParams.Add(request.NewErrParamRequired("Id")) 3103 } 3104 3105 if invalidParams.Len() > 0 { 3106 return invalidParams 3107 } 3108 return nil 3109} 3110 3111// SetId sets the Id field's value. 3112func (s *DeleteServiceInput) SetId(v string) *DeleteServiceInput { 3113 s.Id = &v 3114 return s 3115} 3116 3117type DeleteServiceOutput struct { 3118 _ struct{} `type:"structure"` 3119} 3120 3121// String returns the string representation 3122func (s DeleteServiceOutput) String() string { 3123 return awsutil.Prettify(s) 3124} 3125 3126// GoString returns the string representation 3127func (s DeleteServiceOutput) GoString() string { 3128 return s.String() 3129} 3130 3131type DeregisterInstanceInput struct { 3132 _ struct{} `type:"structure"` 3133 3134 // The value that you specified for Id in the RegisterInstance (https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html) 3135 // request. 3136 // 3137 // InstanceId is a required field 3138 InstanceId *string `type:"string" required:"true"` 3139 3140 // The ID of the service that the instance is associated with. 3141 // 3142 // ServiceId is a required field 3143 ServiceId *string `type:"string" required:"true"` 3144} 3145 3146// String returns the string representation 3147func (s DeregisterInstanceInput) String() string { 3148 return awsutil.Prettify(s) 3149} 3150 3151// GoString returns the string representation 3152func (s DeregisterInstanceInput) GoString() string { 3153 return s.String() 3154} 3155 3156// Validate inspects the fields of the type to determine if they are valid. 3157func (s *DeregisterInstanceInput) Validate() error { 3158 invalidParams := request.ErrInvalidParams{Context: "DeregisterInstanceInput"} 3159 if s.InstanceId == nil { 3160 invalidParams.Add(request.NewErrParamRequired("InstanceId")) 3161 } 3162 if s.ServiceId == nil { 3163 invalidParams.Add(request.NewErrParamRequired("ServiceId")) 3164 } 3165 3166 if invalidParams.Len() > 0 { 3167 return invalidParams 3168 } 3169 return nil 3170} 3171 3172// SetInstanceId sets the InstanceId field's value. 3173func (s *DeregisterInstanceInput) SetInstanceId(v string) *DeregisterInstanceInput { 3174 s.InstanceId = &v 3175 return s 3176} 3177 3178// SetServiceId sets the ServiceId field's value. 3179func (s *DeregisterInstanceInput) SetServiceId(v string) *DeregisterInstanceInput { 3180 s.ServiceId = &v 3181 return s 3182} 3183 3184type DeregisterInstanceOutput struct { 3185 _ struct{} `type:"structure"` 3186 3187 // A value that you can use to determine whether the request completed successfully. 3188 // For more information, see GetOperation (https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html). 3189 OperationId *string `type:"string"` 3190} 3191 3192// String returns the string representation 3193func (s DeregisterInstanceOutput) String() string { 3194 return awsutil.Prettify(s) 3195} 3196 3197// GoString returns the string representation 3198func (s DeregisterInstanceOutput) GoString() string { 3199 return s.String() 3200} 3201 3202// SetOperationId sets the OperationId field's value. 3203func (s *DeregisterInstanceOutput) SetOperationId(v string) *DeregisterInstanceOutput { 3204 s.OperationId = &v 3205 return s 3206} 3207 3208type DiscoverInstancesInput struct { 3209 _ struct{} `type:"structure"` 3210 3211 // The health status of the instances that you want to discover. 3212 HealthStatus *string `type:"string" enum:"HealthStatusFilter"` 3213 3214 // The maximum number of instances that you want AWS Cloud Map to return in 3215 // the response to a DiscoverInstances request. If you don't specify a value 3216 // for MaxResults, AWS Cloud Map returns up to 100 instances. 3217 MaxResults *int64 `min:"1" type:"integer"` 3218 3219 // The name of the namespace that you specified when you registered the instance. 3220 // 3221 // NamespaceName is a required field 3222 NamespaceName *string `type:"string" required:"true"` 3223 3224 // Opportunistic filters to scope the results based on custom attributes. If 3225 // there are instances that match both the filters specified in both the QueryParameters 3226 // parameter and this parameter, they are returned. Otherwise, these filters 3227 // are ignored and only instances that match the filters specified in the QueryParameters 3228 // parameter are returned. 3229 OptionalParameters map[string]*string `type:"map"` 3230 3231 // Filters to scope the results based on custom attributes for the instance. 3232 // For example, {version=v1, az=1a}. Only instances that match all the specified 3233 // key-value pairs will be returned. 3234 QueryParameters map[string]*string `type:"map"` 3235 3236 // The name of the service that you specified when you registered the instance. 3237 // 3238 // ServiceName is a required field 3239 ServiceName *string `type:"string" required:"true"` 3240} 3241 3242// String returns the string representation 3243func (s DiscoverInstancesInput) String() string { 3244 return awsutil.Prettify(s) 3245} 3246 3247// GoString returns the string representation 3248func (s DiscoverInstancesInput) GoString() string { 3249 return s.String() 3250} 3251 3252// Validate inspects the fields of the type to determine if they are valid. 3253func (s *DiscoverInstancesInput) Validate() error { 3254 invalidParams := request.ErrInvalidParams{Context: "DiscoverInstancesInput"} 3255 if s.MaxResults != nil && *s.MaxResults < 1 { 3256 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 3257 } 3258 if s.NamespaceName == nil { 3259 invalidParams.Add(request.NewErrParamRequired("NamespaceName")) 3260 } 3261 if s.ServiceName == nil { 3262 invalidParams.Add(request.NewErrParamRequired("ServiceName")) 3263 } 3264 3265 if invalidParams.Len() > 0 { 3266 return invalidParams 3267 } 3268 return nil 3269} 3270 3271// SetHealthStatus sets the HealthStatus field's value. 3272func (s *DiscoverInstancesInput) SetHealthStatus(v string) *DiscoverInstancesInput { 3273 s.HealthStatus = &v 3274 return s 3275} 3276 3277// SetMaxResults sets the MaxResults field's value. 3278func (s *DiscoverInstancesInput) SetMaxResults(v int64) *DiscoverInstancesInput { 3279 s.MaxResults = &v 3280 return s 3281} 3282 3283// SetNamespaceName sets the NamespaceName field's value. 3284func (s *DiscoverInstancesInput) SetNamespaceName(v string) *DiscoverInstancesInput { 3285 s.NamespaceName = &v 3286 return s 3287} 3288 3289// SetOptionalParameters sets the OptionalParameters field's value. 3290func (s *DiscoverInstancesInput) SetOptionalParameters(v map[string]*string) *DiscoverInstancesInput { 3291 s.OptionalParameters = v 3292 return s 3293} 3294 3295// SetQueryParameters sets the QueryParameters field's value. 3296func (s *DiscoverInstancesInput) SetQueryParameters(v map[string]*string) *DiscoverInstancesInput { 3297 s.QueryParameters = v 3298 return s 3299} 3300 3301// SetServiceName sets the ServiceName field's value. 3302func (s *DiscoverInstancesInput) SetServiceName(v string) *DiscoverInstancesInput { 3303 s.ServiceName = &v 3304 return s 3305} 3306 3307type DiscoverInstancesOutput struct { 3308 _ struct{} `type:"structure"` 3309 3310 // A complex type that contains one HttpInstanceSummary for each registered 3311 // instance. 3312 Instances []*HttpInstanceSummary `type:"list"` 3313} 3314 3315// String returns the string representation 3316func (s DiscoverInstancesOutput) String() string { 3317 return awsutil.Prettify(s) 3318} 3319 3320// GoString returns the string representation 3321func (s DiscoverInstancesOutput) GoString() string { 3322 return s.String() 3323} 3324 3325// SetInstances sets the Instances field's value. 3326func (s *DiscoverInstancesOutput) SetInstances(v []*HttpInstanceSummary) *DiscoverInstancesOutput { 3327 s.Instances = v 3328 return s 3329} 3330 3331// A complex type that contains information about the Amazon Route 53 DNS records 3332// that you want AWS Cloud Map to create when you register an instance. 3333type DnsConfig struct { 3334 _ struct{} `type:"structure"` 3335 3336 // An array that contains one DnsRecord object for each Route 53 DNS record 3337 // that you want AWS Cloud Map to create when you register an instance. 3338 // 3339 // DnsRecords is a required field 3340 DnsRecords []*DnsRecord `type:"list" required:"true"` 3341 3342 // The ID of the namespace to use for DNS configuration. 3343 // 3344 // Deprecated: Top level attribute in request should be used to reference namespace-id 3345 NamespaceId *string `deprecated:"true" type:"string"` 3346 3347 // The routing policy that you want to apply to all Route 53 DNS records that 3348 // AWS Cloud Map creates when you register an instance and specify this service. 3349 // 3350 // If you want to use this service to register instances that create alias records, 3351 // specify WEIGHTED for the routing policy. 3352 // 3353 // You can specify the following values: 3354 // 3355 // MULTIVALUE 3356 // 3357 // If you define a health check for the service and the health check is healthy, 3358 // Route 53 returns the applicable value for up to eight instances. 3359 // 3360 // For example, suppose the service includes configurations for one A record 3361 // and a health check, and you use the service to register 10 instances. Route 3362 // 53 responds to DNS queries with IP addresses for up to eight healthy instances. 3363 // If fewer than eight instances are healthy, Route 53 responds to every DNS 3364 // query with the IP addresses for all of the healthy instances. 3365 // 3366 // If you don't define a health check for the service, Route 53 assumes that 3367 // all instances are healthy and returns the values for up to eight instances. 3368 // 3369 // For more information about the multivalue routing policy, see Multivalue 3370 // Answer Routing (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-multivalue) 3371 // in the Route 53 Developer Guide. 3372 // 3373 // WEIGHTED 3374 // 3375 // Route 53 returns the applicable value from one randomly selected instance 3376 // from among the instances that you registered using the same service. Currently, 3377 // all records have the same weight, so you can't route more or less traffic 3378 // to any instances. 3379 // 3380 // For example, suppose the service includes configurations for one A record 3381 // and a health check, and you use the service to register 10 instances. Route 3382 // 53 responds to DNS queries with the IP address for one randomly selected 3383 // instance from among the healthy instances. If no instances are healthy, Route 3384 // 53 responds to DNS queries as if all of the instances were healthy. 3385 // 3386 // If you don't define a health check for the service, Route 53 assumes that 3387 // all instances are healthy and returns the applicable value for one randomly 3388 // selected instance. 3389 // 3390 // For more information about the weighted routing policy, see Weighted Routing 3391 // (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-weighted) 3392 // in the Route 53 Developer Guide. 3393 RoutingPolicy *string `type:"string" enum:"RoutingPolicy"` 3394} 3395 3396// String returns the string representation 3397func (s DnsConfig) String() string { 3398 return awsutil.Prettify(s) 3399} 3400 3401// GoString returns the string representation 3402func (s DnsConfig) GoString() string { 3403 return s.String() 3404} 3405 3406// Validate inspects the fields of the type to determine if they are valid. 3407func (s *DnsConfig) Validate() error { 3408 invalidParams := request.ErrInvalidParams{Context: "DnsConfig"} 3409 if s.DnsRecords == nil { 3410 invalidParams.Add(request.NewErrParamRequired("DnsRecords")) 3411 } 3412 if s.DnsRecords != nil { 3413 for i, v := range s.DnsRecords { 3414 if v == nil { 3415 continue 3416 } 3417 if err := v.Validate(); err != nil { 3418 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DnsRecords", i), err.(request.ErrInvalidParams)) 3419 } 3420 } 3421 } 3422 3423 if invalidParams.Len() > 0 { 3424 return invalidParams 3425 } 3426 return nil 3427} 3428 3429// SetDnsRecords sets the DnsRecords field's value. 3430func (s *DnsConfig) SetDnsRecords(v []*DnsRecord) *DnsConfig { 3431 s.DnsRecords = v 3432 return s 3433} 3434 3435// SetNamespaceId sets the NamespaceId field's value. 3436func (s *DnsConfig) SetNamespaceId(v string) *DnsConfig { 3437 s.NamespaceId = &v 3438 return s 3439} 3440 3441// SetRoutingPolicy sets the RoutingPolicy field's value. 3442func (s *DnsConfig) SetRoutingPolicy(v string) *DnsConfig { 3443 s.RoutingPolicy = &v 3444 return s 3445} 3446 3447// A complex type that contains information about changes to the Route 53 DNS 3448// records that AWS Cloud Map creates when you register an instance. 3449type DnsConfigChange struct { 3450 _ struct{} `type:"structure"` 3451 3452 // An array that contains one DnsRecord object for each Route 53 record that 3453 // you want AWS Cloud Map to create when you register an instance. 3454 // 3455 // DnsRecords is a required field 3456 DnsRecords []*DnsRecord `type:"list" required:"true"` 3457} 3458 3459// String returns the string representation 3460func (s DnsConfigChange) String() string { 3461 return awsutil.Prettify(s) 3462} 3463 3464// GoString returns the string representation 3465func (s DnsConfigChange) GoString() string { 3466 return s.String() 3467} 3468 3469// Validate inspects the fields of the type to determine if they are valid. 3470func (s *DnsConfigChange) Validate() error { 3471 invalidParams := request.ErrInvalidParams{Context: "DnsConfigChange"} 3472 if s.DnsRecords == nil { 3473 invalidParams.Add(request.NewErrParamRequired("DnsRecords")) 3474 } 3475 if s.DnsRecords != nil { 3476 for i, v := range s.DnsRecords { 3477 if v == nil { 3478 continue 3479 } 3480 if err := v.Validate(); err != nil { 3481 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DnsRecords", i), err.(request.ErrInvalidParams)) 3482 } 3483 } 3484 } 3485 3486 if invalidParams.Len() > 0 { 3487 return invalidParams 3488 } 3489 return nil 3490} 3491 3492// SetDnsRecords sets the DnsRecords field's value. 3493func (s *DnsConfigChange) SetDnsRecords(v []*DnsRecord) *DnsConfigChange { 3494 s.DnsRecords = v 3495 return s 3496} 3497 3498// A complex type that contains the ID for the Route 53 hosted zone that AWS 3499// Cloud Map creates when you create a namespace. 3500type DnsProperties struct { 3501 _ struct{} `type:"structure"` 3502 3503 // The ID for the Route 53 hosted zone that AWS Cloud Map creates when you create 3504 // a namespace. 3505 HostedZoneId *string `type:"string"` 3506} 3507 3508// String returns the string representation 3509func (s DnsProperties) String() string { 3510 return awsutil.Prettify(s) 3511} 3512 3513// GoString returns the string representation 3514func (s DnsProperties) GoString() string { 3515 return s.String() 3516} 3517 3518// SetHostedZoneId sets the HostedZoneId field's value. 3519func (s *DnsProperties) SetHostedZoneId(v string) *DnsProperties { 3520 s.HostedZoneId = &v 3521 return s 3522} 3523 3524// A complex type that contains information about the Route 53 DNS records that 3525// you want AWS Cloud Map to create when you register an instance. 3526type DnsRecord struct { 3527 _ struct{} `type:"structure"` 3528 3529 // The amount of time, in seconds, that you want DNS resolvers to cache the 3530 // settings for this record. 3531 // 3532 // Alias records don't include a TTL because Route 53 uses the TTL for the AWS 3533 // resource that an alias record routes traffic to. If you include the AWS_ALIAS_DNS_NAME 3534 // attribute when you submit a RegisterInstance (https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html) 3535 // request, the TTL value is ignored. Always specify a TTL for the service; 3536 // you can use a service to register instances that create either alias or non-alias 3537 // records. 3538 // 3539 // TTL is a required field 3540 TTL *int64 `type:"long" required:"true"` 3541 3542 // The type of the resource, which indicates the type of value that Route 53 3543 // returns in response to DNS queries. You can specify values for Type in the 3544 // following combinations: 3545 // 3546 // * A 3547 // 3548 // * AAAA 3549 // 3550 // * A and AAAA 3551 // 3552 // * SRV 3553 // 3554 // * CNAME 3555 // 3556 // If you want AWS Cloud Map to create a Route 53 alias record when you register 3557 // an instance, specify A or AAAA for Type. 3558 // 3559 // You specify other settings, such as the IP address for A and AAAA records, 3560 // when you register an instance. For more information, see RegisterInstance 3561 // (https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html). 3562 // 3563 // The following values are supported: 3564 // 3565 // A 3566 // 3567 // Route 53 returns the IP address of the resource in IPv4 format, such as 192.0.2.44. 3568 // 3569 // AAAA 3570 // 3571 // Route 53 returns the IP address of the resource in IPv6 format, such as 2001:0db8:85a3:0000:0000:abcd:0001:2345. 3572 // 3573 // CNAME 3574 // 3575 // Route 53 returns the domain name of the resource, such as www.example.com. 3576 // Note the following: 3577 // 3578 // * You specify the domain name that you want to route traffic to when you 3579 // register an instance. For more information, see Attributes (https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html#cloudmap-RegisterInstance-request-Attributes) 3580 // in the topic RegisterInstance (https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html). 3581 // 3582 // * You must specify WEIGHTED for the value of RoutingPolicy. 3583 // 3584 // * You can't specify both CNAME for Type and settings for HealthCheckConfig. 3585 // If you do, the request will fail with an InvalidInput error. 3586 // 3587 // SRV 3588 // 3589 // Route 53 returns the value for an SRV record. The value for an SRV record 3590 // uses the following values: 3591 // 3592 // priority weight port service-hostname 3593 // 3594 // Note the following about the values: 3595 // 3596 // * The values of priority and weight are both set to 1 and can't be changed. 3597 // 3598 // * The value of port comes from the value that you specify for the AWS_INSTANCE_PORT 3599 // attribute when you submit a RegisterInstance (https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html) 3600 // request. 3601 // 3602 // * The value of service-hostname is a concatenation of the following values: 3603 // The value that you specify for InstanceId when you register an instance. 3604 // The name of the service. The name of the namespace. For example, if the 3605 // value of InstanceId is test, the name of the service is backend, and the 3606 // name of the namespace is example.com, the value of service-hostname is: 3607 // test.backend.example.com 3608 // 3609 // If you specify settings for an SRV record, note the following: 3610 // 3611 // * If you specify values for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both 3612 // in the RegisterInstance request, AWS Cloud Map automatically creates A 3613 // and/or AAAA records that have the same name as the value of service-hostname 3614 // in the SRV record. You can ignore these records. 3615 // 3616 // * If you're using a system that requires a specific SRV format, such as 3617 // HAProxy, see the Name (https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html#cloudmap-CreateService-request-Name) 3618 // element in the documentation about CreateService for information about 3619 // how to specify the correct name format. 3620 // 3621 // Type is a required field 3622 Type *string `type:"string" required:"true" enum:"RecordType"` 3623} 3624 3625// String returns the string representation 3626func (s DnsRecord) String() string { 3627 return awsutil.Prettify(s) 3628} 3629 3630// GoString returns the string representation 3631func (s DnsRecord) GoString() string { 3632 return s.String() 3633} 3634 3635// Validate inspects the fields of the type to determine if they are valid. 3636func (s *DnsRecord) Validate() error { 3637 invalidParams := request.ErrInvalidParams{Context: "DnsRecord"} 3638 if s.TTL == nil { 3639 invalidParams.Add(request.NewErrParamRequired("TTL")) 3640 } 3641 if s.Type == nil { 3642 invalidParams.Add(request.NewErrParamRequired("Type")) 3643 } 3644 3645 if invalidParams.Len() > 0 { 3646 return invalidParams 3647 } 3648 return nil 3649} 3650 3651// SetTTL sets the TTL field's value. 3652func (s *DnsRecord) SetTTL(v int64) *DnsRecord { 3653 s.TTL = &v 3654 return s 3655} 3656 3657// SetType sets the Type field's value. 3658func (s *DnsRecord) SetType(v string) *DnsRecord { 3659 s.Type = &v 3660 return s 3661} 3662 3663// The operation is already in progress. 3664type DuplicateRequest struct { 3665 _ struct{} `type:"structure"` 3666 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3667 3668 // The ID of the operation that is already in progress. 3669 DuplicateOperationId *string `type:"string"` 3670 3671 Message_ *string `locationName:"Message" type:"string"` 3672} 3673 3674// String returns the string representation 3675func (s DuplicateRequest) String() string { 3676 return awsutil.Prettify(s) 3677} 3678 3679// GoString returns the string representation 3680func (s DuplicateRequest) GoString() string { 3681 return s.String() 3682} 3683 3684func newErrorDuplicateRequest(v protocol.ResponseMetadata) error { 3685 return &DuplicateRequest{ 3686 RespMetadata: v, 3687 } 3688} 3689 3690// Code returns the exception type name. 3691func (s *DuplicateRequest) Code() string { 3692 return "DuplicateRequest" 3693} 3694 3695// Message returns the exception's message. 3696func (s *DuplicateRequest) Message() string { 3697 if s.Message_ != nil { 3698 return *s.Message_ 3699 } 3700 return "" 3701} 3702 3703// OrigErr always returns nil, satisfies awserr.Error interface. 3704func (s *DuplicateRequest) OrigErr() error { 3705 return nil 3706} 3707 3708func (s *DuplicateRequest) Error() string { 3709 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 3710} 3711 3712// Status code returns the HTTP status code for the request's response error. 3713func (s *DuplicateRequest) StatusCode() int { 3714 return s.RespMetadata.StatusCode 3715} 3716 3717// RequestID returns the service's response RequestID for request. 3718func (s *DuplicateRequest) RequestID() string { 3719 return s.RespMetadata.RequestID 3720} 3721 3722type GetInstanceInput struct { 3723 _ struct{} `type:"structure"` 3724 3725 // The ID of the instance that you want to get information about. 3726 // 3727 // InstanceId is a required field 3728 InstanceId *string `type:"string" required:"true"` 3729 3730 // The ID of the service that the instance is associated with. 3731 // 3732 // ServiceId is a required field 3733 ServiceId *string `type:"string" required:"true"` 3734} 3735 3736// String returns the string representation 3737func (s GetInstanceInput) String() string { 3738 return awsutil.Prettify(s) 3739} 3740 3741// GoString returns the string representation 3742func (s GetInstanceInput) GoString() string { 3743 return s.String() 3744} 3745 3746// Validate inspects the fields of the type to determine if they are valid. 3747func (s *GetInstanceInput) Validate() error { 3748 invalidParams := request.ErrInvalidParams{Context: "GetInstanceInput"} 3749 if s.InstanceId == nil { 3750 invalidParams.Add(request.NewErrParamRequired("InstanceId")) 3751 } 3752 if s.ServiceId == nil { 3753 invalidParams.Add(request.NewErrParamRequired("ServiceId")) 3754 } 3755 3756 if invalidParams.Len() > 0 { 3757 return invalidParams 3758 } 3759 return nil 3760} 3761 3762// SetInstanceId sets the InstanceId field's value. 3763func (s *GetInstanceInput) SetInstanceId(v string) *GetInstanceInput { 3764 s.InstanceId = &v 3765 return s 3766} 3767 3768// SetServiceId sets the ServiceId field's value. 3769func (s *GetInstanceInput) SetServiceId(v string) *GetInstanceInput { 3770 s.ServiceId = &v 3771 return s 3772} 3773 3774type GetInstanceOutput struct { 3775 _ struct{} `type:"structure"` 3776 3777 // A complex type that contains information about a specified instance. 3778 Instance *Instance `type:"structure"` 3779} 3780 3781// String returns the string representation 3782func (s GetInstanceOutput) String() string { 3783 return awsutil.Prettify(s) 3784} 3785 3786// GoString returns the string representation 3787func (s GetInstanceOutput) GoString() string { 3788 return s.String() 3789} 3790 3791// SetInstance sets the Instance field's value. 3792func (s *GetInstanceOutput) SetInstance(v *Instance) *GetInstanceOutput { 3793 s.Instance = v 3794 return s 3795} 3796 3797type GetInstancesHealthStatusInput struct { 3798 _ struct{} `type:"structure"` 3799 3800 // An array that contains the IDs of all the instances that you want to get 3801 // the health status for. 3802 // 3803 // If you omit Instances, AWS Cloud Map returns the health status for all the 3804 // instances that are associated with the specified service. 3805 // 3806 // To get the IDs for the instances that you've registered by using a specified 3807 // service, submit a ListInstances (https://docs.aws.amazon.com/cloud-map/latest/api/API_ListInstances.html) 3808 // request. 3809 Instances []*string `min:"1" type:"list"` 3810 3811 // The maximum number of instances that you want AWS Cloud Map to return in 3812 // the response to a GetInstancesHealthStatus request. If you don't specify 3813 // a value for MaxResults, AWS Cloud Map returns up to 100 instances. 3814 MaxResults *int64 `min:"1" type:"integer"` 3815 3816 // For the first GetInstancesHealthStatus request, omit this value. 3817 // 3818 // If more than MaxResults instances match the specified criteria, you can submit 3819 // another GetInstancesHealthStatus request to get the next group of results. 3820 // Specify the value of NextToken from the previous response in the next request. 3821 NextToken *string `type:"string"` 3822 3823 // The ID of the service that the instance is associated with. 3824 // 3825 // ServiceId is a required field 3826 ServiceId *string `type:"string" required:"true"` 3827} 3828 3829// String returns the string representation 3830func (s GetInstancesHealthStatusInput) String() string { 3831 return awsutil.Prettify(s) 3832} 3833 3834// GoString returns the string representation 3835func (s GetInstancesHealthStatusInput) GoString() string { 3836 return s.String() 3837} 3838 3839// Validate inspects the fields of the type to determine if they are valid. 3840func (s *GetInstancesHealthStatusInput) Validate() error { 3841 invalidParams := request.ErrInvalidParams{Context: "GetInstancesHealthStatusInput"} 3842 if s.Instances != nil && len(s.Instances) < 1 { 3843 invalidParams.Add(request.NewErrParamMinLen("Instances", 1)) 3844 } 3845 if s.MaxResults != nil && *s.MaxResults < 1 { 3846 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 3847 } 3848 if s.ServiceId == nil { 3849 invalidParams.Add(request.NewErrParamRequired("ServiceId")) 3850 } 3851 3852 if invalidParams.Len() > 0 { 3853 return invalidParams 3854 } 3855 return nil 3856} 3857 3858// SetInstances sets the Instances field's value. 3859func (s *GetInstancesHealthStatusInput) SetInstances(v []*string) *GetInstancesHealthStatusInput { 3860 s.Instances = v 3861 return s 3862} 3863 3864// SetMaxResults sets the MaxResults field's value. 3865func (s *GetInstancesHealthStatusInput) SetMaxResults(v int64) *GetInstancesHealthStatusInput { 3866 s.MaxResults = &v 3867 return s 3868} 3869 3870// SetNextToken sets the NextToken field's value. 3871func (s *GetInstancesHealthStatusInput) SetNextToken(v string) *GetInstancesHealthStatusInput { 3872 s.NextToken = &v 3873 return s 3874} 3875 3876// SetServiceId sets the ServiceId field's value. 3877func (s *GetInstancesHealthStatusInput) SetServiceId(v string) *GetInstancesHealthStatusInput { 3878 s.ServiceId = &v 3879 return s 3880} 3881 3882type GetInstancesHealthStatusOutput struct { 3883 _ struct{} `type:"structure"` 3884 3885 // If more than MaxResults instances match the specified criteria, you can submit 3886 // another GetInstancesHealthStatus request to get the next group of results. 3887 // Specify the value of NextToken from the previous response in the next request. 3888 NextToken *string `type:"string"` 3889 3890 // A complex type that contains the IDs and the health status of the instances 3891 // that you specified in the GetInstancesHealthStatus request. 3892 Status map[string]*string `type:"map"` 3893} 3894 3895// String returns the string representation 3896func (s GetInstancesHealthStatusOutput) String() string { 3897 return awsutil.Prettify(s) 3898} 3899 3900// GoString returns the string representation 3901func (s GetInstancesHealthStatusOutput) GoString() string { 3902 return s.String() 3903} 3904 3905// SetNextToken sets the NextToken field's value. 3906func (s *GetInstancesHealthStatusOutput) SetNextToken(v string) *GetInstancesHealthStatusOutput { 3907 s.NextToken = &v 3908 return s 3909} 3910 3911// SetStatus sets the Status field's value. 3912func (s *GetInstancesHealthStatusOutput) SetStatus(v map[string]*string) *GetInstancesHealthStatusOutput { 3913 s.Status = v 3914 return s 3915} 3916 3917type GetNamespaceInput struct { 3918 _ struct{} `type:"structure"` 3919 3920 // The ID of the namespace that you want to get information about. 3921 // 3922 // Id is a required field 3923 Id *string `type:"string" required:"true"` 3924} 3925 3926// String returns the string representation 3927func (s GetNamespaceInput) String() string { 3928 return awsutil.Prettify(s) 3929} 3930 3931// GoString returns the string representation 3932func (s GetNamespaceInput) GoString() string { 3933 return s.String() 3934} 3935 3936// Validate inspects the fields of the type to determine if they are valid. 3937func (s *GetNamespaceInput) Validate() error { 3938 invalidParams := request.ErrInvalidParams{Context: "GetNamespaceInput"} 3939 if s.Id == nil { 3940 invalidParams.Add(request.NewErrParamRequired("Id")) 3941 } 3942 3943 if invalidParams.Len() > 0 { 3944 return invalidParams 3945 } 3946 return nil 3947} 3948 3949// SetId sets the Id field's value. 3950func (s *GetNamespaceInput) SetId(v string) *GetNamespaceInput { 3951 s.Id = &v 3952 return s 3953} 3954 3955type GetNamespaceOutput struct { 3956 _ struct{} `type:"structure"` 3957 3958 // A complex type that contains information about the specified namespace. 3959 Namespace *Namespace `type:"structure"` 3960} 3961 3962// String returns the string representation 3963func (s GetNamespaceOutput) String() string { 3964 return awsutil.Prettify(s) 3965} 3966 3967// GoString returns the string representation 3968func (s GetNamespaceOutput) GoString() string { 3969 return s.String() 3970} 3971 3972// SetNamespace sets the Namespace field's value. 3973func (s *GetNamespaceOutput) SetNamespace(v *Namespace) *GetNamespaceOutput { 3974 s.Namespace = v 3975 return s 3976} 3977 3978type GetOperationInput struct { 3979 _ struct{} `type:"structure"` 3980 3981 // The ID of the operation that you want to get more information about. 3982 // 3983 // OperationId is a required field 3984 OperationId *string `type:"string" required:"true"` 3985} 3986 3987// String returns the string representation 3988func (s GetOperationInput) String() string { 3989 return awsutil.Prettify(s) 3990} 3991 3992// GoString returns the string representation 3993func (s GetOperationInput) GoString() string { 3994 return s.String() 3995} 3996 3997// Validate inspects the fields of the type to determine if they are valid. 3998func (s *GetOperationInput) Validate() error { 3999 invalidParams := request.ErrInvalidParams{Context: "GetOperationInput"} 4000 if s.OperationId == nil { 4001 invalidParams.Add(request.NewErrParamRequired("OperationId")) 4002 } 4003 4004 if invalidParams.Len() > 0 { 4005 return invalidParams 4006 } 4007 return nil 4008} 4009 4010// SetOperationId sets the OperationId field's value. 4011func (s *GetOperationInput) SetOperationId(v string) *GetOperationInput { 4012 s.OperationId = &v 4013 return s 4014} 4015 4016type GetOperationOutput struct { 4017 _ struct{} `type:"structure"` 4018 4019 // A complex type that contains information about the operation. 4020 Operation *Operation `type:"structure"` 4021} 4022 4023// String returns the string representation 4024func (s GetOperationOutput) String() string { 4025 return awsutil.Prettify(s) 4026} 4027 4028// GoString returns the string representation 4029func (s GetOperationOutput) GoString() string { 4030 return s.String() 4031} 4032 4033// SetOperation sets the Operation field's value. 4034func (s *GetOperationOutput) SetOperation(v *Operation) *GetOperationOutput { 4035 s.Operation = v 4036 return s 4037} 4038 4039type GetServiceInput struct { 4040 _ struct{} `type:"structure"` 4041 4042 // The ID of the service that you want to get settings for. 4043 // 4044 // Id is a required field 4045 Id *string `type:"string" required:"true"` 4046} 4047 4048// String returns the string representation 4049func (s GetServiceInput) String() string { 4050 return awsutil.Prettify(s) 4051} 4052 4053// GoString returns the string representation 4054func (s GetServiceInput) GoString() string { 4055 return s.String() 4056} 4057 4058// Validate inspects the fields of the type to determine if they are valid. 4059func (s *GetServiceInput) Validate() error { 4060 invalidParams := request.ErrInvalidParams{Context: "GetServiceInput"} 4061 if s.Id == nil { 4062 invalidParams.Add(request.NewErrParamRequired("Id")) 4063 } 4064 4065 if invalidParams.Len() > 0 { 4066 return invalidParams 4067 } 4068 return nil 4069} 4070 4071// SetId sets the Id field's value. 4072func (s *GetServiceInput) SetId(v string) *GetServiceInput { 4073 s.Id = &v 4074 return s 4075} 4076 4077type GetServiceOutput struct { 4078 _ struct{} `type:"structure"` 4079 4080 // A complex type that contains information about the service. 4081 Service *Service `type:"structure"` 4082} 4083 4084// String returns the string representation 4085func (s GetServiceOutput) String() string { 4086 return awsutil.Prettify(s) 4087} 4088 4089// GoString returns the string representation 4090func (s GetServiceOutput) GoString() string { 4091 return s.String() 4092} 4093 4094// SetService sets the Service field's value. 4095func (s *GetServiceOutput) SetService(v *Service) *GetServiceOutput { 4096 s.Service = v 4097 return s 4098} 4099 4100// Public DNS and HTTP namespaces only. A complex type that contains settings 4101// for an optional health check. If you specify settings for a health check, 4102// AWS Cloud Map associates the health check with the records that you specify 4103// in DnsConfig. 4104// 4105// If you specify a health check configuration, you can specify either HealthCheckCustomConfig 4106// or HealthCheckConfig but not both. 4107// 4108// Health checks are basic Route 53 health checks that monitor an AWS endpoint. 4109// For information about pricing for health checks, see Amazon Route 53 Pricing 4110// (http://aws.amazon.com/route53/pricing/). 4111// 4112// Note the following about configuring health checks. 4113// 4114// A and AAAA records 4115// 4116// If DnsConfig includes configurations for both A and AAAA records, AWS Cloud 4117// Map creates a health check that uses the IPv4 address to check the health 4118// of the resource. If the endpoint that is specified by the IPv4 address is 4119// unhealthy, Route 53 considers both the A and AAAA records to be unhealthy. 4120// 4121// CNAME records 4122// 4123// You can't specify settings for HealthCheckConfig when the DNSConfig includes 4124// CNAME for the value of Type. If you do, the CreateService request will fail 4125// with an InvalidInput error. 4126// 4127// Request interval 4128// 4129// A Route 53 health checker in each health-checking region sends a health check 4130// request to an endpoint every 30 seconds. On average, your endpoint receives 4131// a health check request about every two seconds. However, health checkers 4132// don't coordinate with one another, so you'll sometimes see several requests 4133// per second followed by a few seconds with no health checks at all. 4134// 4135// Health checking regions 4136// 4137// Health checkers perform checks from all Route 53 health-checking regions. 4138// For a list of the current regions, see Regions (https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions). 4139// 4140// Alias records 4141// 4142// When you register an instance, if you include the AWS_ALIAS_DNS_NAME attribute, 4143// AWS Cloud Map creates a Route 53 alias record. Note the following: 4144// 4145// * Route 53 automatically sets EvaluateTargetHealth to true for alias records. 4146// When EvaluateTargetHealth is true, the alias record inherits the health 4147// of the referenced AWS resource. such as an ELB load balancer. For more 4148// information, see EvaluateTargetHealth (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth). 4149// 4150// * If you include HealthCheckConfig and then use the service to register 4151// an instance that creates an alias record, Route 53 doesn't create the 4152// health check. 4153// 4154// Charges for health checks 4155// 4156// Health checks are basic Route 53 health checks that monitor an AWS endpoint. 4157// For information about pricing for health checks, see Amazon Route 53 Pricing 4158// (http://aws.amazon.com/route53/pricing/). 4159type HealthCheckConfig struct { 4160 _ struct{} `type:"structure"` 4161 4162 // The number of consecutive health checks that an endpoint must pass or fail 4163 // for Route 53 to change the current status of the endpoint from unhealthy 4164 // to healthy or vice versa. For more information, see How Route 53 Determines 4165 // Whether an Endpoint Is Healthy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) 4166 // in the Route 53 Developer Guide. 4167 FailureThreshold *int64 `min:"1" type:"integer"` 4168 4169 // The path that you want Route 53 to request when performing health checks. 4170 // The path can be any value for which your endpoint will return an HTTP status 4171 // code of 2xx or 3xx when the endpoint is healthy, such as the file /docs/route53-health-check.html. 4172 // Route 53 automatically adds the DNS name for the service. If you don't specify 4173 // a value for ResourcePath, the default value is /. 4174 // 4175 // If you specify TCP for Type, you must not specify a value for ResourcePath. 4176 ResourcePath *string `type:"string"` 4177 4178 // The type of health check that you want to create, which indicates how Route 4179 // 53 determines whether an endpoint is healthy. 4180 // 4181 // You can't change the value of Type after you create a health check. 4182 // 4183 // You can create the following types of health checks: 4184 // 4185 // * HTTP: Route 53 tries to establish a TCP connection. If successful, Route 4186 // 53 submits an HTTP request and waits for an HTTP status code of 200 or 4187 // greater and less than 400. 4188 // 4189 // * HTTPS: Route 53 tries to establish a TCP connection. If successful, 4190 // Route 53 submits an HTTPS request and waits for an HTTP status code of 4191 // 200 or greater and less than 400. If you specify HTTPS for the value of 4192 // Type, the endpoint must support TLS v1.0 or later. 4193 // 4194 // * TCP: Route 53 tries to establish a TCP connection. If you specify TCP 4195 // for Type, don't specify a value for ResourcePath. 4196 // 4197 // For more information, see How Route 53 Determines Whether an Endpoint Is 4198 // Healthy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) 4199 // in the Route 53 Developer Guide. 4200 // 4201 // Type is a required field 4202 Type *string `type:"string" required:"true" enum:"HealthCheckType"` 4203} 4204 4205// String returns the string representation 4206func (s HealthCheckConfig) String() string { 4207 return awsutil.Prettify(s) 4208} 4209 4210// GoString returns the string representation 4211func (s HealthCheckConfig) GoString() string { 4212 return s.String() 4213} 4214 4215// Validate inspects the fields of the type to determine if they are valid. 4216func (s *HealthCheckConfig) Validate() error { 4217 invalidParams := request.ErrInvalidParams{Context: "HealthCheckConfig"} 4218 if s.FailureThreshold != nil && *s.FailureThreshold < 1 { 4219 invalidParams.Add(request.NewErrParamMinValue("FailureThreshold", 1)) 4220 } 4221 if s.Type == nil { 4222 invalidParams.Add(request.NewErrParamRequired("Type")) 4223 } 4224 4225 if invalidParams.Len() > 0 { 4226 return invalidParams 4227 } 4228 return nil 4229} 4230 4231// SetFailureThreshold sets the FailureThreshold field's value. 4232func (s *HealthCheckConfig) SetFailureThreshold(v int64) *HealthCheckConfig { 4233 s.FailureThreshold = &v 4234 return s 4235} 4236 4237// SetResourcePath sets the ResourcePath field's value. 4238func (s *HealthCheckConfig) SetResourcePath(v string) *HealthCheckConfig { 4239 s.ResourcePath = &v 4240 return s 4241} 4242 4243// SetType sets the Type field's value. 4244func (s *HealthCheckConfig) SetType(v string) *HealthCheckConfig { 4245 s.Type = &v 4246 return s 4247} 4248 4249// A complex type that contains information about an optional custom health 4250// check. A custom health check, which requires that you use a third-party health 4251// checker to evaluate the health of your resources, is useful in the following 4252// circumstances: 4253// 4254// * You can't use a health check that is defined by HealthCheckConfig because 4255// the resource isn't available over the internet. For example, you can use 4256// a custom health check when the instance is in an Amazon VPC. (To check 4257// the health of resources in a VPC, the health checker must also be in the 4258// VPC.) 4259// 4260// * You want to use a third-party health checker regardless of where your 4261// resources are. 4262// 4263// If you specify a health check configuration, you can specify either HealthCheckCustomConfig 4264// or HealthCheckConfig but not both. 4265// 4266// To change the status of a custom health check, submit an UpdateInstanceCustomHealthStatus 4267// request. AWS Cloud Map doesn't monitor the status of the resource, it just 4268// keeps a record of the status specified in the most recent UpdateInstanceCustomHealthStatus 4269// request. 4270// 4271// Here's how custom health checks work: 4272// 4273// You create a service and specify a value for FailureThreshold. 4274// 4275// The failure threshold indicates the number of 30-second intervals you want 4276// AWS Cloud Map to wait between the time that your application sends an UpdateInstanceCustomHealthStatus 4277// (https://docs.aws.amazon.com/cloud-map/latest/api/API_UpdateInstanceCustomHealthStatus.html) 4278// request and the time that AWS Cloud Map stops routing internet traffic to 4279// the corresponding resource. 4280// 4281// You register an instance. 4282// 4283// You configure a third-party health checker to monitor the resource that is 4284// associated with the new instance. 4285// 4286// AWS Cloud Map doesn't check the health of the resource directly. 4287// 4288// The third-party health-checker determines that the resource is unhealthy 4289// and notifies your application. 4290// 4291// Your application submits an UpdateInstanceCustomHealthStatus request. 4292// 4293// AWS Cloud Map waits for (FailureThreshold x 30) seconds. 4294// 4295// If another UpdateInstanceCustomHealthStatus request doesn't arrive during 4296// that time to change the status back to healthy, AWS Cloud Map stops routing 4297// traffic to the resource. 4298type HealthCheckCustomConfig struct { 4299 _ struct{} `type:"structure"` 4300 4301 // 4302 // This parameter has been deprecated and is always set to 1. AWS Cloud Map 4303 // waits for approximately 30 seconds after receiving an UpdateInstanceCustomHealthStatus 4304 // request before changing the status of the service instance. 4305 // 4306 // The number of 30-second intervals that you want AWS Cloud Map to wait after 4307 // receiving an UpdateInstanceCustomHealthStatus request before it changes the 4308 // health status of a service instance. 4309 // 4310 // Sending a second or subsequent UpdateInstanceCustomHealthStatus request with 4311 // the same value before 30 seconds has passed doesn't accelerate the change. 4312 // AWS Cloud Map still waits 30 seconds after the first request to make the 4313 // change. 4314 FailureThreshold *int64 `min:"1" type:"integer"` 4315} 4316 4317// String returns the string representation 4318func (s HealthCheckCustomConfig) String() string { 4319 return awsutil.Prettify(s) 4320} 4321 4322// GoString returns the string representation 4323func (s HealthCheckCustomConfig) GoString() string { 4324 return s.String() 4325} 4326 4327// Validate inspects the fields of the type to determine if they are valid. 4328func (s *HealthCheckCustomConfig) Validate() error { 4329 invalidParams := request.ErrInvalidParams{Context: "HealthCheckCustomConfig"} 4330 if s.FailureThreshold != nil && *s.FailureThreshold < 1 { 4331 invalidParams.Add(request.NewErrParamMinValue("FailureThreshold", 1)) 4332 } 4333 4334 if invalidParams.Len() > 0 { 4335 return invalidParams 4336 } 4337 return nil 4338} 4339 4340// SetFailureThreshold sets the FailureThreshold field's value. 4341func (s *HealthCheckCustomConfig) SetFailureThreshold(v int64) *HealthCheckCustomConfig { 4342 s.FailureThreshold = &v 4343 return s 4344} 4345 4346// In a response to a DiscoverInstances (https://docs.aws.amazon.com/cloud-map/latest/api/API_DiscoverInstances.html) 4347// request, HttpInstanceSummary contains information about one instance that 4348// matches the values that you specified in the request. 4349type HttpInstanceSummary struct { 4350 _ struct{} `type:"structure"` 4351 4352 // If you included any attributes when you registered the instance, the values 4353 // of those attributes. 4354 Attributes map[string]*string `type:"map"` 4355 4356 // If you configured health checking in the service, the current health status 4357 // of the service instance. 4358 HealthStatus *string `type:"string" enum:"HealthStatus"` 4359 4360 // The ID of an instance that matches the values that you specified in the request. 4361 InstanceId *string `type:"string"` 4362 4363 // The name of the namespace that you specified when you registered the instance. 4364 NamespaceName *string `type:"string"` 4365 4366 // The name of the service that you specified when you registered the instance. 4367 ServiceName *string `type:"string"` 4368} 4369 4370// String returns the string representation 4371func (s HttpInstanceSummary) String() string { 4372 return awsutil.Prettify(s) 4373} 4374 4375// GoString returns the string representation 4376func (s HttpInstanceSummary) GoString() string { 4377 return s.String() 4378} 4379 4380// SetAttributes sets the Attributes field's value. 4381func (s *HttpInstanceSummary) SetAttributes(v map[string]*string) *HttpInstanceSummary { 4382 s.Attributes = v 4383 return s 4384} 4385 4386// SetHealthStatus sets the HealthStatus field's value. 4387func (s *HttpInstanceSummary) SetHealthStatus(v string) *HttpInstanceSummary { 4388 s.HealthStatus = &v 4389 return s 4390} 4391 4392// SetInstanceId sets the InstanceId field's value. 4393func (s *HttpInstanceSummary) SetInstanceId(v string) *HttpInstanceSummary { 4394 s.InstanceId = &v 4395 return s 4396} 4397 4398// SetNamespaceName sets the NamespaceName field's value. 4399func (s *HttpInstanceSummary) SetNamespaceName(v string) *HttpInstanceSummary { 4400 s.NamespaceName = &v 4401 return s 4402} 4403 4404// SetServiceName sets the ServiceName field's value. 4405func (s *HttpInstanceSummary) SetServiceName(v string) *HttpInstanceSummary { 4406 s.ServiceName = &v 4407 return s 4408} 4409 4410// A complex type that contains the name of an HTTP namespace. 4411type HttpProperties struct { 4412 _ struct{} `type:"structure"` 4413 4414 // The name of an HTTP namespace. 4415 HttpName *string `type:"string"` 4416} 4417 4418// String returns the string representation 4419func (s HttpProperties) String() string { 4420 return awsutil.Prettify(s) 4421} 4422 4423// GoString returns the string representation 4424func (s HttpProperties) GoString() string { 4425 return s.String() 4426} 4427 4428// SetHttpName sets the HttpName field's value. 4429func (s *HttpProperties) SetHttpName(v string) *HttpProperties { 4430 s.HttpName = &v 4431 return s 4432} 4433 4434// A complex type that contains information about an instance that AWS Cloud 4435// Map creates when you submit a RegisterInstance request. 4436type Instance struct { 4437 _ struct{} `type:"structure"` 4438 4439 // A string map that contains the following information for the service that 4440 // you specify in ServiceId: 4441 // 4442 // * The attributes that apply to the records that are defined in the service. 4443 // 4444 // * For each attribute, the applicable value. 4445 // 4446 // Supported attribute keys include the following: 4447 // 4448 // AWS_ALIAS_DNS_NAME 4449 // 4450 // If you want AWS Cloud Map to create a Route 53 alias record that routes traffic 4451 // to an Elastic Load Balancing load balancer, specify the DNS name that is 4452 // associated with the load balancer. For information about how to get the DNS 4453 // name, see "DNSName" in the topic AliasTarget (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html). 4454 // 4455 // Note the following: 4456 // 4457 // * The configuration for the service that is specified by ServiceId must 4458 // include settings for an A record, an AAAA record, or both. 4459 // 4460 // * In the service that is specified by ServiceId, the value of RoutingPolicy 4461 // must be WEIGHTED. 4462 // 4463 // * If the service that is specified by ServiceId includes HealthCheckConfig 4464 // settings, AWS Cloud Map will create the health check, but it won't associate 4465 // the health check with the alias record. 4466 // 4467 // * Auto naming currently doesn't support creating alias records that route 4468 // traffic to AWS resources other than ELB load balancers. 4469 // 4470 // * If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values 4471 // for any of the AWS_INSTANCE attributes. 4472 // 4473 // AWS_EC2_INSTANCE_ID 4474 // 4475 // HTTP namespaces only. The Amazon EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 4476 // attribute contains the primary private IPv4 address. 4477 // 4478 // AWS_INSTANCE_CNAME 4479 // 4480 // If the service configuration includes a CNAME record, the domain name that 4481 // you want Route 53 to return in response to DNS queries, for example, example.com. 4482 // 4483 // This value is required if the service specified by ServiceId includes settings 4484 // for an CNAME record. 4485 // 4486 // AWS_INSTANCE_IPV4 4487 // 4488 // If the service configuration includes an A record, the IPv4 address that 4489 // you want Route 53 to return in response to DNS queries, for example, 192.0.2.44. 4490 // 4491 // This value is required if the service specified by ServiceId includes settings 4492 // for an A record. If the service includes settings for an SRV record, you 4493 // must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both. 4494 // 4495 // AWS_INSTANCE_IPV6 4496 // 4497 // If the service configuration includes an AAAA record, the IPv6 address that 4498 // you want Route 53 to return in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. 4499 // 4500 // This value is required if the service specified by ServiceId includes settings 4501 // for an AAAA record. If the service includes settings for an SRV record, you 4502 // must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both. 4503 // 4504 // AWS_INSTANCE_PORT 4505 // 4506 // If the service includes an SRV record, the value that you want Route 53 to 4507 // return for the port. 4508 // 4509 // If the service includes HealthCheckConfig, the port on the endpoint that 4510 // you want Route 53 to send requests to. 4511 // 4512 // This value is required if you specified settings for an SRV record or a Route 4513 // 53 health check when you created the service. 4514 Attributes map[string]*string `type:"map"` 4515 4516 // A unique string that identifies the request and that allows failed RegisterInstance 4517 // requests to be retried without the risk of executing the operation twice. 4518 // You must use a unique CreatorRequestId string every time you submit a RegisterInstance 4519 // request if you're registering additional instances for the same namespace 4520 // and service. CreatorRequestId can be any unique string, for example, a date/time 4521 // stamp. 4522 CreatorRequestId *string `type:"string"` 4523 4524 // An identifier that you want to associate with the instance. Note the following: 4525 // 4526 // * If the service that is specified by ServiceId includes settings for 4527 // an SRV record, the value of InstanceId is automatically included as part 4528 // of the value for the SRV record. For more information, see DnsRecord > 4529 // Type (https://docs.aws.amazon.com/cloud-map/latest/api/API_DnsRecord.html#cloudmap-Type-DnsRecord-Type). 4530 // 4531 // * You can use this value to update an existing instance. 4532 // 4533 // * To register a new instance, you must specify a value that is unique 4534 // among instances that you register by using the same service. 4535 // 4536 // * If you specify an existing InstanceId and ServiceId, AWS Cloud Map updates 4537 // the existing DNS records. If there's also an existing health check, AWS 4538 // Cloud Map deletes the old health check and creates a new one. The health 4539 // check isn't deleted immediately, so it will still appear for a while if 4540 // you submit a ListHealthChecks request, for example. 4541 // 4542 // Id is a required field 4543 Id *string `type:"string" required:"true"` 4544} 4545 4546// String returns the string representation 4547func (s Instance) String() string { 4548 return awsutil.Prettify(s) 4549} 4550 4551// GoString returns the string representation 4552func (s Instance) GoString() string { 4553 return s.String() 4554} 4555 4556// SetAttributes sets the Attributes field's value. 4557func (s *Instance) SetAttributes(v map[string]*string) *Instance { 4558 s.Attributes = v 4559 return s 4560} 4561 4562// SetCreatorRequestId sets the CreatorRequestId field's value. 4563func (s *Instance) SetCreatorRequestId(v string) *Instance { 4564 s.CreatorRequestId = &v 4565 return s 4566} 4567 4568// SetId sets the Id field's value. 4569func (s *Instance) SetId(v string) *Instance { 4570 s.Id = &v 4571 return s 4572} 4573 4574// No instance exists with the specified ID, or the instance was recently registered, 4575// and information about the instance hasn't propagated yet. 4576type InstanceNotFound struct { 4577 _ struct{} `type:"structure"` 4578 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4579 4580 Message_ *string `locationName:"Message" type:"string"` 4581} 4582 4583// String returns the string representation 4584func (s InstanceNotFound) String() string { 4585 return awsutil.Prettify(s) 4586} 4587 4588// GoString returns the string representation 4589func (s InstanceNotFound) GoString() string { 4590 return s.String() 4591} 4592 4593func newErrorInstanceNotFound(v protocol.ResponseMetadata) error { 4594 return &InstanceNotFound{ 4595 RespMetadata: v, 4596 } 4597} 4598 4599// Code returns the exception type name. 4600func (s *InstanceNotFound) Code() string { 4601 return "InstanceNotFound" 4602} 4603 4604// Message returns the exception's message. 4605func (s *InstanceNotFound) Message() string { 4606 if s.Message_ != nil { 4607 return *s.Message_ 4608 } 4609 return "" 4610} 4611 4612// OrigErr always returns nil, satisfies awserr.Error interface. 4613func (s *InstanceNotFound) OrigErr() error { 4614 return nil 4615} 4616 4617func (s *InstanceNotFound) Error() string { 4618 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4619} 4620 4621// Status code returns the HTTP status code for the request's response error. 4622func (s *InstanceNotFound) StatusCode() int { 4623 return s.RespMetadata.StatusCode 4624} 4625 4626// RequestID returns the service's response RequestID for request. 4627func (s *InstanceNotFound) RequestID() string { 4628 return s.RespMetadata.RequestID 4629} 4630 4631// A complex type that contains information about the instances that you registered 4632// by using a specified service. 4633type InstanceSummary struct { 4634 _ struct{} `type:"structure"` 4635 4636 // A string map that contains the following information: 4637 // 4638 // * The attributes that are associate with the instance. 4639 // 4640 // * For each attribute, the applicable value. 4641 // 4642 // Supported attribute keys include the following: 4643 // 4644 // * AWS_ALIAS_DNS_NAME: For an alias record that routes traffic to an Elastic 4645 // Load Balancing load balancer, the DNS name that is associated with the 4646 // load balancer. 4647 // 4648 // * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The Amazon EC2 instance 4649 // ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is specified, 4650 // then the AWS_INSTANCE_IPV4 attribute contains the primary private IPv4 4651 // address. 4652 // 4653 // * AWS_INSTANCE_CNAME: For a CNAME record, the domain name that Route 53 4654 // returns in response to DNS queries, for example, example.com. 4655 // 4656 // * AWS_INSTANCE_IPV4: For an A record, the IPv4 address that Route 53 returns 4657 // in response to DNS queries, for example, 192.0.2.44. 4658 // 4659 // * AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 address that Route 53 4660 // returns in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. 4661 // 4662 // * AWS_INSTANCE_PORT: For an SRV record, the value that Route 53 returns 4663 // for the port. In addition, if the service includes HealthCheckConfig, 4664 // the port on the endpoint that Route 53 sends requests to. 4665 Attributes map[string]*string `type:"map"` 4666 4667 // The ID for an instance that you created by using a specified service. 4668 Id *string `type:"string"` 4669} 4670 4671// String returns the string representation 4672func (s InstanceSummary) String() string { 4673 return awsutil.Prettify(s) 4674} 4675 4676// GoString returns the string representation 4677func (s InstanceSummary) GoString() string { 4678 return s.String() 4679} 4680 4681// SetAttributes sets the Attributes field's value. 4682func (s *InstanceSummary) SetAttributes(v map[string]*string) *InstanceSummary { 4683 s.Attributes = v 4684 return s 4685} 4686 4687// SetId sets the Id field's value. 4688func (s *InstanceSummary) SetId(v string) *InstanceSummary { 4689 s.Id = &v 4690 return s 4691} 4692 4693// One or more specified values aren't valid. For example, a required value 4694// might be missing, a numeric value might be outside the allowed range, or 4695// a string value might exceed length constraints. 4696type InvalidInput struct { 4697 _ struct{} `type:"structure"` 4698 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4699 4700 Message_ *string `locationName:"Message" type:"string"` 4701} 4702 4703// String returns the string representation 4704func (s InvalidInput) String() string { 4705 return awsutil.Prettify(s) 4706} 4707 4708// GoString returns the string representation 4709func (s InvalidInput) GoString() string { 4710 return s.String() 4711} 4712 4713func newErrorInvalidInput(v protocol.ResponseMetadata) error { 4714 return &InvalidInput{ 4715 RespMetadata: v, 4716 } 4717} 4718 4719// Code returns the exception type name. 4720func (s *InvalidInput) Code() string { 4721 return "InvalidInput" 4722} 4723 4724// Message returns the exception's message. 4725func (s *InvalidInput) Message() string { 4726 if s.Message_ != nil { 4727 return *s.Message_ 4728 } 4729 return "" 4730} 4731 4732// OrigErr always returns nil, satisfies awserr.Error interface. 4733func (s *InvalidInput) OrigErr() error { 4734 return nil 4735} 4736 4737func (s *InvalidInput) Error() string { 4738 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4739} 4740 4741// Status code returns the HTTP status code for the request's response error. 4742func (s *InvalidInput) StatusCode() int { 4743 return s.RespMetadata.StatusCode 4744} 4745 4746// RequestID returns the service's response RequestID for request. 4747func (s *InvalidInput) RequestID() string { 4748 return s.RespMetadata.RequestID 4749} 4750 4751type ListInstancesInput struct { 4752 _ struct{} `type:"structure"` 4753 4754 // The maximum number of instances that you want AWS Cloud Map to return in 4755 // the response to a ListInstances request. If you don't specify a value for 4756 // MaxResults, AWS Cloud Map returns up to 100 instances. 4757 MaxResults *int64 `min:"1" type:"integer"` 4758 4759 // For the first ListInstances request, omit this value. 4760 // 4761 // If more than MaxResults instances match the specified criteria, you can submit 4762 // another ListInstances request to get the next group of results. Specify the 4763 // value of NextToken from the previous response in the next request. 4764 NextToken *string `type:"string"` 4765 4766 // The ID of the service that you want to list instances for. 4767 // 4768 // ServiceId is a required field 4769 ServiceId *string `type:"string" required:"true"` 4770} 4771 4772// String returns the string representation 4773func (s ListInstancesInput) String() string { 4774 return awsutil.Prettify(s) 4775} 4776 4777// GoString returns the string representation 4778func (s ListInstancesInput) GoString() string { 4779 return s.String() 4780} 4781 4782// Validate inspects the fields of the type to determine if they are valid. 4783func (s *ListInstancesInput) Validate() error { 4784 invalidParams := request.ErrInvalidParams{Context: "ListInstancesInput"} 4785 if s.MaxResults != nil && *s.MaxResults < 1 { 4786 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4787 } 4788 if s.ServiceId == nil { 4789 invalidParams.Add(request.NewErrParamRequired("ServiceId")) 4790 } 4791 4792 if invalidParams.Len() > 0 { 4793 return invalidParams 4794 } 4795 return nil 4796} 4797 4798// SetMaxResults sets the MaxResults field's value. 4799func (s *ListInstancesInput) SetMaxResults(v int64) *ListInstancesInput { 4800 s.MaxResults = &v 4801 return s 4802} 4803 4804// SetNextToken sets the NextToken field's value. 4805func (s *ListInstancesInput) SetNextToken(v string) *ListInstancesInput { 4806 s.NextToken = &v 4807 return s 4808} 4809 4810// SetServiceId sets the ServiceId field's value. 4811func (s *ListInstancesInput) SetServiceId(v string) *ListInstancesInput { 4812 s.ServiceId = &v 4813 return s 4814} 4815 4816type ListInstancesOutput struct { 4817 _ struct{} `type:"structure"` 4818 4819 // Summary information about the instances that are associated with the specified 4820 // service. 4821 Instances []*InstanceSummary `type:"list"` 4822 4823 // If more than MaxResults instances match the specified criteria, you can submit 4824 // another ListInstances request to get the next group of results. Specify the 4825 // value of NextToken from the previous response in the next request. 4826 NextToken *string `type:"string"` 4827} 4828 4829// String returns the string representation 4830func (s ListInstancesOutput) String() string { 4831 return awsutil.Prettify(s) 4832} 4833 4834// GoString returns the string representation 4835func (s ListInstancesOutput) GoString() string { 4836 return s.String() 4837} 4838 4839// SetInstances sets the Instances field's value. 4840func (s *ListInstancesOutput) SetInstances(v []*InstanceSummary) *ListInstancesOutput { 4841 s.Instances = v 4842 return s 4843} 4844 4845// SetNextToken sets the NextToken field's value. 4846func (s *ListInstancesOutput) SetNextToken(v string) *ListInstancesOutput { 4847 s.NextToken = &v 4848 return s 4849} 4850 4851type ListNamespacesInput struct { 4852 _ struct{} `type:"structure"` 4853 4854 // A complex type that contains specifications for the namespaces that you want 4855 // to list. 4856 // 4857 // If you specify more than one filter, a namespace must match all filters to 4858 // be returned by ListNamespaces. 4859 Filters []*NamespaceFilter `type:"list"` 4860 4861 // The maximum number of namespaces that you want AWS Cloud Map to return in 4862 // the response to a ListNamespaces request. If you don't specify a value for 4863 // MaxResults, AWS Cloud Map returns up to 100 namespaces. 4864 MaxResults *int64 `min:"1" type:"integer"` 4865 4866 // For the first ListNamespaces request, omit this value. 4867 // 4868 // If the response contains NextToken, submit another ListNamespaces request 4869 // to get the next group of results. Specify the value of NextToken from the 4870 // previous response in the next request. 4871 // 4872 // AWS Cloud Map gets MaxResults namespaces and then filters them based on the 4873 // specified criteria. It's possible that no namespaces in the first MaxResults 4874 // namespaces matched the specified criteria but that subsequent groups of MaxResults 4875 // namespaces do contain namespaces that match the criteria. 4876 NextToken *string `type:"string"` 4877} 4878 4879// String returns the string representation 4880func (s ListNamespacesInput) String() string { 4881 return awsutil.Prettify(s) 4882} 4883 4884// GoString returns the string representation 4885func (s ListNamespacesInput) GoString() string { 4886 return s.String() 4887} 4888 4889// Validate inspects the fields of the type to determine if they are valid. 4890func (s *ListNamespacesInput) Validate() error { 4891 invalidParams := request.ErrInvalidParams{Context: "ListNamespacesInput"} 4892 if s.MaxResults != nil && *s.MaxResults < 1 { 4893 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4894 } 4895 if s.Filters != nil { 4896 for i, v := range s.Filters { 4897 if v == nil { 4898 continue 4899 } 4900 if err := v.Validate(); err != nil { 4901 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) 4902 } 4903 } 4904 } 4905 4906 if invalidParams.Len() > 0 { 4907 return invalidParams 4908 } 4909 return nil 4910} 4911 4912// SetFilters sets the Filters field's value. 4913func (s *ListNamespacesInput) SetFilters(v []*NamespaceFilter) *ListNamespacesInput { 4914 s.Filters = v 4915 return s 4916} 4917 4918// SetMaxResults sets the MaxResults field's value. 4919func (s *ListNamespacesInput) SetMaxResults(v int64) *ListNamespacesInput { 4920 s.MaxResults = &v 4921 return s 4922} 4923 4924// SetNextToken sets the NextToken field's value. 4925func (s *ListNamespacesInput) SetNextToken(v string) *ListNamespacesInput { 4926 s.NextToken = &v 4927 return s 4928} 4929 4930type ListNamespacesOutput struct { 4931 _ struct{} `type:"structure"` 4932 4933 // An array that contains one NamespaceSummary object for each namespace that 4934 // matches the specified filter criteria. 4935 Namespaces []*NamespaceSummary `type:"list"` 4936 4937 // If the response contains NextToken, submit another ListNamespaces request 4938 // to get the next group of results. Specify the value of NextToken from the 4939 // previous response in the next request. 4940 // 4941 // AWS Cloud Map gets MaxResults namespaces and then filters them based on the 4942 // specified criteria. It's possible that no namespaces in the first MaxResults 4943 // namespaces matched the specified criteria but that subsequent groups of MaxResults 4944 // namespaces do contain namespaces that match the criteria. 4945 NextToken *string `type:"string"` 4946} 4947 4948// String returns the string representation 4949func (s ListNamespacesOutput) String() string { 4950 return awsutil.Prettify(s) 4951} 4952 4953// GoString returns the string representation 4954func (s ListNamespacesOutput) GoString() string { 4955 return s.String() 4956} 4957 4958// SetNamespaces sets the Namespaces field's value. 4959func (s *ListNamespacesOutput) SetNamespaces(v []*NamespaceSummary) *ListNamespacesOutput { 4960 s.Namespaces = v 4961 return s 4962} 4963 4964// SetNextToken sets the NextToken field's value. 4965func (s *ListNamespacesOutput) SetNextToken(v string) *ListNamespacesOutput { 4966 s.NextToken = &v 4967 return s 4968} 4969 4970type ListOperationsInput struct { 4971 _ struct{} `type:"structure"` 4972 4973 // A complex type that contains specifications for the operations that you want 4974 // to list, for example, operations that you started between a specified start 4975 // date and end date. 4976 // 4977 // If you specify more than one filter, an operation must match all filters 4978 // to be returned by ListOperations. 4979 Filters []*OperationFilter `type:"list"` 4980 4981 // The maximum number of items that you want AWS Cloud Map to return in the 4982 // response to a ListOperations request. If you don't specify a value for MaxResults, 4983 // AWS Cloud Map returns up to 100 operations. 4984 MaxResults *int64 `min:"1" type:"integer"` 4985 4986 // For the first ListOperations request, omit this value. 4987 // 4988 // If the response contains NextToken, submit another ListOperations request 4989 // to get the next group of results. Specify the value of NextToken from the 4990 // previous response in the next request. 4991 // 4992 // AWS Cloud Map gets MaxResults operations and then filters them based on the 4993 // specified criteria. It's possible that no operations in the first MaxResults 4994 // operations matched the specified criteria but that subsequent groups of MaxResults 4995 // operations do contain operations that match the criteria. 4996 NextToken *string `type:"string"` 4997} 4998 4999// String returns the string representation 5000func (s ListOperationsInput) String() string { 5001 return awsutil.Prettify(s) 5002} 5003 5004// GoString returns the string representation 5005func (s ListOperationsInput) GoString() string { 5006 return s.String() 5007} 5008 5009// Validate inspects the fields of the type to determine if they are valid. 5010func (s *ListOperationsInput) Validate() error { 5011 invalidParams := request.ErrInvalidParams{Context: "ListOperationsInput"} 5012 if s.MaxResults != nil && *s.MaxResults < 1 { 5013 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 5014 } 5015 if s.Filters != nil { 5016 for i, v := range s.Filters { 5017 if v == nil { 5018 continue 5019 } 5020 if err := v.Validate(); err != nil { 5021 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) 5022 } 5023 } 5024 } 5025 5026 if invalidParams.Len() > 0 { 5027 return invalidParams 5028 } 5029 return nil 5030} 5031 5032// SetFilters sets the Filters field's value. 5033func (s *ListOperationsInput) SetFilters(v []*OperationFilter) *ListOperationsInput { 5034 s.Filters = v 5035 return s 5036} 5037 5038// SetMaxResults sets the MaxResults field's value. 5039func (s *ListOperationsInput) SetMaxResults(v int64) *ListOperationsInput { 5040 s.MaxResults = &v 5041 return s 5042} 5043 5044// SetNextToken sets the NextToken field's value. 5045func (s *ListOperationsInput) SetNextToken(v string) *ListOperationsInput { 5046 s.NextToken = &v 5047 return s 5048} 5049 5050type ListOperationsOutput struct { 5051 _ struct{} `type:"structure"` 5052 5053 // If the response contains NextToken, submit another ListOperations request 5054 // to get the next group of results. Specify the value of NextToken from the 5055 // previous response in the next request. 5056 // 5057 // AWS Cloud Map gets MaxResults operations and then filters them based on the 5058 // specified criteria. It's possible that no operations in the first MaxResults 5059 // operations matched the specified criteria but that subsequent groups of MaxResults 5060 // operations do contain operations that match the criteria. 5061 NextToken *string `type:"string"` 5062 5063 // Summary information about the operations that match the specified criteria. 5064 Operations []*OperationSummary `type:"list"` 5065} 5066 5067// String returns the string representation 5068func (s ListOperationsOutput) String() string { 5069 return awsutil.Prettify(s) 5070} 5071 5072// GoString returns the string representation 5073func (s ListOperationsOutput) GoString() string { 5074 return s.String() 5075} 5076 5077// SetNextToken sets the NextToken field's value. 5078func (s *ListOperationsOutput) SetNextToken(v string) *ListOperationsOutput { 5079 s.NextToken = &v 5080 return s 5081} 5082 5083// SetOperations sets the Operations field's value. 5084func (s *ListOperationsOutput) SetOperations(v []*OperationSummary) *ListOperationsOutput { 5085 s.Operations = v 5086 return s 5087} 5088 5089type ListServicesInput struct { 5090 _ struct{} `type:"structure"` 5091 5092 // A complex type that contains specifications for the namespaces that you want 5093 // to list services for. 5094 // 5095 // If you specify more than one filter, an operation must match all filters 5096 // to be returned by ListServices. 5097 Filters []*ServiceFilter `type:"list"` 5098 5099 // The maximum number of services that you want AWS Cloud Map to return in the 5100 // response to a ListServices request. If you don't specify a value for MaxResults, 5101 // AWS Cloud Map returns up to 100 services. 5102 MaxResults *int64 `min:"1" type:"integer"` 5103 5104 // For the first ListServices request, omit this value. 5105 // 5106 // If the response contains NextToken, submit another ListServices request to 5107 // get the next group of results. Specify the value of NextToken from the previous 5108 // response in the next request. 5109 // 5110 // AWS Cloud Map gets MaxResults services and then filters them based on the 5111 // specified criteria. It's possible that no services in the first MaxResults 5112 // services matched the specified criteria but that subsequent groups of MaxResults 5113 // services do contain services that match the criteria. 5114 NextToken *string `type:"string"` 5115} 5116 5117// String returns the string representation 5118func (s ListServicesInput) String() string { 5119 return awsutil.Prettify(s) 5120} 5121 5122// GoString returns the string representation 5123func (s ListServicesInput) GoString() string { 5124 return s.String() 5125} 5126 5127// Validate inspects the fields of the type to determine if they are valid. 5128func (s *ListServicesInput) Validate() error { 5129 invalidParams := request.ErrInvalidParams{Context: "ListServicesInput"} 5130 if s.MaxResults != nil && *s.MaxResults < 1 { 5131 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 5132 } 5133 if s.Filters != nil { 5134 for i, v := range s.Filters { 5135 if v == nil { 5136 continue 5137 } 5138 if err := v.Validate(); err != nil { 5139 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) 5140 } 5141 } 5142 } 5143 5144 if invalidParams.Len() > 0 { 5145 return invalidParams 5146 } 5147 return nil 5148} 5149 5150// SetFilters sets the Filters field's value. 5151func (s *ListServicesInput) SetFilters(v []*ServiceFilter) *ListServicesInput { 5152 s.Filters = v 5153 return s 5154} 5155 5156// SetMaxResults sets the MaxResults field's value. 5157func (s *ListServicesInput) SetMaxResults(v int64) *ListServicesInput { 5158 s.MaxResults = &v 5159 return s 5160} 5161 5162// SetNextToken sets the NextToken field's value. 5163func (s *ListServicesInput) SetNextToken(v string) *ListServicesInput { 5164 s.NextToken = &v 5165 return s 5166} 5167 5168type ListServicesOutput struct { 5169 _ struct{} `type:"structure"` 5170 5171 // If the response contains NextToken, submit another ListServices request to 5172 // get the next group of results. Specify the value of NextToken from the previous 5173 // response in the next request. 5174 // 5175 // AWS Cloud Map gets MaxResults services and then filters them based on the 5176 // specified criteria. It's possible that no services in the first MaxResults 5177 // services matched the specified criteria but that subsequent groups of MaxResults 5178 // services do contain services that match the criteria. 5179 NextToken *string `type:"string"` 5180 5181 // An array that contains one ServiceSummary object for each service that matches 5182 // the specified filter criteria. 5183 Services []*ServiceSummary `type:"list"` 5184} 5185 5186// String returns the string representation 5187func (s ListServicesOutput) String() string { 5188 return awsutil.Prettify(s) 5189} 5190 5191// GoString returns the string representation 5192func (s ListServicesOutput) GoString() string { 5193 return s.String() 5194} 5195 5196// SetNextToken sets the NextToken field's value. 5197func (s *ListServicesOutput) SetNextToken(v string) *ListServicesOutput { 5198 s.NextToken = &v 5199 return s 5200} 5201 5202// SetServices sets the Services field's value. 5203func (s *ListServicesOutput) SetServices(v []*ServiceSummary) *ListServicesOutput { 5204 s.Services = v 5205 return s 5206} 5207 5208type ListTagsForResourceInput struct { 5209 _ struct{} `type:"structure"` 5210 5211 // The Amazon Resource Name (ARN) of the resource that you want to retrieve 5212 // tags for. 5213 // 5214 // ResourceARN is a required field 5215 ResourceARN *string `min:"1" type:"string" required:"true"` 5216} 5217 5218// String returns the string representation 5219func (s ListTagsForResourceInput) String() string { 5220 return awsutil.Prettify(s) 5221} 5222 5223// GoString returns the string representation 5224func (s ListTagsForResourceInput) GoString() string { 5225 return s.String() 5226} 5227 5228// Validate inspects the fields of the type to determine if they are valid. 5229func (s *ListTagsForResourceInput) Validate() error { 5230 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 5231 if s.ResourceARN == nil { 5232 invalidParams.Add(request.NewErrParamRequired("ResourceARN")) 5233 } 5234 if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { 5235 invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) 5236 } 5237 5238 if invalidParams.Len() > 0 { 5239 return invalidParams 5240 } 5241 return nil 5242} 5243 5244// SetResourceARN sets the ResourceARN field's value. 5245func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { 5246 s.ResourceARN = &v 5247 return s 5248} 5249 5250type ListTagsForResourceOutput struct { 5251 _ struct{} `type:"structure"` 5252 5253 // The tags that are assigned to the resource. 5254 Tags []*Tag `type:"list"` 5255} 5256 5257// String returns the string representation 5258func (s ListTagsForResourceOutput) String() string { 5259 return awsutil.Prettify(s) 5260} 5261 5262// GoString returns the string representation 5263func (s ListTagsForResourceOutput) GoString() string { 5264 return s.String() 5265} 5266 5267// SetTags sets the Tags field's value. 5268func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { 5269 s.Tags = v 5270 return s 5271} 5272 5273// A complex type that contains information about a specified namespace. 5274type Namespace struct { 5275 _ struct{} `type:"structure"` 5276 5277 // The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the namespace 5278 // when you create it. 5279 Arn *string `type:"string"` 5280 5281 // The date that the namespace was created, in Unix date/time format and Coordinated 5282 // Universal Time (UTC). The value of CreateDate is accurate to milliseconds. 5283 // For example, the value 1516925490.087 represents Friday, January 26, 2018 5284 // 12:11:30.087 AM. 5285 CreateDate *time.Time `type:"timestamp"` 5286 5287 // A unique string that identifies the request and that allows failed requests 5288 // to be retried without the risk of executing an operation twice. 5289 CreatorRequestId *string `type:"string"` 5290 5291 // The description that you specify for the namespace when you create it. 5292 Description *string `type:"string"` 5293 5294 // The ID of a namespace. 5295 Id *string `type:"string"` 5296 5297 // The name of the namespace, such as example.com. 5298 Name *string `type:"string"` 5299 5300 // A complex type that contains information that's specific to the type of the 5301 // namespace. 5302 Properties *NamespaceProperties `type:"structure"` 5303 5304 // The number of services that are associated with the namespace. 5305 ServiceCount *int64 `type:"integer"` 5306 5307 // The type of the namespace. The methods for discovering instances depends 5308 // on the value that you specify: 5309 // 5310 // * HTTP: Instances can be discovered only programmatically, using the AWS 5311 // Cloud Map DiscoverInstances API. 5312 // 5313 // * DNS_PUBLIC: Instances can be discovered using public DNS queries and 5314 // using the DiscoverInstances API. 5315 // 5316 // * DNS_PRIVATE: Instances can be discovered using DNS queries in VPCs and 5317 // using the DiscoverInstances API. 5318 Type *string `type:"string" enum:"NamespaceType"` 5319} 5320 5321// String returns the string representation 5322func (s Namespace) String() string { 5323 return awsutil.Prettify(s) 5324} 5325 5326// GoString returns the string representation 5327func (s Namespace) GoString() string { 5328 return s.String() 5329} 5330 5331// SetArn sets the Arn field's value. 5332func (s *Namespace) SetArn(v string) *Namespace { 5333 s.Arn = &v 5334 return s 5335} 5336 5337// SetCreateDate sets the CreateDate field's value. 5338func (s *Namespace) SetCreateDate(v time.Time) *Namespace { 5339 s.CreateDate = &v 5340 return s 5341} 5342 5343// SetCreatorRequestId sets the CreatorRequestId field's value. 5344func (s *Namespace) SetCreatorRequestId(v string) *Namespace { 5345 s.CreatorRequestId = &v 5346 return s 5347} 5348 5349// SetDescription sets the Description field's value. 5350func (s *Namespace) SetDescription(v string) *Namespace { 5351 s.Description = &v 5352 return s 5353} 5354 5355// SetId sets the Id field's value. 5356func (s *Namespace) SetId(v string) *Namespace { 5357 s.Id = &v 5358 return s 5359} 5360 5361// SetName sets the Name field's value. 5362func (s *Namespace) SetName(v string) *Namespace { 5363 s.Name = &v 5364 return s 5365} 5366 5367// SetProperties sets the Properties field's value. 5368func (s *Namespace) SetProperties(v *NamespaceProperties) *Namespace { 5369 s.Properties = v 5370 return s 5371} 5372 5373// SetServiceCount sets the ServiceCount field's value. 5374func (s *Namespace) SetServiceCount(v int64) *Namespace { 5375 s.ServiceCount = &v 5376 return s 5377} 5378 5379// SetType sets the Type field's value. 5380func (s *Namespace) SetType(v string) *Namespace { 5381 s.Type = &v 5382 return s 5383} 5384 5385// The namespace that you're trying to create already exists. 5386type NamespaceAlreadyExists struct { 5387 _ struct{} `type:"structure"` 5388 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5389 5390 // The CreatorRequestId that was used to create the namespace. 5391 CreatorRequestId *string `type:"string"` 5392 5393 Message_ *string `locationName:"Message" type:"string"` 5394 5395 // The ID of the existing namespace. 5396 NamespaceId *string `type:"string"` 5397} 5398 5399// String returns the string representation 5400func (s NamespaceAlreadyExists) String() string { 5401 return awsutil.Prettify(s) 5402} 5403 5404// GoString returns the string representation 5405func (s NamespaceAlreadyExists) GoString() string { 5406 return s.String() 5407} 5408 5409func newErrorNamespaceAlreadyExists(v protocol.ResponseMetadata) error { 5410 return &NamespaceAlreadyExists{ 5411 RespMetadata: v, 5412 } 5413} 5414 5415// Code returns the exception type name. 5416func (s *NamespaceAlreadyExists) Code() string { 5417 return "NamespaceAlreadyExists" 5418} 5419 5420// Message returns the exception's message. 5421func (s *NamespaceAlreadyExists) Message() string { 5422 if s.Message_ != nil { 5423 return *s.Message_ 5424 } 5425 return "" 5426} 5427 5428// OrigErr always returns nil, satisfies awserr.Error interface. 5429func (s *NamespaceAlreadyExists) OrigErr() error { 5430 return nil 5431} 5432 5433func (s *NamespaceAlreadyExists) Error() string { 5434 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 5435} 5436 5437// Status code returns the HTTP status code for the request's response error. 5438func (s *NamespaceAlreadyExists) StatusCode() int { 5439 return s.RespMetadata.StatusCode 5440} 5441 5442// RequestID returns the service's response RequestID for request. 5443func (s *NamespaceAlreadyExists) RequestID() string { 5444 return s.RespMetadata.RequestID 5445} 5446 5447// A complex type that identifies the namespaces that you want to list. You 5448// can choose to list public or private namespaces. 5449type NamespaceFilter struct { 5450 _ struct{} `type:"structure"` 5451 5452 // The operator that you want to use to determine whether ListNamespaces returns 5453 // a namespace. Valid values for condition include: 5454 // 5455 // * EQ: When you specify EQ for the condition, you can choose to list only 5456 // public namespaces or private namespaces, but not both. EQ is the default 5457 // condition and can be omitted. 5458 // 5459 // * IN: When you specify IN for the condition, you can choose to list public 5460 // namespaces, private namespaces, or both. 5461 // 5462 // * BETWEEN: Not applicable 5463 Condition *string `type:"string" enum:"FilterCondition"` 5464 5465 // Specify TYPE. 5466 // 5467 // Name is a required field 5468 Name *string `type:"string" required:"true" enum:"NamespaceFilterName"` 5469 5470 // If you specify EQ for Condition, specify either DNS_PUBLIC or DNS_PRIVATE. 5471 // 5472 // If you specify IN for Condition, you can specify DNS_PUBLIC, DNS_PRIVATE, 5473 // or both. 5474 // 5475 // Values is a required field 5476 Values []*string `type:"list" required:"true"` 5477} 5478 5479// String returns the string representation 5480func (s NamespaceFilter) String() string { 5481 return awsutil.Prettify(s) 5482} 5483 5484// GoString returns the string representation 5485func (s NamespaceFilter) GoString() string { 5486 return s.String() 5487} 5488 5489// Validate inspects the fields of the type to determine if they are valid. 5490func (s *NamespaceFilter) Validate() error { 5491 invalidParams := request.ErrInvalidParams{Context: "NamespaceFilter"} 5492 if s.Name == nil { 5493 invalidParams.Add(request.NewErrParamRequired("Name")) 5494 } 5495 if s.Values == nil { 5496 invalidParams.Add(request.NewErrParamRequired("Values")) 5497 } 5498 5499 if invalidParams.Len() > 0 { 5500 return invalidParams 5501 } 5502 return nil 5503} 5504 5505// SetCondition sets the Condition field's value. 5506func (s *NamespaceFilter) SetCondition(v string) *NamespaceFilter { 5507 s.Condition = &v 5508 return s 5509} 5510 5511// SetName sets the Name field's value. 5512func (s *NamespaceFilter) SetName(v string) *NamespaceFilter { 5513 s.Name = &v 5514 return s 5515} 5516 5517// SetValues sets the Values field's value. 5518func (s *NamespaceFilter) SetValues(v []*string) *NamespaceFilter { 5519 s.Values = v 5520 return s 5521} 5522 5523// No namespace exists with the specified ID. 5524type NamespaceNotFound struct { 5525 _ struct{} `type:"structure"` 5526 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5527 5528 Message_ *string `locationName:"Message" type:"string"` 5529} 5530 5531// String returns the string representation 5532func (s NamespaceNotFound) String() string { 5533 return awsutil.Prettify(s) 5534} 5535 5536// GoString returns the string representation 5537func (s NamespaceNotFound) GoString() string { 5538 return s.String() 5539} 5540 5541func newErrorNamespaceNotFound(v protocol.ResponseMetadata) error { 5542 return &NamespaceNotFound{ 5543 RespMetadata: v, 5544 } 5545} 5546 5547// Code returns the exception type name. 5548func (s *NamespaceNotFound) Code() string { 5549 return "NamespaceNotFound" 5550} 5551 5552// Message returns the exception's message. 5553func (s *NamespaceNotFound) Message() string { 5554 if s.Message_ != nil { 5555 return *s.Message_ 5556 } 5557 return "" 5558} 5559 5560// OrigErr always returns nil, satisfies awserr.Error interface. 5561func (s *NamespaceNotFound) OrigErr() error { 5562 return nil 5563} 5564 5565func (s *NamespaceNotFound) Error() string { 5566 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5567} 5568 5569// Status code returns the HTTP status code for the request's response error. 5570func (s *NamespaceNotFound) StatusCode() int { 5571 return s.RespMetadata.StatusCode 5572} 5573 5574// RequestID returns the service's response RequestID for request. 5575func (s *NamespaceNotFound) RequestID() string { 5576 return s.RespMetadata.RequestID 5577} 5578 5579// A complex type that contains information that is specific to the namespace 5580// type. 5581type NamespaceProperties struct { 5582 _ struct{} `type:"structure"` 5583 5584 // A complex type that contains the ID for the Route 53 hosted zone that AWS 5585 // Cloud Map creates when you create a namespace. 5586 DnsProperties *DnsProperties `type:"structure"` 5587 5588 // A complex type that contains the name of an HTTP namespace. 5589 HttpProperties *HttpProperties `type:"structure"` 5590} 5591 5592// String returns the string representation 5593func (s NamespaceProperties) String() string { 5594 return awsutil.Prettify(s) 5595} 5596 5597// GoString returns the string representation 5598func (s NamespaceProperties) GoString() string { 5599 return s.String() 5600} 5601 5602// SetDnsProperties sets the DnsProperties field's value. 5603func (s *NamespaceProperties) SetDnsProperties(v *DnsProperties) *NamespaceProperties { 5604 s.DnsProperties = v 5605 return s 5606} 5607 5608// SetHttpProperties sets the HttpProperties field's value. 5609func (s *NamespaceProperties) SetHttpProperties(v *HttpProperties) *NamespaceProperties { 5610 s.HttpProperties = v 5611 return s 5612} 5613 5614// A complex type that contains information about a namespace. 5615type NamespaceSummary struct { 5616 _ struct{} `type:"structure"` 5617 5618 // The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the namespace 5619 // when you create it. 5620 Arn *string `type:"string"` 5621 5622 // The date and time that the namespace was created. 5623 CreateDate *time.Time `type:"timestamp"` 5624 5625 // A description for the namespace. 5626 Description *string `type:"string"` 5627 5628 // The ID of the namespace. 5629 Id *string `type:"string"` 5630 5631 // The name of the namespace. When you create a namespace, AWS Cloud Map automatically 5632 // creates a Route 53 hosted zone that has the same name as the namespace. 5633 Name *string `type:"string"` 5634 5635 // A complex type that contains information that is specific to the namespace 5636 // type. 5637 Properties *NamespaceProperties `type:"structure"` 5638 5639 // The number of services that were created using the namespace. 5640 ServiceCount *int64 `type:"integer"` 5641 5642 // The type of the namespace, either public or private. 5643 Type *string `type:"string" enum:"NamespaceType"` 5644} 5645 5646// String returns the string representation 5647func (s NamespaceSummary) String() string { 5648 return awsutil.Prettify(s) 5649} 5650 5651// GoString returns the string representation 5652func (s NamespaceSummary) GoString() string { 5653 return s.String() 5654} 5655 5656// SetArn sets the Arn field's value. 5657func (s *NamespaceSummary) SetArn(v string) *NamespaceSummary { 5658 s.Arn = &v 5659 return s 5660} 5661 5662// SetCreateDate sets the CreateDate field's value. 5663func (s *NamespaceSummary) SetCreateDate(v time.Time) *NamespaceSummary { 5664 s.CreateDate = &v 5665 return s 5666} 5667 5668// SetDescription sets the Description field's value. 5669func (s *NamespaceSummary) SetDescription(v string) *NamespaceSummary { 5670 s.Description = &v 5671 return s 5672} 5673 5674// SetId sets the Id field's value. 5675func (s *NamespaceSummary) SetId(v string) *NamespaceSummary { 5676 s.Id = &v 5677 return s 5678} 5679 5680// SetName sets the Name field's value. 5681func (s *NamespaceSummary) SetName(v string) *NamespaceSummary { 5682 s.Name = &v 5683 return s 5684} 5685 5686// SetProperties sets the Properties field's value. 5687func (s *NamespaceSummary) SetProperties(v *NamespaceProperties) *NamespaceSummary { 5688 s.Properties = v 5689 return s 5690} 5691 5692// SetServiceCount sets the ServiceCount field's value. 5693func (s *NamespaceSummary) SetServiceCount(v int64) *NamespaceSummary { 5694 s.ServiceCount = &v 5695 return s 5696} 5697 5698// SetType sets the Type field's value. 5699func (s *NamespaceSummary) SetType(v string) *NamespaceSummary { 5700 s.Type = &v 5701 return s 5702} 5703 5704// A complex type that contains information about a specified operation. 5705type Operation struct { 5706 _ struct{} `type:"structure"` 5707 5708 // The date and time that the request was submitted, in Unix date/time format 5709 // and Coordinated Universal Time (UTC). The value of CreateDate is accurate 5710 // to milliseconds. For example, the value 1516925490.087 represents Friday, 5711 // January 26, 2018 12:11:30.087 AM. 5712 CreateDate *time.Time `type:"timestamp"` 5713 5714 // The code associated with ErrorMessage. Values for ErrorCode include the following: 5715 // 5716 // * ACCESS_DENIED 5717 // 5718 // * CANNOT_CREATE_HOSTED_ZONE 5719 // 5720 // * EXPIRED_TOKEN 5721 // 5722 // * HOSTED_ZONE_NOT_FOUND 5723 // 5724 // * INTERNAL_FAILURE 5725 // 5726 // * INVALID_CHANGE_BATCH 5727 // 5728 // * THROTTLED_REQUEST 5729 ErrorCode *string `type:"string"` 5730 5731 // If the value of Status is FAIL, the reason that the operation failed. 5732 ErrorMessage *string `type:"string"` 5733 5734 // The ID of the operation that you want to get information about. 5735 Id *string `type:"string"` 5736 5737 // The status of the operation. Values include the following: 5738 // 5739 // * SUBMITTED: This is the initial state immediately after you submit a 5740 // request. 5741 // 5742 // * PENDING: AWS Cloud Map is performing the operation. 5743 // 5744 // * SUCCESS: The operation succeeded. 5745 // 5746 // * FAIL: The operation failed. For the failure reason, see ErrorMessage. 5747 Status *string `type:"string" enum:"OperationStatus"` 5748 5749 // The name of the target entity that is associated with the operation: 5750 // 5751 // * NAMESPACE: The namespace ID is returned in the ResourceId property. 5752 // 5753 // * SERVICE: The service ID is returned in the ResourceId property. 5754 // 5755 // * INSTANCE: The instance ID is returned in the ResourceId property. 5756 Targets map[string]*string `type:"map"` 5757 5758 // The name of the operation that is associated with the specified ID. 5759 Type *string `type:"string" enum:"OperationType"` 5760 5761 // The date and time that the value of Status changed to the current value, 5762 // in Unix date/time format and Coordinated Universal Time (UTC). The value 5763 // of UpdateDate is accurate to milliseconds. For example, the value 1516925490.087 5764 // represents Friday, January 26, 2018 12:11:30.087 AM. 5765 UpdateDate *time.Time `type:"timestamp"` 5766} 5767 5768// String returns the string representation 5769func (s Operation) String() string { 5770 return awsutil.Prettify(s) 5771} 5772 5773// GoString returns the string representation 5774func (s Operation) GoString() string { 5775 return s.String() 5776} 5777 5778// SetCreateDate sets the CreateDate field's value. 5779func (s *Operation) SetCreateDate(v time.Time) *Operation { 5780 s.CreateDate = &v 5781 return s 5782} 5783 5784// SetErrorCode sets the ErrorCode field's value. 5785func (s *Operation) SetErrorCode(v string) *Operation { 5786 s.ErrorCode = &v 5787 return s 5788} 5789 5790// SetErrorMessage sets the ErrorMessage field's value. 5791func (s *Operation) SetErrorMessage(v string) *Operation { 5792 s.ErrorMessage = &v 5793 return s 5794} 5795 5796// SetId sets the Id field's value. 5797func (s *Operation) SetId(v string) *Operation { 5798 s.Id = &v 5799 return s 5800} 5801 5802// SetStatus sets the Status field's value. 5803func (s *Operation) SetStatus(v string) *Operation { 5804 s.Status = &v 5805 return s 5806} 5807 5808// SetTargets sets the Targets field's value. 5809func (s *Operation) SetTargets(v map[string]*string) *Operation { 5810 s.Targets = v 5811 return s 5812} 5813 5814// SetType sets the Type field's value. 5815func (s *Operation) SetType(v string) *Operation { 5816 s.Type = &v 5817 return s 5818} 5819 5820// SetUpdateDate sets the UpdateDate field's value. 5821func (s *Operation) SetUpdateDate(v time.Time) *Operation { 5822 s.UpdateDate = &v 5823 return s 5824} 5825 5826// A complex type that lets you select the operations that you want to list. 5827type OperationFilter struct { 5828 _ struct{} `type:"structure"` 5829 5830 // The operator that you want to use to determine whether an operation matches 5831 // the specified value. Valid values for condition include: 5832 // 5833 // * EQ: When you specify EQ for the condition, you can specify only one 5834 // value. EQ is supported for NAMESPACE_ID, SERVICE_ID, STATUS, and TYPE. 5835 // EQ is the default condition and can be omitted. 5836 // 5837 // * IN: When you specify IN for the condition, you can specify a list of 5838 // one or more values. IN is supported for STATUS and TYPE. An operation 5839 // must match one of the specified values to be returned in the response. 5840 // 5841 // * BETWEEN: Specify a start date and an end date in Unix date/time format 5842 // and Coordinated Universal Time (UTC). The start date must be the first 5843 // value. BETWEEN is supported for UPDATE_DATE. 5844 Condition *string `type:"string" enum:"FilterCondition"` 5845 5846 // Specify the operations that you want to get: 5847 // 5848 // * NAMESPACE_ID: Gets operations related to specified namespaces. 5849 // 5850 // * SERVICE_ID: Gets operations related to specified services. 5851 // 5852 // * STATUS: Gets operations based on the status of the operations: SUBMITTED, 5853 // PENDING, SUCCEED, or FAIL. 5854 // 5855 // * TYPE: Gets specified types of operation. 5856 // 5857 // * UPDATE_DATE: Gets operations that changed status during a specified 5858 // date/time range. 5859 // 5860 // Name is a required field 5861 Name *string `type:"string" required:"true" enum:"OperationFilterName"` 5862 5863 // Specify values that are applicable to the value that you specify for Name: 5864 // 5865 // * NAMESPACE_ID: Specify one namespace ID. 5866 // 5867 // * SERVICE_ID: Specify one service ID. 5868 // 5869 // * STATUS: Specify one or more statuses: SUBMITTED, PENDING, SUCCEED, or 5870 // FAIL. 5871 // 5872 // * TYPE: Specify one or more of the following types: CREATE_NAMESPACE, 5873 // DELETE_NAMESPACE, UPDATE_SERVICE, REGISTER_INSTANCE, or DEREGISTER_INSTANCE. 5874 // 5875 // * UPDATE_DATE: Specify a start date and an end date in Unix date/time 5876 // format and Coordinated Universal Time (UTC). The start date must be the 5877 // first value. 5878 // 5879 // Values is a required field 5880 Values []*string `type:"list" required:"true"` 5881} 5882 5883// String returns the string representation 5884func (s OperationFilter) String() string { 5885 return awsutil.Prettify(s) 5886} 5887 5888// GoString returns the string representation 5889func (s OperationFilter) GoString() string { 5890 return s.String() 5891} 5892 5893// Validate inspects the fields of the type to determine if they are valid. 5894func (s *OperationFilter) Validate() error { 5895 invalidParams := request.ErrInvalidParams{Context: "OperationFilter"} 5896 if s.Name == nil { 5897 invalidParams.Add(request.NewErrParamRequired("Name")) 5898 } 5899 if s.Values == nil { 5900 invalidParams.Add(request.NewErrParamRequired("Values")) 5901 } 5902 5903 if invalidParams.Len() > 0 { 5904 return invalidParams 5905 } 5906 return nil 5907} 5908 5909// SetCondition sets the Condition field's value. 5910func (s *OperationFilter) SetCondition(v string) *OperationFilter { 5911 s.Condition = &v 5912 return s 5913} 5914 5915// SetName sets the Name field's value. 5916func (s *OperationFilter) SetName(v string) *OperationFilter { 5917 s.Name = &v 5918 return s 5919} 5920 5921// SetValues sets the Values field's value. 5922func (s *OperationFilter) SetValues(v []*string) *OperationFilter { 5923 s.Values = v 5924 return s 5925} 5926 5927// No operation exists with the specified ID. 5928type OperationNotFound struct { 5929 _ struct{} `type:"structure"` 5930 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5931 5932 Message_ *string `locationName:"Message" type:"string"` 5933} 5934 5935// String returns the string representation 5936func (s OperationNotFound) String() string { 5937 return awsutil.Prettify(s) 5938} 5939 5940// GoString returns the string representation 5941func (s OperationNotFound) GoString() string { 5942 return s.String() 5943} 5944 5945func newErrorOperationNotFound(v protocol.ResponseMetadata) error { 5946 return &OperationNotFound{ 5947 RespMetadata: v, 5948 } 5949} 5950 5951// Code returns the exception type name. 5952func (s *OperationNotFound) Code() string { 5953 return "OperationNotFound" 5954} 5955 5956// Message returns the exception's message. 5957func (s *OperationNotFound) Message() string { 5958 if s.Message_ != nil { 5959 return *s.Message_ 5960 } 5961 return "" 5962} 5963 5964// OrigErr always returns nil, satisfies awserr.Error interface. 5965func (s *OperationNotFound) OrigErr() error { 5966 return nil 5967} 5968 5969func (s *OperationNotFound) Error() string { 5970 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5971} 5972 5973// Status code returns the HTTP status code for the request's response error. 5974func (s *OperationNotFound) StatusCode() int { 5975 return s.RespMetadata.StatusCode 5976} 5977 5978// RequestID returns the service's response RequestID for request. 5979func (s *OperationNotFound) RequestID() string { 5980 return s.RespMetadata.RequestID 5981} 5982 5983// A complex type that contains information about an operation that matches 5984// the criteria that you specified in a ListOperations (https://docs.aws.amazon.com/cloud-map/latest/api/API_ListOperations.html) 5985// request. 5986type OperationSummary struct { 5987 _ struct{} `type:"structure"` 5988 5989 // The ID for an operation. 5990 Id *string `type:"string"` 5991 5992 // The status of the operation. Values include the following: 5993 // 5994 // * SUBMITTED: This is the initial state immediately after you submit a 5995 // request. 5996 // 5997 // * PENDING: AWS Cloud Map is performing the operation. 5998 // 5999 // * SUCCESS: The operation succeeded. 6000 // 6001 // * FAIL: The operation failed. For the failure reason, see ErrorMessage. 6002 Status *string `type:"string" enum:"OperationStatus"` 6003} 6004 6005// String returns the string representation 6006func (s OperationSummary) String() string { 6007 return awsutil.Prettify(s) 6008} 6009 6010// GoString returns the string representation 6011func (s OperationSummary) GoString() string { 6012 return s.String() 6013} 6014 6015// SetId sets the Id field's value. 6016func (s *OperationSummary) SetId(v string) *OperationSummary { 6017 s.Id = &v 6018 return s 6019} 6020 6021// SetStatus sets the Status field's value. 6022func (s *OperationSummary) SetStatus(v string) *OperationSummary { 6023 s.Status = &v 6024 return s 6025} 6026 6027type RegisterInstanceInput struct { 6028 _ struct{} `type:"structure"` 6029 6030 // A string map that contains the following information for the service that 6031 // you specify in ServiceId: 6032 // 6033 // * The attributes that apply to the records that are defined in the service. 6034 // 6035 // * For each attribute, the applicable value. 6036 // 6037 // Supported attribute keys include the following: 6038 // 6039 // AWS_ALIAS_DNS_NAME 6040 // 6041 // If you want AWS Cloud Map to create an Amazon Route 53 alias record that 6042 // routes traffic to an Elastic Load Balancing load balancer, specify the DNS 6043 // name that is associated with the load balancer. For information about how 6044 // to get the DNS name, see "DNSName" in the topic AliasTarget (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html) 6045 // in the Route 53 API Reference. 6046 // 6047 // Note the following: 6048 // 6049 // * The configuration for the service that is specified by ServiceId must 6050 // include settings for an A record, an AAAA record, or both. 6051 // 6052 // * In the service that is specified by ServiceId, the value of RoutingPolicy 6053 // must be WEIGHTED. 6054 // 6055 // * If the service that is specified by ServiceId includes HealthCheckConfig 6056 // settings, AWS Cloud Map will create the Route 53 health check, but it 6057 // won't associate the health check with the alias record. 6058 // 6059 // * Auto naming currently doesn't support creating alias records that route 6060 // traffic to AWS resources other than Elastic Load Balancing load balancers. 6061 // 6062 // * If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values 6063 // for any of the AWS_INSTANCE attributes. 6064 // 6065 // AWS_EC2_INSTANCE_ID 6066 // 6067 // HTTP namespaces only. The Amazon EC2 instance ID for the instance. If the 6068 // AWS_EC2_INSTANCE_ID attribute is specified, then the only other attribute 6069 // that can be specified is AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID 6070 // attribute is specified, then the AWS_INSTANCE_IPV4 attribute will be filled 6071 // out with the primary private IPv4 address. 6072 // 6073 // AWS_INIT_HEALTH_STATUS 6074 // 6075 // If the service configuration includes HealthCheckCustomConfig, you can optionally 6076 // use AWS_INIT_HEALTH_STATUS to specify the initial status of the custom health 6077 // check, HEALTHY or UNHEALTHY. If you don't specify a value for AWS_INIT_HEALTH_STATUS, 6078 // the initial status is HEALTHY. 6079 // 6080 // AWS_INSTANCE_CNAME 6081 // 6082 // If the service configuration includes a CNAME record, the domain name that 6083 // you want Route 53 to return in response to DNS queries, for example, example.com. 6084 // 6085 // This value is required if the service specified by ServiceId includes settings 6086 // for an CNAME record. 6087 // 6088 // AWS_INSTANCE_IPV4 6089 // 6090 // If the service configuration includes an A record, the IPv4 address that 6091 // you want Route 53 to return in response to DNS queries, for example, 192.0.2.44. 6092 // 6093 // This value is required if the service specified by ServiceId includes settings 6094 // for an A record. If the service includes settings for an SRV record, you 6095 // must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both. 6096 // 6097 // AWS_INSTANCE_IPV6 6098 // 6099 // If the service configuration includes an AAAA record, the IPv6 address that 6100 // you want Route 53 to return in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. 6101 // 6102 // This value is required if the service specified by ServiceId includes settings 6103 // for an AAAA record. If the service includes settings for an SRV record, you 6104 // must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both. 6105 // 6106 // AWS_INSTANCE_PORT 6107 // 6108 // If the service includes an SRV record, the value that you want Route 53 to 6109 // return for the port. 6110 // 6111 // If the service includes HealthCheckConfig, the port on the endpoint that 6112 // you want Route 53 to send requests to. 6113 // 6114 // This value is required if you specified settings for an SRV record or a Route 6115 // 53 health check when you created the service. 6116 // 6117 // Custom attributes 6118 // 6119 // You can add up to 30 custom attributes. For each key-value pair, the maximum 6120 // length of the attribute name is 255 characters, and the maximum length of 6121 // the attribute value is 1,024 characters. The total size of all provided attributes 6122 // (sum of all keys and values) must not exceed 5,000 characters. 6123 // 6124 // Attributes is a required field 6125 Attributes map[string]*string `type:"map" required:"true"` 6126 6127 // A unique string that identifies the request and that allows failed RegisterInstance 6128 // requests to be retried without the risk of executing the operation twice. 6129 // You must use a unique CreatorRequestId string every time you submit a RegisterInstance 6130 // request if you're registering additional instances for the same namespace 6131 // and service. CreatorRequestId can be any unique string, for example, a date/time 6132 // stamp. 6133 CreatorRequestId *string `type:"string" idempotencyToken:"true"` 6134 6135 // An identifier that you want to associate with the instance. Note the following: 6136 // 6137 // * If the service that is specified by ServiceId includes settings for 6138 // an SRV record, the value of InstanceId is automatically included as part 6139 // of the value for the SRV record. For more information, see DnsRecord > 6140 // Type (https://docs.aws.amazon.com/cloud-map/latest/api/API_DnsRecord.html#cloudmap-Type-DnsRecord-Type). 6141 // 6142 // * You can use this value to update an existing instance. 6143 // 6144 // * To register a new instance, you must specify a value that is unique 6145 // among instances that you register by using the same service. 6146 // 6147 // * If you specify an existing InstanceId and ServiceId, AWS Cloud Map updates 6148 // the existing DNS records, if any. If there's also an existing health check, 6149 // AWS Cloud Map deletes the old health check and creates a new one. The 6150 // health check isn't deleted immediately, so it will still appear for a 6151 // while if you submit a ListHealthChecks request, for example. 6152 // 6153 // InstanceId is a required field 6154 InstanceId *string `type:"string" required:"true"` 6155 6156 // The ID of the service that you want to use for settings for the instance. 6157 // 6158 // ServiceId is a required field 6159 ServiceId *string `type:"string" required:"true"` 6160} 6161 6162// String returns the string representation 6163func (s RegisterInstanceInput) String() string { 6164 return awsutil.Prettify(s) 6165} 6166 6167// GoString returns the string representation 6168func (s RegisterInstanceInput) GoString() string { 6169 return s.String() 6170} 6171 6172// Validate inspects the fields of the type to determine if they are valid. 6173func (s *RegisterInstanceInput) Validate() error { 6174 invalidParams := request.ErrInvalidParams{Context: "RegisterInstanceInput"} 6175 if s.Attributes == nil { 6176 invalidParams.Add(request.NewErrParamRequired("Attributes")) 6177 } 6178 if s.InstanceId == nil { 6179 invalidParams.Add(request.NewErrParamRequired("InstanceId")) 6180 } 6181 if s.ServiceId == nil { 6182 invalidParams.Add(request.NewErrParamRequired("ServiceId")) 6183 } 6184 6185 if invalidParams.Len() > 0 { 6186 return invalidParams 6187 } 6188 return nil 6189} 6190 6191// SetAttributes sets the Attributes field's value. 6192func (s *RegisterInstanceInput) SetAttributes(v map[string]*string) *RegisterInstanceInput { 6193 s.Attributes = v 6194 return s 6195} 6196 6197// SetCreatorRequestId sets the CreatorRequestId field's value. 6198func (s *RegisterInstanceInput) SetCreatorRequestId(v string) *RegisterInstanceInput { 6199 s.CreatorRequestId = &v 6200 return s 6201} 6202 6203// SetInstanceId sets the InstanceId field's value. 6204func (s *RegisterInstanceInput) SetInstanceId(v string) *RegisterInstanceInput { 6205 s.InstanceId = &v 6206 return s 6207} 6208 6209// SetServiceId sets the ServiceId field's value. 6210func (s *RegisterInstanceInput) SetServiceId(v string) *RegisterInstanceInput { 6211 s.ServiceId = &v 6212 return s 6213} 6214 6215type RegisterInstanceOutput struct { 6216 _ struct{} `type:"structure"` 6217 6218 // A value that you can use to determine whether the request completed successfully. 6219 // To get the status of the operation, see GetOperation (https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html). 6220 OperationId *string `type:"string"` 6221} 6222 6223// String returns the string representation 6224func (s RegisterInstanceOutput) String() string { 6225 return awsutil.Prettify(s) 6226} 6227 6228// GoString returns the string representation 6229func (s RegisterInstanceOutput) GoString() string { 6230 return s.String() 6231} 6232 6233// SetOperationId sets the OperationId field's value. 6234func (s *RegisterInstanceOutput) SetOperationId(v string) *RegisterInstanceOutput { 6235 s.OperationId = &v 6236 return s 6237} 6238 6239// The operation can't be completed because you've reached the quota for the 6240// number of requests. For more information, see AWS Cloud Map API request throttling 6241// quota (https://docs.aws.amazon.com/cloud-map/latest/dg/throttling.html) in 6242// the AWS Cloud Map Developer Guide. 6243type RequestLimitExceeded struct { 6244 _ struct{} `type:"structure"` 6245 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6246 6247 Message_ *string `locationName:"Message" type:"string"` 6248} 6249 6250// String returns the string representation 6251func (s RequestLimitExceeded) String() string { 6252 return awsutil.Prettify(s) 6253} 6254 6255// GoString returns the string representation 6256func (s RequestLimitExceeded) GoString() string { 6257 return s.String() 6258} 6259 6260func newErrorRequestLimitExceeded(v protocol.ResponseMetadata) error { 6261 return &RequestLimitExceeded{ 6262 RespMetadata: v, 6263 } 6264} 6265 6266// Code returns the exception type name. 6267func (s *RequestLimitExceeded) Code() string { 6268 return "RequestLimitExceeded" 6269} 6270 6271// Message returns the exception's message. 6272func (s *RequestLimitExceeded) Message() string { 6273 if s.Message_ != nil { 6274 return *s.Message_ 6275 } 6276 return "" 6277} 6278 6279// OrigErr always returns nil, satisfies awserr.Error interface. 6280func (s *RequestLimitExceeded) OrigErr() error { 6281 return nil 6282} 6283 6284func (s *RequestLimitExceeded) Error() string { 6285 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6286} 6287 6288// Status code returns the HTTP status code for the request's response error. 6289func (s *RequestLimitExceeded) StatusCode() int { 6290 return s.RespMetadata.StatusCode 6291} 6292 6293// RequestID returns the service's response RequestID for request. 6294func (s *RequestLimitExceeded) RequestID() string { 6295 return s.RespMetadata.RequestID 6296} 6297 6298// The specified resource can't be deleted because it contains other resources. 6299// For example, you can't delete a service that contains any instances. 6300type ResourceInUse struct { 6301 _ struct{} `type:"structure"` 6302 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6303 6304 Message_ *string `locationName:"Message" type:"string"` 6305} 6306 6307// String returns the string representation 6308func (s ResourceInUse) String() string { 6309 return awsutil.Prettify(s) 6310} 6311 6312// GoString returns the string representation 6313func (s ResourceInUse) GoString() string { 6314 return s.String() 6315} 6316 6317func newErrorResourceInUse(v protocol.ResponseMetadata) error { 6318 return &ResourceInUse{ 6319 RespMetadata: v, 6320 } 6321} 6322 6323// Code returns the exception type name. 6324func (s *ResourceInUse) Code() string { 6325 return "ResourceInUse" 6326} 6327 6328// Message returns the exception's message. 6329func (s *ResourceInUse) Message() string { 6330 if s.Message_ != nil { 6331 return *s.Message_ 6332 } 6333 return "" 6334} 6335 6336// OrigErr always returns nil, satisfies awserr.Error interface. 6337func (s *ResourceInUse) OrigErr() error { 6338 return nil 6339} 6340 6341func (s *ResourceInUse) Error() string { 6342 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6343} 6344 6345// Status code returns the HTTP status code for the request's response error. 6346func (s *ResourceInUse) StatusCode() int { 6347 return s.RespMetadata.StatusCode 6348} 6349 6350// RequestID returns the service's response RequestID for request. 6351func (s *ResourceInUse) RequestID() string { 6352 return s.RespMetadata.RequestID 6353} 6354 6355// The resource can't be created because you've reached the quota on the number 6356// of resources. 6357type ResourceLimitExceeded struct { 6358 _ struct{} `type:"structure"` 6359 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6360 6361 Message_ *string `locationName:"Message" type:"string"` 6362} 6363 6364// String returns the string representation 6365func (s ResourceLimitExceeded) String() string { 6366 return awsutil.Prettify(s) 6367} 6368 6369// GoString returns the string representation 6370func (s ResourceLimitExceeded) GoString() string { 6371 return s.String() 6372} 6373 6374func newErrorResourceLimitExceeded(v protocol.ResponseMetadata) error { 6375 return &ResourceLimitExceeded{ 6376 RespMetadata: v, 6377 } 6378} 6379 6380// Code returns the exception type name. 6381func (s *ResourceLimitExceeded) Code() string { 6382 return "ResourceLimitExceeded" 6383} 6384 6385// Message returns the exception's message. 6386func (s *ResourceLimitExceeded) Message() string { 6387 if s.Message_ != nil { 6388 return *s.Message_ 6389 } 6390 return "" 6391} 6392 6393// OrigErr always returns nil, satisfies awserr.Error interface. 6394func (s *ResourceLimitExceeded) OrigErr() error { 6395 return nil 6396} 6397 6398func (s *ResourceLimitExceeded) Error() string { 6399 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6400} 6401 6402// Status code returns the HTTP status code for the request's response error. 6403func (s *ResourceLimitExceeded) StatusCode() int { 6404 return s.RespMetadata.StatusCode 6405} 6406 6407// RequestID returns the service's response RequestID for request. 6408func (s *ResourceLimitExceeded) RequestID() string { 6409 return s.RespMetadata.RequestID 6410} 6411 6412// The operation can't be completed because the resource was not found. 6413type ResourceNotFoundException struct { 6414 _ struct{} `type:"structure"` 6415 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6416 6417 Message_ *string `locationName:"Message" type:"string"` 6418} 6419 6420// String returns the string representation 6421func (s ResourceNotFoundException) String() string { 6422 return awsutil.Prettify(s) 6423} 6424 6425// GoString returns the string representation 6426func (s ResourceNotFoundException) GoString() string { 6427 return s.String() 6428} 6429 6430func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 6431 return &ResourceNotFoundException{ 6432 RespMetadata: v, 6433 } 6434} 6435 6436// Code returns the exception type name. 6437func (s *ResourceNotFoundException) Code() string { 6438 return "ResourceNotFoundException" 6439} 6440 6441// Message returns the exception's message. 6442func (s *ResourceNotFoundException) Message() string { 6443 if s.Message_ != nil { 6444 return *s.Message_ 6445 } 6446 return "" 6447} 6448 6449// OrigErr always returns nil, satisfies awserr.Error interface. 6450func (s *ResourceNotFoundException) OrigErr() error { 6451 return nil 6452} 6453 6454func (s *ResourceNotFoundException) Error() string { 6455 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6456} 6457 6458// Status code returns the HTTP status code for the request's response error. 6459func (s *ResourceNotFoundException) StatusCode() int { 6460 return s.RespMetadata.StatusCode 6461} 6462 6463// RequestID returns the service's response RequestID for request. 6464func (s *ResourceNotFoundException) RequestID() string { 6465 return s.RespMetadata.RequestID 6466} 6467 6468// A complex type that contains information about the specified service. 6469type Service struct { 6470 _ struct{} `type:"structure"` 6471 6472 // The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the service 6473 // when you create it. 6474 Arn *string `type:"string"` 6475 6476 // The date and time that the service was created, in Unix format and Coordinated 6477 // Universal Time (UTC). The value of CreateDate is accurate to milliseconds. 6478 // For example, the value 1516925490.087 represents Friday, January 26, 2018 6479 // 12:11:30.087 AM. 6480 CreateDate *time.Time `type:"timestamp"` 6481 6482 // A unique string that identifies the request and that allows failed requests 6483 // to be retried without the risk of executing the operation twice. CreatorRequestId 6484 // can be any unique string, for example, a date/time stamp. 6485 CreatorRequestId *string `type:"string"` 6486 6487 // The description of the service. 6488 Description *string `type:"string"` 6489 6490 // A complex type that contains information about the Route 53 DNS records that 6491 // you want AWS Cloud Map to create when you register an instance. 6492 DnsConfig *DnsConfig `type:"structure"` 6493 6494 // Public DNS and HTTP namespaces only. A complex type that contains settings 6495 // for an optional health check. If you specify settings for a health check, 6496 // AWS Cloud Map associates the health check with the records that you specify 6497 // in DnsConfig. 6498 // 6499 // For information about the charges for health checks, see Amazon Route 53 6500 // Pricing (http://aws.amazon.com/route53/pricing/). 6501 HealthCheckConfig *HealthCheckConfig `type:"structure"` 6502 6503 // A complex type that contains information about an optional custom health 6504 // check. 6505 // 6506 // If you specify a health check configuration, you can specify either HealthCheckCustomConfig 6507 // or HealthCheckConfig but not both. 6508 HealthCheckCustomConfig *HealthCheckCustomConfig `type:"structure"` 6509 6510 // The ID that AWS Cloud Map assigned to the service when you created it. 6511 Id *string `type:"string"` 6512 6513 // The number of instances that are currently associated with the service. Instances 6514 // that were previously associated with the service but that have been deleted 6515 // are not included in the count. The count might not reflect pending registrations 6516 // and deregistrations. 6517 InstanceCount *int64 `type:"integer"` 6518 6519 // The name of the service. 6520 Name *string `type:"string"` 6521 6522 // The ID of the namespace that was used to create the service. 6523 NamespaceId *string `type:"string"` 6524} 6525 6526// String returns the string representation 6527func (s Service) String() string { 6528 return awsutil.Prettify(s) 6529} 6530 6531// GoString returns the string representation 6532func (s Service) GoString() string { 6533 return s.String() 6534} 6535 6536// SetArn sets the Arn field's value. 6537func (s *Service) SetArn(v string) *Service { 6538 s.Arn = &v 6539 return s 6540} 6541 6542// SetCreateDate sets the CreateDate field's value. 6543func (s *Service) SetCreateDate(v time.Time) *Service { 6544 s.CreateDate = &v 6545 return s 6546} 6547 6548// SetCreatorRequestId sets the CreatorRequestId field's value. 6549func (s *Service) SetCreatorRequestId(v string) *Service { 6550 s.CreatorRequestId = &v 6551 return s 6552} 6553 6554// SetDescription sets the Description field's value. 6555func (s *Service) SetDescription(v string) *Service { 6556 s.Description = &v 6557 return s 6558} 6559 6560// SetDnsConfig sets the DnsConfig field's value. 6561func (s *Service) SetDnsConfig(v *DnsConfig) *Service { 6562 s.DnsConfig = v 6563 return s 6564} 6565 6566// SetHealthCheckConfig sets the HealthCheckConfig field's value. 6567func (s *Service) SetHealthCheckConfig(v *HealthCheckConfig) *Service { 6568 s.HealthCheckConfig = v 6569 return s 6570} 6571 6572// SetHealthCheckCustomConfig sets the HealthCheckCustomConfig field's value. 6573func (s *Service) SetHealthCheckCustomConfig(v *HealthCheckCustomConfig) *Service { 6574 s.HealthCheckCustomConfig = v 6575 return s 6576} 6577 6578// SetId sets the Id field's value. 6579func (s *Service) SetId(v string) *Service { 6580 s.Id = &v 6581 return s 6582} 6583 6584// SetInstanceCount sets the InstanceCount field's value. 6585func (s *Service) SetInstanceCount(v int64) *Service { 6586 s.InstanceCount = &v 6587 return s 6588} 6589 6590// SetName sets the Name field's value. 6591func (s *Service) SetName(v string) *Service { 6592 s.Name = &v 6593 return s 6594} 6595 6596// SetNamespaceId sets the NamespaceId field's value. 6597func (s *Service) SetNamespaceId(v string) *Service { 6598 s.NamespaceId = &v 6599 return s 6600} 6601 6602// The service can't be created because a service with the same name already 6603// exists. 6604type ServiceAlreadyExists struct { 6605 _ struct{} `type:"structure"` 6606 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6607 6608 // The CreatorRequestId that was used to create the service. 6609 CreatorRequestId *string `type:"string"` 6610 6611 Message_ *string `locationName:"Message" type:"string"` 6612 6613 // The ID of the existing service. 6614 ServiceId *string `type:"string"` 6615} 6616 6617// String returns the string representation 6618func (s ServiceAlreadyExists) String() string { 6619 return awsutil.Prettify(s) 6620} 6621 6622// GoString returns the string representation 6623func (s ServiceAlreadyExists) GoString() string { 6624 return s.String() 6625} 6626 6627func newErrorServiceAlreadyExists(v protocol.ResponseMetadata) error { 6628 return &ServiceAlreadyExists{ 6629 RespMetadata: v, 6630 } 6631} 6632 6633// Code returns the exception type name. 6634func (s *ServiceAlreadyExists) Code() string { 6635 return "ServiceAlreadyExists" 6636} 6637 6638// Message returns the exception's message. 6639func (s *ServiceAlreadyExists) Message() string { 6640 if s.Message_ != nil { 6641 return *s.Message_ 6642 } 6643 return "" 6644} 6645 6646// OrigErr always returns nil, satisfies awserr.Error interface. 6647func (s *ServiceAlreadyExists) OrigErr() error { 6648 return nil 6649} 6650 6651func (s *ServiceAlreadyExists) Error() string { 6652 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 6653} 6654 6655// Status code returns the HTTP status code for the request's response error. 6656func (s *ServiceAlreadyExists) StatusCode() int { 6657 return s.RespMetadata.StatusCode 6658} 6659 6660// RequestID returns the service's response RequestID for request. 6661func (s *ServiceAlreadyExists) RequestID() string { 6662 return s.RespMetadata.RequestID 6663} 6664 6665// A complex type that contains changes to an existing service. 6666type ServiceChange struct { 6667 _ struct{} `type:"structure"` 6668 6669 // A description for the service. 6670 Description *string `type:"string"` 6671 6672 // A complex type that contains information about the Route 53 DNS records that 6673 // you want AWS Cloud Map to create when you register an instance. 6674 DnsConfig *DnsConfigChange `type:"structure"` 6675 6676 // Public DNS and HTTP namespaces only. A complex type that contains settings 6677 // for an optional health check. If you specify settings for a health check, 6678 // AWS Cloud Map associates the health check with the records that you specify 6679 // in DnsConfig. 6680 // 6681 // If you specify a health check configuration, you can specify either HealthCheckCustomConfig 6682 // or HealthCheckConfig but not both. 6683 // 6684 // Health checks are basic Route 53 health checks that monitor an AWS endpoint. 6685 // For information about pricing for health checks, see Amazon Route 53 Pricing 6686 // (http://aws.amazon.com/route53/pricing/). 6687 // 6688 // Note the following about configuring health checks. 6689 // 6690 // A and AAAA records 6691 // 6692 // If DnsConfig includes configurations for both A and AAAA records, AWS Cloud 6693 // Map creates a health check that uses the IPv4 address to check the health 6694 // of the resource. If the endpoint that is specified by the IPv4 address is 6695 // unhealthy, Route 53 considers both the A and AAAA records to be unhealthy. 6696 // 6697 // CNAME records 6698 // 6699 // You can't specify settings for HealthCheckConfig when the DNSConfig includes 6700 // CNAME for the value of Type. If you do, the CreateService request will fail 6701 // with an InvalidInput error. 6702 // 6703 // Request interval 6704 // 6705 // A Route 53 health checker in each health-checking region sends a health check 6706 // request to an endpoint every 30 seconds. On average, your endpoint receives 6707 // a health check request about every two seconds. However, health checkers 6708 // don't coordinate with one another, so you'll sometimes see several requests 6709 // per second followed by a few seconds with no health checks at all. 6710 // 6711 // Health checking regions 6712 // 6713 // Health checkers perform checks from all Route 53 health-checking regions. 6714 // For a list of the current regions, see Regions (https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions). 6715 // 6716 // Alias records 6717 // 6718 // When you register an instance, if you include the AWS_ALIAS_DNS_NAME attribute, 6719 // AWS Cloud Map creates a Route 53 alias record. Note the following: 6720 // 6721 // * Route 53 automatically sets EvaluateTargetHealth to true for alias records. 6722 // When EvaluateTargetHealth is true, the alias record inherits the health 6723 // of the referenced AWS resource. such as an ELB load balancer. For more 6724 // information, see EvaluateTargetHealth (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth). 6725 // 6726 // * If you include HealthCheckConfig and then use the service to register 6727 // an instance that creates an alias record, Route 53 doesn't create the 6728 // health check. 6729 // 6730 // Charges for health checks 6731 // 6732 // Health checks are basic Route 53 health checks that monitor an AWS endpoint. 6733 // For information about pricing for health checks, see Amazon Route 53 Pricing 6734 // (http://aws.amazon.com/route53/pricing/). 6735 HealthCheckConfig *HealthCheckConfig `type:"structure"` 6736} 6737 6738// String returns the string representation 6739func (s ServiceChange) String() string { 6740 return awsutil.Prettify(s) 6741} 6742 6743// GoString returns the string representation 6744func (s ServiceChange) GoString() string { 6745 return s.String() 6746} 6747 6748// Validate inspects the fields of the type to determine if they are valid. 6749func (s *ServiceChange) Validate() error { 6750 invalidParams := request.ErrInvalidParams{Context: "ServiceChange"} 6751 if s.DnsConfig != nil { 6752 if err := s.DnsConfig.Validate(); err != nil { 6753 invalidParams.AddNested("DnsConfig", err.(request.ErrInvalidParams)) 6754 } 6755 } 6756 if s.HealthCheckConfig != nil { 6757 if err := s.HealthCheckConfig.Validate(); err != nil { 6758 invalidParams.AddNested("HealthCheckConfig", err.(request.ErrInvalidParams)) 6759 } 6760 } 6761 6762 if invalidParams.Len() > 0 { 6763 return invalidParams 6764 } 6765 return nil 6766} 6767 6768// SetDescription sets the Description field's value. 6769func (s *ServiceChange) SetDescription(v string) *ServiceChange { 6770 s.Description = &v 6771 return s 6772} 6773 6774// SetDnsConfig sets the DnsConfig field's value. 6775func (s *ServiceChange) SetDnsConfig(v *DnsConfigChange) *ServiceChange { 6776 s.DnsConfig = v 6777 return s 6778} 6779 6780// SetHealthCheckConfig sets the HealthCheckConfig field's value. 6781func (s *ServiceChange) SetHealthCheckConfig(v *HealthCheckConfig) *ServiceChange { 6782 s.HealthCheckConfig = v 6783 return s 6784} 6785 6786// A complex type that lets you specify the namespaces that you want to list 6787// services for. 6788type ServiceFilter struct { 6789 _ struct{} `type:"structure"` 6790 6791 // The operator that you want to use to determine whether a service is returned 6792 // by ListServices. Valid values for Condition include the following: 6793 // 6794 // * EQ: When you specify EQ, specify one namespace ID for Values. EQ is 6795 // the default condition and can be omitted. 6796 // 6797 // * IN: When you specify IN, specify a list of the IDs for the namespaces 6798 // that you want ListServices to return a list of services for. 6799 // 6800 // * BETWEEN: Not applicable. 6801 Condition *string `type:"string" enum:"FilterCondition"` 6802 6803 // Specify NAMESPACE_ID. 6804 // 6805 // Name is a required field 6806 Name *string `type:"string" required:"true" enum:"ServiceFilterName"` 6807 6808 // The values that are applicable to the value that you specify for Condition 6809 // to filter the list of services. 6810 // 6811 // Values is a required field 6812 Values []*string `type:"list" required:"true"` 6813} 6814 6815// String returns the string representation 6816func (s ServiceFilter) String() string { 6817 return awsutil.Prettify(s) 6818} 6819 6820// GoString returns the string representation 6821func (s ServiceFilter) GoString() string { 6822 return s.String() 6823} 6824 6825// Validate inspects the fields of the type to determine if they are valid. 6826func (s *ServiceFilter) Validate() error { 6827 invalidParams := request.ErrInvalidParams{Context: "ServiceFilter"} 6828 if s.Name == nil { 6829 invalidParams.Add(request.NewErrParamRequired("Name")) 6830 } 6831 if s.Values == nil { 6832 invalidParams.Add(request.NewErrParamRequired("Values")) 6833 } 6834 6835 if invalidParams.Len() > 0 { 6836 return invalidParams 6837 } 6838 return nil 6839} 6840 6841// SetCondition sets the Condition field's value. 6842func (s *ServiceFilter) SetCondition(v string) *ServiceFilter { 6843 s.Condition = &v 6844 return s 6845} 6846 6847// SetName sets the Name field's value. 6848func (s *ServiceFilter) SetName(v string) *ServiceFilter { 6849 s.Name = &v 6850 return s 6851} 6852 6853// SetValues sets the Values field's value. 6854func (s *ServiceFilter) SetValues(v []*string) *ServiceFilter { 6855 s.Values = v 6856 return s 6857} 6858 6859// No service exists with the specified ID. 6860type ServiceNotFound struct { 6861 _ struct{} `type:"structure"` 6862 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6863 6864 Message_ *string `locationName:"Message" type:"string"` 6865} 6866 6867// String returns the string representation 6868func (s ServiceNotFound) String() string { 6869 return awsutil.Prettify(s) 6870} 6871 6872// GoString returns the string representation 6873func (s ServiceNotFound) GoString() string { 6874 return s.String() 6875} 6876 6877func newErrorServiceNotFound(v protocol.ResponseMetadata) error { 6878 return &ServiceNotFound{ 6879 RespMetadata: v, 6880 } 6881} 6882 6883// Code returns the exception type name. 6884func (s *ServiceNotFound) Code() string { 6885 return "ServiceNotFound" 6886} 6887 6888// Message returns the exception's message. 6889func (s *ServiceNotFound) Message() string { 6890 if s.Message_ != nil { 6891 return *s.Message_ 6892 } 6893 return "" 6894} 6895 6896// OrigErr always returns nil, satisfies awserr.Error interface. 6897func (s *ServiceNotFound) OrigErr() error { 6898 return nil 6899} 6900 6901func (s *ServiceNotFound) Error() string { 6902 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6903} 6904 6905// Status code returns the HTTP status code for the request's response error. 6906func (s *ServiceNotFound) StatusCode() int { 6907 return s.RespMetadata.StatusCode 6908} 6909 6910// RequestID returns the service's response RequestID for request. 6911func (s *ServiceNotFound) RequestID() string { 6912 return s.RespMetadata.RequestID 6913} 6914 6915// A complex type that contains information about a specified service. 6916type ServiceSummary struct { 6917 _ struct{} `type:"structure"` 6918 6919 // The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the service 6920 // when you create it. 6921 Arn *string `type:"string"` 6922 6923 // The date and time that the service was created. 6924 CreateDate *time.Time `type:"timestamp"` 6925 6926 // The description that you specify when you create the service. 6927 Description *string `type:"string"` 6928 6929 // A complex type that contains information about the Amazon Route 53 DNS records 6930 // that you want AWS Cloud Map to create when you register an instance. 6931 DnsConfig *DnsConfig `type:"structure"` 6932 6933 // Public DNS and HTTP namespaces only. A complex type that contains settings 6934 // for an optional health check. If you specify settings for a health check, 6935 // AWS Cloud Map associates the health check with the records that you specify 6936 // in DnsConfig. 6937 // 6938 // If you specify a health check configuration, you can specify either HealthCheckCustomConfig 6939 // or HealthCheckConfig but not both. 6940 // 6941 // Health checks are basic Route 53 health checks that monitor an AWS endpoint. 6942 // For information about pricing for health checks, see Amazon Route 53 Pricing 6943 // (http://aws.amazon.com/route53/pricing/). 6944 // 6945 // Note the following about configuring health checks. 6946 // 6947 // A and AAAA records 6948 // 6949 // If DnsConfig includes configurations for both A and AAAA records, AWS Cloud 6950 // Map creates a health check that uses the IPv4 address to check the health 6951 // of the resource. If the endpoint that is specified by the IPv4 address is 6952 // unhealthy, Route 53 considers both the A and AAAA records to be unhealthy. 6953 // 6954 // CNAME records 6955 // 6956 // You can't specify settings for HealthCheckConfig when the DNSConfig includes 6957 // CNAME for the value of Type. If you do, the CreateService request will fail 6958 // with an InvalidInput error. 6959 // 6960 // Request interval 6961 // 6962 // A Route 53 health checker in each health-checking region sends a health check 6963 // request to an endpoint every 30 seconds. On average, your endpoint receives 6964 // a health check request about every two seconds. However, health checkers 6965 // don't coordinate with one another, so you'll sometimes see several requests 6966 // per second followed by a few seconds with no health checks at all. 6967 // 6968 // Health checking regions 6969 // 6970 // Health checkers perform checks from all Route 53 health-checking regions. 6971 // For a list of the current regions, see Regions (https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions). 6972 // 6973 // Alias records 6974 // 6975 // When you register an instance, if you include the AWS_ALIAS_DNS_NAME attribute, 6976 // AWS Cloud Map creates a Route 53 alias record. Note the following: 6977 // 6978 // * Route 53 automatically sets EvaluateTargetHealth to true for alias records. 6979 // When EvaluateTargetHealth is true, the alias record inherits the health 6980 // of the referenced AWS resource. such as an ELB load balancer. For more 6981 // information, see EvaluateTargetHealth (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-EvaluateTargetHealth). 6982 // 6983 // * If you include HealthCheckConfig and then use the service to register 6984 // an instance that creates an alias record, Route 53 doesn't create the 6985 // health check. 6986 // 6987 // Charges for health checks 6988 // 6989 // Health checks are basic Route 53 health checks that monitor an AWS endpoint. 6990 // For information about pricing for health checks, see Amazon Route 53 Pricing 6991 // (http://aws.amazon.com/route53/pricing/). 6992 HealthCheckConfig *HealthCheckConfig `type:"structure"` 6993 6994 // A complex type that contains information about an optional custom health 6995 // check. A custom health check, which requires that you use a third-party health 6996 // checker to evaluate the health of your resources, is useful in the following 6997 // circumstances: 6998 // 6999 // * You can't use a health check that is defined by HealthCheckConfig because 7000 // the resource isn't available over the internet. For example, you can use 7001 // a custom health check when the instance is in an Amazon VPC. (To check 7002 // the health of resources in a VPC, the health checker must also be in the 7003 // VPC.) 7004 // 7005 // * You want to use a third-party health checker regardless of where your 7006 // resources are. 7007 // 7008 // If you specify a health check configuration, you can specify either HealthCheckCustomConfig 7009 // or HealthCheckConfig but not both. 7010 // 7011 // To change the status of a custom health check, submit an UpdateInstanceCustomHealthStatus 7012 // request. AWS Cloud Map doesn't monitor the status of the resource, it just 7013 // keeps a record of the status specified in the most recent UpdateInstanceCustomHealthStatus 7014 // request. 7015 // 7016 // Here's how custom health checks work: 7017 // 7018 // You create a service and specify a value for FailureThreshold. 7019 // 7020 // The failure threshold indicates the number of 30-second intervals you want 7021 // AWS Cloud Map to wait between the time that your application sends an UpdateInstanceCustomHealthStatus 7022 // (https://docs.aws.amazon.com/cloud-map/latest/api/API_UpdateInstanceCustomHealthStatus.html) 7023 // request and the time that AWS Cloud Map stops routing internet traffic to 7024 // the corresponding resource. 7025 // 7026 // You register an instance. 7027 // 7028 // You configure a third-party health checker to monitor the resource that is 7029 // associated with the new instance. 7030 // 7031 // AWS Cloud Map doesn't check the health of the resource directly. 7032 // 7033 // The third-party health-checker determines that the resource is unhealthy 7034 // and notifies your application. 7035 // 7036 // Your application submits an UpdateInstanceCustomHealthStatus request. 7037 // 7038 // AWS Cloud Map waits for (FailureThreshold x 30) seconds. 7039 // 7040 // If another UpdateInstanceCustomHealthStatus request doesn't arrive during 7041 // that time to change the status back to healthy, AWS Cloud Map stops routing 7042 // traffic to the resource. 7043 HealthCheckCustomConfig *HealthCheckCustomConfig `type:"structure"` 7044 7045 // The ID that AWS Cloud Map assigned to the service when you created it. 7046 Id *string `type:"string"` 7047 7048 // The number of instances that are currently associated with the service. Instances 7049 // that were previously associated with the service but that have been deleted 7050 // are not included in the count. The count might not reflect pending registrations 7051 // and deregistrations. 7052 InstanceCount *int64 `type:"integer"` 7053 7054 // The name of the service. 7055 Name *string `type:"string"` 7056} 7057 7058// String returns the string representation 7059func (s ServiceSummary) String() string { 7060 return awsutil.Prettify(s) 7061} 7062 7063// GoString returns the string representation 7064func (s ServiceSummary) GoString() string { 7065 return s.String() 7066} 7067 7068// SetArn sets the Arn field's value. 7069func (s *ServiceSummary) SetArn(v string) *ServiceSummary { 7070 s.Arn = &v 7071 return s 7072} 7073 7074// SetCreateDate sets the CreateDate field's value. 7075func (s *ServiceSummary) SetCreateDate(v time.Time) *ServiceSummary { 7076 s.CreateDate = &v 7077 return s 7078} 7079 7080// SetDescription sets the Description field's value. 7081func (s *ServiceSummary) SetDescription(v string) *ServiceSummary { 7082 s.Description = &v 7083 return s 7084} 7085 7086// SetDnsConfig sets the DnsConfig field's value. 7087func (s *ServiceSummary) SetDnsConfig(v *DnsConfig) *ServiceSummary { 7088 s.DnsConfig = v 7089 return s 7090} 7091 7092// SetHealthCheckConfig sets the HealthCheckConfig field's value. 7093func (s *ServiceSummary) SetHealthCheckConfig(v *HealthCheckConfig) *ServiceSummary { 7094 s.HealthCheckConfig = v 7095 return s 7096} 7097 7098// SetHealthCheckCustomConfig sets the HealthCheckCustomConfig field's value. 7099func (s *ServiceSummary) SetHealthCheckCustomConfig(v *HealthCheckCustomConfig) *ServiceSummary { 7100 s.HealthCheckCustomConfig = v 7101 return s 7102} 7103 7104// SetId sets the Id field's value. 7105func (s *ServiceSummary) SetId(v string) *ServiceSummary { 7106 s.Id = &v 7107 return s 7108} 7109 7110// SetInstanceCount sets the InstanceCount field's value. 7111func (s *ServiceSummary) SetInstanceCount(v int64) *ServiceSummary { 7112 s.InstanceCount = &v 7113 return s 7114} 7115 7116// SetName sets the Name field's value. 7117func (s *ServiceSummary) SetName(v string) *ServiceSummary { 7118 s.Name = &v 7119 return s 7120} 7121 7122// A custom key-value pair associated with a resource. 7123type Tag struct { 7124 _ struct{} `type:"structure"` 7125 7126 // The key identifier, or name, of the tag. 7127 // 7128 // Key is a required field 7129 Key *string `min:"1" type:"string" required:"true"` 7130 7131 // The string value associated with the key of the tag. You can set the value 7132 // of a tag to an empty string, but you can't set the value of a tag to null. 7133 // 7134 // Value is a required field 7135 Value *string `type:"string" required:"true"` 7136} 7137 7138// String returns the string representation 7139func (s Tag) String() string { 7140 return awsutil.Prettify(s) 7141} 7142 7143// GoString returns the string representation 7144func (s Tag) GoString() string { 7145 return s.String() 7146} 7147 7148// Validate inspects the fields of the type to determine if they are valid. 7149func (s *Tag) Validate() error { 7150 invalidParams := request.ErrInvalidParams{Context: "Tag"} 7151 if s.Key == nil { 7152 invalidParams.Add(request.NewErrParamRequired("Key")) 7153 } 7154 if s.Key != nil && len(*s.Key) < 1 { 7155 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 7156 } 7157 if s.Value == nil { 7158 invalidParams.Add(request.NewErrParamRequired("Value")) 7159 } 7160 7161 if invalidParams.Len() > 0 { 7162 return invalidParams 7163 } 7164 return nil 7165} 7166 7167// SetKey sets the Key field's value. 7168func (s *Tag) SetKey(v string) *Tag { 7169 s.Key = &v 7170 return s 7171} 7172 7173// SetValue sets the Value field's value. 7174func (s *Tag) SetValue(v string) *Tag { 7175 s.Value = &v 7176 return s 7177} 7178 7179type TagResourceInput struct { 7180 _ struct{} `type:"structure"` 7181 7182 // The Amazon Resource Name (ARN) of the resource that you want to retrieve 7183 // tags for. 7184 // 7185 // ResourceARN is a required field 7186 ResourceARN *string `min:"1" type:"string" required:"true"` 7187 7188 // The tags to add to the specified resource. Specifying the tag key is required. 7189 // You can set the value of a tag to an empty string, but you can't set the 7190 // value of a tag to null. 7191 // 7192 // Tags is a required field 7193 Tags []*Tag `type:"list" required:"true"` 7194} 7195 7196// String returns the string representation 7197func (s TagResourceInput) String() string { 7198 return awsutil.Prettify(s) 7199} 7200 7201// GoString returns the string representation 7202func (s TagResourceInput) GoString() string { 7203 return s.String() 7204} 7205 7206// Validate inspects the fields of the type to determine if they are valid. 7207func (s *TagResourceInput) Validate() error { 7208 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 7209 if s.ResourceARN == nil { 7210 invalidParams.Add(request.NewErrParamRequired("ResourceARN")) 7211 } 7212 if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { 7213 invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) 7214 } 7215 if s.Tags == nil { 7216 invalidParams.Add(request.NewErrParamRequired("Tags")) 7217 } 7218 if s.Tags != nil { 7219 for i, v := range s.Tags { 7220 if v == nil { 7221 continue 7222 } 7223 if err := v.Validate(); err != nil { 7224 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 7225 } 7226 } 7227 } 7228 7229 if invalidParams.Len() > 0 { 7230 return invalidParams 7231 } 7232 return nil 7233} 7234 7235// SetResourceARN sets the ResourceARN field's value. 7236func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput { 7237 s.ResourceARN = &v 7238 return s 7239} 7240 7241// SetTags sets the Tags field's value. 7242func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 7243 s.Tags = v 7244 return s 7245} 7246 7247type TagResourceOutput struct { 7248 _ struct{} `type:"structure"` 7249} 7250 7251// String returns the string representation 7252func (s TagResourceOutput) String() string { 7253 return awsutil.Prettify(s) 7254} 7255 7256// GoString returns the string representation 7257func (s TagResourceOutput) GoString() string { 7258 return s.String() 7259} 7260 7261// The list of tags on the resource is over the quota. The maximum number of 7262// tags that can be applied to a resource is 50. 7263type TooManyTagsException struct { 7264 _ struct{} `type:"structure"` 7265 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7266 7267 Message_ *string `locationName:"Message" type:"string"` 7268 7269 // The name of the resource. 7270 ResourceName *string `min:"1" type:"string"` 7271} 7272 7273// String returns the string representation 7274func (s TooManyTagsException) String() string { 7275 return awsutil.Prettify(s) 7276} 7277 7278// GoString returns the string representation 7279func (s TooManyTagsException) GoString() string { 7280 return s.String() 7281} 7282 7283func newErrorTooManyTagsException(v protocol.ResponseMetadata) error { 7284 return &TooManyTagsException{ 7285 RespMetadata: v, 7286 } 7287} 7288 7289// Code returns the exception type name. 7290func (s *TooManyTagsException) Code() string { 7291 return "TooManyTagsException" 7292} 7293 7294// Message returns the exception's message. 7295func (s *TooManyTagsException) Message() string { 7296 if s.Message_ != nil { 7297 return *s.Message_ 7298 } 7299 return "" 7300} 7301 7302// OrigErr always returns nil, satisfies awserr.Error interface. 7303func (s *TooManyTagsException) OrigErr() error { 7304 return nil 7305} 7306 7307func (s *TooManyTagsException) Error() string { 7308 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 7309} 7310 7311// Status code returns the HTTP status code for the request's response error. 7312func (s *TooManyTagsException) StatusCode() int { 7313 return s.RespMetadata.StatusCode 7314} 7315 7316// RequestID returns the service's response RequestID for request. 7317func (s *TooManyTagsException) RequestID() string { 7318 return s.RespMetadata.RequestID 7319} 7320 7321type UntagResourceInput struct { 7322 _ struct{} `type:"structure"` 7323 7324 // The Amazon Resource Name (ARN) of the resource that you want to retrieve 7325 // tags for. 7326 // 7327 // ResourceARN is a required field 7328 ResourceARN *string `min:"1" type:"string" required:"true"` 7329 7330 // The tag keys to remove from the specified resource. 7331 // 7332 // TagKeys is a required field 7333 TagKeys []*string `type:"list" required:"true"` 7334} 7335 7336// String returns the string representation 7337func (s UntagResourceInput) String() string { 7338 return awsutil.Prettify(s) 7339} 7340 7341// GoString returns the string representation 7342func (s UntagResourceInput) GoString() string { 7343 return s.String() 7344} 7345 7346// Validate inspects the fields of the type to determine if they are valid. 7347func (s *UntagResourceInput) Validate() error { 7348 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 7349 if s.ResourceARN == nil { 7350 invalidParams.Add(request.NewErrParamRequired("ResourceARN")) 7351 } 7352 if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { 7353 invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) 7354 } 7355 if s.TagKeys == nil { 7356 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 7357 } 7358 7359 if invalidParams.Len() > 0 { 7360 return invalidParams 7361 } 7362 return nil 7363} 7364 7365// SetResourceARN sets the ResourceARN field's value. 7366func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { 7367 s.ResourceARN = &v 7368 return s 7369} 7370 7371// SetTagKeys sets the TagKeys field's value. 7372func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 7373 s.TagKeys = v 7374 return s 7375} 7376 7377type UntagResourceOutput struct { 7378 _ struct{} `type:"structure"` 7379} 7380 7381// String returns the string representation 7382func (s UntagResourceOutput) String() string { 7383 return awsutil.Prettify(s) 7384} 7385 7386// GoString returns the string representation 7387func (s UntagResourceOutput) GoString() string { 7388 return s.String() 7389} 7390 7391type UpdateInstanceCustomHealthStatusInput struct { 7392 _ struct{} `type:"structure"` 7393 7394 // The ID of the instance that you want to change the health status for. 7395 // 7396 // InstanceId is a required field 7397 InstanceId *string `type:"string" required:"true"` 7398 7399 // The ID of the service that includes the configuration for the custom health 7400 // check that you want to change the status for. 7401 // 7402 // ServiceId is a required field 7403 ServiceId *string `type:"string" required:"true"` 7404 7405 // The new status of the instance, HEALTHY or UNHEALTHY. 7406 // 7407 // Status is a required field 7408 Status *string `type:"string" required:"true" enum:"CustomHealthStatus"` 7409} 7410 7411// String returns the string representation 7412func (s UpdateInstanceCustomHealthStatusInput) String() string { 7413 return awsutil.Prettify(s) 7414} 7415 7416// GoString returns the string representation 7417func (s UpdateInstanceCustomHealthStatusInput) GoString() string { 7418 return s.String() 7419} 7420 7421// Validate inspects the fields of the type to determine if they are valid. 7422func (s *UpdateInstanceCustomHealthStatusInput) Validate() error { 7423 invalidParams := request.ErrInvalidParams{Context: "UpdateInstanceCustomHealthStatusInput"} 7424 if s.InstanceId == nil { 7425 invalidParams.Add(request.NewErrParamRequired("InstanceId")) 7426 } 7427 if s.ServiceId == nil { 7428 invalidParams.Add(request.NewErrParamRequired("ServiceId")) 7429 } 7430 if s.Status == nil { 7431 invalidParams.Add(request.NewErrParamRequired("Status")) 7432 } 7433 7434 if invalidParams.Len() > 0 { 7435 return invalidParams 7436 } 7437 return nil 7438} 7439 7440// SetInstanceId sets the InstanceId field's value. 7441func (s *UpdateInstanceCustomHealthStatusInput) SetInstanceId(v string) *UpdateInstanceCustomHealthStatusInput { 7442 s.InstanceId = &v 7443 return s 7444} 7445 7446// SetServiceId sets the ServiceId field's value. 7447func (s *UpdateInstanceCustomHealthStatusInput) SetServiceId(v string) *UpdateInstanceCustomHealthStatusInput { 7448 s.ServiceId = &v 7449 return s 7450} 7451 7452// SetStatus sets the Status field's value. 7453func (s *UpdateInstanceCustomHealthStatusInput) SetStatus(v string) *UpdateInstanceCustomHealthStatusInput { 7454 s.Status = &v 7455 return s 7456} 7457 7458type UpdateInstanceCustomHealthStatusOutput struct { 7459 _ struct{} `type:"structure"` 7460} 7461 7462// String returns the string representation 7463func (s UpdateInstanceCustomHealthStatusOutput) String() string { 7464 return awsutil.Prettify(s) 7465} 7466 7467// GoString returns the string representation 7468func (s UpdateInstanceCustomHealthStatusOutput) GoString() string { 7469 return s.String() 7470} 7471 7472type UpdateServiceInput struct { 7473 _ struct{} `type:"structure"` 7474 7475 // The ID of the service that you want to update. 7476 // 7477 // Id is a required field 7478 Id *string `type:"string" required:"true"` 7479 7480 // A complex type that contains the new settings for the service. 7481 // 7482 // Service is a required field 7483 Service *ServiceChange `type:"structure" required:"true"` 7484} 7485 7486// String returns the string representation 7487func (s UpdateServiceInput) String() string { 7488 return awsutil.Prettify(s) 7489} 7490 7491// GoString returns the string representation 7492func (s UpdateServiceInput) GoString() string { 7493 return s.String() 7494} 7495 7496// Validate inspects the fields of the type to determine if they are valid. 7497func (s *UpdateServiceInput) Validate() error { 7498 invalidParams := request.ErrInvalidParams{Context: "UpdateServiceInput"} 7499 if s.Id == nil { 7500 invalidParams.Add(request.NewErrParamRequired("Id")) 7501 } 7502 if s.Service == nil { 7503 invalidParams.Add(request.NewErrParamRequired("Service")) 7504 } 7505 if s.Service != nil { 7506 if err := s.Service.Validate(); err != nil { 7507 invalidParams.AddNested("Service", err.(request.ErrInvalidParams)) 7508 } 7509 } 7510 7511 if invalidParams.Len() > 0 { 7512 return invalidParams 7513 } 7514 return nil 7515} 7516 7517// SetId sets the Id field's value. 7518func (s *UpdateServiceInput) SetId(v string) *UpdateServiceInput { 7519 s.Id = &v 7520 return s 7521} 7522 7523// SetService sets the Service field's value. 7524func (s *UpdateServiceInput) SetService(v *ServiceChange) *UpdateServiceInput { 7525 s.Service = v 7526 return s 7527} 7528 7529type UpdateServiceOutput struct { 7530 _ struct{} `type:"structure"` 7531 7532 // A value that you can use to determine whether the request completed successfully. 7533 // To get the status of the operation, see GetOperation (https://docs.aws.amazon.com/cloud-map/latest/api/API_GetOperation.html). 7534 OperationId *string `type:"string"` 7535} 7536 7537// String returns the string representation 7538func (s UpdateServiceOutput) String() string { 7539 return awsutil.Prettify(s) 7540} 7541 7542// GoString returns the string representation 7543func (s UpdateServiceOutput) GoString() string { 7544 return s.String() 7545} 7546 7547// SetOperationId sets the OperationId field's value. 7548func (s *UpdateServiceOutput) SetOperationId(v string) *UpdateServiceOutput { 7549 s.OperationId = &v 7550 return s 7551} 7552 7553const ( 7554 // CustomHealthStatusHealthy is a CustomHealthStatus enum value 7555 CustomHealthStatusHealthy = "HEALTHY" 7556 7557 // CustomHealthStatusUnhealthy is a CustomHealthStatus enum value 7558 CustomHealthStatusUnhealthy = "UNHEALTHY" 7559) 7560 7561// CustomHealthStatus_Values returns all elements of the CustomHealthStatus enum 7562func CustomHealthStatus_Values() []string { 7563 return []string{ 7564 CustomHealthStatusHealthy, 7565 CustomHealthStatusUnhealthy, 7566 } 7567} 7568 7569const ( 7570 // FilterConditionEq is a FilterCondition enum value 7571 FilterConditionEq = "EQ" 7572 7573 // FilterConditionIn is a FilterCondition enum value 7574 FilterConditionIn = "IN" 7575 7576 // FilterConditionBetween is a FilterCondition enum value 7577 FilterConditionBetween = "BETWEEN" 7578) 7579 7580// FilterCondition_Values returns all elements of the FilterCondition enum 7581func FilterCondition_Values() []string { 7582 return []string{ 7583 FilterConditionEq, 7584 FilterConditionIn, 7585 FilterConditionBetween, 7586 } 7587} 7588 7589const ( 7590 // HealthCheckTypeHttp is a HealthCheckType enum value 7591 HealthCheckTypeHttp = "HTTP" 7592 7593 // HealthCheckTypeHttps is a HealthCheckType enum value 7594 HealthCheckTypeHttps = "HTTPS" 7595 7596 // HealthCheckTypeTcp is a HealthCheckType enum value 7597 HealthCheckTypeTcp = "TCP" 7598) 7599 7600// HealthCheckType_Values returns all elements of the HealthCheckType enum 7601func HealthCheckType_Values() []string { 7602 return []string{ 7603 HealthCheckTypeHttp, 7604 HealthCheckTypeHttps, 7605 HealthCheckTypeTcp, 7606 } 7607} 7608 7609const ( 7610 // HealthStatusHealthy is a HealthStatus enum value 7611 HealthStatusHealthy = "HEALTHY" 7612 7613 // HealthStatusUnhealthy is a HealthStatus enum value 7614 HealthStatusUnhealthy = "UNHEALTHY" 7615 7616 // HealthStatusUnknown is a HealthStatus enum value 7617 HealthStatusUnknown = "UNKNOWN" 7618) 7619 7620// HealthStatus_Values returns all elements of the HealthStatus enum 7621func HealthStatus_Values() []string { 7622 return []string{ 7623 HealthStatusHealthy, 7624 HealthStatusUnhealthy, 7625 HealthStatusUnknown, 7626 } 7627} 7628 7629const ( 7630 // HealthStatusFilterHealthy is a HealthStatusFilter enum value 7631 HealthStatusFilterHealthy = "HEALTHY" 7632 7633 // HealthStatusFilterUnhealthy is a HealthStatusFilter enum value 7634 HealthStatusFilterUnhealthy = "UNHEALTHY" 7635 7636 // HealthStatusFilterAll is a HealthStatusFilter enum value 7637 HealthStatusFilterAll = "ALL" 7638) 7639 7640// HealthStatusFilter_Values returns all elements of the HealthStatusFilter enum 7641func HealthStatusFilter_Values() []string { 7642 return []string{ 7643 HealthStatusFilterHealthy, 7644 HealthStatusFilterUnhealthy, 7645 HealthStatusFilterAll, 7646 } 7647} 7648 7649const ( 7650 // NamespaceFilterNameType is a NamespaceFilterName enum value 7651 NamespaceFilterNameType = "TYPE" 7652) 7653 7654// NamespaceFilterName_Values returns all elements of the NamespaceFilterName enum 7655func NamespaceFilterName_Values() []string { 7656 return []string{ 7657 NamespaceFilterNameType, 7658 } 7659} 7660 7661const ( 7662 // NamespaceTypeDnsPublic is a NamespaceType enum value 7663 NamespaceTypeDnsPublic = "DNS_PUBLIC" 7664 7665 // NamespaceTypeDnsPrivate is a NamespaceType enum value 7666 NamespaceTypeDnsPrivate = "DNS_PRIVATE" 7667 7668 // NamespaceTypeHttp is a NamespaceType enum value 7669 NamespaceTypeHttp = "HTTP" 7670) 7671 7672// NamespaceType_Values returns all elements of the NamespaceType enum 7673func NamespaceType_Values() []string { 7674 return []string{ 7675 NamespaceTypeDnsPublic, 7676 NamespaceTypeDnsPrivate, 7677 NamespaceTypeHttp, 7678 } 7679} 7680 7681const ( 7682 // OperationFilterNameNamespaceId is a OperationFilterName enum value 7683 OperationFilterNameNamespaceId = "NAMESPACE_ID" 7684 7685 // OperationFilterNameServiceId is a OperationFilterName enum value 7686 OperationFilterNameServiceId = "SERVICE_ID" 7687 7688 // OperationFilterNameStatus is a OperationFilterName enum value 7689 OperationFilterNameStatus = "STATUS" 7690 7691 // OperationFilterNameType is a OperationFilterName enum value 7692 OperationFilterNameType = "TYPE" 7693 7694 // OperationFilterNameUpdateDate is a OperationFilterName enum value 7695 OperationFilterNameUpdateDate = "UPDATE_DATE" 7696) 7697 7698// OperationFilterName_Values returns all elements of the OperationFilterName enum 7699func OperationFilterName_Values() []string { 7700 return []string{ 7701 OperationFilterNameNamespaceId, 7702 OperationFilterNameServiceId, 7703 OperationFilterNameStatus, 7704 OperationFilterNameType, 7705 OperationFilterNameUpdateDate, 7706 } 7707} 7708 7709const ( 7710 // OperationStatusSubmitted is a OperationStatus enum value 7711 OperationStatusSubmitted = "SUBMITTED" 7712 7713 // OperationStatusPending is a OperationStatus enum value 7714 OperationStatusPending = "PENDING" 7715 7716 // OperationStatusSuccess is a OperationStatus enum value 7717 OperationStatusSuccess = "SUCCESS" 7718 7719 // OperationStatusFail is a OperationStatus enum value 7720 OperationStatusFail = "FAIL" 7721) 7722 7723// OperationStatus_Values returns all elements of the OperationStatus enum 7724func OperationStatus_Values() []string { 7725 return []string{ 7726 OperationStatusSubmitted, 7727 OperationStatusPending, 7728 OperationStatusSuccess, 7729 OperationStatusFail, 7730 } 7731} 7732 7733const ( 7734 // OperationTargetTypeNamespace is a OperationTargetType enum value 7735 OperationTargetTypeNamespace = "NAMESPACE" 7736 7737 // OperationTargetTypeService is a OperationTargetType enum value 7738 OperationTargetTypeService = "SERVICE" 7739 7740 // OperationTargetTypeInstance is a OperationTargetType enum value 7741 OperationTargetTypeInstance = "INSTANCE" 7742) 7743 7744// OperationTargetType_Values returns all elements of the OperationTargetType enum 7745func OperationTargetType_Values() []string { 7746 return []string{ 7747 OperationTargetTypeNamespace, 7748 OperationTargetTypeService, 7749 OperationTargetTypeInstance, 7750 } 7751} 7752 7753const ( 7754 // OperationTypeCreateNamespace is a OperationType enum value 7755 OperationTypeCreateNamespace = "CREATE_NAMESPACE" 7756 7757 // OperationTypeDeleteNamespace is a OperationType enum value 7758 OperationTypeDeleteNamespace = "DELETE_NAMESPACE" 7759 7760 // OperationTypeUpdateService is a OperationType enum value 7761 OperationTypeUpdateService = "UPDATE_SERVICE" 7762 7763 // OperationTypeRegisterInstance is a OperationType enum value 7764 OperationTypeRegisterInstance = "REGISTER_INSTANCE" 7765 7766 // OperationTypeDeregisterInstance is a OperationType enum value 7767 OperationTypeDeregisterInstance = "DEREGISTER_INSTANCE" 7768) 7769 7770// OperationType_Values returns all elements of the OperationType enum 7771func OperationType_Values() []string { 7772 return []string{ 7773 OperationTypeCreateNamespace, 7774 OperationTypeDeleteNamespace, 7775 OperationTypeUpdateService, 7776 OperationTypeRegisterInstance, 7777 OperationTypeDeregisterInstance, 7778 } 7779} 7780 7781const ( 7782 // RecordTypeSrv is a RecordType enum value 7783 RecordTypeSrv = "SRV" 7784 7785 // RecordTypeA is a RecordType enum value 7786 RecordTypeA = "A" 7787 7788 // RecordTypeAaaa is a RecordType enum value 7789 RecordTypeAaaa = "AAAA" 7790 7791 // RecordTypeCname is a RecordType enum value 7792 RecordTypeCname = "CNAME" 7793) 7794 7795// RecordType_Values returns all elements of the RecordType enum 7796func RecordType_Values() []string { 7797 return []string{ 7798 RecordTypeSrv, 7799 RecordTypeA, 7800 RecordTypeAaaa, 7801 RecordTypeCname, 7802 } 7803} 7804 7805const ( 7806 // RoutingPolicyMultivalue is a RoutingPolicy enum value 7807 RoutingPolicyMultivalue = "MULTIVALUE" 7808 7809 // RoutingPolicyWeighted is a RoutingPolicy enum value 7810 RoutingPolicyWeighted = "WEIGHTED" 7811) 7812 7813// RoutingPolicy_Values returns all elements of the RoutingPolicy enum 7814func RoutingPolicy_Values() []string { 7815 return []string{ 7816 RoutingPolicyMultivalue, 7817 RoutingPolicyWeighted, 7818 } 7819} 7820 7821const ( 7822 // ServiceFilterNameNamespaceId is a ServiceFilterName enum value 7823 ServiceFilterNameNamespaceId = "NAMESPACE_ID" 7824) 7825 7826// ServiceFilterName_Values returns all elements of the ServiceFilterName enum 7827func ServiceFilterName_Values() []string { 7828 return []string{ 7829 ServiceFilterNameNamespaceId, 7830 } 7831} 7832