github.com/aavshr/aws-sdk-go@v1.41.3/service/support/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package support
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    10  	"github.com/aavshr/aws-sdk-go/aws/request"
    11  	"github.com/aavshr/aws-sdk-go/private/protocol"
    12  )
    13  
    14  const opAddAttachmentsToSet = "AddAttachmentsToSet"
    15  
    16  // AddAttachmentsToSetRequest generates a "aws/request.Request" representing the
    17  // client's request for the AddAttachmentsToSet operation. The "output" return
    18  // value will be populated with the request's response once the request completes
    19  // successfully.
    20  //
    21  // Use "Send" method on the returned Request to send the API call to the service.
    22  // the "output" return value is not valid until after Send returns without error.
    23  //
    24  // See AddAttachmentsToSet for more information on using the AddAttachmentsToSet
    25  // API call, and error handling.
    26  //
    27  // This method is useful when you want to inject custom logic or configuration
    28  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    29  //
    30  //
    31  //    // Example sending a request using the AddAttachmentsToSetRequest method.
    32  //    req, resp := client.AddAttachmentsToSetRequest(params)
    33  //
    34  //    err := req.Send()
    35  //    if err == nil { // resp is now filled
    36  //        fmt.Println(resp)
    37  //    }
    38  //
    39  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/AddAttachmentsToSet
    40  func (c *Support) AddAttachmentsToSetRequest(input *AddAttachmentsToSetInput) (req *request.Request, output *AddAttachmentsToSetOutput) {
    41  	op := &request.Operation{
    42  		Name:       opAddAttachmentsToSet,
    43  		HTTPMethod: "POST",
    44  		HTTPPath:   "/",
    45  	}
    46  
    47  	if input == nil {
    48  		input = &AddAttachmentsToSetInput{}
    49  	}
    50  
    51  	output = &AddAttachmentsToSetOutput{}
    52  	req = c.newRequest(op, input, output)
    53  	return
    54  }
    55  
    56  // AddAttachmentsToSet API operation for AWS Support.
    57  //
    58  // Adds one or more attachments to an attachment set.
    59  //
    60  // An attachment set is a temporary container for attachments that you add to
    61  // a case or case communication. The set is available for 1 hour after it's
    62  // created. The expiryTime returned in the response is when the set expires.
    63  //
    64  //    * You must have a Business or Enterprise Support plan to use the AWS Support
    65  //    API.
    66  //
    67  //    * If you call the AWS Support API from an account that does not have a
    68  //    Business or Enterprise Support plan, the SubscriptionRequiredException
    69  //    error message appears. For information about changing your support plan,
    70  //    see AWS Support (http://aws.amazon.com/premiumsupport/).
    71  //
    72  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    73  // with awserr.Error's Code and Message methods to get detailed information about
    74  // the error.
    75  //
    76  // See the AWS API reference guide for AWS Support's
    77  // API operation AddAttachmentsToSet for usage and error information.
    78  //
    79  // Returned Error Types:
    80  //   * InternalServerError
    81  //   An internal server error occurred.
    82  //
    83  //   * AttachmentSetIdNotFound
    84  //   An attachment set with the specified ID could not be found.
    85  //
    86  //   * AttachmentSetExpired
    87  //   The expiration time of the attachment set has passed. The set expires 1 hour
    88  //   after it is created.
    89  //
    90  //   * AttachmentSetSizeLimitExceeded
    91  //   A limit for the size of an attachment set has been exceeded. The limits are
    92  //   three attachments and 5 MB per attachment.
    93  //
    94  //   * AttachmentLimitExceeded
    95  //   The limit for the number of attachment sets created in a short period of
    96  //   time has been exceeded.
    97  //
    98  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/AddAttachmentsToSet
    99  func (c *Support) AddAttachmentsToSet(input *AddAttachmentsToSetInput) (*AddAttachmentsToSetOutput, error) {
   100  	req, out := c.AddAttachmentsToSetRequest(input)
   101  	return out, req.Send()
   102  }
   103  
   104  // AddAttachmentsToSetWithContext is the same as AddAttachmentsToSet with the addition of
   105  // the ability to pass a context and additional request options.
   106  //
   107  // See AddAttachmentsToSet for details on how to use this API operation.
   108  //
   109  // The context must be non-nil and will be used for request cancellation. If
   110  // the context is nil a panic will occur. In the future the SDK may create
   111  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   112  // for more information on using Contexts.
   113  func (c *Support) AddAttachmentsToSetWithContext(ctx aws.Context, input *AddAttachmentsToSetInput, opts ...request.Option) (*AddAttachmentsToSetOutput, error) {
   114  	req, out := c.AddAttachmentsToSetRequest(input)
   115  	req.SetContext(ctx)
   116  	req.ApplyOptions(opts...)
   117  	return out, req.Send()
   118  }
   119  
   120  const opAddCommunicationToCase = "AddCommunicationToCase"
   121  
   122  // AddCommunicationToCaseRequest generates a "aws/request.Request" representing the
   123  // client's request for the AddCommunicationToCase operation. The "output" return
   124  // value will be populated with the request's response once the request completes
   125  // successfully.
   126  //
   127  // Use "Send" method on the returned Request to send the API call to the service.
   128  // the "output" return value is not valid until after Send returns without error.
   129  //
   130  // See AddCommunicationToCase for more information on using the AddCommunicationToCase
   131  // API call, and error handling.
   132  //
   133  // This method is useful when you want to inject custom logic or configuration
   134  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   135  //
   136  //
   137  //    // Example sending a request using the AddCommunicationToCaseRequest method.
   138  //    req, resp := client.AddCommunicationToCaseRequest(params)
   139  //
   140  //    err := req.Send()
   141  //    if err == nil { // resp is now filled
   142  //        fmt.Println(resp)
   143  //    }
   144  //
   145  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/AddCommunicationToCase
   146  func (c *Support) AddCommunicationToCaseRequest(input *AddCommunicationToCaseInput) (req *request.Request, output *AddCommunicationToCaseOutput) {
   147  	op := &request.Operation{
   148  		Name:       opAddCommunicationToCase,
   149  		HTTPMethod: "POST",
   150  		HTTPPath:   "/",
   151  	}
   152  
   153  	if input == nil {
   154  		input = &AddCommunicationToCaseInput{}
   155  	}
   156  
   157  	output = &AddCommunicationToCaseOutput{}
   158  	req = c.newRequest(op, input, output)
   159  	return
   160  }
   161  
   162  // AddCommunicationToCase API operation for AWS Support.
   163  //
   164  // Adds additional customer communication to an AWS Support case. Use the caseId
   165  // parameter to identify the case to which to add communication. You can list
   166  // a set of email addresses to copy on the communication by using the ccEmailAddresses
   167  // parameter. The communicationBody value contains the text of the communication.
   168  //
   169  //    * You must have a Business or Enterprise Support plan to use the AWS Support
   170  //    API.
   171  //
   172  //    * If you call the AWS Support API from an account that does not have a
   173  //    Business or Enterprise Support plan, the SubscriptionRequiredException
   174  //    error message appears. For information about changing your support plan,
   175  //    see AWS Support (http://aws.amazon.com/premiumsupport/).
   176  //
   177  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   178  // with awserr.Error's Code and Message methods to get detailed information about
   179  // the error.
   180  //
   181  // See the AWS API reference guide for AWS Support's
   182  // API operation AddCommunicationToCase for usage and error information.
   183  //
   184  // Returned Error Types:
   185  //   * InternalServerError
   186  //   An internal server error occurred.
   187  //
   188  //   * CaseIdNotFound
   189  //   The requested caseId couldn't be located.
   190  //
   191  //   * AttachmentSetIdNotFound
   192  //   An attachment set with the specified ID could not be found.
   193  //
   194  //   * AttachmentSetExpired
   195  //   The expiration time of the attachment set has passed. The set expires 1 hour
   196  //   after it is created.
   197  //
   198  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/AddCommunicationToCase
   199  func (c *Support) AddCommunicationToCase(input *AddCommunicationToCaseInput) (*AddCommunicationToCaseOutput, error) {
   200  	req, out := c.AddCommunicationToCaseRequest(input)
   201  	return out, req.Send()
   202  }
   203  
   204  // AddCommunicationToCaseWithContext is the same as AddCommunicationToCase with the addition of
   205  // the ability to pass a context and additional request options.
   206  //
   207  // See AddCommunicationToCase for details on how to use this API operation.
   208  //
   209  // The context must be non-nil and will be used for request cancellation. If
   210  // the context is nil a panic will occur. In the future the SDK may create
   211  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   212  // for more information on using Contexts.
   213  func (c *Support) AddCommunicationToCaseWithContext(ctx aws.Context, input *AddCommunicationToCaseInput, opts ...request.Option) (*AddCommunicationToCaseOutput, error) {
   214  	req, out := c.AddCommunicationToCaseRequest(input)
   215  	req.SetContext(ctx)
   216  	req.ApplyOptions(opts...)
   217  	return out, req.Send()
   218  }
   219  
   220  const opCreateCase = "CreateCase"
   221  
   222  // CreateCaseRequest generates a "aws/request.Request" representing the
   223  // client's request for the CreateCase operation. The "output" return
   224  // value will be populated with the request's response once the request completes
   225  // successfully.
   226  //
   227  // Use "Send" method on the returned Request to send the API call to the service.
   228  // the "output" return value is not valid until after Send returns without error.
   229  //
   230  // See CreateCase for more information on using the CreateCase
   231  // API call, and error handling.
   232  //
   233  // This method is useful when you want to inject custom logic or configuration
   234  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   235  //
   236  //
   237  //    // Example sending a request using the CreateCaseRequest method.
   238  //    req, resp := client.CreateCaseRequest(params)
   239  //
   240  //    err := req.Send()
   241  //    if err == nil { // resp is now filled
   242  //        fmt.Println(resp)
   243  //    }
   244  //
   245  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/CreateCase
   246  func (c *Support) CreateCaseRequest(input *CreateCaseInput) (req *request.Request, output *CreateCaseOutput) {
   247  	op := &request.Operation{
   248  		Name:       opCreateCase,
   249  		HTTPMethod: "POST",
   250  		HTTPPath:   "/",
   251  	}
   252  
   253  	if input == nil {
   254  		input = &CreateCaseInput{}
   255  	}
   256  
   257  	output = &CreateCaseOutput{}
   258  	req = c.newRequest(op, input, output)
   259  	return
   260  }
   261  
   262  // CreateCase API operation for AWS Support.
   263  //
   264  // Creates a case in the AWS Support Center. This operation is similar to how
   265  // you create a case in the AWS Support Center Create Case (https://console.aws.amazon.com/support/home#/case/create)
   266  // page.
   267  //
   268  // The AWS Support API doesn't support requesting service limit increases. You
   269  // can submit a service limit increase in the following ways:
   270  //
   271  //    * Submit a request from the AWS Support Center Create Case (https://console.aws.amazon.com/support/home#/case/create)
   272  //    page.
   273  //
   274  //    * Use the Service Quotas RequestServiceQuotaIncrease (https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_RequestServiceQuotaIncrease.html)
   275  //    operation.
   276  //
   277  // A successful CreateCase request returns an AWS Support case number. You can
   278  // use the DescribeCases operation and specify the case number to get existing
   279  // AWS Support cases. After you create a case, use the AddCommunicationToCase
   280  // operation to add additional communication or attachments to an existing case.
   281  //
   282  // The caseId is separate from the displayId that appears in the AWS Support
   283  // Center (https://console.aws.amazon.com/support). Use the DescribeCases operation
   284  // to get the displayId.
   285  //
   286  //    * You must have a Business or Enterprise Support plan to use the AWS Support
   287  //    API.
   288  //
   289  //    * If you call the AWS Support API from an account that does not have a
   290  //    Business or Enterprise Support plan, the SubscriptionRequiredException
   291  //    error message appears. For information about changing your support plan,
   292  //    see AWS Support (http://aws.amazon.com/premiumsupport/).
   293  //
   294  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   295  // with awserr.Error's Code and Message methods to get detailed information about
   296  // the error.
   297  //
   298  // See the AWS API reference guide for AWS Support's
   299  // API operation CreateCase for usage and error information.
   300  //
   301  // Returned Error Types:
   302  //   * InternalServerError
   303  //   An internal server error occurred.
   304  //
   305  //   * CaseCreationLimitExceeded
   306  //   The case creation limit for the account has been exceeded.
   307  //
   308  //   * AttachmentSetIdNotFound
   309  //   An attachment set with the specified ID could not be found.
   310  //
   311  //   * AttachmentSetExpired
   312  //   The expiration time of the attachment set has passed. The set expires 1 hour
   313  //   after it is created.
   314  //
   315  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/CreateCase
   316  func (c *Support) CreateCase(input *CreateCaseInput) (*CreateCaseOutput, error) {
   317  	req, out := c.CreateCaseRequest(input)
   318  	return out, req.Send()
   319  }
   320  
   321  // CreateCaseWithContext is the same as CreateCase with the addition of
   322  // the ability to pass a context and additional request options.
   323  //
   324  // See CreateCase for details on how to use this API operation.
   325  //
   326  // The context must be non-nil and will be used for request cancellation. If
   327  // the context is nil a panic will occur. In the future the SDK may create
   328  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   329  // for more information on using Contexts.
   330  func (c *Support) CreateCaseWithContext(ctx aws.Context, input *CreateCaseInput, opts ...request.Option) (*CreateCaseOutput, error) {
   331  	req, out := c.CreateCaseRequest(input)
   332  	req.SetContext(ctx)
   333  	req.ApplyOptions(opts...)
   334  	return out, req.Send()
   335  }
   336  
   337  const opDescribeAttachment = "DescribeAttachment"
   338  
   339  // DescribeAttachmentRequest generates a "aws/request.Request" representing the
   340  // client's request for the DescribeAttachment operation. The "output" return
   341  // value will be populated with the request's response once the request completes
   342  // successfully.
   343  //
   344  // Use "Send" method on the returned Request to send the API call to the service.
   345  // the "output" return value is not valid until after Send returns without error.
   346  //
   347  // See DescribeAttachment for more information on using the DescribeAttachment
   348  // API call, and error handling.
   349  //
   350  // This method is useful when you want to inject custom logic or configuration
   351  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   352  //
   353  //
   354  //    // Example sending a request using the DescribeAttachmentRequest method.
   355  //    req, resp := client.DescribeAttachmentRequest(params)
   356  //
   357  //    err := req.Send()
   358  //    if err == nil { // resp is now filled
   359  //        fmt.Println(resp)
   360  //    }
   361  //
   362  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeAttachment
   363  func (c *Support) DescribeAttachmentRequest(input *DescribeAttachmentInput) (req *request.Request, output *DescribeAttachmentOutput) {
   364  	op := &request.Operation{
   365  		Name:       opDescribeAttachment,
   366  		HTTPMethod: "POST",
   367  		HTTPPath:   "/",
   368  	}
   369  
   370  	if input == nil {
   371  		input = &DescribeAttachmentInput{}
   372  	}
   373  
   374  	output = &DescribeAttachmentOutput{}
   375  	req = c.newRequest(op, input, output)
   376  	return
   377  }
   378  
   379  // DescribeAttachment API operation for AWS Support.
   380  //
   381  // Returns the attachment that has the specified ID. Attachments can include
   382  // screenshots, error logs, or other files that describe your issue. Attachment
   383  // IDs are generated by the case management system when you add an attachment
   384  // to a case or case communication. Attachment IDs are returned in the AttachmentDetails
   385  // objects that are returned by the DescribeCommunications operation.
   386  //
   387  //    * You must have a Business or Enterprise Support plan to use the AWS Support
   388  //    API.
   389  //
   390  //    * If you call the AWS Support API from an account that does not have a
   391  //    Business or Enterprise Support plan, the SubscriptionRequiredException
   392  //    error message appears. For information about changing your support plan,
   393  //    see AWS Support (http://aws.amazon.com/premiumsupport/).
   394  //
   395  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   396  // with awserr.Error's Code and Message methods to get detailed information about
   397  // the error.
   398  //
   399  // See the AWS API reference guide for AWS Support's
   400  // API operation DescribeAttachment for usage and error information.
   401  //
   402  // Returned Error Types:
   403  //   * InternalServerError
   404  //   An internal server error occurred.
   405  //
   406  //   * DescribeAttachmentLimitExceeded
   407  //   The limit for the number of DescribeAttachment requests in a short period
   408  //   of time has been exceeded.
   409  //
   410  //   * AttachmentIdNotFound
   411  //   An attachment with the specified ID could not be found.
   412  //
   413  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeAttachment
   414  func (c *Support) DescribeAttachment(input *DescribeAttachmentInput) (*DescribeAttachmentOutput, error) {
   415  	req, out := c.DescribeAttachmentRequest(input)
   416  	return out, req.Send()
   417  }
   418  
   419  // DescribeAttachmentWithContext is the same as DescribeAttachment with the addition of
   420  // the ability to pass a context and additional request options.
   421  //
   422  // See DescribeAttachment for details on how to use this API operation.
   423  //
   424  // The context must be non-nil and will be used for request cancellation. If
   425  // the context is nil a panic will occur. In the future the SDK may create
   426  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   427  // for more information on using Contexts.
   428  func (c *Support) DescribeAttachmentWithContext(ctx aws.Context, input *DescribeAttachmentInput, opts ...request.Option) (*DescribeAttachmentOutput, error) {
   429  	req, out := c.DescribeAttachmentRequest(input)
   430  	req.SetContext(ctx)
   431  	req.ApplyOptions(opts...)
   432  	return out, req.Send()
   433  }
   434  
   435  const opDescribeCases = "DescribeCases"
   436  
   437  // DescribeCasesRequest generates a "aws/request.Request" representing the
   438  // client's request for the DescribeCases operation. The "output" return
   439  // value will be populated with the request's response once the request completes
   440  // successfully.
   441  //
   442  // Use "Send" method on the returned Request to send the API call to the service.
   443  // the "output" return value is not valid until after Send returns without error.
   444  //
   445  // See DescribeCases for more information on using the DescribeCases
   446  // API call, and error handling.
   447  //
   448  // This method is useful when you want to inject custom logic or configuration
   449  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   450  //
   451  //
   452  //    // Example sending a request using the DescribeCasesRequest method.
   453  //    req, resp := client.DescribeCasesRequest(params)
   454  //
   455  //    err := req.Send()
   456  //    if err == nil { // resp is now filled
   457  //        fmt.Println(resp)
   458  //    }
   459  //
   460  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeCases
   461  func (c *Support) DescribeCasesRequest(input *DescribeCasesInput) (req *request.Request, output *DescribeCasesOutput) {
   462  	op := &request.Operation{
   463  		Name:       opDescribeCases,
   464  		HTTPMethod: "POST",
   465  		HTTPPath:   "/",
   466  		Paginator: &request.Paginator{
   467  			InputTokens:     []string{"nextToken"},
   468  			OutputTokens:    []string{"nextToken"},
   469  			LimitToken:      "maxResults",
   470  			TruncationToken: "",
   471  		},
   472  	}
   473  
   474  	if input == nil {
   475  		input = &DescribeCasesInput{}
   476  	}
   477  
   478  	output = &DescribeCasesOutput{}
   479  	req = c.newRequest(op, input, output)
   480  	return
   481  }
   482  
   483  // DescribeCases API operation for AWS Support.
   484  //
   485  // Returns a list of cases that you specify by passing one or more case IDs.
   486  // You can use the afterTime and beforeTime parameters to filter the cases by
   487  // date. You can set values for the includeResolvedCases and includeCommunications
   488  // parameters to specify how much information to return.
   489  //
   490  // The response returns the following in JSON format:
   491  //
   492  //    * One or more CaseDetails (https://docs.aws.amazon.com/awssupport/latest/APIReference/API_CaseDetails.html)
   493  //    data types.
   494  //
   495  //    * One or more nextToken values, which specify where to paginate the returned
   496  //    records represented by the CaseDetails objects.
   497  //
   498  // Case data is available for 12 months after creation. If a case was created
   499  // more than 12 months ago, a request might return an error.
   500  //
   501  //    * You must have a Business or Enterprise Support plan to use the AWS Support
   502  //    API.
   503  //
   504  //    * If you call the AWS Support API from an account that does not have a
   505  //    Business or Enterprise Support plan, the SubscriptionRequiredException
   506  //    error message appears. For information about changing your support plan,
   507  //    see AWS Support (http://aws.amazon.com/premiumsupport/).
   508  //
   509  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   510  // with awserr.Error's Code and Message methods to get detailed information about
   511  // the error.
   512  //
   513  // See the AWS API reference guide for AWS Support's
   514  // API operation DescribeCases for usage and error information.
   515  //
   516  // Returned Error Types:
   517  //   * InternalServerError
   518  //   An internal server error occurred.
   519  //
   520  //   * CaseIdNotFound
   521  //   The requested caseId couldn't be located.
   522  //
   523  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeCases
   524  func (c *Support) DescribeCases(input *DescribeCasesInput) (*DescribeCasesOutput, error) {
   525  	req, out := c.DescribeCasesRequest(input)
   526  	return out, req.Send()
   527  }
   528  
   529  // DescribeCasesWithContext is the same as DescribeCases with the addition of
   530  // the ability to pass a context and additional request options.
   531  //
   532  // See DescribeCases for details on how to use this API operation.
   533  //
   534  // The context must be non-nil and will be used for request cancellation. If
   535  // the context is nil a panic will occur. In the future the SDK may create
   536  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   537  // for more information on using Contexts.
   538  func (c *Support) DescribeCasesWithContext(ctx aws.Context, input *DescribeCasesInput, opts ...request.Option) (*DescribeCasesOutput, error) {
   539  	req, out := c.DescribeCasesRequest(input)
   540  	req.SetContext(ctx)
   541  	req.ApplyOptions(opts...)
   542  	return out, req.Send()
   543  }
   544  
   545  // DescribeCasesPages iterates over the pages of a DescribeCases operation,
   546  // calling the "fn" function with the response data for each page. To stop
   547  // iterating, return false from the fn function.
   548  //
   549  // See DescribeCases method for more information on how to use this operation.
   550  //
   551  // Note: This operation can generate multiple requests to a service.
   552  //
   553  //    // Example iterating over at most 3 pages of a DescribeCases operation.
   554  //    pageNum := 0
   555  //    err := client.DescribeCasesPages(params,
   556  //        func(page *support.DescribeCasesOutput, lastPage bool) bool {
   557  //            pageNum++
   558  //            fmt.Println(page)
   559  //            return pageNum <= 3
   560  //        })
   561  //
   562  func (c *Support) DescribeCasesPages(input *DescribeCasesInput, fn func(*DescribeCasesOutput, bool) bool) error {
   563  	return c.DescribeCasesPagesWithContext(aws.BackgroundContext(), input, fn)
   564  }
   565  
   566  // DescribeCasesPagesWithContext same as DescribeCasesPages except
   567  // it takes a Context and allows setting request options on the pages.
   568  //
   569  // The context must be non-nil and will be used for request cancellation. If
   570  // the context is nil a panic will occur. In the future the SDK may create
   571  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   572  // for more information on using Contexts.
   573  func (c *Support) DescribeCasesPagesWithContext(ctx aws.Context, input *DescribeCasesInput, fn func(*DescribeCasesOutput, bool) bool, opts ...request.Option) error {
   574  	p := request.Pagination{
   575  		NewRequest: func() (*request.Request, error) {
   576  			var inCpy *DescribeCasesInput
   577  			if input != nil {
   578  				tmp := *input
   579  				inCpy = &tmp
   580  			}
   581  			req, _ := c.DescribeCasesRequest(inCpy)
   582  			req.SetContext(ctx)
   583  			req.ApplyOptions(opts...)
   584  			return req, nil
   585  		},
   586  	}
   587  
   588  	for p.Next() {
   589  		if !fn(p.Page().(*DescribeCasesOutput), !p.HasNextPage()) {
   590  			break
   591  		}
   592  	}
   593  
   594  	return p.Err()
   595  }
   596  
   597  const opDescribeCommunications = "DescribeCommunications"
   598  
   599  // DescribeCommunicationsRequest generates a "aws/request.Request" representing the
   600  // client's request for the DescribeCommunications operation. The "output" return
   601  // value will be populated with the request's response once the request completes
   602  // successfully.
   603  //
   604  // Use "Send" method on the returned Request to send the API call to the service.
   605  // the "output" return value is not valid until after Send returns without error.
   606  //
   607  // See DescribeCommunications for more information on using the DescribeCommunications
   608  // API call, and error handling.
   609  //
   610  // This method is useful when you want to inject custom logic or configuration
   611  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   612  //
   613  //
   614  //    // Example sending a request using the DescribeCommunicationsRequest method.
   615  //    req, resp := client.DescribeCommunicationsRequest(params)
   616  //
   617  //    err := req.Send()
   618  //    if err == nil { // resp is now filled
   619  //        fmt.Println(resp)
   620  //    }
   621  //
   622  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeCommunications
   623  func (c *Support) DescribeCommunicationsRequest(input *DescribeCommunicationsInput) (req *request.Request, output *DescribeCommunicationsOutput) {
   624  	op := &request.Operation{
   625  		Name:       opDescribeCommunications,
   626  		HTTPMethod: "POST",
   627  		HTTPPath:   "/",
   628  		Paginator: &request.Paginator{
   629  			InputTokens:     []string{"nextToken"},
   630  			OutputTokens:    []string{"nextToken"},
   631  			LimitToken:      "maxResults",
   632  			TruncationToken: "",
   633  		},
   634  	}
   635  
   636  	if input == nil {
   637  		input = &DescribeCommunicationsInput{}
   638  	}
   639  
   640  	output = &DescribeCommunicationsOutput{}
   641  	req = c.newRequest(op, input, output)
   642  	return
   643  }
   644  
   645  // DescribeCommunications API operation for AWS Support.
   646  //
   647  // Returns communications and attachments for one or more support cases. Use
   648  // the afterTime and beforeTime parameters to filter by date. You can use the
   649  // caseId parameter to restrict the results to a specific case.
   650  //
   651  // Case data is available for 12 months after creation. If a case was created
   652  // more than 12 months ago, a request for data might cause an error.
   653  //
   654  // You can use the maxResults and nextToken parameters to control the pagination
   655  // of the results. Set maxResults to the number of cases that you want to display
   656  // on each page, and use nextToken to specify the resumption of pagination.
   657  //
   658  //    * You must have a Business or Enterprise Support plan to use the AWS Support
   659  //    API.
   660  //
   661  //    * If you call the AWS Support API from an account that does not have a
   662  //    Business or Enterprise Support plan, the SubscriptionRequiredException
   663  //    error message appears. For information about changing your support plan,
   664  //    see AWS Support (http://aws.amazon.com/premiumsupport/).
   665  //
   666  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   667  // with awserr.Error's Code and Message methods to get detailed information about
   668  // the error.
   669  //
   670  // See the AWS API reference guide for AWS Support's
   671  // API operation DescribeCommunications for usage and error information.
   672  //
   673  // Returned Error Types:
   674  //   * InternalServerError
   675  //   An internal server error occurred.
   676  //
   677  //   * CaseIdNotFound
   678  //   The requested caseId couldn't be located.
   679  //
   680  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeCommunications
   681  func (c *Support) DescribeCommunications(input *DescribeCommunicationsInput) (*DescribeCommunicationsOutput, error) {
   682  	req, out := c.DescribeCommunicationsRequest(input)
   683  	return out, req.Send()
   684  }
   685  
   686  // DescribeCommunicationsWithContext is the same as DescribeCommunications with the addition of
   687  // the ability to pass a context and additional request options.
   688  //
   689  // See DescribeCommunications for details on how to use this API operation.
   690  //
   691  // The context must be non-nil and will be used for request cancellation. If
   692  // the context is nil a panic will occur. In the future the SDK may create
   693  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   694  // for more information on using Contexts.
   695  func (c *Support) DescribeCommunicationsWithContext(ctx aws.Context, input *DescribeCommunicationsInput, opts ...request.Option) (*DescribeCommunicationsOutput, error) {
   696  	req, out := c.DescribeCommunicationsRequest(input)
   697  	req.SetContext(ctx)
   698  	req.ApplyOptions(opts...)
   699  	return out, req.Send()
   700  }
   701  
   702  // DescribeCommunicationsPages iterates over the pages of a DescribeCommunications operation,
   703  // calling the "fn" function with the response data for each page. To stop
   704  // iterating, return false from the fn function.
   705  //
   706  // See DescribeCommunications method for more information on how to use this operation.
   707  //
   708  // Note: This operation can generate multiple requests to a service.
   709  //
   710  //    // Example iterating over at most 3 pages of a DescribeCommunications operation.
   711  //    pageNum := 0
   712  //    err := client.DescribeCommunicationsPages(params,
   713  //        func(page *support.DescribeCommunicationsOutput, lastPage bool) bool {
   714  //            pageNum++
   715  //            fmt.Println(page)
   716  //            return pageNum <= 3
   717  //        })
   718  //
   719  func (c *Support) DescribeCommunicationsPages(input *DescribeCommunicationsInput, fn func(*DescribeCommunicationsOutput, bool) bool) error {
   720  	return c.DescribeCommunicationsPagesWithContext(aws.BackgroundContext(), input, fn)
   721  }
   722  
   723  // DescribeCommunicationsPagesWithContext same as DescribeCommunicationsPages except
   724  // it takes a Context and allows setting request options on the pages.
   725  //
   726  // The context must be non-nil and will be used for request cancellation. If
   727  // the context is nil a panic will occur. In the future the SDK may create
   728  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   729  // for more information on using Contexts.
   730  func (c *Support) DescribeCommunicationsPagesWithContext(ctx aws.Context, input *DescribeCommunicationsInput, fn func(*DescribeCommunicationsOutput, bool) bool, opts ...request.Option) error {
   731  	p := request.Pagination{
   732  		NewRequest: func() (*request.Request, error) {
   733  			var inCpy *DescribeCommunicationsInput
   734  			if input != nil {
   735  				tmp := *input
   736  				inCpy = &tmp
   737  			}
   738  			req, _ := c.DescribeCommunicationsRequest(inCpy)
   739  			req.SetContext(ctx)
   740  			req.ApplyOptions(opts...)
   741  			return req, nil
   742  		},
   743  	}
   744  
   745  	for p.Next() {
   746  		if !fn(p.Page().(*DescribeCommunicationsOutput), !p.HasNextPage()) {
   747  			break
   748  		}
   749  	}
   750  
   751  	return p.Err()
   752  }
   753  
   754  const opDescribeServices = "DescribeServices"
   755  
   756  // DescribeServicesRequest generates a "aws/request.Request" representing the
   757  // client's request for the DescribeServices operation. The "output" return
   758  // value will be populated with the request's response once the request completes
   759  // successfully.
   760  //
   761  // Use "Send" method on the returned Request to send the API call to the service.
   762  // the "output" return value is not valid until after Send returns without error.
   763  //
   764  // See DescribeServices for more information on using the DescribeServices
   765  // API call, and error handling.
   766  //
   767  // This method is useful when you want to inject custom logic or configuration
   768  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   769  //
   770  //
   771  //    // Example sending a request using the DescribeServicesRequest method.
   772  //    req, resp := client.DescribeServicesRequest(params)
   773  //
   774  //    err := req.Send()
   775  //    if err == nil { // resp is now filled
   776  //        fmt.Println(resp)
   777  //    }
   778  //
   779  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeServices
   780  func (c *Support) DescribeServicesRequest(input *DescribeServicesInput) (req *request.Request, output *DescribeServicesOutput) {
   781  	op := &request.Operation{
   782  		Name:       opDescribeServices,
   783  		HTTPMethod: "POST",
   784  		HTTPPath:   "/",
   785  	}
   786  
   787  	if input == nil {
   788  		input = &DescribeServicesInput{}
   789  	}
   790  
   791  	output = &DescribeServicesOutput{}
   792  	req = c.newRequest(op, input, output)
   793  	return
   794  }
   795  
   796  // DescribeServices API operation for AWS Support.
   797  //
   798  // Returns the current list of AWS services and a list of service categories
   799  // for each service. You then use service names and categories in your CreateCase
   800  // requests. Each AWS service has its own set of categories.
   801  //
   802  // The service codes and category codes correspond to the values that appear
   803  // in the Service and Category lists on the AWS Support Center Create Case (https://console.aws.amazon.com/support/home#/case/create)
   804  // page. The values in those fields don't necessarily match the service codes
   805  // and categories returned by the DescribeServices operation. Always use the
   806  // service codes and categories that the DescribeServices operation returns,
   807  // so that you have the most recent set of service and category codes.
   808  //
   809  //    * You must have a Business or Enterprise Support plan to use the AWS Support
   810  //    API.
   811  //
   812  //    * If you call the AWS Support API from an account that does not have a
   813  //    Business or Enterprise Support plan, the SubscriptionRequiredException
   814  //    error message appears. For information about changing your support plan,
   815  //    see AWS Support (http://aws.amazon.com/premiumsupport/).
   816  //
   817  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   818  // with awserr.Error's Code and Message methods to get detailed information about
   819  // the error.
   820  //
   821  // See the AWS API reference guide for AWS Support's
   822  // API operation DescribeServices for usage and error information.
   823  //
   824  // Returned Error Types:
   825  //   * InternalServerError
   826  //   An internal server error occurred.
   827  //
   828  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeServices
   829  func (c *Support) DescribeServices(input *DescribeServicesInput) (*DescribeServicesOutput, error) {
   830  	req, out := c.DescribeServicesRequest(input)
   831  	return out, req.Send()
   832  }
   833  
   834  // DescribeServicesWithContext is the same as DescribeServices with the addition of
   835  // the ability to pass a context and additional request options.
   836  //
   837  // See DescribeServices for details on how to use this API operation.
   838  //
   839  // The context must be non-nil and will be used for request cancellation. If
   840  // the context is nil a panic will occur. In the future the SDK may create
   841  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   842  // for more information on using Contexts.
   843  func (c *Support) DescribeServicesWithContext(ctx aws.Context, input *DescribeServicesInput, opts ...request.Option) (*DescribeServicesOutput, error) {
   844  	req, out := c.DescribeServicesRequest(input)
   845  	req.SetContext(ctx)
   846  	req.ApplyOptions(opts...)
   847  	return out, req.Send()
   848  }
   849  
   850  const opDescribeSeverityLevels = "DescribeSeverityLevels"
   851  
   852  // DescribeSeverityLevelsRequest generates a "aws/request.Request" representing the
   853  // client's request for the DescribeSeverityLevels operation. The "output" return
   854  // value will be populated with the request's response once the request completes
   855  // successfully.
   856  //
   857  // Use "Send" method on the returned Request to send the API call to the service.
   858  // the "output" return value is not valid until after Send returns without error.
   859  //
   860  // See DescribeSeverityLevels for more information on using the DescribeSeverityLevels
   861  // API call, and error handling.
   862  //
   863  // This method is useful when you want to inject custom logic or configuration
   864  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   865  //
   866  //
   867  //    // Example sending a request using the DescribeSeverityLevelsRequest method.
   868  //    req, resp := client.DescribeSeverityLevelsRequest(params)
   869  //
   870  //    err := req.Send()
   871  //    if err == nil { // resp is now filled
   872  //        fmt.Println(resp)
   873  //    }
   874  //
   875  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeSeverityLevels
   876  func (c *Support) DescribeSeverityLevelsRequest(input *DescribeSeverityLevelsInput) (req *request.Request, output *DescribeSeverityLevelsOutput) {
   877  	op := &request.Operation{
   878  		Name:       opDescribeSeverityLevels,
   879  		HTTPMethod: "POST",
   880  		HTTPPath:   "/",
   881  	}
   882  
   883  	if input == nil {
   884  		input = &DescribeSeverityLevelsInput{}
   885  	}
   886  
   887  	output = &DescribeSeverityLevelsOutput{}
   888  	req = c.newRequest(op, input, output)
   889  	return
   890  }
   891  
   892  // DescribeSeverityLevels API operation for AWS Support.
   893  //
   894  // Returns the list of severity levels that you can assign to a support case.
   895  // The severity level for a case is also a field in the CaseDetails data type
   896  // that you include for a CreateCase request.
   897  //
   898  //    * You must have a Business or Enterprise Support plan to use the AWS Support
   899  //    API.
   900  //
   901  //    * If you call the AWS Support API from an account that does not have a
   902  //    Business or Enterprise Support plan, the SubscriptionRequiredException
   903  //    error message appears. For information about changing your support plan,
   904  //    see AWS Support (http://aws.amazon.com/premiumsupport/).
   905  //
   906  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   907  // with awserr.Error's Code and Message methods to get detailed information about
   908  // the error.
   909  //
   910  // See the AWS API reference guide for AWS Support's
   911  // API operation DescribeSeverityLevels for usage and error information.
   912  //
   913  // Returned Error Types:
   914  //   * InternalServerError
   915  //   An internal server error occurred.
   916  //
   917  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeSeverityLevels
   918  func (c *Support) DescribeSeverityLevels(input *DescribeSeverityLevelsInput) (*DescribeSeverityLevelsOutput, error) {
   919  	req, out := c.DescribeSeverityLevelsRequest(input)
   920  	return out, req.Send()
   921  }
   922  
   923  // DescribeSeverityLevelsWithContext is the same as DescribeSeverityLevels with the addition of
   924  // the ability to pass a context and additional request options.
   925  //
   926  // See DescribeSeverityLevels for details on how to use this API operation.
   927  //
   928  // The context must be non-nil and will be used for request cancellation. If
   929  // the context is nil a panic will occur. In the future the SDK may create
   930  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   931  // for more information on using Contexts.
   932  func (c *Support) DescribeSeverityLevelsWithContext(ctx aws.Context, input *DescribeSeverityLevelsInput, opts ...request.Option) (*DescribeSeverityLevelsOutput, error) {
   933  	req, out := c.DescribeSeverityLevelsRequest(input)
   934  	req.SetContext(ctx)
   935  	req.ApplyOptions(opts...)
   936  	return out, req.Send()
   937  }
   938  
   939  const opDescribeTrustedAdvisorCheckRefreshStatuses = "DescribeTrustedAdvisorCheckRefreshStatuses"
   940  
   941  // DescribeTrustedAdvisorCheckRefreshStatusesRequest generates a "aws/request.Request" representing the
   942  // client's request for the DescribeTrustedAdvisorCheckRefreshStatuses operation. The "output" return
   943  // value will be populated with the request's response once the request completes
   944  // successfully.
   945  //
   946  // Use "Send" method on the returned Request to send the API call to the service.
   947  // the "output" return value is not valid until after Send returns without error.
   948  //
   949  // See DescribeTrustedAdvisorCheckRefreshStatuses for more information on using the DescribeTrustedAdvisorCheckRefreshStatuses
   950  // API call, and error handling.
   951  //
   952  // This method is useful when you want to inject custom logic or configuration
   953  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   954  //
   955  //
   956  //    // Example sending a request using the DescribeTrustedAdvisorCheckRefreshStatusesRequest method.
   957  //    req, resp := client.DescribeTrustedAdvisorCheckRefreshStatusesRequest(params)
   958  //
   959  //    err := req.Send()
   960  //    if err == nil { // resp is now filled
   961  //        fmt.Println(resp)
   962  //    }
   963  //
   964  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeTrustedAdvisorCheckRefreshStatuses
   965  func (c *Support) DescribeTrustedAdvisorCheckRefreshStatusesRequest(input *DescribeTrustedAdvisorCheckRefreshStatusesInput) (req *request.Request, output *DescribeTrustedAdvisorCheckRefreshStatusesOutput) {
   966  	op := &request.Operation{
   967  		Name:       opDescribeTrustedAdvisorCheckRefreshStatuses,
   968  		HTTPMethod: "POST",
   969  		HTTPPath:   "/",
   970  	}
   971  
   972  	if input == nil {
   973  		input = &DescribeTrustedAdvisorCheckRefreshStatusesInput{}
   974  	}
   975  
   976  	output = &DescribeTrustedAdvisorCheckRefreshStatusesOutput{}
   977  	req = c.newRequest(op, input, output)
   978  	return
   979  }
   980  
   981  // DescribeTrustedAdvisorCheckRefreshStatuses API operation for AWS Support.
   982  //
   983  // Returns the refresh status of the AWS Trusted Advisor checks that have the
   984  // specified check IDs. You can get the check IDs by calling the DescribeTrustedAdvisorChecks
   985  // operation.
   986  //
   987  // Some checks are refreshed automatically, and you can't return their refresh
   988  // statuses by using the DescribeTrustedAdvisorCheckRefreshStatuses operation.
   989  // If you call this operation for these checks, you might see an InvalidParameterValue
   990  // error.
   991  //
   992  //    * You must have a Business or Enterprise Support plan to use the AWS Support
   993  //    API.
   994  //
   995  //    * If you call the AWS Support API from an account that does not have a
   996  //    Business or Enterprise Support plan, the SubscriptionRequiredException
   997  //    error message appears. For information about changing your support plan,
   998  //    see AWS Support (http://aws.amazon.com/premiumsupport/).
   999  //
  1000  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1001  // with awserr.Error's Code and Message methods to get detailed information about
  1002  // the error.
  1003  //
  1004  // See the AWS API reference guide for AWS Support's
  1005  // API operation DescribeTrustedAdvisorCheckRefreshStatuses for usage and error information.
  1006  //
  1007  // Returned Error Types:
  1008  //   * InternalServerError
  1009  //   An internal server error occurred.
  1010  //
  1011  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeTrustedAdvisorCheckRefreshStatuses
  1012  func (c *Support) DescribeTrustedAdvisorCheckRefreshStatuses(input *DescribeTrustedAdvisorCheckRefreshStatusesInput) (*DescribeTrustedAdvisorCheckRefreshStatusesOutput, error) {
  1013  	req, out := c.DescribeTrustedAdvisorCheckRefreshStatusesRequest(input)
  1014  	return out, req.Send()
  1015  }
  1016  
  1017  // DescribeTrustedAdvisorCheckRefreshStatusesWithContext is the same as DescribeTrustedAdvisorCheckRefreshStatuses with the addition of
  1018  // the ability to pass a context and additional request options.
  1019  //
  1020  // See DescribeTrustedAdvisorCheckRefreshStatuses for details on how to use this API operation.
  1021  //
  1022  // The context must be non-nil and will be used for request cancellation. If
  1023  // the context is nil a panic will occur. In the future the SDK may create
  1024  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1025  // for more information on using Contexts.
  1026  func (c *Support) DescribeTrustedAdvisorCheckRefreshStatusesWithContext(ctx aws.Context, input *DescribeTrustedAdvisorCheckRefreshStatusesInput, opts ...request.Option) (*DescribeTrustedAdvisorCheckRefreshStatusesOutput, error) {
  1027  	req, out := c.DescribeTrustedAdvisorCheckRefreshStatusesRequest(input)
  1028  	req.SetContext(ctx)
  1029  	req.ApplyOptions(opts...)
  1030  	return out, req.Send()
  1031  }
  1032  
  1033  const opDescribeTrustedAdvisorCheckResult = "DescribeTrustedAdvisorCheckResult"
  1034  
  1035  // DescribeTrustedAdvisorCheckResultRequest generates a "aws/request.Request" representing the
  1036  // client's request for the DescribeTrustedAdvisorCheckResult operation. The "output" return
  1037  // value will be populated with the request's response once the request completes
  1038  // successfully.
  1039  //
  1040  // Use "Send" method on the returned Request to send the API call to the service.
  1041  // the "output" return value is not valid until after Send returns without error.
  1042  //
  1043  // See DescribeTrustedAdvisorCheckResult for more information on using the DescribeTrustedAdvisorCheckResult
  1044  // API call, and error handling.
  1045  //
  1046  // This method is useful when you want to inject custom logic or configuration
  1047  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1048  //
  1049  //
  1050  //    // Example sending a request using the DescribeTrustedAdvisorCheckResultRequest method.
  1051  //    req, resp := client.DescribeTrustedAdvisorCheckResultRequest(params)
  1052  //
  1053  //    err := req.Send()
  1054  //    if err == nil { // resp is now filled
  1055  //        fmt.Println(resp)
  1056  //    }
  1057  //
  1058  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeTrustedAdvisorCheckResult
  1059  func (c *Support) DescribeTrustedAdvisorCheckResultRequest(input *DescribeTrustedAdvisorCheckResultInput) (req *request.Request, output *DescribeTrustedAdvisorCheckResultOutput) {
  1060  	op := &request.Operation{
  1061  		Name:       opDescribeTrustedAdvisorCheckResult,
  1062  		HTTPMethod: "POST",
  1063  		HTTPPath:   "/",
  1064  	}
  1065  
  1066  	if input == nil {
  1067  		input = &DescribeTrustedAdvisorCheckResultInput{}
  1068  	}
  1069  
  1070  	output = &DescribeTrustedAdvisorCheckResultOutput{}
  1071  	req = c.newRequest(op, input, output)
  1072  	return
  1073  }
  1074  
  1075  // DescribeTrustedAdvisorCheckResult API operation for AWS Support.
  1076  //
  1077  // Returns the results of the AWS Trusted Advisor check that has the specified
  1078  // check ID. You can get the check IDs by calling the DescribeTrustedAdvisorChecks
  1079  // operation.
  1080  //
  1081  // The response contains a TrustedAdvisorCheckResult object, which contains
  1082  // these three objects:
  1083  //
  1084  //    * TrustedAdvisorCategorySpecificSummary
  1085  //
  1086  //    * TrustedAdvisorResourceDetail
  1087  //
  1088  //    * TrustedAdvisorResourcesSummary
  1089  //
  1090  // In addition, the response contains these fields:
  1091  //
  1092  //    * status - The alert status of the check can be ok (green), warning (yellow),
  1093  //    error (red), or not_available.
  1094  //
  1095  //    * timestamp - The time of the last refresh of the check.
  1096  //
  1097  //    * checkId - The unique identifier for the check.
  1098  //
  1099  //    * You must have a Business or Enterprise Support plan to use the AWS Support
  1100  //    API.
  1101  //
  1102  //    * If you call the AWS Support API from an account that does not have a
  1103  //    Business or Enterprise Support plan, the SubscriptionRequiredException
  1104  //    error message appears. For information about changing your support plan,
  1105  //    see AWS Support (http://aws.amazon.com/premiumsupport/).
  1106  //
  1107  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1108  // with awserr.Error's Code and Message methods to get detailed information about
  1109  // the error.
  1110  //
  1111  // See the AWS API reference guide for AWS Support's
  1112  // API operation DescribeTrustedAdvisorCheckResult for usage and error information.
  1113  //
  1114  // Returned Error Types:
  1115  //   * InternalServerError
  1116  //   An internal server error occurred.
  1117  //
  1118  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeTrustedAdvisorCheckResult
  1119  func (c *Support) DescribeTrustedAdvisorCheckResult(input *DescribeTrustedAdvisorCheckResultInput) (*DescribeTrustedAdvisorCheckResultOutput, error) {
  1120  	req, out := c.DescribeTrustedAdvisorCheckResultRequest(input)
  1121  	return out, req.Send()
  1122  }
  1123  
  1124  // DescribeTrustedAdvisorCheckResultWithContext is the same as DescribeTrustedAdvisorCheckResult with the addition of
  1125  // the ability to pass a context and additional request options.
  1126  //
  1127  // See DescribeTrustedAdvisorCheckResult for details on how to use this API operation.
  1128  //
  1129  // The context must be non-nil and will be used for request cancellation. If
  1130  // the context is nil a panic will occur. In the future the SDK may create
  1131  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1132  // for more information on using Contexts.
  1133  func (c *Support) DescribeTrustedAdvisorCheckResultWithContext(ctx aws.Context, input *DescribeTrustedAdvisorCheckResultInput, opts ...request.Option) (*DescribeTrustedAdvisorCheckResultOutput, error) {
  1134  	req, out := c.DescribeTrustedAdvisorCheckResultRequest(input)
  1135  	req.SetContext(ctx)
  1136  	req.ApplyOptions(opts...)
  1137  	return out, req.Send()
  1138  }
  1139  
  1140  const opDescribeTrustedAdvisorCheckSummaries = "DescribeTrustedAdvisorCheckSummaries"
  1141  
  1142  // DescribeTrustedAdvisorCheckSummariesRequest generates a "aws/request.Request" representing the
  1143  // client's request for the DescribeTrustedAdvisorCheckSummaries operation. The "output" return
  1144  // value will be populated with the request's response once the request completes
  1145  // successfully.
  1146  //
  1147  // Use "Send" method on the returned Request to send the API call to the service.
  1148  // the "output" return value is not valid until after Send returns without error.
  1149  //
  1150  // See DescribeTrustedAdvisorCheckSummaries for more information on using the DescribeTrustedAdvisorCheckSummaries
  1151  // API call, and error handling.
  1152  //
  1153  // This method is useful when you want to inject custom logic or configuration
  1154  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1155  //
  1156  //
  1157  //    // Example sending a request using the DescribeTrustedAdvisorCheckSummariesRequest method.
  1158  //    req, resp := client.DescribeTrustedAdvisorCheckSummariesRequest(params)
  1159  //
  1160  //    err := req.Send()
  1161  //    if err == nil { // resp is now filled
  1162  //        fmt.Println(resp)
  1163  //    }
  1164  //
  1165  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeTrustedAdvisorCheckSummaries
  1166  func (c *Support) DescribeTrustedAdvisorCheckSummariesRequest(input *DescribeTrustedAdvisorCheckSummariesInput) (req *request.Request, output *DescribeTrustedAdvisorCheckSummariesOutput) {
  1167  	op := &request.Operation{
  1168  		Name:       opDescribeTrustedAdvisorCheckSummaries,
  1169  		HTTPMethod: "POST",
  1170  		HTTPPath:   "/",
  1171  	}
  1172  
  1173  	if input == nil {
  1174  		input = &DescribeTrustedAdvisorCheckSummariesInput{}
  1175  	}
  1176  
  1177  	output = &DescribeTrustedAdvisorCheckSummariesOutput{}
  1178  	req = c.newRequest(op, input, output)
  1179  	return
  1180  }
  1181  
  1182  // DescribeTrustedAdvisorCheckSummaries API operation for AWS Support.
  1183  //
  1184  // Returns the results for the AWS Trusted Advisor check summaries for the check
  1185  // IDs that you specified. You can get the check IDs by calling the DescribeTrustedAdvisorChecks
  1186  // operation.
  1187  //
  1188  // The response contains an array of TrustedAdvisorCheckSummary objects.
  1189  //
  1190  //    * You must have a Business or Enterprise Support plan to use the AWS Support
  1191  //    API.
  1192  //
  1193  //    * If you call the AWS Support API from an account that does not have a
  1194  //    Business or Enterprise Support plan, the SubscriptionRequiredException
  1195  //    error message appears. For information about changing your support plan,
  1196  //    see AWS Support (http://aws.amazon.com/premiumsupport/).
  1197  //
  1198  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1199  // with awserr.Error's Code and Message methods to get detailed information about
  1200  // the error.
  1201  //
  1202  // See the AWS API reference guide for AWS Support's
  1203  // API operation DescribeTrustedAdvisorCheckSummaries for usage and error information.
  1204  //
  1205  // Returned Error Types:
  1206  //   * InternalServerError
  1207  //   An internal server error occurred.
  1208  //
  1209  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeTrustedAdvisorCheckSummaries
  1210  func (c *Support) DescribeTrustedAdvisorCheckSummaries(input *DescribeTrustedAdvisorCheckSummariesInput) (*DescribeTrustedAdvisorCheckSummariesOutput, error) {
  1211  	req, out := c.DescribeTrustedAdvisorCheckSummariesRequest(input)
  1212  	return out, req.Send()
  1213  }
  1214  
  1215  // DescribeTrustedAdvisorCheckSummariesWithContext is the same as DescribeTrustedAdvisorCheckSummaries with the addition of
  1216  // the ability to pass a context and additional request options.
  1217  //
  1218  // See DescribeTrustedAdvisorCheckSummaries for details on how to use this API operation.
  1219  //
  1220  // The context must be non-nil and will be used for request cancellation. If
  1221  // the context is nil a panic will occur. In the future the SDK may create
  1222  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1223  // for more information on using Contexts.
  1224  func (c *Support) DescribeTrustedAdvisorCheckSummariesWithContext(ctx aws.Context, input *DescribeTrustedAdvisorCheckSummariesInput, opts ...request.Option) (*DescribeTrustedAdvisorCheckSummariesOutput, error) {
  1225  	req, out := c.DescribeTrustedAdvisorCheckSummariesRequest(input)
  1226  	req.SetContext(ctx)
  1227  	req.ApplyOptions(opts...)
  1228  	return out, req.Send()
  1229  }
  1230  
  1231  const opDescribeTrustedAdvisorChecks = "DescribeTrustedAdvisorChecks"
  1232  
  1233  // DescribeTrustedAdvisorChecksRequest generates a "aws/request.Request" representing the
  1234  // client's request for the DescribeTrustedAdvisorChecks operation. The "output" return
  1235  // value will be populated with the request's response once the request completes
  1236  // successfully.
  1237  //
  1238  // Use "Send" method on the returned Request to send the API call to the service.
  1239  // the "output" return value is not valid until after Send returns without error.
  1240  //
  1241  // See DescribeTrustedAdvisorChecks for more information on using the DescribeTrustedAdvisorChecks
  1242  // API call, and error handling.
  1243  //
  1244  // This method is useful when you want to inject custom logic or configuration
  1245  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1246  //
  1247  //
  1248  //    // Example sending a request using the DescribeTrustedAdvisorChecksRequest method.
  1249  //    req, resp := client.DescribeTrustedAdvisorChecksRequest(params)
  1250  //
  1251  //    err := req.Send()
  1252  //    if err == nil { // resp is now filled
  1253  //        fmt.Println(resp)
  1254  //    }
  1255  //
  1256  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeTrustedAdvisorChecks
  1257  func (c *Support) DescribeTrustedAdvisorChecksRequest(input *DescribeTrustedAdvisorChecksInput) (req *request.Request, output *DescribeTrustedAdvisorChecksOutput) {
  1258  	op := &request.Operation{
  1259  		Name:       opDescribeTrustedAdvisorChecks,
  1260  		HTTPMethod: "POST",
  1261  		HTTPPath:   "/",
  1262  	}
  1263  
  1264  	if input == nil {
  1265  		input = &DescribeTrustedAdvisorChecksInput{}
  1266  	}
  1267  
  1268  	output = &DescribeTrustedAdvisorChecksOutput{}
  1269  	req = c.newRequest(op, input, output)
  1270  	return
  1271  }
  1272  
  1273  // DescribeTrustedAdvisorChecks API operation for AWS Support.
  1274  //
  1275  // Returns information about all available AWS Trusted Advisor checks, including
  1276  // the name, ID, category, description, and metadata. You must specify a language
  1277  // code. The AWS Support API currently supports English ("en") and Japanese
  1278  // ("ja"). The response contains a TrustedAdvisorCheckDescription object for
  1279  // each check. You must set the AWS Region to us-east-1.
  1280  //
  1281  //    * You must have a Business or Enterprise Support plan to use the AWS Support
  1282  //    API.
  1283  //
  1284  //    * If you call the AWS Support API from an account that does not have a
  1285  //    Business or Enterprise Support plan, the SubscriptionRequiredException
  1286  //    error message appears. For information about changing your support plan,
  1287  //    see AWS Support (http://aws.amazon.com/premiumsupport/).
  1288  //
  1289  //    * The names and descriptions for Trusted Advisor checks are subject to
  1290  //    change. We recommend that you specify the check ID in your code to uniquely
  1291  //    identify a check.
  1292  //
  1293  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1294  // with awserr.Error's Code and Message methods to get detailed information about
  1295  // the error.
  1296  //
  1297  // See the AWS API reference guide for AWS Support's
  1298  // API operation DescribeTrustedAdvisorChecks for usage and error information.
  1299  //
  1300  // Returned Error Types:
  1301  //   * InternalServerError
  1302  //   An internal server error occurred.
  1303  //
  1304  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/DescribeTrustedAdvisorChecks
  1305  func (c *Support) DescribeTrustedAdvisorChecks(input *DescribeTrustedAdvisorChecksInput) (*DescribeTrustedAdvisorChecksOutput, error) {
  1306  	req, out := c.DescribeTrustedAdvisorChecksRequest(input)
  1307  	return out, req.Send()
  1308  }
  1309  
  1310  // DescribeTrustedAdvisorChecksWithContext is the same as DescribeTrustedAdvisorChecks with the addition of
  1311  // the ability to pass a context and additional request options.
  1312  //
  1313  // See DescribeTrustedAdvisorChecks for details on how to use this API operation.
  1314  //
  1315  // The context must be non-nil and will be used for request cancellation. If
  1316  // the context is nil a panic will occur. In the future the SDK may create
  1317  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1318  // for more information on using Contexts.
  1319  func (c *Support) DescribeTrustedAdvisorChecksWithContext(ctx aws.Context, input *DescribeTrustedAdvisorChecksInput, opts ...request.Option) (*DescribeTrustedAdvisorChecksOutput, error) {
  1320  	req, out := c.DescribeTrustedAdvisorChecksRequest(input)
  1321  	req.SetContext(ctx)
  1322  	req.ApplyOptions(opts...)
  1323  	return out, req.Send()
  1324  }
  1325  
  1326  const opRefreshTrustedAdvisorCheck = "RefreshTrustedAdvisorCheck"
  1327  
  1328  // RefreshTrustedAdvisorCheckRequest generates a "aws/request.Request" representing the
  1329  // client's request for the RefreshTrustedAdvisorCheck operation. The "output" return
  1330  // value will be populated with the request's response once the request completes
  1331  // successfully.
  1332  //
  1333  // Use "Send" method on the returned Request to send the API call to the service.
  1334  // the "output" return value is not valid until after Send returns without error.
  1335  //
  1336  // See RefreshTrustedAdvisorCheck for more information on using the RefreshTrustedAdvisorCheck
  1337  // API call, and error handling.
  1338  //
  1339  // This method is useful when you want to inject custom logic or configuration
  1340  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1341  //
  1342  //
  1343  //    // Example sending a request using the RefreshTrustedAdvisorCheckRequest method.
  1344  //    req, resp := client.RefreshTrustedAdvisorCheckRequest(params)
  1345  //
  1346  //    err := req.Send()
  1347  //    if err == nil { // resp is now filled
  1348  //        fmt.Println(resp)
  1349  //    }
  1350  //
  1351  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/RefreshTrustedAdvisorCheck
  1352  func (c *Support) RefreshTrustedAdvisorCheckRequest(input *RefreshTrustedAdvisorCheckInput) (req *request.Request, output *RefreshTrustedAdvisorCheckOutput) {
  1353  	op := &request.Operation{
  1354  		Name:       opRefreshTrustedAdvisorCheck,
  1355  		HTTPMethod: "POST",
  1356  		HTTPPath:   "/",
  1357  	}
  1358  
  1359  	if input == nil {
  1360  		input = &RefreshTrustedAdvisorCheckInput{}
  1361  	}
  1362  
  1363  	output = &RefreshTrustedAdvisorCheckOutput{}
  1364  	req = c.newRequest(op, input, output)
  1365  	return
  1366  }
  1367  
  1368  // RefreshTrustedAdvisorCheck API operation for AWS Support.
  1369  //
  1370  // Refreshes the AWS Trusted Advisor check that you specify using the check
  1371  // ID. You can get the check IDs by calling the DescribeTrustedAdvisorChecks
  1372  // operation.
  1373  //
  1374  // Some checks are refreshed automatically. If you call the RefreshTrustedAdvisorCheck
  1375  // operation to refresh them, you might see the InvalidParameterValue error.
  1376  //
  1377  // The response contains a TrustedAdvisorCheckRefreshStatus object.
  1378  //
  1379  //    * You must have a Business or Enterprise Support plan to use the AWS Support
  1380  //    API.
  1381  //
  1382  //    * If you call the AWS Support API from an account that does not have a
  1383  //    Business or Enterprise Support plan, the SubscriptionRequiredException
  1384  //    error message appears. For information about changing your support plan,
  1385  //    see AWS Support (http://aws.amazon.com/premiumsupport/).
  1386  //
  1387  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1388  // with awserr.Error's Code and Message methods to get detailed information about
  1389  // the error.
  1390  //
  1391  // See the AWS API reference guide for AWS Support's
  1392  // API operation RefreshTrustedAdvisorCheck for usage and error information.
  1393  //
  1394  // Returned Error Types:
  1395  //   * InternalServerError
  1396  //   An internal server error occurred.
  1397  //
  1398  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/RefreshTrustedAdvisorCheck
  1399  func (c *Support) RefreshTrustedAdvisorCheck(input *RefreshTrustedAdvisorCheckInput) (*RefreshTrustedAdvisorCheckOutput, error) {
  1400  	req, out := c.RefreshTrustedAdvisorCheckRequest(input)
  1401  	return out, req.Send()
  1402  }
  1403  
  1404  // RefreshTrustedAdvisorCheckWithContext is the same as RefreshTrustedAdvisorCheck with the addition of
  1405  // the ability to pass a context and additional request options.
  1406  //
  1407  // See RefreshTrustedAdvisorCheck for details on how to use this API operation.
  1408  //
  1409  // The context must be non-nil and will be used for request cancellation. If
  1410  // the context is nil a panic will occur. In the future the SDK may create
  1411  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1412  // for more information on using Contexts.
  1413  func (c *Support) RefreshTrustedAdvisorCheckWithContext(ctx aws.Context, input *RefreshTrustedAdvisorCheckInput, opts ...request.Option) (*RefreshTrustedAdvisorCheckOutput, error) {
  1414  	req, out := c.RefreshTrustedAdvisorCheckRequest(input)
  1415  	req.SetContext(ctx)
  1416  	req.ApplyOptions(opts...)
  1417  	return out, req.Send()
  1418  }
  1419  
  1420  const opResolveCase = "ResolveCase"
  1421  
  1422  // ResolveCaseRequest generates a "aws/request.Request" representing the
  1423  // client's request for the ResolveCase operation. The "output" return
  1424  // value will be populated with the request's response once the request completes
  1425  // successfully.
  1426  //
  1427  // Use "Send" method on the returned Request to send the API call to the service.
  1428  // the "output" return value is not valid until after Send returns without error.
  1429  //
  1430  // See ResolveCase for more information on using the ResolveCase
  1431  // API call, and error handling.
  1432  //
  1433  // This method is useful when you want to inject custom logic or configuration
  1434  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1435  //
  1436  //
  1437  //    // Example sending a request using the ResolveCaseRequest method.
  1438  //    req, resp := client.ResolveCaseRequest(params)
  1439  //
  1440  //    err := req.Send()
  1441  //    if err == nil { // resp is now filled
  1442  //        fmt.Println(resp)
  1443  //    }
  1444  //
  1445  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/ResolveCase
  1446  func (c *Support) ResolveCaseRequest(input *ResolveCaseInput) (req *request.Request, output *ResolveCaseOutput) {
  1447  	op := &request.Operation{
  1448  		Name:       opResolveCase,
  1449  		HTTPMethod: "POST",
  1450  		HTTPPath:   "/",
  1451  	}
  1452  
  1453  	if input == nil {
  1454  		input = &ResolveCaseInput{}
  1455  	}
  1456  
  1457  	output = &ResolveCaseOutput{}
  1458  	req = c.newRequest(op, input, output)
  1459  	return
  1460  }
  1461  
  1462  // ResolveCase API operation for AWS Support.
  1463  //
  1464  // Resolves a support case. This operation takes a caseId and returns the initial
  1465  // and final state of the case.
  1466  //
  1467  //    * You must have a Business or Enterprise Support plan to use the AWS Support
  1468  //    API.
  1469  //
  1470  //    * If you call the AWS Support API from an account that does not have a
  1471  //    Business or Enterprise Support plan, the SubscriptionRequiredException
  1472  //    error message appears. For information about changing your support plan,
  1473  //    see AWS Support (http://aws.amazon.com/premiumsupport/).
  1474  //
  1475  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1476  // with awserr.Error's Code and Message methods to get detailed information about
  1477  // the error.
  1478  //
  1479  // See the AWS API reference guide for AWS Support's
  1480  // API operation ResolveCase for usage and error information.
  1481  //
  1482  // Returned Error Types:
  1483  //   * InternalServerError
  1484  //   An internal server error occurred.
  1485  //
  1486  //   * CaseIdNotFound
  1487  //   The requested caseId couldn't be located.
  1488  //
  1489  // See also, https://docs.aws.amazon.com/goto/WebAPI/support-2013-04-15/ResolveCase
  1490  func (c *Support) ResolveCase(input *ResolveCaseInput) (*ResolveCaseOutput, error) {
  1491  	req, out := c.ResolveCaseRequest(input)
  1492  	return out, req.Send()
  1493  }
  1494  
  1495  // ResolveCaseWithContext is the same as ResolveCase with the addition of
  1496  // the ability to pass a context and additional request options.
  1497  //
  1498  // See ResolveCase for details on how to use this API operation.
  1499  //
  1500  // The context must be non-nil and will be used for request cancellation. If
  1501  // the context is nil a panic will occur. In the future the SDK may create
  1502  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1503  // for more information on using Contexts.
  1504  func (c *Support) ResolveCaseWithContext(ctx aws.Context, input *ResolveCaseInput, opts ...request.Option) (*ResolveCaseOutput, error) {
  1505  	req, out := c.ResolveCaseRequest(input)
  1506  	req.SetContext(ctx)
  1507  	req.ApplyOptions(opts...)
  1508  	return out, req.Send()
  1509  }
  1510  
  1511  type AddAttachmentsToSetInput struct {
  1512  	_ struct{} `type:"structure"`
  1513  
  1514  	// The ID of the attachment set. If an attachmentSetId is not specified, a new
  1515  	// attachment set is created, and the ID of the set is returned in the response.
  1516  	// If an attachmentSetId is specified, the attachments are added to the specified
  1517  	// set, if it exists.
  1518  	AttachmentSetId *string `locationName:"attachmentSetId" type:"string"`
  1519  
  1520  	// One or more attachments to add to the set. You can add up to three attachments
  1521  	// per set. The size limit is 5 MB per attachment.
  1522  	//
  1523  	// In the Attachment object, use the data parameter to specify the contents
  1524  	// of the attachment file. In the previous request syntax, the value for data
  1525  	// appear as blob, which is represented as a base64-encoded string. The value
  1526  	// for fileName is the name of the attachment, such as troubleshoot-screenshot.png.
  1527  	//
  1528  	// Attachments is a required field
  1529  	Attachments []*Attachment `locationName:"attachments" type:"list" required:"true"`
  1530  }
  1531  
  1532  // String returns the string representation.
  1533  //
  1534  // API parameter values that are decorated as "sensitive" in the API will not
  1535  // be included in the string output. The member name will be present, but the
  1536  // value will be replaced with "sensitive".
  1537  func (s AddAttachmentsToSetInput) String() string {
  1538  	return awsutil.Prettify(s)
  1539  }
  1540  
  1541  // GoString returns the string representation.
  1542  //
  1543  // API parameter values that are decorated as "sensitive" in the API will not
  1544  // be included in the string output. The member name will be present, but the
  1545  // value will be replaced with "sensitive".
  1546  func (s AddAttachmentsToSetInput) GoString() string {
  1547  	return s.String()
  1548  }
  1549  
  1550  // Validate inspects the fields of the type to determine if they are valid.
  1551  func (s *AddAttachmentsToSetInput) Validate() error {
  1552  	invalidParams := request.ErrInvalidParams{Context: "AddAttachmentsToSetInput"}
  1553  	if s.Attachments == nil {
  1554  		invalidParams.Add(request.NewErrParamRequired("Attachments"))
  1555  	}
  1556  
  1557  	if invalidParams.Len() > 0 {
  1558  		return invalidParams
  1559  	}
  1560  	return nil
  1561  }
  1562  
  1563  // SetAttachmentSetId sets the AttachmentSetId field's value.
  1564  func (s *AddAttachmentsToSetInput) SetAttachmentSetId(v string) *AddAttachmentsToSetInput {
  1565  	s.AttachmentSetId = &v
  1566  	return s
  1567  }
  1568  
  1569  // SetAttachments sets the Attachments field's value.
  1570  func (s *AddAttachmentsToSetInput) SetAttachments(v []*Attachment) *AddAttachmentsToSetInput {
  1571  	s.Attachments = v
  1572  	return s
  1573  }
  1574  
  1575  // The ID and expiry time of the attachment set returned by the AddAttachmentsToSet
  1576  // operation.
  1577  type AddAttachmentsToSetOutput struct {
  1578  	_ struct{} `type:"structure"`
  1579  
  1580  	// The ID of the attachment set. If an attachmentSetId was not specified, a
  1581  	// new attachment set is created, and the ID of the set is returned in the response.
  1582  	// If an attachmentSetId was specified, the attachments are added to the specified
  1583  	// set, if it exists.
  1584  	AttachmentSetId *string `locationName:"attachmentSetId" type:"string"`
  1585  
  1586  	// The time and date when the attachment set expires.
  1587  	ExpiryTime *string `locationName:"expiryTime" type:"string"`
  1588  }
  1589  
  1590  // String returns the string representation.
  1591  //
  1592  // API parameter values that are decorated as "sensitive" in the API will not
  1593  // be included in the string output. The member name will be present, but the
  1594  // value will be replaced with "sensitive".
  1595  func (s AddAttachmentsToSetOutput) String() string {
  1596  	return awsutil.Prettify(s)
  1597  }
  1598  
  1599  // GoString returns the string representation.
  1600  //
  1601  // API parameter values that are decorated as "sensitive" in the API will not
  1602  // be included in the string output. The member name will be present, but the
  1603  // value will be replaced with "sensitive".
  1604  func (s AddAttachmentsToSetOutput) GoString() string {
  1605  	return s.String()
  1606  }
  1607  
  1608  // SetAttachmentSetId sets the AttachmentSetId field's value.
  1609  func (s *AddAttachmentsToSetOutput) SetAttachmentSetId(v string) *AddAttachmentsToSetOutput {
  1610  	s.AttachmentSetId = &v
  1611  	return s
  1612  }
  1613  
  1614  // SetExpiryTime sets the ExpiryTime field's value.
  1615  func (s *AddAttachmentsToSetOutput) SetExpiryTime(v string) *AddAttachmentsToSetOutput {
  1616  	s.ExpiryTime = &v
  1617  	return s
  1618  }
  1619  
  1620  type AddCommunicationToCaseInput struct {
  1621  	_ struct{} `type:"structure"`
  1622  
  1623  	// The ID of a set of one or more attachments for the communication to add to
  1624  	// the case. Create the set by calling AddAttachmentsToSet
  1625  	AttachmentSetId *string `locationName:"attachmentSetId" type:"string"`
  1626  
  1627  	// The support case ID requested or returned in the call. The case ID is an
  1628  	// alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47
  1629  	CaseId *string `locationName:"caseId" type:"string"`
  1630  
  1631  	// The email addresses in the CC line of an email to be added to the support
  1632  	// case.
  1633  	CcEmailAddresses []*string `locationName:"ccEmailAddresses" type:"list"`
  1634  
  1635  	// The body of an email communication to add to the support case.
  1636  	//
  1637  	// CommunicationBody is a required field
  1638  	CommunicationBody *string `locationName:"communicationBody" min:"1" type:"string" required:"true"`
  1639  }
  1640  
  1641  // String returns the string representation.
  1642  //
  1643  // API parameter values that are decorated as "sensitive" in the API will not
  1644  // be included in the string output. The member name will be present, but the
  1645  // value will be replaced with "sensitive".
  1646  func (s AddCommunicationToCaseInput) String() string {
  1647  	return awsutil.Prettify(s)
  1648  }
  1649  
  1650  // GoString returns the string representation.
  1651  //
  1652  // API parameter values that are decorated as "sensitive" in the API will not
  1653  // be included in the string output. The member name will be present, but the
  1654  // value will be replaced with "sensitive".
  1655  func (s AddCommunicationToCaseInput) GoString() string {
  1656  	return s.String()
  1657  }
  1658  
  1659  // Validate inspects the fields of the type to determine if they are valid.
  1660  func (s *AddCommunicationToCaseInput) Validate() error {
  1661  	invalidParams := request.ErrInvalidParams{Context: "AddCommunicationToCaseInput"}
  1662  	if s.CommunicationBody == nil {
  1663  		invalidParams.Add(request.NewErrParamRequired("CommunicationBody"))
  1664  	}
  1665  	if s.CommunicationBody != nil && len(*s.CommunicationBody) < 1 {
  1666  		invalidParams.Add(request.NewErrParamMinLen("CommunicationBody", 1))
  1667  	}
  1668  
  1669  	if invalidParams.Len() > 0 {
  1670  		return invalidParams
  1671  	}
  1672  	return nil
  1673  }
  1674  
  1675  // SetAttachmentSetId sets the AttachmentSetId field's value.
  1676  func (s *AddCommunicationToCaseInput) SetAttachmentSetId(v string) *AddCommunicationToCaseInput {
  1677  	s.AttachmentSetId = &v
  1678  	return s
  1679  }
  1680  
  1681  // SetCaseId sets the CaseId field's value.
  1682  func (s *AddCommunicationToCaseInput) SetCaseId(v string) *AddCommunicationToCaseInput {
  1683  	s.CaseId = &v
  1684  	return s
  1685  }
  1686  
  1687  // SetCcEmailAddresses sets the CcEmailAddresses field's value.
  1688  func (s *AddCommunicationToCaseInput) SetCcEmailAddresses(v []*string) *AddCommunicationToCaseInput {
  1689  	s.CcEmailAddresses = v
  1690  	return s
  1691  }
  1692  
  1693  // SetCommunicationBody sets the CommunicationBody field's value.
  1694  func (s *AddCommunicationToCaseInput) SetCommunicationBody(v string) *AddCommunicationToCaseInput {
  1695  	s.CommunicationBody = &v
  1696  	return s
  1697  }
  1698  
  1699  // The result of the AddCommunicationToCase operation.
  1700  type AddCommunicationToCaseOutput struct {
  1701  	_ struct{} `type:"structure"`
  1702  
  1703  	// True if AddCommunicationToCase succeeds. Otherwise, returns an error.
  1704  	Result *bool `locationName:"result" type:"boolean"`
  1705  }
  1706  
  1707  // String returns the string representation.
  1708  //
  1709  // API parameter values that are decorated as "sensitive" in the API will not
  1710  // be included in the string output. The member name will be present, but the
  1711  // value will be replaced with "sensitive".
  1712  func (s AddCommunicationToCaseOutput) String() string {
  1713  	return awsutil.Prettify(s)
  1714  }
  1715  
  1716  // GoString returns the string representation.
  1717  //
  1718  // API parameter values that are decorated as "sensitive" in the API will not
  1719  // be included in the string output. The member name will be present, but the
  1720  // value will be replaced with "sensitive".
  1721  func (s AddCommunicationToCaseOutput) GoString() string {
  1722  	return s.String()
  1723  }
  1724  
  1725  // SetResult sets the Result field's value.
  1726  func (s *AddCommunicationToCaseOutput) SetResult(v bool) *AddCommunicationToCaseOutput {
  1727  	s.Result = &v
  1728  	return s
  1729  }
  1730  
  1731  // An attachment to a case communication. The attachment consists of the file
  1732  // name and the content of the file.
  1733  type Attachment struct {
  1734  	_ struct{} `type:"structure"`
  1735  
  1736  	// The content of the attachment file.
  1737  	// Data is automatically base64 encoded/decoded by the SDK.
  1738  	Data []byte `locationName:"data" type:"blob"`
  1739  
  1740  	// The name of the attachment file.
  1741  	FileName *string `locationName:"fileName" type:"string"`
  1742  }
  1743  
  1744  // String returns the string representation.
  1745  //
  1746  // API parameter values that are decorated as "sensitive" in the API will not
  1747  // be included in the string output. The member name will be present, but the
  1748  // value will be replaced with "sensitive".
  1749  func (s Attachment) String() string {
  1750  	return awsutil.Prettify(s)
  1751  }
  1752  
  1753  // GoString returns the string representation.
  1754  //
  1755  // API parameter values that are decorated as "sensitive" in the API will not
  1756  // be included in the string output. The member name will be present, but the
  1757  // value will be replaced with "sensitive".
  1758  func (s Attachment) GoString() string {
  1759  	return s.String()
  1760  }
  1761  
  1762  // SetData sets the Data field's value.
  1763  func (s *Attachment) SetData(v []byte) *Attachment {
  1764  	s.Data = v
  1765  	return s
  1766  }
  1767  
  1768  // SetFileName sets the FileName field's value.
  1769  func (s *Attachment) SetFileName(v string) *Attachment {
  1770  	s.FileName = &v
  1771  	return s
  1772  }
  1773  
  1774  // The file name and ID of an attachment to a case communication. You can use
  1775  // the ID to retrieve the attachment with the DescribeAttachment operation.
  1776  type AttachmentDetails struct {
  1777  	_ struct{} `type:"structure"`
  1778  
  1779  	// The ID of the attachment.
  1780  	AttachmentId *string `locationName:"attachmentId" type:"string"`
  1781  
  1782  	// The file name of the attachment.
  1783  	FileName *string `locationName:"fileName" type:"string"`
  1784  }
  1785  
  1786  // String returns the string representation.
  1787  //
  1788  // API parameter values that are decorated as "sensitive" in the API will not
  1789  // be included in the string output. The member name will be present, but the
  1790  // value will be replaced with "sensitive".
  1791  func (s AttachmentDetails) String() string {
  1792  	return awsutil.Prettify(s)
  1793  }
  1794  
  1795  // GoString returns the string representation.
  1796  //
  1797  // API parameter values that are decorated as "sensitive" in the API will not
  1798  // be included in the string output. The member name will be present, but the
  1799  // value will be replaced with "sensitive".
  1800  func (s AttachmentDetails) GoString() string {
  1801  	return s.String()
  1802  }
  1803  
  1804  // SetAttachmentId sets the AttachmentId field's value.
  1805  func (s *AttachmentDetails) SetAttachmentId(v string) *AttachmentDetails {
  1806  	s.AttachmentId = &v
  1807  	return s
  1808  }
  1809  
  1810  // SetFileName sets the FileName field's value.
  1811  func (s *AttachmentDetails) SetFileName(v string) *AttachmentDetails {
  1812  	s.FileName = &v
  1813  	return s
  1814  }
  1815  
  1816  // An attachment with the specified ID could not be found.
  1817  type AttachmentIdNotFound struct {
  1818  	_            struct{}                  `type:"structure"`
  1819  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1820  
  1821  	// An attachment with the specified ID could not be found.
  1822  	Message_ *string `locationName:"message" type:"string"`
  1823  }
  1824  
  1825  // String returns the string representation.
  1826  //
  1827  // API parameter values that are decorated as "sensitive" in the API will not
  1828  // be included in the string output. The member name will be present, but the
  1829  // value will be replaced with "sensitive".
  1830  func (s AttachmentIdNotFound) String() string {
  1831  	return awsutil.Prettify(s)
  1832  }
  1833  
  1834  // GoString returns the string representation.
  1835  //
  1836  // API parameter values that are decorated as "sensitive" in the API will not
  1837  // be included in the string output. The member name will be present, but the
  1838  // value will be replaced with "sensitive".
  1839  func (s AttachmentIdNotFound) GoString() string {
  1840  	return s.String()
  1841  }
  1842  
  1843  func newErrorAttachmentIdNotFound(v protocol.ResponseMetadata) error {
  1844  	return &AttachmentIdNotFound{
  1845  		RespMetadata: v,
  1846  	}
  1847  }
  1848  
  1849  // Code returns the exception type name.
  1850  func (s *AttachmentIdNotFound) Code() string {
  1851  	return "AttachmentIdNotFound"
  1852  }
  1853  
  1854  // Message returns the exception's message.
  1855  func (s *AttachmentIdNotFound) Message() string {
  1856  	if s.Message_ != nil {
  1857  		return *s.Message_
  1858  	}
  1859  	return ""
  1860  }
  1861  
  1862  // OrigErr always returns nil, satisfies awserr.Error interface.
  1863  func (s *AttachmentIdNotFound) OrigErr() error {
  1864  	return nil
  1865  }
  1866  
  1867  func (s *AttachmentIdNotFound) Error() string {
  1868  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1869  }
  1870  
  1871  // Status code returns the HTTP status code for the request's response error.
  1872  func (s *AttachmentIdNotFound) StatusCode() int {
  1873  	return s.RespMetadata.StatusCode
  1874  }
  1875  
  1876  // RequestID returns the service's response RequestID for request.
  1877  func (s *AttachmentIdNotFound) RequestID() string {
  1878  	return s.RespMetadata.RequestID
  1879  }
  1880  
  1881  // The limit for the number of attachment sets created in a short period of
  1882  // time has been exceeded.
  1883  type AttachmentLimitExceeded struct {
  1884  	_            struct{}                  `type:"structure"`
  1885  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1886  
  1887  	// The limit for the number of attachment sets created in a short period of
  1888  	// time has been exceeded.
  1889  	Message_ *string `locationName:"message" type:"string"`
  1890  }
  1891  
  1892  // String returns the string representation.
  1893  //
  1894  // API parameter values that are decorated as "sensitive" in the API will not
  1895  // be included in the string output. The member name will be present, but the
  1896  // value will be replaced with "sensitive".
  1897  func (s AttachmentLimitExceeded) String() string {
  1898  	return awsutil.Prettify(s)
  1899  }
  1900  
  1901  // GoString returns the string representation.
  1902  //
  1903  // API parameter values that are decorated as "sensitive" in the API will not
  1904  // be included in the string output. The member name will be present, but the
  1905  // value will be replaced with "sensitive".
  1906  func (s AttachmentLimitExceeded) GoString() string {
  1907  	return s.String()
  1908  }
  1909  
  1910  func newErrorAttachmentLimitExceeded(v protocol.ResponseMetadata) error {
  1911  	return &AttachmentLimitExceeded{
  1912  		RespMetadata: v,
  1913  	}
  1914  }
  1915  
  1916  // Code returns the exception type name.
  1917  func (s *AttachmentLimitExceeded) Code() string {
  1918  	return "AttachmentLimitExceeded"
  1919  }
  1920  
  1921  // Message returns the exception's message.
  1922  func (s *AttachmentLimitExceeded) Message() string {
  1923  	if s.Message_ != nil {
  1924  		return *s.Message_
  1925  	}
  1926  	return ""
  1927  }
  1928  
  1929  // OrigErr always returns nil, satisfies awserr.Error interface.
  1930  func (s *AttachmentLimitExceeded) OrigErr() error {
  1931  	return nil
  1932  }
  1933  
  1934  func (s *AttachmentLimitExceeded) Error() string {
  1935  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1936  }
  1937  
  1938  // Status code returns the HTTP status code for the request's response error.
  1939  func (s *AttachmentLimitExceeded) StatusCode() int {
  1940  	return s.RespMetadata.StatusCode
  1941  }
  1942  
  1943  // RequestID returns the service's response RequestID for request.
  1944  func (s *AttachmentLimitExceeded) RequestID() string {
  1945  	return s.RespMetadata.RequestID
  1946  }
  1947  
  1948  // The expiration time of the attachment set has passed. The set expires 1 hour
  1949  // after it is created.
  1950  type AttachmentSetExpired struct {
  1951  	_            struct{}                  `type:"structure"`
  1952  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1953  
  1954  	// The expiration time of the attachment set has passed. The set expires one
  1955  	// hour after it is created.
  1956  	Message_ *string `locationName:"message" type:"string"`
  1957  }
  1958  
  1959  // String returns the string representation.
  1960  //
  1961  // API parameter values that are decorated as "sensitive" in the API will not
  1962  // be included in the string output. The member name will be present, but the
  1963  // value will be replaced with "sensitive".
  1964  func (s AttachmentSetExpired) String() string {
  1965  	return awsutil.Prettify(s)
  1966  }
  1967  
  1968  // GoString returns the string representation.
  1969  //
  1970  // API parameter values that are decorated as "sensitive" in the API will not
  1971  // be included in the string output. The member name will be present, but the
  1972  // value will be replaced with "sensitive".
  1973  func (s AttachmentSetExpired) GoString() string {
  1974  	return s.String()
  1975  }
  1976  
  1977  func newErrorAttachmentSetExpired(v protocol.ResponseMetadata) error {
  1978  	return &AttachmentSetExpired{
  1979  		RespMetadata: v,
  1980  	}
  1981  }
  1982  
  1983  // Code returns the exception type name.
  1984  func (s *AttachmentSetExpired) Code() string {
  1985  	return "AttachmentSetExpired"
  1986  }
  1987  
  1988  // Message returns the exception's message.
  1989  func (s *AttachmentSetExpired) Message() string {
  1990  	if s.Message_ != nil {
  1991  		return *s.Message_
  1992  	}
  1993  	return ""
  1994  }
  1995  
  1996  // OrigErr always returns nil, satisfies awserr.Error interface.
  1997  func (s *AttachmentSetExpired) OrigErr() error {
  1998  	return nil
  1999  }
  2000  
  2001  func (s *AttachmentSetExpired) Error() string {
  2002  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2003  }
  2004  
  2005  // Status code returns the HTTP status code for the request's response error.
  2006  func (s *AttachmentSetExpired) StatusCode() int {
  2007  	return s.RespMetadata.StatusCode
  2008  }
  2009  
  2010  // RequestID returns the service's response RequestID for request.
  2011  func (s *AttachmentSetExpired) RequestID() string {
  2012  	return s.RespMetadata.RequestID
  2013  }
  2014  
  2015  // An attachment set with the specified ID could not be found.
  2016  type AttachmentSetIdNotFound struct {
  2017  	_            struct{}                  `type:"structure"`
  2018  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2019  
  2020  	// An attachment set with the specified ID could not be found.
  2021  	Message_ *string `locationName:"message" type:"string"`
  2022  }
  2023  
  2024  // String returns the string representation.
  2025  //
  2026  // API parameter values that are decorated as "sensitive" in the API will not
  2027  // be included in the string output. The member name will be present, but the
  2028  // value will be replaced with "sensitive".
  2029  func (s AttachmentSetIdNotFound) String() string {
  2030  	return awsutil.Prettify(s)
  2031  }
  2032  
  2033  // GoString returns the string representation.
  2034  //
  2035  // API parameter values that are decorated as "sensitive" in the API will not
  2036  // be included in the string output. The member name will be present, but the
  2037  // value will be replaced with "sensitive".
  2038  func (s AttachmentSetIdNotFound) GoString() string {
  2039  	return s.String()
  2040  }
  2041  
  2042  func newErrorAttachmentSetIdNotFound(v protocol.ResponseMetadata) error {
  2043  	return &AttachmentSetIdNotFound{
  2044  		RespMetadata: v,
  2045  	}
  2046  }
  2047  
  2048  // Code returns the exception type name.
  2049  func (s *AttachmentSetIdNotFound) Code() string {
  2050  	return "AttachmentSetIdNotFound"
  2051  }
  2052  
  2053  // Message returns the exception's message.
  2054  func (s *AttachmentSetIdNotFound) Message() string {
  2055  	if s.Message_ != nil {
  2056  		return *s.Message_
  2057  	}
  2058  	return ""
  2059  }
  2060  
  2061  // OrigErr always returns nil, satisfies awserr.Error interface.
  2062  func (s *AttachmentSetIdNotFound) OrigErr() error {
  2063  	return nil
  2064  }
  2065  
  2066  func (s *AttachmentSetIdNotFound) Error() string {
  2067  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2068  }
  2069  
  2070  // Status code returns the HTTP status code for the request's response error.
  2071  func (s *AttachmentSetIdNotFound) StatusCode() int {
  2072  	return s.RespMetadata.StatusCode
  2073  }
  2074  
  2075  // RequestID returns the service's response RequestID for request.
  2076  func (s *AttachmentSetIdNotFound) RequestID() string {
  2077  	return s.RespMetadata.RequestID
  2078  }
  2079  
  2080  // A limit for the size of an attachment set has been exceeded. The limits are
  2081  // three attachments and 5 MB per attachment.
  2082  type AttachmentSetSizeLimitExceeded struct {
  2083  	_            struct{}                  `type:"structure"`
  2084  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2085  
  2086  	// A limit for the size of an attachment set has been exceeded. The limits are
  2087  	// three attachments and 5 MB per attachment.
  2088  	Message_ *string `locationName:"message" type:"string"`
  2089  }
  2090  
  2091  // String returns the string representation.
  2092  //
  2093  // API parameter values that are decorated as "sensitive" in the API will not
  2094  // be included in the string output. The member name will be present, but the
  2095  // value will be replaced with "sensitive".
  2096  func (s AttachmentSetSizeLimitExceeded) String() string {
  2097  	return awsutil.Prettify(s)
  2098  }
  2099  
  2100  // GoString returns the string representation.
  2101  //
  2102  // API parameter values that are decorated as "sensitive" in the API will not
  2103  // be included in the string output. The member name will be present, but the
  2104  // value will be replaced with "sensitive".
  2105  func (s AttachmentSetSizeLimitExceeded) GoString() string {
  2106  	return s.String()
  2107  }
  2108  
  2109  func newErrorAttachmentSetSizeLimitExceeded(v protocol.ResponseMetadata) error {
  2110  	return &AttachmentSetSizeLimitExceeded{
  2111  		RespMetadata: v,
  2112  	}
  2113  }
  2114  
  2115  // Code returns the exception type name.
  2116  func (s *AttachmentSetSizeLimitExceeded) Code() string {
  2117  	return "AttachmentSetSizeLimitExceeded"
  2118  }
  2119  
  2120  // Message returns the exception's message.
  2121  func (s *AttachmentSetSizeLimitExceeded) Message() string {
  2122  	if s.Message_ != nil {
  2123  		return *s.Message_
  2124  	}
  2125  	return ""
  2126  }
  2127  
  2128  // OrigErr always returns nil, satisfies awserr.Error interface.
  2129  func (s *AttachmentSetSizeLimitExceeded) OrigErr() error {
  2130  	return nil
  2131  }
  2132  
  2133  func (s *AttachmentSetSizeLimitExceeded) Error() string {
  2134  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2135  }
  2136  
  2137  // Status code returns the HTTP status code for the request's response error.
  2138  func (s *AttachmentSetSizeLimitExceeded) StatusCode() int {
  2139  	return s.RespMetadata.StatusCode
  2140  }
  2141  
  2142  // RequestID returns the service's response RequestID for request.
  2143  func (s *AttachmentSetSizeLimitExceeded) RequestID() string {
  2144  	return s.RespMetadata.RequestID
  2145  }
  2146  
  2147  // The case creation limit for the account has been exceeded.
  2148  type CaseCreationLimitExceeded struct {
  2149  	_            struct{}                  `type:"structure"`
  2150  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2151  
  2152  	// An error message that indicates that you have exceeded the number of cases
  2153  	// you can have open.
  2154  	Message_ *string `locationName:"message" type:"string"`
  2155  }
  2156  
  2157  // String returns the string representation.
  2158  //
  2159  // API parameter values that are decorated as "sensitive" in the API will not
  2160  // be included in the string output. The member name will be present, but the
  2161  // value will be replaced with "sensitive".
  2162  func (s CaseCreationLimitExceeded) String() string {
  2163  	return awsutil.Prettify(s)
  2164  }
  2165  
  2166  // GoString returns the string representation.
  2167  //
  2168  // API parameter values that are decorated as "sensitive" in the API will not
  2169  // be included in the string output. The member name will be present, but the
  2170  // value will be replaced with "sensitive".
  2171  func (s CaseCreationLimitExceeded) GoString() string {
  2172  	return s.String()
  2173  }
  2174  
  2175  func newErrorCaseCreationLimitExceeded(v protocol.ResponseMetadata) error {
  2176  	return &CaseCreationLimitExceeded{
  2177  		RespMetadata: v,
  2178  	}
  2179  }
  2180  
  2181  // Code returns the exception type name.
  2182  func (s *CaseCreationLimitExceeded) Code() string {
  2183  	return "CaseCreationLimitExceeded"
  2184  }
  2185  
  2186  // Message returns the exception's message.
  2187  func (s *CaseCreationLimitExceeded) Message() string {
  2188  	if s.Message_ != nil {
  2189  		return *s.Message_
  2190  	}
  2191  	return ""
  2192  }
  2193  
  2194  // OrigErr always returns nil, satisfies awserr.Error interface.
  2195  func (s *CaseCreationLimitExceeded) OrigErr() error {
  2196  	return nil
  2197  }
  2198  
  2199  func (s *CaseCreationLimitExceeded) Error() string {
  2200  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2201  }
  2202  
  2203  // Status code returns the HTTP status code for the request's response error.
  2204  func (s *CaseCreationLimitExceeded) StatusCode() int {
  2205  	return s.RespMetadata.StatusCode
  2206  }
  2207  
  2208  // RequestID returns the service's response RequestID for request.
  2209  func (s *CaseCreationLimitExceeded) RequestID() string {
  2210  	return s.RespMetadata.RequestID
  2211  }
  2212  
  2213  // A JSON-formatted object that contains the metadata for a support case. It
  2214  // is contained in the response from a DescribeCases request. CaseDetails contains
  2215  // the following fields:
  2216  //
  2217  //    * caseId - The support case ID requested or returned in the call. The
  2218  //    case ID is an alphanumeric string formatted as shown in this example:
  2219  //    case-12345678910-2013-c4c1d2bf33c5cf47.
  2220  //
  2221  //    * categoryCode - The category of problem for the support case. Corresponds
  2222  //    to the CategoryCode values returned by a call to DescribeServices.
  2223  //
  2224  //    * displayId - The identifier for the case on pages in the AWS Support
  2225  //    Center.
  2226  //
  2227  //    * language - The ISO 639-1 code for the language in which AWS provides
  2228  //    support. AWS Support currently supports English ("en") and Japanese ("ja").
  2229  //    Language parameters must be passed explicitly for operations that take
  2230  //    them.
  2231  //
  2232  //    * nextToken - A resumption point for pagination.
  2233  //
  2234  //    * recentCommunications - One or more Communication objects. Fields of
  2235  //    these objects are attachments, body, caseId, submittedBy, and timeCreated.
  2236  //
  2237  //    * serviceCode - The identifier for the AWS service that corresponds to
  2238  //    the service code defined in the call to DescribeServices.
  2239  //
  2240  //    * severityCode - The severity code assigned to the case. Contains one
  2241  //    of the values returned by the call to DescribeSeverityLevels. The possible
  2242  //    values are: low, normal, high, urgent, and critical.
  2243  //
  2244  //    * status - The status of the case in the AWS Support Center. Valid values:
  2245  //    opened pending-customer-action reopened resolved unassigned work-in-progress
  2246  //
  2247  //    * subject - The subject line of the case.
  2248  //
  2249  //    * submittedBy - The email address of the account that submitted the case.
  2250  //
  2251  //    * timeCreated - The time the case was created, in ISO-8601 format.
  2252  type CaseDetails struct {
  2253  	_ struct{} `type:"structure"`
  2254  
  2255  	// The support case ID requested or returned in the call. The case ID is an
  2256  	// alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47
  2257  	CaseId *string `locationName:"caseId" type:"string"`
  2258  
  2259  	// The category of problem for the support case.
  2260  	CategoryCode *string `locationName:"categoryCode" type:"string"`
  2261  
  2262  	// The email addresses that receive copies of communication about the case.
  2263  	CcEmailAddresses []*string `locationName:"ccEmailAddresses" type:"list"`
  2264  
  2265  	// The ID displayed for the case in the AWS Support Center. This is a numeric
  2266  	// string.
  2267  	DisplayId *string `locationName:"displayId" type:"string"`
  2268  
  2269  	// The ISO 639-1 code for the language in which AWS provides support. AWS Support
  2270  	// currently supports English ("en") and Japanese ("ja"). Language parameters
  2271  	// must be passed explicitly for operations that take them.
  2272  	Language *string `locationName:"language" type:"string"`
  2273  
  2274  	// The five most recent communications between you and AWS Support Center, including
  2275  	// the IDs of any attachments to the communications. Also includes a nextToken
  2276  	// that you can use to retrieve earlier communications.
  2277  	RecentCommunications *RecentCaseCommunications `locationName:"recentCommunications" type:"structure"`
  2278  
  2279  	// The code for the AWS service. You can get a list of codes and the corresponding
  2280  	// service names by calling DescribeServices.
  2281  	ServiceCode *string `locationName:"serviceCode" type:"string"`
  2282  
  2283  	// The code for the severity level returned by the call to DescribeSeverityLevels.
  2284  	SeverityCode *string `locationName:"severityCode" type:"string"`
  2285  
  2286  	// The status of the case.
  2287  	//
  2288  	// Valid values:
  2289  	//
  2290  	//    * opened
  2291  	//
  2292  	//    * pending-customer-action
  2293  	//
  2294  	//    * reopened
  2295  	//
  2296  	//    * resolved
  2297  	//
  2298  	//    * unassigned
  2299  	//
  2300  	//    * work-in-progress
  2301  	Status *string `locationName:"status" type:"string"`
  2302  
  2303  	// The subject line for the case in the AWS Support Center.
  2304  	Subject *string `locationName:"subject" type:"string"`
  2305  
  2306  	// The email address of the account that submitted the case.
  2307  	SubmittedBy *string `locationName:"submittedBy" type:"string"`
  2308  
  2309  	// The time that the case was created in the AWS Support Center.
  2310  	TimeCreated *string `locationName:"timeCreated" type:"string"`
  2311  }
  2312  
  2313  // String returns the string representation.
  2314  //
  2315  // API parameter values that are decorated as "sensitive" in the API will not
  2316  // be included in the string output. The member name will be present, but the
  2317  // value will be replaced with "sensitive".
  2318  func (s CaseDetails) String() string {
  2319  	return awsutil.Prettify(s)
  2320  }
  2321  
  2322  // GoString returns the string representation.
  2323  //
  2324  // API parameter values that are decorated as "sensitive" in the API will not
  2325  // be included in the string output. The member name will be present, but the
  2326  // value will be replaced with "sensitive".
  2327  func (s CaseDetails) GoString() string {
  2328  	return s.String()
  2329  }
  2330  
  2331  // SetCaseId sets the CaseId field's value.
  2332  func (s *CaseDetails) SetCaseId(v string) *CaseDetails {
  2333  	s.CaseId = &v
  2334  	return s
  2335  }
  2336  
  2337  // SetCategoryCode sets the CategoryCode field's value.
  2338  func (s *CaseDetails) SetCategoryCode(v string) *CaseDetails {
  2339  	s.CategoryCode = &v
  2340  	return s
  2341  }
  2342  
  2343  // SetCcEmailAddresses sets the CcEmailAddresses field's value.
  2344  func (s *CaseDetails) SetCcEmailAddresses(v []*string) *CaseDetails {
  2345  	s.CcEmailAddresses = v
  2346  	return s
  2347  }
  2348  
  2349  // SetDisplayId sets the DisplayId field's value.
  2350  func (s *CaseDetails) SetDisplayId(v string) *CaseDetails {
  2351  	s.DisplayId = &v
  2352  	return s
  2353  }
  2354  
  2355  // SetLanguage sets the Language field's value.
  2356  func (s *CaseDetails) SetLanguage(v string) *CaseDetails {
  2357  	s.Language = &v
  2358  	return s
  2359  }
  2360  
  2361  // SetRecentCommunications sets the RecentCommunications field's value.
  2362  func (s *CaseDetails) SetRecentCommunications(v *RecentCaseCommunications) *CaseDetails {
  2363  	s.RecentCommunications = v
  2364  	return s
  2365  }
  2366  
  2367  // SetServiceCode sets the ServiceCode field's value.
  2368  func (s *CaseDetails) SetServiceCode(v string) *CaseDetails {
  2369  	s.ServiceCode = &v
  2370  	return s
  2371  }
  2372  
  2373  // SetSeverityCode sets the SeverityCode field's value.
  2374  func (s *CaseDetails) SetSeverityCode(v string) *CaseDetails {
  2375  	s.SeverityCode = &v
  2376  	return s
  2377  }
  2378  
  2379  // SetStatus sets the Status field's value.
  2380  func (s *CaseDetails) SetStatus(v string) *CaseDetails {
  2381  	s.Status = &v
  2382  	return s
  2383  }
  2384  
  2385  // SetSubject sets the Subject field's value.
  2386  func (s *CaseDetails) SetSubject(v string) *CaseDetails {
  2387  	s.Subject = &v
  2388  	return s
  2389  }
  2390  
  2391  // SetSubmittedBy sets the SubmittedBy field's value.
  2392  func (s *CaseDetails) SetSubmittedBy(v string) *CaseDetails {
  2393  	s.SubmittedBy = &v
  2394  	return s
  2395  }
  2396  
  2397  // SetTimeCreated sets the TimeCreated field's value.
  2398  func (s *CaseDetails) SetTimeCreated(v string) *CaseDetails {
  2399  	s.TimeCreated = &v
  2400  	return s
  2401  }
  2402  
  2403  // The requested caseId couldn't be located.
  2404  type CaseIdNotFound struct {
  2405  	_            struct{}                  `type:"structure"`
  2406  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2407  
  2408  	// The requested CaseId could not be located.
  2409  	Message_ *string `locationName:"message" type:"string"`
  2410  }
  2411  
  2412  // String returns the string representation.
  2413  //
  2414  // API parameter values that are decorated as "sensitive" in the API will not
  2415  // be included in the string output. The member name will be present, but the
  2416  // value will be replaced with "sensitive".
  2417  func (s CaseIdNotFound) String() string {
  2418  	return awsutil.Prettify(s)
  2419  }
  2420  
  2421  // GoString returns the string representation.
  2422  //
  2423  // API parameter values that are decorated as "sensitive" in the API will not
  2424  // be included in the string output. The member name will be present, but the
  2425  // value will be replaced with "sensitive".
  2426  func (s CaseIdNotFound) GoString() string {
  2427  	return s.String()
  2428  }
  2429  
  2430  func newErrorCaseIdNotFound(v protocol.ResponseMetadata) error {
  2431  	return &CaseIdNotFound{
  2432  		RespMetadata: v,
  2433  	}
  2434  }
  2435  
  2436  // Code returns the exception type name.
  2437  func (s *CaseIdNotFound) Code() string {
  2438  	return "CaseIdNotFound"
  2439  }
  2440  
  2441  // Message returns the exception's message.
  2442  func (s *CaseIdNotFound) Message() string {
  2443  	if s.Message_ != nil {
  2444  		return *s.Message_
  2445  	}
  2446  	return ""
  2447  }
  2448  
  2449  // OrigErr always returns nil, satisfies awserr.Error interface.
  2450  func (s *CaseIdNotFound) OrigErr() error {
  2451  	return nil
  2452  }
  2453  
  2454  func (s *CaseIdNotFound) Error() string {
  2455  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2456  }
  2457  
  2458  // Status code returns the HTTP status code for the request's response error.
  2459  func (s *CaseIdNotFound) StatusCode() int {
  2460  	return s.RespMetadata.StatusCode
  2461  }
  2462  
  2463  // RequestID returns the service's response RequestID for request.
  2464  func (s *CaseIdNotFound) RequestID() string {
  2465  	return s.RespMetadata.RequestID
  2466  }
  2467  
  2468  // A JSON-formatted name/value pair that represents the category name and category
  2469  // code of the problem, selected from the DescribeServices response for each
  2470  // AWS service.
  2471  type Category struct {
  2472  	_ struct{} `type:"structure"`
  2473  
  2474  	// The category code for the support case.
  2475  	Code *string `locationName:"code" type:"string"`
  2476  
  2477  	// The category name for the support case.
  2478  	Name *string `locationName:"name" type:"string"`
  2479  }
  2480  
  2481  // String returns the string representation.
  2482  //
  2483  // API parameter values that are decorated as "sensitive" in the API will not
  2484  // be included in the string output. The member name will be present, but the
  2485  // value will be replaced with "sensitive".
  2486  func (s Category) String() string {
  2487  	return awsutil.Prettify(s)
  2488  }
  2489  
  2490  // GoString returns the string representation.
  2491  //
  2492  // API parameter values that are decorated as "sensitive" in the API will not
  2493  // be included in the string output. The member name will be present, but the
  2494  // value will be replaced with "sensitive".
  2495  func (s Category) GoString() string {
  2496  	return s.String()
  2497  }
  2498  
  2499  // SetCode sets the Code field's value.
  2500  func (s *Category) SetCode(v string) *Category {
  2501  	s.Code = &v
  2502  	return s
  2503  }
  2504  
  2505  // SetName sets the Name field's value.
  2506  func (s *Category) SetName(v string) *Category {
  2507  	s.Name = &v
  2508  	return s
  2509  }
  2510  
  2511  // A communication associated with a support case. The communication consists
  2512  // of the case ID, the message body, attachment information, the submitter of
  2513  // the communication, and the date and time of the communication.
  2514  type Communication struct {
  2515  	_ struct{} `type:"structure"`
  2516  
  2517  	// Information about the attachments to the case communication.
  2518  	AttachmentSet []*AttachmentDetails `locationName:"attachmentSet" type:"list"`
  2519  
  2520  	// The text of the communication between the customer and AWS Support.
  2521  	Body *string `locationName:"body" min:"1" type:"string"`
  2522  
  2523  	// The support case ID requested or returned in the call. The case ID is an
  2524  	// alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47
  2525  	CaseId *string `locationName:"caseId" type:"string"`
  2526  
  2527  	// The identity of the account that submitted, or responded to, the support
  2528  	// case. Customer entries include the role or IAM user as well as the email
  2529  	// address. For example, "AdminRole (Role) <janedoe@example.com>. Entries from
  2530  	// the AWS Support team display "Amazon Web Services," and don't show an email
  2531  	// address.
  2532  	SubmittedBy *string `locationName:"submittedBy" type:"string"`
  2533  
  2534  	// The time the communication was created.
  2535  	TimeCreated *string `locationName:"timeCreated" type:"string"`
  2536  }
  2537  
  2538  // String returns the string representation.
  2539  //
  2540  // API parameter values that are decorated as "sensitive" in the API will not
  2541  // be included in the string output. The member name will be present, but the
  2542  // value will be replaced with "sensitive".
  2543  func (s Communication) String() string {
  2544  	return awsutil.Prettify(s)
  2545  }
  2546  
  2547  // GoString returns the string representation.
  2548  //
  2549  // API parameter values that are decorated as "sensitive" in the API will not
  2550  // be included in the string output. The member name will be present, but the
  2551  // value will be replaced with "sensitive".
  2552  func (s Communication) GoString() string {
  2553  	return s.String()
  2554  }
  2555  
  2556  // SetAttachmentSet sets the AttachmentSet field's value.
  2557  func (s *Communication) SetAttachmentSet(v []*AttachmentDetails) *Communication {
  2558  	s.AttachmentSet = v
  2559  	return s
  2560  }
  2561  
  2562  // SetBody sets the Body field's value.
  2563  func (s *Communication) SetBody(v string) *Communication {
  2564  	s.Body = &v
  2565  	return s
  2566  }
  2567  
  2568  // SetCaseId sets the CaseId field's value.
  2569  func (s *Communication) SetCaseId(v string) *Communication {
  2570  	s.CaseId = &v
  2571  	return s
  2572  }
  2573  
  2574  // SetSubmittedBy sets the SubmittedBy field's value.
  2575  func (s *Communication) SetSubmittedBy(v string) *Communication {
  2576  	s.SubmittedBy = &v
  2577  	return s
  2578  }
  2579  
  2580  // SetTimeCreated sets the TimeCreated field's value.
  2581  func (s *Communication) SetTimeCreated(v string) *Communication {
  2582  	s.TimeCreated = &v
  2583  	return s
  2584  }
  2585  
  2586  type CreateCaseInput struct {
  2587  	_ struct{} `type:"structure"`
  2588  
  2589  	// The ID of a set of one or more attachments for the case. Create the set by
  2590  	// using the AddAttachmentsToSet operation.
  2591  	AttachmentSetId *string `locationName:"attachmentSetId" type:"string"`
  2592  
  2593  	// The category of problem for the support case. You also use the DescribeServices
  2594  	// operation to get the category code for a service. Each AWS service defines
  2595  	// its own set of category codes.
  2596  	CategoryCode *string `locationName:"categoryCode" type:"string"`
  2597  
  2598  	// A list of email addresses that AWS Support copies on case correspondence.
  2599  	// AWS Support identifies the account that creates the case when you specify
  2600  	// your AWS credentials in an HTTP POST method or use the AWS SDKs (http://aws.amazon.com/tools/).
  2601  	CcEmailAddresses []*string `locationName:"ccEmailAddresses" type:"list"`
  2602  
  2603  	// The communication body text that describes the issue. This text appears in
  2604  	// the Description field on the AWS Support Center Create Case (https://console.aws.amazon.com/support/home#/case/create)
  2605  	// page.
  2606  	//
  2607  	// CommunicationBody is a required field
  2608  	CommunicationBody *string `locationName:"communicationBody" min:"1" type:"string" required:"true"`
  2609  
  2610  	// The type of issue for the case. You can specify customer-service or technical.
  2611  	// If you don't specify a value, the default is technical.
  2612  	IssueType *string `locationName:"issueType" type:"string"`
  2613  
  2614  	// The language in which AWS Support handles the case. You must specify the
  2615  	// ISO 639-1 code for the language parameter if you want support in that language.
  2616  	// Currently, English ("en") and Japanese ("ja") are supported.
  2617  	Language *string `locationName:"language" type:"string"`
  2618  
  2619  	// The code for the AWS service. You can use the DescribeServices operation
  2620  	// to get the possible serviceCode values.
  2621  	ServiceCode *string `locationName:"serviceCode" type:"string"`
  2622  
  2623  	// A value that indicates the urgency of the case. This value determines the
  2624  	// response time according to your service level agreement with AWS Support.
  2625  	// You can use the DescribeSeverityLevels operation to get the possible values
  2626  	// for severityCode.
  2627  	//
  2628  	// For more information, see SeverityLevel and Choosing a Severity (https://docs.aws.amazon.com/awssupport/latest/user/getting-started.html#choosing-severity)
  2629  	// in the AWS Support User Guide.
  2630  	//
  2631  	// The availability of severity levels depends on the support plan for the AWS
  2632  	// account.
  2633  	SeverityCode *string `locationName:"severityCode" type:"string"`
  2634  
  2635  	// The title of the support case. The title appears in the Subject field on
  2636  	// the AWS Support Center Create Case (https://console.aws.amazon.com/support/home#/case/create)
  2637  	// page.
  2638  	//
  2639  	// Subject is a required field
  2640  	Subject *string `locationName:"subject" type:"string" required:"true"`
  2641  }
  2642  
  2643  // String returns the string representation.
  2644  //
  2645  // API parameter values that are decorated as "sensitive" in the API will not
  2646  // be included in the string output. The member name will be present, but the
  2647  // value will be replaced with "sensitive".
  2648  func (s CreateCaseInput) String() string {
  2649  	return awsutil.Prettify(s)
  2650  }
  2651  
  2652  // GoString returns the string representation.
  2653  //
  2654  // API parameter values that are decorated as "sensitive" in the API will not
  2655  // be included in the string output. The member name will be present, but the
  2656  // value will be replaced with "sensitive".
  2657  func (s CreateCaseInput) GoString() string {
  2658  	return s.String()
  2659  }
  2660  
  2661  // Validate inspects the fields of the type to determine if they are valid.
  2662  func (s *CreateCaseInput) Validate() error {
  2663  	invalidParams := request.ErrInvalidParams{Context: "CreateCaseInput"}
  2664  	if s.CommunicationBody == nil {
  2665  		invalidParams.Add(request.NewErrParamRequired("CommunicationBody"))
  2666  	}
  2667  	if s.CommunicationBody != nil && len(*s.CommunicationBody) < 1 {
  2668  		invalidParams.Add(request.NewErrParamMinLen("CommunicationBody", 1))
  2669  	}
  2670  	if s.Subject == nil {
  2671  		invalidParams.Add(request.NewErrParamRequired("Subject"))
  2672  	}
  2673  
  2674  	if invalidParams.Len() > 0 {
  2675  		return invalidParams
  2676  	}
  2677  	return nil
  2678  }
  2679  
  2680  // SetAttachmentSetId sets the AttachmentSetId field's value.
  2681  func (s *CreateCaseInput) SetAttachmentSetId(v string) *CreateCaseInput {
  2682  	s.AttachmentSetId = &v
  2683  	return s
  2684  }
  2685  
  2686  // SetCategoryCode sets the CategoryCode field's value.
  2687  func (s *CreateCaseInput) SetCategoryCode(v string) *CreateCaseInput {
  2688  	s.CategoryCode = &v
  2689  	return s
  2690  }
  2691  
  2692  // SetCcEmailAddresses sets the CcEmailAddresses field's value.
  2693  func (s *CreateCaseInput) SetCcEmailAddresses(v []*string) *CreateCaseInput {
  2694  	s.CcEmailAddresses = v
  2695  	return s
  2696  }
  2697  
  2698  // SetCommunicationBody sets the CommunicationBody field's value.
  2699  func (s *CreateCaseInput) SetCommunicationBody(v string) *CreateCaseInput {
  2700  	s.CommunicationBody = &v
  2701  	return s
  2702  }
  2703  
  2704  // SetIssueType sets the IssueType field's value.
  2705  func (s *CreateCaseInput) SetIssueType(v string) *CreateCaseInput {
  2706  	s.IssueType = &v
  2707  	return s
  2708  }
  2709  
  2710  // SetLanguage sets the Language field's value.
  2711  func (s *CreateCaseInput) SetLanguage(v string) *CreateCaseInput {
  2712  	s.Language = &v
  2713  	return s
  2714  }
  2715  
  2716  // SetServiceCode sets the ServiceCode field's value.
  2717  func (s *CreateCaseInput) SetServiceCode(v string) *CreateCaseInput {
  2718  	s.ServiceCode = &v
  2719  	return s
  2720  }
  2721  
  2722  // SetSeverityCode sets the SeverityCode field's value.
  2723  func (s *CreateCaseInput) SetSeverityCode(v string) *CreateCaseInput {
  2724  	s.SeverityCode = &v
  2725  	return s
  2726  }
  2727  
  2728  // SetSubject sets the Subject field's value.
  2729  func (s *CreateCaseInput) SetSubject(v string) *CreateCaseInput {
  2730  	s.Subject = &v
  2731  	return s
  2732  }
  2733  
  2734  // The support case ID returned by a successful completion of the CreateCase
  2735  // operation.
  2736  type CreateCaseOutput struct {
  2737  	_ struct{} `type:"structure"`
  2738  
  2739  	// The support case ID requested or returned in the call. The case ID is an
  2740  	// alphanumeric string in the following format: case-12345678910-2013-c4c1d2bf33c5cf47
  2741  	CaseId *string `locationName:"caseId" type:"string"`
  2742  }
  2743  
  2744  // String returns the string representation.
  2745  //
  2746  // API parameter values that are decorated as "sensitive" in the API will not
  2747  // be included in the string output. The member name will be present, but the
  2748  // value will be replaced with "sensitive".
  2749  func (s CreateCaseOutput) String() string {
  2750  	return awsutil.Prettify(s)
  2751  }
  2752  
  2753  // GoString returns the string representation.
  2754  //
  2755  // API parameter values that are decorated as "sensitive" in the API will not
  2756  // be included in the string output. The member name will be present, but the
  2757  // value will be replaced with "sensitive".
  2758  func (s CreateCaseOutput) GoString() string {
  2759  	return s.String()
  2760  }
  2761  
  2762  // SetCaseId sets the CaseId field's value.
  2763  func (s *CreateCaseOutput) SetCaseId(v string) *CreateCaseOutput {
  2764  	s.CaseId = &v
  2765  	return s
  2766  }
  2767  
  2768  type DescribeAttachmentInput struct {
  2769  	_ struct{} `type:"structure"`
  2770  
  2771  	// The ID of the attachment to return. Attachment IDs are returned by the DescribeCommunications
  2772  	// operation.
  2773  	//
  2774  	// AttachmentId is a required field
  2775  	AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"`
  2776  }
  2777  
  2778  // String returns the string representation.
  2779  //
  2780  // API parameter values that are decorated as "sensitive" in the API will not
  2781  // be included in the string output. The member name will be present, but the
  2782  // value will be replaced with "sensitive".
  2783  func (s DescribeAttachmentInput) String() string {
  2784  	return awsutil.Prettify(s)
  2785  }
  2786  
  2787  // GoString returns the string representation.
  2788  //
  2789  // API parameter values that are decorated as "sensitive" in the API will not
  2790  // be included in the string output. The member name will be present, but the
  2791  // value will be replaced with "sensitive".
  2792  func (s DescribeAttachmentInput) GoString() string {
  2793  	return s.String()
  2794  }
  2795  
  2796  // Validate inspects the fields of the type to determine if they are valid.
  2797  func (s *DescribeAttachmentInput) Validate() error {
  2798  	invalidParams := request.ErrInvalidParams{Context: "DescribeAttachmentInput"}
  2799  	if s.AttachmentId == nil {
  2800  		invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
  2801  	}
  2802  
  2803  	if invalidParams.Len() > 0 {
  2804  		return invalidParams
  2805  	}
  2806  	return nil
  2807  }
  2808  
  2809  // SetAttachmentId sets the AttachmentId field's value.
  2810  func (s *DescribeAttachmentInput) SetAttachmentId(v string) *DescribeAttachmentInput {
  2811  	s.AttachmentId = &v
  2812  	return s
  2813  }
  2814  
  2815  // The limit for the number of DescribeAttachment requests in a short period
  2816  // of time has been exceeded.
  2817  type DescribeAttachmentLimitExceeded struct {
  2818  	_            struct{}                  `type:"structure"`
  2819  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2820  
  2821  	// The limit for the number of DescribeAttachment requests in a short period
  2822  	// of time has been exceeded.
  2823  	Message_ *string `locationName:"message" type:"string"`
  2824  }
  2825  
  2826  // String returns the string representation.
  2827  //
  2828  // API parameter values that are decorated as "sensitive" in the API will not
  2829  // be included in the string output. The member name will be present, but the
  2830  // value will be replaced with "sensitive".
  2831  func (s DescribeAttachmentLimitExceeded) String() string {
  2832  	return awsutil.Prettify(s)
  2833  }
  2834  
  2835  // GoString returns the string representation.
  2836  //
  2837  // API parameter values that are decorated as "sensitive" in the API will not
  2838  // be included in the string output. The member name will be present, but the
  2839  // value will be replaced with "sensitive".
  2840  func (s DescribeAttachmentLimitExceeded) GoString() string {
  2841  	return s.String()
  2842  }
  2843  
  2844  func newErrorDescribeAttachmentLimitExceeded(v protocol.ResponseMetadata) error {
  2845  	return &DescribeAttachmentLimitExceeded{
  2846  		RespMetadata: v,
  2847  	}
  2848  }
  2849  
  2850  // Code returns the exception type name.
  2851  func (s *DescribeAttachmentLimitExceeded) Code() string {
  2852  	return "DescribeAttachmentLimitExceeded"
  2853  }
  2854  
  2855  // Message returns the exception's message.
  2856  func (s *DescribeAttachmentLimitExceeded) Message() string {
  2857  	if s.Message_ != nil {
  2858  		return *s.Message_
  2859  	}
  2860  	return ""
  2861  }
  2862  
  2863  // OrigErr always returns nil, satisfies awserr.Error interface.
  2864  func (s *DescribeAttachmentLimitExceeded) OrigErr() error {
  2865  	return nil
  2866  }
  2867  
  2868  func (s *DescribeAttachmentLimitExceeded) Error() string {
  2869  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2870  }
  2871  
  2872  // Status code returns the HTTP status code for the request's response error.
  2873  func (s *DescribeAttachmentLimitExceeded) StatusCode() int {
  2874  	return s.RespMetadata.StatusCode
  2875  }
  2876  
  2877  // RequestID returns the service's response RequestID for request.
  2878  func (s *DescribeAttachmentLimitExceeded) RequestID() string {
  2879  	return s.RespMetadata.RequestID
  2880  }
  2881  
  2882  // The content and file name of the attachment returned by the DescribeAttachment
  2883  // operation.
  2884  type DescribeAttachmentOutput struct {
  2885  	_ struct{} `type:"structure"`
  2886  
  2887  	// This object includes the attachment content and file name.
  2888  	//
  2889  	// In the previous response syntax, the value for the data parameter appears
  2890  	// as blob, which is represented as a base64-encoded string. The value for fileName
  2891  	// is the name of the attachment, such as troubleshoot-screenshot.png.
  2892  	Attachment *Attachment `locationName:"attachment" type:"structure"`
  2893  }
  2894  
  2895  // String returns the string representation.
  2896  //
  2897  // API parameter values that are decorated as "sensitive" in the API will not
  2898  // be included in the string output. The member name will be present, but the
  2899  // value will be replaced with "sensitive".
  2900  func (s DescribeAttachmentOutput) String() string {
  2901  	return awsutil.Prettify(s)
  2902  }
  2903  
  2904  // GoString returns the string representation.
  2905  //
  2906  // API parameter values that are decorated as "sensitive" in the API will not
  2907  // be included in the string output. The member name will be present, but the
  2908  // value will be replaced with "sensitive".
  2909  func (s DescribeAttachmentOutput) GoString() string {
  2910  	return s.String()
  2911  }
  2912  
  2913  // SetAttachment sets the Attachment field's value.
  2914  func (s *DescribeAttachmentOutput) SetAttachment(v *Attachment) *DescribeAttachmentOutput {
  2915  	s.Attachment = v
  2916  	return s
  2917  }
  2918  
  2919  type DescribeCasesInput struct {
  2920  	_ struct{} `type:"structure"`
  2921  
  2922  	// The start date for a filtered date search on support case communications.
  2923  	// Case communications are available for 12 months after creation.
  2924  	AfterTime *string `locationName:"afterTime" type:"string"`
  2925  
  2926  	// The end date for a filtered date search on support case communications. Case
  2927  	// communications are available for 12 months after creation.
  2928  	BeforeTime *string `locationName:"beforeTime" type:"string"`
  2929  
  2930  	// A list of ID numbers of the support cases you want returned. The maximum
  2931  	// number of cases is 100.
  2932  	CaseIdList []*string `locationName:"caseIdList" type:"list"`
  2933  
  2934  	// The ID displayed for a case in the AWS Support Center user interface.
  2935  	DisplayId *string `locationName:"displayId" type:"string"`
  2936  
  2937  	// Specifies whether to include communications in the DescribeCases response.
  2938  	// By default, communications are included.
  2939  	IncludeCommunications *bool `locationName:"includeCommunications" type:"boolean"`
  2940  
  2941  	// Specifies whether to include resolved support cases in the DescribeCases
  2942  	// response. By default, resolved cases aren't included.
  2943  	IncludeResolvedCases *bool `locationName:"includeResolvedCases" type:"boolean"`
  2944  
  2945  	// The ISO 639-1 code for the language in which AWS provides support. AWS Support
  2946  	// currently supports English ("en") and Japanese ("ja"). Language parameters
  2947  	// must be passed explicitly for operations that take them.
  2948  	Language *string `locationName:"language" type:"string"`
  2949  
  2950  	// The maximum number of results to return before paginating.
  2951  	MaxResults *int64 `locationName:"maxResults" min:"10" type:"integer"`
  2952  
  2953  	// A resumption point for pagination.
  2954  	NextToken *string `locationName:"nextToken" type:"string"`
  2955  }
  2956  
  2957  // String returns the string representation.
  2958  //
  2959  // API parameter values that are decorated as "sensitive" in the API will not
  2960  // be included in the string output. The member name will be present, but the
  2961  // value will be replaced with "sensitive".
  2962  func (s DescribeCasesInput) String() string {
  2963  	return awsutil.Prettify(s)
  2964  }
  2965  
  2966  // GoString returns the string representation.
  2967  //
  2968  // API parameter values that are decorated as "sensitive" in the API will not
  2969  // be included in the string output. The member name will be present, but the
  2970  // value will be replaced with "sensitive".
  2971  func (s DescribeCasesInput) GoString() string {
  2972  	return s.String()
  2973  }
  2974  
  2975  // Validate inspects the fields of the type to determine if they are valid.
  2976  func (s *DescribeCasesInput) Validate() error {
  2977  	invalidParams := request.ErrInvalidParams{Context: "DescribeCasesInput"}
  2978  	if s.MaxResults != nil && *s.MaxResults < 10 {
  2979  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
  2980  	}
  2981  
  2982  	if invalidParams.Len() > 0 {
  2983  		return invalidParams
  2984  	}
  2985  	return nil
  2986  }
  2987  
  2988  // SetAfterTime sets the AfterTime field's value.
  2989  func (s *DescribeCasesInput) SetAfterTime(v string) *DescribeCasesInput {
  2990  	s.AfterTime = &v
  2991  	return s
  2992  }
  2993  
  2994  // SetBeforeTime sets the BeforeTime field's value.
  2995  func (s *DescribeCasesInput) SetBeforeTime(v string) *DescribeCasesInput {
  2996  	s.BeforeTime = &v
  2997  	return s
  2998  }
  2999  
  3000  // SetCaseIdList sets the CaseIdList field's value.
  3001  func (s *DescribeCasesInput) SetCaseIdList(v []*string) *DescribeCasesInput {
  3002  	s.CaseIdList = v
  3003  	return s
  3004  }
  3005  
  3006  // SetDisplayId sets the DisplayId field's value.
  3007  func (s *DescribeCasesInput) SetDisplayId(v string) *DescribeCasesInput {
  3008  	s.DisplayId = &v
  3009  	return s
  3010  }
  3011  
  3012  // SetIncludeCommunications sets the IncludeCommunications field's value.
  3013  func (s *DescribeCasesInput) SetIncludeCommunications(v bool) *DescribeCasesInput {
  3014  	s.IncludeCommunications = &v
  3015  	return s
  3016  }
  3017  
  3018  // SetIncludeResolvedCases sets the IncludeResolvedCases field's value.
  3019  func (s *DescribeCasesInput) SetIncludeResolvedCases(v bool) *DescribeCasesInput {
  3020  	s.IncludeResolvedCases = &v
  3021  	return s
  3022  }
  3023  
  3024  // SetLanguage sets the Language field's value.
  3025  func (s *DescribeCasesInput) SetLanguage(v string) *DescribeCasesInput {
  3026  	s.Language = &v
  3027  	return s
  3028  }
  3029  
  3030  // SetMaxResults sets the MaxResults field's value.
  3031  func (s *DescribeCasesInput) SetMaxResults(v int64) *DescribeCasesInput {
  3032  	s.MaxResults = &v
  3033  	return s
  3034  }
  3035  
  3036  // SetNextToken sets the NextToken field's value.
  3037  func (s *DescribeCasesInput) SetNextToken(v string) *DescribeCasesInput {
  3038  	s.NextToken = &v
  3039  	return s
  3040  }
  3041  
  3042  // Returns an array of CaseDetails (https://docs.aws.amazon.com/awssupport/latest/APIReference/API_CaseDetails.html)
  3043  // objects and a nextToken that defines a point for pagination in the result
  3044  // set.
  3045  type DescribeCasesOutput struct {
  3046  	_ struct{} `type:"structure"`
  3047  
  3048  	// The details for the cases that match the request.
  3049  	Cases []*CaseDetails `locationName:"cases" type:"list"`
  3050  
  3051  	// A resumption point for pagination.
  3052  	NextToken *string `locationName:"nextToken" type:"string"`
  3053  }
  3054  
  3055  // String returns the string representation.
  3056  //
  3057  // API parameter values that are decorated as "sensitive" in the API will not
  3058  // be included in the string output. The member name will be present, but the
  3059  // value will be replaced with "sensitive".
  3060  func (s DescribeCasesOutput) String() string {
  3061  	return awsutil.Prettify(s)
  3062  }
  3063  
  3064  // GoString returns the string representation.
  3065  //
  3066  // API parameter values that are decorated as "sensitive" in the API will not
  3067  // be included in the string output. The member name will be present, but the
  3068  // value will be replaced with "sensitive".
  3069  func (s DescribeCasesOutput) GoString() string {
  3070  	return s.String()
  3071  }
  3072  
  3073  // SetCases sets the Cases field's value.
  3074  func (s *DescribeCasesOutput) SetCases(v []*CaseDetails) *DescribeCasesOutput {
  3075  	s.Cases = v
  3076  	return s
  3077  }
  3078  
  3079  // SetNextToken sets the NextToken field's value.
  3080  func (s *DescribeCasesOutput) SetNextToken(v string) *DescribeCasesOutput {
  3081  	s.NextToken = &v
  3082  	return s
  3083  }
  3084  
  3085  type DescribeCommunicationsInput struct {
  3086  	_ struct{} `type:"structure"`
  3087  
  3088  	// The start date for a filtered date search on support case communications.
  3089  	// Case communications are available for 12 months after creation.
  3090  	AfterTime *string `locationName:"afterTime" type:"string"`
  3091  
  3092  	// The end date for a filtered date search on support case communications. Case
  3093  	// communications are available for 12 months after creation.
  3094  	BeforeTime *string `locationName:"beforeTime" type:"string"`
  3095  
  3096  	// The support case ID requested or returned in the call. The case ID is an
  3097  	// alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47
  3098  	//
  3099  	// CaseId is a required field
  3100  	CaseId *string `locationName:"caseId" type:"string" required:"true"`
  3101  
  3102  	// The maximum number of results to return before paginating.
  3103  	MaxResults *int64 `locationName:"maxResults" min:"10" type:"integer"`
  3104  
  3105  	// A resumption point for pagination.
  3106  	NextToken *string `locationName:"nextToken" type:"string"`
  3107  }
  3108  
  3109  // String returns the string representation.
  3110  //
  3111  // API parameter values that are decorated as "sensitive" in the API will not
  3112  // be included in the string output. The member name will be present, but the
  3113  // value will be replaced with "sensitive".
  3114  func (s DescribeCommunicationsInput) String() string {
  3115  	return awsutil.Prettify(s)
  3116  }
  3117  
  3118  // GoString returns the string representation.
  3119  //
  3120  // API parameter values that are decorated as "sensitive" in the API will not
  3121  // be included in the string output. The member name will be present, but the
  3122  // value will be replaced with "sensitive".
  3123  func (s DescribeCommunicationsInput) GoString() string {
  3124  	return s.String()
  3125  }
  3126  
  3127  // Validate inspects the fields of the type to determine if they are valid.
  3128  func (s *DescribeCommunicationsInput) Validate() error {
  3129  	invalidParams := request.ErrInvalidParams{Context: "DescribeCommunicationsInput"}
  3130  	if s.CaseId == nil {
  3131  		invalidParams.Add(request.NewErrParamRequired("CaseId"))
  3132  	}
  3133  	if s.MaxResults != nil && *s.MaxResults < 10 {
  3134  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
  3135  	}
  3136  
  3137  	if invalidParams.Len() > 0 {
  3138  		return invalidParams
  3139  	}
  3140  	return nil
  3141  }
  3142  
  3143  // SetAfterTime sets the AfterTime field's value.
  3144  func (s *DescribeCommunicationsInput) SetAfterTime(v string) *DescribeCommunicationsInput {
  3145  	s.AfterTime = &v
  3146  	return s
  3147  }
  3148  
  3149  // SetBeforeTime sets the BeforeTime field's value.
  3150  func (s *DescribeCommunicationsInput) SetBeforeTime(v string) *DescribeCommunicationsInput {
  3151  	s.BeforeTime = &v
  3152  	return s
  3153  }
  3154  
  3155  // SetCaseId sets the CaseId field's value.
  3156  func (s *DescribeCommunicationsInput) SetCaseId(v string) *DescribeCommunicationsInput {
  3157  	s.CaseId = &v
  3158  	return s
  3159  }
  3160  
  3161  // SetMaxResults sets the MaxResults field's value.
  3162  func (s *DescribeCommunicationsInput) SetMaxResults(v int64) *DescribeCommunicationsInput {
  3163  	s.MaxResults = &v
  3164  	return s
  3165  }
  3166  
  3167  // SetNextToken sets the NextToken field's value.
  3168  func (s *DescribeCommunicationsInput) SetNextToken(v string) *DescribeCommunicationsInput {
  3169  	s.NextToken = &v
  3170  	return s
  3171  }
  3172  
  3173  // The communications returned by the DescribeCommunications operation.
  3174  type DescribeCommunicationsOutput struct {
  3175  	_ struct{} `type:"structure"`
  3176  
  3177  	// The communications for the case.
  3178  	Communications []*Communication `locationName:"communications" type:"list"`
  3179  
  3180  	// A resumption point for pagination.
  3181  	NextToken *string `locationName:"nextToken" type:"string"`
  3182  }
  3183  
  3184  // String returns the string representation.
  3185  //
  3186  // API parameter values that are decorated as "sensitive" in the API will not
  3187  // be included in the string output. The member name will be present, but the
  3188  // value will be replaced with "sensitive".
  3189  func (s DescribeCommunicationsOutput) String() string {
  3190  	return awsutil.Prettify(s)
  3191  }
  3192  
  3193  // GoString returns the string representation.
  3194  //
  3195  // API parameter values that are decorated as "sensitive" in the API will not
  3196  // be included in the string output. The member name will be present, but the
  3197  // value will be replaced with "sensitive".
  3198  func (s DescribeCommunicationsOutput) GoString() string {
  3199  	return s.String()
  3200  }
  3201  
  3202  // SetCommunications sets the Communications field's value.
  3203  func (s *DescribeCommunicationsOutput) SetCommunications(v []*Communication) *DescribeCommunicationsOutput {
  3204  	s.Communications = v
  3205  	return s
  3206  }
  3207  
  3208  // SetNextToken sets the NextToken field's value.
  3209  func (s *DescribeCommunicationsOutput) SetNextToken(v string) *DescribeCommunicationsOutput {
  3210  	s.NextToken = &v
  3211  	return s
  3212  }
  3213  
  3214  type DescribeServicesInput struct {
  3215  	_ struct{} `type:"structure"`
  3216  
  3217  	// The ISO 639-1 code for the language in which AWS provides support. AWS Support
  3218  	// currently supports English ("en") and Japanese ("ja"). Language parameters
  3219  	// must be passed explicitly for operations that take them.
  3220  	Language *string `locationName:"language" type:"string"`
  3221  
  3222  	// A JSON-formatted list of service codes available for AWS services.
  3223  	ServiceCodeList []*string `locationName:"serviceCodeList" type:"list"`
  3224  }
  3225  
  3226  // String returns the string representation.
  3227  //
  3228  // API parameter values that are decorated as "sensitive" in the API will not
  3229  // be included in the string output. The member name will be present, but the
  3230  // value will be replaced with "sensitive".
  3231  func (s DescribeServicesInput) String() string {
  3232  	return awsutil.Prettify(s)
  3233  }
  3234  
  3235  // GoString returns the string representation.
  3236  //
  3237  // API parameter values that are decorated as "sensitive" in the API will not
  3238  // be included in the string output. The member name will be present, but the
  3239  // value will be replaced with "sensitive".
  3240  func (s DescribeServicesInput) GoString() string {
  3241  	return s.String()
  3242  }
  3243  
  3244  // SetLanguage sets the Language field's value.
  3245  func (s *DescribeServicesInput) SetLanguage(v string) *DescribeServicesInput {
  3246  	s.Language = &v
  3247  	return s
  3248  }
  3249  
  3250  // SetServiceCodeList sets the ServiceCodeList field's value.
  3251  func (s *DescribeServicesInput) SetServiceCodeList(v []*string) *DescribeServicesInput {
  3252  	s.ServiceCodeList = v
  3253  	return s
  3254  }
  3255  
  3256  // The list of AWS services returned by the DescribeServices operation.
  3257  type DescribeServicesOutput struct {
  3258  	_ struct{} `type:"structure"`
  3259  
  3260  	// A JSON-formatted list of AWS services.
  3261  	Services []*Service `locationName:"services" type:"list"`
  3262  }
  3263  
  3264  // String returns the string representation.
  3265  //
  3266  // API parameter values that are decorated as "sensitive" in the API will not
  3267  // be included in the string output. The member name will be present, but the
  3268  // value will be replaced with "sensitive".
  3269  func (s DescribeServicesOutput) String() string {
  3270  	return awsutil.Prettify(s)
  3271  }
  3272  
  3273  // GoString returns the string representation.
  3274  //
  3275  // API parameter values that are decorated as "sensitive" in the API will not
  3276  // be included in the string output. The member name will be present, but the
  3277  // value will be replaced with "sensitive".
  3278  func (s DescribeServicesOutput) GoString() string {
  3279  	return s.String()
  3280  }
  3281  
  3282  // SetServices sets the Services field's value.
  3283  func (s *DescribeServicesOutput) SetServices(v []*Service) *DescribeServicesOutput {
  3284  	s.Services = v
  3285  	return s
  3286  }
  3287  
  3288  type DescribeSeverityLevelsInput struct {
  3289  	_ struct{} `type:"structure"`
  3290  
  3291  	// The ISO 639-1 code for the language in which AWS provides support. AWS Support
  3292  	// currently supports English ("en") and Japanese ("ja"). Language parameters
  3293  	// must be passed explicitly for operations that take them.
  3294  	Language *string `locationName:"language" type:"string"`
  3295  }
  3296  
  3297  // String returns the string representation.
  3298  //
  3299  // API parameter values that are decorated as "sensitive" in the API will not
  3300  // be included in the string output. The member name will be present, but the
  3301  // value will be replaced with "sensitive".
  3302  func (s DescribeSeverityLevelsInput) String() string {
  3303  	return awsutil.Prettify(s)
  3304  }
  3305  
  3306  // GoString returns the string representation.
  3307  //
  3308  // API parameter values that are decorated as "sensitive" in the API will not
  3309  // be included in the string output. The member name will be present, but the
  3310  // value will be replaced with "sensitive".
  3311  func (s DescribeSeverityLevelsInput) GoString() string {
  3312  	return s.String()
  3313  }
  3314  
  3315  // SetLanguage sets the Language field's value.
  3316  func (s *DescribeSeverityLevelsInput) SetLanguage(v string) *DescribeSeverityLevelsInput {
  3317  	s.Language = &v
  3318  	return s
  3319  }
  3320  
  3321  // The list of severity levels returned by the DescribeSeverityLevels operation.
  3322  type DescribeSeverityLevelsOutput struct {
  3323  	_ struct{} `type:"structure"`
  3324  
  3325  	// The available severity levels for the support case. Available severity levels
  3326  	// are defined by your service level agreement with AWS.
  3327  	SeverityLevels []*SeverityLevel `locationName:"severityLevels" type:"list"`
  3328  }
  3329  
  3330  // String returns the string representation.
  3331  //
  3332  // API parameter values that are decorated as "sensitive" in the API will not
  3333  // be included in the string output. The member name will be present, but the
  3334  // value will be replaced with "sensitive".
  3335  func (s DescribeSeverityLevelsOutput) String() string {
  3336  	return awsutil.Prettify(s)
  3337  }
  3338  
  3339  // GoString returns the string representation.
  3340  //
  3341  // API parameter values that are decorated as "sensitive" in the API will not
  3342  // be included in the string output. The member name will be present, but the
  3343  // value will be replaced with "sensitive".
  3344  func (s DescribeSeverityLevelsOutput) GoString() string {
  3345  	return s.String()
  3346  }
  3347  
  3348  // SetSeverityLevels sets the SeverityLevels field's value.
  3349  func (s *DescribeSeverityLevelsOutput) SetSeverityLevels(v []*SeverityLevel) *DescribeSeverityLevelsOutput {
  3350  	s.SeverityLevels = v
  3351  	return s
  3352  }
  3353  
  3354  type DescribeTrustedAdvisorCheckRefreshStatusesInput struct {
  3355  	_ struct{} `type:"structure"`
  3356  
  3357  	// The IDs of the Trusted Advisor checks to get the status.
  3358  	//
  3359  	// If you specify the check ID of a check that is automatically refreshed, you
  3360  	// might see an InvalidParameterValue error.
  3361  	//
  3362  	// CheckIds is a required field
  3363  	CheckIds []*string `locationName:"checkIds" type:"list" required:"true"`
  3364  }
  3365  
  3366  // String returns the string representation.
  3367  //
  3368  // API parameter values that are decorated as "sensitive" in the API will not
  3369  // be included in the string output. The member name will be present, but the
  3370  // value will be replaced with "sensitive".
  3371  func (s DescribeTrustedAdvisorCheckRefreshStatusesInput) String() string {
  3372  	return awsutil.Prettify(s)
  3373  }
  3374  
  3375  // GoString returns the string representation.
  3376  //
  3377  // API parameter values that are decorated as "sensitive" in the API will not
  3378  // be included in the string output. The member name will be present, but the
  3379  // value will be replaced with "sensitive".
  3380  func (s DescribeTrustedAdvisorCheckRefreshStatusesInput) GoString() string {
  3381  	return s.String()
  3382  }
  3383  
  3384  // Validate inspects the fields of the type to determine if they are valid.
  3385  func (s *DescribeTrustedAdvisorCheckRefreshStatusesInput) Validate() error {
  3386  	invalidParams := request.ErrInvalidParams{Context: "DescribeTrustedAdvisorCheckRefreshStatusesInput"}
  3387  	if s.CheckIds == nil {
  3388  		invalidParams.Add(request.NewErrParamRequired("CheckIds"))
  3389  	}
  3390  
  3391  	if invalidParams.Len() > 0 {
  3392  		return invalidParams
  3393  	}
  3394  	return nil
  3395  }
  3396  
  3397  // SetCheckIds sets the CheckIds field's value.
  3398  func (s *DescribeTrustedAdvisorCheckRefreshStatusesInput) SetCheckIds(v []*string) *DescribeTrustedAdvisorCheckRefreshStatusesInput {
  3399  	s.CheckIds = v
  3400  	return s
  3401  }
  3402  
  3403  // The statuses of the Trusted Advisor checks returned by the DescribeTrustedAdvisorCheckRefreshStatuses
  3404  // operation.
  3405  type DescribeTrustedAdvisorCheckRefreshStatusesOutput struct {
  3406  	_ struct{} `type:"structure"`
  3407  
  3408  	// The refresh status of the specified Trusted Advisor checks.
  3409  	//
  3410  	// Statuses is a required field
  3411  	Statuses []*TrustedAdvisorCheckRefreshStatus `locationName:"statuses" type:"list" required:"true"`
  3412  }
  3413  
  3414  // String returns the string representation.
  3415  //
  3416  // API parameter values that are decorated as "sensitive" in the API will not
  3417  // be included in the string output. The member name will be present, but the
  3418  // value will be replaced with "sensitive".
  3419  func (s DescribeTrustedAdvisorCheckRefreshStatusesOutput) String() string {
  3420  	return awsutil.Prettify(s)
  3421  }
  3422  
  3423  // GoString returns the string representation.
  3424  //
  3425  // API parameter values that are decorated as "sensitive" in the API will not
  3426  // be included in the string output. The member name will be present, but the
  3427  // value will be replaced with "sensitive".
  3428  func (s DescribeTrustedAdvisorCheckRefreshStatusesOutput) GoString() string {
  3429  	return s.String()
  3430  }
  3431  
  3432  // SetStatuses sets the Statuses field's value.
  3433  func (s *DescribeTrustedAdvisorCheckRefreshStatusesOutput) SetStatuses(v []*TrustedAdvisorCheckRefreshStatus) *DescribeTrustedAdvisorCheckRefreshStatusesOutput {
  3434  	s.Statuses = v
  3435  	return s
  3436  }
  3437  
  3438  type DescribeTrustedAdvisorCheckResultInput struct {
  3439  	_ struct{} `type:"structure"`
  3440  
  3441  	// The unique identifier for the Trusted Advisor check.
  3442  	//
  3443  	// CheckId is a required field
  3444  	CheckId *string `locationName:"checkId" type:"string" required:"true"`
  3445  
  3446  	// The ISO 639-1 code for the language in which AWS provides support. AWS Support
  3447  	// currently supports English ("en") and Japanese ("ja"). Language parameters
  3448  	// must be passed explicitly for operations that take them.
  3449  	Language *string `locationName:"language" type:"string"`
  3450  }
  3451  
  3452  // String returns the string representation.
  3453  //
  3454  // API parameter values that are decorated as "sensitive" in the API will not
  3455  // be included in the string output. The member name will be present, but the
  3456  // value will be replaced with "sensitive".
  3457  func (s DescribeTrustedAdvisorCheckResultInput) String() string {
  3458  	return awsutil.Prettify(s)
  3459  }
  3460  
  3461  // GoString returns the string representation.
  3462  //
  3463  // API parameter values that are decorated as "sensitive" in the API will not
  3464  // be included in the string output. The member name will be present, but the
  3465  // value will be replaced with "sensitive".
  3466  func (s DescribeTrustedAdvisorCheckResultInput) GoString() string {
  3467  	return s.String()
  3468  }
  3469  
  3470  // Validate inspects the fields of the type to determine if they are valid.
  3471  func (s *DescribeTrustedAdvisorCheckResultInput) Validate() error {
  3472  	invalidParams := request.ErrInvalidParams{Context: "DescribeTrustedAdvisorCheckResultInput"}
  3473  	if s.CheckId == nil {
  3474  		invalidParams.Add(request.NewErrParamRequired("CheckId"))
  3475  	}
  3476  
  3477  	if invalidParams.Len() > 0 {
  3478  		return invalidParams
  3479  	}
  3480  	return nil
  3481  }
  3482  
  3483  // SetCheckId sets the CheckId field's value.
  3484  func (s *DescribeTrustedAdvisorCheckResultInput) SetCheckId(v string) *DescribeTrustedAdvisorCheckResultInput {
  3485  	s.CheckId = &v
  3486  	return s
  3487  }
  3488  
  3489  // SetLanguage sets the Language field's value.
  3490  func (s *DescribeTrustedAdvisorCheckResultInput) SetLanguage(v string) *DescribeTrustedAdvisorCheckResultInput {
  3491  	s.Language = &v
  3492  	return s
  3493  }
  3494  
  3495  // The result of the Trusted Advisor check returned by the DescribeTrustedAdvisorCheckResult
  3496  // operation.
  3497  type DescribeTrustedAdvisorCheckResultOutput struct {
  3498  	_ struct{} `type:"structure"`
  3499  
  3500  	// The detailed results of the Trusted Advisor check.
  3501  	Result *TrustedAdvisorCheckResult `locationName:"result" type:"structure"`
  3502  }
  3503  
  3504  // String returns the string representation.
  3505  //
  3506  // API parameter values that are decorated as "sensitive" in the API will not
  3507  // be included in the string output. The member name will be present, but the
  3508  // value will be replaced with "sensitive".
  3509  func (s DescribeTrustedAdvisorCheckResultOutput) String() string {
  3510  	return awsutil.Prettify(s)
  3511  }
  3512  
  3513  // GoString returns the string representation.
  3514  //
  3515  // API parameter values that are decorated as "sensitive" in the API will not
  3516  // be included in the string output. The member name will be present, but the
  3517  // value will be replaced with "sensitive".
  3518  func (s DescribeTrustedAdvisorCheckResultOutput) GoString() string {
  3519  	return s.String()
  3520  }
  3521  
  3522  // SetResult sets the Result field's value.
  3523  func (s *DescribeTrustedAdvisorCheckResultOutput) SetResult(v *TrustedAdvisorCheckResult) *DescribeTrustedAdvisorCheckResultOutput {
  3524  	s.Result = v
  3525  	return s
  3526  }
  3527  
  3528  type DescribeTrustedAdvisorCheckSummariesInput struct {
  3529  	_ struct{} `type:"structure"`
  3530  
  3531  	// The IDs of the Trusted Advisor checks.
  3532  	//
  3533  	// CheckIds is a required field
  3534  	CheckIds []*string `locationName:"checkIds" type:"list" required:"true"`
  3535  }
  3536  
  3537  // String returns the string representation.
  3538  //
  3539  // API parameter values that are decorated as "sensitive" in the API will not
  3540  // be included in the string output. The member name will be present, but the
  3541  // value will be replaced with "sensitive".
  3542  func (s DescribeTrustedAdvisorCheckSummariesInput) String() string {
  3543  	return awsutil.Prettify(s)
  3544  }
  3545  
  3546  // GoString returns the string representation.
  3547  //
  3548  // API parameter values that are decorated as "sensitive" in the API will not
  3549  // be included in the string output. The member name will be present, but the
  3550  // value will be replaced with "sensitive".
  3551  func (s DescribeTrustedAdvisorCheckSummariesInput) GoString() string {
  3552  	return s.String()
  3553  }
  3554  
  3555  // Validate inspects the fields of the type to determine if they are valid.
  3556  func (s *DescribeTrustedAdvisorCheckSummariesInput) Validate() error {
  3557  	invalidParams := request.ErrInvalidParams{Context: "DescribeTrustedAdvisorCheckSummariesInput"}
  3558  	if s.CheckIds == nil {
  3559  		invalidParams.Add(request.NewErrParamRequired("CheckIds"))
  3560  	}
  3561  
  3562  	if invalidParams.Len() > 0 {
  3563  		return invalidParams
  3564  	}
  3565  	return nil
  3566  }
  3567  
  3568  // SetCheckIds sets the CheckIds field's value.
  3569  func (s *DescribeTrustedAdvisorCheckSummariesInput) SetCheckIds(v []*string) *DescribeTrustedAdvisorCheckSummariesInput {
  3570  	s.CheckIds = v
  3571  	return s
  3572  }
  3573  
  3574  // The summaries of the Trusted Advisor checks returned by the DescribeTrustedAdvisorCheckSummaries
  3575  // operation.
  3576  type DescribeTrustedAdvisorCheckSummariesOutput struct {
  3577  	_ struct{} `type:"structure"`
  3578  
  3579  	// The summary information for the requested Trusted Advisor checks.
  3580  	//
  3581  	// Summaries is a required field
  3582  	Summaries []*TrustedAdvisorCheckSummary `locationName:"summaries" type:"list" required:"true"`
  3583  }
  3584  
  3585  // String returns the string representation.
  3586  //
  3587  // API parameter values that are decorated as "sensitive" in the API will not
  3588  // be included in the string output. The member name will be present, but the
  3589  // value will be replaced with "sensitive".
  3590  func (s DescribeTrustedAdvisorCheckSummariesOutput) String() string {
  3591  	return awsutil.Prettify(s)
  3592  }
  3593  
  3594  // GoString returns the string representation.
  3595  //
  3596  // API parameter values that are decorated as "sensitive" in the API will not
  3597  // be included in the string output. The member name will be present, but the
  3598  // value will be replaced with "sensitive".
  3599  func (s DescribeTrustedAdvisorCheckSummariesOutput) GoString() string {
  3600  	return s.String()
  3601  }
  3602  
  3603  // SetSummaries sets the Summaries field's value.
  3604  func (s *DescribeTrustedAdvisorCheckSummariesOutput) SetSummaries(v []*TrustedAdvisorCheckSummary) *DescribeTrustedAdvisorCheckSummariesOutput {
  3605  	s.Summaries = v
  3606  	return s
  3607  }
  3608  
  3609  type DescribeTrustedAdvisorChecksInput struct {
  3610  	_ struct{} `type:"structure"`
  3611  
  3612  	// The ISO 639-1 code for the language in which AWS provides support. AWS Support
  3613  	// currently supports English ("en") and Japanese ("ja"). Language parameters
  3614  	// must be passed explicitly for operations that take them.
  3615  	//
  3616  	// Language is a required field
  3617  	Language *string `locationName:"language" type:"string" required:"true"`
  3618  }
  3619  
  3620  // String returns the string representation.
  3621  //
  3622  // API parameter values that are decorated as "sensitive" in the API will not
  3623  // be included in the string output. The member name will be present, but the
  3624  // value will be replaced with "sensitive".
  3625  func (s DescribeTrustedAdvisorChecksInput) String() string {
  3626  	return awsutil.Prettify(s)
  3627  }
  3628  
  3629  // GoString returns the string representation.
  3630  //
  3631  // API parameter values that are decorated as "sensitive" in the API will not
  3632  // be included in the string output. The member name will be present, but the
  3633  // value will be replaced with "sensitive".
  3634  func (s DescribeTrustedAdvisorChecksInput) GoString() string {
  3635  	return s.String()
  3636  }
  3637  
  3638  // Validate inspects the fields of the type to determine if they are valid.
  3639  func (s *DescribeTrustedAdvisorChecksInput) Validate() error {
  3640  	invalidParams := request.ErrInvalidParams{Context: "DescribeTrustedAdvisorChecksInput"}
  3641  	if s.Language == nil {
  3642  		invalidParams.Add(request.NewErrParamRequired("Language"))
  3643  	}
  3644  
  3645  	if invalidParams.Len() > 0 {
  3646  		return invalidParams
  3647  	}
  3648  	return nil
  3649  }
  3650  
  3651  // SetLanguage sets the Language field's value.
  3652  func (s *DescribeTrustedAdvisorChecksInput) SetLanguage(v string) *DescribeTrustedAdvisorChecksInput {
  3653  	s.Language = &v
  3654  	return s
  3655  }
  3656  
  3657  // Information about the Trusted Advisor checks returned by the DescribeTrustedAdvisorChecks
  3658  // operation.
  3659  type DescribeTrustedAdvisorChecksOutput struct {
  3660  	_ struct{} `type:"structure"`
  3661  
  3662  	// Information about all available Trusted Advisor checks.
  3663  	//
  3664  	// Checks is a required field
  3665  	Checks []*TrustedAdvisorCheckDescription `locationName:"checks" type:"list" required:"true"`
  3666  }
  3667  
  3668  // String returns the string representation.
  3669  //
  3670  // API parameter values that are decorated as "sensitive" in the API will not
  3671  // be included in the string output. The member name will be present, but the
  3672  // value will be replaced with "sensitive".
  3673  func (s DescribeTrustedAdvisorChecksOutput) String() string {
  3674  	return awsutil.Prettify(s)
  3675  }
  3676  
  3677  // GoString returns the string representation.
  3678  //
  3679  // API parameter values that are decorated as "sensitive" in the API will not
  3680  // be included in the string output. The member name will be present, but the
  3681  // value will be replaced with "sensitive".
  3682  func (s DescribeTrustedAdvisorChecksOutput) GoString() string {
  3683  	return s.String()
  3684  }
  3685  
  3686  // SetChecks sets the Checks field's value.
  3687  func (s *DescribeTrustedAdvisorChecksOutput) SetChecks(v []*TrustedAdvisorCheckDescription) *DescribeTrustedAdvisorChecksOutput {
  3688  	s.Checks = v
  3689  	return s
  3690  }
  3691  
  3692  // An internal server error occurred.
  3693  type InternalServerError struct {
  3694  	_            struct{}                  `type:"structure"`
  3695  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3696  
  3697  	// An internal server error occurred.
  3698  	Message_ *string `locationName:"message" type:"string"`
  3699  }
  3700  
  3701  // String returns the string representation.
  3702  //
  3703  // API parameter values that are decorated as "sensitive" in the API will not
  3704  // be included in the string output. The member name will be present, but the
  3705  // value will be replaced with "sensitive".
  3706  func (s InternalServerError) String() string {
  3707  	return awsutil.Prettify(s)
  3708  }
  3709  
  3710  // GoString returns the string representation.
  3711  //
  3712  // API parameter values that are decorated as "sensitive" in the API will not
  3713  // be included in the string output. The member name will be present, but the
  3714  // value will be replaced with "sensitive".
  3715  func (s InternalServerError) GoString() string {
  3716  	return s.String()
  3717  }
  3718  
  3719  func newErrorInternalServerError(v protocol.ResponseMetadata) error {
  3720  	return &InternalServerError{
  3721  		RespMetadata: v,
  3722  	}
  3723  }
  3724  
  3725  // Code returns the exception type name.
  3726  func (s *InternalServerError) Code() string {
  3727  	return "InternalServerError"
  3728  }
  3729  
  3730  // Message returns the exception's message.
  3731  func (s *InternalServerError) Message() string {
  3732  	if s.Message_ != nil {
  3733  		return *s.Message_
  3734  	}
  3735  	return ""
  3736  }
  3737  
  3738  // OrigErr always returns nil, satisfies awserr.Error interface.
  3739  func (s *InternalServerError) OrigErr() error {
  3740  	return nil
  3741  }
  3742  
  3743  func (s *InternalServerError) Error() string {
  3744  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3745  }
  3746  
  3747  // Status code returns the HTTP status code for the request's response error.
  3748  func (s *InternalServerError) StatusCode() int {
  3749  	return s.RespMetadata.StatusCode
  3750  }
  3751  
  3752  // RequestID returns the service's response RequestID for request.
  3753  func (s *InternalServerError) RequestID() string {
  3754  	return s.RespMetadata.RequestID
  3755  }
  3756  
  3757  // The five most recent communications associated with the case.
  3758  type RecentCaseCommunications struct {
  3759  	_ struct{} `type:"structure"`
  3760  
  3761  	// The five most recent communications associated with the case.
  3762  	Communications []*Communication `locationName:"communications" type:"list"`
  3763  
  3764  	// A resumption point for pagination.
  3765  	NextToken *string `locationName:"nextToken" type:"string"`
  3766  }
  3767  
  3768  // String returns the string representation.
  3769  //
  3770  // API parameter values that are decorated as "sensitive" in the API will not
  3771  // be included in the string output. The member name will be present, but the
  3772  // value will be replaced with "sensitive".
  3773  func (s RecentCaseCommunications) String() string {
  3774  	return awsutil.Prettify(s)
  3775  }
  3776  
  3777  // GoString returns the string representation.
  3778  //
  3779  // API parameter values that are decorated as "sensitive" in the API will not
  3780  // be included in the string output. The member name will be present, but the
  3781  // value will be replaced with "sensitive".
  3782  func (s RecentCaseCommunications) GoString() string {
  3783  	return s.String()
  3784  }
  3785  
  3786  // SetCommunications sets the Communications field's value.
  3787  func (s *RecentCaseCommunications) SetCommunications(v []*Communication) *RecentCaseCommunications {
  3788  	s.Communications = v
  3789  	return s
  3790  }
  3791  
  3792  // SetNextToken sets the NextToken field's value.
  3793  func (s *RecentCaseCommunications) SetNextToken(v string) *RecentCaseCommunications {
  3794  	s.NextToken = &v
  3795  	return s
  3796  }
  3797  
  3798  type RefreshTrustedAdvisorCheckInput struct {
  3799  	_ struct{} `type:"structure"`
  3800  
  3801  	// The unique identifier for the Trusted Advisor check to refresh.
  3802  	//
  3803  	// Specifying the check ID of a check that is automatically refreshed causes
  3804  	// an InvalidParameterValue error.
  3805  	//
  3806  	// CheckId is a required field
  3807  	CheckId *string `locationName:"checkId" type:"string" required:"true"`
  3808  }
  3809  
  3810  // String returns the string representation.
  3811  //
  3812  // API parameter values that are decorated as "sensitive" in the API will not
  3813  // be included in the string output. The member name will be present, but the
  3814  // value will be replaced with "sensitive".
  3815  func (s RefreshTrustedAdvisorCheckInput) String() string {
  3816  	return awsutil.Prettify(s)
  3817  }
  3818  
  3819  // GoString returns the string representation.
  3820  //
  3821  // API parameter values that are decorated as "sensitive" in the API will not
  3822  // be included in the string output. The member name will be present, but the
  3823  // value will be replaced with "sensitive".
  3824  func (s RefreshTrustedAdvisorCheckInput) GoString() string {
  3825  	return s.String()
  3826  }
  3827  
  3828  // Validate inspects the fields of the type to determine if they are valid.
  3829  func (s *RefreshTrustedAdvisorCheckInput) Validate() error {
  3830  	invalidParams := request.ErrInvalidParams{Context: "RefreshTrustedAdvisorCheckInput"}
  3831  	if s.CheckId == nil {
  3832  		invalidParams.Add(request.NewErrParamRequired("CheckId"))
  3833  	}
  3834  
  3835  	if invalidParams.Len() > 0 {
  3836  		return invalidParams
  3837  	}
  3838  	return nil
  3839  }
  3840  
  3841  // SetCheckId sets the CheckId field's value.
  3842  func (s *RefreshTrustedAdvisorCheckInput) SetCheckId(v string) *RefreshTrustedAdvisorCheckInput {
  3843  	s.CheckId = &v
  3844  	return s
  3845  }
  3846  
  3847  // The current refresh status of a Trusted Advisor check.
  3848  type RefreshTrustedAdvisorCheckOutput struct {
  3849  	_ struct{} `type:"structure"`
  3850  
  3851  	// The current refresh status for a check, including the amount of time until
  3852  	// the check is eligible for refresh.
  3853  	//
  3854  	// Status is a required field
  3855  	Status *TrustedAdvisorCheckRefreshStatus `locationName:"status" type:"structure" required:"true"`
  3856  }
  3857  
  3858  // String returns the string representation.
  3859  //
  3860  // API parameter values that are decorated as "sensitive" in the API will not
  3861  // be included in the string output. The member name will be present, but the
  3862  // value will be replaced with "sensitive".
  3863  func (s RefreshTrustedAdvisorCheckOutput) String() string {
  3864  	return awsutil.Prettify(s)
  3865  }
  3866  
  3867  // GoString returns the string representation.
  3868  //
  3869  // API parameter values that are decorated as "sensitive" in the API will not
  3870  // be included in the string output. The member name will be present, but the
  3871  // value will be replaced with "sensitive".
  3872  func (s RefreshTrustedAdvisorCheckOutput) GoString() string {
  3873  	return s.String()
  3874  }
  3875  
  3876  // SetStatus sets the Status field's value.
  3877  func (s *RefreshTrustedAdvisorCheckOutput) SetStatus(v *TrustedAdvisorCheckRefreshStatus) *RefreshTrustedAdvisorCheckOutput {
  3878  	s.Status = v
  3879  	return s
  3880  }
  3881  
  3882  type ResolveCaseInput struct {
  3883  	_ struct{} `type:"structure"`
  3884  
  3885  	// The support case ID requested or returned in the call. The case ID is an
  3886  	// alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47
  3887  	CaseId *string `locationName:"caseId" type:"string"`
  3888  }
  3889  
  3890  // String returns the string representation.
  3891  //
  3892  // API parameter values that are decorated as "sensitive" in the API will not
  3893  // be included in the string output. The member name will be present, but the
  3894  // value will be replaced with "sensitive".
  3895  func (s ResolveCaseInput) String() string {
  3896  	return awsutil.Prettify(s)
  3897  }
  3898  
  3899  // GoString returns the string representation.
  3900  //
  3901  // API parameter values that are decorated as "sensitive" in the API will not
  3902  // be included in the string output. The member name will be present, but the
  3903  // value will be replaced with "sensitive".
  3904  func (s ResolveCaseInput) GoString() string {
  3905  	return s.String()
  3906  }
  3907  
  3908  // SetCaseId sets the CaseId field's value.
  3909  func (s *ResolveCaseInput) SetCaseId(v string) *ResolveCaseInput {
  3910  	s.CaseId = &v
  3911  	return s
  3912  }
  3913  
  3914  // The status of the case returned by the ResolveCase operation.
  3915  type ResolveCaseOutput struct {
  3916  	_ struct{} `type:"structure"`
  3917  
  3918  	// The status of the case after the ResolveCase request was processed.
  3919  	FinalCaseStatus *string `locationName:"finalCaseStatus" type:"string"`
  3920  
  3921  	// The status of the case when the ResolveCase request was sent.
  3922  	InitialCaseStatus *string `locationName:"initialCaseStatus" type:"string"`
  3923  }
  3924  
  3925  // String returns the string representation.
  3926  //
  3927  // API parameter values that are decorated as "sensitive" in the API will not
  3928  // be included in the string output. The member name will be present, but the
  3929  // value will be replaced with "sensitive".
  3930  func (s ResolveCaseOutput) String() string {
  3931  	return awsutil.Prettify(s)
  3932  }
  3933  
  3934  // GoString returns the string representation.
  3935  //
  3936  // API parameter values that are decorated as "sensitive" in the API will not
  3937  // be included in the string output. The member name will be present, but the
  3938  // value will be replaced with "sensitive".
  3939  func (s ResolveCaseOutput) GoString() string {
  3940  	return s.String()
  3941  }
  3942  
  3943  // SetFinalCaseStatus sets the FinalCaseStatus field's value.
  3944  func (s *ResolveCaseOutput) SetFinalCaseStatus(v string) *ResolveCaseOutput {
  3945  	s.FinalCaseStatus = &v
  3946  	return s
  3947  }
  3948  
  3949  // SetInitialCaseStatus sets the InitialCaseStatus field's value.
  3950  func (s *ResolveCaseOutput) SetInitialCaseStatus(v string) *ResolveCaseOutput {
  3951  	s.InitialCaseStatus = &v
  3952  	return s
  3953  }
  3954  
  3955  // Information about an AWS service returned by the DescribeServices operation.
  3956  type Service struct {
  3957  	_ struct{} `type:"structure"`
  3958  
  3959  	// A list of categories that describe the type of support issue a case describes.
  3960  	// Categories consist of a category name and a category code. Category names
  3961  	// and codes are passed to AWS Support when you call CreateCase.
  3962  	Categories []*Category `locationName:"categories" type:"list"`
  3963  
  3964  	// The code for an AWS service returned by the DescribeServices response. The
  3965  	// name element contains the corresponding friendly name.
  3966  	Code *string `locationName:"code" type:"string"`
  3967  
  3968  	// The friendly name for an AWS service. The code element contains the corresponding
  3969  	// code.
  3970  	Name *string `locationName:"name" type:"string"`
  3971  }
  3972  
  3973  // String returns the string representation.
  3974  //
  3975  // API parameter values that are decorated as "sensitive" in the API will not
  3976  // be included in the string output. The member name will be present, but the
  3977  // value will be replaced with "sensitive".
  3978  func (s Service) String() string {
  3979  	return awsutil.Prettify(s)
  3980  }
  3981  
  3982  // GoString returns the string representation.
  3983  //
  3984  // API parameter values that are decorated as "sensitive" in the API will not
  3985  // be included in the string output. The member name will be present, but the
  3986  // value will be replaced with "sensitive".
  3987  func (s Service) GoString() string {
  3988  	return s.String()
  3989  }
  3990  
  3991  // SetCategories sets the Categories field's value.
  3992  func (s *Service) SetCategories(v []*Category) *Service {
  3993  	s.Categories = v
  3994  	return s
  3995  }
  3996  
  3997  // SetCode sets the Code field's value.
  3998  func (s *Service) SetCode(v string) *Service {
  3999  	s.Code = &v
  4000  	return s
  4001  }
  4002  
  4003  // SetName sets the Name field's value.
  4004  func (s *Service) SetName(v string) *Service {
  4005  	s.Name = &v
  4006  	return s
  4007  }
  4008  
  4009  // A code and name pair that represents the severity level of a support case.
  4010  // The available values depend on the support plan for the account. For more
  4011  // information, see Choosing a severity (https://docs.aws.amazon.com/awssupport/latest/user/case-management.html#choosing-severity)
  4012  // in the AWS Support User Guide.
  4013  type SeverityLevel struct {
  4014  	_ struct{} `type:"structure"`
  4015  
  4016  	// The code for case severity level.
  4017  	//
  4018  	// Valid values: low | normal | high | urgent | critical
  4019  	Code *string `locationName:"code" type:"string"`
  4020  
  4021  	// The name of the severity level that corresponds to the severity level code.
  4022  	//
  4023  	// The values returned by the API are different from the values that appear
  4024  	// in the AWS Support Center. For example, the API uses the code low, but the
  4025  	// name appears as General guidance in Support Center.
  4026  	//
  4027  	// The following are the API code names and how they appear in the console:
  4028  	//
  4029  	//    * low - General guidance
  4030  	//
  4031  	//    * normal - System impaired
  4032  	//
  4033  	//    * high - Production system impaired
  4034  	//
  4035  	//    * urgent - Production system down
  4036  	//
  4037  	//    * critical - Business-critical system down
  4038  	//
  4039  	// For more information, see Choosing a severity (https://docs.aws.amazon.com/awssupport/latest/user/case-management.html#choosing-severity)
  4040  	// in the AWS Support User Guide.
  4041  	Name *string `locationName:"name" type:"string"`
  4042  }
  4043  
  4044  // String returns the string representation.
  4045  //
  4046  // API parameter values that are decorated as "sensitive" in the API will not
  4047  // be included in the string output. The member name will be present, but the
  4048  // value will be replaced with "sensitive".
  4049  func (s SeverityLevel) String() string {
  4050  	return awsutil.Prettify(s)
  4051  }
  4052  
  4053  // GoString returns the string representation.
  4054  //
  4055  // API parameter values that are decorated as "sensitive" in the API will not
  4056  // be included in the string output. The member name will be present, but the
  4057  // value will be replaced with "sensitive".
  4058  func (s SeverityLevel) GoString() string {
  4059  	return s.String()
  4060  }
  4061  
  4062  // SetCode sets the Code field's value.
  4063  func (s *SeverityLevel) SetCode(v string) *SeverityLevel {
  4064  	s.Code = &v
  4065  	return s
  4066  }
  4067  
  4068  // SetName sets the Name field's value.
  4069  func (s *SeverityLevel) SetName(v string) *SeverityLevel {
  4070  	s.Name = &v
  4071  	return s
  4072  }
  4073  
  4074  // The container for summary information that relates to the category of the
  4075  // Trusted Advisor check.
  4076  type TrustedAdvisorCategorySpecificSummary struct {
  4077  	_ struct{} `type:"structure"`
  4078  
  4079  	// The summary information about cost savings for a Trusted Advisor check that
  4080  	// is in the Cost Optimizing category.
  4081  	CostOptimizing *TrustedAdvisorCostOptimizingSummary `locationName:"costOptimizing" type:"structure"`
  4082  }
  4083  
  4084  // String returns the string representation.
  4085  //
  4086  // API parameter values that are decorated as "sensitive" in the API will not
  4087  // be included in the string output. The member name will be present, but the
  4088  // value will be replaced with "sensitive".
  4089  func (s TrustedAdvisorCategorySpecificSummary) String() string {
  4090  	return awsutil.Prettify(s)
  4091  }
  4092  
  4093  // GoString returns the string representation.
  4094  //
  4095  // API parameter values that are decorated as "sensitive" in the API will not
  4096  // be included in the string output. The member name will be present, but the
  4097  // value will be replaced with "sensitive".
  4098  func (s TrustedAdvisorCategorySpecificSummary) GoString() string {
  4099  	return s.String()
  4100  }
  4101  
  4102  // SetCostOptimizing sets the CostOptimizing field's value.
  4103  func (s *TrustedAdvisorCategorySpecificSummary) SetCostOptimizing(v *TrustedAdvisorCostOptimizingSummary) *TrustedAdvisorCategorySpecificSummary {
  4104  	s.CostOptimizing = v
  4105  	return s
  4106  }
  4107  
  4108  // The description and metadata for a Trusted Advisor check.
  4109  type TrustedAdvisorCheckDescription struct {
  4110  	_ struct{} `type:"structure"`
  4111  
  4112  	// The category of the Trusted Advisor check.
  4113  	//
  4114  	// Category is a required field
  4115  	Category *string `locationName:"category" type:"string" required:"true"`
  4116  
  4117  	// The description of the Trusted Advisor check, which includes the alert criteria
  4118  	// and recommended operations (contains HTML markup).
  4119  	//
  4120  	// Description is a required field
  4121  	Description *string `locationName:"description" type:"string" required:"true"`
  4122  
  4123  	// The unique identifier for the Trusted Advisor check.
  4124  	//
  4125  	// Id is a required field
  4126  	Id *string `locationName:"id" type:"string" required:"true"`
  4127  
  4128  	// The column headings for the data returned by the Trusted Advisor check. The
  4129  	// order of the headings corresponds to the order of the data in the Metadata
  4130  	// element of the TrustedAdvisorResourceDetail for the check. Metadata contains
  4131  	// all the data that is shown in the Excel download, even in those cases where
  4132  	// the UI shows just summary data.
  4133  	//
  4134  	// Metadata is a required field
  4135  	Metadata []*string `locationName:"metadata" type:"list" required:"true"`
  4136  
  4137  	// The display name for the Trusted Advisor check.
  4138  	//
  4139  	// Name is a required field
  4140  	Name *string `locationName:"name" type:"string" required:"true"`
  4141  }
  4142  
  4143  // String returns the string representation.
  4144  //
  4145  // API parameter values that are decorated as "sensitive" in the API will not
  4146  // be included in the string output. The member name will be present, but the
  4147  // value will be replaced with "sensitive".
  4148  func (s TrustedAdvisorCheckDescription) String() string {
  4149  	return awsutil.Prettify(s)
  4150  }
  4151  
  4152  // GoString returns the string representation.
  4153  //
  4154  // API parameter values that are decorated as "sensitive" in the API will not
  4155  // be included in the string output. The member name will be present, but the
  4156  // value will be replaced with "sensitive".
  4157  func (s TrustedAdvisorCheckDescription) GoString() string {
  4158  	return s.String()
  4159  }
  4160  
  4161  // SetCategory sets the Category field's value.
  4162  func (s *TrustedAdvisorCheckDescription) SetCategory(v string) *TrustedAdvisorCheckDescription {
  4163  	s.Category = &v
  4164  	return s
  4165  }
  4166  
  4167  // SetDescription sets the Description field's value.
  4168  func (s *TrustedAdvisorCheckDescription) SetDescription(v string) *TrustedAdvisorCheckDescription {
  4169  	s.Description = &v
  4170  	return s
  4171  }
  4172  
  4173  // SetId sets the Id field's value.
  4174  func (s *TrustedAdvisorCheckDescription) SetId(v string) *TrustedAdvisorCheckDescription {
  4175  	s.Id = &v
  4176  	return s
  4177  }
  4178  
  4179  // SetMetadata sets the Metadata field's value.
  4180  func (s *TrustedAdvisorCheckDescription) SetMetadata(v []*string) *TrustedAdvisorCheckDescription {
  4181  	s.Metadata = v
  4182  	return s
  4183  }
  4184  
  4185  // SetName sets the Name field's value.
  4186  func (s *TrustedAdvisorCheckDescription) SetName(v string) *TrustedAdvisorCheckDescription {
  4187  	s.Name = &v
  4188  	return s
  4189  }
  4190  
  4191  // The refresh status of a Trusted Advisor check.
  4192  type TrustedAdvisorCheckRefreshStatus struct {
  4193  	_ struct{} `type:"structure"`
  4194  
  4195  	// The unique identifier for the Trusted Advisor check.
  4196  	//
  4197  	// CheckId is a required field
  4198  	CheckId *string `locationName:"checkId" type:"string" required:"true"`
  4199  
  4200  	// The amount of time, in milliseconds, until the Trusted Advisor check is eligible
  4201  	// for refresh.
  4202  	//
  4203  	// MillisUntilNextRefreshable is a required field
  4204  	MillisUntilNextRefreshable *int64 `locationName:"millisUntilNextRefreshable" type:"long" required:"true"`
  4205  
  4206  	// The status of the Trusted Advisor check for which a refresh has been requested:
  4207  	//
  4208  	//    * none - The check is not refreshed or the non-success status exceeds
  4209  	//    the timeout
  4210  	//
  4211  	//    * enqueued - The check refresh requests has entered the refresh queue
  4212  	//
  4213  	//    * processing - The check refresh request is picked up by the rule processing
  4214  	//    engine
  4215  	//
  4216  	//    * success - The check is successfully refreshed
  4217  	//
  4218  	//    * abandoned - The check refresh has failed
  4219  	//
  4220  	// Status is a required field
  4221  	Status *string `locationName:"status" type:"string" required:"true"`
  4222  }
  4223  
  4224  // String returns the string representation.
  4225  //
  4226  // API parameter values that are decorated as "sensitive" in the API will not
  4227  // be included in the string output. The member name will be present, but the
  4228  // value will be replaced with "sensitive".
  4229  func (s TrustedAdvisorCheckRefreshStatus) String() string {
  4230  	return awsutil.Prettify(s)
  4231  }
  4232  
  4233  // GoString returns the string representation.
  4234  //
  4235  // API parameter values that are decorated as "sensitive" in the API will not
  4236  // be included in the string output. The member name will be present, but the
  4237  // value will be replaced with "sensitive".
  4238  func (s TrustedAdvisorCheckRefreshStatus) GoString() string {
  4239  	return s.String()
  4240  }
  4241  
  4242  // SetCheckId sets the CheckId field's value.
  4243  func (s *TrustedAdvisorCheckRefreshStatus) SetCheckId(v string) *TrustedAdvisorCheckRefreshStatus {
  4244  	s.CheckId = &v
  4245  	return s
  4246  }
  4247  
  4248  // SetMillisUntilNextRefreshable sets the MillisUntilNextRefreshable field's value.
  4249  func (s *TrustedAdvisorCheckRefreshStatus) SetMillisUntilNextRefreshable(v int64) *TrustedAdvisorCheckRefreshStatus {
  4250  	s.MillisUntilNextRefreshable = &v
  4251  	return s
  4252  }
  4253  
  4254  // SetStatus sets the Status field's value.
  4255  func (s *TrustedAdvisorCheckRefreshStatus) SetStatus(v string) *TrustedAdvisorCheckRefreshStatus {
  4256  	s.Status = &v
  4257  	return s
  4258  }
  4259  
  4260  // The results of a Trusted Advisor check returned by DescribeTrustedAdvisorCheckResult.
  4261  type TrustedAdvisorCheckResult struct {
  4262  	_ struct{} `type:"structure"`
  4263  
  4264  	// Summary information that relates to the category of the check. Cost Optimizing
  4265  	// is the only category that is currently supported.
  4266  	//
  4267  	// CategorySpecificSummary is a required field
  4268  	CategorySpecificSummary *TrustedAdvisorCategorySpecificSummary `locationName:"categorySpecificSummary" type:"structure" required:"true"`
  4269  
  4270  	// The unique identifier for the Trusted Advisor check.
  4271  	//
  4272  	// CheckId is a required field
  4273  	CheckId *string `locationName:"checkId" type:"string" required:"true"`
  4274  
  4275  	// The details about each resource listed in the check result.
  4276  	//
  4277  	// FlaggedResources is a required field
  4278  	FlaggedResources []*TrustedAdvisorResourceDetail `locationName:"flaggedResources" type:"list" required:"true"`
  4279  
  4280  	// Details about AWS resources that were analyzed in a call to Trusted Advisor
  4281  	// DescribeTrustedAdvisorCheckSummaries.
  4282  	//
  4283  	// ResourcesSummary is a required field
  4284  	ResourcesSummary *TrustedAdvisorResourcesSummary `locationName:"resourcesSummary" type:"structure" required:"true"`
  4285  
  4286  	// The alert status of the check: "ok" (green), "warning" (yellow), "error"
  4287  	// (red), or "not_available".
  4288  	//
  4289  	// Status is a required field
  4290  	Status *string `locationName:"status" type:"string" required:"true"`
  4291  
  4292  	// The time of the last refresh of the check.
  4293  	//
  4294  	// Timestamp is a required field
  4295  	Timestamp *string `locationName:"timestamp" type:"string" required:"true"`
  4296  }
  4297  
  4298  // String returns the string representation.
  4299  //
  4300  // API parameter values that are decorated as "sensitive" in the API will not
  4301  // be included in the string output. The member name will be present, but the
  4302  // value will be replaced with "sensitive".
  4303  func (s TrustedAdvisorCheckResult) String() string {
  4304  	return awsutil.Prettify(s)
  4305  }
  4306  
  4307  // GoString returns the string representation.
  4308  //
  4309  // API parameter values that are decorated as "sensitive" in the API will not
  4310  // be included in the string output. The member name will be present, but the
  4311  // value will be replaced with "sensitive".
  4312  func (s TrustedAdvisorCheckResult) GoString() string {
  4313  	return s.String()
  4314  }
  4315  
  4316  // SetCategorySpecificSummary sets the CategorySpecificSummary field's value.
  4317  func (s *TrustedAdvisorCheckResult) SetCategorySpecificSummary(v *TrustedAdvisorCategorySpecificSummary) *TrustedAdvisorCheckResult {
  4318  	s.CategorySpecificSummary = v
  4319  	return s
  4320  }
  4321  
  4322  // SetCheckId sets the CheckId field's value.
  4323  func (s *TrustedAdvisorCheckResult) SetCheckId(v string) *TrustedAdvisorCheckResult {
  4324  	s.CheckId = &v
  4325  	return s
  4326  }
  4327  
  4328  // SetFlaggedResources sets the FlaggedResources field's value.
  4329  func (s *TrustedAdvisorCheckResult) SetFlaggedResources(v []*TrustedAdvisorResourceDetail) *TrustedAdvisorCheckResult {
  4330  	s.FlaggedResources = v
  4331  	return s
  4332  }
  4333  
  4334  // SetResourcesSummary sets the ResourcesSummary field's value.
  4335  func (s *TrustedAdvisorCheckResult) SetResourcesSummary(v *TrustedAdvisorResourcesSummary) *TrustedAdvisorCheckResult {
  4336  	s.ResourcesSummary = v
  4337  	return s
  4338  }
  4339  
  4340  // SetStatus sets the Status field's value.
  4341  func (s *TrustedAdvisorCheckResult) SetStatus(v string) *TrustedAdvisorCheckResult {
  4342  	s.Status = &v
  4343  	return s
  4344  }
  4345  
  4346  // SetTimestamp sets the Timestamp field's value.
  4347  func (s *TrustedAdvisorCheckResult) SetTimestamp(v string) *TrustedAdvisorCheckResult {
  4348  	s.Timestamp = &v
  4349  	return s
  4350  }
  4351  
  4352  // A summary of a Trusted Advisor check result, including the alert status,
  4353  // last refresh, and number of resources examined.
  4354  type TrustedAdvisorCheckSummary struct {
  4355  	_ struct{} `type:"structure"`
  4356  
  4357  	// Summary information that relates to the category of the check. Cost Optimizing
  4358  	// is the only category that is currently supported.
  4359  	//
  4360  	// CategorySpecificSummary is a required field
  4361  	CategorySpecificSummary *TrustedAdvisorCategorySpecificSummary `locationName:"categorySpecificSummary" type:"structure" required:"true"`
  4362  
  4363  	// The unique identifier for the Trusted Advisor check.
  4364  	//
  4365  	// CheckId is a required field
  4366  	CheckId *string `locationName:"checkId" type:"string" required:"true"`
  4367  
  4368  	// Specifies whether the Trusted Advisor check has flagged resources.
  4369  	HasFlaggedResources *bool `locationName:"hasFlaggedResources" type:"boolean"`
  4370  
  4371  	// Details about AWS resources that were analyzed in a call to Trusted Advisor
  4372  	// DescribeTrustedAdvisorCheckSummaries.
  4373  	//
  4374  	// ResourcesSummary is a required field
  4375  	ResourcesSummary *TrustedAdvisorResourcesSummary `locationName:"resourcesSummary" type:"structure" required:"true"`
  4376  
  4377  	// The alert status of the check: "ok" (green), "warning" (yellow), "error"
  4378  	// (red), or "not_available".
  4379  	//
  4380  	// Status is a required field
  4381  	Status *string `locationName:"status" type:"string" required:"true"`
  4382  
  4383  	// The time of the last refresh of the check.
  4384  	//
  4385  	// Timestamp is a required field
  4386  	Timestamp *string `locationName:"timestamp" type:"string" required:"true"`
  4387  }
  4388  
  4389  // String returns the string representation.
  4390  //
  4391  // API parameter values that are decorated as "sensitive" in the API will not
  4392  // be included in the string output. The member name will be present, but the
  4393  // value will be replaced with "sensitive".
  4394  func (s TrustedAdvisorCheckSummary) String() string {
  4395  	return awsutil.Prettify(s)
  4396  }
  4397  
  4398  // GoString returns the string representation.
  4399  //
  4400  // API parameter values that are decorated as "sensitive" in the API will not
  4401  // be included in the string output. The member name will be present, but the
  4402  // value will be replaced with "sensitive".
  4403  func (s TrustedAdvisorCheckSummary) GoString() string {
  4404  	return s.String()
  4405  }
  4406  
  4407  // SetCategorySpecificSummary sets the CategorySpecificSummary field's value.
  4408  func (s *TrustedAdvisorCheckSummary) SetCategorySpecificSummary(v *TrustedAdvisorCategorySpecificSummary) *TrustedAdvisorCheckSummary {
  4409  	s.CategorySpecificSummary = v
  4410  	return s
  4411  }
  4412  
  4413  // SetCheckId sets the CheckId field's value.
  4414  func (s *TrustedAdvisorCheckSummary) SetCheckId(v string) *TrustedAdvisorCheckSummary {
  4415  	s.CheckId = &v
  4416  	return s
  4417  }
  4418  
  4419  // SetHasFlaggedResources sets the HasFlaggedResources field's value.
  4420  func (s *TrustedAdvisorCheckSummary) SetHasFlaggedResources(v bool) *TrustedAdvisorCheckSummary {
  4421  	s.HasFlaggedResources = &v
  4422  	return s
  4423  }
  4424  
  4425  // SetResourcesSummary sets the ResourcesSummary field's value.
  4426  func (s *TrustedAdvisorCheckSummary) SetResourcesSummary(v *TrustedAdvisorResourcesSummary) *TrustedAdvisorCheckSummary {
  4427  	s.ResourcesSummary = v
  4428  	return s
  4429  }
  4430  
  4431  // SetStatus sets the Status field's value.
  4432  func (s *TrustedAdvisorCheckSummary) SetStatus(v string) *TrustedAdvisorCheckSummary {
  4433  	s.Status = &v
  4434  	return s
  4435  }
  4436  
  4437  // SetTimestamp sets the Timestamp field's value.
  4438  func (s *TrustedAdvisorCheckSummary) SetTimestamp(v string) *TrustedAdvisorCheckSummary {
  4439  	s.Timestamp = &v
  4440  	return s
  4441  }
  4442  
  4443  // The estimated cost savings that might be realized if the recommended operations
  4444  // are taken.
  4445  type TrustedAdvisorCostOptimizingSummary struct {
  4446  	_ struct{} `type:"structure"`
  4447  
  4448  	// The estimated monthly savings that might be realized if the recommended operations
  4449  	// are taken.
  4450  	//
  4451  	// EstimatedMonthlySavings is a required field
  4452  	EstimatedMonthlySavings *float64 `locationName:"estimatedMonthlySavings" type:"double" required:"true"`
  4453  
  4454  	// The estimated percentage of savings that might be realized if the recommended
  4455  	// operations are taken.
  4456  	//
  4457  	// EstimatedPercentMonthlySavings is a required field
  4458  	EstimatedPercentMonthlySavings *float64 `locationName:"estimatedPercentMonthlySavings" type:"double" required:"true"`
  4459  }
  4460  
  4461  // String returns the string representation.
  4462  //
  4463  // API parameter values that are decorated as "sensitive" in the API will not
  4464  // be included in the string output. The member name will be present, but the
  4465  // value will be replaced with "sensitive".
  4466  func (s TrustedAdvisorCostOptimizingSummary) String() string {
  4467  	return awsutil.Prettify(s)
  4468  }
  4469  
  4470  // GoString returns the string representation.
  4471  //
  4472  // API parameter values that are decorated as "sensitive" in the API will not
  4473  // be included in the string output. The member name will be present, but the
  4474  // value will be replaced with "sensitive".
  4475  func (s TrustedAdvisorCostOptimizingSummary) GoString() string {
  4476  	return s.String()
  4477  }
  4478  
  4479  // SetEstimatedMonthlySavings sets the EstimatedMonthlySavings field's value.
  4480  func (s *TrustedAdvisorCostOptimizingSummary) SetEstimatedMonthlySavings(v float64) *TrustedAdvisorCostOptimizingSummary {
  4481  	s.EstimatedMonthlySavings = &v
  4482  	return s
  4483  }
  4484  
  4485  // SetEstimatedPercentMonthlySavings sets the EstimatedPercentMonthlySavings field's value.
  4486  func (s *TrustedAdvisorCostOptimizingSummary) SetEstimatedPercentMonthlySavings(v float64) *TrustedAdvisorCostOptimizingSummary {
  4487  	s.EstimatedPercentMonthlySavings = &v
  4488  	return s
  4489  }
  4490  
  4491  // Contains information about a resource identified by a Trusted Advisor check.
  4492  type TrustedAdvisorResourceDetail struct {
  4493  	_ struct{} `type:"structure"`
  4494  
  4495  	// Specifies whether the AWS resource was ignored by Trusted Advisor because
  4496  	// it was marked as suppressed by the user.
  4497  	IsSuppressed *bool `locationName:"isSuppressed" type:"boolean"`
  4498  
  4499  	// Additional information about the identified resource. The exact metadata
  4500  	// and its order can be obtained by inspecting the TrustedAdvisorCheckDescription
  4501  	// object returned by the call to DescribeTrustedAdvisorChecks. Metadata contains
  4502  	// all the data that is shown in the Excel download, even in those cases where
  4503  	// the UI shows just summary data.
  4504  	//
  4505  	// Metadata is a required field
  4506  	Metadata []*string `locationName:"metadata" type:"list" required:"true"`
  4507  
  4508  	// The AWS Region in which the identified resource is located.
  4509  	Region *string `locationName:"region" type:"string"`
  4510  
  4511  	// The unique identifier for the identified resource.
  4512  	//
  4513  	// ResourceId is a required field
  4514  	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
  4515  
  4516  	// The status code for the resource identified in the Trusted Advisor check.
  4517  	//
  4518  	// Status is a required field
  4519  	Status *string `locationName:"status" type:"string" required:"true"`
  4520  }
  4521  
  4522  // String returns the string representation.
  4523  //
  4524  // API parameter values that are decorated as "sensitive" in the API will not
  4525  // be included in the string output. The member name will be present, but the
  4526  // value will be replaced with "sensitive".
  4527  func (s TrustedAdvisorResourceDetail) String() string {
  4528  	return awsutil.Prettify(s)
  4529  }
  4530  
  4531  // GoString returns the string representation.
  4532  //
  4533  // API parameter values that are decorated as "sensitive" in the API will not
  4534  // be included in the string output. The member name will be present, but the
  4535  // value will be replaced with "sensitive".
  4536  func (s TrustedAdvisorResourceDetail) GoString() string {
  4537  	return s.String()
  4538  }
  4539  
  4540  // SetIsSuppressed sets the IsSuppressed field's value.
  4541  func (s *TrustedAdvisorResourceDetail) SetIsSuppressed(v bool) *TrustedAdvisorResourceDetail {
  4542  	s.IsSuppressed = &v
  4543  	return s
  4544  }
  4545  
  4546  // SetMetadata sets the Metadata field's value.
  4547  func (s *TrustedAdvisorResourceDetail) SetMetadata(v []*string) *TrustedAdvisorResourceDetail {
  4548  	s.Metadata = v
  4549  	return s
  4550  }
  4551  
  4552  // SetRegion sets the Region field's value.
  4553  func (s *TrustedAdvisorResourceDetail) SetRegion(v string) *TrustedAdvisorResourceDetail {
  4554  	s.Region = &v
  4555  	return s
  4556  }
  4557  
  4558  // SetResourceId sets the ResourceId field's value.
  4559  func (s *TrustedAdvisorResourceDetail) SetResourceId(v string) *TrustedAdvisorResourceDetail {
  4560  	s.ResourceId = &v
  4561  	return s
  4562  }
  4563  
  4564  // SetStatus sets the Status field's value.
  4565  func (s *TrustedAdvisorResourceDetail) SetStatus(v string) *TrustedAdvisorResourceDetail {
  4566  	s.Status = &v
  4567  	return s
  4568  }
  4569  
  4570  // Details about AWS resources that were analyzed in a call to Trusted Advisor
  4571  // DescribeTrustedAdvisorCheckSummaries.
  4572  type TrustedAdvisorResourcesSummary struct {
  4573  	_ struct{} `type:"structure"`
  4574  
  4575  	// The number of AWS resources that were flagged (listed) by the Trusted Advisor
  4576  	// check.
  4577  	//
  4578  	// ResourcesFlagged is a required field
  4579  	ResourcesFlagged *int64 `locationName:"resourcesFlagged" type:"long" required:"true"`
  4580  
  4581  	// The number of AWS resources ignored by Trusted Advisor because information
  4582  	// was unavailable.
  4583  	//
  4584  	// ResourcesIgnored is a required field
  4585  	ResourcesIgnored *int64 `locationName:"resourcesIgnored" type:"long" required:"true"`
  4586  
  4587  	// The number of AWS resources that were analyzed by the Trusted Advisor check.
  4588  	//
  4589  	// ResourcesProcessed is a required field
  4590  	ResourcesProcessed *int64 `locationName:"resourcesProcessed" type:"long" required:"true"`
  4591  
  4592  	// The number of AWS resources ignored by Trusted Advisor because they were
  4593  	// marked as suppressed by the user.
  4594  	//
  4595  	// ResourcesSuppressed is a required field
  4596  	ResourcesSuppressed *int64 `locationName:"resourcesSuppressed" type:"long" required:"true"`
  4597  }
  4598  
  4599  // String returns the string representation.
  4600  //
  4601  // API parameter values that are decorated as "sensitive" in the API will not
  4602  // be included in the string output. The member name will be present, but the
  4603  // value will be replaced with "sensitive".
  4604  func (s TrustedAdvisorResourcesSummary) String() string {
  4605  	return awsutil.Prettify(s)
  4606  }
  4607  
  4608  // GoString returns the string representation.
  4609  //
  4610  // API parameter values that are decorated as "sensitive" in the API will not
  4611  // be included in the string output. The member name will be present, but the
  4612  // value will be replaced with "sensitive".
  4613  func (s TrustedAdvisorResourcesSummary) GoString() string {
  4614  	return s.String()
  4615  }
  4616  
  4617  // SetResourcesFlagged sets the ResourcesFlagged field's value.
  4618  func (s *TrustedAdvisorResourcesSummary) SetResourcesFlagged(v int64) *TrustedAdvisorResourcesSummary {
  4619  	s.ResourcesFlagged = &v
  4620  	return s
  4621  }
  4622  
  4623  // SetResourcesIgnored sets the ResourcesIgnored field's value.
  4624  func (s *TrustedAdvisorResourcesSummary) SetResourcesIgnored(v int64) *TrustedAdvisorResourcesSummary {
  4625  	s.ResourcesIgnored = &v
  4626  	return s
  4627  }
  4628  
  4629  // SetResourcesProcessed sets the ResourcesProcessed field's value.
  4630  func (s *TrustedAdvisorResourcesSummary) SetResourcesProcessed(v int64) *TrustedAdvisorResourcesSummary {
  4631  	s.ResourcesProcessed = &v
  4632  	return s
  4633  }
  4634  
  4635  // SetResourcesSuppressed sets the ResourcesSuppressed field's value.
  4636  func (s *TrustedAdvisorResourcesSummary) SetResourcesSuppressed(v int64) *TrustedAdvisorResourcesSummary {
  4637  	s.ResourcesSuppressed = &v
  4638  	return s
  4639  }