1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package applicationdiscoveryservice
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 opAssociateConfigurationItemsToApplication = "AssociateConfigurationItemsToApplication"
17
18// AssociateConfigurationItemsToApplicationRequest generates a "aws/request.Request" representing the
19// client's request for the AssociateConfigurationItemsToApplication 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 AssociateConfigurationItemsToApplication for more information on using the AssociateConfigurationItemsToApplication
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 AssociateConfigurationItemsToApplicationRequest method.
34//    req, resp := client.AssociateConfigurationItemsToApplicationRequest(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/discovery-2015-11-01/AssociateConfigurationItemsToApplication
42func (c *ApplicationDiscoveryService) AssociateConfigurationItemsToApplicationRequest(input *AssociateConfigurationItemsToApplicationInput) (req *request.Request, output *AssociateConfigurationItemsToApplicationOutput) {
43	op := &request.Operation{
44		Name:       opAssociateConfigurationItemsToApplication,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AssociateConfigurationItemsToApplicationInput{}
51	}
52
53	output = &AssociateConfigurationItemsToApplicationOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AssociateConfigurationItemsToApplication API operation for AWS Application Discovery Service.
60//
61// Associates one or more configuration items with an application.
62//
63// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
64// with awserr.Error's Code and Message methods to get detailed information about
65// the error.
66//
67// See the AWS API reference guide for AWS Application Discovery Service's
68// API operation AssociateConfigurationItemsToApplication for usage and error information.
69//
70// Returned Error Codes:
71//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
72//   The AWS user account does not have permission to perform the action. Check
73//   the IAM policy associated with this account.
74//
75//   * ErrCodeInvalidParameterException "InvalidParameterException"
76//   One or more parameters are not valid. Verify the parameters and try again.
77//
78//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
79//   The value of one or more parameters are either invalid or out of range. Verify
80//   the parameter values and try again.
81//
82//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
83//   The server experienced an internal error. Try again.
84//
85// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/AssociateConfigurationItemsToApplication
86func (c *ApplicationDiscoveryService) AssociateConfigurationItemsToApplication(input *AssociateConfigurationItemsToApplicationInput) (*AssociateConfigurationItemsToApplicationOutput, error) {
87	req, out := c.AssociateConfigurationItemsToApplicationRequest(input)
88	return out, req.Send()
89}
90
91// AssociateConfigurationItemsToApplicationWithContext is the same as AssociateConfigurationItemsToApplication with the addition of
92// the ability to pass a context and additional request options.
93//
94// See AssociateConfigurationItemsToApplication for details on how to use this API operation.
95//
96// The context must be non-nil and will be used for request cancellation. If
97// the context is nil a panic will occur. In the future the SDK may create
98// sub-contexts for http.Requests. See https://golang.org/pkg/context/
99// for more information on using Contexts.
100func (c *ApplicationDiscoveryService) AssociateConfigurationItemsToApplicationWithContext(ctx aws.Context, input *AssociateConfigurationItemsToApplicationInput, opts ...request.Option) (*AssociateConfigurationItemsToApplicationOutput, error) {
101	req, out := c.AssociateConfigurationItemsToApplicationRequest(input)
102	req.SetContext(ctx)
103	req.ApplyOptions(opts...)
104	return out, req.Send()
105}
106
107const opBatchDeleteImportData = "BatchDeleteImportData"
108
109// BatchDeleteImportDataRequest generates a "aws/request.Request" representing the
110// client's request for the BatchDeleteImportData operation. The "output" return
111// value will be populated with the request's response once the request completes
112// successfully.
113//
114// Use "Send" method on the returned Request to send the API call to the service.
115// the "output" return value is not valid until after Send returns without error.
116//
117// See BatchDeleteImportData for more information on using the BatchDeleteImportData
118// API call, and error handling.
119//
120// This method is useful when you want to inject custom logic or configuration
121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
122//
123//
124//    // Example sending a request using the BatchDeleteImportDataRequest method.
125//    req, resp := client.BatchDeleteImportDataRequest(params)
126//
127//    err := req.Send()
128//    if err == nil { // resp is now filled
129//        fmt.Println(resp)
130//    }
131//
132// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/BatchDeleteImportData
133func (c *ApplicationDiscoveryService) BatchDeleteImportDataRequest(input *BatchDeleteImportDataInput) (req *request.Request, output *BatchDeleteImportDataOutput) {
134	op := &request.Operation{
135		Name:       opBatchDeleteImportData,
136		HTTPMethod: "POST",
137		HTTPPath:   "/",
138	}
139
140	if input == nil {
141		input = &BatchDeleteImportDataInput{}
142	}
143
144	output = &BatchDeleteImportDataOutput{}
145	req = c.newRequest(op, input, output)
146	return
147}
148
149// BatchDeleteImportData API operation for AWS Application Discovery Service.
150//
151// Deletes one or more import tasks, each identified by their import ID. Each
152// import task has a number of records that can identify servers or applications.
153//
154// AWS Application Discovery Service has built-in matching logic that will identify
155// when discovered servers match existing entries that you've previously discovered,
156// the information for the already-existing discovered server is updated. When
157// you delete an import task that contains records that were used to match,
158// the information in those matched records that comes from the deleted records
159// will also be deleted.
160//
161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
162// with awserr.Error's Code and Message methods to get detailed information about
163// the error.
164//
165// See the AWS API reference guide for AWS Application Discovery Service's
166// API operation BatchDeleteImportData for usage and error information.
167//
168// Returned Error Codes:
169//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
170//   The AWS user account does not have permission to perform the action. Check
171//   the IAM policy associated with this account.
172//
173//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
174//   The value of one or more parameters are either invalid or out of range. Verify
175//   the parameter values and try again.
176//
177//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
178//   The server experienced an internal error. Try again.
179//
180// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/BatchDeleteImportData
181func (c *ApplicationDiscoveryService) BatchDeleteImportData(input *BatchDeleteImportDataInput) (*BatchDeleteImportDataOutput, error) {
182	req, out := c.BatchDeleteImportDataRequest(input)
183	return out, req.Send()
184}
185
186// BatchDeleteImportDataWithContext is the same as BatchDeleteImportData with the addition of
187// the ability to pass a context and additional request options.
188//
189// See BatchDeleteImportData for details on how to use this API operation.
190//
191// The context must be non-nil and will be used for request cancellation. If
192// the context is nil a panic will occur. In the future the SDK may create
193// sub-contexts for http.Requests. See https://golang.org/pkg/context/
194// for more information on using Contexts.
195func (c *ApplicationDiscoveryService) BatchDeleteImportDataWithContext(ctx aws.Context, input *BatchDeleteImportDataInput, opts ...request.Option) (*BatchDeleteImportDataOutput, error) {
196	req, out := c.BatchDeleteImportDataRequest(input)
197	req.SetContext(ctx)
198	req.ApplyOptions(opts...)
199	return out, req.Send()
200}
201
202const opCreateApplication = "CreateApplication"
203
204// CreateApplicationRequest generates a "aws/request.Request" representing the
205// client's request for the CreateApplication operation. The "output" return
206// value will be populated with the request's response once the request completes
207// successfully.
208//
209// Use "Send" method on the returned Request to send the API call to the service.
210// the "output" return value is not valid until after Send returns without error.
211//
212// See CreateApplication for more information on using the CreateApplication
213// API call, and error handling.
214//
215// This method is useful when you want to inject custom logic or configuration
216// into the SDK's request lifecycle. Such as custom headers, or retry logic.
217//
218//
219//    // Example sending a request using the CreateApplicationRequest method.
220//    req, resp := client.CreateApplicationRequest(params)
221//
222//    err := req.Send()
223//    if err == nil { // resp is now filled
224//        fmt.Println(resp)
225//    }
226//
227// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/CreateApplication
228func (c *ApplicationDiscoveryService) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *CreateApplicationOutput) {
229	op := &request.Operation{
230		Name:       opCreateApplication,
231		HTTPMethod: "POST",
232		HTTPPath:   "/",
233	}
234
235	if input == nil {
236		input = &CreateApplicationInput{}
237	}
238
239	output = &CreateApplicationOutput{}
240	req = c.newRequest(op, input, output)
241	return
242}
243
244// CreateApplication API operation for AWS Application Discovery Service.
245//
246// Creates an application with the given name and description.
247//
248// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
249// with awserr.Error's Code and Message methods to get detailed information about
250// the error.
251//
252// See the AWS API reference guide for AWS Application Discovery Service's
253// API operation CreateApplication for usage and error information.
254//
255// Returned Error Codes:
256//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
257//   The AWS user account does not have permission to perform the action. Check
258//   the IAM policy associated with this account.
259//
260//   * ErrCodeInvalidParameterException "InvalidParameterException"
261//   One or more parameters are not valid. Verify the parameters and try again.
262//
263//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
264//   The value of one or more parameters are either invalid or out of range. Verify
265//   the parameter values and try again.
266//
267//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
268//   The server experienced an internal error. Try again.
269//
270// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/CreateApplication
271func (c *ApplicationDiscoveryService) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) {
272	req, out := c.CreateApplicationRequest(input)
273	return out, req.Send()
274}
275
276// CreateApplicationWithContext is the same as CreateApplication with the addition of
277// the ability to pass a context and additional request options.
278//
279// See CreateApplication for details on how to use this API operation.
280//
281// The context must be non-nil and will be used for request cancellation. If
282// the context is nil a panic will occur. In the future the SDK may create
283// sub-contexts for http.Requests. See https://golang.org/pkg/context/
284// for more information on using Contexts.
285func (c *ApplicationDiscoveryService) CreateApplicationWithContext(ctx aws.Context, input *CreateApplicationInput, opts ...request.Option) (*CreateApplicationOutput, error) {
286	req, out := c.CreateApplicationRequest(input)
287	req.SetContext(ctx)
288	req.ApplyOptions(opts...)
289	return out, req.Send()
290}
291
292const opCreateTags = "CreateTags"
293
294// CreateTagsRequest generates a "aws/request.Request" representing the
295// client's request for the CreateTags operation. The "output" return
296// value will be populated with the request's response once the request completes
297// successfully.
298//
299// Use "Send" method on the returned Request to send the API call to the service.
300// the "output" return value is not valid until after Send returns without error.
301//
302// See CreateTags for more information on using the CreateTags
303// API call, and error handling.
304//
305// This method is useful when you want to inject custom logic or configuration
306// into the SDK's request lifecycle. Such as custom headers, or retry logic.
307//
308//
309//    // Example sending a request using the CreateTagsRequest method.
310//    req, resp := client.CreateTagsRequest(params)
311//
312//    err := req.Send()
313//    if err == nil { // resp is now filled
314//        fmt.Println(resp)
315//    }
316//
317// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/CreateTags
318func (c *ApplicationDiscoveryService) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
319	op := &request.Operation{
320		Name:       opCreateTags,
321		HTTPMethod: "POST",
322		HTTPPath:   "/",
323	}
324
325	if input == nil {
326		input = &CreateTagsInput{}
327	}
328
329	output = &CreateTagsOutput{}
330	req = c.newRequest(op, input, output)
331	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
332	return
333}
334
335// CreateTags API operation for AWS Application Discovery Service.
336//
337// Creates one or more tags for configuration items. Tags are metadata that
338// help you categorize IT assets. This API accepts a list of multiple configuration
339// items.
340//
341// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
342// with awserr.Error's Code and Message methods to get detailed information about
343// the error.
344//
345// See the AWS API reference guide for AWS Application Discovery Service's
346// API operation CreateTags for usage and error information.
347//
348// Returned Error Codes:
349//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
350//   The AWS user account does not have permission to perform the action. Check
351//   the IAM policy associated with this account.
352//
353//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
354//   The specified configuration ID was not located. Verify the configuration
355//   ID and try again.
356//
357//   * ErrCodeInvalidParameterException "InvalidParameterException"
358//   One or more parameters are not valid. Verify the parameters and try again.
359//
360//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
361//   The value of one or more parameters are either invalid or out of range. Verify
362//   the parameter values and try again.
363//
364//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
365//   The server experienced an internal error. Try again.
366//
367// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/CreateTags
368func (c *ApplicationDiscoveryService) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
369	req, out := c.CreateTagsRequest(input)
370	return out, req.Send()
371}
372
373// CreateTagsWithContext is the same as CreateTags with the addition of
374// the ability to pass a context and additional request options.
375//
376// See CreateTags for details on how to use this API operation.
377//
378// The context must be non-nil and will be used for request cancellation. If
379// the context is nil a panic will occur. In the future the SDK may create
380// sub-contexts for http.Requests. See https://golang.org/pkg/context/
381// for more information on using Contexts.
382func (c *ApplicationDiscoveryService) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
383	req, out := c.CreateTagsRequest(input)
384	req.SetContext(ctx)
385	req.ApplyOptions(opts...)
386	return out, req.Send()
387}
388
389const opDeleteApplications = "DeleteApplications"
390
391// DeleteApplicationsRequest generates a "aws/request.Request" representing the
392// client's request for the DeleteApplications operation. The "output" return
393// value will be populated with the request's response once the request completes
394// successfully.
395//
396// Use "Send" method on the returned Request to send the API call to the service.
397// the "output" return value is not valid until after Send returns without error.
398//
399// See DeleteApplications for more information on using the DeleteApplications
400// API call, and error handling.
401//
402// This method is useful when you want to inject custom logic or configuration
403// into the SDK's request lifecycle. Such as custom headers, or retry logic.
404//
405//
406//    // Example sending a request using the DeleteApplicationsRequest method.
407//    req, resp := client.DeleteApplicationsRequest(params)
408//
409//    err := req.Send()
410//    if err == nil { // resp is now filled
411//        fmt.Println(resp)
412//    }
413//
414// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DeleteApplications
415func (c *ApplicationDiscoveryService) DeleteApplicationsRequest(input *DeleteApplicationsInput) (req *request.Request, output *DeleteApplicationsOutput) {
416	op := &request.Operation{
417		Name:       opDeleteApplications,
418		HTTPMethod: "POST",
419		HTTPPath:   "/",
420	}
421
422	if input == nil {
423		input = &DeleteApplicationsInput{}
424	}
425
426	output = &DeleteApplicationsOutput{}
427	req = c.newRequest(op, input, output)
428	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
429	return
430}
431
432// DeleteApplications API operation for AWS Application Discovery Service.
433//
434// Deletes a list of applications and their associations with configuration
435// items.
436//
437// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
438// with awserr.Error's Code and Message methods to get detailed information about
439// the error.
440//
441// See the AWS API reference guide for AWS Application Discovery Service's
442// API operation DeleteApplications for usage and error information.
443//
444// Returned Error Codes:
445//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
446//   The AWS user account does not have permission to perform the action. Check
447//   the IAM policy associated with this account.
448//
449//   * ErrCodeInvalidParameterException "InvalidParameterException"
450//   One or more parameters are not valid. Verify the parameters and try again.
451//
452//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
453//   The value of one or more parameters are either invalid or out of range. Verify
454//   the parameter values and try again.
455//
456//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
457//   The server experienced an internal error. Try again.
458//
459// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DeleteApplications
460func (c *ApplicationDiscoveryService) DeleteApplications(input *DeleteApplicationsInput) (*DeleteApplicationsOutput, error) {
461	req, out := c.DeleteApplicationsRequest(input)
462	return out, req.Send()
463}
464
465// DeleteApplicationsWithContext is the same as DeleteApplications with the addition of
466// the ability to pass a context and additional request options.
467//
468// See DeleteApplications for details on how to use this API operation.
469//
470// The context must be non-nil and will be used for request cancellation. If
471// the context is nil a panic will occur. In the future the SDK may create
472// sub-contexts for http.Requests. See https://golang.org/pkg/context/
473// for more information on using Contexts.
474func (c *ApplicationDiscoveryService) DeleteApplicationsWithContext(ctx aws.Context, input *DeleteApplicationsInput, opts ...request.Option) (*DeleteApplicationsOutput, error) {
475	req, out := c.DeleteApplicationsRequest(input)
476	req.SetContext(ctx)
477	req.ApplyOptions(opts...)
478	return out, req.Send()
479}
480
481const opDeleteTags = "DeleteTags"
482
483// DeleteTagsRequest generates a "aws/request.Request" representing the
484// client's request for the DeleteTags operation. The "output" return
485// value will be populated with the request's response once the request completes
486// successfully.
487//
488// Use "Send" method on the returned Request to send the API call to the service.
489// the "output" return value is not valid until after Send returns without error.
490//
491// See DeleteTags for more information on using the DeleteTags
492// API call, and error handling.
493//
494// This method is useful when you want to inject custom logic or configuration
495// into the SDK's request lifecycle. Such as custom headers, or retry logic.
496//
497//
498//    // Example sending a request using the DeleteTagsRequest method.
499//    req, resp := client.DeleteTagsRequest(params)
500//
501//    err := req.Send()
502//    if err == nil { // resp is now filled
503//        fmt.Println(resp)
504//    }
505//
506// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DeleteTags
507func (c *ApplicationDiscoveryService) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
508	op := &request.Operation{
509		Name:       opDeleteTags,
510		HTTPMethod: "POST",
511		HTTPPath:   "/",
512	}
513
514	if input == nil {
515		input = &DeleteTagsInput{}
516	}
517
518	output = &DeleteTagsOutput{}
519	req = c.newRequest(op, input, output)
520	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
521	return
522}
523
524// DeleteTags API operation for AWS Application Discovery Service.
525//
526// Deletes the association between configuration items and one or more tags.
527// This API accepts a list of multiple configuration items.
528//
529// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
530// with awserr.Error's Code and Message methods to get detailed information about
531// the error.
532//
533// See the AWS API reference guide for AWS Application Discovery Service's
534// API operation DeleteTags for usage and error information.
535//
536// Returned Error Codes:
537//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
538//   The AWS user account does not have permission to perform the action. Check
539//   the IAM policy associated with this account.
540//
541//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
542//   The specified configuration ID was not located. Verify the configuration
543//   ID and try again.
544//
545//   * ErrCodeInvalidParameterException "InvalidParameterException"
546//   One or more parameters are not valid. Verify the parameters and try again.
547//
548//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
549//   The value of one or more parameters are either invalid or out of range. Verify
550//   the parameter values and try again.
551//
552//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
553//   The server experienced an internal error. Try again.
554//
555// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DeleteTags
556func (c *ApplicationDiscoveryService) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
557	req, out := c.DeleteTagsRequest(input)
558	return out, req.Send()
559}
560
561// DeleteTagsWithContext is the same as DeleteTags with the addition of
562// the ability to pass a context and additional request options.
563//
564// See DeleteTags for details on how to use this API operation.
565//
566// The context must be non-nil and will be used for request cancellation. If
567// the context is nil a panic will occur. In the future the SDK may create
568// sub-contexts for http.Requests. See https://golang.org/pkg/context/
569// for more information on using Contexts.
570func (c *ApplicationDiscoveryService) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
571	req, out := c.DeleteTagsRequest(input)
572	req.SetContext(ctx)
573	req.ApplyOptions(opts...)
574	return out, req.Send()
575}
576
577const opDescribeAgents = "DescribeAgents"
578
579// DescribeAgentsRequest generates a "aws/request.Request" representing the
580// client's request for the DescribeAgents operation. The "output" return
581// value will be populated with the request's response once the request completes
582// successfully.
583//
584// Use "Send" method on the returned Request to send the API call to the service.
585// the "output" return value is not valid until after Send returns without error.
586//
587// See DescribeAgents for more information on using the DescribeAgents
588// API call, and error handling.
589//
590// This method is useful when you want to inject custom logic or configuration
591// into the SDK's request lifecycle. Such as custom headers, or retry logic.
592//
593//
594//    // Example sending a request using the DescribeAgentsRequest method.
595//    req, resp := client.DescribeAgentsRequest(params)
596//
597//    err := req.Send()
598//    if err == nil { // resp is now filled
599//        fmt.Println(resp)
600//    }
601//
602// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeAgents
603func (c *ApplicationDiscoveryService) DescribeAgentsRequest(input *DescribeAgentsInput) (req *request.Request, output *DescribeAgentsOutput) {
604	op := &request.Operation{
605		Name:       opDescribeAgents,
606		HTTPMethod: "POST",
607		HTTPPath:   "/",
608	}
609
610	if input == nil {
611		input = &DescribeAgentsInput{}
612	}
613
614	output = &DescribeAgentsOutput{}
615	req = c.newRequest(op, input, output)
616	return
617}
618
619// DescribeAgents API operation for AWS Application Discovery Service.
620//
621// Lists agents or connectors as specified by ID or other filters. All agents/connectors
622// associated with your user account can be listed if you call DescribeAgents
623// as is without passing any parameters.
624//
625// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
626// with awserr.Error's Code and Message methods to get detailed information about
627// the error.
628//
629// See the AWS API reference guide for AWS Application Discovery Service's
630// API operation DescribeAgents for usage and error information.
631//
632// Returned Error Codes:
633//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
634//   The AWS user account does not have permission to perform the action. Check
635//   the IAM policy associated with this account.
636//
637//   * ErrCodeInvalidParameterException "InvalidParameterException"
638//   One or more parameters are not valid. Verify the parameters and try again.
639//
640//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
641//   The value of one or more parameters are either invalid or out of range. Verify
642//   the parameter values and try again.
643//
644//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
645//   The server experienced an internal error. Try again.
646//
647// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeAgents
648func (c *ApplicationDiscoveryService) DescribeAgents(input *DescribeAgentsInput) (*DescribeAgentsOutput, error) {
649	req, out := c.DescribeAgentsRequest(input)
650	return out, req.Send()
651}
652
653// DescribeAgentsWithContext is the same as DescribeAgents with the addition of
654// the ability to pass a context and additional request options.
655//
656// See DescribeAgents for details on how to use this API operation.
657//
658// The context must be non-nil and will be used for request cancellation. If
659// the context is nil a panic will occur. In the future the SDK may create
660// sub-contexts for http.Requests. See https://golang.org/pkg/context/
661// for more information on using Contexts.
662func (c *ApplicationDiscoveryService) DescribeAgentsWithContext(ctx aws.Context, input *DescribeAgentsInput, opts ...request.Option) (*DescribeAgentsOutput, error) {
663	req, out := c.DescribeAgentsRequest(input)
664	req.SetContext(ctx)
665	req.ApplyOptions(opts...)
666	return out, req.Send()
667}
668
669const opDescribeConfigurations = "DescribeConfigurations"
670
671// DescribeConfigurationsRequest generates a "aws/request.Request" representing the
672// client's request for the DescribeConfigurations operation. The "output" return
673// value will be populated with the request's response once the request completes
674// successfully.
675//
676// Use "Send" method on the returned Request to send the API call to the service.
677// the "output" return value is not valid until after Send returns without error.
678//
679// See DescribeConfigurations for more information on using the DescribeConfigurations
680// API call, and error handling.
681//
682// This method is useful when you want to inject custom logic or configuration
683// into the SDK's request lifecycle. Such as custom headers, or retry logic.
684//
685//
686//    // Example sending a request using the DescribeConfigurationsRequest method.
687//    req, resp := client.DescribeConfigurationsRequest(params)
688//
689//    err := req.Send()
690//    if err == nil { // resp is now filled
691//        fmt.Println(resp)
692//    }
693//
694// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeConfigurations
695func (c *ApplicationDiscoveryService) DescribeConfigurationsRequest(input *DescribeConfigurationsInput) (req *request.Request, output *DescribeConfigurationsOutput) {
696	op := &request.Operation{
697		Name:       opDescribeConfigurations,
698		HTTPMethod: "POST",
699		HTTPPath:   "/",
700	}
701
702	if input == nil {
703		input = &DescribeConfigurationsInput{}
704	}
705
706	output = &DescribeConfigurationsOutput{}
707	req = c.newRequest(op, input, output)
708	return
709}
710
711// DescribeConfigurations API operation for AWS Application Discovery Service.
712//
713// Retrieves attributes for a list of configuration item IDs.
714//
715// All of the supplied IDs must be for the same asset type from one of the following:
716//
717//    * server
718//
719//    * application
720//
721//    * process
722//
723//    * connection
724//
725// Output fields are specific to the asset type specified. For example, the
726// output for a server configuration item includes a list of attributes about
727// the server, such as host name, operating system, number of network cards,
728// etc.
729//
730// For a complete list of outputs for each asset type, see Using the DescribeConfigurations
731// Action (http://docs.aws.amazon.com/application-discovery/latest/APIReference/discovery-api-queries.html#DescribeConfigurations).
732//
733// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
734// with awserr.Error's Code and Message methods to get detailed information about
735// the error.
736//
737// See the AWS API reference guide for AWS Application Discovery Service's
738// API operation DescribeConfigurations for usage and error information.
739//
740// Returned Error Codes:
741//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
742//   The AWS user account does not have permission to perform the action. Check
743//   the IAM policy associated with this account.
744//
745//   * ErrCodeInvalidParameterException "InvalidParameterException"
746//   One or more parameters are not valid. Verify the parameters and try again.
747//
748//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
749//   The value of one or more parameters are either invalid or out of range. Verify
750//   the parameter values and try again.
751//
752//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
753//   The server experienced an internal error. Try again.
754//
755// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeConfigurations
756func (c *ApplicationDiscoveryService) DescribeConfigurations(input *DescribeConfigurationsInput) (*DescribeConfigurationsOutput, error) {
757	req, out := c.DescribeConfigurationsRequest(input)
758	return out, req.Send()
759}
760
761// DescribeConfigurationsWithContext is the same as DescribeConfigurations with the addition of
762// the ability to pass a context and additional request options.
763//
764// See DescribeConfigurations for details on how to use this API operation.
765//
766// The context must be non-nil and will be used for request cancellation. If
767// the context is nil a panic will occur. In the future the SDK may create
768// sub-contexts for http.Requests. See https://golang.org/pkg/context/
769// for more information on using Contexts.
770func (c *ApplicationDiscoveryService) DescribeConfigurationsWithContext(ctx aws.Context, input *DescribeConfigurationsInput, opts ...request.Option) (*DescribeConfigurationsOutput, error) {
771	req, out := c.DescribeConfigurationsRequest(input)
772	req.SetContext(ctx)
773	req.ApplyOptions(opts...)
774	return out, req.Send()
775}
776
777const opDescribeContinuousExports = "DescribeContinuousExports"
778
779// DescribeContinuousExportsRequest generates a "aws/request.Request" representing the
780// client's request for the DescribeContinuousExports operation. The "output" return
781// value will be populated with the request's response once the request completes
782// successfully.
783//
784// Use "Send" method on the returned Request to send the API call to the service.
785// the "output" return value is not valid until after Send returns without error.
786//
787// See DescribeContinuousExports for more information on using the DescribeContinuousExports
788// API call, and error handling.
789//
790// This method is useful when you want to inject custom logic or configuration
791// into the SDK's request lifecycle. Such as custom headers, or retry logic.
792//
793//
794//    // Example sending a request using the DescribeContinuousExportsRequest method.
795//    req, resp := client.DescribeContinuousExportsRequest(params)
796//
797//    err := req.Send()
798//    if err == nil { // resp is now filled
799//        fmt.Println(resp)
800//    }
801//
802// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeContinuousExports
803func (c *ApplicationDiscoveryService) DescribeContinuousExportsRequest(input *DescribeContinuousExportsInput) (req *request.Request, output *DescribeContinuousExportsOutput) {
804	op := &request.Operation{
805		Name:       opDescribeContinuousExports,
806		HTTPMethod: "POST",
807		HTTPPath:   "/",
808		Paginator: &request.Paginator{
809			InputTokens:     []string{"nextToken"},
810			OutputTokens:    []string{"nextToken"},
811			LimitToken:      "maxResults",
812			TruncationToken: "",
813		},
814	}
815
816	if input == nil {
817		input = &DescribeContinuousExportsInput{}
818	}
819
820	output = &DescribeContinuousExportsOutput{}
821	req = c.newRequest(op, input, output)
822	return
823}
824
825// DescribeContinuousExports API operation for AWS Application Discovery Service.
826//
827// Lists exports as specified by ID. All continuous exports associated with
828// your user account can be listed if you call DescribeContinuousExports as
829// is without passing any parameters.
830//
831// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
832// with awserr.Error's Code and Message methods to get detailed information about
833// the error.
834//
835// See the AWS API reference guide for AWS Application Discovery Service's
836// API operation DescribeContinuousExports for usage and error information.
837//
838// Returned Error Codes:
839//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
840//   The AWS user account does not have permission to perform the action. Check
841//   the IAM policy associated with this account.
842//
843//   * ErrCodeInvalidParameterException "InvalidParameterException"
844//   One or more parameters are not valid. Verify the parameters and try again.
845//
846//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
847//   The value of one or more parameters are either invalid or out of range. Verify
848//   the parameter values and try again.
849//
850//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
851//   The server experienced an internal error. Try again.
852//
853//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
854//   This operation is not permitted.
855//
856//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
857//   The specified configuration ID was not located. Verify the configuration
858//   ID and try again.
859//
860// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeContinuousExports
861func (c *ApplicationDiscoveryService) DescribeContinuousExports(input *DescribeContinuousExportsInput) (*DescribeContinuousExportsOutput, error) {
862	req, out := c.DescribeContinuousExportsRequest(input)
863	return out, req.Send()
864}
865
866// DescribeContinuousExportsWithContext is the same as DescribeContinuousExports with the addition of
867// the ability to pass a context and additional request options.
868//
869// See DescribeContinuousExports for details on how to use this API operation.
870//
871// The context must be non-nil and will be used for request cancellation. If
872// the context is nil a panic will occur. In the future the SDK may create
873// sub-contexts for http.Requests. See https://golang.org/pkg/context/
874// for more information on using Contexts.
875func (c *ApplicationDiscoveryService) DescribeContinuousExportsWithContext(ctx aws.Context, input *DescribeContinuousExportsInput, opts ...request.Option) (*DescribeContinuousExportsOutput, error) {
876	req, out := c.DescribeContinuousExportsRequest(input)
877	req.SetContext(ctx)
878	req.ApplyOptions(opts...)
879	return out, req.Send()
880}
881
882// DescribeContinuousExportsPages iterates over the pages of a DescribeContinuousExports operation,
883// calling the "fn" function with the response data for each page. To stop
884// iterating, return false from the fn function.
885//
886// See DescribeContinuousExports method for more information on how to use this operation.
887//
888// Note: This operation can generate multiple requests to a service.
889//
890//    // Example iterating over at most 3 pages of a DescribeContinuousExports operation.
891//    pageNum := 0
892//    err := client.DescribeContinuousExportsPages(params,
893//        func(page *applicationdiscoveryservice.DescribeContinuousExportsOutput, lastPage bool) bool {
894//            pageNum++
895//            fmt.Println(page)
896//            return pageNum <= 3
897//        })
898//
899func (c *ApplicationDiscoveryService) DescribeContinuousExportsPages(input *DescribeContinuousExportsInput, fn func(*DescribeContinuousExportsOutput, bool) bool) error {
900	return c.DescribeContinuousExportsPagesWithContext(aws.BackgroundContext(), input, fn)
901}
902
903// DescribeContinuousExportsPagesWithContext same as DescribeContinuousExportsPages except
904// it takes a Context and allows setting request options on the pages.
905//
906// The context must be non-nil and will be used for request cancellation. If
907// the context is nil a panic will occur. In the future the SDK may create
908// sub-contexts for http.Requests. See https://golang.org/pkg/context/
909// for more information on using Contexts.
910func (c *ApplicationDiscoveryService) DescribeContinuousExportsPagesWithContext(ctx aws.Context, input *DescribeContinuousExportsInput, fn func(*DescribeContinuousExportsOutput, bool) bool, opts ...request.Option) error {
911	p := request.Pagination{
912		NewRequest: func() (*request.Request, error) {
913			var inCpy *DescribeContinuousExportsInput
914			if input != nil {
915				tmp := *input
916				inCpy = &tmp
917			}
918			req, _ := c.DescribeContinuousExportsRequest(inCpy)
919			req.SetContext(ctx)
920			req.ApplyOptions(opts...)
921			return req, nil
922		},
923	}
924
925	cont := true
926	for p.Next() && cont {
927		cont = fn(p.Page().(*DescribeContinuousExportsOutput), !p.HasNextPage())
928	}
929	return p.Err()
930}
931
932const opDescribeExportConfigurations = "DescribeExportConfigurations"
933
934// DescribeExportConfigurationsRequest generates a "aws/request.Request" representing the
935// client's request for the DescribeExportConfigurations operation. The "output" return
936// value will be populated with the request's response once the request completes
937// successfully.
938//
939// Use "Send" method on the returned Request to send the API call to the service.
940// the "output" return value is not valid until after Send returns without error.
941//
942// See DescribeExportConfigurations for more information on using the DescribeExportConfigurations
943// API call, and error handling.
944//
945// This method is useful when you want to inject custom logic or configuration
946// into the SDK's request lifecycle. Such as custom headers, or retry logic.
947//
948//
949//    // Example sending a request using the DescribeExportConfigurationsRequest method.
950//    req, resp := client.DescribeExportConfigurationsRequest(params)
951//
952//    err := req.Send()
953//    if err == nil { // resp is now filled
954//        fmt.Println(resp)
955//    }
956//
957// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeExportConfigurations
958//
959// Deprecated: DescribeExportConfigurations has been deprecated
960func (c *ApplicationDiscoveryService) DescribeExportConfigurationsRequest(input *DescribeExportConfigurationsInput) (req *request.Request, output *DescribeExportConfigurationsOutput) {
961	if c.Client.Config.Logger != nil {
962		c.Client.Config.Logger.Log("This operation, DescribeExportConfigurations, has been deprecated")
963	}
964	op := &request.Operation{
965		Name:       opDescribeExportConfigurations,
966		HTTPMethod: "POST",
967		HTTPPath:   "/",
968	}
969
970	if input == nil {
971		input = &DescribeExportConfigurationsInput{}
972	}
973
974	output = &DescribeExportConfigurationsOutput{}
975	req = c.newRequest(op, input, output)
976	return
977}
978
979// DescribeExportConfigurations API operation for AWS Application Discovery Service.
980//
981// DescribeExportConfigurations is deprecated. Use DescribeImportTasks (https://docs.aws.amazon.com/application-discovery/latest/APIReference/API_DescribeExportTasks.html),
982// instead.
983//
984// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
985// with awserr.Error's Code and Message methods to get detailed information about
986// the error.
987//
988// See the AWS API reference guide for AWS Application Discovery Service's
989// API operation DescribeExportConfigurations for usage and error information.
990//
991// Returned Error Codes:
992//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
993//   The AWS user account does not have permission to perform the action. Check
994//   the IAM policy associated with this account.
995//
996//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
997//   The specified configuration ID was not located. Verify the configuration
998//   ID and try again.
999//
1000//   * ErrCodeInvalidParameterException "InvalidParameterException"
1001//   One or more parameters are not valid. Verify the parameters and try again.
1002//
1003//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1004//   The value of one or more parameters are either invalid or out of range. Verify
1005//   the parameter values and try again.
1006//
1007//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
1008//   The server experienced an internal error. Try again.
1009//
1010// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeExportConfigurations
1011//
1012// Deprecated: DescribeExportConfigurations has been deprecated
1013func (c *ApplicationDiscoveryService) DescribeExportConfigurations(input *DescribeExportConfigurationsInput) (*DescribeExportConfigurationsOutput, error) {
1014	req, out := c.DescribeExportConfigurationsRequest(input)
1015	return out, req.Send()
1016}
1017
1018// DescribeExportConfigurationsWithContext is the same as DescribeExportConfigurations with the addition of
1019// the ability to pass a context and additional request options.
1020//
1021// See DescribeExportConfigurations for details on how to use this API operation.
1022//
1023// The context must be non-nil and will be used for request cancellation. If
1024// the context is nil a panic will occur. In the future the SDK may create
1025// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1026// for more information on using Contexts.
1027//
1028// Deprecated: DescribeExportConfigurationsWithContext has been deprecated
1029func (c *ApplicationDiscoveryService) DescribeExportConfigurationsWithContext(ctx aws.Context, input *DescribeExportConfigurationsInput, opts ...request.Option) (*DescribeExportConfigurationsOutput, error) {
1030	req, out := c.DescribeExportConfigurationsRequest(input)
1031	req.SetContext(ctx)
1032	req.ApplyOptions(opts...)
1033	return out, req.Send()
1034}
1035
1036const opDescribeExportTasks = "DescribeExportTasks"
1037
1038// DescribeExportTasksRequest generates a "aws/request.Request" representing the
1039// client's request for the DescribeExportTasks operation. The "output" return
1040// value will be populated with the request's response once the request completes
1041// successfully.
1042//
1043// Use "Send" method on the returned Request to send the API call to the service.
1044// the "output" return value is not valid until after Send returns without error.
1045//
1046// See DescribeExportTasks for more information on using the DescribeExportTasks
1047// API call, and error handling.
1048//
1049// This method is useful when you want to inject custom logic or configuration
1050// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1051//
1052//
1053//    // Example sending a request using the DescribeExportTasksRequest method.
1054//    req, resp := client.DescribeExportTasksRequest(params)
1055//
1056//    err := req.Send()
1057//    if err == nil { // resp is now filled
1058//        fmt.Println(resp)
1059//    }
1060//
1061// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeExportTasks
1062func (c *ApplicationDiscoveryService) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
1063	op := &request.Operation{
1064		Name:       opDescribeExportTasks,
1065		HTTPMethod: "POST",
1066		HTTPPath:   "/",
1067	}
1068
1069	if input == nil {
1070		input = &DescribeExportTasksInput{}
1071	}
1072
1073	output = &DescribeExportTasksOutput{}
1074	req = c.newRequest(op, input, output)
1075	return
1076}
1077
1078// DescribeExportTasks API operation for AWS Application Discovery Service.
1079//
1080// Retrieve status of one or more export tasks. You can retrieve the status
1081// of up to 100 export tasks.
1082//
1083// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1084// with awserr.Error's Code and Message methods to get detailed information about
1085// the error.
1086//
1087// See the AWS API reference guide for AWS Application Discovery Service's
1088// API operation DescribeExportTasks for usage and error information.
1089//
1090// Returned Error Codes:
1091//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
1092//   The AWS user account does not have permission to perform the action. Check
1093//   the IAM policy associated with this account.
1094//
1095//   * ErrCodeInvalidParameterException "InvalidParameterException"
1096//   One or more parameters are not valid. Verify the parameters and try again.
1097//
1098//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1099//   The value of one or more parameters are either invalid or out of range. Verify
1100//   the parameter values and try again.
1101//
1102//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
1103//   The server experienced an internal error. Try again.
1104//
1105// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeExportTasks
1106func (c *ApplicationDiscoveryService) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
1107	req, out := c.DescribeExportTasksRequest(input)
1108	return out, req.Send()
1109}
1110
1111// DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
1112// the ability to pass a context and additional request options.
1113//
1114// See DescribeExportTasks for details on how to use this API operation.
1115//
1116// The context must be non-nil and will be used for request cancellation. If
1117// the context is nil a panic will occur. In the future the SDK may create
1118// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1119// for more information on using Contexts.
1120func (c *ApplicationDiscoveryService) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
1121	req, out := c.DescribeExportTasksRequest(input)
1122	req.SetContext(ctx)
1123	req.ApplyOptions(opts...)
1124	return out, req.Send()
1125}
1126
1127const opDescribeImportTasks = "DescribeImportTasks"
1128
1129// DescribeImportTasksRequest generates a "aws/request.Request" representing the
1130// client's request for the DescribeImportTasks operation. The "output" return
1131// value will be populated with the request's response once the request completes
1132// successfully.
1133//
1134// Use "Send" method on the returned Request to send the API call to the service.
1135// the "output" return value is not valid until after Send returns without error.
1136//
1137// See DescribeImportTasks for more information on using the DescribeImportTasks
1138// API call, and error handling.
1139//
1140// This method is useful when you want to inject custom logic or configuration
1141// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1142//
1143//
1144//    // Example sending a request using the DescribeImportTasksRequest method.
1145//    req, resp := client.DescribeImportTasksRequest(params)
1146//
1147//    err := req.Send()
1148//    if err == nil { // resp is now filled
1149//        fmt.Println(resp)
1150//    }
1151//
1152// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeImportTasks
1153func (c *ApplicationDiscoveryService) DescribeImportTasksRequest(input *DescribeImportTasksInput) (req *request.Request, output *DescribeImportTasksOutput) {
1154	op := &request.Operation{
1155		Name:       opDescribeImportTasks,
1156		HTTPMethod: "POST",
1157		HTTPPath:   "/",
1158		Paginator: &request.Paginator{
1159			InputTokens:     []string{"nextToken"},
1160			OutputTokens:    []string{"nextToken"},
1161			LimitToken:      "maxResults",
1162			TruncationToken: "",
1163		},
1164	}
1165
1166	if input == nil {
1167		input = &DescribeImportTasksInput{}
1168	}
1169
1170	output = &DescribeImportTasksOutput{}
1171	req = c.newRequest(op, input, output)
1172	return
1173}
1174
1175// DescribeImportTasks API operation for AWS Application Discovery Service.
1176//
1177// Returns an array of import tasks for your account, including status information,
1178// times, IDs, the Amazon S3 Object URL for the import file, and more.
1179//
1180// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1181// with awserr.Error's Code and Message methods to get detailed information about
1182// the error.
1183//
1184// See the AWS API reference guide for AWS Application Discovery Service's
1185// API operation DescribeImportTasks for usage and error information.
1186//
1187// Returned Error Codes:
1188//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
1189//   The AWS user account does not have permission to perform the action. Check
1190//   the IAM policy associated with this account.
1191//
1192//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1193//   The value of one or more parameters are either invalid or out of range. Verify
1194//   the parameter values and try again.
1195//
1196//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
1197//   The server experienced an internal error. Try again.
1198//
1199// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeImportTasks
1200func (c *ApplicationDiscoveryService) DescribeImportTasks(input *DescribeImportTasksInput) (*DescribeImportTasksOutput, error) {
1201	req, out := c.DescribeImportTasksRequest(input)
1202	return out, req.Send()
1203}
1204
1205// DescribeImportTasksWithContext is the same as DescribeImportTasks with the addition of
1206// the ability to pass a context and additional request options.
1207//
1208// See DescribeImportTasks for details on how to use this API operation.
1209//
1210// The context must be non-nil and will be used for request cancellation. If
1211// the context is nil a panic will occur. In the future the SDK may create
1212// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1213// for more information on using Contexts.
1214func (c *ApplicationDiscoveryService) DescribeImportTasksWithContext(ctx aws.Context, input *DescribeImportTasksInput, opts ...request.Option) (*DescribeImportTasksOutput, error) {
1215	req, out := c.DescribeImportTasksRequest(input)
1216	req.SetContext(ctx)
1217	req.ApplyOptions(opts...)
1218	return out, req.Send()
1219}
1220
1221// DescribeImportTasksPages iterates over the pages of a DescribeImportTasks operation,
1222// calling the "fn" function with the response data for each page. To stop
1223// iterating, return false from the fn function.
1224//
1225// See DescribeImportTasks method for more information on how to use this operation.
1226//
1227// Note: This operation can generate multiple requests to a service.
1228//
1229//    // Example iterating over at most 3 pages of a DescribeImportTasks operation.
1230//    pageNum := 0
1231//    err := client.DescribeImportTasksPages(params,
1232//        func(page *applicationdiscoveryservice.DescribeImportTasksOutput, lastPage bool) bool {
1233//            pageNum++
1234//            fmt.Println(page)
1235//            return pageNum <= 3
1236//        })
1237//
1238func (c *ApplicationDiscoveryService) DescribeImportTasksPages(input *DescribeImportTasksInput, fn func(*DescribeImportTasksOutput, bool) bool) error {
1239	return c.DescribeImportTasksPagesWithContext(aws.BackgroundContext(), input, fn)
1240}
1241
1242// DescribeImportTasksPagesWithContext same as DescribeImportTasksPages except
1243// it takes a Context and allows setting request options on the pages.
1244//
1245// The context must be non-nil and will be used for request cancellation. If
1246// the context is nil a panic will occur. In the future the SDK may create
1247// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1248// for more information on using Contexts.
1249func (c *ApplicationDiscoveryService) DescribeImportTasksPagesWithContext(ctx aws.Context, input *DescribeImportTasksInput, fn func(*DescribeImportTasksOutput, bool) bool, opts ...request.Option) error {
1250	p := request.Pagination{
1251		NewRequest: func() (*request.Request, error) {
1252			var inCpy *DescribeImportTasksInput
1253			if input != nil {
1254				tmp := *input
1255				inCpy = &tmp
1256			}
1257			req, _ := c.DescribeImportTasksRequest(inCpy)
1258			req.SetContext(ctx)
1259			req.ApplyOptions(opts...)
1260			return req, nil
1261		},
1262	}
1263
1264	cont := true
1265	for p.Next() && cont {
1266		cont = fn(p.Page().(*DescribeImportTasksOutput), !p.HasNextPage())
1267	}
1268	return p.Err()
1269}
1270
1271const opDescribeTags = "DescribeTags"
1272
1273// DescribeTagsRequest generates a "aws/request.Request" representing the
1274// client's request for the DescribeTags operation. The "output" return
1275// value will be populated with the request's response once the request completes
1276// successfully.
1277//
1278// Use "Send" method on the returned Request to send the API call to the service.
1279// the "output" return value is not valid until after Send returns without error.
1280//
1281// See DescribeTags for more information on using the DescribeTags
1282// API call, and error handling.
1283//
1284// This method is useful when you want to inject custom logic or configuration
1285// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1286//
1287//
1288//    // Example sending a request using the DescribeTagsRequest method.
1289//    req, resp := client.DescribeTagsRequest(params)
1290//
1291//    err := req.Send()
1292//    if err == nil { // resp is now filled
1293//        fmt.Println(resp)
1294//    }
1295//
1296// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeTags
1297func (c *ApplicationDiscoveryService) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
1298	op := &request.Operation{
1299		Name:       opDescribeTags,
1300		HTTPMethod: "POST",
1301		HTTPPath:   "/",
1302	}
1303
1304	if input == nil {
1305		input = &DescribeTagsInput{}
1306	}
1307
1308	output = &DescribeTagsOutput{}
1309	req = c.newRequest(op, input, output)
1310	return
1311}
1312
1313// DescribeTags API operation for AWS Application Discovery Service.
1314//
1315// Retrieves a list of configuration items that have tags as specified by the
1316// key-value pairs, name and value, passed to the optional parameter filters.
1317//
1318// There are three valid tag filter names:
1319//
1320//    * tagKey
1321//
1322//    * tagValue
1323//
1324//    * configurationId
1325//
1326// Also, all configuration items associated with your user account that have
1327// tags can be listed if you call DescribeTags as is without passing any parameters.
1328//
1329// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1330// with awserr.Error's Code and Message methods to get detailed information about
1331// the error.
1332//
1333// See the AWS API reference guide for AWS Application Discovery Service's
1334// API operation DescribeTags for usage and error information.
1335//
1336// Returned Error Codes:
1337//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
1338//   The AWS user account does not have permission to perform the action. Check
1339//   the IAM policy associated with this account.
1340//
1341//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1342//   The specified configuration ID was not located. Verify the configuration
1343//   ID and try again.
1344//
1345//   * ErrCodeInvalidParameterException "InvalidParameterException"
1346//   One or more parameters are not valid. Verify the parameters and try again.
1347//
1348//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1349//   The value of one or more parameters are either invalid or out of range. Verify
1350//   the parameter values and try again.
1351//
1352//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
1353//   The server experienced an internal error. Try again.
1354//
1355// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DescribeTags
1356func (c *ApplicationDiscoveryService) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
1357	req, out := c.DescribeTagsRequest(input)
1358	return out, req.Send()
1359}
1360
1361// DescribeTagsWithContext is the same as DescribeTags with the addition of
1362// the ability to pass a context and additional request options.
1363//
1364// See DescribeTags for details on how to use this API operation.
1365//
1366// The context must be non-nil and will be used for request cancellation. If
1367// the context is nil a panic will occur. In the future the SDK may create
1368// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1369// for more information on using Contexts.
1370func (c *ApplicationDiscoveryService) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
1371	req, out := c.DescribeTagsRequest(input)
1372	req.SetContext(ctx)
1373	req.ApplyOptions(opts...)
1374	return out, req.Send()
1375}
1376
1377const opDisassociateConfigurationItemsFromApplication = "DisassociateConfigurationItemsFromApplication"
1378
1379// DisassociateConfigurationItemsFromApplicationRequest generates a "aws/request.Request" representing the
1380// client's request for the DisassociateConfigurationItemsFromApplication operation. The "output" return
1381// value will be populated with the request's response once the request completes
1382// successfully.
1383//
1384// Use "Send" method on the returned Request to send the API call to the service.
1385// the "output" return value is not valid until after Send returns without error.
1386//
1387// See DisassociateConfigurationItemsFromApplication for more information on using the DisassociateConfigurationItemsFromApplication
1388// API call, and error handling.
1389//
1390// This method is useful when you want to inject custom logic or configuration
1391// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1392//
1393//
1394//    // Example sending a request using the DisassociateConfigurationItemsFromApplicationRequest method.
1395//    req, resp := client.DisassociateConfigurationItemsFromApplicationRequest(params)
1396//
1397//    err := req.Send()
1398//    if err == nil { // resp is now filled
1399//        fmt.Println(resp)
1400//    }
1401//
1402// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DisassociateConfigurationItemsFromApplication
1403func (c *ApplicationDiscoveryService) DisassociateConfigurationItemsFromApplicationRequest(input *DisassociateConfigurationItemsFromApplicationInput) (req *request.Request, output *DisassociateConfigurationItemsFromApplicationOutput) {
1404	op := &request.Operation{
1405		Name:       opDisassociateConfigurationItemsFromApplication,
1406		HTTPMethod: "POST",
1407		HTTPPath:   "/",
1408	}
1409
1410	if input == nil {
1411		input = &DisassociateConfigurationItemsFromApplicationInput{}
1412	}
1413
1414	output = &DisassociateConfigurationItemsFromApplicationOutput{}
1415	req = c.newRequest(op, input, output)
1416	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1417	return
1418}
1419
1420// DisassociateConfigurationItemsFromApplication API operation for AWS Application Discovery Service.
1421//
1422// Disassociates one or more configuration items from an application.
1423//
1424// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1425// with awserr.Error's Code and Message methods to get detailed information about
1426// the error.
1427//
1428// See the AWS API reference guide for AWS Application Discovery Service's
1429// API operation DisassociateConfigurationItemsFromApplication for usage and error information.
1430//
1431// Returned Error Codes:
1432//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
1433//   The AWS user account does not have permission to perform the action. Check
1434//   the IAM policy associated with this account.
1435//
1436//   * ErrCodeInvalidParameterException "InvalidParameterException"
1437//   One or more parameters are not valid. Verify the parameters and try again.
1438//
1439//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1440//   The value of one or more parameters are either invalid or out of range. Verify
1441//   the parameter values and try again.
1442//
1443//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
1444//   The server experienced an internal error. Try again.
1445//
1446// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/DisassociateConfigurationItemsFromApplication
1447func (c *ApplicationDiscoveryService) DisassociateConfigurationItemsFromApplication(input *DisassociateConfigurationItemsFromApplicationInput) (*DisassociateConfigurationItemsFromApplicationOutput, error) {
1448	req, out := c.DisassociateConfigurationItemsFromApplicationRequest(input)
1449	return out, req.Send()
1450}
1451
1452// DisassociateConfigurationItemsFromApplicationWithContext is the same as DisassociateConfigurationItemsFromApplication with the addition of
1453// the ability to pass a context and additional request options.
1454//
1455// See DisassociateConfigurationItemsFromApplication for details on how to use this API operation.
1456//
1457// The context must be non-nil and will be used for request cancellation. If
1458// the context is nil a panic will occur. In the future the SDK may create
1459// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1460// for more information on using Contexts.
1461func (c *ApplicationDiscoveryService) DisassociateConfigurationItemsFromApplicationWithContext(ctx aws.Context, input *DisassociateConfigurationItemsFromApplicationInput, opts ...request.Option) (*DisassociateConfigurationItemsFromApplicationOutput, error) {
1462	req, out := c.DisassociateConfigurationItemsFromApplicationRequest(input)
1463	req.SetContext(ctx)
1464	req.ApplyOptions(opts...)
1465	return out, req.Send()
1466}
1467
1468const opExportConfigurations = "ExportConfigurations"
1469
1470// ExportConfigurationsRequest generates a "aws/request.Request" representing the
1471// client's request for the ExportConfigurations operation. The "output" return
1472// value will be populated with the request's response once the request completes
1473// successfully.
1474//
1475// Use "Send" method on the returned Request to send the API call to the service.
1476// the "output" return value is not valid until after Send returns without error.
1477//
1478// See ExportConfigurations for more information on using the ExportConfigurations
1479// API call, and error handling.
1480//
1481// This method is useful when you want to inject custom logic or configuration
1482// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1483//
1484//
1485//    // Example sending a request using the ExportConfigurationsRequest method.
1486//    req, resp := client.ExportConfigurationsRequest(params)
1487//
1488//    err := req.Send()
1489//    if err == nil { // resp is now filled
1490//        fmt.Println(resp)
1491//    }
1492//
1493// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/ExportConfigurations
1494//
1495// Deprecated: ExportConfigurations has been deprecated
1496func (c *ApplicationDiscoveryService) ExportConfigurationsRequest(input *ExportConfigurationsInput) (req *request.Request, output *ExportConfigurationsOutput) {
1497	if c.Client.Config.Logger != nil {
1498		c.Client.Config.Logger.Log("This operation, ExportConfigurations, has been deprecated")
1499	}
1500	op := &request.Operation{
1501		Name:       opExportConfigurations,
1502		HTTPMethod: "POST",
1503		HTTPPath:   "/",
1504	}
1505
1506	if input == nil {
1507		input = &ExportConfigurationsInput{}
1508	}
1509
1510	output = &ExportConfigurationsOutput{}
1511	req = c.newRequest(op, input, output)
1512	return
1513}
1514
1515// ExportConfigurations API operation for AWS Application Discovery Service.
1516//
1517// Deprecated. Use StartExportTask instead.
1518//
1519// Exports all discovered configuration data to an Amazon S3 bucket or an application
1520// that enables you to view and evaluate the data. Data includes tags and tag
1521// associations, processes, connections, servers, and system performance. This
1522// API returns an export ID that you can query using the DescribeExportConfigurations
1523// API. The system imposes a limit of two configuration exports in six hours.
1524//
1525// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1526// with awserr.Error's Code and Message methods to get detailed information about
1527// the error.
1528//
1529// See the AWS API reference guide for AWS Application Discovery Service's
1530// API operation ExportConfigurations for usage and error information.
1531//
1532// Returned Error Codes:
1533//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
1534//   The AWS user account does not have permission to perform the action. Check
1535//   the IAM policy associated with this account.
1536//
1537//   * ErrCodeInvalidParameterException "InvalidParameterException"
1538//   One or more parameters are not valid. Verify the parameters and try again.
1539//
1540//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1541//   The value of one or more parameters are either invalid or out of range. Verify
1542//   the parameter values and try again.
1543//
1544//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
1545//   The server experienced an internal error. Try again.
1546//
1547//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
1548//   This operation is not permitted.
1549//
1550// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/ExportConfigurations
1551//
1552// Deprecated: ExportConfigurations has been deprecated
1553func (c *ApplicationDiscoveryService) ExportConfigurations(input *ExportConfigurationsInput) (*ExportConfigurationsOutput, error) {
1554	req, out := c.ExportConfigurationsRequest(input)
1555	return out, req.Send()
1556}
1557
1558// ExportConfigurationsWithContext is the same as ExportConfigurations with the addition of
1559// the ability to pass a context and additional request options.
1560//
1561// See ExportConfigurations for details on how to use this API operation.
1562//
1563// The context must be non-nil and will be used for request cancellation. If
1564// the context is nil a panic will occur. In the future the SDK may create
1565// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1566// for more information on using Contexts.
1567//
1568// Deprecated: ExportConfigurationsWithContext has been deprecated
1569func (c *ApplicationDiscoveryService) ExportConfigurationsWithContext(ctx aws.Context, input *ExportConfigurationsInput, opts ...request.Option) (*ExportConfigurationsOutput, error) {
1570	req, out := c.ExportConfigurationsRequest(input)
1571	req.SetContext(ctx)
1572	req.ApplyOptions(opts...)
1573	return out, req.Send()
1574}
1575
1576const opGetDiscoverySummary = "GetDiscoverySummary"
1577
1578// GetDiscoverySummaryRequest generates a "aws/request.Request" representing the
1579// client's request for the GetDiscoverySummary operation. The "output" return
1580// value will be populated with the request's response once the request completes
1581// successfully.
1582//
1583// Use "Send" method on the returned Request to send the API call to the service.
1584// the "output" return value is not valid until after Send returns without error.
1585//
1586// See GetDiscoverySummary for more information on using the GetDiscoverySummary
1587// API call, and error handling.
1588//
1589// This method is useful when you want to inject custom logic or configuration
1590// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1591//
1592//
1593//    // Example sending a request using the GetDiscoverySummaryRequest method.
1594//    req, resp := client.GetDiscoverySummaryRequest(params)
1595//
1596//    err := req.Send()
1597//    if err == nil { // resp is now filled
1598//        fmt.Println(resp)
1599//    }
1600//
1601// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/GetDiscoverySummary
1602func (c *ApplicationDiscoveryService) GetDiscoverySummaryRequest(input *GetDiscoverySummaryInput) (req *request.Request, output *GetDiscoverySummaryOutput) {
1603	op := &request.Operation{
1604		Name:       opGetDiscoverySummary,
1605		HTTPMethod: "POST",
1606		HTTPPath:   "/",
1607	}
1608
1609	if input == nil {
1610		input = &GetDiscoverySummaryInput{}
1611	}
1612
1613	output = &GetDiscoverySummaryOutput{}
1614	req = c.newRequest(op, input, output)
1615	return
1616}
1617
1618// GetDiscoverySummary API operation for AWS Application Discovery Service.
1619//
1620// Retrieves a short summary of discovered assets.
1621//
1622// This API operation takes no request parameters and is called as is at the
1623// command prompt as shown in the example.
1624//
1625// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1626// with awserr.Error's Code and Message methods to get detailed information about
1627// the error.
1628//
1629// See the AWS API reference guide for AWS Application Discovery Service's
1630// API operation GetDiscoverySummary for usage and error information.
1631//
1632// Returned Error Codes:
1633//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
1634//   The AWS user account does not have permission to perform the action. Check
1635//   the IAM policy associated with this account.
1636//
1637//   * ErrCodeInvalidParameterException "InvalidParameterException"
1638//   One or more parameters are not valid. Verify the parameters and try again.
1639//
1640//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1641//   The value of one or more parameters are either invalid or out of range. Verify
1642//   the parameter values and try again.
1643//
1644//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
1645//   The server experienced an internal error. Try again.
1646//
1647// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/GetDiscoverySummary
1648func (c *ApplicationDiscoveryService) GetDiscoverySummary(input *GetDiscoverySummaryInput) (*GetDiscoverySummaryOutput, error) {
1649	req, out := c.GetDiscoverySummaryRequest(input)
1650	return out, req.Send()
1651}
1652
1653// GetDiscoverySummaryWithContext is the same as GetDiscoverySummary with the addition of
1654// the ability to pass a context and additional request options.
1655//
1656// See GetDiscoverySummary for details on how to use this API operation.
1657//
1658// The context must be non-nil and will be used for request cancellation. If
1659// the context is nil a panic will occur. In the future the SDK may create
1660// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1661// for more information on using Contexts.
1662func (c *ApplicationDiscoveryService) GetDiscoverySummaryWithContext(ctx aws.Context, input *GetDiscoverySummaryInput, opts ...request.Option) (*GetDiscoverySummaryOutput, error) {
1663	req, out := c.GetDiscoverySummaryRequest(input)
1664	req.SetContext(ctx)
1665	req.ApplyOptions(opts...)
1666	return out, req.Send()
1667}
1668
1669const opListConfigurations = "ListConfigurations"
1670
1671// ListConfigurationsRequest generates a "aws/request.Request" representing the
1672// client's request for the ListConfigurations operation. The "output" return
1673// value will be populated with the request's response once the request completes
1674// successfully.
1675//
1676// Use "Send" method on the returned Request to send the API call to the service.
1677// the "output" return value is not valid until after Send returns without error.
1678//
1679// See ListConfigurations for more information on using the ListConfigurations
1680// API call, and error handling.
1681//
1682// This method is useful when you want to inject custom logic or configuration
1683// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1684//
1685//
1686//    // Example sending a request using the ListConfigurationsRequest method.
1687//    req, resp := client.ListConfigurationsRequest(params)
1688//
1689//    err := req.Send()
1690//    if err == nil { // resp is now filled
1691//        fmt.Println(resp)
1692//    }
1693//
1694// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/ListConfigurations
1695func (c *ApplicationDiscoveryService) ListConfigurationsRequest(input *ListConfigurationsInput) (req *request.Request, output *ListConfigurationsOutput) {
1696	op := &request.Operation{
1697		Name:       opListConfigurations,
1698		HTTPMethod: "POST",
1699		HTTPPath:   "/",
1700	}
1701
1702	if input == nil {
1703		input = &ListConfigurationsInput{}
1704	}
1705
1706	output = &ListConfigurationsOutput{}
1707	req = c.newRequest(op, input, output)
1708	return
1709}
1710
1711// ListConfigurations API operation for AWS Application Discovery Service.
1712//
1713// Retrieves a list of configuration items as specified by the value passed
1714// to the required paramater configurationType. Optional filtering may be applied
1715// to refine search results.
1716//
1717// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1718// with awserr.Error's Code and Message methods to get detailed information about
1719// the error.
1720//
1721// See the AWS API reference guide for AWS Application Discovery Service's
1722// API operation ListConfigurations for usage and error information.
1723//
1724// Returned Error Codes:
1725//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
1726//   The AWS user account does not have permission to perform the action. Check
1727//   the IAM policy associated with this account.
1728//
1729//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1730//   The specified configuration ID was not located. Verify the configuration
1731//   ID and try again.
1732//
1733//   * ErrCodeInvalidParameterException "InvalidParameterException"
1734//   One or more parameters are not valid. Verify the parameters and try again.
1735//
1736//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1737//   The value of one or more parameters are either invalid or out of range. Verify
1738//   the parameter values and try again.
1739//
1740//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
1741//   The server experienced an internal error. Try again.
1742//
1743// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/ListConfigurations
1744func (c *ApplicationDiscoveryService) ListConfigurations(input *ListConfigurationsInput) (*ListConfigurationsOutput, error) {
1745	req, out := c.ListConfigurationsRequest(input)
1746	return out, req.Send()
1747}
1748
1749// ListConfigurationsWithContext is the same as ListConfigurations with the addition of
1750// the ability to pass a context and additional request options.
1751//
1752// See ListConfigurations for details on how to use this API operation.
1753//
1754// The context must be non-nil and will be used for request cancellation. If
1755// the context is nil a panic will occur. In the future the SDK may create
1756// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1757// for more information on using Contexts.
1758func (c *ApplicationDiscoveryService) ListConfigurationsWithContext(ctx aws.Context, input *ListConfigurationsInput, opts ...request.Option) (*ListConfigurationsOutput, error) {
1759	req, out := c.ListConfigurationsRequest(input)
1760	req.SetContext(ctx)
1761	req.ApplyOptions(opts...)
1762	return out, req.Send()
1763}
1764
1765const opListServerNeighbors = "ListServerNeighbors"
1766
1767// ListServerNeighborsRequest generates a "aws/request.Request" representing the
1768// client's request for the ListServerNeighbors operation. The "output" return
1769// value will be populated with the request's response once the request completes
1770// successfully.
1771//
1772// Use "Send" method on the returned Request to send the API call to the service.
1773// the "output" return value is not valid until after Send returns without error.
1774//
1775// See ListServerNeighbors for more information on using the ListServerNeighbors
1776// API call, and error handling.
1777//
1778// This method is useful when you want to inject custom logic or configuration
1779// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1780//
1781//
1782//    // Example sending a request using the ListServerNeighborsRequest method.
1783//    req, resp := client.ListServerNeighborsRequest(params)
1784//
1785//    err := req.Send()
1786//    if err == nil { // resp is now filled
1787//        fmt.Println(resp)
1788//    }
1789//
1790// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/ListServerNeighbors
1791func (c *ApplicationDiscoveryService) ListServerNeighborsRequest(input *ListServerNeighborsInput) (req *request.Request, output *ListServerNeighborsOutput) {
1792	op := &request.Operation{
1793		Name:       opListServerNeighbors,
1794		HTTPMethod: "POST",
1795		HTTPPath:   "/",
1796	}
1797
1798	if input == nil {
1799		input = &ListServerNeighborsInput{}
1800	}
1801
1802	output = &ListServerNeighborsOutput{}
1803	req = c.newRequest(op, input, output)
1804	return
1805}
1806
1807// ListServerNeighbors API operation for AWS Application Discovery Service.
1808//
1809// Retrieves a list of servers that are one network hop away from a specified
1810// server.
1811//
1812// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1813// with awserr.Error's Code and Message methods to get detailed information about
1814// the error.
1815//
1816// See the AWS API reference guide for AWS Application Discovery Service's
1817// API operation ListServerNeighbors for usage and error information.
1818//
1819// Returned Error Codes:
1820//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
1821//   The AWS user account does not have permission to perform the action. Check
1822//   the IAM policy associated with this account.
1823//
1824//   * ErrCodeInvalidParameterException "InvalidParameterException"
1825//   One or more parameters are not valid. Verify the parameters and try again.
1826//
1827//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1828//   The value of one or more parameters are either invalid or out of range. Verify
1829//   the parameter values and try again.
1830//
1831//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
1832//   The server experienced an internal error. Try again.
1833//
1834// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/ListServerNeighbors
1835func (c *ApplicationDiscoveryService) ListServerNeighbors(input *ListServerNeighborsInput) (*ListServerNeighborsOutput, error) {
1836	req, out := c.ListServerNeighborsRequest(input)
1837	return out, req.Send()
1838}
1839
1840// ListServerNeighborsWithContext is the same as ListServerNeighbors with the addition of
1841// the ability to pass a context and additional request options.
1842//
1843// See ListServerNeighbors for details on how to use this API operation.
1844//
1845// The context must be non-nil and will be used for request cancellation. If
1846// the context is nil a panic will occur. In the future the SDK may create
1847// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1848// for more information on using Contexts.
1849func (c *ApplicationDiscoveryService) ListServerNeighborsWithContext(ctx aws.Context, input *ListServerNeighborsInput, opts ...request.Option) (*ListServerNeighborsOutput, error) {
1850	req, out := c.ListServerNeighborsRequest(input)
1851	req.SetContext(ctx)
1852	req.ApplyOptions(opts...)
1853	return out, req.Send()
1854}
1855
1856const opStartContinuousExport = "StartContinuousExport"
1857
1858// StartContinuousExportRequest generates a "aws/request.Request" representing the
1859// client's request for the StartContinuousExport operation. The "output" return
1860// value will be populated with the request's response once the request completes
1861// successfully.
1862//
1863// Use "Send" method on the returned Request to send the API call to the service.
1864// the "output" return value is not valid until after Send returns without error.
1865//
1866// See StartContinuousExport for more information on using the StartContinuousExport
1867// API call, and error handling.
1868//
1869// This method is useful when you want to inject custom logic or configuration
1870// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1871//
1872//
1873//    // Example sending a request using the StartContinuousExportRequest method.
1874//    req, resp := client.StartContinuousExportRequest(params)
1875//
1876//    err := req.Send()
1877//    if err == nil { // resp is now filled
1878//        fmt.Println(resp)
1879//    }
1880//
1881// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartContinuousExport
1882func (c *ApplicationDiscoveryService) StartContinuousExportRequest(input *StartContinuousExportInput) (req *request.Request, output *StartContinuousExportOutput) {
1883	op := &request.Operation{
1884		Name:       opStartContinuousExport,
1885		HTTPMethod: "POST",
1886		HTTPPath:   "/",
1887	}
1888
1889	if input == nil {
1890		input = &StartContinuousExportInput{}
1891	}
1892
1893	output = &StartContinuousExportOutput{}
1894	req = c.newRequest(op, input, output)
1895	return
1896}
1897
1898// StartContinuousExport API operation for AWS Application Discovery Service.
1899//
1900// Start the continuous flow of agent's discovered data into Amazon Athena.
1901//
1902// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1903// with awserr.Error's Code and Message methods to get detailed information about
1904// the error.
1905//
1906// See the AWS API reference guide for AWS Application Discovery Service's
1907// API operation StartContinuousExport for usage and error information.
1908//
1909// Returned Error Codes:
1910//   * ErrCodeConflictErrorException "ConflictErrorException"
1911//
1912//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
1913//   The AWS user account does not have permission to perform the action. Check
1914//   the IAM policy associated with this account.
1915//
1916//   * ErrCodeInvalidParameterException "InvalidParameterException"
1917//   One or more parameters are not valid. Verify the parameters and try again.
1918//
1919//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1920//   The value of one or more parameters are either invalid or out of range. Verify
1921//   the parameter values and try again.
1922//
1923//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
1924//   The server experienced an internal error. Try again.
1925//
1926//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
1927//   This operation is not permitted.
1928//
1929//   * ErrCodeResourceInUseException "ResourceInUseException"
1930//   This issue occurs when the same clientRequestToken is used with the StartImportTask
1931//   action, but with different parameters. For example, you use the same request
1932//   token but have two different import URLs, you can encounter this issue. If
1933//   the import tasks are meant to be different, use a different clientRequestToken,
1934//   and try again.
1935//
1936// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartContinuousExport
1937func (c *ApplicationDiscoveryService) StartContinuousExport(input *StartContinuousExportInput) (*StartContinuousExportOutput, error) {
1938	req, out := c.StartContinuousExportRequest(input)
1939	return out, req.Send()
1940}
1941
1942// StartContinuousExportWithContext is the same as StartContinuousExport with the addition of
1943// the ability to pass a context and additional request options.
1944//
1945// See StartContinuousExport for details on how to use this API operation.
1946//
1947// The context must be non-nil and will be used for request cancellation. If
1948// the context is nil a panic will occur. In the future the SDK may create
1949// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1950// for more information on using Contexts.
1951func (c *ApplicationDiscoveryService) StartContinuousExportWithContext(ctx aws.Context, input *StartContinuousExportInput, opts ...request.Option) (*StartContinuousExportOutput, error) {
1952	req, out := c.StartContinuousExportRequest(input)
1953	req.SetContext(ctx)
1954	req.ApplyOptions(opts...)
1955	return out, req.Send()
1956}
1957
1958const opStartDataCollectionByAgentIds = "StartDataCollectionByAgentIds"
1959
1960// StartDataCollectionByAgentIdsRequest generates a "aws/request.Request" representing the
1961// client's request for the StartDataCollectionByAgentIds operation. The "output" return
1962// value will be populated with the request's response once the request completes
1963// successfully.
1964//
1965// Use "Send" method on the returned Request to send the API call to the service.
1966// the "output" return value is not valid until after Send returns without error.
1967//
1968// See StartDataCollectionByAgentIds for more information on using the StartDataCollectionByAgentIds
1969// API call, and error handling.
1970//
1971// This method is useful when you want to inject custom logic or configuration
1972// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1973//
1974//
1975//    // Example sending a request using the StartDataCollectionByAgentIdsRequest method.
1976//    req, resp := client.StartDataCollectionByAgentIdsRequest(params)
1977//
1978//    err := req.Send()
1979//    if err == nil { // resp is now filled
1980//        fmt.Println(resp)
1981//    }
1982//
1983// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartDataCollectionByAgentIds
1984func (c *ApplicationDiscoveryService) StartDataCollectionByAgentIdsRequest(input *StartDataCollectionByAgentIdsInput) (req *request.Request, output *StartDataCollectionByAgentIdsOutput) {
1985	op := &request.Operation{
1986		Name:       opStartDataCollectionByAgentIds,
1987		HTTPMethod: "POST",
1988		HTTPPath:   "/",
1989	}
1990
1991	if input == nil {
1992		input = &StartDataCollectionByAgentIdsInput{}
1993	}
1994
1995	output = &StartDataCollectionByAgentIdsOutput{}
1996	req = c.newRequest(op, input, output)
1997	return
1998}
1999
2000// StartDataCollectionByAgentIds API operation for AWS Application Discovery Service.
2001//
2002// Instructs the specified agents or connectors to start collecting data.
2003//
2004// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2005// with awserr.Error's Code and Message methods to get detailed information about
2006// the error.
2007//
2008// See the AWS API reference guide for AWS Application Discovery Service's
2009// API operation StartDataCollectionByAgentIds for usage and error information.
2010//
2011// Returned Error Codes:
2012//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
2013//   The AWS user account does not have permission to perform the action. Check
2014//   the IAM policy associated with this account.
2015//
2016//   * ErrCodeInvalidParameterException "InvalidParameterException"
2017//   One or more parameters are not valid. Verify the parameters and try again.
2018//
2019//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2020//   The value of one or more parameters are either invalid or out of range. Verify
2021//   the parameter values and try again.
2022//
2023//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
2024//   The server experienced an internal error. Try again.
2025//
2026// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartDataCollectionByAgentIds
2027func (c *ApplicationDiscoveryService) StartDataCollectionByAgentIds(input *StartDataCollectionByAgentIdsInput) (*StartDataCollectionByAgentIdsOutput, error) {
2028	req, out := c.StartDataCollectionByAgentIdsRequest(input)
2029	return out, req.Send()
2030}
2031
2032// StartDataCollectionByAgentIdsWithContext is the same as StartDataCollectionByAgentIds with the addition of
2033// the ability to pass a context and additional request options.
2034//
2035// See StartDataCollectionByAgentIds for details on how to use this API operation.
2036//
2037// The context must be non-nil and will be used for request cancellation. If
2038// the context is nil a panic will occur. In the future the SDK may create
2039// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2040// for more information on using Contexts.
2041func (c *ApplicationDiscoveryService) StartDataCollectionByAgentIdsWithContext(ctx aws.Context, input *StartDataCollectionByAgentIdsInput, opts ...request.Option) (*StartDataCollectionByAgentIdsOutput, error) {
2042	req, out := c.StartDataCollectionByAgentIdsRequest(input)
2043	req.SetContext(ctx)
2044	req.ApplyOptions(opts...)
2045	return out, req.Send()
2046}
2047
2048const opStartExportTask = "StartExportTask"
2049
2050// StartExportTaskRequest generates a "aws/request.Request" representing the
2051// client's request for the StartExportTask operation. The "output" return
2052// value will be populated with the request's response once the request completes
2053// successfully.
2054//
2055// Use "Send" method on the returned Request to send the API call to the service.
2056// the "output" return value is not valid until after Send returns without error.
2057//
2058// See StartExportTask for more information on using the StartExportTask
2059// API call, and error handling.
2060//
2061// This method is useful when you want to inject custom logic or configuration
2062// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2063//
2064//
2065//    // Example sending a request using the StartExportTaskRequest method.
2066//    req, resp := client.StartExportTaskRequest(params)
2067//
2068//    err := req.Send()
2069//    if err == nil { // resp is now filled
2070//        fmt.Println(resp)
2071//    }
2072//
2073// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartExportTask
2074func (c *ApplicationDiscoveryService) StartExportTaskRequest(input *StartExportTaskInput) (req *request.Request, output *StartExportTaskOutput) {
2075	op := &request.Operation{
2076		Name:       opStartExportTask,
2077		HTTPMethod: "POST",
2078		HTTPPath:   "/",
2079	}
2080
2081	if input == nil {
2082		input = &StartExportTaskInput{}
2083	}
2084
2085	output = &StartExportTaskOutput{}
2086	req = c.newRequest(op, input, output)
2087	return
2088}
2089
2090// StartExportTask API operation for AWS Application Discovery Service.
2091//
2092// Begins the export of discovered data to an S3 bucket.
2093//
2094// If you specify agentIds in a filter, the task exports up to 72 hours of detailed
2095// data collected by the identified Application Discovery Agent, including network,
2096// process, and performance details. A time range for exported agent data may
2097// be set by using startTime and endTime. Export of detailed agent data is limited
2098// to five concurrently running exports.
2099//
2100// If you do not include an agentIds filter, summary data is exported that includes
2101// both AWS Agentless Discovery Connector data and summary data from AWS Discovery
2102// Agents. Export of summary data is limited to two exports per day.
2103//
2104// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2105// with awserr.Error's Code and Message methods to get detailed information about
2106// the error.
2107//
2108// See the AWS API reference guide for AWS Application Discovery Service's
2109// API operation StartExportTask for usage and error information.
2110//
2111// Returned Error Codes:
2112//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
2113//   The AWS user account does not have permission to perform the action. Check
2114//   the IAM policy associated with this account.
2115//
2116//   * ErrCodeInvalidParameterException "InvalidParameterException"
2117//   One or more parameters are not valid. Verify the parameters and try again.
2118//
2119//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2120//   The value of one or more parameters are either invalid or out of range. Verify
2121//   the parameter values and try again.
2122//
2123//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
2124//   The server experienced an internal error. Try again.
2125//
2126//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
2127//   This operation is not permitted.
2128//
2129// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartExportTask
2130func (c *ApplicationDiscoveryService) StartExportTask(input *StartExportTaskInput) (*StartExportTaskOutput, error) {
2131	req, out := c.StartExportTaskRequest(input)
2132	return out, req.Send()
2133}
2134
2135// StartExportTaskWithContext is the same as StartExportTask with the addition of
2136// the ability to pass a context and additional request options.
2137//
2138// See StartExportTask for details on how to use this API operation.
2139//
2140// The context must be non-nil and will be used for request cancellation. If
2141// the context is nil a panic will occur. In the future the SDK may create
2142// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2143// for more information on using Contexts.
2144func (c *ApplicationDiscoveryService) StartExportTaskWithContext(ctx aws.Context, input *StartExportTaskInput, opts ...request.Option) (*StartExportTaskOutput, error) {
2145	req, out := c.StartExportTaskRequest(input)
2146	req.SetContext(ctx)
2147	req.ApplyOptions(opts...)
2148	return out, req.Send()
2149}
2150
2151const opStartImportTask = "StartImportTask"
2152
2153// StartImportTaskRequest generates a "aws/request.Request" representing the
2154// client's request for the StartImportTask operation. The "output" return
2155// value will be populated with the request's response once the request completes
2156// successfully.
2157//
2158// Use "Send" method on the returned Request to send the API call to the service.
2159// the "output" return value is not valid until after Send returns without error.
2160//
2161// See StartImportTask for more information on using the StartImportTask
2162// API call, and error handling.
2163//
2164// This method is useful when you want to inject custom logic or configuration
2165// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2166//
2167//
2168//    // Example sending a request using the StartImportTaskRequest method.
2169//    req, resp := client.StartImportTaskRequest(params)
2170//
2171//    err := req.Send()
2172//    if err == nil { // resp is now filled
2173//        fmt.Println(resp)
2174//    }
2175//
2176// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartImportTask
2177func (c *ApplicationDiscoveryService) StartImportTaskRequest(input *StartImportTaskInput) (req *request.Request, output *StartImportTaskOutput) {
2178	op := &request.Operation{
2179		Name:       opStartImportTask,
2180		HTTPMethod: "POST",
2181		HTTPPath:   "/",
2182	}
2183
2184	if input == nil {
2185		input = &StartImportTaskInput{}
2186	}
2187
2188	output = &StartImportTaskOutput{}
2189	req = c.newRequest(op, input, output)
2190	return
2191}
2192
2193// StartImportTask API operation for AWS Application Discovery Service.
2194//
2195// Starts an import task, which allows you to import details of your on-premises
2196// environment directly into AWS without having to use the Application Discovery
2197// Service (ADS) tools such as the Discovery Connector or Discovery Agent. This
2198// gives you the option to perform migration assessment and planning directly
2199// from your imported data, including the ability to group your devices as applications
2200// and track their migration status.
2201//
2202// To start an import request, do this:
2203//
2204// Download the specially formatted comma separated value (CSV) import template,
2205// which you can find here: https://s3-us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv
2206// (https://s3-us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv).
2207//
2208// Fill out the template with your server and application data.
2209//
2210// Upload your import file to an Amazon S3 bucket, and make a note of it's Object
2211// URL. Your import file must be in the CSV format.
2212//
2213// Use the console or the StartImportTask command with the AWS CLI or one of
2214// the AWS SDKs to import the records from your file.
2215//
2216// For more information, including step-by-step procedures, see Migration Hub
2217// Import (https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-import.html)
2218// in the AWS Application Discovery Service User Guide.
2219//
2220// There are limits to the number of import tasks you can create (and delete)
2221// in an AWS account. For more information, see AWS Application Discovery Service
2222// Limits (https://docs.aws.amazon.com/application-discovery/latest/userguide/ads_service_limits.html)
2223// in the AWS Application Discovery Service User Guide.
2224//
2225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2226// with awserr.Error's Code and Message methods to get detailed information about
2227// the error.
2228//
2229// See the AWS API reference guide for AWS Application Discovery Service's
2230// API operation StartImportTask for usage and error information.
2231//
2232// Returned Error Codes:
2233//   * ErrCodeResourceInUseException "ResourceInUseException"
2234//   This issue occurs when the same clientRequestToken is used with the StartImportTask
2235//   action, but with different parameters. For example, you use the same request
2236//   token but have two different import URLs, you can encounter this issue. If
2237//   the import tasks are meant to be different, use a different clientRequestToken,
2238//   and try again.
2239//
2240//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
2241//   The AWS user account does not have permission to perform the action. Check
2242//   the IAM policy associated with this account.
2243//
2244//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2245//   The value of one or more parameters are either invalid or out of range. Verify
2246//   the parameter values and try again.
2247//
2248//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
2249//   The server experienced an internal error. Try again.
2250//
2251// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StartImportTask
2252func (c *ApplicationDiscoveryService) StartImportTask(input *StartImportTaskInput) (*StartImportTaskOutput, error) {
2253	req, out := c.StartImportTaskRequest(input)
2254	return out, req.Send()
2255}
2256
2257// StartImportTaskWithContext is the same as StartImportTask with the addition of
2258// the ability to pass a context and additional request options.
2259//
2260// See StartImportTask for details on how to use this API operation.
2261//
2262// The context must be non-nil and will be used for request cancellation. If
2263// the context is nil a panic will occur. In the future the SDK may create
2264// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2265// for more information on using Contexts.
2266func (c *ApplicationDiscoveryService) StartImportTaskWithContext(ctx aws.Context, input *StartImportTaskInput, opts ...request.Option) (*StartImportTaskOutput, error) {
2267	req, out := c.StartImportTaskRequest(input)
2268	req.SetContext(ctx)
2269	req.ApplyOptions(opts...)
2270	return out, req.Send()
2271}
2272
2273const opStopContinuousExport = "StopContinuousExport"
2274
2275// StopContinuousExportRequest generates a "aws/request.Request" representing the
2276// client's request for the StopContinuousExport operation. The "output" return
2277// value will be populated with the request's response once the request completes
2278// successfully.
2279//
2280// Use "Send" method on the returned Request to send the API call to the service.
2281// the "output" return value is not valid until after Send returns without error.
2282//
2283// See StopContinuousExport for more information on using the StopContinuousExport
2284// API call, and error handling.
2285//
2286// This method is useful when you want to inject custom logic or configuration
2287// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2288//
2289//
2290//    // Example sending a request using the StopContinuousExportRequest method.
2291//    req, resp := client.StopContinuousExportRequest(params)
2292//
2293//    err := req.Send()
2294//    if err == nil { // resp is now filled
2295//        fmt.Println(resp)
2296//    }
2297//
2298// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StopContinuousExport
2299func (c *ApplicationDiscoveryService) StopContinuousExportRequest(input *StopContinuousExportInput) (req *request.Request, output *StopContinuousExportOutput) {
2300	op := &request.Operation{
2301		Name:       opStopContinuousExport,
2302		HTTPMethod: "POST",
2303		HTTPPath:   "/",
2304	}
2305
2306	if input == nil {
2307		input = &StopContinuousExportInput{}
2308	}
2309
2310	output = &StopContinuousExportOutput{}
2311	req = c.newRequest(op, input, output)
2312	return
2313}
2314
2315// StopContinuousExport API operation for AWS Application Discovery Service.
2316//
2317// Stop the continuous flow of agent's discovered data into Amazon Athena.
2318//
2319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2320// with awserr.Error's Code and Message methods to get detailed information about
2321// the error.
2322//
2323// See the AWS API reference guide for AWS Application Discovery Service's
2324// API operation StopContinuousExport for usage and error information.
2325//
2326// Returned Error Codes:
2327//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
2328//   The AWS user account does not have permission to perform the action. Check
2329//   the IAM policy associated with this account.
2330//
2331//   * ErrCodeInvalidParameterException "InvalidParameterException"
2332//   One or more parameters are not valid. Verify the parameters and try again.
2333//
2334//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2335//   The value of one or more parameters are either invalid or out of range. Verify
2336//   the parameter values and try again.
2337//
2338//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
2339//   The server experienced an internal error. Try again.
2340//
2341//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
2342//   This operation is not permitted.
2343//
2344//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2345//   The specified configuration ID was not located. Verify the configuration
2346//   ID and try again.
2347//
2348//   * ErrCodeResourceInUseException "ResourceInUseException"
2349//   This issue occurs when the same clientRequestToken is used with the StartImportTask
2350//   action, but with different parameters. For example, you use the same request
2351//   token but have two different import URLs, you can encounter this issue. If
2352//   the import tasks are meant to be different, use a different clientRequestToken,
2353//   and try again.
2354//
2355// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StopContinuousExport
2356func (c *ApplicationDiscoveryService) StopContinuousExport(input *StopContinuousExportInput) (*StopContinuousExportOutput, error) {
2357	req, out := c.StopContinuousExportRequest(input)
2358	return out, req.Send()
2359}
2360
2361// StopContinuousExportWithContext is the same as StopContinuousExport with the addition of
2362// the ability to pass a context and additional request options.
2363//
2364// See StopContinuousExport for details on how to use this API operation.
2365//
2366// The context must be non-nil and will be used for request cancellation. If
2367// the context is nil a panic will occur. In the future the SDK may create
2368// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2369// for more information on using Contexts.
2370func (c *ApplicationDiscoveryService) StopContinuousExportWithContext(ctx aws.Context, input *StopContinuousExportInput, opts ...request.Option) (*StopContinuousExportOutput, error) {
2371	req, out := c.StopContinuousExportRequest(input)
2372	req.SetContext(ctx)
2373	req.ApplyOptions(opts...)
2374	return out, req.Send()
2375}
2376
2377const opStopDataCollectionByAgentIds = "StopDataCollectionByAgentIds"
2378
2379// StopDataCollectionByAgentIdsRequest generates a "aws/request.Request" representing the
2380// client's request for the StopDataCollectionByAgentIds operation. The "output" return
2381// value will be populated with the request's response once the request completes
2382// successfully.
2383//
2384// Use "Send" method on the returned Request to send the API call to the service.
2385// the "output" return value is not valid until after Send returns without error.
2386//
2387// See StopDataCollectionByAgentIds for more information on using the StopDataCollectionByAgentIds
2388// API call, and error handling.
2389//
2390// This method is useful when you want to inject custom logic or configuration
2391// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2392//
2393//
2394//    // Example sending a request using the StopDataCollectionByAgentIdsRequest method.
2395//    req, resp := client.StopDataCollectionByAgentIdsRequest(params)
2396//
2397//    err := req.Send()
2398//    if err == nil { // resp is now filled
2399//        fmt.Println(resp)
2400//    }
2401//
2402// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StopDataCollectionByAgentIds
2403func (c *ApplicationDiscoveryService) StopDataCollectionByAgentIdsRequest(input *StopDataCollectionByAgentIdsInput) (req *request.Request, output *StopDataCollectionByAgentIdsOutput) {
2404	op := &request.Operation{
2405		Name:       opStopDataCollectionByAgentIds,
2406		HTTPMethod: "POST",
2407		HTTPPath:   "/",
2408	}
2409
2410	if input == nil {
2411		input = &StopDataCollectionByAgentIdsInput{}
2412	}
2413
2414	output = &StopDataCollectionByAgentIdsOutput{}
2415	req = c.newRequest(op, input, output)
2416	return
2417}
2418
2419// StopDataCollectionByAgentIds API operation for AWS Application Discovery Service.
2420//
2421// Instructs the specified agents or connectors to stop collecting data.
2422//
2423// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2424// with awserr.Error's Code and Message methods to get detailed information about
2425// the error.
2426//
2427// See the AWS API reference guide for AWS Application Discovery Service's
2428// API operation StopDataCollectionByAgentIds for usage and error information.
2429//
2430// Returned Error Codes:
2431//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
2432//   The AWS user account does not have permission to perform the action. Check
2433//   the IAM policy associated with this account.
2434//
2435//   * ErrCodeInvalidParameterException "InvalidParameterException"
2436//   One or more parameters are not valid. Verify the parameters and try again.
2437//
2438//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2439//   The value of one or more parameters are either invalid or out of range. Verify
2440//   the parameter values and try again.
2441//
2442//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
2443//   The server experienced an internal error. Try again.
2444//
2445// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/StopDataCollectionByAgentIds
2446func (c *ApplicationDiscoveryService) StopDataCollectionByAgentIds(input *StopDataCollectionByAgentIdsInput) (*StopDataCollectionByAgentIdsOutput, error) {
2447	req, out := c.StopDataCollectionByAgentIdsRequest(input)
2448	return out, req.Send()
2449}
2450
2451// StopDataCollectionByAgentIdsWithContext is the same as StopDataCollectionByAgentIds with the addition of
2452// the ability to pass a context and additional request options.
2453//
2454// See StopDataCollectionByAgentIds for details on how to use this API operation.
2455//
2456// The context must be non-nil and will be used for request cancellation. If
2457// the context is nil a panic will occur. In the future the SDK may create
2458// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2459// for more information on using Contexts.
2460func (c *ApplicationDiscoveryService) StopDataCollectionByAgentIdsWithContext(ctx aws.Context, input *StopDataCollectionByAgentIdsInput, opts ...request.Option) (*StopDataCollectionByAgentIdsOutput, error) {
2461	req, out := c.StopDataCollectionByAgentIdsRequest(input)
2462	req.SetContext(ctx)
2463	req.ApplyOptions(opts...)
2464	return out, req.Send()
2465}
2466
2467const opUpdateApplication = "UpdateApplication"
2468
2469// UpdateApplicationRequest generates a "aws/request.Request" representing the
2470// client's request for the UpdateApplication operation. The "output" return
2471// value will be populated with the request's response once the request completes
2472// successfully.
2473//
2474// Use "Send" method on the returned Request to send the API call to the service.
2475// the "output" return value is not valid until after Send returns without error.
2476//
2477// See UpdateApplication for more information on using the UpdateApplication
2478// API call, and error handling.
2479//
2480// This method is useful when you want to inject custom logic or configuration
2481// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2482//
2483//
2484//    // Example sending a request using the UpdateApplicationRequest method.
2485//    req, resp := client.UpdateApplicationRequest(params)
2486//
2487//    err := req.Send()
2488//    if err == nil { // resp is now filled
2489//        fmt.Println(resp)
2490//    }
2491//
2492// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/UpdateApplication
2493func (c *ApplicationDiscoveryService) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) {
2494	op := &request.Operation{
2495		Name:       opUpdateApplication,
2496		HTTPMethod: "POST",
2497		HTTPPath:   "/",
2498	}
2499
2500	if input == nil {
2501		input = &UpdateApplicationInput{}
2502	}
2503
2504	output = &UpdateApplicationOutput{}
2505	req = c.newRequest(op, input, output)
2506	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2507	return
2508}
2509
2510// UpdateApplication API operation for AWS Application Discovery Service.
2511//
2512// Updates metadata about an application.
2513//
2514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2515// with awserr.Error's Code and Message methods to get detailed information about
2516// the error.
2517//
2518// See the AWS API reference guide for AWS Application Discovery Service's
2519// API operation UpdateApplication for usage and error information.
2520//
2521// Returned Error Codes:
2522//   * ErrCodeAuthorizationErrorException "AuthorizationErrorException"
2523//   The AWS user account does not have permission to perform the action. Check
2524//   the IAM policy associated with this account.
2525//
2526//   * ErrCodeInvalidParameterException "InvalidParameterException"
2527//   One or more parameters are not valid. Verify the parameters and try again.
2528//
2529//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2530//   The value of one or more parameters are either invalid or out of range. Verify
2531//   the parameter values and try again.
2532//
2533//   * ErrCodeServerInternalErrorException "ServerInternalErrorException"
2534//   The server experienced an internal error. Try again.
2535//
2536// See also, https://docs.aws.amazon.com/goto/WebAPI/discovery-2015-11-01/UpdateApplication
2537func (c *ApplicationDiscoveryService) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) {
2538	req, out := c.UpdateApplicationRequest(input)
2539	return out, req.Send()
2540}
2541
2542// UpdateApplicationWithContext is the same as UpdateApplication with the addition of
2543// the ability to pass a context and additional request options.
2544//
2545// See UpdateApplication for details on how to use this API operation.
2546//
2547// The context must be non-nil and will be used for request cancellation. If
2548// the context is nil a panic will occur. In the future the SDK may create
2549// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2550// for more information on using Contexts.
2551func (c *ApplicationDiscoveryService) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationInput, opts ...request.Option) (*UpdateApplicationOutput, error) {
2552	req, out := c.UpdateApplicationRequest(input)
2553	req.SetContext(ctx)
2554	req.ApplyOptions(opts...)
2555	return out, req.Send()
2556}
2557
2558// Information about agents or connectors that were instructed to start collecting
2559// data. Information includes the agent/connector ID, a description of the operation,
2560// and whether the agent/connector configuration was updated.
2561type AgentConfigurationStatus struct {
2562	_ struct{} `type:"structure"`
2563
2564	// The agent/connector ID.
2565	AgentId *string `locationName:"agentId" type:"string"`
2566
2567	// A description of the operation performed.
2568	Description *string `locationName:"description" type:"string"`
2569
2570	// Information about the status of the StartDataCollection and StopDataCollection
2571	// operations. The system has recorded the data collection operation. The agent/connector
2572	// receives this command the next time it polls for a new command.
2573	OperationSucceeded *bool `locationName:"operationSucceeded" type:"boolean"`
2574}
2575
2576// String returns the string representation
2577func (s AgentConfigurationStatus) String() string {
2578	return awsutil.Prettify(s)
2579}
2580
2581// GoString returns the string representation
2582func (s AgentConfigurationStatus) GoString() string {
2583	return s.String()
2584}
2585
2586// SetAgentId sets the AgentId field's value.
2587func (s *AgentConfigurationStatus) SetAgentId(v string) *AgentConfigurationStatus {
2588	s.AgentId = &v
2589	return s
2590}
2591
2592// SetDescription sets the Description field's value.
2593func (s *AgentConfigurationStatus) SetDescription(v string) *AgentConfigurationStatus {
2594	s.Description = &v
2595	return s
2596}
2597
2598// SetOperationSucceeded sets the OperationSucceeded field's value.
2599func (s *AgentConfigurationStatus) SetOperationSucceeded(v bool) *AgentConfigurationStatus {
2600	s.OperationSucceeded = &v
2601	return s
2602}
2603
2604// Information about agents or connectors associated with the user’s AWS account.
2605// Information includes agent or connector IDs, IP addresses, media access control
2606// (MAC) addresses, agent or connector health, hostname where the agent or connector
2607// resides, and agent version for each agent.
2608type AgentInfo struct {
2609	_ struct{} `type:"structure"`
2610
2611	// The agent or connector ID.
2612	AgentId *string `locationName:"agentId" type:"string"`
2613
2614	// Network details about the host where the agent or connector resides.
2615	AgentNetworkInfoList []*AgentNetworkInfo `locationName:"agentNetworkInfoList" type:"list"`
2616
2617	// Type of agent.
2618	AgentType *string `locationName:"agentType" type:"string"`
2619
2620	// Status of the collection process for an agent or connector.
2621	CollectionStatus *string `locationName:"collectionStatus" type:"string"`
2622
2623	// The ID of the connector.
2624	ConnectorId *string `locationName:"connectorId" type:"string"`
2625
2626	// The health of the agent or connector.
2627	Health *string `locationName:"health" type:"string" enum:"AgentStatus"`
2628
2629	// The name of the host where the agent or connector resides. The host can be
2630	// a server or virtual machine.
2631	HostName *string `locationName:"hostName" type:"string"`
2632
2633	// Time since agent or connector health was reported.
2634	LastHealthPingTime *string `locationName:"lastHealthPingTime" type:"string"`
2635
2636	// Agent's first registration timestamp in UTC.
2637	RegisteredTime *string `locationName:"registeredTime" type:"string"`
2638
2639	// The agent or connector version.
2640	Version *string `locationName:"version" type:"string"`
2641}
2642
2643// String returns the string representation
2644func (s AgentInfo) String() string {
2645	return awsutil.Prettify(s)
2646}
2647
2648// GoString returns the string representation
2649func (s AgentInfo) GoString() string {
2650	return s.String()
2651}
2652
2653// SetAgentId sets the AgentId field's value.
2654func (s *AgentInfo) SetAgentId(v string) *AgentInfo {
2655	s.AgentId = &v
2656	return s
2657}
2658
2659// SetAgentNetworkInfoList sets the AgentNetworkInfoList field's value.
2660func (s *AgentInfo) SetAgentNetworkInfoList(v []*AgentNetworkInfo) *AgentInfo {
2661	s.AgentNetworkInfoList = v
2662	return s
2663}
2664
2665// SetAgentType sets the AgentType field's value.
2666func (s *AgentInfo) SetAgentType(v string) *AgentInfo {
2667	s.AgentType = &v
2668	return s
2669}
2670
2671// SetCollectionStatus sets the CollectionStatus field's value.
2672func (s *AgentInfo) SetCollectionStatus(v string) *AgentInfo {
2673	s.CollectionStatus = &v
2674	return s
2675}
2676
2677// SetConnectorId sets the ConnectorId field's value.
2678func (s *AgentInfo) SetConnectorId(v string) *AgentInfo {
2679	s.ConnectorId = &v
2680	return s
2681}
2682
2683// SetHealth sets the Health field's value.
2684func (s *AgentInfo) SetHealth(v string) *AgentInfo {
2685	s.Health = &v
2686	return s
2687}
2688
2689// SetHostName sets the HostName field's value.
2690func (s *AgentInfo) SetHostName(v string) *AgentInfo {
2691	s.HostName = &v
2692	return s
2693}
2694
2695// SetLastHealthPingTime sets the LastHealthPingTime field's value.
2696func (s *AgentInfo) SetLastHealthPingTime(v string) *AgentInfo {
2697	s.LastHealthPingTime = &v
2698	return s
2699}
2700
2701// SetRegisteredTime sets the RegisteredTime field's value.
2702func (s *AgentInfo) SetRegisteredTime(v string) *AgentInfo {
2703	s.RegisteredTime = &v
2704	return s
2705}
2706
2707// SetVersion sets the Version field's value.
2708func (s *AgentInfo) SetVersion(v string) *AgentInfo {
2709	s.Version = &v
2710	return s
2711}
2712
2713// Network details about the host where the agent/connector resides.
2714type AgentNetworkInfo struct {
2715	_ struct{} `type:"structure"`
2716
2717	// The IP address for the host where the agent/connector resides.
2718	IpAddress *string `locationName:"ipAddress" type:"string"`
2719
2720	// The MAC address for the host where the agent/connector resides.
2721	MacAddress *string `locationName:"macAddress" type:"string"`
2722}
2723
2724// String returns the string representation
2725func (s AgentNetworkInfo) String() string {
2726	return awsutil.Prettify(s)
2727}
2728
2729// GoString returns the string representation
2730func (s AgentNetworkInfo) GoString() string {
2731	return s.String()
2732}
2733
2734// SetIpAddress sets the IpAddress field's value.
2735func (s *AgentNetworkInfo) SetIpAddress(v string) *AgentNetworkInfo {
2736	s.IpAddress = &v
2737	return s
2738}
2739
2740// SetMacAddress sets the MacAddress field's value.
2741func (s *AgentNetworkInfo) SetMacAddress(v string) *AgentNetworkInfo {
2742	s.MacAddress = &v
2743	return s
2744}
2745
2746type AssociateConfigurationItemsToApplicationInput struct {
2747	_ struct{} `type:"structure"`
2748
2749	// The configuration ID of an application with which items are to be associated.
2750	//
2751	// ApplicationConfigurationId is a required field
2752	ApplicationConfigurationId *string `locationName:"applicationConfigurationId" type:"string" required:"true"`
2753
2754	// The ID of each configuration item to be associated with an application.
2755	//
2756	// ConfigurationIds is a required field
2757	ConfigurationIds []*string `locationName:"configurationIds" type:"list" required:"true"`
2758}
2759
2760// String returns the string representation
2761func (s AssociateConfigurationItemsToApplicationInput) String() string {
2762	return awsutil.Prettify(s)
2763}
2764
2765// GoString returns the string representation
2766func (s AssociateConfigurationItemsToApplicationInput) GoString() string {
2767	return s.String()
2768}
2769
2770// Validate inspects the fields of the type to determine if they are valid.
2771func (s *AssociateConfigurationItemsToApplicationInput) Validate() error {
2772	invalidParams := request.ErrInvalidParams{Context: "AssociateConfigurationItemsToApplicationInput"}
2773	if s.ApplicationConfigurationId == nil {
2774		invalidParams.Add(request.NewErrParamRequired("ApplicationConfigurationId"))
2775	}
2776	if s.ConfigurationIds == nil {
2777		invalidParams.Add(request.NewErrParamRequired("ConfigurationIds"))
2778	}
2779
2780	if invalidParams.Len() > 0 {
2781		return invalidParams
2782	}
2783	return nil
2784}
2785
2786// SetApplicationConfigurationId sets the ApplicationConfigurationId field's value.
2787func (s *AssociateConfigurationItemsToApplicationInput) SetApplicationConfigurationId(v string) *AssociateConfigurationItemsToApplicationInput {
2788	s.ApplicationConfigurationId = &v
2789	return s
2790}
2791
2792// SetConfigurationIds sets the ConfigurationIds field's value.
2793func (s *AssociateConfigurationItemsToApplicationInput) SetConfigurationIds(v []*string) *AssociateConfigurationItemsToApplicationInput {
2794	s.ConfigurationIds = v
2795	return s
2796}
2797
2798type AssociateConfigurationItemsToApplicationOutput struct {
2799	_ struct{} `type:"structure"`
2800}
2801
2802// String returns the string representation
2803func (s AssociateConfigurationItemsToApplicationOutput) String() string {
2804	return awsutil.Prettify(s)
2805}
2806
2807// GoString returns the string representation
2808func (s AssociateConfigurationItemsToApplicationOutput) GoString() string {
2809	return s.String()
2810}
2811
2812// Error messages returned for each import task that you deleted as a response
2813// for this command.
2814type BatchDeleteImportDataError struct {
2815	_ struct{} `type:"structure"`
2816
2817	// The type of error that occurred for a specific import task.
2818	ErrorCode *string `locationName:"errorCode" type:"string" enum:"BatchDeleteImportDataErrorCode"`
2819
2820	// The description of the error that occurred for a specific import task.
2821	ErrorDescription *string `locationName:"errorDescription" type:"string"`
2822
2823	// The unique import ID associated with the error that occurred.
2824	ImportTaskId *string `locationName:"importTaskId" type:"string"`
2825}
2826
2827// String returns the string representation
2828func (s BatchDeleteImportDataError) String() string {
2829	return awsutil.Prettify(s)
2830}
2831
2832// GoString returns the string representation
2833func (s BatchDeleteImportDataError) GoString() string {
2834	return s.String()
2835}
2836
2837// SetErrorCode sets the ErrorCode field's value.
2838func (s *BatchDeleteImportDataError) SetErrorCode(v string) *BatchDeleteImportDataError {
2839	s.ErrorCode = &v
2840	return s
2841}
2842
2843// SetErrorDescription sets the ErrorDescription field's value.
2844func (s *BatchDeleteImportDataError) SetErrorDescription(v string) *BatchDeleteImportDataError {
2845	s.ErrorDescription = &v
2846	return s
2847}
2848
2849// SetImportTaskId sets the ImportTaskId field's value.
2850func (s *BatchDeleteImportDataError) SetImportTaskId(v string) *BatchDeleteImportDataError {
2851	s.ImportTaskId = &v
2852	return s
2853}
2854
2855type BatchDeleteImportDataInput struct {
2856	_ struct{} `type:"structure"`
2857
2858	// The IDs for the import tasks that you want to delete.
2859	//
2860	// ImportTaskIds is a required field
2861	ImportTaskIds []*string `locationName:"importTaskIds" min:"1" type:"list" required:"true"`
2862}
2863
2864// String returns the string representation
2865func (s BatchDeleteImportDataInput) String() string {
2866	return awsutil.Prettify(s)
2867}
2868
2869// GoString returns the string representation
2870func (s BatchDeleteImportDataInput) GoString() string {
2871	return s.String()
2872}
2873
2874// Validate inspects the fields of the type to determine if they are valid.
2875func (s *BatchDeleteImportDataInput) Validate() error {
2876	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteImportDataInput"}
2877	if s.ImportTaskIds == nil {
2878		invalidParams.Add(request.NewErrParamRequired("ImportTaskIds"))
2879	}
2880	if s.ImportTaskIds != nil && len(s.ImportTaskIds) < 1 {
2881		invalidParams.Add(request.NewErrParamMinLen("ImportTaskIds", 1))
2882	}
2883
2884	if invalidParams.Len() > 0 {
2885		return invalidParams
2886	}
2887	return nil
2888}
2889
2890// SetImportTaskIds sets the ImportTaskIds field's value.
2891func (s *BatchDeleteImportDataInput) SetImportTaskIds(v []*string) *BatchDeleteImportDataInput {
2892	s.ImportTaskIds = v
2893	return s
2894}
2895
2896type BatchDeleteImportDataOutput struct {
2897	_ struct{} `type:"structure"`
2898
2899	// Error messages returned for each import task that you deleted as a response
2900	// for this command.
2901	Errors []*BatchDeleteImportDataError `locationName:"errors" type:"list"`
2902}
2903
2904// String returns the string representation
2905func (s BatchDeleteImportDataOutput) String() string {
2906	return awsutil.Prettify(s)
2907}
2908
2909// GoString returns the string representation
2910func (s BatchDeleteImportDataOutput) GoString() string {
2911	return s.String()
2912}
2913
2914// SetErrors sets the Errors field's value.
2915func (s *BatchDeleteImportDataOutput) SetErrors(v []*BatchDeleteImportDataError) *BatchDeleteImportDataOutput {
2916	s.Errors = v
2917	return s
2918}
2919
2920// Tags for a configuration item. Tags are metadata that help you categorize
2921// IT assets.
2922type ConfigurationTag struct {
2923	_ struct{} `type:"structure"`
2924
2925	// The configuration ID for the item to tag. You can specify a list of keys
2926	// and values.
2927	ConfigurationId *string `locationName:"configurationId" type:"string"`
2928
2929	// A type of IT asset to tag.
2930	ConfigurationType *string `locationName:"configurationType" type:"string" enum:"ConfigurationItemType"`
2931
2932	// A type of tag on which to filter. For example, serverType.
2933	Key *string `locationName:"key" type:"string"`
2934
2935	// The time the configuration tag was created in Coordinated Universal Time
2936	// (UTC).
2937	TimeOfCreation *time.Time `locationName:"timeOfCreation" type:"timestamp"`
2938
2939	// A value on which to filter. For example key = serverType and value = web
2940	// server.
2941	Value *string `locationName:"value" type:"string"`
2942}
2943
2944// String returns the string representation
2945func (s ConfigurationTag) String() string {
2946	return awsutil.Prettify(s)
2947}
2948
2949// GoString returns the string representation
2950func (s ConfigurationTag) GoString() string {
2951	return s.String()
2952}
2953
2954// SetConfigurationId sets the ConfigurationId field's value.
2955func (s *ConfigurationTag) SetConfigurationId(v string) *ConfigurationTag {
2956	s.ConfigurationId = &v
2957	return s
2958}
2959
2960// SetConfigurationType sets the ConfigurationType field's value.
2961func (s *ConfigurationTag) SetConfigurationType(v string) *ConfigurationTag {
2962	s.ConfigurationType = &v
2963	return s
2964}
2965
2966// SetKey sets the Key field's value.
2967func (s *ConfigurationTag) SetKey(v string) *ConfigurationTag {
2968	s.Key = &v
2969	return s
2970}
2971
2972// SetTimeOfCreation sets the TimeOfCreation field's value.
2973func (s *ConfigurationTag) SetTimeOfCreation(v time.Time) *ConfigurationTag {
2974	s.TimeOfCreation = &v
2975	return s
2976}
2977
2978// SetValue sets the Value field's value.
2979func (s *ConfigurationTag) SetValue(v string) *ConfigurationTag {
2980	s.Value = &v
2981	return s
2982}
2983
2984// A list of continuous export descriptions.
2985type ContinuousExportDescription struct {
2986	_ struct{} `type:"structure"`
2987
2988	// The type of data collector used to gather this data (currently only offered
2989	// for AGENT).
2990	DataSource *string `locationName:"dataSource" type:"string" enum:"DataSource"`
2991
2992	// The unique ID assigned to this export.
2993	ExportId *string `locationName:"exportId" type:"string"`
2994
2995	// The name of the s3 bucket where the export data parquet files are stored.
2996	S3Bucket *string `locationName:"s3Bucket" type:"string"`
2997
2998	// An object which describes how the data is stored.
2999	//
3000	//    * databaseName - the name of the Glue database used to store the schema.
3001	SchemaStorageConfig map[string]*string `locationName:"schemaStorageConfig" type:"map"`
3002
3003	// The timestamp representing when the continuous export was started.
3004	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
3005
3006	// Describes the status of the export. Can be one of the following values:
3007	//
3008	//    * START_IN_PROGRESS - setting up resources to start continuous export.
3009	//
3010	//    * START_FAILED - an error occurred setting up continuous export. To recover,
3011	//    call start-continuous-export again.
3012	//
3013	//    * ACTIVE - data is being exported to the customer bucket.
3014	//
3015	//    * ERROR - an error occurred during export. To fix the issue, call stop-continuous-export
3016	//    and start-continuous-export.
3017	//
3018	//    * STOP_IN_PROGRESS - stopping the export.
3019	//
3020	//    * STOP_FAILED - an error occurred stopping the export. To recover, call
3021	//    stop-continuous-export again.
3022	//
3023	//    * INACTIVE - the continuous export has been stopped. Data is no longer
3024	//    being exported to the customer bucket.
3025	Status *string `locationName:"status" type:"string" enum:"ContinuousExportStatus"`
3026
3027	// Contains information about any errors that have occurred. This data type
3028	// can have the following values:
3029	//
3030	//    * ACCESS_DENIED - You don’t have permission to start Data Exploration
3031	//    in Amazon Athena. Contact your AWS administrator for help. For more information,
3032	//    see Setting Up AWS Application Discovery Service (http://docs.aws.amazon.com/application-discovery/latest/userguide/setting-up.html)
3033	//    in the Application Discovery Service User Guide.
3034	//
3035	//    * DELIVERY_STREAM_LIMIT_FAILURE - You reached the limit for Amazon Kinesis
3036	//    Data Firehose delivery streams. Reduce the number of streams or request
3037	//    a limit increase and try again. For more information, see Kinesis Data
3038	//    Streams Limits (http://docs.aws.amazon.com/streams/latest/dev/service-sizes-and-limits.html)
3039	//    in the Amazon Kinesis Data Streams Developer Guide.
3040	//
3041	//    * FIREHOSE_ROLE_MISSING - The Data Exploration feature is in an error
3042	//    state because your IAM User is missing the AWSApplicationDiscoveryServiceFirehose
3043	//    role. Turn on Data Exploration in Amazon Athena and try again. For more
3044	//    information, see Step 3: Provide Application Discovery Service Access
3045	//    to Non-Administrator Users by Attaching Policies (http://docs.aws.amazon.com/application-discovery/latest/userguide/setting-up.html#setting-up-user-policy)
3046	//    in the Application Discovery Service User Guide.
3047	//
3048	//    * FIREHOSE_STREAM_DOES_NOT_EXIST - The Data Exploration feature is in
3049	//    an error state because your IAM User is missing one or more of the Kinesis
3050	//    data delivery streams.
3051	//
3052	//    * INTERNAL_FAILURE - The Data Exploration feature is in an error state
3053	//    because of an internal failure. Try again later. If this problem persists,
3054	//    contact AWS Support.
3055	//
3056	//    * S3_BUCKET_LIMIT_FAILURE - You reached the limit for Amazon S3 buckets.
3057	//    Reduce the number of Amazon S3 buckets or request a limit increase and
3058	//    try again. For more information, see Bucket Restrictions and Limitations
3059	//    (http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html)
3060	//    in the Amazon Simple Storage Service Developer Guide.
3061	//
3062	//    * S3_NOT_SIGNED_UP - Your account is not signed up for the Amazon S3 service.
3063	//    You must sign up before you can use Amazon S3. You can sign up at the
3064	//    following URL: https://aws.amazon.com/s3 (https://aws.amazon.com/s3).
3065	StatusDetail *string `locationName:"statusDetail" min:"1" type:"string"`
3066
3067	// The timestamp that represents when this continuous export was stopped.
3068	StopTime *time.Time `locationName:"stopTime" type:"timestamp"`
3069}
3070
3071// String returns the string representation
3072func (s ContinuousExportDescription) String() string {
3073	return awsutil.Prettify(s)
3074}
3075
3076// GoString returns the string representation
3077func (s ContinuousExportDescription) GoString() string {
3078	return s.String()
3079}
3080
3081// SetDataSource sets the DataSource field's value.
3082func (s *ContinuousExportDescription) SetDataSource(v string) *ContinuousExportDescription {
3083	s.DataSource = &v
3084	return s
3085}
3086
3087// SetExportId sets the ExportId field's value.
3088func (s *ContinuousExportDescription) SetExportId(v string) *ContinuousExportDescription {
3089	s.ExportId = &v
3090	return s
3091}
3092
3093// SetS3Bucket sets the S3Bucket field's value.
3094func (s *ContinuousExportDescription) SetS3Bucket(v string) *ContinuousExportDescription {
3095	s.S3Bucket = &v
3096	return s
3097}
3098
3099// SetSchemaStorageConfig sets the SchemaStorageConfig field's value.
3100func (s *ContinuousExportDescription) SetSchemaStorageConfig(v map[string]*string) *ContinuousExportDescription {
3101	s.SchemaStorageConfig = v
3102	return s
3103}
3104
3105// SetStartTime sets the StartTime field's value.
3106func (s *ContinuousExportDescription) SetStartTime(v time.Time) *ContinuousExportDescription {
3107	s.StartTime = &v
3108	return s
3109}
3110
3111// SetStatus sets the Status field's value.
3112func (s *ContinuousExportDescription) SetStatus(v string) *ContinuousExportDescription {
3113	s.Status = &v
3114	return s
3115}
3116
3117// SetStatusDetail sets the StatusDetail field's value.
3118func (s *ContinuousExportDescription) SetStatusDetail(v string) *ContinuousExportDescription {
3119	s.StatusDetail = &v
3120	return s
3121}
3122
3123// SetStopTime sets the StopTime field's value.
3124func (s *ContinuousExportDescription) SetStopTime(v time.Time) *ContinuousExportDescription {
3125	s.StopTime = &v
3126	return s
3127}
3128
3129type CreateApplicationInput struct {
3130	_ struct{} `type:"structure"`
3131
3132	// Description of the application to be created.
3133	Description *string `locationName:"description" type:"string"`
3134
3135	// Name of the application to be created.
3136	//
3137	// Name is a required field
3138	Name *string `locationName:"name" type:"string" required:"true"`
3139}
3140
3141// String returns the string representation
3142func (s CreateApplicationInput) String() string {
3143	return awsutil.Prettify(s)
3144}
3145
3146// GoString returns the string representation
3147func (s CreateApplicationInput) GoString() string {
3148	return s.String()
3149}
3150
3151// Validate inspects the fields of the type to determine if they are valid.
3152func (s *CreateApplicationInput) Validate() error {
3153	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"}
3154	if s.Name == nil {
3155		invalidParams.Add(request.NewErrParamRequired("Name"))
3156	}
3157
3158	if invalidParams.Len() > 0 {
3159		return invalidParams
3160	}
3161	return nil
3162}
3163
3164// SetDescription sets the Description field's value.
3165func (s *CreateApplicationInput) SetDescription(v string) *CreateApplicationInput {
3166	s.Description = &v
3167	return s
3168}
3169
3170// SetName sets the Name field's value.
3171func (s *CreateApplicationInput) SetName(v string) *CreateApplicationInput {
3172	s.Name = &v
3173	return s
3174}
3175
3176type CreateApplicationOutput struct {
3177	_ struct{} `type:"structure"`
3178
3179	// Configuration ID of an application to be created.
3180	ConfigurationId *string `locationName:"configurationId" type:"string"`
3181}
3182
3183// String returns the string representation
3184func (s CreateApplicationOutput) String() string {
3185	return awsutil.Prettify(s)
3186}
3187
3188// GoString returns the string representation
3189func (s CreateApplicationOutput) GoString() string {
3190	return s.String()
3191}
3192
3193// SetConfigurationId sets the ConfigurationId field's value.
3194func (s *CreateApplicationOutput) SetConfigurationId(v string) *CreateApplicationOutput {
3195	s.ConfigurationId = &v
3196	return s
3197}
3198
3199type CreateTagsInput struct {
3200	_ struct{} `type:"structure"`
3201
3202	// A list of configuration items that you want to tag.
3203	//
3204	// ConfigurationIds is a required field
3205	ConfigurationIds []*string `locationName:"configurationIds" type:"list" required:"true"`
3206
3207	// Tags that you want to associate with one or more configuration items. Specify
3208	// the tags that you want to create in a key-value format. For example:
3209	//
3210	// {"key": "serverType", "value": "webServer"}
3211	//
3212	// Tags is a required field
3213	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
3214}
3215
3216// String returns the string representation
3217func (s CreateTagsInput) String() string {
3218	return awsutil.Prettify(s)
3219}
3220
3221// GoString returns the string representation
3222func (s CreateTagsInput) GoString() string {
3223	return s.String()
3224}
3225
3226// Validate inspects the fields of the type to determine if they are valid.
3227func (s *CreateTagsInput) Validate() error {
3228	invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
3229	if s.ConfigurationIds == nil {
3230		invalidParams.Add(request.NewErrParamRequired("ConfigurationIds"))
3231	}
3232	if s.Tags == nil {
3233		invalidParams.Add(request.NewErrParamRequired("Tags"))
3234	}
3235	if s.Tags != nil {
3236		for i, v := range s.Tags {
3237			if v == nil {
3238				continue
3239			}
3240			if err := v.Validate(); err != nil {
3241				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3242			}
3243		}
3244	}
3245
3246	if invalidParams.Len() > 0 {
3247		return invalidParams
3248	}
3249	return nil
3250}
3251
3252// SetConfigurationIds sets the ConfigurationIds field's value.
3253func (s *CreateTagsInput) SetConfigurationIds(v []*string) *CreateTagsInput {
3254	s.ConfigurationIds = v
3255	return s
3256}
3257
3258// SetTags sets the Tags field's value.
3259func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
3260	s.Tags = v
3261	return s
3262}
3263
3264type CreateTagsOutput struct {
3265	_ struct{} `type:"structure"`
3266}
3267
3268// String returns the string representation
3269func (s CreateTagsOutput) String() string {
3270	return awsutil.Prettify(s)
3271}
3272
3273// GoString returns the string representation
3274func (s CreateTagsOutput) GoString() string {
3275	return s.String()
3276}
3277
3278// Inventory data for installed discovery agents.
3279type CustomerAgentInfo struct {
3280	_ struct{} `type:"structure"`
3281
3282	// Number of active discovery agents.
3283	//
3284	// ActiveAgents is a required field
3285	ActiveAgents *int64 `locationName:"activeAgents" type:"integer" required:"true"`
3286
3287	// Number of blacklisted discovery agents.
3288	//
3289	// BlackListedAgents is a required field
3290	BlackListedAgents *int64 `locationName:"blackListedAgents" type:"integer" required:"true"`
3291
3292	// Number of healthy discovery agents
3293	//
3294	// HealthyAgents is a required field
3295	HealthyAgents *int64 `locationName:"healthyAgents" type:"integer" required:"true"`
3296
3297	// Number of discovery agents with status SHUTDOWN.
3298	//
3299	// ShutdownAgents is a required field
3300	ShutdownAgents *int64 `locationName:"shutdownAgents" type:"integer" required:"true"`
3301
3302	// Total number of discovery agents.
3303	//
3304	// TotalAgents is a required field
3305	TotalAgents *int64 `locationName:"totalAgents" type:"integer" required:"true"`
3306
3307	// Number of unhealthy discovery agents.
3308	//
3309	// UnhealthyAgents is a required field
3310	UnhealthyAgents *int64 `locationName:"unhealthyAgents" type:"integer" required:"true"`
3311
3312	// Number of unknown discovery agents.
3313	//
3314	// UnknownAgents is a required field
3315	UnknownAgents *int64 `locationName:"unknownAgents" type:"integer" required:"true"`
3316}
3317
3318// String returns the string representation
3319func (s CustomerAgentInfo) String() string {
3320	return awsutil.Prettify(s)
3321}
3322
3323// GoString returns the string representation
3324func (s CustomerAgentInfo) GoString() string {
3325	return s.String()
3326}
3327
3328// SetActiveAgents sets the ActiveAgents field's value.
3329func (s *CustomerAgentInfo) SetActiveAgents(v int64) *CustomerAgentInfo {
3330	s.ActiveAgents = &v
3331	return s
3332}
3333
3334// SetBlackListedAgents sets the BlackListedAgents field's value.
3335func (s *CustomerAgentInfo) SetBlackListedAgents(v int64) *CustomerAgentInfo {
3336	s.BlackListedAgents = &v
3337	return s
3338}
3339
3340// SetHealthyAgents sets the HealthyAgents field's value.
3341func (s *CustomerAgentInfo) SetHealthyAgents(v int64) *CustomerAgentInfo {
3342	s.HealthyAgents = &v
3343	return s
3344}
3345
3346// SetShutdownAgents sets the ShutdownAgents field's value.
3347func (s *CustomerAgentInfo) SetShutdownAgents(v int64) *CustomerAgentInfo {
3348	s.ShutdownAgents = &v
3349	return s
3350}
3351
3352// SetTotalAgents sets the TotalAgents field's value.
3353func (s *CustomerAgentInfo) SetTotalAgents(v int64) *CustomerAgentInfo {
3354	s.TotalAgents = &v
3355	return s
3356}
3357
3358// SetUnhealthyAgents sets the UnhealthyAgents field's value.
3359func (s *CustomerAgentInfo) SetUnhealthyAgents(v int64) *CustomerAgentInfo {
3360	s.UnhealthyAgents = &v
3361	return s
3362}
3363
3364// SetUnknownAgents sets the UnknownAgents field's value.
3365func (s *CustomerAgentInfo) SetUnknownAgents(v int64) *CustomerAgentInfo {
3366	s.UnknownAgents = &v
3367	return s
3368}
3369
3370// Inventory data for installed discovery connectors.
3371type CustomerConnectorInfo struct {
3372	_ struct{} `type:"structure"`
3373
3374	// Number of active discovery connectors.
3375	//
3376	// ActiveConnectors is a required field
3377	ActiveConnectors *int64 `locationName:"activeConnectors" type:"integer" required:"true"`
3378
3379	// Number of blacklisted discovery connectors.
3380	//
3381	// BlackListedConnectors is a required field
3382	BlackListedConnectors *int64 `locationName:"blackListedConnectors" type:"integer" required:"true"`
3383
3384	// Number of healthy discovery connectors.
3385	//
3386	// HealthyConnectors is a required field
3387	HealthyConnectors *int64 `locationName:"healthyConnectors" type:"integer" required:"true"`
3388
3389	// Number of discovery connectors with status SHUTDOWN,
3390	//
3391	// ShutdownConnectors is a required field
3392	ShutdownConnectors *int64 `locationName:"shutdownConnectors" type:"integer" required:"true"`
3393
3394	// Total number of discovery connectors.
3395	//
3396	// TotalConnectors is a required field
3397	TotalConnectors *int64 `locationName:"totalConnectors" type:"integer" required:"true"`
3398
3399	// Number of unhealthy discovery connectors.
3400	//
3401	// UnhealthyConnectors is a required field
3402	UnhealthyConnectors *int64 `locationName:"unhealthyConnectors" type:"integer" required:"true"`
3403
3404	// Number of unknown discovery connectors.
3405	//
3406	// UnknownConnectors is a required field
3407	UnknownConnectors *int64 `locationName:"unknownConnectors" type:"integer" required:"true"`
3408}
3409
3410// String returns the string representation
3411func (s CustomerConnectorInfo) String() string {
3412	return awsutil.Prettify(s)
3413}
3414
3415// GoString returns the string representation
3416func (s CustomerConnectorInfo) GoString() string {
3417	return s.String()
3418}
3419
3420// SetActiveConnectors sets the ActiveConnectors field's value.
3421func (s *CustomerConnectorInfo) SetActiveConnectors(v int64) *CustomerConnectorInfo {
3422	s.ActiveConnectors = &v
3423	return s
3424}
3425
3426// SetBlackListedConnectors sets the BlackListedConnectors field's value.
3427func (s *CustomerConnectorInfo) SetBlackListedConnectors(v int64) *CustomerConnectorInfo {
3428	s.BlackListedConnectors = &v
3429	return s
3430}
3431
3432// SetHealthyConnectors sets the HealthyConnectors field's value.
3433func (s *CustomerConnectorInfo) SetHealthyConnectors(v int64) *CustomerConnectorInfo {
3434	s.HealthyConnectors = &v
3435	return s
3436}
3437
3438// SetShutdownConnectors sets the ShutdownConnectors field's value.
3439func (s *CustomerConnectorInfo) SetShutdownConnectors(v int64) *CustomerConnectorInfo {
3440	s.ShutdownConnectors = &v
3441	return s
3442}
3443
3444// SetTotalConnectors sets the TotalConnectors field's value.
3445func (s *CustomerConnectorInfo) SetTotalConnectors(v int64) *CustomerConnectorInfo {
3446	s.TotalConnectors = &v
3447	return s
3448}
3449
3450// SetUnhealthyConnectors sets the UnhealthyConnectors field's value.
3451func (s *CustomerConnectorInfo) SetUnhealthyConnectors(v int64) *CustomerConnectorInfo {
3452	s.UnhealthyConnectors = &v
3453	return s
3454}
3455
3456// SetUnknownConnectors sets the UnknownConnectors field's value.
3457func (s *CustomerConnectorInfo) SetUnknownConnectors(v int64) *CustomerConnectorInfo {
3458	s.UnknownConnectors = &v
3459	return s
3460}
3461
3462type DeleteApplicationsInput struct {
3463	_ struct{} `type:"structure"`
3464
3465	// Configuration ID of an application to be deleted.
3466	//
3467	// ConfigurationIds is a required field
3468	ConfigurationIds []*string `locationName:"configurationIds" type:"list" required:"true"`
3469}
3470
3471// String returns the string representation
3472func (s DeleteApplicationsInput) String() string {
3473	return awsutil.Prettify(s)
3474}
3475
3476// GoString returns the string representation
3477func (s DeleteApplicationsInput) GoString() string {
3478	return s.String()
3479}
3480
3481// Validate inspects the fields of the type to determine if they are valid.
3482func (s *DeleteApplicationsInput) Validate() error {
3483	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationsInput"}
3484	if s.ConfigurationIds == nil {
3485		invalidParams.Add(request.NewErrParamRequired("ConfigurationIds"))
3486	}
3487
3488	if invalidParams.Len() > 0 {
3489		return invalidParams
3490	}
3491	return nil
3492}
3493
3494// SetConfigurationIds sets the ConfigurationIds field's value.
3495func (s *DeleteApplicationsInput) SetConfigurationIds(v []*string) *DeleteApplicationsInput {
3496	s.ConfigurationIds = v
3497	return s
3498}
3499
3500type DeleteApplicationsOutput struct {
3501	_ struct{} `type:"structure"`
3502}
3503
3504// String returns the string representation
3505func (s DeleteApplicationsOutput) String() string {
3506	return awsutil.Prettify(s)
3507}
3508
3509// GoString returns the string representation
3510func (s DeleteApplicationsOutput) GoString() string {
3511	return s.String()
3512}
3513
3514type DeleteTagsInput struct {
3515	_ struct{} `type:"structure"`
3516
3517	// A list of configuration items with tags that you want to delete.
3518	//
3519	// ConfigurationIds is a required field
3520	ConfigurationIds []*string `locationName:"configurationIds" type:"list" required:"true"`
3521
3522	// Tags that you want to delete from one or more configuration items. Specify
3523	// the tags that you want to delete in a key-value format. For example:
3524	//
3525	// {"key": "serverType", "value": "webServer"}
3526	Tags []*Tag `locationName:"tags" type:"list"`
3527}
3528
3529// String returns the string representation
3530func (s DeleteTagsInput) String() string {
3531	return awsutil.Prettify(s)
3532}
3533
3534// GoString returns the string representation
3535func (s DeleteTagsInput) GoString() string {
3536	return s.String()
3537}
3538
3539// Validate inspects the fields of the type to determine if they are valid.
3540func (s *DeleteTagsInput) Validate() error {
3541	invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
3542	if s.ConfigurationIds == nil {
3543		invalidParams.Add(request.NewErrParamRequired("ConfigurationIds"))
3544	}
3545	if s.Tags != nil {
3546		for i, v := range s.Tags {
3547			if v == nil {
3548				continue
3549			}
3550			if err := v.Validate(); err != nil {
3551				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
3552			}
3553		}
3554	}
3555
3556	if invalidParams.Len() > 0 {
3557		return invalidParams
3558	}
3559	return nil
3560}
3561
3562// SetConfigurationIds sets the ConfigurationIds field's value.
3563func (s *DeleteTagsInput) SetConfigurationIds(v []*string) *DeleteTagsInput {
3564	s.ConfigurationIds = v
3565	return s
3566}
3567
3568// SetTags sets the Tags field's value.
3569func (s *DeleteTagsInput) SetTags(v []*Tag) *DeleteTagsInput {
3570	s.Tags = v
3571	return s
3572}
3573
3574type DeleteTagsOutput struct {
3575	_ struct{} `type:"structure"`
3576}
3577
3578// String returns the string representation
3579func (s DeleteTagsOutput) String() string {
3580	return awsutil.Prettify(s)
3581}
3582
3583// GoString returns the string representation
3584func (s DeleteTagsOutput) GoString() string {
3585	return s.String()
3586}
3587
3588type DescribeAgentsInput struct {
3589	_ struct{} `type:"structure"`
3590
3591	// The agent or the Connector IDs for which you want information. If you specify
3592	// no IDs, the system returns information about all agents/Connectors associated
3593	// with your AWS user account.
3594	AgentIds []*string `locationName:"agentIds" type:"list"`
3595
3596	// You can filter the request using various logical operators and a key-value
3597	// format. For example:
3598	//
3599	// {"key": "collectionStatus", "value": "STARTED"}
3600	Filters []*Filter `locationName:"filters" type:"list"`
3601
3602	// The total number of agents/Connectors to return in a single page of output.
3603	// The maximum value is 100.
3604	MaxResults *int64 `locationName:"maxResults" type:"integer"`
3605
3606	// Token to retrieve the next set of results. For example, if you previously
3607	// specified 100 IDs for DescribeAgentsRequest$agentIds but set DescribeAgentsRequest$maxResults
3608	// to 10, you received a set of 10 results along with a token. Use that token
3609	// in this query to get the next set of 10.
3610	NextToken *string `locationName:"nextToken" type:"string"`
3611}
3612
3613// String returns the string representation
3614func (s DescribeAgentsInput) String() string {
3615	return awsutil.Prettify(s)
3616}
3617
3618// GoString returns the string representation
3619func (s DescribeAgentsInput) GoString() string {
3620	return s.String()
3621}
3622
3623// Validate inspects the fields of the type to determine if they are valid.
3624func (s *DescribeAgentsInput) Validate() error {
3625	invalidParams := request.ErrInvalidParams{Context: "DescribeAgentsInput"}
3626	if s.Filters != nil {
3627		for i, v := range s.Filters {
3628			if v == nil {
3629				continue
3630			}
3631			if err := v.Validate(); err != nil {
3632				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
3633			}
3634		}
3635	}
3636
3637	if invalidParams.Len() > 0 {
3638		return invalidParams
3639	}
3640	return nil
3641}
3642
3643// SetAgentIds sets the AgentIds field's value.
3644func (s *DescribeAgentsInput) SetAgentIds(v []*string) *DescribeAgentsInput {
3645	s.AgentIds = v
3646	return s
3647}
3648
3649// SetFilters sets the Filters field's value.
3650func (s *DescribeAgentsInput) SetFilters(v []*Filter) *DescribeAgentsInput {
3651	s.Filters = v
3652	return s
3653}
3654
3655// SetMaxResults sets the MaxResults field's value.
3656func (s *DescribeAgentsInput) SetMaxResults(v int64) *DescribeAgentsInput {
3657	s.MaxResults = &v
3658	return s
3659}
3660
3661// SetNextToken sets the NextToken field's value.
3662func (s *DescribeAgentsInput) SetNextToken(v string) *DescribeAgentsInput {
3663	s.NextToken = &v
3664	return s
3665}
3666
3667type DescribeAgentsOutput struct {
3668	_ struct{} `type:"structure"`
3669
3670	// Lists agents or the Connector by ID or lists all agents/Connectors associated
3671	// with your user account if you did not specify an agent/Connector ID. The
3672	// output includes agent/Connector IDs, IP addresses, media access control (MAC)
3673	// addresses, agent/Connector health, host name where the agent/Connector resides,
3674	// and the version number of each agent/Connector.
3675	AgentsInfo []*AgentInfo `locationName:"agentsInfo" type:"list"`
3676
3677	// Token to retrieve the next set of results. For example, if you specified
3678	// 100 IDs for DescribeAgentsRequest$agentIds but set DescribeAgentsRequest$maxResults
3679	// to 10, you received a set of 10 results along with this token. Use this token
3680	// in the next query to retrieve the next set of 10.
3681	NextToken *string `locationName:"nextToken" type:"string"`
3682}
3683
3684// String returns the string representation
3685func (s DescribeAgentsOutput) String() string {
3686	return awsutil.Prettify(s)
3687}
3688
3689// GoString returns the string representation
3690func (s DescribeAgentsOutput) GoString() string {
3691	return s.String()
3692}
3693
3694// SetAgentsInfo sets the AgentsInfo field's value.
3695func (s *DescribeAgentsOutput) SetAgentsInfo(v []*AgentInfo) *DescribeAgentsOutput {
3696	s.AgentsInfo = v
3697	return s
3698}
3699
3700// SetNextToken sets the NextToken field's value.
3701func (s *DescribeAgentsOutput) SetNextToken(v string) *DescribeAgentsOutput {
3702	s.NextToken = &v
3703	return s
3704}
3705
3706type DescribeConfigurationsInput struct {
3707	_ struct{} `type:"structure"`
3708
3709	// One or more configuration IDs.
3710	//
3711	// ConfigurationIds is a required field
3712	ConfigurationIds []*string `locationName:"configurationIds" type:"list" required:"true"`
3713}
3714
3715// String returns the string representation
3716func (s DescribeConfigurationsInput) String() string {
3717	return awsutil.Prettify(s)
3718}
3719
3720// GoString returns the string representation
3721func (s DescribeConfigurationsInput) GoString() string {
3722	return s.String()
3723}
3724
3725// Validate inspects the fields of the type to determine if they are valid.
3726func (s *DescribeConfigurationsInput) Validate() error {
3727	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationsInput"}
3728	if s.ConfigurationIds == nil {
3729		invalidParams.Add(request.NewErrParamRequired("ConfigurationIds"))
3730	}
3731
3732	if invalidParams.Len() > 0 {
3733		return invalidParams
3734	}
3735	return nil
3736}
3737
3738// SetConfigurationIds sets the ConfigurationIds field's value.
3739func (s *DescribeConfigurationsInput) SetConfigurationIds(v []*string) *DescribeConfigurationsInput {
3740	s.ConfigurationIds = v
3741	return s
3742}
3743
3744type DescribeConfigurationsOutput struct {
3745	_ struct{} `type:"structure"`
3746
3747	// A key in the response map. The value is an array of data.
3748	Configurations []map[string]*string `locationName:"configurations" type:"list"`
3749}
3750
3751// String returns the string representation
3752func (s DescribeConfigurationsOutput) String() string {
3753	return awsutil.Prettify(s)
3754}
3755
3756// GoString returns the string representation
3757func (s DescribeConfigurationsOutput) GoString() string {
3758	return s.String()
3759}
3760
3761// SetConfigurations sets the Configurations field's value.
3762func (s *DescribeConfigurationsOutput) SetConfigurations(v []map[string]*string) *DescribeConfigurationsOutput {
3763	s.Configurations = v
3764	return s
3765}
3766
3767type DescribeContinuousExportsInput struct {
3768	_ struct{} `type:"structure"`
3769
3770	// The unique IDs assigned to the exports.
3771	ExportIds []*string `locationName:"exportIds" type:"list"`
3772
3773	// A number between 1 and 100 specifying the maximum number of continuous export
3774	// descriptions returned.
3775	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
3776
3777	// The token from the previous call to DescribeExportTasks.
3778	NextToken *string `locationName:"nextToken" type:"string"`
3779}
3780
3781// String returns the string representation
3782func (s DescribeContinuousExportsInput) String() string {
3783	return awsutil.Prettify(s)
3784}
3785
3786// GoString returns the string representation
3787func (s DescribeContinuousExportsInput) GoString() string {
3788	return s.String()
3789}
3790
3791// Validate inspects the fields of the type to determine if they are valid.
3792func (s *DescribeContinuousExportsInput) Validate() error {
3793	invalidParams := request.ErrInvalidParams{Context: "DescribeContinuousExportsInput"}
3794	if s.MaxResults != nil && *s.MaxResults < 1 {
3795		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3796	}
3797
3798	if invalidParams.Len() > 0 {
3799		return invalidParams
3800	}
3801	return nil
3802}
3803
3804// SetExportIds sets the ExportIds field's value.
3805func (s *DescribeContinuousExportsInput) SetExportIds(v []*string) *DescribeContinuousExportsInput {
3806	s.ExportIds = v
3807	return s
3808}
3809
3810// SetMaxResults sets the MaxResults field's value.
3811func (s *DescribeContinuousExportsInput) SetMaxResults(v int64) *DescribeContinuousExportsInput {
3812	s.MaxResults = &v
3813	return s
3814}
3815
3816// SetNextToken sets the NextToken field's value.
3817func (s *DescribeContinuousExportsInput) SetNextToken(v string) *DescribeContinuousExportsInput {
3818	s.NextToken = &v
3819	return s
3820}
3821
3822type DescribeContinuousExportsOutput struct {
3823	_ struct{} `type:"structure"`
3824
3825	// A list of continuous export descriptions.
3826	Descriptions []*ContinuousExportDescription `locationName:"descriptions" type:"list"`
3827
3828	// The token from the previous call to DescribeExportTasks.
3829	NextToken *string `locationName:"nextToken" type:"string"`
3830}
3831
3832// String returns the string representation
3833func (s DescribeContinuousExportsOutput) String() string {
3834	return awsutil.Prettify(s)
3835}
3836
3837// GoString returns the string representation
3838func (s DescribeContinuousExportsOutput) GoString() string {
3839	return s.String()
3840}
3841
3842// SetDescriptions sets the Descriptions field's value.
3843func (s *DescribeContinuousExportsOutput) SetDescriptions(v []*ContinuousExportDescription) *DescribeContinuousExportsOutput {
3844	s.Descriptions = v
3845	return s
3846}
3847
3848// SetNextToken sets the NextToken field's value.
3849func (s *DescribeContinuousExportsOutput) SetNextToken(v string) *DescribeContinuousExportsOutput {
3850	s.NextToken = &v
3851	return s
3852}
3853
3854type DescribeExportConfigurationsInput struct {
3855	_ struct{} `type:"structure"`
3856
3857	// A list of continuous export ids to search for.
3858	ExportIds []*string `locationName:"exportIds" type:"list"`
3859
3860	// A number between 1 and 100 specifying the maximum number of continuous export
3861	// descriptions returned.
3862	MaxResults *int64 `locationName:"maxResults" type:"integer"`
3863
3864	// The token from the previous call to describe-export-tasks.
3865	NextToken *string `locationName:"nextToken" type:"string"`
3866}
3867
3868// String returns the string representation
3869func (s DescribeExportConfigurationsInput) String() string {
3870	return awsutil.Prettify(s)
3871}
3872
3873// GoString returns the string representation
3874func (s DescribeExportConfigurationsInput) GoString() string {
3875	return s.String()
3876}
3877
3878// SetExportIds sets the ExportIds field's value.
3879func (s *DescribeExportConfigurationsInput) SetExportIds(v []*string) *DescribeExportConfigurationsInput {
3880	s.ExportIds = v
3881	return s
3882}
3883
3884// SetMaxResults sets the MaxResults field's value.
3885func (s *DescribeExportConfigurationsInput) SetMaxResults(v int64) *DescribeExportConfigurationsInput {
3886	s.MaxResults = &v
3887	return s
3888}
3889
3890// SetNextToken sets the NextToken field's value.
3891func (s *DescribeExportConfigurationsInput) SetNextToken(v string) *DescribeExportConfigurationsInput {
3892	s.NextToken = &v
3893	return s
3894}
3895
3896type DescribeExportConfigurationsOutput struct {
3897	_ struct{} `type:"structure"`
3898
3899	ExportsInfo []*ExportInfo `locationName:"exportsInfo" type:"list"`
3900
3901	// The token from the previous call to describe-export-tasks.
3902	NextToken *string `locationName:"nextToken" type:"string"`
3903}
3904
3905// String returns the string representation
3906func (s DescribeExportConfigurationsOutput) String() string {
3907	return awsutil.Prettify(s)
3908}
3909
3910// GoString returns the string representation
3911func (s DescribeExportConfigurationsOutput) GoString() string {
3912	return s.String()
3913}
3914
3915// SetExportsInfo sets the ExportsInfo field's value.
3916func (s *DescribeExportConfigurationsOutput) SetExportsInfo(v []*ExportInfo) *DescribeExportConfigurationsOutput {
3917	s.ExportsInfo = v
3918	return s
3919}
3920
3921// SetNextToken sets the NextToken field's value.
3922func (s *DescribeExportConfigurationsOutput) SetNextToken(v string) *DescribeExportConfigurationsOutput {
3923	s.NextToken = &v
3924	return s
3925}
3926
3927type DescribeExportTasksInput struct {
3928	_ struct{} `type:"structure"`
3929
3930	// One or more unique identifiers used to query the status of an export request.
3931	ExportIds []*string `locationName:"exportIds" type:"list"`
3932
3933	// One or more filters.
3934	//
3935	//    * AgentId - ID of the agent whose collected data will be exported
3936	Filters []*ExportFilter `locationName:"filters" type:"list"`
3937
3938	// The maximum number of volume results returned by DescribeExportTasks in paginated
3939	// output. When this parameter is used, DescribeExportTasks only returns maxResults
3940	// results in a single page along with a nextToken response element.
3941	MaxResults *int64 `locationName:"maxResults" type:"integer"`
3942
3943	// The nextToken value returned from a previous paginated DescribeExportTasks
3944	// request where maxResults was used and the results exceeded the value of that
3945	// parameter. Pagination continues from the end of the previous results that
3946	// returned the nextToken value. This value is null when there are no more results
3947	// to return.
3948	NextToken *string `locationName:"nextToken" type:"string"`
3949}
3950
3951// String returns the string representation
3952func (s DescribeExportTasksInput) String() string {
3953	return awsutil.Prettify(s)
3954}
3955
3956// GoString returns the string representation
3957func (s DescribeExportTasksInput) GoString() string {
3958	return s.String()
3959}
3960
3961// Validate inspects the fields of the type to determine if they are valid.
3962func (s *DescribeExportTasksInput) Validate() error {
3963	invalidParams := request.ErrInvalidParams{Context: "DescribeExportTasksInput"}
3964	if s.Filters != nil {
3965		for i, v := range s.Filters {
3966			if v == nil {
3967				continue
3968			}
3969			if err := v.Validate(); err != nil {
3970				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
3971			}
3972		}
3973	}
3974
3975	if invalidParams.Len() > 0 {
3976		return invalidParams
3977	}
3978	return nil
3979}
3980
3981// SetExportIds sets the ExportIds field's value.
3982func (s *DescribeExportTasksInput) SetExportIds(v []*string) *DescribeExportTasksInput {
3983	s.ExportIds = v
3984	return s
3985}
3986
3987// SetFilters sets the Filters field's value.
3988func (s *DescribeExportTasksInput) SetFilters(v []*ExportFilter) *DescribeExportTasksInput {
3989	s.Filters = v
3990	return s
3991}
3992
3993// SetMaxResults sets the MaxResults field's value.
3994func (s *DescribeExportTasksInput) SetMaxResults(v int64) *DescribeExportTasksInput {
3995	s.MaxResults = &v
3996	return s
3997}
3998
3999// SetNextToken sets the NextToken field's value.
4000func (s *DescribeExportTasksInput) SetNextToken(v string) *DescribeExportTasksInput {
4001	s.NextToken = &v
4002	return s
4003}
4004
4005type DescribeExportTasksOutput struct {
4006	_ struct{} `type:"structure"`
4007
4008	// Contains one or more sets of export request details. When the status of a
4009	// request is SUCCEEDED, the response includes a URL for an Amazon S3 bucket
4010	// where you can view the data in a CSV file.
4011	ExportsInfo []*ExportInfo `locationName:"exportsInfo" type:"list"`
4012
4013	// The nextToken value to include in a future DescribeExportTasks request. When
4014	// the results of a DescribeExportTasks request exceed maxResults, this value
4015	// can be used to retrieve the next page of results. This value is null when
4016	// there are no more results to return.
4017	NextToken *string `locationName:"nextToken" type:"string"`
4018}
4019
4020// String returns the string representation
4021func (s DescribeExportTasksOutput) String() string {
4022	return awsutil.Prettify(s)
4023}
4024
4025// GoString returns the string representation
4026func (s DescribeExportTasksOutput) GoString() string {
4027	return s.String()
4028}
4029
4030// SetExportsInfo sets the ExportsInfo field's value.
4031func (s *DescribeExportTasksOutput) SetExportsInfo(v []*ExportInfo) *DescribeExportTasksOutput {
4032	s.ExportsInfo = v
4033	return s
4034}
4035
4036// SetNextToken sets the NextToken field's value.
4037func (s *DescribeExportTasksOutput) SetNextToken(v string) *DescribeExportTasksOutput {
4038	s.NextToken = &v
4039	return s
4040}
4041
4042type DescribeImportTasksInput struct {
4043	_ struct{} `type:"structure"`
4044
4045	// An array of name-value pairs that you provide to filter the results for the
4046	// DescribeImportTask request to a specific subset of results. Currently, wildcard
4047	// values aren't supported for filters.
4048	Filters []*ImportTaskFilter `locationName:"filters" type:"list"`
4049
4050	// The maximum number of results that you want this request to return, up to
4051	// 100.
4052	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
4053
4054	// The token to request a specific page of results.
4055	NextToken *string `locationName:"nextToken" type:"string"`
4056}
4057
4058// String returns the string representation
4059func (s DescribeImportTasksInput) String() string {
4060	return awsutil.Prettify(s)
4061}
4062
4063// GoString returns the string representation
4064func (s DescribeImportTasksInput) GoString() string {
4065	return s.String()
4066}
4067
4068// Validate inspects the fields of the type to determine if they are valid.
4069func (s *DescribeImportTasksInput) Validate() error {
4070	invalidParams := request.ErrInvalidParams{Context: "DescribeImportTasksInput"}
4071	if s.MaxResults != nil && *s.MaxResults < 1 {
4072		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4073	}
4074	if s.Filters != nil {
4075		for i, v := range s.Filters {
4076			if v == nil {
4077				continue
4078			}
4079			if err := v.Validate(); err != nil {
4080				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
4081			}
4082		}
4083	}
4084
4085	if invalidParams.Len() > 0 {
4086		return invalidParams
4087	}
4088	return nil
4089}
4090
4091// SetFilters sets the Filters field's value.
4092func (s *DescribeImportTasksInput) SetFilters(v []*ImportTaskFilter) *DescribeImportTasksInput {
4093	s.Filters = v
4094	return s
4095}
4096
4097// SetMaxResults sets the MaxResults field's value.
4098func (s *DescribeImportTasksInput) SetMaxResults(v int64) *DescribeImportTasksInput {
4099	s.MaxResults = &v
4100	return s
4101}
4102
4103// SetNextToken sets the NextToken field's value.
4104func (s *DescribeImportTasksInput) SetNextToken(v string) *DescribeImportTasksInput {
4105	s.NextToken = &v
4106	return s
4107}
4108
4109type DescribeImportTasksOutput struct {
4110	_ struct{} `type:"structure"`
4111
4112	// The token to request the next page of results.
4113	NextToken *string `locationName:"nextToken" type:"string"`
4114
4115	// A returned array of import tasks that match any applied filters, up to the
4116	// specified number of maximum results.
4117	Tasks []*ImportTask `locationName:"tasks" type:"list"`
4118}
4119
4120// String returns the string representation
4121func (s DescribeImportTasksOutput) String() string {
4122	return awsutil.Prettify(s)
4123}
4124
4125// GoString returns the string representation
4126func (s DescribeImportTasksOutput) GoString() string {
4127	return s.String()
4128}
4129
4130// SetNextToken sets the NextToken field's value.
4131func (s *DescribeImportTasksOutput) SetNextToken(v string) *DescribeImportTasksOutput {
4132	s.NextToken = &v
4133	return s
4134}
4135
4136// SetTasks sets the Tasks field's value.
4137func (s *DescribeImportTasksOutput) SetTasks(v []*ImportTask) *DescribeImportTasksOutput {
4138	s.Tasks = v
4139	return s
4140}
4141
4142type DescribeTagsInput struct {
4143	_ struct{} `type:"structure"`
4144
4145	// You can filter the list using a key-value format. You can separate these
4146	// items by using logical operators. Allowed filters include tagKey, tagValue,
4147	// and configurationId.
4148	Filters []*TagFilter `locationName:"filters" type:"list"`
4149
4150	// The total number of items to return in a single page of output. The maximum
4151	// value is 100.
4152	MaxResults *int64 `locationName:"maxResults" type:"integer"`
4153
4154	// A token to start the list. Use this token to get the next set of results.
4155	NextToken *string `locationName:"nextToken" type:"string"`
4156}
4157
4158// String returns the string representation
4159func (s DescribeTagsInput) String() string {
4160	return awsutil.Prettify(s)
4161}
4162
4163// GoString returns the string representation
4164func (s DescribeTagsInput) GoString() string {
4165	return s.String()
4166}
4167
4168// Validate inspects the fields of the type to determine if they are valid.
4169func (s *DescribeTagsInput) Validate() error {
4170	invalidParams := request.ErrInvalidParams{Context: "DescribeTagsInput"}
4171	if s.Filters != nil {
4172		for i, v := range s.Filters {
4173			if v == nil {
4174				continue
4175			}
4176			if err := v.Validate(); err != nil {
4177				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
4178			}
4179		}
4180	}
4181
4182	if invalidParams.Len() > 0 {
4183		return invalidParams
4184	}
4185	return nil
4186}
4187
4188// SetFilters sets the Filters field's value.
4189func (s *DescribeTagsInput) SetFilters(v []*TagFilter) *DescribeTagsInput {
4190	s.Filters = v
4191	return s
4192}
4193
4194// SetMaxResults sets the MaxResults field's value.
4195func (s *DescribeTagsInput) SetMaxResults(v int64) *DescribeTagsInput {
4196	s.MaxResults = &v
4197	return s
4198}
4199
4200// SetNextToken sets the NextToken field's value.
4201func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput {
4202	s.NextToken = &v
4203	return s
4204}
4205
4206type DescribeTagsOutput struct {
4207	_ struct{} `type:"structure"`
4208
4209	// The call returns a token. Use this token to get the next set of results.
4210	NextToken *string `locationName:"nextToken" type:"string"`
4211
4212	// Depending on the input, this is a list of configuration items tagged with
4213	// a specific tag, or a list of tags for a specific configuration item.
4214	Tags []*ConfigurationTag `locationName:"tags" type:"list"`
4215}
4216
4217// String returns the string representation
4218func (s DescribeTagsOutput) String() string {
4219	return awsutil.Prettify(s)
4220}
4221
4222// GoString returns the string representation
4223func (s DescribeTagsOutput) GoString() string {
4224	return s.String()
4225}
4226
4227// SetNextToken sets the NextToken field's value.
4228func (s *DescribeTagsOutput) SetNextToken(v string) *DescribeTagsOutput {
4229	s.NextToken = &v
4230	return s
4231}
4232
4233// SetTags sets the Tags field's value.
4234func (s *DescribeTagsOutput) SetTags(v []*ConfigurationTag) *DescribeTagsOutput {
4235	s.Tags = v
4236	return s
4237}
4238
4239type DisassociateConfigurationItemsFromApplicationInput struct {
4240	_ struct{} `type:"structure"`
4241
4242	// Configuration ID of an application from which each item is disassociated.
4243	//
4244	// ApplicationConfigurationId is a required field
4245	ApplicationConfigurationId *string `locationName:"applicationConfigurationId" type:"string" required:"true"`
4246
4247	// Configuration ID of each item to be disassociated from an application.
4248	//
4249	// ConfigurationIds is a required field
4250	ConfigurationIds []*string `locationName:"configurationIds" type:"list" required:"true"`
4251}
4252
4253// String returns the string representation
4254func (s DisassociateConfigurationItemsFromApplicationInput) String() string {
4255	return awsutil.Prettify(s)
4256}
4257
4258// GoString returns the string representation
4259func (s DisassociateConfigurationItemsFromApplicationInput) GoString() string {
4260	return s.String()
4261}
4262
4263// Validate inspects the fields of the type to determine if they are valid.
4264func (s *DisassociateConfigurationItemsFromApplicationInput) Validate() error {
4265	invalidParams := request.ErrInvalidParams{Context: "DisassociateConfigurationItemsFromApplicationInput"}
4266	if s.ApplicationConfigurationId == nil {
4267		invalidParams.Add(request.NewErrParamRequired("ApplicationConfigurationId"))
4268	}
4269	if s.ConfigurationIds == nil {
4270		invalidParams.Add(request.NewErrParamRequired("ConfigurationIds"))
4271	}
4272
4273	if invalidParams.Len() > 0 {
4274		return invalidParams
4275	}
4276	return nil
4277}
4278
4279// SetApplicationConfigurationId sets the ApplicationConfigurationId field's value.
4280func (s *DisassociateConfigurationItemsFromApplicationInput) SetApplicationConfigurationId(v string) *DisassociateConfigurationItemsFromApplicationInput {
4281	s.ApplicationConfigurationId = &v
4282	return s
4283}
4284
4285// SetConfigurationIds sets the ConfigurationIds field's value.
4286func (s *DisassociateConfigurationItemsFromApplicationInput) SetConfigurationIds(v []*string) *DisassociateConfigurationItemsFromApplicationInput {
4287	s.ConfigurationIds = v
4288	return s
4289}
4290
4291type DisassociateConfigurationItemsFromApplicationOutput struct {
4292	_ struct{} `type:"structure"`
4293}
4294
4295// String returns the string representation
4296func (s DisassociateConfigurationItemsFromApplicationOutput) String() string {
4297	return awsutil.Prettify(s)
4298}
4299
4300// GoString returns the string representation
4301func (s DisassociateConfigurationItemsFromApplicationOutput) GoString() string {
4302	return s.String()
4303}
4304
4305type ExportConfigurationsInput struct {
4306	_ struct{} `type:"structure"`
4307}
4308
4309// String returns the string representation
4310func (s ExportConfigurationsInput) String() string {
4311	return awsutil.Prettify(s)
4312}
4313
4314// GoString returns the string representation
4315func (s ExportConfigurationsInput) GoString() string {
4316	return s.String()
4317}
4318
4319type ExportConfigurationsOutput struct {
4320	_ struct{} `type:"structure"`
4321
4322	// A unique identifier that you can use to query the export status.
4323	ExportId *string `locationName:"exportId" type:"string"`
4324}
4325
4326// String returns the string representation
4327func (s ExportConfigurationsOutput) String() string {
4328	return awsutil.Prettify(s)
4329}
4330
4331// GoString returns the string representation
4332func (s ExportConfigurationsOutput) GoString() string {
4333	return s.String()
4334}
4335
4336// SetExportId sets the ExportId field's value.
4337func (s *ExportConfigurationsOutput) SetExportId(v string) *ExportConfigurationsOutput {
4338	s.ExportId = &v
4339	return s
4340}
4341
4342// Used to select which agent's data is to be exported. A single agent ID may
4343// be selected for export using the StartExportTask (http://docs.aws.amazon.com/application-discovery/latest/APIReference/API_StartExportTask.html)
4344// action.
4345type ExportFilter struct {
4346	_ struct{} `type:"structure"`
4347
4348	// Supported condition: EQUALS
4349	//
4350	// Condition is a required field
4351	Condition *string `locationName:"condition" type:"string" required:"true"`
4352
4353	// A single ExportFilter name. Supported filters: agentId.
4354	//
4355	// Name is a required field
4356	Name *string `locationName:"name" type:"string" required:"true"`
4357
4358	// A single agentId for a Discovery Agent. An agentId can be found using the
4359	// DescribeAgents (http://docs.aws.amazon.com/application-discovery/latest/APIReference/API_DescribeExportTasks.html)
4360	// action. Typically an ADS agentId is in the form o-0123456789abcdef0.
4361	//
4362	// Values is a required field
4363	Values []*string `locationName:"values" type:"list" required:"true"`
4364}
4365
4366// String returns the string representation
4367func (s ExportFilter) String() string {
4368	return awsutil.Prettify(s)
4369}
4370
4371// GoString returns the string representation
4372func (s ExportFilter) GoString() string {
4373	return s.String()
4374}
4375
4376// Validate inspects the fields of the type to determine if they are valid.
4377func (s *ExportFilter) Validate() error {
4378	invalidParams := request.ErrInvalidParams{Context: "ExportFilter"}
4379	if s.Condition == nil {
4380		invalidParams.Add(request.NewErrParamRequired("Condition"))
4381	}
4382	if s.Name == nil {
4383		invalidParams.Add(request.NewErrParamRequired("Name"))
4384	}
4385	if s.Values == nil {
4386		invalidParams.Add(request.NewErrParamRequired("Values"))
4387	}
4388
4389	if invalidParams.Len() > 0 {
4390		return invalidParams
4391	}
4392	return nil
4393}
4394
4395// SetCondition sets the Condition field's value.
4396func (s *ExportFilter) SetCondition(v string) *ExportFilter {
4397	s.Condition = &v
4398	return s
4399}
4400
4401// SetName sets the Name field's value.
4402func (s *ExportFilter) SetName(v string) *ExportFilter {
4403	s.Name = &v
4404	return s
4405}
4406
4407// SetValues sets the Values field's value.
4408func (s *ExportFilter) SetValues(v []*string) *ExportFilter {
4409	s.Values = v
4410	return s
4411}
4412
4413// Information regarding the export status of discovered data. The value is
4414// an array of objects.
4415type ExportInfo struct {
4416	_ struct{} `type:"structure"`
4417
4418	// A URL for an Amazon S3 bucket where you can review the exported data. The
4419	// URL is displayed only if the export succeeded.
4420	ConfigurationsDownloadUrl *string `locationName:"configurationsDownloadUrl" type:"string"`
4421
4422	// A unique identifier used to query an export.
4423	//
4424	// ExportId is a required field
4425	ExportId *string `locationName:"exportId" type:"string" required:"true"`
4426
4427	// The time that the data export was initiated.
4428	//
4429	// ExportRequestTime is a required field
4430	ExportRequestTime *time.Time `locationName:"exportRequestTime" type:"timestamp" required:"true"`
4431
4432	// The status of the data export job.
4433	//
4434	// ExportStatus is a required field
4435	ExportStatus *string `locationName:"exportStatus" type:"string" required:"true" enum:"ExportStatus"`
4436
4437	// If true, the export of agent information exceeded the size limit for a single
4438	// export and the exported data is incomplete for the requested time range.
4439	// To address this, select a smaller time range for the export by using startDate
4440	// and endDate.
4441	IsTruncated *bool `locationName:"isTruncated" type:"boolean"`
4442
4443	// The endTime used in the StartExportTask request. If no endTime was requested,
4444	// this result does not appear in ExportInfo.
4445	RequestedEndTime *time.Time `locationName:"requestedEndTime" type:"timestamp"`
4446
4447	// The value of startTime parameter in the StartExportTask request. If no startTime
4448	// was requested, this result does not appear in ExportInfo.
4449	RequestedStartTime *time.Time `locationName:"requestedStartTime" type:"timestamp"`
4450
4451	// A status message provided for API callers.
4452	//
4453	// StatusMessage is a required field
4454	StatusMessage *string `locationName:"statusMessage" type:"string" required:"true"`
4455}
4456
4457// String returns the string representation
4458func (s ExportInfo) String() string {
4459	return awsutil.Prettify(s)
4460}
4461
4462// GoString returns the string representation
4463func (s ExportInfo) GoString() string {
4464	return s.String()
4465}
4466
4467// SetConfigurationsDownloadUrl sets the ConfigurationsDownloadUrl field's value.
4468func (s *ExportInfo) SetConfigurationsDownloadUrl(v string) *ExportInfo {
4469	s.ConfigurationsDownloadUrl = &v
4470	return s
4471}
4472
4473// SetExportId sets the ExportId field's value.
4474func (s *ExportInfo) SetExportId(v string) *ExportInfo {
4475	s.ExportId = &v
4476	return s
4477}
4478
4479// SetExportRequestTime sets the ExportRequestTime field's value.
4480func (s *ExportInfo) SetExportRequestTime(v time.Time) *ExportInfo {
4481	s.ExportRequestTime = &v
4482	return s
4483}
4484
4485// SetExportStatus sets the ExportStatus field's value.
4486func (s *ExportInfo) SetExportStatus(v string) *ExportInfo {
4487	s.ExportStatus = &v
4488	return s
4489}
4490
4491// SetIsTruncated sets the IsTruncated field's value.
4492func (s *ExportInfo) SetIsTruncated(v bool) *ExportInfo {
4493	s.IsTruncated = &v
4494	return s
4495}
4496
4497// SetRequestedEndTime sets the RequestedEndTime field's value.
4498func (s *ExportInfo) SetRequestedEndTime(v time.Time) *ExportInfo {
4499	s.RequestedEndTime = &v
4500	return s
4501}
4502
4503// SetRequestedStartTime sets the RequestedStartTime field's value.
4504func (s *ExportInfo) SetRequestedStartTime(v time.Time) *ExportInfo {
4505	s.RequestedStartTime = &v
4506	return s
4507}
4508
4509// SetStatusMessage sets the StatusMessage field's value.
4510func (s *ExportInfo) SetStatusMessage(v string) *ExportInfo {
4511	s.StatusMessage = &v
4512	return s
4513}
4514
4515// A filter that can use conditional operators.
4516//
4517// For more information about filters, see Querying Discovered Configuration
4518// Items (http://docs.aws.amazon.com/application-discovery/latest/APIReference/discovery-api-queries.html).
4519type Filter struct {
4520	_ struct{} `type:"structure"`
4521
4522	// A conditional operator. The following operators are valid: EQUALS, NOT_EQUALS,
4523	// CONTAINS, NOT_CONTAINS. If you specify multiple filters, the system utilizes
4524	// all filters as though concatenated by AND. If you specify multiple values
4525	// for a particular filter, the system differentiates the values using OR. Calling
4526	// either DescribeConfigurations or ListConfigurations returns attributes of
4527	// matching configuration items.
4528	//
4529	// Condition is a required field
4530	Condition *string `locationName:"condition" type:"string" required:"true"`
4531
4532	// The name of the filter.
4533	//
4534	// Name is a required field
4535	Name *string `locationName:"name" type:"string" required:"true"`
4536
4537	// A string value on which to filter. For example, if you choose the destinationServer.osVersion
4538	// filter name, you could specify Ubuntu for the value.
4539	//
4540	// Values is a required field
4541	Values []*string `locationName:"values" type:"list" required:"true"`
4542}
4543
4544// String returns the string representation
4545func (s Filter) String() string {
4546	return awsutil.Prettify(s)
4547}
4548
4549// GoString returns the string representation
4550func (s Filter) GoString() string {
4551	return s.String()
4552}
4553
4554// Validate inspects the fields of the type to determine if they are valid.
4555func (s *Filter) Validate() error {
4556	invalidParams := request.ErrInvalidParams{Context: "Filter"}
4557	if s.Condition == nil {
4558		invalidParams.Add(request.NewErrParamRequired("Condition"))
4559	}
4560	if s.Name == nil {
4561		invalidParams.Add(request.NewErrParamRequired("Name"))
4562	}
4563	if s.Values == nil {
4564		invalidParams.Add(request.NewErrParamRequired("Values"))
4565	}
4566
4567	if invalidParams.Len() > 0 {
4568		return invalidParams
4569	}
4570	return nil
4571}
4572
4573// SetCondition sets the Condition field's value.
4574func (s *Filter) SetCondition(v string) *Filter {
4575	s.Condition = &v
4576	return s
4577}
4578
4579// SetName sets the Name field's value.
4580func (s *Filter) SetName(v string) *Filter {
4581	s.Name = &v
4582	return s
4583}
4584
4585// SetValues sets the Values field's value.
4586func (s *Filter) SetValues(v []*string) *Filter {
4587	s.Values = v
4588	return s
4589}
4590
4591type GetDiscoverySummaryInput struct {
4592	_ struct{} `type:"structure"`
4593}
4594
4595// String returns the string representation
4596func (s GetDiscoverySummaryInput) String() string {
4597	return awsutil.Prettify(s)
4598}
4599
4600// GoString returns the string representation
4601func (s GetDiscoverySummaryInput) GoString() string {
4602	return s.String()
4603}
4604
4605type GetDiscoverySummaryOutput struct {
4606	_ struct{} `type:"structure"`
4607
4608	// Details about discovered agents, including agent status and health.
4609	AgentSummary *CustomerAgentInfo `locationName:"agentSummary" type:"structure"`
4610
4611	// The number of applications discovered.
4612	Applications *int64 `locationName:"applications" type:"long"`
4613
4614	// Details about discovered connectors, including connector status and health.
4615	ConnectorSummary *CustomerConnectorInfo `locationName:"connectorSummary" type:"structure"`
4616
4617	// The number of servers discovered.
4618	Servers *int64 `locationName:"servers" type:"long"`
4619
4620	// The number of servers mapped to applications.
4621	ServersMappedToApplications *int64 `locationName:"serversMappedToApplications" type:"long"`
4622
4623	// The number of servers mapped to tags.
4624	ServersMappedtoTags *int64 `locationName:"serversMappedtoTags" type:"long"`
4625}
4626
4627// String returns the string representation
4628func (s GetDiscoverySummaryOutput) String() string {
4629	return awsutil.Prettify(s)
4630}
4631
4632// GoString returns the string representation
4633func (s GetDiscoverySummaryOutput) GoString() string {
4634	return s.String()
4635}
4636
4637// SetAgentSummary sets the AgentSummary field's value.
4638func (s *GetDiscoverySummaryOutput) SetAgentSummary(v *CustomerAgentInfo) *GetDiscoverySummaryOutput {
4639	s.AgentSummary = v
4640	return s
4641}
4642
4643// SetApplications sets the Applications field's value.
4644func (s *GetDiscoverySummaryOutput) SetApplications(v int64) *GetDiscoverySummaryOutput {
4645	s.Applications = &v
4646	return s
4647}
4648
4649// SetConnectorSummary sets the ConnectorSummary field's value.
4650func (s *GetDiscoverySummaryOutput) SetConnectorSummary(v *CustomerConnectorInfo) *GetDiscoverySummaryOutput {
4651	s.ConnectorSummary = v
4652	return s
4653}
4654
4655// SetServers sets the Servers field's value.
4656func (s *GetDiscoverySummaryOutput) SetServers(v int64) *GetDiscoverySummaryOutput {
4657	s.Servers = &v
4658	return s
4659}
4660
4661// SetServersMappedToApplications sets the ServersMappedToApplications field's value.
4662func (s *GetDiscoverySummaryOutput) SetServersMappedToApplications(v int64) *GetDiscoverySummaryOutput {
4663	s.ServersMappedToApplications = &v
4664	return s
4665}
4666
4667// SetServersMappedtoTags sets the ServersMappedtoTags field's value.
4668func (s *GetDiscoverySummaryOutput) SetServersMappedtoTags(v int64) *GetDiscoverySummaryOutput {
4669	s.ServersMappedtoTags = &v
4670	return s
4671}
4672
4673// An array of information related to the import task request that includes
4674// status information, times, IDs, the Amazon S3 Object URL for the import file,
4675// and more.
4676type ImportTask struct {
4677	_ struct{} `type:"structure"`
4678
4679	// The total number of application records in the import file that failed to
4680	// be imported.
4681	ApplicationImportFailure *int64 `locationName:"applicationImportFailure" type:"integer"`
4682
4683	// The total number of application records in the import file that were successfully
4684	// imported.
4685	ApplicationImportSuccess *int64 `locationName:"applicationImportSuccess" type:"integer"`
4686
4687	// A unique token used to prevent the same import request from occurring more
4688	// than once. If you didn't provide a token, a token was automatically generated
4689	// when the import task request was sent.
4690	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
4691
4692	// A link to a compressed archive folder (in the ZIP format) that contains an
4693	// error log and a file of failed records. You can use these two files to quickly
4694	// identify records that failed, why they failed, and correct those records.
4695	// Afterward, you can upload the corrected file to your Amazon S3 bucket and
4696	// create another import task request.
4697	//
4698	// This field also includes authorization information so you can confirm the
4699	// authenticity of the compressed archive before you download it.
4700	//
4701	// If some records failed to be imported we recommend that you correct the records
4702	// in the failed entries file and then imports that failed entries file. This
4703	// prevents you from having to correct and update the larger original file and
4704	// attempt importing it again.
4705	ErrorsAndFailedEntriesZip *string `locationName:"errorsAndFailedEntriesZip" type:"string"`
4706
4707	// The time that the import task request finished, presented in the Unix time
4708	// stamp format.
4709	ImportCompletionTime *time.Time `locationName:"importCompletionTime" type:"timestamp"`
4710
4711	// The time that the import task request was deleted, presented in the Unix
4712	// time stamp format.
4713	ImportDeletedTime *time.Time `locationName:"importDeletedTime" type:"timestamp"`
4714
4715	// The time that the import task request was made, presented in the Unix time
4716	// stamp format.
4717	ImportRequestTime *time.Time `locationName:"importRequestTime" type:"timestamp"`
4718
4719	// The unique ID for a specific import task. These IDs aren't globally unique,
4720	// but they are unique within an AWS account.
4721	ImportTaskId *string `locationName:"importTaskId" type:"string"`
4722
4723	// The URL for your import file that you've uploaded to Amazon S3.
4724	ImportUrl *string `locationName:"importUrl" min:"1" type:"string"`
4725
4726	// A descriptive name for an import task. You can use this name to filter future
4727	// requests related to this import task, such as identifying applications and
4728	// servers that were included in this import task. We recommend that you use
4729	// a meaningful name for each import task.
4730	Name *string `locationName:"name" min:"1" type:"string"`
4731
4732	// The total number of server records in the import file that failed to be imported.
4733	ServerImportFailure *int64 `locationName:"serverImportFailure" type:"integer"`
4734
4735	// The total number of server records in the import file that were successfully
4736	// imported.
4737	ServerImportSuccess *int64 `locationName:"serverImportSuccess" type:"integer"`
4738
4739	// The status of the import task. An import can have the status of IMPORT_COMPLETE
4740	// and still have some records fail to import from the overall request. More
4741	// information can be found in the downloadable archive defined in the errorsAndFailedEntriesZip
4742	// field, or in the Migration Hub management console.
4743	Status *string `locationName:"status" type:"string" enum:"ImportStatus"`
4744}
4745
4746// String returns the string representation
4747func (s ImportTask) String() string {
4748	return awsutil.Prettify(s)
4749}
4750
4751// GoString returns the string representation
4752func (s ImportTask) GoString() string {
4753	return s.String()
4754}
4755
4756// SetApplicationImportFailure sets the ApplicationImportFailure field's value.
4757func (s *ImportTask) SetApplicationImportFailure(v int64) *ImportTask {
4758	s.ApplicationImportFailure = &v
4759	return s
4760}
4761
4762// SetApplicationImportSuccess sets the ApplicationImportSuccess field's value.
4763func (s *ImportTask) SetApplicationImportSuccess(v int64) *ImportTask {
4764	s.ApplicationImportSuccess = &v
4765	return s
4766}
4767
4768// SetClientRequestToken sets the ClientRequestToken field's value.
4769func (s *ImportTask) SetClientRequestToken(v string) *ImportTask {
4770	s.ClientRequestToken = &v
4771	return s
4772}
4773
4774// SetErrorsAndFailedEntriesZip sets the ErrorsAndFailedEntriesZip field's value.
4775func (s *ImportTask) SetErrorsAndFailedEntriesZip(v string) *ImportTask {
4776	s.ErrorsAndFailedEntriesZip = &v
4777	return s
4778}
4779
4780// SetImportCompletionTime sets the ImportCompletionTime field's value.
4781func (s *ImportTask) SetImportCompletionTime(v time.Time) *ImportTask {
4782	s.ImportCompletionTime = &v
4783	return s
4784}
4785
4786// SetImportDeletedTime sets the ImportDeletedTime field's value.
4787func (s *ImportTask) SetImportDeletedTime(v time.Time) *ImportTask {
4788	s.ImportDeletedTime = &v
4789	return s
4790}
4791
4792// SetImportRequestTime sets the ImportRequestTime field's value.
4793func (s *ImportTask) SetImportRequestTime(v time.Time) *ImportTask {
4794	s.ImportRequestTime = &v
4795	return s
4796}
4797
4798// SetImportTaskId sets the ImportTaskId field's value.
4799func (s *ImportTask) SetImportTaskId(v string) *ImportTask {
4800	s.ImportTaskId = &v
4801	return s
4802}
4803
4804// SetImportUrl sets the ImportUrl field's value.
4805func (s *ImportTask) SetImportUrl(v string) *ImportTask {
4806	s.ImportUrl = &v
4807	return s
4808}
4809
4810// SetName sets the Name field's value.
4811func (s *ImportTask) SetName(v string) *ImportTask {
4812	s.Name = &v
4813	return s
4814}
4815
4816// SetServerImportFailure sets the ServerImportFailure field's value.
4817func (s *ImportTask) SetServerImportFailure(v int64) *ImportTask {
4818	s.ServerImportFailure = &v
4819	return s
4820}
4821
4822// SetServerImportSuccess sets the ServerImportSuccess field's value.
4823func (s *ImportTask) SetServerImportSuccess(v int64) *ImportTask {
4824	s.ServerImportSuccess = &v
4825	return s
4826}
4827
4828// SetStatus sets the Status field's value.
4829func (s *ImportTask) SetStatus(v string) *ImportTask {
4830	s.Status = &v
4831	return s
4832}
4833
4834// A name-values pair of elements you can use to filter the results when querying
4835// your import tasks. Currently, wildcards are not supported for filters.
4836//
4837// When filtering by import status, all other filter values are ignored.
4838type ImportTaskFilter struct {
4839	_ struct{} `type:"structure"`
4840
4841	// The name, status, or import task ID for a specific import task.
4842	Name *string `locationName:"name" type:"string" enum:"ImportTaskFilterName"`
4843
4844	// An array of strings that you can provide to match against a specific name,
4845	// status, or import task ID to filter the results for your import task queries.
4846	Values []*string `locationName:"values" min:"1" type:"list"`
4847}
4848
4849// String returns the string representation
4850func (s ImportTaskFilter) String() string {
4851	return awsutil.Prettify(s)
4852}
4853
4854// GoString returns the string representation
4855func (s ImportTaskFilter) GoString() string {
4856	return s.String()
4857}
4858
4859// Validate inspects the fields of the type to determine if they are valid.
4860func (s *ImportTaskFilter) Validate() error {
4861	invalidParams := request.ErrInvalidParams{Context: "ImportTaskFilter"}
4862	if s.Values != nil && len(s.Values) < 1 {
4863		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
4864	}
4865
4866	if invalidParams.Len() > 0 {
4867		return invalidParams
4868	}
4869	return nil
4870}
4871
4872// SetName sets the Name field's value.
4873func (s *ImportTaskFilter) SetName(v string) *ImportTaskFilter {
4874	s.Name = &v
4875	return s
4876}
4877
4878// SetValues sets the Values field's value.
4879func (s *ImportTaskFilter) SetValues(v []*string) *ImportTaskFilter {
4880	s.Values = v
4881	return s
4882}
4883
4884type ListConfigurationsInput struct {
4885	_ struct{} `type:"structure"`
4886
4887	// A valid configuration identified by Application Discovery Service.
4888	//
4889	// ConfigurationType is a required field
4890	ConfigurationType *string `locationName:"configurationType" type:"string" required:"true" enum:"ConfigurationItemType"`
4891
4892	// You can filter the request using various logical operators and a key-value
4893	// format. For example:
4894	//
4895	// {"key": "serverType", "value": "webServer"}
4896	//
4897	// For a complete list of filter options and guidance about using them with
4898	// this action, see Querying Discovered Configuration Items (http://docs.aws.amazon.com/application-discovery/latest/APIReference/discovery-api-queries.html#ListConfigurations).
4899	Filters []*Filter `locationName:"filters" type:"list"`
4900
4901	// The total number of items to return. The maximum value is 100.
4902	MaxResults *int64 `locationName:"maxResults" type:"integer"`
4903
4904	// Token to retrieve the next set of results. For example, if a previous call
4905	// to ListConfigurations returned 100 items, but you set ListConfigurationsRequest$maxResults
4906	// to 10, you received a set of 10 results along with a token. Use that token
4907	// in this query to get the next set of 10.
4908	NextToken *string `locationName:"nextToken" type:"string"`
4909
4910	// Certain filter criteria return output that can be sorted in ascending or
4911	// descending order. For a list of output characteristics for each filter, see
4912	// Using the ListConfigurations Action (http://docs.aws.amazon.com/application-discovery/latest/APIReference/discovery-api-queries.html#ListConfigurations).
4913	OrderBy []*OrderByElement `locationName:"orderBy" type:"list"`
4914}
4915
4916// String returns the string representation
4917func (s ListConfigurationsInput) String() string {
4918	return awsutil.Prettify(s)
4919}
4920
4921// GoString returns the string representation
4922func (s ListConfigurationsInput) GoString() string {
4923	return s.String()
4924}
4925
4926// Validate inspects the fields of the type to determine if they are valid.
4927func (s *ListConfigurationsInput) Validate() error {
4928	invalidParams := request.ErrInvalidParams{Context: "ListConfigurationsInput"}
4929	if s.ConfigurationType == nil {
4930		invalidParams.Add(request.NewErrParamRequired("ConfigurationType"))
4931	}
4932	if s.Filters != nil {
4933		for i, v := range s.Filters {
4934			if v == nil {
4935				continue
4936			}
4937			if err := v.Validate(); err != nil {
4938				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
4939			}
4940		}
4941	}
4942	if s.OrderBy != nil {
4943		for i, v := range s.OrderBy {
4944			if v == nil {
4945				continue
4946			}
4947			if err := v.Validate(); err != nil {
4948				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OrderBy", i), err.(request.ErrInvalidParams))
4949			}
4950		}
4951	}
4952
4953	if invalidParams.Len() > 0 {
4954		return invalidParams
4955	}
4956	return nil
4957}
4958
4959// SetConfigurationType sets the ConfigurationType field's value.
4960func (s *ListConfigurationsInput) SetConfigurationType(v string) *ListConfigurationsInput {
4961	s.ConfigurationType = &v
4962	return s
4963}
4964
4965// SetFilters sets the Filters field's value.
4966func (s *ListConfigurationsInput) SetFilters(v []*Filter) *ListConfigurationsInput {
4967	s.Filters = v
4968	return s
4969}
4970
4971// SetMaxResults sets the MaxResults field's value.
4972func (s *ListConfigurationsInput) SetMaxResults(v int64) *ListConfigurationsInput {
4973	s.MaxResults = &v
4974	return s
4975}
4976
4977// SetNextToken sets the NextToken field's value.
4978func (s *ListConfigurationsInput) SetNextToken(v string) *ListConfigurationsInput {
4979	s.NextToken = &v
4980	return s
4981}
4982
4983// SetOrderBy sets the OrderBy field's value.
4984func (s *ListConfigurationsInput) SetOrderBy(v []*OrderByElement) *ListConfigurationsInput {
4985	s.OrderBy = v
4986	return s
4987}
4988
4989type ListConfigurationsOutput struct {
4990	_ struct{} `type:"structure"`
4991
4992	// Returns configuration details, including the configuration ID, attribute
4993	// names, and attribute values.
4994	Configurations []map[string]*string `locationName:"configurations" type:"list"`
4995
4996	// Token to retrieve the next set of results. For example, if your call to ListConfigurations
4997	// returned 100 items, but you set ListConfigurationsRequest$maxResults to 10,
4998	// you received a set of 10 results along with this token. Use this token in
4999	// the next query to retrieve the next set of 10.
5000	NextToken *string `locationName:"nextToken" type:"string"`
5001}
5002
5003// String returns the string representation
5004func (s ListConfigurationsOutput) String() string {
5005	return awsutil.Prettify(s)
5006}
5007
5008// GoString returns the string representation
5009func (s ListConfigurationsOutput) GoString() string {
5010	return s.String()
5011}
5012
5013// SetConfigurations sets the Configurations field's value.
5014func (s *ListConfigurationsOutput) SetConfigurations(v []map[string]*string) *ListConfigurationsOutput {
5015	s.Configurations = v
5016	return s
5017}
5018
5019// SetNextToken sets the NextToken field's value.
5020func (s *ListConfigurationsOutput) SetNextToken(v string) *ListConfigurationsOutput {
5021	s.NextToken = &v
5022	return s
5023}
5024
5025type ListServerNeighborsInput struct {
5026	_ struct{} `type:"structure"`
5027
5028	// Configuration ID of the server for which neighbors are being listed.
5029	//
5030	// ConfigurationId is a required field
5031	ConfigurationId *string `locationName:"configurationId" type:"string" required:"true"`
5032
5033	// Maximum number of results to return in a single page of output.
5034	MaxResults *int64 `locationName:"maxResults" type:"integer"`
5035
5036	// List of configuration IDs to test for one-hop-away.
5037	NeighborConfigurationIds []*string `locationName:"neighborConfigurationIds" type:"list"`
5038
5039	// Token to retrieve the next set of results. For example, if you previously
5040	// specified 100 IDs for ListServerNeighborsRequest$neighborConfigurationIds
5041	// but set ListServerNeighborsRequest$maxResults to 10, you received a set of
5042	// 10 results along with a token. Use that token in this query to get the next
5043	// set of 10.
5044	NextToken *string `locationName:"nextToken" type:"string"`
5045
5046	// Flag to indicate if port and protocol information is needed as part of the
5047	// response.
5048	PortInformationNeeded *bool `locationName:"portInformationNeeded" type:"boolean"`
5049}
5050
5051// String returns the string representation
5052func (s ListServerNeighborsInput) String() string {
5053	return awsutil.Prettify(s)
5054}
5055
5056// GoString returns the string representation
5057func (s ListServerNeighborsInput) GoString() string {
5058	return s.String()
5059}
5060
5061// Validate inspects the fields of the type to determine if they are valid.
5062func (s *ListServerNeighborsInput) Validate() error {
5063	invalidParams := request.ErrInvalidParams{Context: "ListServerNeighborsInput"}
5064	if s.ConfigurationId == nil {
5065		invalidParams.Add(request.NewErrParamRequired("ConfigurationId"))
5066	}
5067
5068	if invalidParams.Len() > 0 {
5069		return invalidParams
5070	}
5071	return nil
5072}
5073
5074// SetConfigurationId sets the ConfigurationId field's value.
5075func (s *ListServerNeighborsInput) SetConfigurationId(v string) *ListServerNeighborsInput {
5076	s.ConfigurationId = &v
5077	return s
5078}
5079
5080// SetMaxResults sets the MaxResults field's value.
5081func (s *ListServerNeighborsInput) SetMaxResults(v int64) *ListServerNeighborsInput {
5082	s.MaxResults = &v
5083	return s
5084}
5085
5086// SetNeighborConfigurationIds sets the NeighborConfigurationIds field's value.
5087func (s *ListServerNeighborsInput) SetNeighborConfigurationIds(v []*string) *ListServerNeighborsInput {
5088	s.NeighborConfigurationIds = v
5089	return s
5090}
5091
5092// SetNextToken sets the NextToken field's value.
5093func (s *ListServerNeighborsInput) SetNextToken(v string) *ListServerNeighborsInput {
5094	s.NextToken = &v
5095	return s
5096}
5097
5098// SetPortInformationNeeded sets the PortInformationNeeded field's value.
5099func (s *ListServerNeighborsInput) SetPortInformationNeeded(v bool) *ListServerNeighborsInput {
5100	s.PortInformationNeeded = &v
5101	return s
5102}
5103
5104type ListServerNeighborsOutput struct {
5105	_ struct{} `type:"structure"`
5106
5107	// Count of distinct servers that are one hop away from the given server.
5108	KnownDependencyCount *int64 `locationName:"knownDependencyCount" type:"long"`
5109
5110	// List of distinct servers that are one hop away from the given server.
5111	//
5112	// Neighbors is a required field
5113	Neighbors []*NeighborConnectionDetail `locationName:"neighbors" type:"list" required:"true"`
5114
5115	// Token to retrieve the next set of results. For example, if you specified
5116	// 100 IDs for ListServerNeighborsRequest$neighborConfigurationIds but set ListServerNeighborsRequest$maxResults
5117	// to 10, you received a set of 10 results along with this token. Use this token
5118	// in the next query to retrieve the next set of 10.
5119	NextToken *string `locationName:"nextToken" type:"string"`
5120}
5121
5122// String returns the string representation
5123func (s ListServerNeighborsOutput) String() string {
5124	return awsutil.Prettify(s)
5125}
5126
5127// GoString returns the string representation
5128func (s ListServerNeighborsOutput) GoString() string {
5129	return s.String()
5130}
5131
5132// SetKnownDependencyCount sets the KnownDependencyCount field's value.
5133func (s *ListServerNeighborsOutput) SetKnownDependencyCount(v int64) *ListServerNeighborsOutput {
5134	s.KnownDependencyCount = &v
5135	return s
5136}
5137
5138// SetNeighbors sets the Neighbors field's value.
5139func (s *ListServerNeighborsOutput) SetNeighbors(v []*NeighborConnectionDetail) *ListServerNeighborsOutput {
5140	s.Neighbors = v
5141	return s
5142}
5143
5144// SetNextToken sets the NextToken field's value.
5145func (s *ListServerNeighborsOutput) SetNextToken(v string) *ListServerNeighborsOutput {
5146	s.NextToken = &v
5147	return s
5148}
5149
5150// Details about neighboring servers.
5151type NeighborConnectionDetail struct {
5152	_ struct{} `type:"structure"`
5153
5154	// The number of open network connections with the neighboring server.
5155	//
5156	// ConnectionsCount is a required field
5157	ConnectionsCount *int64 `locationName:"connectionsCount" type:"long" required:"true"`
5158
5159	// The destination network port for the connection.
5160	DestinationPort *int64 `locationName:"destinationPort" type:"integer"`
5161
5162	// The ID of the server that accepted the network connection.
5163	//
5164	// DestinationServerId is a required field
5165	DestinationServerId *string `locationName:"destinationServerId" type:"string" required:"true"`
5166
5167	// The ID of the server that opened the network connection.
5168	//
5169	// SourceServerId is a required field
5170	SourceServerId *string `locationName:"sourceServerId" type:"string" required:"true"`
5171
5172	// The network protocol used for the connection.
5173	TransportProtocol *string `locationName:"transportProtocol" type:"string"`
5174}
5175
5176// String returns the string representation
5177func (s NeighborConnectionDetail) String() string {
5178	return awsutil.Prettify(s)
5179}
5180
5181// GoString returns the string representation
5182func (s NeighborConnectionDetail) GoString() string {
5183	return s.String()
5184}
5185
5186// SetConnectionsCount sets the ConnectionsCount field's value.
5187func (s *NeighborConnectionDetail) SetConnectionsCount(v int64) *NeighborConnectionDetail {
5188	s.ConnectionsCount = &v
5189	return s
5190}
5191
5192// SetDestinationPort sets the DestinationPort field's value.
5193func (s *NeighborConnectionDetail) SetDestinationPort(v int64) *NeighborConnectionDetail {
5194	s.DestinationPort = &v
5195	return s
5196}
5197
5198// SetDestinationServerId sets the DestinationServerId field's value.
5199func (s *NeighborConnectionDetail) SetDestinationServerId(v string) *NeighborConnectionDetail {
5200	s.DestinationServerId = &v
5201	return s
5202}
5203
5204// SetSourceServerId sets the SourceServerId field's value.
5205func (s *NeighborConnectionDetail) SetSourceServerId(v string) *NeighborConnectionDetail {
5206	s.SourceServerId = &v
5207	return s
5208}
5209
5210// SetTransportProtocol sets the TransportProtocol field's value.
5211func (s *NeighborConnectionDetail) SetTransportProtocol(v string) *NeighborConnectionDetail {
5212	s.TransportProtocol = &v
5213	return s
5214}
5215
5216// A field and direction for ordered output.
5217type OrderByElement struct {
5218	_ struct{} `type:"structure"`
5219
5220	// The field on which to order.
5221	//
5222	// FieldName is a required field
5223	FieldName *string `locationName:"fieldName" type:"string" required:"true"`
5224
5225	// Ordering direction.
5226	SortOrder *string `locationName:"sortOrder" type:"string" enum:"orderString"`
5227}
5228
5229// String returns the string representation
5230func (s OrderByElement) String() string {
5231	return awsutil.Prettify(s)
5232}
5233
5234// GoString returns the string representation
5235func (s OrderByElement) GoString() string {
5236	return s.String()
5237}
5238
5239// Validate inspects the fields of the type to determine if they are valid.
5240func (s *OrderByElement) Validate() error {
5241	invalidParams := request.ErrInvalidParams{Context: "OrderByElement"}
5242	if s.FieldName == nil {
5243		invalidParams.Add(request.NewErrParamRequired("FieldName"))
5244	}
5245
5246	if invalidParams.Len() > 0 {
5247		return invalidParams
5248	}
5249	return nil
5250}
5251
5252// SetFieldName sets the FieldName field's value.
5253func (s *OrderByElement) SetFieldName(v string) *OrderByElement {
5254	s.FieldName = &v
5255	return s
5256}
5257
5258// SetSortOrder sets the SortOrder field's value.
5259func (s *OrderByElement) SetSortOrder(v string) *OrderByElement {
5260	s.SortOrder = &v
5261	return s
5262}
5263
5264type StartContinuousExportInput struct {
5265	_ struct{} `type:"structure"`
5266}
5267
5268// String returns the string representation
5269func (s StartContinuousExportInput) String() string {
5270	return awsutil.Prettify(s)
5271}
5272
5273// GoString returns the string representation
5274func (s StartContinuousExportInput) GoString() string {
5275	return s.String()
5276}
5277
5278type StartContinuousExportOutput struct {
5279	_ struct{} `type:"structure"`
5280
5281	// The type of data collector used to gather this data (currently only offered
5282	// for AGENT).
5283	DataSource *string `locationName:"dataSource" type:"string" enum:"DataSource"`
5284
5285	// The unique ID assigned to this export.
5286	ExportId *string `locationName:"exportId" type:"string"`
5287
5288	// The name of the s3 bucket where the export data parquet files are stored.
5289	S3Bucket *string `locationName:"s3Bucket" type:"string"`
5290
5291	// A dictionary which describes how the data is stored.
5292	//
5293	//    * databaseName - the name of the Glue database used to store the schema.
5294	SchemaStorageConfig map[string]*string `locationName:"schemaStorageConfig" type:"map"`
5295
5296	// The timestamp representing when the continuous export was started.
5297	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
5298}
5299
5300// String returns the string representation
5301func (s StartContinuousExportOutput) String() string {
5302	return awsutil.Prettify(s)
5303}
5304
5305// GoString returns the string representation
5306func (s StartContinuousExportOutput) GoString() string {
5307	return s.String()
5308}
5309
5310// SetDataSource sets the DataSource field's value.
5311func (s *StartContinuousExportOutput) SetDataSource(v string) *StartContinuousExportOutput {
5312	s.DataSource = &v
5313	return s
5314}
5315
5316// SetExportId sets the ExportId field's value.
5317func (s *StartContinuousExportOutput) SetExportId(v string) *StartContinuousExportOutput {
5318	s.ExportId = &v
5319	return s
5320}
5321
5322// SetS3Bucket sets the S3Bucket field's value.
5323func (s *StartContinuousExportOutput) SetS3Bucket(v string) *StartContinuousExportOutput {
5324	s.S3Bucket = &v
5325	return s
5326}
5327
5328// SetSchemaStorageConfig sets the SchemaStorageConfig field's value.
5329func (s *StartContinuousExportOutput) SetSchemaStorageConfig(v map[string]*string) *StartContinuousExportOutput {
5330	s.SchemaStorageConfig = v
5331	return s
5332}
5333
5334// SetStartTime sets the StartTime field's value.
5335func (s *StartContinuousExportOutput) SetStartTime(v time.Time) *StartContinuousExportOutput {
5336	s.StartTime = &v
5337	return s
5338}
5339
5340type StartDataCollectionByAgentIdsInput struct {
5341	_ struct{} `type:"structure"`
5342
5343	// The IDs of the agents or connectors from which to start collecting data.
5344	// If you send a request to an agent/connector ID that you do not have permission
5345	// to contact, according to your AWS account, the service does not throw an
5346	// exception. Instead, it returns the error in the Description field. If you
5347	// send a request to multiple agents/connectors and you do not have permission
5348	// to contact some of those agents/connectors, the system does not throw an
5349	// exception. Instead, the system shows Failed in the Description field.
5350	//
5351	// AgentIds is a required field
5352	AgentIds []*string `locationName:"agentIds" type:"list" required:"true"`
5353}
5354
5355// String returns the string representation
5356func (s StartDataCollectionByAgentIdsInput) String() string {
5357	return awsutil.Prettify(s)
5358}
5359
5360// GoString returns the string representation
5361func (s StartDataCollectionByAgentIdsInput) GoString() string {
5362	return s.String()
5363}
5364
5365// Validate inspects the fields of the type to determine if they are valid.
5366func (s *StartDataCollectionByAgentIdsInput) Validate() error {
5367	invalidParams := request.ErrInvalidParams{Context: "StartDataCollectionByAgentIdsInput"}
5368	if s.AgentIds == nil {
5369		invalidParams.Add(request.NewErrParamRequired("AgentIds"))
5370	}
5371
5372	if invalidParams.Len() > 0 {
5373		return invalidParams
5374	}
5375	return nil
5376}
5377
5378// SetAgentIds sets the AgentIds field's value.
5379func (s *StartDataCollectionByAgentIdsInput) SetAgentIds(v []*string) *StartDataCollectionByAgentIdsInput {
5380	s.AgentIds = v
5381	return s
5382}
5383
5384type StartDataCollectionByAgentIdsOutput struct {
5385	_ struct{} `type:"structure"`
5386
5387	// Information about agents or the connector that were instructed to start collecting
5388	// data. Information includes the agent/connector ID, a description of the operation
5389	// performed, and whether the agent/connector configuration was updated.
5390	AgentsConfigurationStatus []*AgentConfigurationStatus `locationName:"agentsConfigurationStatus" type:"list"`
5391}
5392
5393// String returns the string representation
5394func (s StartDataCollectionByAgentIdsOutput) String() string {
5395	return awsutil.Prettify(s)
5396}
5397
5398// GoString returns the string representation
5399func (s StartDataCollectionByAgentIdsOutput) GoString() string {
5400	return s.String()
5401}
5402
5403// SetAgentsConfigurationStatus sets the AgentsConfigurationStatus field's value.
5404func (s *StartDataCollectionByAgentIdsOutput) SetAgentsConfigurationStatus(v []*AgentConfigurationStatus) *StartDataCollectionByAgentIdsOutput {
5405	s.AgentsConfigurationStatus = v
5406	return s
5407}
5408
5409type StartExportTaskInput struct {
5410	_ struct{} `type:"structure"`
5411
5412	// The end timestamp for exported data from the single Application Discovery
5413	// Agent selected in the filters. If no value is specified, exported data includes
5414	// the most recent data collected by the agent.
5415	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
5416
5417	// The file format for the returned export data. Default value is CSV. Note:
5418	// The GRAPHML option has been deprecated.
5419	ExportDataFormat []*string `locationName:"exportDataFormat" type:"list"`
5420
5421	// If a filter is present, it selects the single agentId of the Application
5422	// Discovery Agent for which data is exported. The agentId can be found in the
5423	// results of the DescribeAgents API or CLI. If no filter is present, startTime
5424	// and endTime are ignored and exported data includes both Agentless Discovery
5425	// Connector data and summary data from Application Discovery agents.
5426	Filters []*ExportFilter `locationName:"filters" type:"list"`
5427
5428	// The start timestamp for exported data from the single Application Discovery
5429	// Agent selected in the filters. If no value is specified, data is exported
5430	// starting from the first data collected by the agent.
5431	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
5432}
5433
5434// String returns the string representation
5435func (s StartExportTaskInput) String() string {
5436	return awsutil.Prettify(s)
5437}
5438
5439// GoString returns the string representation
5440func (s StartExportTaskInput) GoString() string {
5441	return s.String()
5442}
5443
5444// Validate inspects the fields of the type to determine if they are valid.
5445func (s *StartExportTaskInput) Validate() error {
5446	invalidParams := request.ErrInvalidParams{Context: "StartExportTaskInput"}
5447	if s.Filters != nil {
5448		for i, v := range s.Filters {
5449			if v == nil {
5450				continue
5451			}
5452			if err := v.Validate(); err != nil {
5453				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
5454			}
5455		}
5456	}
5457
5458	if invalidParams.Len() > 0 {
5459		return invalidParams
5460	}
5461	return nil
5462}
5463
5464// SetEndTime sets the EndTime field's value.
5465func (s *StartExportTaskInput) SetEndTime(v time.Time) *StartExportTaskInput {
5466	s.EndTime = &v
5467	return s
5468}
5469
5470// SetExportDataFormat sets the ExportDataFormat field's value.
5471func (s *StartExportTaskInput) SetExportDataFormat(v []*string) *StartExportTaskInput {
5472	s.ExportDataFormat = v
5473	return s
5474}
5475
5476// SetFilters sets the Filters field's value.
5477func (s *StartExportTaskInput) SetFilters(v []*ExportFilter) *StartExportTaskInput {
5478	s.Filters = v
5479	return s
5480}
5481
5482// SetStartTime sets the StartTime field's value.
5483func (s *StartExportTaskInput) SetStartTime(v time.Time) *StartExportTaskInput {
5484	s.StartTime = &v
5485	return s
5486}
5487
5488type StartExportTaskOutput struct {
5489	_ struct{} `type:"structure"`
5490
5491	// A unique identifier used to query the status of an export request.
5492	ExportId *string `locationName:"exportId" type:"string"`
5493}
5494
5495// String returns the string representation
5496func (s StartExportTaskOutput) String() string {
5497	return awsutil.Prettify(s)
5498}
5499
5500// GoString returns the string representation
5501func (s StartExportTaskOutput) GoString() string {
5502	return s.String()
5503}
5504
5505// SetExportId sets the ExportId field's value.
5506func (s *StartExportTaskOutput) SetExportId(v string) *StartExportTaskOutput {
5507	s.ExportId = &v
5508	return s
5509}
5510
5511type StartImportTaskInput struct {
5512	_ struct{} `type:"structure"`
5513
5514	// Optional. A unique token that you can provide to prevent the same import
5515	// request from occurring more than once. If you don't provide a token, a token
5516	// is automatically generated.
5517	//
5518	// Sending more than one StartImportTask request with the same client request
5519	// token will return information about the original import task with that client
5520	// request token.
5521	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
5522
5523	// The URL for your import file that you've uploaded to Amazon S3.
5524	//
5525	// If you're using the AWS CLI, this URL is structured as follows: s3://BucketName/ImportFileName.CSV
5526	//
5527	// ImportUrl is a required field
5528	ImportUrl *string `locationName:"importUrl" min:"1" type:"string" required:"true"`
5529
5530	// A descriptive name for this request. You can use this name to filter future
5531	// requests related to this import task, such as identifying applications and
5532	// servers that were included in this import task. We recommend that you use
5533	// a meaningful name for each import task.
5534	//
5535	// Name is a required field
5536	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5537}
5538
5539// String returns the string representation
5540func (s StartImportTaskInput) String() string {
5541	return awsutil.Prettify(s)
5542}
5543
5544// GoString returns the string representation
5545func (s StartImportTaskInput) GoString() string {
5546	return s.String()
5547}
5548
5549// Validate inspects the fields of the type to determine if they are valid.
5550func (s *StartImportTaskInput) Validate() error {
5551	invalidParams := request.ErrInvalidParams{Context: "StartImportTaskInput"}
5552	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
5553		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
5554	}
5555	if s.ImportUrl == nil {
5556		invalidParams.Add(request.NewErrParamRequired("ImportUrl"))
5557	}
5558	if s.ImportUrl != nil && len(*s.ImportUrl) < 1 {
5559		invalidParams.Add(request.NewErrParamMinLen("ImportUrl", 1))
5560	}
5561	if s.Name == nil {
5562		invalidParams.Add(request.NewErrParamRequired("Name"))
5563	}
5564	if s.Name != nil && len(*s.Name) < 1 {
5565		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5566	}
5567
5568	if invalidParams.Len() > 0 {
5569		return invalidParams
5570	}
5571	return nil
5572}
5573
5574// SetClientRequestToken sets the ClientRequestToken field's value.
5575func (s *StartImportTaskInput) SetClientRequestToken(v string) *StartImportTaskInput {
5576	s.ClientRequestToken = &v
5577	return s
5578}
5579
5580// SetImportUrl sets the ImportUrl field's value.
5581func (s *StartImportTaskInput) SetImportUrl(v string) *StartImportTaskInput {
5582	s.ImportUrl = &v
5583	return s
5584}
5585
5586// SetName sets the Name field's value.
5587func (s *StartImportTaskInput) SetName(v string) *StartImportTaskInput {
5588	s.Name = &v
5589	return s
5590}
5591
5592type StartImportTaskOutput struct {
5593	_ struct{} `type:"structure"`
5594
5595	// An array of information related to the import task request including status
5596	// information, times, IDs, the Amazon S3 Object URL for the import file, and
5597	// more.
5598	Task *ImportTask `locationName:"task" type:"structure"`
5599}
5600
5601// String returns the string representation
5602func (s StartImportTaskOutput) String() string {
5603	return awsutil.Prettify(s)
5604}
5605
5606// GoString returns the string representation
5607func (s StartImportTaskOutput) GoString() string {
5608	return s.String()
5609}
5610
5611// SetTask sets the Task field's value.
5612func (s *StartImportTaskOutput) SetTask(v *ImportTask) *StartImportTaskOutput {
5613	s.Task = v
5614	return s
5615}
5616
5617type StopContinuousExportInput struct {
5618	_ struct{} `type:"structure"`
5619
5620	// The unique ID assigned to this export.
5621	//
5622	// ExportId is a required field
5623	ExportId *string `locationName:"exportId" type:"string" required:"true"`
5624}
5625
5626// String returns the string representation
5627func (s StopContinuousExportInput) String() string {
5628	return awsutil.Prettify(s)
5629}
5630
5631// GoString returns the string representation
5632func (s StopContinuousExportInput) GoString() string {
5633	return s.String()
5634}
5635
5636// Validate inspects the fields of the type to determine if they are valid.
5637func (s *StopContinuousExportInput) Validate() error {
5638	invalidParams := request.ErrInvalidParams{Context: "StopContinuousExportInput"}
5639	if s.ExportId == nil {
5640		invalidParams.Add(request.NewErrParamRequired("ExportId"))
5641	}
5642
5643	if invalidParams.Len() > 0 {
5644		return invalidParams
5645	}
5646	return nil
5647}
5648
5649// SetExportId sets the ExportId field's value.
5650func (s *StopContinuousExportInput) SetExportId(v string) *StopContinuousExportInput {
5651	s.ExportId = &v
5652	return s
5653}
5654
5655type StopContinuousExportOutput struct {
5656	_ struct{} `type:"structure"`
5657
5658	// Timestamp that represents when this continuous export started collecting
5659	// data.
5660	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
5661
5662	// Timestamp that represents when this continuous export was stopped.
5663	StopTime *time.Time `locationName:"stopTime" type:"timestamp"`
5664}
5665
5666// String returns the string representation
5667func (s StopContinuousExportOutput) String() string {
5668	return awsutil.Prettify(s)
5669}
5670
5671// GoString returns the string representation
5672func (s StopContinuousExportOutput) GoString() string {
5673	return s.String()
5674}
5675
5676// SetStartTime sets the StartTime field's value.
5677func (s *StopContinuousExportOutput) SetStartTime(v time.Time) *StopContinuousExportOutput {
5678	s.StartTime = &v
5679	return s
5680}
5681
5682// SetStopTime sets the StopTime field's value.
5683func (s *StopContinuousExportOutput) SetStopTime(v time.Time) *StopContinuousExportOutput {
5684	s.StopTime = &v
5685	return s
5686}
5687
5688type StopDataCollectionByAgentIdsInput struct {
5689	_ struct{} `type:"structure"`
5690
5691	// The IDs of the agents or connectors from which to stop collecting data.
5692	//
5693	// AgentIds is a required field
5694	AgentIds []*string `locationName:"agentIds" type:"list" required:"true"`
5695}
5696
5697// String returns the string representation
5698func (s StopDataCollectionByAgentIdsInput) String() string {
5699	return awsutil.Prettify(s)
5700}
5701
5702// GoString returns the string representation
5703func (s StopDataCollectionByAgentIdsInput) GoString() string {
5704	return s.String()
5705}
5706
5707// Validate inspects the fields of the type to determine if they are valid.
5708func (s *StopDataCollectionByAgentIdsInput) Validate() error {
5709	invalidParams := request.ErrInvalidParams{Context: "StopDataCollectionByAgentIdsInput"}
5710	if s.AgentIds == nil {
5711		invalidParams.Add(request.NewErrParamRequired("AgentIds"))
5712	}
5713
5714	if invalidParams.Len() > 0 {
5715		return invalidParams
5716	}
5717	return nil
5718}
5719
5720// SetAgentIds sets the AgentIds field's value.
5721func (s *StopDataCollectionByAgentIdsInput) SetAgentIds(v []*string) *StopDataCollectionByAgentIdsInput {
5722	s.AgentIds = v
5723	return s
5724}
5725
5726type StopDataCollectionByAgentIdsOutput struct {
5727	_ struct{} `type:"structure"`
5728
5729	// Information about the agents or connector that were instructed to stop collecting
5730	// data. Information includes the agent/connector ID, a description of the operation
5731	// performed, and whether the agent/connector configuration was updated.
5732	AgentsConfigurationStatus []*AgentConfigurationStatus `locationName:"agentsConfigurationStatus" type:"list"`
5733}
5734
5735// String returns the string representation
5736func (s StopDataCollectionByAgentIdsOutput) String() string {
5737	return awsutil.Prettify(s)
5738}
5739
5740// GoString returns the string representation
5741func (s StopDataCollectionByAgentIdsOutput) GoString() string {
5742	return s.String()
5743}
5744
5745// SetAgentsConfigurationStatus sets the AgentsConfigurationStatus field's value.
5746func (s *StopDataCollectionByAgentIdsOutput) SetAgentsConfigurationStatus(v []*AgentConfigurationStatus) *StopDataCollectionByAgentIdsOutput {
5747	s.AgentsConfigurationStatus = v
5748	return s
5749}
5750
5751// Metadata that help you categorize IT assets.
5752type Tag struct {
5753	_ struct{} `type:"structure"`
5754
5755	// The type of tag on which to filter.
5756	//
5757	// Key is a required field
5758	Key *string `locationName:"key" type:"string" required:"true"`
5759
5760	// A value for a tag key on which to filter.
5761	//
5762	// Value is a required field
5763	Value *string `locationName:"value" type:"string" required:"true"`
5764}
5765
5766// String returns the string representation
5767func (s Tag) String() string {
5768	return awsutil.Prettify(s)
5769}
5770
5771// GoString returns the string representation
5772func (s Tag) GoString() string {
5773	return s.String()
5774}
5775
5776// Validate inspects the fields of the type to determine if they are valid.
5777func (s *Tag) Validate() error {
5778	invalidParams := request.ErrInvalidParams{Context: "Tag"}
5779	if s.Key == nil {
5780		invalidParams.Add(request.NewErrParamRequired("Key"))
5781	}
5782	if s.Value == nil {
5783		invalidParams.Add(request.NewErrParamRequired("Value"))
5784	}
5785
5786	if invalidParams.Len() > 0 {
5787		return invalidParams
5788	}
5789	return nil
5790}
5791
5792// SetKey sets the Key field's value.
5793func (s *Tag) SetKey(v string) *Tag {
5794	s.Key = &v
5795	return s
5796}
5797
5798// SetValue sets the Value field's value.
5799func (s *Tag) SetValue(v string) *Tag {
5800	s.Value = &v
5801	return s
5802}
5803
5804// The tag filter. Valid names are: tagKey, tagValue, configurationId.
5805type TagFilter struct {
5806	_ struct{} `type:"structure"`
5807
5808	// A name of the tag filter.
5809	//
5810	// Name is a required field
5811	Name *string `locationName:"name" type:"string" required:"true"`
5812
5813	// Values for the tag filter.
5814	//
5815	// Values is a required field
5816	Values []*string `locationName:"values" type:"list" required:"true"`
5817}
5818
5819// String returns the string representation
5820func (s TagFilter) String() string {
5821	return awsutil.Prettify(s)
5822}
5823
5824// GoString returns the string representation
5825func (s TagFilter) GoString() string {
5826	return s.String()
5827}
5828
5829// Validate inspects the fields of the type to determine if they are valid.
5830func (s *TagFilter) Validate() error {
5831	invalidParams := request.ErrInvalidParams{Context: "TagFilter"}
5832	if s.Name == nil {
5833		invalidParams.Add(request.NewErrParamRequired("Name"))
5834	}
5835	if s.Values == nil {
5836		invalidParams.Add(request.NewErrParamRequired("Values"))
5837	}
5838
5839	if invalidParams.Len() > 0 {
5840		return invalidParams
5841	}
5842	return nil
5843}
5844
5845// SetName sets the Name field's value.
5846func (s *TagFilter) SetName(v string) *TagFilter {
5847	s.Name = &v
5848	return s
5849}
5850
5851// SetValues sets the Values field's value.
5852func (s *TagFilter) SetValues(v []*string) *TagFilter {
5853	s.Values = v
5854	return s
5855}
5856
5857type UpdateApplicationInput struct {
5858	_ struct{} `type:"structure"`
5859
5860	// Configuration ID of the application to be updated.
5861	//
5862	// ConfigurationId is a required field
5863	ConfigurationId *string `locationName:"configurationId" type:"string" required:"true"`
5864
5865	// New description of the application to be updated.
5866	Description *string `locationName:"description" type:"string"`
5867
5868	// New name of the application to be updated.
5869	Name *string `locationName:"name" type:"string"`
5870}
5871
5872// String returns the string representation
5873func (s UpdateApplicationInput) String() string {
5874	return awsutil.Prettify(s)
5875}
5876
5877// GoString returns the string representation
5878func (s UpdateApplicationInput) GoString() string {
5879	return s.String()
5880}
5881
5882// Validate inspects the fields of the type to determine if they are valid.
5883func (s *UpdateApplicationInput) Validate() error {
5884	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"}
5885	if s.ConfigurationId == nil {
5886		invalidParams.Add(request.NewErrParamRequired("ConfigurationId"))
5887	}
5888
5889	if invalidParams.Len() > 0 {
5890		return invalidParams
5891	}
5892	return nil
5893}
5894
5895// SetConfigurationId sets the ConfigurationId field's value.
5896func (s *UpdateApplicationInput) SetConfigurationId(v string) *UpdateApplicationInput {
5897	s.ConfigurationId = &v
5898	return s
5899}
5900
5901// SetDescription sets the Description field's value.
5902func (s *UpdateApplicationInput) SetDescription(v string) *UpdateApplicationInput {
5903	s.Description = &v
5904	return s
5905}
5906
5907// SetName sets the Name field's value.
5908func (s *UpdateApplicationInput) SetName(v string) *UpdateApplicationInput {
5909	s.Name = &v
5910	return s
5911}
5912
5913type UpdateApplicationOutput struct {
5914	_ struct{} `type:"structure"`
5915}
5916
5917// String returns the string representation
5918func (s UpdateApplicationOutput) String() string {
5919	return awsutil.Prettify(s)
5920}
5921
5922// GoString returns the string representation
5923func (s UpdateApplicationOutput) GoString() string {
5924	return s.String()
5925}
5926
5927const (
5928	// AgentStatusHealthy is a AgentStatus enum value
5929	AgentStatusHealthy = "HEALTHY"
5930
5931	// AgentStatusUnhealthy is a AgentStatus enum value
5932	AgentStatusUnhealthy = "UNHEALTHY"
5933
5934	// AgentStatusRunning is a AgentStatus enum value
5935	AgentStatusRunning = "RUNNING"
5936
5937	// AgentStatusUnknown is a AgentStatus enum value
5938	AgentStatusUnknown = "UNKNOWN"
5939
5940	// AgentStatusBlacklisted is a AgentStatus enum value
5941	AgentStatusBlacklisted = "BLACKLISTED"
5942
5943	// AgentStatusShutdown is a AgentStatus enum value
5944	AgentStatusShutdown = "SHUTDOWN"
5945)
5946
5947const (
5948	// BatchDeleteImportDataErrorCodeNotFound is a BatchDeleteImportDataErrorCode enum value
5949	BatchDeleteImportDataErrorCodeNotFound = "NOT_FOUND"
5950
5951	// BatchDeleteImportDataErrorCodeInternalServerError is a BatchDeleteImportDataErrorCode enum value
5952	BatchDeleteImportDataErrorCodeInternalServerError = "INTERNAL_SERVER_ERROR"
5953
5954	// BatchDeleteImportDataErrorCodeOverLimit is a BatchDeleteImportDataErrorCode enum value
5955	BatchDeleteImportDataErrorCodeOverLimit = "OVER_LIMIT"
5956)
5957
5958const (
5959	// ConfigurationItemTypeServer is a ConfigurationItemType enum value
5960	ConfigurationItemTypeServer = "SERVER"
5961
5962	// ConfigurationItemTypeProcess is a ConfigurationItemType enum value
5963	ConfigurationItemTypeProcess = "PROCESS"
5964
5965	// ConfigurationItemTypeConnection is a ConfigurationItemType enum value
5966	ConfigurationItemTypeConnection = "CONNECTION"
5967
5968	// ConfigurationItemTypeApplication is a ConfigurationItemType enum value
5969	ConfigurationItemTypeApplication = "APPLICATION"
5970)
5971
5972const (
5973	// ContinuousExportStatusStartInProgress is a ContinuousExportStatus enum value
5974	ContinuousExportStatusStartInProgress = "START_IN_PROGRESS"
5975
5976	// ContinuousExportStatusStartFailed is a ContinuousExportStatus enum value
5977	ContinuousExportStatusStartFailed = "START_FAILED"
5978
5979	// ContinuousExportStatusActive is a ContinuousExportStatus enum value
5980	ContinuousExportStatusActive = "ACTIVE"
5981
5982	// ContinuousExportStatusError is a ContinuousExportStatus enum value
5983	ContinuousExportStatusError = "ERROR"
5984
5985	// ContinuousExportStatusStopInProgress is a ContinuousExportStatus enum value
5986	ContinuousExportStatusStopInProgress = "STOP_IN_PROGRESS"
5987
5988	// ContinuousExportStatusStopFailed is a ContinuousExportStatus enum value
5989	ContinuousExportStatusStopFailed = "STOP_FAILED"
5990
5991	// ContinuousExportStatusInactive is a ContinuousExportStatus enum value
5992	ContinuousExportStatusInactive = "INACTIVE"
5993)
5994
5995const (
5996	// DataSourceAgent is a DataSource enum value
5997	DataSourceAgent = "AGENT"
5998)
5999
6000const (
6001	// ExportDataFormatCsv is a ExportDataFormat enum value
6002	ExportDataFormatCsv = "CSV"
6003
6004	// ExportDataFormatGraphml is a ExportDataFormat enum value
6005	ExportDataFormatGraphml = "GRAPHML"
6006)
6007
6008const (
6009	// ExportStatusFailed is a ExportStatus enum value
6010	ExportStatusFailed = "FAILED"
6011
6012	// ExportStatusSucceeded is a ExportStatus enum value
6013	ExportStatusSucceeded = "SUCCEEDED"
6014
6015	// ExportStatusInProgress is a ExportStatus enum value
6016	ExportStatusInProgress = "IN_PROGRESS"
6017)
6018
6019const (
6020	// ImportStatusImportInProgress is a ImportStatus enum value
6021	ImportStatusImportInProgress = "IMPORT_IN_PROGRESS"
6022
6023	// ImportStatusImportComplete is a ImportStatus enum value
6024	ImportStatusImportComplete = "IMPORT_COMPLETE"
6025
6026	// ImportStatusImportCompleteWithErrors is a ImportStatus enum value
6027	ImportStatusImportCompleteWithErrors = "IMPORT_COMPLETE_WITH_ERRORS"
6028
6029	// ImportStatusImportFailed is a ImportStatus enum value
6030	ImportStatusImportFailed = "IMPORT_FAILED"
6031
6032	// ImportStatusImportFailedServerLimitExceeded is a ImportStatus enum value
6033	ImportStatusImportFailedServerLimitExceeded = "IMPORT_FAILED_SERVER_LIMIT_EXCEEDED"
6034
6035	// ImportStatusImportFailedRecordLimitExceeded is a ImportStatus enum value
6036	ImportStatusImportFailedRecordLimitExceeded = "IMPORT_FAILED_RECORD_LIMIT_EXCEEDED"
6037
6038	// ImportStatusDeleteInProgress is a ImportStatus enum value
6039	ImportStatusDeleteInProgress = "DELETE_IN_PROGRESS"
6040
6041	// ImportStatusDeleteComplete is a ImportStatus enum value
6042	ImportStatusDeleteComplete = "DELETE_COMPLETE"
6043
6044	// ImportStatusDeleteFailed is a ImportStatus enum value
6045	ImportStatusDeleteFailed = "DELETE_FAILED"
6046
6047	// ImportStatusDeleteFailedLimitExceeded is a ImportStatus enum value
6048	ImportStatusDeleteFailedLimitExceeded = "DELETE_FAILED_LIMIT_EXCEEDED"
6049
6050	// ImportStatusInternalError is a ImportStatus enum value
6051	ImportStatusInternalError = "INTERNAL_ERROR"
6052)
6053
6054const (
6055	// ImportTaskFilterNameImportTaskId is a ImportTaskFilterName enum value
6056	ImportTaskFilterNameImportTaskId = "IMPORT_TASK_ID"
6057
6058	// ImportTaskFilterNameStatus is a ImportTaskFilterName enum value
6059	ImportTaskFilterNameStatus = "STATUS"
6060
6061	// ImportTaskFilterNameName is a ImportTaskFilterName enum value
6062	ImportTaskFilterNameName = "NAME"
6063)
6064
6065const (
6066	// OrderStringAsc is a orderString enum value
6067	OrderStringAsc = "ASC"
6068
6069	// OrderStringDesc is a orderString enum value
6070	OrderStringDesc = "DESC"
6071)
6072