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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package iotdeviceadvisor
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opCreateSuiteDefinition = "CreateSuiteDefinition"
    17  
    18  // CreateSuiteDefinitionRequest generates a "aws/request.Request" representing the
    19  // client's request for the CreateSuiteDefinition operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See CreateSuiteDefinition for more information on using the CreateSuiteDefinition
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the CreateSuiteDefinitionRequest method.
    34  //    req, resp := client.CreateSuiteDefinitionRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/CreateSuiteDefinition
    42  func (c *IoTDeviceAdvisor) CreateSuiteDefinitionRequest(input *CreateSuiteDefinitionInput) (req *request.Request, output *CreateSuiteDefinitionOutput) {
    43  	op := &request.Operation{
    44  		Name:       opCreateSuiteDefinition,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/suiteDefinitions",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &CreateSuiteDefinitionInput{}
    51  	}
    52  
    53  	output = &CreateSuiteDefinitionOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // CreateSuiteDefinition API operation for AWS IoT Core Device Advisor.
    59  //
    60  // Creates a Device Advisor test suite.
    61  //
    62  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    63  // with awserr.Error's Code and Message methods to get detailed information about
    64  // the error.
    65  //
    66  // See the AWS API reference guide for AWS IoT Core Device Advisor's
    67  // API operation CreateSuiteDefinition for usage and error information.
    68  //
    69  // Returned Error Types:
    70  //   * ValidationException
    71  //   Sends invalid request exception.
    72  //
    73  //   * InternalServerException
    74  //   Sends Internal Failure Exception.
    75  //
    76  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/CreateSuiteDefinition
    77  func (c *IoTDeviceAdvisor) CreateSuiteDefinition(input *CreateSuiteDefinitionInput) (*CreateSuiteDefinitionOutput, error) {
    78  	req, out := c.CreateSuiteDefinitionRequest(input)
    79  	return out, req.Send()
    80  }
    81  
    82  // CreateSuiteDefinitionWithContext is the same as CreateSuiteDefinition with the addition of
    83  // the ability to pass a context and additional request options.
    84  //
    85  // See CreateSuiteDefinition for details on how to use this API operation.
    86  //
    87  // The context must be non-nil and will be used for request cancellation. If
    88  // the context is nil a panic will occur. In the future the SDK may create
    89  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    90  // for more information on using Contexts.
    91  func (c *IoTDeviceAdvisor) CreateSuiteDefinitionWithContext(ctx aws.Context, input *CreateSuiteDefinitionInput, opts ...request.Option) (*CreateSuiteDefinitionOutput, error) {
    92  	req, out := c.CreateSuiteDefinitionRequest(input)
    93  	req.SetContext(ctx)
    94  	req.ApplyOptions(opts...)
    95  	return out, req.Send()
    96  }
    97  
    98  const opDeleteSuiteDefinition = "DeleteSuiteDefinition"
    99  
   100  // DeleteSuiteDefinitionRequest generates a "aws/request.Request" representing the
   101  // client's request for the DeleteSuiteDefinition operation. The "output" return
   102  // value will be populated with the request's response once the request completes
   103  // successfully.
   104  //
   105  // Use "Send" method on the returned Request to send the API call to the service.
   106  // the "output" return value is not valid until after Send returns without error.
   107  //
   108  // See DeleteSuiteDefinition for more information on using the DeleteSuiteDefinition
   109  // API call, and error handling.
   110  //
   111  // This method is useful when you want to inject custom logic or configuration
   112  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   113  //
   114  //
   115  //    // Example sending a request using the DeleteSuiteDefinitionRequest method.
   116  //    req, resp := client.DeleteSuiteDefinitionRequest(params)
   117  //
   118  //    err := req.Send()
   119  //    if err == nil { // resp is now filled
   120  //        fmt.Println(resp)
   121  //    }
   122  //
   123  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/DeleteSuiteDefinition
   124  func (c *IoTDeviceAdvisor) DeleteSuiteDefinitionRequest(input *DeleteSuiteDefinitionInput) (req *request.Request, output *DeleteSuiteDefinitionOutput) {
   125  	op := &request.Operation{
   126  		Name:       opDeleteSuiteDefinition,
   127  		HTTPMethod: "DELETE",
   128  		HTTPPath:   "/suiteDefinitions/{suiteDefinitionId}",
   129  	}
   130  
   131  	if input == nil {
   132  		input = &DeleteSuiteDefinitionInput{}
   133  	}
   134  
   135  	output = &DeleteSuiteDefinitionOutput{}
   136  	req = c.newRequest(op, input, output)
   137  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   138  	return
   139  }
   140  
   141  // DeleteSuiteDefinition API operation for AWS IoT Core Device Advisor.
   142  //
   143  // Deletes a Device Advisor test suite.
   144  //
   145  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   146  // with awserr.Error's Code and Message methods to get detailed information about
   147  // the error.
   148  //
   149  // See the AWS API reference guide for AWS IoT Core Device Advisor's
   150  // API operation DeleteSuiteDefinition for usage and error information.
   151  //
   152  // Returned Error Types:
   153  //   * ValidationException
   154  //   Sends invalid request exception.
   155  //
   156  //   * InternalServerException
   157  //   Sends Internal Failure Exception.
   158  //
   159  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/DeleteSuiteDefinition
   160  func (c *IoTDeviceAdvisor) DeleteSuiteDefinition(input *DeleteSuiteDefinitionInput) (*DeleteSuiteDefinitionOutput, error) {
   161  	req, out := c.DeleteSuiteDefinitionRequest(input)
   162  	return out, req.Send()
   163  }
   164  
   165  // DeleteSuiteDefinitionWithContext is the same as DeleteSuiteDefinition with the addition of
   166  // the ability to pass a context and additional request options.
   167  //
   168  // See DeleteSuiteDefinition for details on how to use this API operation.
   169  //
   170  // The context must be non-nil and will be used for request cancellation. If
   171  // the context is nil a panic will occur. In the future the SDK may create
   172  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   173  // for more information on using Contexts.
   174  func (c *IoTDeviceAdvisor) DeleteSuiteDefinitionWithContext(ctx aws.Context, input *DeleteSuiteDefinitionInput, opts ...request.Option) (*DeleteSuiteDefinitionOutput, error) {
   175  	req, out := c.DeleteSuiteDefinitionRequest(input)
   176  	req.SetContext(ctx)
   177  	req.ApplyOptions(opts...)
   178  	return out, req.Send()
   179  }
   180  
   181  const opGetSuiteDefinition = "GetSuiteDefinition"
   182  
   183  // GetSuiteDefinitionRequest generates a "aws/request.Request" representing the
   184  // client's request for the GetSuiteDefinition operation. The "output" return
   185  // value will be populated with the request's response once the request completes
   186  // successfully.
   187  //
   188  // Use "Send" method on the returned Request to send the API call to the service.
   189  // the "output" return value is not valid until after Send returns without error.
   190  //
   191  // See GetSuiteDefinition for more information on using the GetSuiteDefinition
   192  // API call, and error handling.
   193  //
   194  // This method is useful when you want to inject custom logic or configuration
   195  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   196  //
   197  //
   198  //    // Example sending a request using the GetSuiteDefinitionRequest method.
   199  //    req, resp := client.GetSuiteDefinitionRequest(params)
   200  //
   201  //    err := req.Send()
   202  //    if err == nil { // resp is now filled
   203  //        fmt.Println(resp)
   204  //    }
   205  //
   206  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteDefinition
   207  func (c *IoTDeviceAdvisor) GetSuiteDefinitionRequest(input *GetSuiteDefinitionInput) (req *request.Request, output *GetSuiteDefinitionOutput) {
   208  	op := &request.Operation{
   209  		Name:       opGetSuiteDefinition,
   210  		HTTPMethod: "GET",
   211  		HTTPPath:   "/suiteDefinitions/{suiteDefinitionId}",
   212  	}
   213  
   214  	if input == nil {
   215  		input = &GetSuiteDefinitionInput{}
   216  	}
   217  
   218  	output = &GetSuiteDefinitionOutput{}
   219  	req = c.newRequest(op, input, output)
   220  	return
   221  }
   222  
   223  // GetSuiteDefinition API operation for AWS IoT Core Device Advisor.
   224  //
   225  // Gets information about a Device Advisor test suite.
   226  //
   227  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   228  // with awserr.Error's Code and Message methods to get detailed information about
   229  // the error.
   230  //
   231  // See the AWS API reference guide for AWS IoT Core Device Advisor's
   232  // API operation GetSuiteDefinition for usage and error information.
   233  //
   234  // Returned Error Types:
   235  //   * ValidationException
   236  //   Sends invalid request exception.
   237  //
   238  //   * InternalServerException
   239  //   Sends Internal Failure Exception.
   240  //
   241  //   * ResourceNotFoundException
   242  //   Sends Resource Not Found Exception.
   243  //
   244  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteDefinition
   245  func (c *IoTDeviceAdvisor) GetSuiteDefinition(input *GetSuiteDefinitionInput) (*GetSuiteDefinitionOutput, error) {
   246  	req, out := c.GetSuiteDefinitionRequest(input)
   247  	return out, req.Send()
   248  }
   249  
   250  // GetSuiteDefinitionWithContext is the same as GetSuiteDefinition with the addition of
   251  // the ability to pass a context and additional request options.
   252  //
   253  // See GetSuiteDefinition for details on how to use this API operation.
   254  //
   255  // The context must be non-nil and will be used for request cancellation. If
   256  // the context is nil a panic will occur. In the future the SDK may create
   257  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   258  // for more information on using Contexts.
   259  func (c *IoTDeviceAdvisor) GetSuiteDefinitionWithContext(ctx aws.Context, input *GetSuiteDefinitionInput, opts ...request.Option) (*GetSuiteDefinitionOutput, error) {
   260  	req, out := c.GetSuiteDefinitionRequest(input)
   261  	req.SetContext(ctx)
   262  	req.ApplyOptions(opts...)
   263  	return out, req.Send()
   264  }
   265  
   266  const opGetSuiteRun = "GetSuiteRun"
   267  
   268  // GetSuiteRunRequest generates a "aws/request.Request" representing the
   269  // client's request for the GetSuiteRun operation. The "output" return
   270  // value will be populated with the request's response once the request completes
   271  // successfully.
   272  //
   273  // Use "Send" method on the returned Request to send the API call to the service.
   274  // the "output" return value is not valid until after Send returns without error.
   275  //
   276  // See GetSuiteRun for more information on using the GetSuiteRun
   277  // API call, and error handling.
   278  //
   279  // This method is useful when you want to inject custom logic or configuration
   280  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   281  //
   282  //
   283  //    // Example sending a request using the GetSuiteRunRequest method.
   284  //    req, resp := client.GetSuiteRunRequest(params)
   285  //
   286  //    err := req.Send()
   287  //    if err == nil { // resp is now filled
   288  //        fmt.Println(resp)
   289  //    }
   290  //
   291  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteRun
   292  func (c *IoTDeviceAdvisor) GetSuiteRunRequest(input *GetSuiteRunInput) (req *request.Request, output *GetSuiteRunOutput) {
   293  	op := &request.Operation{
   294  		Name:       opGetSuiteRun,
   295  		HTTPMethod: "GET",
   296  		HTTPPath:   "/suiteDefinitions/{suiteDefinitionId}/suiteRuns/{suiteRunId}",
   297  	}
   298  
   299  	if input == nil {
   300  		input = &GetSuiteRunInput{}
   301  	}
   302  
   303  	output = &GetSuiteRunOutput{}
   304  	req = c.newRequest(op, input, output)
   305  	return
   306  }
   307  
   308  // GetSuiteRun API operation for AWS IoT Core Device Advisor.
   309  //
   310  // Gets information about a Device Advisor test suite run.
   311  //
   312  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   313  // with awserr.Error's Code and Message methods to get detailed information about
   314  // the error.
   315  //
   316  // See the AWS API reference guide for AWS IoT Core Device Advisor's
   317  // API operation GetSuiteRun for usage and error information.
   318  //
   319  // Returned Error Types:
   320  //   * ValidationException
   321  //   Sends invalid request exception.
   322  //
   323  //   * InternalServerException
   324  //   Sends Internal Failure Exception.
   325  //
   326  //   * ResourceNotFoundException
   327  //   Sends Resource Not Found Exception.
   328  //
   329  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteRun
   330  func (c *IoTDeviceAdvisor) GetSuiteRun(input *GetSuiteRunInput) (*GetSuiteRunOutput, error) {
   331  	req, out := c.GetSuiteRunRequest(input)
   332  	return out, req.Send()
   333  }
   334  
   335  // GetSuiteRunWithContext is the same as GetSuiteRun with the addition of
   336  // the ability to pass a context and additional request options.
   337  //
   338  // See GetSuiteRun for details on how to use this API operation.
   339  //
   340  // The context must be non-nil and will be used for request cancellation. If
   341  // the context is nil a panic will occur. In the future the SDK may create
   342  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   343  // for more information on using Contexts.
   344  func (c *IoTDeviceAdvisor) GetSuiteRunWithContext(ctx aws.Context, input *GetSuiteRunInput, opts ...request.Option) (*GetSuiteRunOutput, error) {
   345  	req, out := c.GetSuiteRunRequest(input)
   346  	req.SetContext(ctx)
   347  	req.ApplyOptions(opts...)
   348  	return out, req.Send()
   349  }
   350  
   351  const opGetSuiteRunReport = "GetSuiteRunReport"
   352  
   353  // GetSuiteRunReportRequest generates a "aws/request.Request" representing the
   354  // client's request for the GetSuiteRunReport operation. The "output" return
   355  // value will be populated with the request's response once the request completes
   356  // successfully.
   357  //
   358  // Use "Send" method on the returned Request to send the API call to the service.
   359  // the "output" return value is not valid until after Send returns without error.
   360  //
   361  // See GetSuiteRunReport for more information on using the GetSuiteRunReport
   362  // API call, and error handling.
   363  //
   364  // This method is useful when you want to inject custom logic or configuration
   365  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   366  //
   367  //
   368  //    // Example sending a request using the GetSuiteRunReportRequest method.
   369  //    req, resp := client.GetSuiteRunReportRequest(params)
   370  //
   371  //    err := req.Send()
   372  //    if err == nil { // resp is now filled
   373  //        fmt.Println(resp)
   374  //    }
   375  //
   376  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteRunReport
   377  func (c *IoTDeviceAdvisor) GetSuiteRunReportRequest(input *GetSuiteRunReportInput) (req *request.Request, output *GetSuiteRunReportOutput) {
   378  	op := &request.Operation{
   379  		Name:       opGetSuiteRunReport,
   380  		HTTPMethod: "GET",
   381  		HTTPPath:   "/suiteDefinitions/{suiteDefinitionId}/suiteRuns/{suiteRunId}/report",
   382  	}
   383  
   384  	if input == nil {
   385  		input = &GetSuiteRunReportInput{}
   386  	}
   387  
   388  	output = &GetSuiteRunReportOutput{}
   389  	req = c.newRequest(op, input, output)
   390  	return
   391  }
   392  
   393  // GetSuiteRunReport API operation for AWS IoT Core Device Advisor.
   394  //
   395  // Gets a report download link for a successful Device Advisor qualifying test
   396  // suite run.
   397  //
   398  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   399  // with awserr.Error's Code and Message methods to get detailed information about
   400  // the error.
   401  //
   402  // See the AWS API reference guide for AWS IoT Core Device Advisor's
   403  // API operation GetSuiteRunReport for usage and error information.
   404  //
   405  // Returned Error Types:
   406  //   * ValidationException
   407  //   Sends invalid request exception.
   408  //
   409  //   * InternalServerException
   410  //   Sends Internal Failure Exception.
   411  //
   412  //   * ResourceNotFoundException
   413  //   Sends Resource Not Found Exception.
   414  //
   415  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/GetSuiteRunReport
   416  func (c *IoTDeviceAdvisor) GetSuiteRunReport(input *GetSuiteRunReportInput) (*GetSuiteRunReportOutput, error) {
   417  	req, out := c.GetSuiteRunReportRequest(input)
   418  	return out, req.Send()
   419  }
   420  
   421  // GetSuiteRunReportWithContext is the same as GetSuiteRunReport with the addition of
   422  // the ability to pass a context and additional request options.
   423  //
   424  // See GetSuiteRunReport for details on how to use this API operation.
   425  //
   426  // The context must be non-nil and will be used for request cancellation. If
   427  // the context is nil a panic will occur. In the future the SDK may create
   428  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   429  // for more information on using Contexts.
   430  func (c *IoTDeviceAdvisor) GetSuiteRunReportWithContext(ctx aws.Context, input *GetSuiteRunReportInput, opts ...request.Option) (*GetSuiteRunReportOutput, error) {
   431  	req, out := c.GetSuiteRunReportRequest(input)
   432  	req.SetContext(ctx)
   433  	req.ApplyOptions(opts...)
   434  	return out, req.Send()
   435  }
   436  
   437  const opListSuiteDefinitions = "ListSuiteDefinitions"
   438  
   439  // ListSuiteDefinitionsRequest generates a "aws/request.Request" representing the
   440  // client's request for the ListSuiteDefinitions operation. The "output" return
   441  // value will be populated with the request's response once the request completes
   442  // successfully.
   443  //
   444  // Use "Send" method on the returned Request to send the API call to the service.
   445  // the "output" return value is not valid until after Send returns without error.
   446  //
   447  // See ListSuiteDefinitions for more information on using the ListSuiteDefinitions
   448  // API call, and error handling.
   449  //
   450  // This method is useful when you want to inject custom logic or configuration
   451  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   452  //
   453  //
   454  //    // Example sending a request using the ListSuiteDefinitionsRequest method.
   455  //    req, resp := client.ListSuiteDefinitionsRequest(params)
   456  //
   457  //    err := req.Send()
   458  //    if err == nil { // resp is now filled
   459  //        fmt.Println(resp)
   460  //    }
   461  //
   462  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListSuiteDefinitions
   463  func (c *IoTDeviceAdvisor) ListSuiteDefinitionsRequest(input *ListSuiteDefinitionsInput) (req *request.Request, output *ListSuiteDefinitionsOutput) {
   464  	op := &request.Operation{
   465  		Name:       opListSuiteDefinitions,
   466  		HTTPMethod: "GET",
   467  		HTTPPath:   "/suiteDefinitions",
   468  		Paginator: &request.Paginator{
   469  			InputTokens:     []string{"nextToken"},
   470  			OutputTokens:    []string{"nextToken"},
   471  			LimitToken:      "maxResults",
   472  			TruncationToken: "",
   473  		},
   474  	}
   475  
   476  	if input == nil {
   477  		input = &ListSuiteDefinitionsInput{}
   478  	}
   479  
   480  	output = &ListSuiteDefinitionsOutput{}
   481  	req = c.newRequest(op, input, output)
   482  	return
   483  }
   484  
   485  // ListSuiteDefinitions API operation for AWS IoT Core Device Advisor.
   486  //
   487  // Lists the Device Advisor test suites you have created.
   488  //
   489  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   490  // with awserr.Error's Code and Message methods to get detailed information about
   491  // the error.
   492  //
   493  // See the AWS API reference guide for AWS IoT Core Device Advisor's
   494  // API operation ListSuiteDefinitions for usage and error information.
   495  //
   496  // Returned Error Types:
   497  //   * ValidationException
   498  //   Sends invalid request exception.
   499  //
   500  //   * InternalServerException
   501  //   Sends Internal Failure Exception.
   502  //
   503  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListSuiteDefinitions
   504  func (c *IoTDeviceAdvisor) ListSuiteDefinitions(input *ListSuiteDefinitionsInput) (*ListSuiteDefinitionsOutput, error) {
   505  	req, out := c.ListSuiteDefinitionsRequest(input)
   506  	return out, req.Send()
   507  }
   508  
   509  // ListSuiteDefinitionsWithContext is the same as ListSuiteDefinitions with the addition of
   510  // the ability to pass a context and additional request options.
   511  //
   512  // See ListSuiteDefinitions for details on how to use this API operation.
   513  //
   514  // The context must be non-nil and will be used for request cancellation. If
   515  // the context is nil a panic will occur. In the future the SDK may create
   516  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   517  // for more information on using Contexts.
   518  func (c *IoTDeviceAdvisor) ListSuiteDefinitionsWithContext(ctx aws.Context, input *ListSuiteDefinitionsInput, opts ...request.Option) (*ListSuiteDefinitionsOutput, error) {
   519  	req, out := c.ListSuiteDefinitionsRequest(input)
   520  	req.SetContext(ctx)
   521  	req.ApplyOptions(opts...)
   522  	return out, req.Send()
   523  }
   524  
   525  // ListSuiteDefinitionsPages iterates over the pages of a ListSuiteDefinitions operation,
   526  // calling the "fn" function with the response data for each page. To stop
   527  // iterating, return false from the fn function.
   528  //
   529  // See ListSuiteDefinitions method for more information on how to use this operation.
   530  //
   531  // Note: This operation can generate multiple requests to a service.
   532  //
   533  //    // Example iterating over at most 3 pages of a ListSuiteDefinitions operation.
   534  //    pageNum := 0
   535  //    err := client.ListSuiteDefinitionsPages(params,
   536  //        func(page *iotdeviceadvisor.ListSuiteDefinitionsOutput, lastPage bool) bool {
   537  //            pageNum++
   538  //            fmt.Println(page)
   539  //            return pageNum <= 3
   540  //        })
   541  //
   542  func (c *IoTDeviceAdvisor) ListSuiteDefinitionsPages(input *ListSuiteDefinitionsInput, fn func(*ListSuiteDefinitionsOutput, bool) bool) error {
   543  	return c.ListSuiteDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn)
   544  }
   545  
   546  // ListSuiteDefinitionsPagesWithContext same as ListSuiteDefinitionsPages except
   547  // it takes a Context and allows setting request options on the pages.
   548  //
   549  // The context must be non-nil and will be used for request cancellation. If
   550  // the context is nil a panic will occur. In the future the SDK may create
   551  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   552  // for more information on using Contexts.
   553  func (c *IoTDeviceAdvisor) ListSuiteDefinitionsPagesWithContext(ctx aws.Context, input *ListSuiteDefinitionsInput, fn func(*ListSuiteDefinitionsOutput, bool) bool, opts ...request.Option) error {
   554  	p := request.Pagination{
   555  		NewRequest: func() (*request.Request, error) {
   556  			var inCpy *ListSuiteDefinitionsInput
   557  			if input != nil {
   558  				tmp := *input
   559  				inCpy = &tmp
   560  			}
   561  			req, _ := c.ListSuiteDefinitionsRequest(inCpy)
   562  			req.SetContext(ctx)
   563  			req.ApplyOptions(opts...)
   564  			return req, nil
   565  		},
   566  	}
   567  
   568  	for p.Next() {
   569  		if !fn(p.Page().(*ListSuiteDefinitionsOutput), !p.HasNextPage()) {
   570  			break
   571  		}
   572  	}
   573  
   574  	return p.Err()
   575  }
   576  
   577  const opListSuiteRuns = "ListSuiteRuns"
   578  
   579  // ListSuiteRunsRequest generates a "aws/request.Request" representing the
   580  // client's request for the ListSuiteRuns operation. The "output" return
   581  // value will be populated with the request's response once the request completes
   582  // successfully.
   583  //
   584  // Use "Send" method on the returned Request to send the API call to the service.
   585  // the "output" return value is not valid until after Send returns without error.
   586  //
   587  // See ListSuiteRuns for more information on using the ListSuiteRuns
   588  // API call, and error handling.
   589  //
   590  // This method is useful when you want to inject custom logic or configuration
   591  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   592  //
   593  //
   594  //    // Example sending a request using the ListSuiteRunsRequest method.
   595  //    req, resp := client.ListSuiteRunsRequest(params)
   596  //
   597  //    err := req.Send()
   598  //    if err == nil { // resp is now filled
   599  //        fmt.Println(resp)
   600  //    }
   601  //
   602  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListSuiteRuns
   603  func (c *IoTDeviceAdvisor) ListSuiteRunsRequest(input *ListSuiteRunsInput) (req *request.Request, output *ListSuiteRunsOutput) {
   604  	op := &request.Operation{
   605  		Name:       opListSuiteRuns,
   606  		HTTPMethod: "GET",
   607  		HTTPPath:   "/suiteRuns",
   608  		Paginator: &request.Paginator{
   609  			InputTokens:     []string{"nextToken"},
   610  			OutputTokens:    []string{"nextToken"},
   611  			LimitToken:      "maxResults",
   612  			TruncationToken: "",
   613  		},
   614  	}
   615  
   616  	if input == nil {
   617  		input = &ListSuiteRunsInput{}
   618  	}
   619  
   620  	output = &ListSuiteRunsOutput{}
   621  	req = c.newRequest(op, input, output)
   622  	return
   623  }
   624  
   625  // ListSuiteRuns API operation for AWS IoT Core Device Advisor.
   626  //
   627  // Lists the runs of the specified Device Advisor test suite. You can list all
   628  // runs of the test suite, or the runs of a specific version of the test suite.
   629  //
   630  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   631  // with awserr.Error's Code and Message methods to get detailed information about
   632  // the error.
   633  //
   634  // See the AWS API reference guide for AWS IoT Core Device Advisor's
   635  // API operation ListSuiteRuns for usage and error information.
   636  //
   637  // Returned Error Types:
   638  //   * ValidationException
   639  //   Sends invalid request exception.
   640  //
   641  //   * InternalServerException
   642  //   Sends Internal Failure Exception.
   643  //
   644  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListSuiteRuns
   645  func (c *IoTDeviceAdvisor) ListSuiteRuns(input *ListSuiteRunsInput) (*ListSuiteRunsOutput, error) {
   646  	req, out := c.ListSuiteRunsRequest(input)
   647  	return out, req.Send()
   648  }
   649  
   650  // ListSuiteRunsWithContext is the same as ListSuiteRuns with the addition of
   651  // the ability to pass a context and additional request options.
   652  //
   653  // See ListSuiteRuns for details on how to use this API operation.
   654  //
   655  // The context must be non-nil and will be used for request cancellation. If
   656  // the context is nil a panic will occur. In the future the SDK may create
   657  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   658  // for more information on using Contexts.
   659  func (c *IoTDeviceAdvisor) ListSuiteRunsWithContext(ctx aws.Context, input *ListSuiteRunsInput, opts ...request.Option) (*ListSuiteRunsOutput, error) {
   660  	req, out := c.ListSuiteRunsRequest(input)
   661  	req.SetContext(ctx)
   662  	req.ApplyOptions(opts...)
   663  	return out, req.Send()
   664  }
   665  
   666  // ListSuiteRunsPages iterates over the pages of a ListSuiteRuns operation,
   667  // calling the "fn" function with the response data for each page. To stop
   668  // iterating, return false from the fn function.
   669  //
   670  // See ListSuiteRuns method for more information on how to use this operation.
   671  //
   672  // Note: This operation can generate multiple requests to a service.
   673  //
   674  //    // Example iterating over at most 3 pages of a ListSuiteRuns operation.
   675  //    pageNum := 0
   676  //    err := client.ListSuiteRunsPages(params,
   677  //        func(page *iotdeviceadvisor.ListSuiteRunsOutput, lastPage bool) bool {
   678  //            pageNum++
   679  //            fmt.Println(page)
   680  //            return pageNum <= 3
   681  //        })
   682  //
   683  func (c *IoTDeviceAdvisor) ListSuiteRunsPages(input *ListSuiteRunsInput, fn func(*ListSuiteRunsOutput, bool) bool) error {
   684  	return c.ListSuiteRunsPagesWithContext(aws.BackgroundContext(), input, fn)
   685  }
   686  
   687  // ListSuiteRunsPagesWithContext same as ListSuiteRunsPages except
   688  // it takes a Context and allows setting request options on the pages.
   689  //
   690  // The context must be non-nil and will be used for request cancellation. If
   691  // the context is nil a panic will occur. In the future the SDK may create
   692  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   693  // for more information on using Contexts.
   694  func (c *IoTDeviceAdvisor) ListSuiteRunsPagesWithContext(ctx aws.Context, input *ListSuiteRunsInput, fn func(*ListSuiteRunsOutput, bool) bool, opts ...request.Option) error {
   695  	p := request.Pagination{
   696  		NewRequest: func() (*request.Request, error) {
   697  			var inCpy *ListSuiteRunsInput
   698  			if input != nil {
   699  				tmp := *input
   700  				inCpy = &tmp
   701  			}
   702  			req, _ := c.ListSuiteRunsRequest(inCpy)
   703  			req.SetContext(ctx)
   704  			req.ApplyOptions(opts...)
   705  			return req, nil
   706  		},
   707  	}
   708  
   709  	for p.Next() {
   710  		if !fn(p.Page().(*ListSuiteRunsOutput), !p.HasNextPage()) {
   711  			break
   712  		}
   713  	}
   714  
   715  	return p.Err()
   716  }
   717  
   718  const opListTagsForResource = "ListTagsForResource"
   719  
   720  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
   721  // client's request for the ListTagsForResource operation. The "output" return
   722  // value will be populated with the request's response once the request completes
   723  // successfully.
   724  //
   725  // Use "Send" method on the returned Request to send the API call to the service.
   726  // the "output" return value is not valid until after Send returns without error.
   727  //
   728  // See ListTagsForResource for more information on using the ListTagsForResource
   729  // API call, and error handling.
   730  //
   731  // This method is useful when you want to inject custom logic or configuration
   732  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   733  //
   734  //
   735  //    // Example sending a request using the ListTagsForResourceRequest method.
   736  //    req, resp := client.ListTagsForResourceRequest(params)
   737  //
   738  //    err := req.Send()
   739  //    if err == nil { // resp is now filled
   740  //        fmt.Println(resp)
   741  //    }
   742  //
   743  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListTagsForResource
   744  func (c *IoTDeviceAdvisor) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
   745  	op := &request.Operation{
   746  		Name:       opListTagsForResource,
   747  		HTTPMethod: "GET",
   748  		HTTPPath:   "/tags/{resourceArn}",
   749  	}
   750  
   751  	if input == nil {
   752  		input = &ListTagsForResourceInput{}
   753  	}
   754  
   755  	output = &ListTagsForResourceOutput{}
   756  	req = c.newRequest(op, input, output)
   757  	return
   758  }
   759  
   760  // ListTagsForResource API operation for AWS IoT Core Device Advisor.
   761  //
   762  // Lists the tags attached to an IoT Device Advisor resource.
   763  //
   764  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   765  // with awserr.Error's Code and Message methods to get detailed information about
   766  // the error.
   767  //
   768  // See the AWS API reference guide for AWS IoT Core Device Advisor's
   769  // API operation ListTagsForResource for usage and error information.
   770  //
   771  // Returned Error Types:
   772  //   * InternalServerException
   773  //   Sends Internal Failure Exception.
   774  //
   775  //   * ValidationException
   776  //   Sends invalid request exception.
   777  //
   778  //   * ResourceNotFoundException
   779  //   Sends Resource Not Found Exception.
   780  //
   781  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/ListTagsForResource
   782  func (c *IoTDeviceAdvisor) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
   783  	req, out := c.ListTagsForResourceRequest(input)
   784  	return out, req.Send()
   785  }
   786  
   787  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
   788  // the ability to pass a context and additional request options.
   789  //
   790  // See ListTagsForResource for details on how to use this API operation.
   791  //
   792  // The context must be non-nil and will be used for request cancellation. If
   793  // the context is nil a panic will occur. In the future the SDK may create
   794  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   795  // for more information on using Contexts.
   796  func (c *IoTDeviceAdvisor) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
   797  	req, out := c.ListTagsForResourceRequest(input)
   798  	req.SetContext(ctx)
   799  	req.ApplyOptions(opts...)
   800  	return out, req.Send()
   801  }
   802  
   803  const opStartSuiteRun = "StartSuiteRun"
   804  
   805  // StartSuiteRunRequest generates a "aws/request.Request" representing the
   806  // client's request for the StartSuiteRun operation. The "output" return
   807  // value will be populated with the request's response once the request completes
   808  // successfully.
   809  //
   810  // Use "Send" method on the returned Request to send the API call to the service.
   811  // the "output" return value is not valid until after Send returns without error.
   812  //
   813  // See StartSuiteRun for more information on using the StartSuiteRun
   814  // API call, and error handling.
   815  //
   816  // This method is useful when you want to inject custom logic or configuration
   817  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   818  //
   819  //
   820  //    // Example sending a request using the StartSuiteRunRequest method.
   821  //    req, resp := client.StartSuiteRunRequest(params)
   822  //
   823  //    err := req.Send()
   824  //    if err == nil { // resp is now filled
   825  //        fmt.Println(resp)
   826  //    }
   827  //
   828  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/StartSuiteRun
   829  func (c *IoTDeviceAdvisor) StartSuiteRunRequest(input *StartSuiteRunInput) (req *request.Request, output *StartSuiteRunOutput) {
   830  	op := &request.Operation{
   831  		Name:       opStartSuiteRun,
   832  		HTTPMethod: "POST",
   833  		HTTPPath:   "/suiteDefinitions/{suiteDefinitionId}/suiteRuns",
   834  	}
   835  
   836  	if input == nil {
   837  		input = &StartSuiteRunInput{}
   838  	}
   839  
   840  	output = &StartSuiteRunOutput{}
   841  	req = c.newRequest(op, input, output)
   842  	return
   843  }
   844  
   845  // StartSuiteRun API operation for AWS IoT Core Device Advisor.
   846  //
   847  // Starts a Device Advisor test suite run.
   848  //
   849  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   850  // with awserr.Error's Code and Message methods to get detailed information about
   851  // the error.
   852  //
   853  // See the AWS API reference guide for AWS IoT Core Device Advisor's
   854  // API operation StartSuiteRun for usage and error information.
   855  //
   856  // Returned Error Types:
   857  //   * ValidationException
   858  //   Sends invalid request exception.
   859  //
   860  //   * InternalServerException
   861  //   Sends Internal Failure Exception.
   862  //
   863  //   * ConflictException
   864  //   Sends Conflict Exception.
   865  //
   866  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/StartSuiteRun
   867  func (c *IoTDeviceAdvisor) StartSuiteRun(input *StartSuiteRunInput) (*StartSuiteRunOutput, error) {
   868  	req, out := c.StartSuiteRunRequest(input)
   869  	return out, req.Send()
   870  }
   871  
   872  // StartSuiteRunWithContext is the same as StartSuiteRun with the addition of
   873  // the ability to pass a context and additional request options.
   874  //
   875  // See StartSuiteRun for details on how to use this API operation.
   876  //
   877  // The context must be non-nil and will be used for request cancellation. If
   878  // the context is nil a panic will occur. In the future the SDK may create
   879  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   880  // for more information on using Contexts.
   881  func (c *IoTDeviceAdvisor) StartSuiteRunWithContext(ctx aws.Context, input *StartSuiteRunInput, opts ...request.Option) (*StartSuiteRunOutput, error) {
   882  	req, out := c.StartSuiteRunRequest(input)
   883  	req.SetContext(ctx)
   884  	req.ApplyOptions(opts...)
   885  	return out, req.Send()
   886  }
   887  
   888  const opStopSuiteRun = "StopSuiteRun"
   889  
   890  // StopSuiteRunRequest generates a "aws/request.Request" representing the
   891  // client's request for the StopSuiteRun operation. The "output" return
   892  // value will be populated with the request's response once the request completes
   893  // successfully.
   894  //
   895  // Use "Send" method on the returned Request to send the API call to the service.
   896  // the "output" return value is not valid until after Send returns without error.
   897  //
   898  // See StopSuiteRun for more information on using the StopSuiteRun
   899  // API call, and error handling.
   900  //
   901  // This method is useful when you want to inject custom logic or configuration
   902  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   903  //
   904  //
   905  //    // Example sending a request using the StopSuiteRunRequest method.
   906  //    req, resp := client.StopSuiteRunRequest(params)
   907  //
   908  //    err := req.Send()
   909  //    if err == nil { // resp is now filled
   910  //        fmt.Println(resp)
   911  //    }
   912  //
   913  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/StopSuiteRun
   914  func (c *IoTDeviceAdvisor) StopSuiteRunRequest(input *StopSuiteRunInput) (req *request.Request, output *StopSuiteRunOutput) {
   915  	op := &request.Operation{
   916  		Name:       opStopSuiteRun,
   917  		HTTPMethod: "POST",
   918  		HTTPPath:   "/suiteDefinitions/{suiteDefinitionId}/suiteRuns/{suiteRunId}/stop",
   919  	}
   920  
   921  	if input == nil {
   922  		input = &StopSuiteRunInput{}
   923  	}
   924  
   925  	output = &StopSuiteRunOutput{}
   926  	req = c.newRequest(op, input, output)
   927  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   928  	return
   929  }
   930  
   931  // StopSuiteRun API operation for AWS IoT Core Device Advisor.
   932  //
   933  // Stops a Device Advisor test suite run that is currently running.
   934  //
   935  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   936  // with awserr.Error's Code and Message methods to get detailed information about
   937  // the error.
   938  //
   939  // See the AWS API reference guide for AWS IoT Core Device Advisor's
   940  // API operation StopSuiteRun for usage and error information.
   941  //
   942  // Returned Error Types:
   943  //   * ValidationException
   944  //   Sends invalid request exception.
   945  //
   946  //   * ResourceNotFoundException
   947  //   Sends Resource Not Found Exception.
   948  //
   949  //   * InternalServerException
   950  //   Sends Internal Failure Exception.
   951  //
   952  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/StopSuiteRun
   953  func (c *IoTDeviceAdvisor) StopSuiteRun(input *StopSuiteRunInput) (*StopSuiteRunOutput, error) {
   954  	req, out := c.StopSuiteRunRequest(input)
   955  	return out, req.Send()
   956  }
   957  
   958  // StopSuiteRunWithContext is the same as StopSuiteRun with the addition of
   959  // the ability to pass a context and additional request options.
   960  //
   961  // See StopSuiteRun for details on how to use this API operation.
   962  //
   963  // The context must be non-nil and will be used for request cancellation. If
   964  // the context is nil a panic will occur. In the future the SDK may create
   965  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   966  // for more information on using Contexts.
   967  func (c *IoTDeviceAdvisor) StopSuiteRunWithContext(ctx aws.Context, input *StopSuiteRunInput, opts ...request.Option) (*StopSuiteRunOutput, error) {
   968  	req, out := c.StopSuiteRunRequest(input)
   969  	req.SetContext(ctx)
   970  	req.ApplyOptions(opts...)
   971  	return out, req.Send()
   972  }
   973  
   974  const opTagResource = "TagResource"
   975  
   976  // TagResourceRequest generates a "aws/request.Request" representing the
   977  // client's request for the TagResource operation. The "output" return
   978  // value will be populated with the request's response once the request completes
   979  // successfully.
   980  //
   981  // Use "Send" method on the returned Request to send the API call to the service.
   982  // the "output" return value is not valid until after Send returns without error.
   983  //
   984  // See TagResource for more information on using the TagResource
   985  // API call, and error handling.
   986  //
   987  // This method is useful when you want to inject custom logic or configuration
   988  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   989  //
   990  //
   991  //    // Example sending a request using the TagResourceRequest method.
   992  //    req, resp := client.TagResourceRequest(params)
   993  //
   994  //    err := req.Send()
   995  //    if err == nil { // resp is now filled
   996  //        fmt.Println(resp)
   997  //    }
   998  //
   999  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/TagResource
  1000  func (c *IoTDeviceAdvisor) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  1001  	op := &request.Operation{
  1002  		Name:       opTagResource,
  1003  		HTTPMethod: "POST",
  1004  		HTTPPath:   "/tags/{resourceArn}",
  1005  	}
  1006  
  1007  	if input == nil {
  1008  		input = &TagResourceInput{}
  1009  	}
  1010  
  1011  	output = &TagResourceOutput{}
  1012  	req = c.newRequest(op, input, output)
  1013  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1014  	return
  1015  }
  1016  
  1017  // TagResource API operation for AWS IoT Core Device Advisor.
  1018  //
  1019  // Adds to and modifies existing tags of an IoT Device Advisor resource.
  1020  //
  1021  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1022  // with awserr.Error's Code and Message methods to get detailed information about
  1023  // the error.
  1024  //
  1025  // See the AWS API reference guide for AWS IoT Core Device Advisor's
  1026  // API operation TagResource for usage and error information.
  1027  //
  1028  // Returned Error Types:
  1029  //   * InternalServerException
  1030  //   Sends Internal Failure Exception.
  1031  //
  1032  //   * ValidationException
  1033  //   Sends invalid request exception.
  1034  //
  1035  //   * ResourceNotFoundException
  1036  //   Sends Resource Not Found Exception.
  1037  //
  1038  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/TagResource
  1039  func (c *IoTDeviceAdvisor) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  1040  	req, out := c.TagResourceRequest(input)
  1041  	return out, req.Send()
  1042  }
  1043  
  1044  // TagResourceWithContext is the same as TagResource with the addition of
  1045  // the ability to pass a context and additional request options.
  1046  //
  1047  // See TagResource for details on how to use this API operation.
  1048  //
  1049  // The context must be non-nil and will be used for request cancellation. If
  1050  // the context is nil a panic will occur. In the future the SDK may create
  1051  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1052  // for more information on using Contexts.
  1053  func (c *IoTDeviceAdvisor) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  1054  	req, out := c.TagResourceRequest(input)
  1055  	req.SetContext(ctx)
  1056  	req.ApplyOptions(opts...)
  1057  	return out, req.Send()
  1058  }
  1059  
  1060  const opUntagResource = "UntagResource"
  1061  
  1062  // UntagResourceRequest generates a "aws/request.Request" representing the
  1063  // client's request for the UntagResource operation. The "output" return
  1064  // value will be populated with the request's response once the request completes
  1065  // successfully.
  1066  //
  1067  // Use "Send" method on the returned Request to send the API call to the service.
  1068  // the "output" return value is not valid until after Send returns without error.
  1069  //
  1070  // See UntagResource for more information on using the UntagResource
  1071  // API call, and error handling.
  1072  //
  1073  // This method is useful when you want to inject custom logic or configuration
  1074  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1075  //
  1076  //
  1077  //    // Example sending a request using the UntagResourceRequest method.
  1078  //    req, resp := client.UntagResourceRequest(params)
  1079  //
  1080  //    err := req.Send()
  1081  //    if err == nil { // resp is now filled
  1082  //        fmt.Println(resp)
  1083  //    }
  1084  //
  1085  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/UntagResource
  1086  func (c *IoTDeviceAdvisor) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  1087  	op := &request.Operation{
  1088  		Name:       opUntagResource,
  1089  		HTTPMethod: "DELETE",
  1090  		HTTPPath:   "/tags/{resourceArn}",
  1091  	}
  1092  
  1093  	if input == nil {
  1094  		input = &UntagResourceInput{}
  1095  	}
  1096  
  1097  	output = &UntagResourceOutput{}
  1098  	req = c.newRequest(op, input, output)
  1099  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1100  	return
  1101  }
  1102  
  1103  // UntagResource API operation for AWS IoT Core Device Advisor.
  1104  //
  1105  // Removes tags from an IoT Device Advisor resource.
  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 IoT Core Device Advisor's
  1112  // API operation UntagResource for usage and error information.
  1113  //
  1114  // Returned Error Types:
  1115  //   * InternalServerException
  1116  //   Sends Internal Failure Exception.
  1117  //
  1118  //   * ValidationException
  1119  //   Sends invalid request exception.
  1120  //
  1121  //   * ResourceNotFoundException
  1122  //   Sends Resource Not Found Exception.
  1123  //
  1124  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/UntagResource
  1125  func (c *IoTDeviceAdvisor) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  1126  	req, out := c.UntagResourceRequest(input)
  1127  	return out, req.Send()
  1128  }
  1129  
  1130  // UntagResourceWithContext is the same as UntagResource with the addition of
  1131  // the ability to pass a context and additional request options.
  1132  //
  1133  // See UntagResource for details on how to use this API operation.
  1134  //
  1135  // The context must be non-nil and will be used for request cancellation. If
  1136  // the context is nil a panic will occur. In the future the SDK may create
  1137  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1138  // for more information on using Contexts.
  1139  func (c *IoTDeviceAdvisor) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  1140  	req, out := c.UntagResourceRequest(input)
  1141  	req.SetContext(ctx)
  1142  	req.ApplyOptions(opts...)
  1143  	return out, req.Send()
  1144  }
  1145  
  1146  const opUpdateSuiteDefinition = "UpdateSuiteDefinition"
  1147  
  1148  // UpdateSuiteDefinitionRequest generates a "aws/request.Request" representing the
  1149  // client's request for the UpdateSuiteDefinition operation. The "output" return
  1150  // value will be populated with the request's response once the request completes
  1151  // successfully.
  1152  //
  1153  // Use "Send" method on the returned Request to send the API call to the service.
  1154  // the "output" return value is not valid until after Send returns without error.
  1155  //
  1156  // See UpdateSuiteDefinition for more information on using the UpdateSuiteDefinition
  1157  // API call, and error handling.
  1158  //
  1159  // This method is useful when you want to inject custom logic or configuration
  1160  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1161  //
  1162  //
  1163  //    // Example sending a request using the UpdateSuiteDefinitionRequest method.
  1164  //    req, resp := client.UpdateSuiteDefinitionRequest(params)
  1165  //
  1166  //    err := req.Send()
  1167  //    if err == nil { // resp is now filled
  1168  //        fmt.Println(resp)
  1169  //    }
  1170  //
  1171  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/UpdateSuiteDefinition
  1172  func (c *IoTDeviceAdvisor) UpdateSuiteDefinitionRequest(input *UpdateSuiteDefinitionInput) (req *request.Request, output *UpdateSuiteDefinitionOutput) {
  1173  	op := &request.Operation{
  1174  		Name:       opUpdateSuiteDefinition,
  1175  		HTTPMethod: "PATCH",
  1176  		HTTPPath:   "/suiteDefinitions/{suiteDefinitionId}",
  1177  	}
  1178  
  1179  	if input == nil {
  1180  		input = &UpdateSuiteDefinitionInput{}
  1181  	}
  1182  
  1183  	output = &UpdateSuiteDefinitionOutput{}
  1184  	req = c.newRequest(op, input, output)
  1185  	return
  1186  }
  1187  
  1188  // UpdateSuiteDefinition API operation for AWS IoT Core Device Advisor.
  1189  //
  1190  // Updates a Device Advisor test suite.
  1191  //
  1192  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1193  // with awserr.Error's Code and Message methods to get detailed information about
  1194  // the error.
  1195  //
  1196  // See the AWS API reference guide for AWS IoT Core Device Advisor's
  1197  // API operation UpdateSuiteDefinition for usage and error information.
  1198  //
  1199  // Returned Error Types:
  1200  //   * ValidationException
  1201  //   Sends invalid request exception.
  1202  //
  1203  //   * InternalServerException
  1204  //   Sends Internal Failure Exception.
  1205  //
  1206  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/UpdateSuiteDefinition
  1207  func (c *IoTDeviceAdvisor) UpdateSuiteDefinition(input *UpdateSuiteDefinitionInput) (*UpdateSuiteDefinitionOutput, error) {
  1208  	req, out := c.UpdateSuiteDefinitionRequest(input)
  1209  	return out, req.Send()
  1210  }
  1211  
  1212  // UpdateSuiteDefinitionWithContext is the same as UpdateSuiteDefinition with the addition of
  1213  // the ability to pass a context and additional request options.
  1214  //
  1215  // See UpdateSuiteDefinition for details on how to use this API operation.
  1216  //
  1217  // The context must be non-nil and will be used for request cancellation. If
  1218  // the context is nil a panic will occur. In the future the SDK may create
  1219  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1220  // for more information on using Contexts.
  1221  func (c *IoTDeviceAdvisor) UpdateSuiteDefinitionWithContext(ctx aws.Context, input *UpdateSuiteDefinitionInput, opts ...request.Option) (*UpdateSuiteDefinitionOutput, error) {
  1222  	req, out := c.UpdateSuiteDefinitionRequest(input)
  1223  	req.SetContext(ctx)
  1224  	req.ApplyOptions(opts...)
  1225  	return out, req.Send()
  1226  }
  1227  
  1228  // Sends Conflict Exception.
  1229  type ConflictException struct {
  1230  	_            struct{}                  `type:"structure"`
  1231  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1232  
  1233  	// Sends Conflict Exception message.
  1234  	Message_ *string `locationName:"message" min:"1" type:"string"`
  1235  }
  1236  
  1237  // String returns the string representation.
  1238  //
  1239  // API parameter values that are decorated as "sensitive" in the API will not
  1240  // be included in the string output. The member name will be present, but the
  1241  // value will be replaced with "sensitive".
  1242  func (s ConflictException) String() string {
  1243  	return awsutil.Prettify(s)
  1244  }
  1245  
  1246  // GoString returns the string representation.
  1247  //
  1248  // API parameter values that are decorated as "sensitive" in the API will not
  1249  // be included in the string output. The member name will be present, but the
  1250  // value will be replaced with "sensitive".
  1251  func (s ConflictException) GoString() string {
  1252  	return s.String()
  1253  }
  1254  
  1255  func newErrorConflictException(v protocol.ResponseMetadata) error {
  1256  	return &ConflictException{
  1257  		RespMetadata: v,
  1258  	}
  1259  }
  1260  
  1261  // Code returns the exception type name.
  1262  func (s *ConflictException) Code() string {
  1263  	return "ConflictException"
  1264  }
  1265  
  1266  // Message returns the exception's message.
  1267  func (s *ConflictException) Message() string {
  1268  	if s.Message_ != nil {
  1269  		return *s.Message_
  1270  	}
  1271  	return ""
  1272  }
  1273  
  1274  // OrigErr always returns nil, satisfies awserr.Error interface.
  1275  func (s *ConflictException) OrigErr() error {
  1276  	return nil
  1277  }
  1278  
  1279  func (s *ConflictException) Error() string {
  1280  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1281  }
  1282  
  1283  // Status code returns the HTTP status code for the request's response error.
  1284  func (s *ConflictException) StatusCode() int {
  1285  	return s.RespMetadata.StatusCode
  1286  }
  1287  
  1288  // RequestID returns the service's response RequestID for request.
  1289  func (s *ConflictException) RequestID() string {
  1290  	return s.RespMetadata.RequestID
  1291  }
  1292  
  1293  type CreateSuiteDefinitionInput struct {
  1294  	_ struct{} `type:"structure"`
  1295  
  1296  	// Creates a Device Advisor test suite with suite definition configuration.
  1297  	SuiteDefinitionConfiguration *SuiteDefinitionConfiguration `locationName:"suiteDefinitionConfiguration" type:"structure"`
  1298  
  1299  	// The tags to be attached to the suite definition.
  1300  	Tags map[string]*string `locationName:"tags" type:"map"`
  1301  }
  1302  
  1303  // String returns the string representation.
  1304  //
  1305  // API parameter values that are decorated as "sensitive" in the API will not
  1306  // be included in the string output. The member name will be present, but the
  1307  // value will be replaced with "sensitive".
  1308  func (s CreateSuiteDefinitionInput) String() string {
  1309  	return awsutil.Prettify(s)
  1310  }
  1311  
  1312  // GoString returns the string representation.
  1313  //
  1314  // API parameter values that are decorated as "sensitive" in the API will not
  1315  // be included in the string output. The member name will be present, but the
  1316  // value will be replaced with "sensitive".
  1317  func (s CreateSuiteDefinitionInput) GoString() string {
  1318  	return s.String()
  1319  }
  1320  
  1321  // Validate inspects the fields of the type to determine if they are valid.
  1322  func (s *CreateSuiteDefinitionInput) Validate() error {
  1323  	invalidParams := request.ErrInvalidParams{Context: "CreateSuiteDefinitionInput"}
  1324  	if s.SuiteDefinitionConfiguration != nil {
  1325  		if err := s.SuiteDefinitionConfiguration.Validate(); err != nil {
  1326  			invalidParams.AddNested("SuiteDefinitionConfiguration", err.(request.ErrInvalidParams))
  1327  		}
  1328  	}
  1329  
  1330  	if invalidParams.Len() > 0 {
  1331  		return invalidParams
  1332  	}
  1333  	return nil
  1334  }
  1335  
  1336  // SetSuiteDefinitionConfiguration sets the SuiteDefinitionConfiguration field's value.
  1337  func (s *CreateSuiteDefinitionInput) SetSuiteDefinitionConfiguration(v *SuiteDefinitionConfiguration) *CreateSuiteDefinitionInput {
  1338  	s.SuiteDefinitionConfiguration = v
  1339  	return s
  1340  }
  1341  
  1342  // SetTags sets the Tags field's value.
  1343  func (s *CreateSuiteDefinitionInput) SetTags(v map[string]*string) *CreateSuiteDefinitionInput {
  1344  	s.Tags = v
  1345  	return s
  1346  }
  1347  
  1348  type CreateSuiteDefinitionOutput struct {
  1349  	_ struct{} `type:"structure"`
  1350  
  1351  	// Creates a Device Advisor test suite with TimeStamp of when it was created.
  1352  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
  1353  
  1354  	// Creates a Device Advisor test suite with Amazon Resource name.
  1355  	SuiteDefinitionArn *string `locationName:"suiteDefinitionArn" min:"20" type:"string"`
  1356  
  1357  	// Creates a Device Advisor test suite with suite UUID.
  1358  	SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"12" type:"string"`
  1359  
  1360  	// Creates a Device Advisor test suite with suite definition name.
  1361  	SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"`
  1362  }
  1363  
  1364  // String returns the string representation.
  1365  //
  1366  // API parameter values that are decorated as "sensitive" in the API will not
  1367  // be included in the string output. The member name will be present, but the
  1368  // value will be replaced with "sensitive".
  1369  func (s CreateSuiteDefinitionOutput) String() string {
  1370  	return awsutil.Prettify(s)
  1371  }
  1372  
  1373  // GoString returns the string representation.
  1374  //
  1375  // API parameter values that are decorated as "sensitive" in the API will not
  1376  // be included in the string output. The member name will be present, but the
  1377  // value will be replaced with "sensitive".
  1378  func (s CreateSuiteDefinitionOutput) GoString() string {
  1379  	return s.String()
  1380  }
  1381  
  1382  // SetCreatedAt sets the CreatedAt field's value.
  1383  func (s *CreateSuiteDefinitionOutput) SetCreatedAt(v time.Time) *CreateSuiteDefinitionOutput {
  1384  	s.CreatedAt = &v
  1385  	return s
  1386  }
  1387  
  1388  // SetSuiteDefinitionArn sets the SuiteDefinitionArn field's value.
  1389  func (s *CreateSuiteDefinitionOutput) SetSuiteDefinitionArn(v string) *CreateSuiteDefinitionOutput {
  1390  	s.SuiteDefinitionArn = &v
  1391  	return s
  1392  }
  1393  
  1394  // SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
  1395  func (s *CreateSuiteDefinitionOutput) SetSuiteDefinitionId(v string) *CreateSuiteDefinitionOutput {
  1396  	s.SuiteDefinitionId = &v
  1397  	return s
  1398  }
  1399  
  1400  // SetSuiteDefinitionName sets the SuiteDefinitionName field's value.
  1401  func (s *CreateSuiteDefinitionOutput) SetSuiteDefinitionName(v string) *CreateSuiteDefinitionOutput {
  1402  	s.SuiteDefinitionName = &v
  1403  	return s
  1404  }
  1405  
  1406  type DeleteSuiteDefinitionInput struct {
  1407  	_ struct{} `type:"structure" nopayload:"true"`
  1408  
  1409  	// Suite definition Id of the test suite to be deleted.
  1410  	//
  1411  	// SuiteDefinitionId is a required field
  1412  	SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"12" type:"string" required:"true"`
  1413  }
  1414  
  1415  // String returns the string representation.
  1416  //
  1417  // API parameter values that are decorated as "sensitive" in the API will not
  1418  // be included in the string output. The member name will be present, but the
  1419  // value will be replaced with "sensitive".
  1420  func (s DeleteSuiteDefinitionInput) String() string {
  1421  	return awsutil.Prettify(s)
  1422  }
  1423  
  1424  // GoString returns the string representation.
  1425  //
  1426  // API parameter values that are decorated as "sensitive" in the API will not
  1427  // be included in the string output. The member name will be present, but the
  1428  // value will be replaced with "sensitive".
  1429  func (s DeleteSuiteDefinitionInput) GoString() string {
  1430  	return s.String()
  1431  }
  1432  
  1433  // Validate inspects the fields of the type to determine if they are valid.
  1434  func (s *DeleteSuiteDefinitionInput) Validate() error {
  1435  	invalidParams := request.ErrInvalidParams{Context: "DeleteSuiteDefinitionInput"}
  1436  	if s.SuiteDefinitionId == nil {
  1437  		invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId"))
  1438  	}
  1439  	if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 12 {
  1440  		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 12))
  1441  	}
  1442  
  1443  	if invalidParams.Len() > 0 {
  1444  		return invalidParams
  1445  	}
  1446  	return nil
  1447  }
  1448  
  1449  // SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
  1450  func (s *DeleteSuiteDefinitionInput) SetSuiteDefinitionId(v string) *DeleteSuiteDefinitionInput {
  1451  	s.SuiteDefinitionId = &v
  1452  	return s
  1453  }
  1454  
  1455  type DeleteSuiteDefinitionOutput struct {
  1456  	_ struct{} `type:"structure" nopayload:"true"`
  1457  }
  1458  
  1459  // String returns the string representation.
  1460  //
  1461  // API parameter values that are decorated as "sensitive" in the API will not
  1462  // be included in the string output. The member name will be present, but the
  1463  // value will be replaced with "sensitive".
  1464  func (s DeleteSuiteDefinitionOutput) String() string {
  1465  	return awsutil.Prettify(s)
  1466  }
  1467  
  1468  // GoString returns the string representation.
  1469  //
  1470  // API parameter values that are decorated as "sensitive" in the API will not
  1471  // be included in the string output. The member name will be present, but the
  1472  // value will be replaced with "sensitive".
  1473  func (s DeleteSuiteDefinitionOutput) GoString() string {
  1474  	return s.String()
  1475  }
  1476  
  1477  // Lists all the devices under test
  1478  type DeviceUnderTest struct {
  1479  	_ struct{} `type:"structure"`
  1480  
  1481  	// Lists devices certificate arn
  1482  	CertificateArn *string `locationName:"certificateArn" min:"20" type:"string"`
  1483  
  1484  	// Lists devices thing arn
  1485  	ThingArn *string `locationName:"thingArn" min:"20" type:"string"`
  1486  }
  1487  
  1488  // String returns the string representation.
  1489  //
  1490  // API parameter values that are decorated as "sensitive" in the API will not
  1491  // be included in the string output. The member name will be present, but the
  1492  // value will be replaced with "sensitive".
  1493  func (s DeviceUnderTest) String() string {
  1494  	return awsutil.Prettify(s)
  1495  }
  1496  
  1497  // GoString returns the string representation.
  1498  //
  1499  // API parameter values that are decorated as "sensitive" in the API will not
  1500  // be included in the string output. The member name will be present, but the
  1501  // value will be replaced with "sensitive".
  1502  func (s DeviceUnderTest) GoString() string {
  1503  	return s.String()
  1504  }
  1505  
  1506  // Validate inspects the fields of the type to determine if they are valid.
  1507  func (s *DeviceUnderTest) Validate() error {
  1508  	invalidParams := request.ErrInvalidParams{Context: "DeviceUnderTest"}
  1509  	if s.CertificateArn != nil && len(*s.CertificateArn) < 20 {
  1510  		invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 20))
  1511  	}
  1512  	if s.ThingArn != nil && len(*s.ThingArn) < 20 {
  1513  		invalidParams.Add(request.NewErrParamMinLen("ThingArn", 20))
  1514  	}
  1515  
  1516  	if invalidParams.Len() > 0 {
  1517  		return invalidParams
  1518  	}
  1519  	return nil
  1520  }
  1521  
  1522  // SetCertificateArn sets the CertificateArn field's value.
  1523  func (s *DeviceUnderTest) SetCertificateArn(v string) *DeviceUnderTest {
  1524  	s.CertificateArn = &v
  1525  	return s
  1526  }
  1527  
  1528  // SetThingArn sets the ThingArn field's value.
  1529  func (s *DeviceUnderTest) SetThingArn(v string) *DeviceUnderTest {
  1530  	s.ThingArn = &v
  1531  	return s
  1532  }
  1533  
  1534  type GetSuiteDefinitionInput struct {
  1535  	_ struct{} `type:"structure" nopayload:"true"`
  1536  
  1537  	// Suite definition Id of the test suite to get.
  1538  	//
  1539  	// SuiteDefinitionId is a required field
  1540  	SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"12" type:"string" required:"true"`
  1541  
  1542  	// Suite definition version of the test suite to get.
  1543  	SuiteDefinitionVersion *string `location:"querystring" locationName:"suiteDefinitionVersion" min:"2" type:"string"`
  1544  }
  1545  
  1546  // String returns the string representation.
  1547  //
  1548  // API parameter values that are decorated as "sensitive" in the API will not
  1549  // be included in the string output. The member name will be present, but the
  1550  // value will be replaced with "sensitive".
  1551  func (s GetSuiteDefinitionInput) String() string {
  1552  	return awsutil.Prettify(s)
  1553  }
  1554  
  1555  // GoString returns the string representation.
  1556  //
  1557  // API parameter values that are decorated as "sensitive" in the API will not
  1558  // be included in the string output. The member name will be present, but the
  1559  // value will be replaced with "sensitive".
  1560  func (s GetSuiteDefinitionInput) GoString() string {
  1561  	return s.String()
  1562  }
  1563  
  1564  // Validate inspects the fields of the type to determine if they are valid.
  1565  func (s *GetSuiteDefinitionInput) Validate() error {
  1566  	invalidParams := request.ErrInvalidParams{Context: "GetSuiteDefinitionInput"}
  1567  	if s.SuiteDefinitionId == nil {
  1568  		invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId"))
  1569  	}
  1570  	if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 12 {
  1571  		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 12))
  1572  	}
  1573  	if s.SuiteDefinitionVersion != nil && len(*s.SuiteDefinitionVersion) < 2 {
  1574  		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionVersion", 2))
  1575  	}
  1576  
  1577  	if invalidParams.Len() > 0 {
  1578  		return invalidParams
  1579  	}
  1580  	return nil
  1581  }
  1582  
  1583  // SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
  1584  func (s *GetSuiteDefinitionInput) SetSuiteDefinitionId(v string) *GetSuiteDefinitionInput {
  1585  	s.SuiteDefinitionId = &v
  1586  	return s
  1587  }
  1588  
  1589  // SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value.
  1590  func (s *GetSuiteDefinitionInput) SetSuiteDefinitionVersion(v string) *GetSuiteDefinitionInput {
  1591  	s.SuiteDefinitionVersion = &v
  1592  	return s
  1593  }
  1594  
  1595  type GetSuiteDefinitionOutput struct {
  1596  	_ struct{} `type:"structure"`
  1597  
  1598  	// Date (in Unix epoch time) when the suite definition was created.
  1599  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
  1600  
  1601  	// Date (in Unix epoch time) when the suite definition was last modified.
  1602  	LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp"`
  1603  
  1604  	// Latest suite definition version of the suite definition.
  1605  	LatestVersion *string `locationName:"latestVersion" min:"2" type:"string"`
  1606  
  1607  	// The ARN of the suite definition.
  1608  	SuiteDefinitionArn *string `locationName:"suiteDefinitionArn" min:"20" type:"string"`
  1609  
  1610  	// Suite configuration of the suite definition.
  1611  	SuiteDefinitionConfiguration *SuiteDefinitionConfiguration `locationName:"suiteDefinitionConfiguration" type:"structure"`
  1612  
  1613  	// Suite definition Id of the suite definition.
  1614  	SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"12" type:"string"`
  1615  
  1616  	// Suite definition version of the suite definition.
  1617  	SuiteDefinitionVersion *string `locationName:"suiteDefinitionVersion" min:"2" type:"string"`
  1618  
  1619  	// Tags attached to the suite definition.
  1620  	Tags map[string]*string `locationName:"tags" type:"map"`
  1621  }
  1622  
  1623  // String returns the string representation.
  1624  //
  1625  // API parameter values that are decorated as "sensitive" in the API will not
  1626  // be included in the string output. The member name will be present, but the
  1627  // value will be replaced with "sensitive".
  1628  func (s GetSuiteDefinitionOutput) String() string {
  1629  	return awsutil.Prettify(s)
  1630  }
  1631  
  1632  // GoString returns the string representation.
  1633  //
  1634  // API parameter values that are decorated as "sensitive" in the API will not
  1635  // be included in the string output. The member name will be present, but the
  1636  // value will be replaced with "sensitive".
  1637  func (s GetSuiteDefinitionOutput) GoString() string {
  1638  	return s.String()
  1639  }
  1640  
  1641  // SetCreatedAt sets the CreatedAt field's value.
  1642  func (s *GetSuiteDefinitionOutput) SetCreatedAt(v time.Time) *GetSuiteDefinitionOutput {
  1643  	s.CreatedAt = &v
  1644  	return s
  1645  }
  1646  
  1647  // SetLastModifiedAt sets the LastModifiedAt field's value.
  1648  func (s *GetSuiteDefinitionOutput) SetLastModifiedAt(v time.Time) *GetSuiteDefinitionOutput {
  1649  	s.LastModifiedAt = &v
  1650  	return s
  1651  }
  1652  
  1653  // SetLatestVersion sets the LatestVersion field's value.
  1654  func (s *GetSuiteDefinitionOutput) SetLatestVersion(v string) *GetSuiteDefinitionOutput {
  1655  	s.LatestVersion = &v
  1656  	return s
  1657  }
  1658  
  1659  // SetSuiteDefinitionArn sets the SuiteDefinitionArn field's value.
  1660  func (s *GetSuiteDefinitionOutput) SetSuiteDefinitionArn(v string) *GetSuiteDefinitionOutput {
  1661  	s.SuiteDefinitionArn = &v
  1662  	return s
  1663  }
  1664  
  1665  // SetSuiteDefinitionConfiguration sets the SuiteDefinitionConfiguration field's value.
  1666  func (s *GetSuiteDefinitionOutput) SetSuiteDefinitionConfiguration(v *SuiteDefinitionConfiguration) *GetSuiteDefinitionOutput {
  1667  	s.SuiteDefinitionConfiguration = v
  1668  	return s
  1669  }
  1670  
  1671  // SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
  1672  func (s *GetSuiteDefinitionOutput) SetSuiteDefinitionId(v string) *GetSuiteDefinitionOutput {
  1673  	s.SuiteDefinitionId = &v
  1674  	return s
  1675  }
  1676  
  1677  // SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value.
  1678  func (s *GetSuiteDefinitionOutput) SetSuiteDefinitionVersion(v string) *GetSuiteDefinitionOutput {
  1679  	s.SuiteDefinitionVersion = &v
  1680  	return s
  1681  }
  1682  
  1683  // SetTags sets the Tags field's value.
  1684  func (s *GetSuiteDefinitionOutput) SetTags(v map[string]*string) *GetSuiteDefinitionOutput {
  1685  	s.Tags = v
  1686  	return s
  1687  }
  1688  
  1689  type GetSuiteRunInput struct {
  1690  	_ struct{} `type:"structure" nopayload:"true"`
  1691  
  1692  	// Suite definition Id for the test suite run.
  1693  	//
  1694  	// SuiteDefinitionId is a required field
  1695  	SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"12" type:"string" required:"true"`
  1696  
  1697  	// Suite run Id for the test suite run.
  1698  	//
  1699  	// SuiteRunId is a required field
  1700  	SuiteRunId *string `location:"uri" locationName:"suiteRunId" min:"12" type:"string" required:"true"`
  1701  }
  1702  
  1703  // String returns the string representation.
  1704  //
  1705  // API parameter values that are decorated as "sensitive" in the API will not
  1706  // be included in the string output. The member name will be present, but the
  1707  // value will be replaced with "sensitive".
  1708  func (s GetSuiteRunInput) String() string {
  1709  	return awsutil.Prettify(s)
  1710  }
  1711  
  1712  // GoString returns the string representation.
  1713  //
  1714  // API parameter values that are decorated as "sensitive" in the API will not
  1715  // be included in the string output. The member name will be present, but the
  1716  // value will be replaced with "sensitive".
  1717  func (s GetSuiteRunInput) GoString() string {
  1718  	return s.String()
  1719  }
  1720  
  1721  // Validate inspects the fields of the type to determine if they are valid.
  1722  func (s *GetSuiteRunInput) Validate() error {
  1723  	invalidParams := request.ErrInvalidParams{Context: "GetSuiteRunInput"}
  1724  	if s.SuiteDefinitionId == nil {
  1725  		invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId"))
  1726  	}
  1727  	if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 12 {
  1728  		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 12))
  1729  	}
  1730  	if s.SuiteRunId == nil {
  1731  		invalidParams.Add(request.NewErrParamRequired("SuiteRunId"))
  1732  	}
  1733  	if s.SuiteRunId != nil && len(*s.SuiteRunId) < 12 {
  1734  		invalidParams.Add(request.NewErrParamMinLen("SuiteRunId", 12))
  1735  	}
  1736  
  1737  	if invalidParams.Len() > 0 {
  1738  		return invalidParams
  1739  	}
  1740  	return nil
  1741  }
  1742  
  1743  // SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
  1744  func (s *GetSuiteRunInput) SetSuiteDefinitionId(v string) *GetSuiteRunInput {
  1745  	s.SuiteDefinitionId = &v
  1746  	return s
  1747  }
  1748  
  1749  // SetSuiteRunId sets the SuiteRunId field's value.
  1750  func (s *GetSuiteRunInput) SetSuiteRunId(v string) *GetSuiteRunInput {
  1751  	s.SuiteRunId = &v
  1752  	return s
  1753  }
  1754  
  1755  type GetSuiteRunOutput struct {
  1756  	_ struct{} `type:"structure"`
  1757  
  1758  	// Date (in Unix epoch time) when the test suite run ended.
  1759  	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
  1760  
  1761  	// Error reason for any test suite run failure.
  1762  	ErrorReason *string `locationName:"errorReason" type:"string"`
  1763  
  1764  	// Date (in Unix epoch time) when the test suite run was started.
  1765  	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  1766  
  1767  	// Status for the test suite run.
  1768  	Status *string `locationName:"status" type:"string" enum:"SuiteRunStatus"`
  1769  
  1770  	// Suite definition Id for the test suite run.
  1771  	SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"12" type:"string"`
  1772  
  1773  	// Suite definition version for the test suite run.
  1774  	SuiteDefinitionVersion *string `locationName:"suiteDefinitionVersion" min:"2" type:"string"`
  1775  
  1776  	// The ARN of the suite run.
  1777  	SuiteRunArn *string `locationName:"suiteRunArn" min:"20" type:"string"`
  1778  
  1779  	// Suite run configuration for the test suite run.
  1780  	SuiteRunConfiguration *SuiteRunConfiguration `locationName:"suiteRunConfiguration" type:"structure"`
  1781  
  1782  	// Suite run Id for the test suite run.
  1783  	SuiteRunId *string `locationName:"suiteRunId" min:"12" type:"string"`
  1784  
  1785  	// The tags attached to the suite run.
  1786  	Tags map[string]*string `locationName:"tags" type:"map"`
  1787  
  1788  	// Test results for the test suite run.
  1789  	TestResult *TestResult `locationName:"testResult" type:"structure"`
  1790  }
  1791  
  1792  // String returns the string representation.
  1793  //
  1794  // API parameter values that are decorated as "sensitive" in the API will not
  1795  // be included in the string output. The member name will be present, but the
  1796  // value will be replaced with "sensitive".
  1797  func (s GetSuiteRunOutput) String() string {
  1798  	return awsutil.Prettify(s)
  1799  }
  1800  
  1801  // GoString returns the string representation.
  1802  //
  1803  // API parameter values that are decorated as "sensitive" in the API will not
  1804  // be included in the string output. The member name will be present, but the
  1805  // value will be replaced with "sensitive".
  1806  func (s GetSuiteRunOutput) GoString() string {
  1807  	return s.String()
  1808  }
  1809  
  1810  // SetEndTime sets the EndTime field's value.
  1811  func (s *GetSuiteRunOutput) SetEndTime(v time.Time) *GetSuiteRunOutput {
  1812  	s.EndTime = &v
  1813  	return s
  1814  }
  1815  
  1816  // SetErrorReason sets the ErrorReason field's value.
  1817  func (s *GetSuiteRunOutput) SetErrorReason(v string) *GetSuiteRunOutput {
  1818  	s.ErrorReason = &v
  1819  	return s
  1820  }
  1821  
  1822  // SetStartTime sets the StartTime field's value.
  1823  func (s *GetSuiteRunOutput) SetStartTime(v time.Time) *GetSuiteRunOutput {
  1824  	s.StartTime = &v
  1825  	return s
  1826  }
  1827  
  1828  // SetStatus sets the Status field's value.
  1829  func (s *GetSuiteRunOutput) SetStatus(v string) *GetSuiteRunOutput {
  1830  	s.Status = &v
  1831  	return s
  1832  }
  1833  
  1834  // SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
  1835  func (s *GetSuiteRunOutput) SetSuiteDefinitionId(v string) *GetSuiteRunOutput {
  1836  	s.SuiteDefinitionId = &v
  1837  	return s
  1838  }
  1839  
  1840  // SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value.
  1841  func (s *GetSuiteRunOutput) SetSuiteDefinitionVersion(v string) *GetSuiteRunOutput {
  1842  	s.SuiteDefinitionVersion = &v
  1843  	return s
  1844  }
  1845  
  1846  // SetSuiteRunArn sets the SuiteRunArn field's value.
  1847  func (s *GetSuiteRunOutput) SetSuiteRunArn(v string) *GetSuiteRunOutput {
  1848  	s.SuiteRunArn = &v
  1849  	return s
  1850  }
  1851  
  1852  // SetSuiteRunConfiguration sets the SuiteRunConfiguration field's value.
  1853  func (s *GetSuiteRunOutput) SetSuiteRunConfiguration(v *SuiteRunConfiguration) *GetSuiteRunOutput {
  1854  	s.SuiteRunConfiguration = v
  1855  	return s
  1856  }
  1857  
  1858  // SetSuiteRunId sets the SuiteRunId field's value.
  1859  func (s *GetSuiteRunOutput) SetSuiteRunId(v string) *GetSuiteRunOutput {
  1860  	s.SuiteRunId = &v
  1861  	return s
  1862  }
  1863  
  1864  // SetTags sets the Tags field's value.
  1865  func (s *GetSuiteRunOutput) SetTags(v map[string]*string) *GetSuiteRunOutput {
  1866  	s.Tags = v
  1867  	return s
  1868  }
  1869  
  1870  // SetTestResult sets the TestResult field's value.
  1871  func (s *GetSuiteRunOutput) SetTestResult(v *TestResult) *GetSuiteRunOutput {
  1872  	s.TestResult = v
  1873  	return s
  1874  }
  1875  
  1876  type GetSuiteRunReportInput struct {
  1877  	_ struct{} `type:"structure" nopayload:"true"`
  1878  
  1879  	// Suite definition Id of the test suite.
  1880  	//
  1881  	// SuiteDefinitionId is a required field
  1882  	SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"12" type:"string" required:"true"`
  1883  
  1884  	// Suite run Id of the test suite run.
  1885  	//
  1886  	// SuiteRunId is a required field
  1887  	SuiteRunId *string `location:"uri" locationName:"suiteRunId" min:"12" type:"string" required:"true"`
  1888  }
  1889  
  1890  // String returns the string representation.
  1891  //
  1892  // API parameter values that are decorated as "sensitive" in the API will not
  1893  // be included in the string output. The member name will be present, but the
  1894  // value will be replaced with "sensitive".
  1895  func (s GetSuiteRunReportInput) String() string {
  1896  	return awsutil.Prettify(s)
  1897  }
  1898  
  1899  // GoString returns the string representation.
  1900  //
  1901  // API parameter values that are decorated as "sensitive" in the API will not
  1902  // be included in the string output. The member name will be present, but the
  1903  // value will be replaced with "sensitive".
  1904  func (s GetSuiteRunReportInput) GoString() string {
  1905  	return s.String()
  1906  }
  1907  
  1908  // Validate inspects the fields of the type to determine if they are valid.
  1909  func (s *GetSuiteRunReportInput) Validate() error {
  1910  	invalidParams := request.ErrInvalidParams{Context: "GetSuiteRunReportInput"}
  1911  	if s.SuiteDefinitionId == nil {
  1912  		invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId"))
  1913  	}
  1914  	if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 12 {
  1915  		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 12))
  1916  	}
  1917  	if s.SuiteRunId == nil {
  1918  		invalidParams.Add(request.NewErrParamRequired("SuiteRunId"))
  1919  	}
  1920  	if s.SuiteRunId != nil && len(*s.SuiteRunId) < 12 {
  1921  		invalidParams.Add(request.NewErrParamMinLen("SuiteRunId", 12))
  1922  	}
  1923  
  1924  	if invalidParams.Len() > 0 {
  1925  		return invalidParams
  1926  	}
  1927  	return nil
  1928  }
  1929  
  1930  // SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
  1931  func (s *GetSuiteRunReportInput) SetSuiteDefinitionId(v string) *GetSuiteRunReportInput {
  1932  	s.SuiteDefinitionId = &v
  1933  	return s
  1934  }
  1935  
  1936  // SetSuiteRunId sets the SuiteRunId field's value.
  1937  func (s *GetSuiteRunReportInput) SetSuiteRunId(v string) *GetSuiteRunReportInput {
  1938  	s.SuiteRunId = &v
  1939  	return s
  1940  }
  1941  
  1942  type GetSuiteRunReportOutput struct {
  1943  	_ struct{} `type:"structure"`
  1944  
  1945  	// Download URL of the qualification report.
  1946  	QualificationReportDownloadUrl *string `locationName:"qualificationReportDownloadUrl" type:"string"`
  1947  }
  1948  
  1949  // String returns the string representation.
  1950  //
  1951  // API parameter values that are decorated as "sensitive" in the API will not
  1952  // be included in the string output. The member name will be present, but the
  1953  // value will be replaced with "sensitive".
  1954  func (s GetSuiteRunReportOutput) String() string {
  1955  	return awsutil.Prettify(s)
  1956  }
  1957  
  1958  // GoString returns the string representation.
  1959  //
  1960  // API parameter values that are decorated as "sensitive" in the API will not
  1961  // be included in the string output. The member name will be present, but the
  1962  // value will be replaced with "sensitive".
  1963  func (s GetSuiteRunReportOutput) GoString() string {
  1964  	return s.String()
  1965  }
  1966  
  1967  // SetQualificationReportDownloadUrl sets the QualificationReportDownloadUrl field's value.
  1968  func (s *GetSuiteRunReportOutput) SetQualificationReportDownloadUrl(v string) *GetSuiteRunReportOutput {
  1969  	s.QualificationReportDownloadUrl = &v
  1970  	return s
  1971  }
  1972  
  1973  // Show Group Result.
  1974  type GroupResult struct {
  1975  	_ struct{} `type:"structure"`
  1976  
  1977  	// Group result Id.
  1978  	GroupId *string `locationName:"groupId" min:"12" type:"string"`
  1979  
  1980  	// Group Result Name.
  1981  	GroupName *string `locationName:"groupName" type:"string"`
  1982  
  1983  	// Tests under Group Result.
  1984  	Tests []*TestCaseRun `locationName:"tests" type:"list"`
  1985  }
  1986  
  1987  // String returns the string representation.
  1988  //
  1989  // API parameter values that are decorated as "sensitive" in the API will not
  1990  // be included in the string output. The member name will be present, but the
  1991  // value will be replaced with "sensitive".
  1992  func (s GroupResult) String() string {
  1993  	return awsutil.Prettify(s)
  1994  }
  1995  
  1996  // GoString returns the string representation.
  1997  //
  1998  // API parameter values that are decorated as "sensitive" in the API will not
  1999  // be included in the string output. The member name will be present, but the
  2000  // value will be replaced with "sensitive".
  2001  func (s GroupResult) GoString() string {
  2002  	return s.String()
  2003  }
  2004  
  2005  // SetGroupId sets the GroupId field's value.
  2006  func (s *GroupResult) SetGroupId(v string) *GroupResult {
  2007  	s.GroupId = &v
  2008  	return s
  2009  }
  2010  
  2011  // SetGroupName sets the GroupName field's value.
  2012  func (s *GroupResult) SetGroupName(v string) *GroupResult {
  2013  	s.GroupName = &v
  2014  	return s
  2015  }
  2016  
  2017  // SetTests sets the Tests field's value.
  2018  func (s *GroupResult) SetTests(v []*TestCaseRun) *GroupResult {
  2019  	s.Tests = v
  2020  	return s
  2021  }
  2022  
  2023  // Sends Internal Failure Exception.
  2024  type InternalServerException struct {
  2025  	_            struct{}                  `type:"structure"`
  2026  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2027  
  2028  	// Sends Internal Failure Exception message.
  2029  	Message_ *string `locationName:"message" min:"1" type:"string"`
  2030  }
  2031  
  2032  // String returns the string representation.
  2033  //
  2034  // API parameter values that are decorated as "sensitive" in the API will not
  2035  // be included in the string output. The member name will be present, but the
  2036  // value will be replaced with "sensitive".
  2037  func (s InternalServerException) String() string {
  2038  	return awsutil.Prettify(s)
  2039  }
  2040  
  2041  // GoString returns the string representation.
  2042  //
  2043  // API parameter values that are decorated as "sensitive" in the API will not
  2044  // be included in the string output. The member name will be present, but the
  2045  // value will be replaced with "sensitive".
  2046  func (s InternalServerException) GoString() string {
  2047  	return s.String()
  2048  }
  2049  
  2050  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  2051  	return &InternalServerException{
  2052  		RespMetadata: v,
  2053  	}
  2054  }
  2055  
  2056  // Code returns the exception type name.
  2057  func (s *InternalServerException) Code() string {
  2058  	return "InternalServerException"
  2059  }
  2060  
  2061  // Message returns the exception's message.
  2062  func (s *InternalServerException) Message() string {
  2063  	if s.Message_ != nil {
  2064  		return *s.Message_
  2065  	}
  2066  	return ""
  2067  }
  2068  
  2069  // OrigErr always returns nil, satisfies awserr.Error interface.
  2070  func (s *InternalServerException) OrigErr() error {
  2071  	return nil
  2072  }
  2073  
  2074  func (s *InternalServerException) Error() string {
  2075  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2076  }
  2077  
  2078  // Status code returns the HTTP status code for the request's response error.
  2079  func (s *InternalServerException) StatusCode() int {
  2080  	return s.RespMetadata.StatusCode
  2081  }
  2082  
  2083  // RequestID returns the service's response RequestID for request.
  2084  func (s *InternalServerException) RequestID() string {
  2085  	return s.RespMetadata.RequestID
  2086  }
  2087  
  2088  type ListSuiteDefinitionsInput struct {
  2089  	_ struct{} `type:"structure" nopayload:"true"`
  2090  
  2091  	// The maximum number of results to return at once.
  2092  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  2093  
  2094  	// A token used to get the next set of results.
  2095  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  2096  }
  2097  
  2098  // String returns the string representation.
  2099  //
  2100  // API parameter values that are decorated as "sensitive" in the API will not
  2101  // be included in the string output. The member name will be present, but the
  2102  // value will be replaced with "sensitive".
  2103  func (s ListSuiteDefinitionsInput) String() string {
  2104  	return awsutil.Prettify(s)
  2105  }
  2106  
  2107  // GoString returns the string representation.
  2108  //
  2109  // API parameter values that are decorated as "sensitive" in the API will not
  2110  // be included in the string output. The member name will be present, but the
  2111  // value will be replaced with "sensitive".
  2112  func (s ListSuiteDefinitionsInput) GoString() string {
  2113  	return s.String()
  2114  }
  2115  
  2116  // Validate inspects the fields of the type to determine if they are valid.
  2117  func (s *ListSuiteDefinitionsInput) Validate() error {
  2118  	invalidParams := request.ErrInvalidParams{Context: "ListSuiteDefinitionsInput"}
  2119  	if s.MaxResults != nil && *s.MaxResults < 1 {
  2120  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  2121  	}
  2122  
  2123  	if invalidParams.Len() > 0 {
  2124  		return invalidParams
  2125  	}
  2126  	return nil
  2127  }
  2128  
  2129  // SetMaxResults sets the MaxResults field's value.
  2130  func (s *ListSuiteDefinitionsInput) SetMaxResults(v int64) *ListSuiteDefinitionsInput {
  2131  	s.MaxResults = &v
  2132  	return s
  2133  }
  2134  
  2135  // SetNextToken sets the NextToken field's value.
  2136  func (s *ListSuiteDefinitionsInput) SetNextToken(v string) *ListSuiteDefinitionsInput {
  2137  	s.NextToken = &v
  2138  	return s
  2139  }
  2140  
  2141  type ListSuiteDefinitionsOutput struct {
  2142  	_ struct{} `type:"structure"`
  2143  
  2144  	// A token used to get the next set of results.
  2145  	NextToken *string `locationName:"nextToken" type:"string"`
  2146  
  2147  	// An array of objects that provide summaries of information about the suite
  2148  	// definitions in the list.
  2149  	SuiteDefinitionInformationList []*SuiteDefinitionInformation `locationName:"suiteDefinitionInformationList" type:"list"`
  2150  }
  2151  
  2152  // String returns the string representation.
  2153  //
  2154  // API parameter values that are decorated as "sensitive" in the API will not
  2155  // be included in the string output. The member name will be present, but the
  2156  // value will be replaced with "sensitive".
  2157  func (s ListSuiteDefinitionsOutput) String() string {
  2158  	return awsutil.Prettify(s)
  2159  }
  2160  
  2161  // GoString returns the string representation.
  2162  //
  2163  // API parameter values that are decorated as "sensitive" in the API will not
  2164  // be included in the string output. The member name will be present, but the
  2165  // value will be replaced with "sensitive".
  2166  func (s ListSuiteDefinitionsOutput) GoString() string {
  2167  	return s.String()
  2168  }
  2169  
  2170  // SetNextToken sets the NextToken field's value.
  2171  func (s *ListSuiteDefinitionsOutput) SetNextToken(v string) *ListSuiteDefinitionsOutput {
  2172  	s.NextToken = &v
  2173  	return s
  2174  }
  2175  
  2176  // SetSuiteDefinitionInformationList sets the SuiteDefinitionInformationList field's value.
  2177  func (s *ListSuiteDefinitionsOutput) SetSuiteDefinitionInformationList(v []*SuiteDefinitionInformation) *ListSuiteDefinitionsOutput {
  2178  	s.SuiteDefinitionInformationList = v
  2179  	return s
  2180  }
  2181  
  2182  type ListSuiteRunsInput struct {
  2183  	_ struct{} `type:"structure" nopayload:"true"`
  2184  
  2185  	// The maximum number of results to return at once.
  2186  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  2187  
  2188  	// A token to retrieve the next set of results.
  2189  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  2190  
  2191  	// Lists the test suite runs of the specified test suite based on suite definition
  2192  	// Id.
  2193  	SuiteDefinitionId *string `location:"querystring" locationName:"suiteDefinitionId" min:"12" type:"string"`
  2194  
  2195  	// Must be passed along with suiteDefinitionId. Lists the test suite runs of
  2196  	// the specified test suite based on suite definition version.
  2197  	SuiteDefinitionVersion *string `location:"querystring" locationName:"suiteDefinitionVersion" min:"2" type:"string"`
  2198  }
  2199  
  2200  // String returns the string representation.
  2201  //
  2202  // API parameter values that are decorated as "sensitive" in the API will not
  2203  // be included in the string output. The member name will be present, but the
  2204  // value will be replaced with "sensitive".
  2205  func (s ListSuiteRunsInput) String() string {
  2206  	return awsutil.Prettify(s)
  2207  }
  2208  
  2209  // GoString returns the string representation.
  2210  //
  2211  // API parameter values that are decorated as "sensitive" in the API will not
  2212  // be included in the string output. The member name will be present, but the
  2213  // value will be replaced with "sensitive".
  2214  func (s ListSuiteRunsInput) GoString() string {
  2215  	return s.String()
  2216  }
  2217  
  2218  // Validate inspects the fields of the type to determine if they are valid.
  2219  func (s *ListSuiteRunsInput) Validate() error {
  2220  	invalidParams := request.ErrInvalidParams{Context: "ListSuiteRunsInput"}
  2221  	if s.MaxResults != nil && *s.MaxResults < 1 {
  2222  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  2223  	}
  2224  	if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 12 {
  2225  		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 12))
  2226  	}
  2227  	if s.SuiteDefinitionVersion != nil && len(*s.SuiteDefinitionVersion) < 2 {
  2228  		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionVersion", 2))
  2229  	}
  2230  
  2231  	if invalidParams.Len() > 0 {
  2232  		return invalidParams
  2233  	}
  2234  	return nil
  2235  }
  2236  
  2237  // SetMaxResults sets the MaxResults field's value.
  2238  func (s *ListSuiteRunsInput) SetMaxResults(v int64) *ListSuiteRunsInput {
  2239  	s.MaxResults = &v
  2240  	return s
  2241  }
  2242  
  2243  // SetNextToken sets the NextToken field's value.
  2244  func (s *ListSuiteRunsInput) SetNextToken(v string) *ListSuiteRunsInput {
  2245  	s.NextToken = &v
  2246  	return s
  2247  }
  2248  
  2249  // SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
  2250  func (s *ListSuiteRunsInput) SetSuiteDefinitionId(v string) *ListSuiteRunsInput {
  2251  	s.SuiteDefinitionId = &v
  2252  	return s
  2253  }
  2254  
  2255  // SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value.
  2256  func (s *ListSuiteRunsInput) SetSuiteDefinitionVersion(v string) *ListSuiteRunsInput {
  2257  	s.SuiteDefinitionVersion = &v
  2258  	return s
  2259  }
  2260  
  2261  type ListSuiteRunsOutput struct {
  2262  	_ struct{} `type:"structure"`
  2263  
  2264  	// A token to retrieve the next set of results.
  2265  	NextToken *string `locationName:"nextToken" type:"string"`
  2266  
  2267  	// An array of objects that provide summaries of information about the suite
  2268  	// runs in the list.
  2269  	SuiteRunsList []*SuiteRunInformation `locationName:"suiteRunsList" type:"list"`
  2270  }
  2271  
  2272  // String returns the string representation.
  2273  //
  2274  // API parameter values that are decorated as "sensitive" in the API will not
  2275  // be included in the string output. The member name will be present, but the
  2276  // value will be replaced with "sensitive".
  2277  func (s ListSuiteRunsOutput) String() string {
  2278  	return awsutil.Prettify(s)
  2279  }
  2280  
  2281  // GoString returns the string representation.
  2282  //
  2283  // API parameter values that are decorated as "sensitive" in the API will not
  2284  // be included in the string output. The member name will be present, but the
  2285  // value will be replaced with "sensitive".
  2286  func (s ListSuiteRunsOutput) GoString() string {
  2287  	return s.String()
  2288  }
  2289  
  2290  // SetNextToken sets the NextToken field's value.
  2291  func (s *ListSuiteRunsOutput) SetNextToken(v string) *ListSuiteRunsOutput {
  2292  	s.NextToken = &v
  2293  	return s
  2294  }
  2295  
  2296  // SetSuiteRunsList sets the SuiteRunsList field's value.
  2297  func (s *ListSuiteRunsOutput) SetSuiteRunsList(v []*SuiteRunInformation) *ListSuiteRunsOutput {
  2298  	s.SuiteRunsList = v
  2299  	return s
  2300  }
  2301  
  2302  type ListTagsForResourceInput struct {
  2303  	_ struct{} `type:"structure" nopayload:"true"`
  2304  
  2305  	// The ARN of the IoT Device Advisor resource.
  2306  	//
  2307  	// ResourceArn is a required field
  2308  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
  2309  }
  2310  
  2311  // String returns the string representation.
  2312  //
  2313  // API parameter values that are decorated as "sensitive" in the API will not
  2314  // be included in the string output. The member name will be present, but the
  2315  // value will be replaced with "sensitive".
  2316  func (s ListTagsForResourceInput) String() string {
  2317  	return awsutil.Prettify(s)
  2318  }
  2319  
  2320  // GoString returns the string representation.
  2321  //
  2322  // API parameter values that are decorated as "sensitive" in the API will not
  2323  // be included in the string output. The member name will be present, but the
  2324  // value will be replaced with "sensitive".
  2325  func (s ListTagsForResourceInput) GoString() string {
  2326  	return s.String()
  2327  }
  2328  
  2329  // Validate inspects the fields of the type to determine if they are valid.
  2330  func (s *ListTagsForResourceInput) Validate() error {
  2331  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  2332  	if s.ResourceArn == nil {
  2333  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  2334  	}
  2335  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
  2336  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
  2337  	}
  2338  
  2339  	if invalidParams.Len() > 0 {
  2340  		return invalidParams
  2341  	}
  2342  	return nil
  2343  }
  2344  
  2345  // SetResourceArn sets the ResourceArn field's value.
  2346  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  2347  	s.ResourceArn = &v
  2348  	return s
  2349  }
  2350  
  2351  type ListTagsForResourceOutput struct {
  2352  	_ struct{} `type:"structure"`
  2353  
  2354  	// The tags attached to the IoT Device Advisor resource.
  2355  	Tags map[string]*string `locationName:"tags" type:"map"`
  2356  }
  2357  
  2358  // String returns the string representation.
  2359  //
  2360  // API parameter values that are decorated as "sensitive" in the API will not
  2361  // be included in the string output. The member name will be present, but the
  2362  // value will be replaced with "sensitive".
  2363  func (s ListTagsForResourceOutput) String() string {
  2364  	return awsutil.Prettify(s)
  2365  }
  2366  
  2367  // GoString returns the string representation.
  2368  //
  2369  // API parameter values that are decorated as "sensitive" in the API will not
  2370  // be included in the string output. The member name will be present, but the
  2371  // value will be replaced with "sensitive".
  2372  func (s ListTagsForResourceOutput) GoString() string {
  2373  	return s.String()
  2374  }
  2375  
  2376  // SetTags sets the Tags field's value.
  2377  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  2378  	s.Tags = v
  2379  	return s
  2380  }
  2381  
  2382  // Sends Resource Not Found Exception.
  2383  type ResourceNotFoundException struct {
  2384  	_            struct{}                  `type:"structure"`
  2385  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2386  
  2387  	// Sends Resource Not Found Exception message.
  2388  	Message_ *string `locationName:"message" min:"1" type:"string"`
  2389  }
  2390  
  2391  // String returns the string representation.
  2392  //
  2393  // API parameter values that are decorated as "sensitive" in the API will not
  2394  // be included in the string output. The member name will be present, but the
  2395  // value will be replaced with "sensitive".
  2396  func (s ResourceNotFoundException) String() string {
  2397  	return awsutil.Prettify(s)
  2398  }
  2399  
  2400  // GoString returns the string representation.
  2401  //
  2402  // API parameter values that are decorated as "sensitive" in the API will not
  2403  // be included in the string output. The member name will be present, but the
  2404  // value will be replaced with "sensitive".
  2405  func (s ResourceNotFoundException) GoString() string {
  2406  	return s.String()
  2407  }
  2408  
  2409  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  2410  	return &ResourceNotFoundException{
  2411  		RespMetadata: v,
  2412  	}
  2413  }
  2414  
  2415  // Code returns the exception type name.
  2416  func (s *ResourceNotFoundException) Code() string {
  2417  	return "ResourceNotFoundException"
  2418  }
  2419  
  2420  // Message returns the exception's message.
  2421  func (s *ResourceNotFoundException) Message() string {
  2422  	if s.Message_ != nil {
  2423  		return *s.Message_
  2424  	}
  2425  	return ""
  2426  }
  2427  
  2428  // OrigErr always returns nil, satisfies awserr.Error interface.
  2429  func (s *ResourceNotFoundException) OrigErr() error {
  2430  	return nil
  2431  }
  2432  
  2433  func (s *ResourceNotFoundException) Error() string {
  2434  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2435  }
  2436  
  2437  // Status code returns the HTTP status code for the request's response error.
  2438  func (s *ResourceNotFoundException) StatusCode() int {
  2439  	return s.RespMetadata.StatusCode
  2440  }
  2441  
  2442  // RequestID returns the service's response RequestID for request.
  2443  func (s *ResourceNotFoundException) RequestID() string {
  2444  	return s.RespMetadata.RequestID
  2445  }
  2446  
  2447  type StartSuiteRunInput struct {
  2448  	_ struct{} `type:"structure"`
  2449  
  2450  	// Suite definition Id of the test suite.
  2451  	//
  2452  	// SuiteDefinitionId is a required field
  2453  	SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"12" type:"string" required:"true"`
  2454  
  2455  	// Suite definition version of the test suite.
  2456  	SuiteDefinitionVersion *string `locationName:"suiteDefinitionVersion" min:"2" type:"string"`
  2457  
  2458  	// Suite run configuration.
  2459  	SuiteRunConfiguration *SuiteRunConfiguration `locationName:"suiteRunConfiguration" type:"structure"`
  2460  
  2461  	// The tags to be attached to the suite run.
  2462  	Tags map[string]*string `locationName:"tags" type:"map"`
  2463  }
  2464  
  2465  // String returns the string representation.
  2466  //
  2467  // API parameter values that are decorated as "sensitive" in the API will not
  2468  // be included in the string output. The member name will be present, but the
  2469  // value will be replaced with "sensitive".
  2470  func (s StartSuiteRunInput) String() string {
  2471  	return awsutil.Prettify(s)
  2472  }
  2473  
  2474  // GoString returns the string representation.
  2475  //
  2476  // API parameter values that are decorated as "sensitive" in the API will not
  2477  // be included in the string output. The member name will be present, but the
  2478  // value will be replaced with "sensitive".
  2479  func (s StartSuiteRunInput) GoString() string {
  2480  	return s.String()
  2481  }
  2482  
  2483  // Validate inspects the fields of the type to determine if they are valid.
  2484  func (s *StartSuiteRunInput) Validate() error {
  2485  	invalidParams := request.ErrInvalidParams{Context: "StartSuiteRunInput"}
  2486  	if s.SuiteDefinitionId == nil {
  2487  		invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId"))
  2488  	}
  2489  	if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 12 {
  2490  		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 12))
  2491  	}
  2492  	if s.SuiteDefinitionVersion != nil && len(*s.SuiteDefinitionVersion) < 2 {
  2493  		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionVersion", 2))
  2494  	}
  2495  	if s.SuiteRunConfiguration != nil {
  2496  		if err := s.SuiteRunConfiguration.Validate(); err != nil {
  2497  			invalidParams.AddNested("SuiteRunConfiguration", err.(request.ErrInvalidParams))
  2498  		}
  2499  	}
  2500  
  2501  	if invalidParams.Len() > 0 {
  2502  		return invalidParams
  2503  	}
  2504  	return nil
  2505  }
  2506  
  2507  // SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
  2508  func (s *StartSuiteRunInput) SetSuiteDefinitionId(v string) *StartSuiteRunInput {
  2509  	s.SuiteDefinitionId = &v
  2510  	return s
  2511  }
  2512  
  2513  // SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value.
  2514  func (s *StartSuiteRunInput) SetSuiteDefinitionVersion(v string) *StartSuiteRunInput {
  2515  	s.SuiteDefinitionVersion = &v
  2516  	return s
  2517  }
  2518  
  2519  // SetSuiteRunConfiguration sets the SuiteRunConfiguration field's value.
  2520  func (s *StartSuiteRunInput) SetSuiteRunConfiguration(v *SuiteRunConfiguration) *StartSuiteRunInput {
  2521  	s.SuiteRunConfiguration = v
  2522  	return s
  2523  }
  2524  
  2525  // SetTags sets the Tags field's value.
  2526  func (s *StartSuiteRunInput) SetTags(v map[string]*string) *StartSuiteRunInput {
  2527  	s.Tags = v
  2528  	return s
  2529  }
  2530  
  2531  type StartSuiteRunOutput struct {
  2532  	_ struct{} `type:"structure"`
  2533  
  2534  	// Date (in Unix epoch time) when the suite run was created.
  2535  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
  2536  
  2537  	// Amazon resource name of the started suite run.
  2538  	SuiteRunArn *string `locationName:"suiteRunArn" min:"20" type:"string"`
  2539  
  2540  	// Suite Run Id of the started suite run.
  2541  	SuiteRunId *string `locationName:"suiteRunId" min:"12" type:"string"`
  2542  }
  2543  
  2544  // String returns the string representation.
  2545  //
  2546  // API parameter values that are decorated as "sensitive" in the API will not
  2547  // be included in the string output. The member name will be present, but the
  2548  // value will be replaced with "sensitive".
  2549  func (s StartSuiteRunOutput) String() string {
  2550  	return awsutil.Prettify(s)
  2551  }
  2552  
  2553  // GoString returns the string representation.
  2554  //
  2555  // API parameter values that are decorated as "sensitive" in the API will not
  2556  // be included in the string output. The member name will be present, but the
  2557  // value will be replaced with "sensitive".
  2558  func (s StartSuiteRunOutput) GoString() string {
  2559  	return s.String()
  2560  }
  2561  
  2562  // SetCreatedAt sets the CreatedAt field's value.
  2563  func (s *StartSuiteRunOutput) SetCreatedAt(v time.Time) *StartSuiteRunOutput {
  2564  	s.CreatedAt = &v
  2565  	return s
  2566  }
  2567  
  2568  // SetSuiteRunArn sets the SuiteRunArn field's value.
  2569  func (s *StartSuiteRunOutput) SetSuiteRunArn(v string) *StartSuiteRunOutput {
  2570  	s.SuiteRunArn = &v
  2571  	return s
  2572  }
  2573  
  2574  // SetSuiteRunId sets the SuiteRunId field's value.
  2575  func (s *StartSuiteRunOutput) SetSuiteRunId(v string) *StartSuiteRunOutput {
  2576  	s.SuiteRunId = &v
  2577  	return s
  2578  }
  2579  
  2580  type StopSuiteRunInput struct {
  2581  	_ struct{} `type:"structure" nopayload:"true"`
  2582  
  2583  	// Suite definition Id of the test suite run to be stopped.
  2584  	//
  2585  	// SuiteDefinitionId is a required field
  2586  	SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"12" type:"string" required:"true"`
  2587  
  2588  	// Suite run Id of the test suite run to be stopped.
  2589  	//
  2590  	// SuiteRunId is a required field
  2591  	SuiteRunId *string `location:"uri" locationName:"suiteRunId" min:"12" type:"string" required:"true"`
  2592  }
  2593  
  2594  // String returns the string representation.
  2595  //
  2596  // API parameter values that are decorated as "sensitive" in the API will not
  2597  // be included in the string output. The member name will be present, but the
  2598  // value will be replaced with "sensitive".
  2599  func (s StopSuiteRunInput) String() string {
  2600  	return awsutil.Prettify(s)
  2601  }
  2602  
  2603  // GoString returns the string representation.
  2604  //
  2605  // API parameter values that are decorated as "sensitive" in the API will not
  2606  // be included in the string output. The member name will be present, but the
  2607  // value will be replaced with "sensitive".
  2608  func (s StopSuiteRunInput) GoString() string {
  2609  	return s.String()
  2610  }
  2611  
  2612  // Validate inspects the fields of the type to determine if they are valid.
  2613  func (s *StopSuiteRunInput) Validate() error {
  2614  	invalidParams := request.ErrInvalidParams{Context: "StopSuiteRunInput"}
  2615  	if s.SuiteDefinitionId == nil {
  2616  		invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId"))
  2617  	}
  2618  	if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 12 {
  2619  		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 12))
  2620  	}
  2621  	if s.SuiteRunId == nil {
  2622  		invalidParams.Add(request.NewErrParamRequired("SuiteRunId"))
  2623  	}
  2624  	if s.SuiteRunId != nil && len(*s.SuiteRunId) < 12 {
  2625  		invalidParams.Add(request.NewErrParamMinLen("SuiteRunId", 12))
  2626  	}
  2627  
  2628  	if invalidParams.Len() > 0 {
  2629  		return invalidParams
  2630  	}
  2631  	return nil
  2632  }
  2633  
  2634  // SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
  2635  func (s *StopSuiteRunInput) SetSuiteDefinitionId(v string) *StopSuiteRunInput {
  2636  	s.SuiteDefinitionId = &v
  2637  	return s
  2638  }
  2639  
  2640  // SetSuiteRunId sets the SuiteRunId field's value.
  2641  func (s *StopSuiteRunInput) SetSuiteRunId(v string) *StopSuiteRunInput {
  2642  	s.SuiteRunId = &v
  2643  	return s
  2644  }
  2645  
  2646  type StopSuiteRunOutput struct {
  2647  	_ struct{} `type:"structure" nopayload:"true"`
  2648  }
  2649  
  2650  // String returns the string representation.
  2651  //
  2652  // API parameter values that are decorated as "sensitive" in the API will not
  2653  // be included in the string output. The member name will be present, but the
  2654  // value will be replaced with "sensitive".
  2655  func (s StopSuiteRunOutput) String() string {
  2656  	return awsutil.Prettify(s)
  2657  }
  2658  
  2659  // GoString returns the string representation.
  2660  //
  2661  // API parameter values that are decorated as "sensitive" in the API will not
  2662  // be included in the string output. The member name will be present, but the
  2663  // value will be replaced with "sensitive".
  2664  func (s StopSuiteRunOutput) GoString() string {
  2665  	return s.String()
  2666  }
  2667  
  2668  // Gets Suite Definition Configuration.
  2669  type SuiteDefinitionConfiguration struct {
  2670  	_ struct{} `type:"structure"`
  2671  
  2672  	// Gets device permission arn.
  2673  	DevicePermissionRoleArn *string `locationName:"devicePermissionRoleArn" min:"20" type:"string"`
  2674  
  2675  	// Gets the devices configured.
  2676  	Devices []*DeviceUnderTest `locationName:"devices" type:"list"`
  2677  
  2678  	// Gets the tests intended for qualification in a suite.
  2679  	IntendedForQualification *bool `locationName:"intendedForQualification" type:"boolean"`
  2680  
  2681  	// Gets test suite root group.
  2682  	RootGroup *string `locationName:"rootGroup" min:"1" type:"string"`
  2683  
  2684  	// Gets Suite Definition Configuration name.
  2685  	SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"`
  2686  }
  2687  
  2688  // String returns the string representation.
  2689  //
  2690  // API parameter values that are decorated as "sensitive" in the API will not
  2691  // be included in the string output. The member name will be present, but the
  2692  // value will be replaced with "sensitive".
  2693  func (s SuiteDefinitionConfiguration) String() string {
  2694  	return awsutil.Prettify(s)
  2695  }
  2696  
  2697  // GoString returns the string representation.
  2698  //
  2699  // API parameter values that are decorated as "sensitive" in the API will not
  2700  // be included in the string output. The member name will be present, but the
  2701  // value will be replaced with "sensitive".
  2702  func (s SuiteDefinitionConfiguration) GoString() string {
  2703  	return s.String()
  2704  }
  2705  
  2706  // Validate inspects the fields of the type to determine if they are valid.
  2707  func (s *SuiteDefinitionConfiguration) Validate() error {
  2708  	invalidParams := request.ErrInvalidParams{Context: "SuiteDefinitionConfiguration"}
  2709  	if s.DevicePermissionRoleArn != nil && len(*s.DevicePermissionRoleArn) < 20 {
  2710  		invalidParams.Add(request.NewErrParamMinLen("DevicePermissionRoleArn", 20))
  2711  	}
  2712  	if s.RootGroup != nil && len(*s.RootGroup) < 1 {
  2713  		invalidParams.Add(request.NewErrParamMinLen("RootGroup", 1))
  2714  	}
  2715  	if s.SuiteDefinitionName != nil && len(*s.SuiteDefinitionName) < 1 {
  2716  		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionName", 1))
  2717  	}
  2718  	if s.Devices != nil {
  2719  		for i, v := range s.Devices {
  2720  			if v == nil {
  2721  				continue
  2722  			}
  2723  			if err := v.Validate(); err != nil {
  2724  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams))
  2725  			}
  2726  		}
  2727  	}
  2728  
  2729  	if invalidParams.Len() > 0 {
  2730  		return invalidParams
  2731  	}
  2732  	return nil
  2733  }
  2734  
  2735  // SetDevicePermissionRoleArn sets the DevicePermissionRoleArn field's value.
  2736  func (s *SuiteDefinitionConfiguration) SetDevicePermissionRoleArn(v string) *SuiteDefinitionConfiguration {
  2737  	s.DevicePermissionRoleArn = &v
  2738  	return s
  2739  }
  2740  
  2741  // SetDevices sets the Devices field's value.
  2742  func (s *SuiteDefinitionConfiguration) SetDevices(v []*DeviceUnderTest) *SuiteDefinitionConfiguration {
  2743  	s.Devices = v
  2744  	return s
  2745  }
  2746  
  2747  // SetIntendedForQualification sets the IntendedForQualification field's value.
  2748  func (s *SuiteDefinitionConfiguration) SetIntendedForQualification(v bool) *SuiteDefinitionConfiguration {
  2749  	s.IntendedForQualification = &v
  2750  	return s
  2751  }
  2752  
  2753  // SetRootGroup sets the RootGroup field's value.
  2754  func (s *SuiteDefinitionConfiguration) SetRootGroup(v string) *SuiteDefinitionConfiguration {
  2755  	s.RootGroup = &v
  2756  	return s
  2757  }
  2758  
  2759  // SetSuiteDefinitionName sets the SuiteDefinitionName field's value.
  2760  func (s *SuiteDefinitionConfiguration) SetSuiteDefinitionName(v string) *SuiteDefinitionConfiguration {
  2761  	s.SuiteDefinitionName = &v
  2762  	return s
  2763  }
  2764  
  2765  // Information about the suite definition.
  2766  type SuiteDefinitionInformation struct {
  2767  	_ struct{} `type:"structure"`
  2768  
  2769  	// Date (in Unix epoch time) when the test suite was created.
  2770  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
  2771  
  2772  	// Specifies the devices under test for the test suite.
  2773  	DefaultDevices []*DeviceUnderTest `locationName:"defaultDevices" type:"list"`
  2774  
  2775  	// Specifies if the test suite is intended for qualification.
  2776  	IntendedForQualification *bool `locationName:"intendedForQualification" type:"boolean"`
  2777  
  2778  	// Suite definition Id of the test suite.
  2779  	SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"12" type:"string"`
  2780  
  2781  	// Suite name of the test suite.
  2782  	SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"`
  2783  }
  2784  
  2785  // String returns the string representation.
  2786  //
  2787  // API parameter values that are decorated as "sensitive" in the API will not
  2788  // be included in the string output. The member name will be present, but the
  2789  // value will be replaced with "sensitive".
  2790  func (s SuiteDefinitionInformation) String() string {
  2791  	return awsutil.Prettify(s)
  2792  }
  2793  
  2794  // GoString returns the string representation.
  2795  //
  2796  // API parameter values that are decorated as "sensitive" in the API will not
  2797  // be included in the string output. The member name will be present, but the
  2798  // value will be replaced with "sensitive".
  2799  func (s SuiteDefinitionInformation) GoString() string {
  2800  	return s.String()
  2801  }
  2802  
  2803  // SetCreatedAt sets the CreatedAt field's value.
  2804  func (s *SuiteDefinitionInformation) SetCreatedAt(v time.Time) *SuiteDefinitionInformation {
  2805  	s.CreatedAt = &v
  2806  	return s
  2807  }
  2808  
  2809  // SetDefaultDevices sets the DefaultDevices field's value.
  2810  func (s *SuiteDefinitionInformation) SetDefaultDevices(v []*DeviceUnderTest) *SuiteDefinitionInformation {
  2811  	s.DefaultDevices = v
  2812  	return s
  2813  }
  2814  
  2815  // SetIntendedForQualification sets the IntendedForQualification field's value.
  2816  func (s *SuiteDefinitionInformation) SetIntendedForQualification(v bool) *SuiteDefinitionInformation {
  2817  	s.IntendedForQualification = &v
  2818  	return s
  2819  }
  2820  
  2821  // SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
  2822  func (s *SuiteDefinitionInformation) SetSuiteDefinitionId(v string) *SuiteDefinitionInformation {
  2823  	s.SuiteDefinitionId = &v
  2824  	return s
  2825  }
  2826  
  2827  // SetSuiteDefinitionName sets the SuiteDefinitionName field's value.
  2828  func (s *SuiteDefinitionInformation) SetSuiteDefinitionName(v string) *SuiteDefinitionInformation {
  2829  	s.SuiteDefinitionName = &v
  2830  	return s
  2831  }
  2832  
  2833  // Gets suite run configuration.
  2834  type SuiteRunConfiguration struct {
  2835  	_ struct{} `type:"structure"`
  2836  
  2837  	// Gets the primary device for suite run.
  2838  	PrimaryDevice *DeviceUnderTest `locationName:"primaryDevice" type:"structure"`
  2839  
  2840  	// Gets test case list.
  2841  	SelectedTestList []*string `locationName:"selectedTestList" type:"list"`
  2842  }
  2843  
  2844  // String returns the string representation.
  2845  //
  2846  // API parameter values that are decorated as "sensitive" in the API will not
  2847  // be included in the string output. The member name will be present, but the
  2848  // value will be replaced with "sensitive".
  2849  func (s SuiteRunConfiguration) String() string {
  2850  	return awsutil.Prettify(s)
  2851  }
  2852  
  2853  // GoString returns the string representation.
  2854  //
  2855  // API parameter values that are decorated as "sensitive" in the API will not
  2856  // be included in the string output. The member name will be present, but the
  2857  // value will be replaced with "sensitive".
  2858  func (s SuiteRunConfiguration) GoString() string {
  2859  	return s.String()
  2860  }
  2861  
  2862  // Validate inspects the fields of the type to determine if they are valid.
  2863  func (s *SuiteRunConfiguration) Validate() error {
  2864  	invalidParams := request.ErrInvalidParams{Context: "SuiteRunConfiguration"}
  2865  	if s.PrimaryDevice != nil {
  2866  		if err := s.PrimaryDevice.Validate(); err != nil {
  2867  			invalidParams.AddNested("PrimaryDevice", err.(request.ErrInvalidParams))
  2868  		}
  2869  	}
  2870  
  2871  	if invalidParams.Len() > 0 {
  2872  		return invalidParams
  2873  	}
  2874  	return nil
  2875  }
  2876  
  2877  // SetPrimaryDevice sets the PrimaryDevice field's value.
  2878  func (s *SuiteRunConfiguration) SetPrimaryDevice(v *DeviceUnderTest) *SuiteRunConfiguration {
  2879  	s.PrimaryDevice = v
  2880  	return s
  2881  }
  2882  
  2883  // SetSelectedTestList sets the SelectedTestList field's value.
  2884  func (s *SuiteRunConfiguration) SetSelectedTestList(v []*string) *SuiteRunConfiguration {
  2885  	s.SelectedTestList = v
  2886  	return s
  2887  }
  2888  
  2889  // Information about the suite run.
  2890  type SuiteRunInformation struct {
  2891  	_ struct{} `type:"structure"`
  2892  
  2893  	// Date (in Unix epoch time) when the suite run was created.
  2894  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
  2895  
  2896  	// Date (in Unix epoch time) when the suite run ended.
  2897  	EndAt *time.Time `locationName:"endAt" type:"timestamp"`
  2898  
  2899  	// Number of test cases that failed in the suite run.
  2900  	Failed *int64 `locationName:"failed" type:"integer"`
  2901  
  2902  	// Number of test cases that passed in the suite run.
  2903  	Passed *int64 `locationName:"passed" type:"integer"`
  2904  
  2905  	// Date (in Unix epoch time) when the suite run was started.
  2906  	StartedAt *time.Time `locationName:"startedAt" type:"timestamp"`
  2907  
  2908  	// Status of the suite run.
  2909  	Status *string `locationName:"status" type:"string" enum:"SuiteRunStatus"`
  2910  
  2911  	// Suite definition Id of the suite run.
  2912  	SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"12" type:"string"`
  2913  
  2914  	// Suite definition name of the suite run.
  2915  	SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"`
  2916  
  2917  	// Suite definition version of the suite run.
  2918  	SuiteDefinitionVersion *string `locationName:"suiteDefinitionVersion" min:"2" type:"string"`
  2919  
  2920  	// Suite run Id of the suite run.
  2921  	SuiteRunId *string `locationName:"suiteRunId" min:"12" type:"string"`
  2922  }
  2923  
  2924  // String returns the string representation.
  2925  //
  2926  // API parameter values that are decorated as "sensitive" in the API will not
  2927  // be included in the string output. The member name will be present, but the
  2928  // value will be replaced with "sensitive".
  2929  func (s SuiteRunInformation) String() string {
  2930  	return awsutil.Prettify(s)
  2931  }
  2932  
  2933  // GoString returns the string representation.
  2934  //
  2935  // API parameter values that are decorated as "sensitive" in the API will not
  2936  // be included in the string output. The member name will be present, but the
  2937  // value will be replaced with "sensitive".
  2938  func (s SuiteRunInformation) GoString() string {
  2939  	return s.String()
  2940  }
  2941  
  2942  // SetCreatedAt sets the CreatedAt field's value.
  2943  func (s *SuiteRunInformation) SetCreatedAt(v time.Time) *SuiteRunInformation {
  2944  	s.CreatedAt = &v
  2945  	return s
  2946  }
  2947  
  2948  // SetEndAt sets the EndAt field's value.
  2949  func (s *SuiteRunInformation) SetEndAt(v time.Time) *SuiteRunInformation {
  2950  	s.EndAt = &v
  2951  	return s
  2952  }
  2953  
  2954  // SetFailed sets the Failed field's value.
  2955  func (s *SuiteRunInformation) SetFailed(v int64) *SuiteRunInformation {
  2956  	s.Failed = &v
  2957  	return s
  2958  }
  2959  
  2960  // SetPassed sets the Passed field's value.
  2961  func (s *SuiteRunInformation) SetPassed(v int64) *SuiteRunInformation {
  2962  	s.Passed = &v
  2963  	return s
  2964  }
  2965  
  2966  // SetStartedAt sets the StartedAt field's value.
  2967  func (s *SuiteRunInformation) SetStartedAt(v time.Time) *SuiteRunInformation {
  2968  	s.StartedAt = &v
  2969  	return s
  2970  }
  2971  
  2972  // SetStatus sets the Status field's value.
  2973  func (s *SuiteRunInformation) SetStatus(v string) *SuiteRunInformation {
  2974  	s.Status = &v
  2975  	return s
  2976  }
  2977  
  2978  // SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
  2979  func (s *SuiteRunInformation) SetSuiteDefinitionId(v string) *SuiteRunInformation {
  2980  	s.SuiteDefinitionId = &v
  2981  	return s
  2982  }
  2983  
  2984  // SetSuiteDefinitionName sets the SuiteDefinitionName field's value.
  2985  func (s *SuiteRunInformation) SetSuiteDefinitionName(v string) *SuiteRunInformation {
  2986  	s.SuiteDefinitionName = &v
  2987  	return s
  2988  }
  2989  
  2990  // SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value.
  2991  func (s *SuiteRunInformation) SetSuiteDefinitionVersion(v string) *SuiteRunInformation {
  2992  	s.SuiteDefinitionVersion = &v
  2993  	return s
  2994  }
  2995  
  2996  // SetSuiteRunId sets the SuiteRunId field's value.
  2997  func (s *SuiteRunInformation) SetSuiteRunId(v string) *SuiteRunInformation {
  2998  	s.SuiteRunId = &v
  2999  	return s
  3000  }
  3001  
  3002  type TagResourceInput struct {
  3003  	_ struct{} `type:"structure"`
  3004  
  3005  	// The resource ARN of an IoT Device Advisor resource.
  3006  	//
  3007  	// ResourceArn is a required field
  3008  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
  3009  
  3010  	// The tags to be attached to the IoT Device Advisor resource.
  3011  	//
  3012  	// Tags is a required field
  3013  	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
  3014  }
  3015  
  3016  // String returns the string representation.
  3017  //
  3018  // API parameter values that are decorated as "sensitive" in the API will not
  3019  // be included in the string output. The member name will be present, but the
  3020  // value will be replaced with "sensitive".
  3021  func (s TagResourceInput) String() string {
  3022  	return awsutil.Prettify(s)
  3023  }
  3024  
  3025  // GoString returns the string representation.
  3026  //
  3027  // API parameter values that are decorated as "sensitive" in the API will not
  3028  // be included in the string output. The member name will be present, but the
  3029  // value will be replaced with "sensitive".
  3030  func (s TagResourceInput) GoString() string {
  3031  	return s.String()
  3032  }
  3033  
  3034  // Validate inspects the fields of the type to determine if they are valid.
  3035  func (s *TagResourceInput) Validate() error {
  3036  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  3037  	if s.ResourceArn == nil {
  3038  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  3039  	}
  3040  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
  3041  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
  3042  	}
  3043  	if s.Tags == nil {
  3044  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  3045  	}
  3046  
  3047  	if invalidParams.Len() > 0 {
  3048  		return invalidParams
  3049  	}
  3050  	return nil
  3051  }
  3052  
  3053  // SetResourceArn sets the ResourceArn field's value.
  3054  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  3055  	s.ResourceArn = &v
  3056  	return s
  3057  }
  3058  
  3059  // SetTags sets the Tags field's value.
  3060  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
  3061  	s.Tags = v
  3062  	return s
  3063  }
  3064  
  3065  type TagResourceOutput struct {
  3066  	_ struct{} `type:"structure" nopayload:"true"`
  3067  }
  3068  
  3069  // String returns the string representation.
  3070  //
  3071  // API parameter values that are decorated as "sensitive" in the API will not
  3072  // be included in the string output. The member name will be present, but the
  3073  // value will be replaced with "sensitive".
  3074  func (s TagResourceOutput) String() string {
  3075  	return awsutil.Prettify(s)
  3076  }
  3077  
  3078  // GoString returns the string representation.
  3079  //
  3080  // API parameter values that are decorated as "sensitive" in the API will not
  3081  // be included in the string output. The member name will be present, but the
  3082  // value will be replaced with "sensitive".
  3083  func (s TagResourceOutput) GoString() string {
  3084  	return s.String()
  3085  }
  3086  
  3087  // Provides test case run.
  3088  type TestCaseRun struct {
  3089  	_ struct{} `type:"structure"`
  3090  
  3091  	// Provides test case run end time.
  3092  	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
  3093  
  3094  	// Provides test case run failure result.
  3095  	Failure *string `locationName:"failure" type:"string"`
  3096  
  3097  	// Provides test case run log Url.
  3098  	LogUrl *string `locationName:"logUrl" type:"string"`
  3099  
  3100  	// Provides test case run start time.
  3101  	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  3102  
  3103  	// Provides test case run status.
  3104  	Status *string `locationName:"status" type:"string" enum:"Status"`
  3105  
  3106  	// Provides test case run definition Id.
  3107  	TestCaseDefinitionId *string `locationName:"testCaseDefinitionId" min:"12" type:"string"`
  3108  
  3109  	// Provides test case run definition Name.
  3110  	TestCaseDefinitionName *string `locationName:"testCaseDefinitionName" type:"string"`
  3111  
  3112  	// Provides test case run Id.
  3113  	TestCaseRunId *string `locationName:"testCaseRunId" min:"12" type:"string"`
  3114  
  3115  	// Provides test case run warnings.
  3116  	Warnings *string `locationName:"warnings" type:"string"`
  3117  }
  3118  
  3119  // String returns the string representation.
  3120  //
  3121  // API parameter values that are decorated as "sensitive" in the API will not
  3122  // be included in the string output. The member name will be present, but the
  3123  // value will be replaced with "sensitive".
  3124  func (s TestCaseRun) String() string {
  3125  	return awsutil.Prettify(s)
  3126  }
  3127  
  3128  // GoString returns the string representation.
  3129  //
  3130  // API parameter values that are decorated as "sensitive" in the API will not
  3131  // be included in the string output. The member name will be present, but the
  3132  // value will be replaced with "sensitive".
  3133  func (s TestCaseRun) GoString() string {
  3134  	return s.String()
  3135  }
  3136  
  3137  // SetEndTime sets the EndTime field's value.
  3138  func (s *TestCaseRun) SetEndTime(v time.Time) *TestCaseRun {
  3139  	s.EndTime = &v
  3140  	return s
  3141  }
  3142  
  3143  // SetFailure sets the Failure field's value.
  3144  func (s *TestCaseRun) SetFailure(v string) *TestCaseRun {
  3145  	s.Failure = &v
  3146  	return s
  3147  }
  3148  
  3149  // SetLogUrl sets the LogUrl field's value.
  3150  func (s *TestCaseRun) SetLogUrl(v string) *TestCaseRun {
  3151  	s.LogUrl = &v
  3152  	return s
  3153  }
  3154  
  3155  // SetStartTime sets the StartTime field's value.
  3156  func (s *TestCaseRun) SetStartTime(v time.Time) *TestCaseRun {
  3157  	s.StartTime = &v
  3158  	return s
  3159  }
  3160  
  3161  // SetStatus sets the Status field's value.
  3162  func (s *TestCaseRun) SetStatus(v string) *TestCaseRun {
  3163  	s.Status = &v
  3164  	return s
  3165  }
  3166  
  3167  // SetTestCaseDefinitionId sets the TestCaseDefinitionId field's value.
  3168  func (s *TestCaseRun) SetTestCaseDefinitionId(v string) *TestCaseRun {
  3169  	s.TestCaseDefinitionId = &v
  3170  	return s
  3171  }
  3172  
  3173  // SetTestCaseDefinitionName sets the TestCaseDefinitionName field's value.
  3174  func (s *TestCaseRun) SetTestCaseDefinitionName(v string) *TestCaseRun {
  3175  	s.TestCaseDefinitionName = &v
  3176  	return s
  3177  }
  3178  
  3179  // SetTestCaseRunId sets the TestCaseRunId field's value.
  3180  func (s *TestCaseRun) SetTestCaseRunId(v string) *TestCaseRun {
  3181  	s.TestCaseRunId = &v
  3182  	return s
  3183  }
  3184  
  3185  // SetWarnings sets the Warnings field's value.
  3186  func (s *TestCaseRun) SetWarnings(v string) *TestCaseRun {
  3187  	s.Warnings = &v
  3188  	return s
  3189  }
  3190  
  3191  // Show each group result.
  3192  type TestResult struct {
  3193  	_ struct{} `type:"structure"`
  3194  
  3195  	// Show each group of test results.
  3196  	Groups []*GroupResult `locationName:"groups" type:"list"`
  3197  }
  3198  
  3199  // String returns the string representation.
  3200  //
  3201  // API parameter values that are decorated as "sensitive" in the API will not
  3202  // be included in the string output. The member name will be present, but the
  3203  // value will be replaced with "sensitive".
  3204  func (s TestResult) String() string {
  3205  	return awsutil.Prettify(s)
  3206  }
  3207  
  3208  // GoString returns the string representation.
  3209  //
  3210  // API parameter values that are decorated as "sensitive" in the API will not
  3211  // be included in the string output. The member name will be present, but the
  3212  // value will be replaced with "sensitive".
  3213  func (s TestResult) GoString() string {
  3214  	return s.String()
  3215  }
  3216  
  3217  // SetGroups sets the Groups field's value.
  3218  func (s *TestResult) SetGroups(v []*GroupResult) *TestResult {
  3219  	s.Groups = v
  3220  	return s
  3221  }
  3222  
  3223  type UntagResourceInput struct {
  3224  	_ struct{} `type:"structure" nopayload:"true"`
  3225  
  3226  	// The resource ARN of an IoT Device Advisor resource.
  3227  	//
  3228  	// ResourceArn is a required field
  3229  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
  3230  
  3231  	// List of tag keys to remove from the IoT Device Advisor resource.
  3232  	//
  3233  	// TagKeys is a required field
  3234  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
  3235  }
  3236  
  3237  // String returns the string representation.
  3238  //
  3239  // API parameter values that are decorated as "sensitive" in the API will not
  3240  // be included in the string output. The member name will be present, but the
  3241  // value will be replaced with "sensitive".
  3242  func (s UntagResourceInput) String() string {
  3243  	return awsutil.Prettify(s)
  3244  }
  3245  
  3246  // GoString returns the string representation.
  3247  //
  3248  // API parameter values that are decorated as "sensitive" in the API will not
  3249  // be included in the string output. The member name will be present, but the
  3250  // value will be replaced with "sensitive".
  3251  func (s UntagResourceInput) GoString() string {
  3252  	return s.String()
  3253  }
  3254  
  3255  // Validate inspects the fields of the type to determine if they are valid.
  3256  func (s *UntagResourceInput) Validate() error {
  3257  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  3258  	if s.ResourceArn == nil {
  3259  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  3260  	}
  3261  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
  3262  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
  3263  	}
  3264  	if s.TagKeys == nil {
  3265  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  3266  	}
  3267  
  3268  	if invalidParams.Len() > 0 {
  3269  		return invalidParams
  3270  	}
  3271  	return nil
  3272  }
  3273  
  3274  // SetResourceArn sets the ResourceArn field's value.
  3275  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  3276  	s.ResourceArn = &v
  3277  	return s
  3278  }
  3279  
  3280  // SetTagKeys sets the TagKeys field's value.
  3281  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  3282  	s.TagKeys = v
  3283  	return s
  3284  }
  3285  
  3286  type UntagResourceOutput struct {
  3287  	_ struct{} `type:"structure" nopayload:"true"`
  3288  }
  3289  
  3290  // String returns the string representation.
  3291  //
  3292  // API parameter values that are decorated as "sensitive" in the API will not
  3293  // be included in the string output. The member name will be present, but the
  3294  // value will be replaced with "sensitive".
  3295  func (s UntagResourceOutput) String() string {
  3296  	return awsutil.Prettify(s)
  3297  }
  3298  
  3299  // GoString returns the string representation.
  3300  //
  3301  // API parameter values that are decorated as "sensitive" in the API will not
  3302  // be included in the string output. The member name will be present, but the
  3303  // value will be replaced with "sensitive".
  3304  func (s UntagResourceOutput) GoString() string {
  3305  	return s.String()
  3306  }
  3307  
  3308  type UpdateSuiteDefinitionInput struct {
  3309  	_ struct{} `type:"structure"`
  3310  
  3311  	// Updates a Device Advisor test suite with suite definition configuration.
  3312  	SuiteDefinitionConfiguration *SuiteDefinitionConfiguration `locationName:"suiteDefinitionConfiguration" type:"structure"`
  3313  
  3314  	// Suite definition Id of the test suite to be updated.
  3315  	//
  3316  	// SuiteDefinitionId is a required field
  3317  	SuiteDefinitionId *string `location:"uri" locationName:"suiteDefinitionId" min:"12" type:"string" required:"true"`
  3318  }
  3319  
  3320  // String returns the string representation.
  3321  //
  3322  // API parameter values that are decorated as "sensitive" in the API will not
  3323  // be included in the string output. The member name will be present, but the
  3324  // value will be replaced with "sensitive".
  3325  func (s UpdateSuiteDefinitionInput) String() string {
  3326  	return awsutil.Prettify(s)
  3327  }
  3328  
  3329  // GoString returns the string representation.
  3330  //
  3331  // API parameter values that are decorated as "sensitive" in the API will not
  3332  // be included in the string output. The member name will be present, but the
  3333  // value will be replaced with "sensitive".
  3334  func (s UpdateSuiteDefinitionInput) GoString() string {
  3335  	return s.String()
  3336  }
  3337  
  3338  // Validate inspects the fields of the type to determine if they are valid.
  3339  func (s *UpdateSuiteDefinitionInput) Validate() error {
  3340  	invalidParams := request.ErrInvalidParams{Context: "UpdateSuiteDefinitionInput"}
  3341  	if s.SuiteDefinitionId == nil {
  3342  		invalidParams.Add(request.NewErrParamRequired("SuiteDefinitionId"))
  3343  	}
  3344  	if s.SuiteDefinitionId != nil && len(*s.SuiteDefinitionId) < 12 {
  3345  		invalidParams.Add(request.NewErrParamMinLen("SuiteDefinitionId", 12))
  3346  	}
  3347  	if s.SuiteDefinitionConfiguration != nil {
  3348  		if err := s.SuiteDefinitionConfiguration.Validate(); err != nil {
  3349  			invalidParams.AddNested("SuiteDefinitionConfiguration", err.(request.ErrInvalidParams))
  3350  		}
  3351  	}
  3352  
  3353  	if invalidParams.Len() > 0 {
  3354  		return invalidParams
  3355  	}
  3356  	return nil
  3357  }
  3358  
  3359  // SetSuiteDefinitionConfiguration sets the SuiteDefinitionConfiguration field's value.
  3360  func (s *UpdateSuiteDefinitionInput) SetSuiteDefinitionConfiguration(v *SuiteDefinitionConfiguration) *UpdateSuiteDefinitionInput {
  3361  	s.SuiteDefinitionConfiguration = v
  3362  	return s
  3363  }
  3364  
  3365  // SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
  3366  func (s *UpdateSuiteDefinitionInput) SetSuiteDefinitionId(v string) *UpdateSuiteDefinitionInput {
  3367  	s.SuiteDefinitionId = &v
  3368  	return s
  3369  }
  3370  
  3371  type UpdateSuiteDefinitionOutput struct {
  3372  	_ struct{} `type:"structure"`
  3373  
  3374  	// Timestamp of when the test suite was created.
  3375  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
  3376  
  3377  	// Timestamp of when the test suite was updated.
  3378  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
  3379  
  3380  	// Amazon Resource name of the updated test suite.
  3381  	SuiteDefinitionArn *string `locationName:"suiteDefinitionArn" min:"20" type:"string"`
  3382  
  3383  	// Suite definition Id of the updated test suite.
  3384  	SuiteDefinitionId *string `locationName:"suiteDefinitionId" min:"12" type:"string"`
  3385  
  3386  	// Suite definition name of the updated test suite.
  3387  	SuiteDefinitionName *string `locationName:"suiteDefinitionName" min:"1" type:"string"`
  3388  
  3389  	// Suite definition version of the updated test suite.
  3390  	SuiteDefinitionVersion *string `locationName:"suiteDefinitionVersion" min:"2" type:"string"`
  3391  }
  3392  
  3393  // String returns the string representation.
  3394  //
  3395  // API parameter values that are decorated as "sensitive" in the API will not
  3396  // be included in the string output. The member name will be present, but the
  3397  // value will be replaced with "sensitive".
  3398  func (s UpdateSuiteDefinitionOutput) String() string {
  3399  	return awsutil.Prettify(s)
  3400  }
  3401  
  3402  // GoString returns the string representation.
  3403  //
  3404  // API parameter values that are decorated as "sensitive" in the API will not
  3405  // be included in the string output. The member name will be present, but the
  3406  // value will be replaced with "sensitive".
  3407  func (s UpdateSuiteDefinitionOutput) GoString() string {
  3408  	return s.String()
  3409  }
  3410  
  3411  // SetCreatedAt sets the CreatedAt field's value.
  3412  func (s *UpdateSuiteDefinitionOutput) SetCreatedAt(v time.Time) *UpdateSuiteDefinitionOutput {
  3413  	s.CreatedAt = &v
  3414  	return s
  3415  }
  3416  
  3417  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
  3418  func (s *UpdateSuiteDefinitionOutput) SetLastUpdatedAt(v time.Time) *UpdateSuiteDefinitionOutput {
  3419  	s.LastUpdatedAt = &v
  3420  	return s
  3421  }
  3422  
  3423  // SetSuiteDefinitionArn sets the SuiteDefinitionArn field's value.
  3424  func (s *UpdateSuiteDefinitionOutput) SetSuiteDefinitionArn(v string) *UpdateSuiteDefinitionOutput {
  3425  	s.SuiteDefinitionArn = &v
  3426  	return s
  3427  }
  3428  
  3429  // SetSuiteDefinitionId sets the SuiteDefinitionId field's value.
  3430  func (s *UpdateSuiteDefinitionOutput) SetSuiteDefinitionId(v string) *UpdateSuiteDefinitionOutput {
  3431  	s.SuiteDefinitionId = &v
  3432  	return s
  3433  }
  3434  
  3435  // SetSuiteDefinitionName sets the SuiteDefinitionName field's value.
  3436  func (s *UpdateSuiteDefinitionOutput) SetSuiteDefinitionName(v string) *UpdateSuiteDefinitionOutput {
  3437  	s.SuiteDefinitionName = &v
  3438  	return s
  3439  }
  3440  
  3441  // SetSuiteDefinitionVersion sets the SuiteDefinitionVersion field's value.
  3442  func (s *UpdateSuiteDefinitionOutput) SetSuiteDefinitionVersion(v string) *UpdateSuiteDefinitionOutput {
  3443  	s.SuiteDefinitionVersion = &v
  3444  	return s
  3445  }
  3446  
  3447  // Sends invalid request exception.
  3448  type ValidationException struct {
  3449  	_            struct{}                  `type:"structure"`
  3450  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3451  
  3452  	// Sends invalid request exception message.
  3453  	Message_ *string `locationName:"message" min:"1" type:"string"`
  3454  }
  3455  
  3456  // String returns the string representation.
  3457  //
  3458  // API parameter values that are decorated as "sensitive" in the API will not
  3459  // be included in the string output. The member name will be present, but the
  3460  // value will be replaced with "sensitive".
  3461  func (s ValidationException) String() string {
  3462  	return awsutil.Prettify(s)
  3463  }
  3464  
  3465  // GoString returns the string representation.
  3466  //
  3467  // API parameter values that are decorated as "sensitive" in the API will not
  3468  // be included in the string output. The member name will be present, but the
  3469  // value will be replaced with "sensitive".
  3470  func (s ValidationException) GoString() string {
  3471  	return s.String()
  3472  }
  3473  
  3474  func newErrorValidationException(v protocol.ResponseMetadata) error {
  3475  	return &ValidationException{
  3476  		RespMetadata: v,
  3477  	}
  3478  }
  3479  
  3480  // Code returns the exception type name.
  3481  func (s *ValidationException) Code() string {
  3482  	return "ValidationException"
  3483  }
  3484  
  3485  // Message returns the exception's message.
  3486  func (s *ValidationException) Message() string {
  3487  	if s.Message_ != nil {
  3488  		return *s.Message_
  3489  	}
  3490  	return ""
  3491  }
  3492  
  3493  // OrigErr always returns nil, satisfies awserr.Error interface.
  3494  func (s *ValidationException) OrigErr() error {
  3495  	return nil
  3496  }
  3497  
  3498  func (s *ValidationException) Error() string {
  3499  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3500  }
  3501  
  3502  // Status code returns the HTTP status code for the request's response error.
  3503  func (s *ValidationException) StatusCode() int {
  3504  	return s.RespMetadata.StatusCode
  3505  }
  3506  
  3507  // RequestID returns the service's response RequestID for request.
  3508  func (s *ValidationException) RequestID() string {
  3509  	return s.RespMetadata.RequestID
  3510  }
  3511  
  3512  const (
  3513  	// StatusPass is a Status enum value
  3514  	StatusPass = "PASS"
  3515  
  3516  	// StatusFail is a Status enum value
  3517  	StatusFail = "FAIL"
  3518  
  3519  	// StatusCanceled is a Status enum value
  3520  	StatusCanceled = "CANCELED"
  3521  
  3522  	// StatusPending is a Status enum value
  3523  	StatusPending = "PENDING"
  3524  
  3525  	// StatusRunning is a Status enum value
  3526  	StatusRunning = "RUNNING"
  3527  
  3528  	// StatusStopping is a Status enum value
  3529  	StatusStopping = "STOPPING"
  3530  
  3531  	// StatusStopped is a Status enum value
  3532  	StatusStopped = "STOPPED"
  3533  
  3534  	// StatusPassWithWarnings is a Status enum value
  3535  	StatusPassWithWarnings = "PASS_WITH_WARNINGS"
  3536  
  3537  	// StatusError is a Status enum value
  3538  	StatusError = "ERROR"
  3539  )
  3540  
  3541  // Status_Values returns all elements of the Status enum
  3542  func Status_Values() []string {
  3543  	return []string{
  3544  		StatusPass,
  3545  		StatusFail,
  3546  		StatusCanceled,
  3547  		StatusPending,
  3548  		StatusRunning,
  3549  		StatusStopping,
  3550  		StatusStopped,
  3551  		StatusPassWithWarnings,
  3552  		StatusError,
  3553  	}
  3554  }
  3555  
  3556  const (
  3557  	// SuiteRunStatusPass is a SuiteRunStatus enum value
  3558  	SuiteRunStatusPass = "PASS"
  3559  
  3560  	// SuiteRunStatusFail is a SuiteRunStatus enum value
  3561  	SuiteRunStatusFail = "FAIL"
  3562  
  3563  	// SuiteRunStatusCanceled is a SuiteRunStatus enum value
  3564  	SuiteRunStatusCanceled = "CANCELED"
  3565  
  3566  	// SuiteRunStatusPending is a SuiteRunStatus enum value
  3567  	SuiteRunStatusPending = "PENDING"
  3568  
  3569  	// SuiteRunStatusRunning is a SuiteRunStatus enum value
  3570  	SuiteRunStatusRunning = "RUNNING"
  3571  
  3572  	// SuiteRunStatusStopping is a SuiteRunStatus enum value
  3573  	SuiteRunStatusStopping = "STOPPING"
  3574  
  3575  	// SuiteRunStatusStopped is a SuiteRunStatus enum value
  3576  	SuiteRunStatusStopped = "STOPPED"
  3577  
  3578  	// SuiteRunStatusPassWithWarnings is a SuiteRunStatus enum value
  3579  	SuiteRunStatusPassWithWarnings = "PASS_WITH_WARNINGS"
  3580  
  3581  	// SuiteRunStatusError is a SuiteRunStatus enum value
  3582  	SuiteRunStatusError = "ERROR"
  3583  )
  3584  
  3585  // SuiteRunStatus_Values returns all elements of the SuiteRunStatus enum
  3586  func SuiteRunStatus_Values() []string {
  3587  	return []string{
  3588  		SuiteRunStatusPass,
  3589  		SuiteRunStatusFail,
  3590  		SuiteRunStatusCanceled,
  3591  		SuiteRunStatusPending,
  3592  		SuiteRunStatusRunning,
  3593  		SuiteRunStatusStopping,
  3594  		SuiteRunStatusStopped,
  3595  		SuiteRunStatusPassWithWarnings,
  3596  		SuiteRunStatusError,
  3597  	}
  3598  }