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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package devicefarm
     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/jsonrpc"
    14  )
    15  
    16  const opCreateDevicePool = "CreateDevicePool"
    17  
    18  // CreateDevicePoolRequest generates a "aws/request.Request" representing the
    19  // client's request for the CreateDevicePool 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 CreateDevicePool for more information on using the CreateDevicePool
    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 CreateDevicePoolRequest method.
    34  //    req, resp := client.CreateDevicePoolRequest(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/devicefarm-2015-06-23/CreateDevicePool
    42  func (c *DeviceFarm) CreateDevicePoolRequest(input *CreateDevicePoolInput) (req *request.Request, output *CreateDevicePoolOutput) {
    43  	op := &request.Operation{
    44  		Name:       opCreateDevicePool,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &CreateDevicePoolInput{}
    51  	}
    52  
    53  	output = &CreateDevicePoolOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // CreateDevicePool API operation for AWS Device Farm.
    59  //
    60  // Creates a device pool.
    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 Device Farm's
    67  // API operation CreateDevicePool for usage and error information.
    68  //
    69  // Returned Error Types:
    70  //   * ArgumentException
    71  //   An invalid argument was specified.
    72  //
    73  //   * NotFoundException
    74  //   The specified entity was not found.
    75  //
    76  //   * LimitExceededException
    77  //   A limit was exceeded.
    78  //
    79  //   * ServiceAccountException
    80  //   There was a problem with the service account.
    81  //
    82  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateDevicePool
    83  func (c *DeviceFarm) CreateDevicePool(input *CreateDevicePoolInput) (*CreateDevicePoolOutput, error) {
    84  	req, out := c.CreateDevicePoolRequest(input)
    85  	return out, req.Send()
    86  }
    87  
    88  // CreateDevicePoolWithContext is the same as CreateDevicePool with the addition of
    89  // the ability to pass a context and additional request options.
    90  //
    91  // See CreateDevicePool for details on how to use this API operation.
    92  //
    93  // The context must be non-nil and will be used for request cancellation. If
    94  // the context is nil a panic will occur. In the future the SDK may create
    95  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    96  // for more information on using Contexts.
    97  func (c *DeviceFarm) CreateDevicePoolWithContext(ctx aws.Context, input *CreateDevicePoolInput, opts ...request.Option) (*CreateDevicePoolOutput, error) {
    98  	req, out := c.CreateDevicePoolRequest(input)
    99  	req.SetContext(ctx)
   100  	req.ApplyOptions(opts...)
   101  	return out, req.Send()
   102  }
   103  
   104  const opCreateInstanceProfile = "CreateInstanceProfile"
   105  
   106  // CreateInstanceProfileRequest generates a "aws/request.Request" representing the
   107  // client's request for the CreateInstanceProfile operation. The "output" return
   108  // value will be populated with the request's response once the request completes
   109  // successfully.
   110  //
   111  // Use "Send" method on the returned Request to send the API call to the service.
   112  // the "output" return value is not valid until after Send returns without error.
   113  //
   114  // See CreateInstanceProfile for more information on using the CreateInstanceProfile
   115  // API call, and error handling.
   116  //
   117  // This method is useful when you want to inject custom logic or configuration
   118  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   119  //
   120  //
   121  //    // Example sending a request using the CreateInstanceProfileRequest method.
   122  //    req, resp := client.CreateInstanceProfileRequest(params)
   123  //
   124  //    err := req.Send()
   125  //    if err == nil { // resp is now filled
   126  //        fmt.Println(resp)
   127  //    }
   128  //
   129  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateInstanceProfile
   130  func (c *DeviceFarm) CreateInstanceProfileRequest(input *CreateInstanceProfileInput) (req *request.Request, output *CreateInstanceProfileOutput) {
   131  	op := &request.Operation{
   132  		Name:       opCreateInstanceProfile,
   133  		HTTPMethod: "POST",
   134  		HTTPPath:   "/",
   135  	}
   136  
   137  	if input == nil {
   138  		input = &CreateInstanceProfileInput{}
   139  	}
   140  
   141  	output = &CreateInstanceProfileOutput{}
   142  	req = c.newRequest(op, input, output)
   143  	return
   144  }
   145  
   146  // CreateInstanceProfile API operation for AWS Device Farm.
   147  //
   148  // Creates a profile that can be applied to one or more private fleet device
   149  // instances.
   150  //
   151  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   152  // with awserr.Error's Code and Message methods to get detailed information about
   153  // the error.
   154  //
   155  // See the AWS API reference guide for AWS Device Farm's
   156  // API operation CreateInstanceProfile for usage and error information.
   157  //
   158  // Returned Error Types:
   159  //   * ArgumentException
   160  //   An invalid argument was specified.
   161  //
   162  //   * NotFoundException
   163  //   The specified entity was not found.
   164  //
   165  //   * LimitExceededException
   166  //   A limit was exceeded.
   167  //
   168  //   * ServiceAccountException
   169  //   There was a problem with the service account.
   170  //
   171  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateInstanceProfile
   172  func (c *DeviceFarm) CreateInstanceProfile(input *CreateInstanceProfileInput) (*CreateInstanceProfileOutput, error) {
   173  	req, out := c.CreateInstanceProfileRequest(input)
   174  	return out, req.Send()
   175  }
   176  
   177  // CreateInstanceProfileWithContext is the same as CreateInstanceProfile with the addition of
   178  // the ability to pass a context and additional request options.
   179  //
   180  // See CreateInstanceProfile for details on how to use this API operation.
   181  //
   182  // The context must be non-nil and will be used for request cancellation. If
   183  // the context is nil a panic will occur. In the future the SDK may create
   184  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   185  // for more information on using Contexts.
   186  func (c *DeviceFarm) CreateInstanceProfileWithContext(ctx aws.Context, input *CreateInstanceProfileInput, opts ...request.Option) (*CreateInstanceProfileOutput, error) {
   187  	req, out := c.CreateInstanceProfileRequest(input)
   188  	req.SetContext(ctx)
   189  	req.ApplyOptions(opts...)
   190  	return out, req.Send()
   191  }
   192  
   193  const opCreateNetworkProfile = "CreateNetworkProfile"
   194  
   195  // CreateNetworkProfileRequest generates a "aws/request.Request" representing the
   196  // client's request for the CreateNetworkProfile operation. The "output" return
   197  // value will be populated with the request's response once the request completes
   198  // successfully.
   199  //
   200  // Use "Send" method on the returned Request to send the API call to the service.
   201  // the "output" return value is not valid until after Send returns without error.
   202  //
   203  // See CreateNetworkProfile for more information on using the CreateNetworkProfile
   204  // API call, and error handling.
   205  //
   206  // This method is useful when you want to inject custom logic or configuration
   207  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   208  //
   209  //
   210  //    // Example sending a request using the CreateNetworkProfileRequest method.
   211  //    req, resp := client.CreateNetworkProfileRequest(params)
   212  //
   213  //    err := req.Send()
   214  //    if err == nil { // resp is now filled
   215  //        fmt.Println(resp)
   216  //    }
   217  //
   218  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateNetworkProfile
   219  func (c *DeviceFarm) CreateNetworkProfileRequest(input *CreateNetworkProfileInput) (req *request.Request, output *CreateNetworkProfileOutput) {
   220  	op := &request.Operation{
   221  		Name:       opCreateNetworkProfile,
   222  		HTTPMethod: "POST",
   223  		HTTPPath:   "/",
   224  	}
   225  
   226  	if input == nil {
   227  		input = &CreateNetworkProfileInput{}
   228  	}
   229  
   230  	output = &CreateNetworkProfileOutput{}
   231  	req = c.newRequest(op, input, output)
   232  	return
   233  }
   234  
   235  // CreateNetworkProfile API operation for AWS Device Farm.
   236  //
   237  // Creates a network profile.
   238  //
   239  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   240  // with awserr.Error's Code and Message methods to get detailed information about
   241  // the error.
   242  //
   243  // See the AWS API reference guide for AWS Device Farm's
   244  // API operation CreateNetworkProfile for usage and error information.
   245  //
   246  // Returned Error Types:
   247  //   * ArgumentException
   248  //   An invalid argument was specified.
   249  //
   250  //   * NotFoundException
   251  //   The specified entity was not found.
   252  //
   253  //   * LimitExceededException
   254  //   A limit was exceeded.
   255  //
   256  //   * ServiceAccountException
   257  //   There was a problem with the service account.
   258  //
   259  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateNetworkProfile
   260  func (c *DeviceFarm) CreateNetworkProfile(input *CreateNetworkProfileInput) (*CreateNetworkProfileOutput, error) {
   261  	req, out := c.CreateNetworkProfileRequest(input)
   262  	return out, req.Send()
   263  }
   264  
   265  // CreateNetworkProfileWithContext is the same as CreateNetworkProfile with the addition of
   266  // the ability to pass a context and additional request options.
   267  //
   268  // See CreateNetworkProfile for details on how to use this API operation.
   269  //
   270  // The context must be non-nil and will be used for request cancellation. If
   271  // the context is nil a panic will occur. In the future the SDK may create
   272  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   273  // for more information on using Contexts.
   274  func (c *DeviceFarm) CreateNetworkProfileWithContext(ctx aws.Context, input *CreateNetworkProfileInput, opts ...request.Option) (*CreateNetworkProfileOutput, error) {
   275  	req, out := c.CreateNetworkProfileRequest(input)
   276  	req.SetContext(ctx)
   277  	req.ApplyOptions(opts...)
   278  	return out, req.Send()
   279  }
   280  
   281  const opCreateProject = "CreateProject"
   282  
   283  // CreateProjectRequest generates a "aws/request.Request" representing the
   284  // client's request for the CreateProject operation. The "output" return
   285  // value will be populated with the request's response once the request completes
   286  // successfully.
   287  //
   288  // Use "Send" method on the returned Request to send the API call to the service.
   289  // the "output" return value is not valid until after Send returns without error.
   290  //
   291  // See CreateProject for more information on using the CreateProject
   292  // API call, and error handling.
   293  //
   294  // This method is useful when you want to inject custom logic or configuration
   295  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   296  //
   297  //
   298  //    // Example sending a request using the CreateProjectRequest method.
   299  //    req, resp := client.CreateProjectRequest(params)
   300  //
   301  //    err := req.Send()
   302  //    if err == nil { // resp is now filled
   303  //        fmt.Println(resp)
   304  //    }
   305  //
   306  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateProject
   307  func (c *DeviceFarm) CreateProjectRequest(input *CreateProjectInput) (req *request.Request, output *CreateProjectOutput) {
   308  	op := &request.Operation{
   309  		Name:       opCreateProject,
   310  		HTTPMethod: "POST",
   311  		HTTPPath:   "/",
   312  	}
   313  
   314  	if input == nil {
   315  		input = &CreateProjectInput{}
   316  	}
   317  
   318  	output = &CreateProjectOutput{}
   319  	req = c.newRequest(op, input, output)
   320  	return
   321  }
   322  
   323  // CreateProject API operation for AWS Device Farm.
   324  //
   325  // Creates a project.
   326  //
   327  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   328  // with awserr.Error's Code and Message methods to get detailed information about
   329  // the error.
   330  //
   331  // See the AWS API reference guide for AWS Device Farm's
   332  // API operation CreateProject for usage and error information.
   333  //
   334  // Returned Error Types:
   335  //   * ArgumentException
   336  //   An invalid argument was specified.
   337  //
   338  //   * NotFoundException
   339  //   The specified entity was not found.
   340  //
   341  //   * LimitExceededException
   342  //   A limit was exceeded.
   343  //
   344  //   * ServiceAccountException
   345  //   There was a problem with the service account.
   346  //
   347  //   * TagOperationException
   348  //   The operation was not successful. Try again.
   349  //
   350  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateProject
   351  func (c *DeviceFarm) CreateProject(input *CreateProjectInput) (*CreateProjectOutput, error) {
   352  	req, out := c.CreateProjectRequest(input)
   353  	return out, req.Send()
   354  }
   355  
   356  // CreateProjectWithContext is the same as CreateProject with the addition of
   357  // the ability to pass a context and additional request options.
   358  //
   359  // See CreateProject for details on how to use this API operation.
   360  //
   361  // The context must be non-nil and will be used for request cancellation. If
   362  // the context is nil a panic will occur. In the future the SDK may create
   363  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   364  // for more information on using Contexts.
   365  func (c *DeviceFarm) CreateProjectWithContext(ctx aws.Context, input *CreateProjectInput, opts ...request.Option) (*CreateProjectOutput, error) {
   366  	req, out := c.CreateProjectRequest(input)
   367  	req.SetContext(ctx)
   368  	req.ApplyOptions(opts...)
   369  	return out, req.Send()
   370  }
   371  
   372  const opCreateRemoteAccessSession = "CreateRemoteAccessSession"
   373  
   374  // CreateRemoteAccessSessionRequest generates a "aws/request.Request" representing the
   375  // client's request for the CreateRemoteAccessSession operation. The "output" return
   376  // value will be populated with the request's response once the request completes
   377  // successfully.
   378  //
   379  // Use "Send" method on the returned Request to send the API call to the service.
   380  // the "output" return value is not valid until after Send returns without error.
   381  //
   382  // See CreateRemoteAccessSession for more information on using the CreateRemoteAccessSession
   383  // API call, and error handling.
   384  //
   385  // This method is useful when you want to inject custom logic or configuration
   386  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   387  //
   388  //
   389  //    // Example sending a request using the CreateRemoteAccessSessionRequest method.
   390  //    req, resp := client.CreateRemoteAccessSessionRequest(params)
   391  //
   392  //    err := req.Send()
   393  //    if err == nil { // resp is now filled
   394  //        fmt.Println(resp)
   395  //    }
   396  //
   397  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateRemoteAccessSession
   398  func (c *DeviceFarm) CreateRemoteAccessSessionRequest(input *CreateRemoteAccessSessionInput) (req *request.Request, output *CreateRemoteAccessSessionOutput) {
   399  	op := &request.Operation{
   400  		Name:       opCreateRemoteAccessSession,
   401  		HTTPMethod: "POST",
   402  		HTTPPath:   "/",
   403  	}
   404  
   405  	if input == nil {
   406  		input = &CreateRemoteAccessSessionInput{}
   407  	}
   408  
   409  	output = &CreateRemoteAccessSessionOutput{}
   410  	req = c.newRequest(op, input, output)
   411  	return
   412  }
   413  
   414  // CreateRemoteAccessSession API operation for AWS Device Farm.
   415  //
   416  // Specifies and starts a remote access session.
   417  //
   418  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   419  // with awserr.Error's Code and Message methods to get detailed information about
   420  // the error.
   421  //
   422  // See the AWS API reference guide for AWS Device Farm's
   423  // API operation CreateRemoteAccessSession for usage and error information.
   424  //
   425  // Returned Error Types:
   426  //   * ArgumentException
   427  //   An invalid argument was specified.
   428  //
   429  //   * NotFoundException
   430  //   The specified entity was not found.
   431  //
   432  //   * LimitExceededException
   433  //   A limit was exceeded.
   434  //
   435  //   * ServiceAccountException
   436  //   There was a problem with the service account.
   437  //
   438  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateRemoteAccessSession
   439  func (c *DeviceFarm) CreateRemoteAccessSession(input *CreateRemoteAccessSessionInput) (*CreateRemoteAccessSessionOutput, error) {
   440  	req, out := c.CreateRemoteAccessSessionRequest(input)
   441  	return out, req.Send()
   442  }
   443  
   444  // CreateRemoteAccessSessionWithContext is the same as CreateRemoteAccessSession with the addition of
   445  // the ability to pass a context and additional request options.
   446  //
   447  // See CreateRemoteAccessSession for details on how to use this API operation.
   448  //
   449  // The context must be non-nil and will be used for request cancellation. If
   450  // the context is nil a panic will occur. In the future the SDK may create
   451  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   452  // for more information on using Contexts.
   453  func (c *DeviceFarm) CreateRemoteAccessSessionWithContext(ctx aws.Context, input *CreateRemoteAccessSessionInput, opts ...request.Option) (*CreateRemoteAccessSessionOutput, error) {
   454  	req, out := c.CreateRemoteAccessSessionRequest(input)
   455  	req.SetContext(ctx)
   456  	req.ApplyOptions(opts...)
   457  	return out, req.Send()
   458  }
   459  
   460  const opCreateTestGridProject = "CreateTestGridProject"
   461  
   462  // CreateTestGridProjectRequest generates a "aws/request.Request" representing the
   463  // client's request for the CreateTestGridProject operation. The "output" return
   464  // value will be populated with the request's response once the request completes
   465  // successfully.
   466  //
   467  // Use "Send" method on the returned Request to send the API call to the service.
   468  // the "output" return value is not valid until after Send returns without error.
   469  //
   470  // See CreateTestGridProject for more information on using the CreateTestGridProject
   471  // API call, and error handling.
   472  //
   473  // This method is useful when you want to inject custom logic or configuration
   474  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   475  //
   476  //
   477  //    // Example sending a request using the CreateTestGridProjectRequest method.
   478  //    req, resp := client.CreateTestGridProjectRequest(params)
   479  //
   480  //    err := req.Send()
   481  //    if err == nil { // resp is now filled
   482  //        fmt.Println(resp)
   483  //    }
   484  //
   485  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateTestGridProject
   486  func (c *DeviceFarm) CreateTestGridProjectRequest(input *CreateTestGridProjectInput) (req *request.Request, output *CreateTestGridProjectOutput) {
   487  	op := &request.Operation{
   488  		Name:       opCreateTestGridProject,
   489  		HTTPMethod: "POST",
   490  		HTTPPath:   "/",
   491  	}
   492  
   493  	if input == nil {
   494  		input = &CreateTestGridProjectInput{}
   495  	}
   496  
   497  	output = &CreateTestGridProjectOutput{}
   498  	req = c.newRequest(op, input, output)
   499  	return
   500  }
   501  
   502  // CreateTestGridProject API operation for AWS Device Farm.
   503  //
   504  // Creates a Selenium testing project. Projects are used to track TestGridSession
   505  // instances.
   506  //
   507  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   508  // with awserr.Error's Code and Message methods to get detailed information about
   509  // the error.
   510  //
   511  // See the AWS API reference guide for AWS Device Farm's
   512  // API operation CreateTestGridProject for usage and error information.
   513  //
   514  // Returned Error Types:
   515  //   * ArgumentException
   516  //   An invalid argument was specified.
   517  //
   518  //   * LimitExceededException
   519  //   A limit was exceeded.
   520  //
   521  //   * InternalServiceException
   522  //   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
   523  //   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
   524  //
   525  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateTestGridProject
   526  func (c *DeviceFarm) CreateTestGridProject(input *CreateTestGridProjectInput) (*CreateTestGridProjectOutput, error) {
   527  	req, out := c.CreateTestGridProjectRequest(input)
   528  	return out, req.Send()
   529  }
   530  
   531  // CreateTestGridProjectWithContext is the same as CreateTestGridProject with the addition of
   532  // the ability to pass a context and additional request options.
   533  //
   534  // See CreateTestGridProject for details on how to use this API operation.
   535  //
   536  // The context must be non-nil and will be used for request cancellation. If
   537  // the context is nil a panic will occur. In the future the SDK may create
   538  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   539  // for more information on using Contexts.
   540  func (c *DeviceFarm) CreateTestGridProjectWithContext(ctx aws.Context, input *CreateTestGridProjectInput, opts ...request.Option) (*CreateTestGridProjectOutput, error) {
   541  	req, out := c.CreateTestGridProjectRequest(input)
   542  	req.SetContext(ctx)
   543  	req.ApplyOptions(opts...)
   544  	return out, req.Send()
   545  }
   546  
   547  const opCreateTestGridUrl = "CreateTestGridUrl"
   548  
   549  // CreateTestGridUrlRequest generates a "aws/request.Request" representing the
   550  // client's request for the CreateTestGridUrl operation. The "output" return
   551  // value will be populated with the request's response once the request completes
   552  // successfully.
   553  //
   554  // Use "Send" method on the returned Request to send the API call to the service.
   555  // the "output" return value is not valid until after Send returns without error.
   556  //
   557  // See CreateTestGridUrl for more information on using the CreateTestGridUrl
   558  // API call, and error handling.
   559  //
   560  // This method is useful when you want to inject custom logic or configuration
   561  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   562  //
   563  //
   564  //    // Example sending a request using the CreateTestGridUrlRequest method.
   565  //    req, resp := client.CreateTestGridUrlRequest(params)
   566  //
   567  //    err := req.Send()
   568  //    if err == nil { // resp is now filled
   569  //        fmt.Println(resp)
   570  //    }
   571  //
   572  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateTestGridUrl
   573  func (c *DeviceFarm) CreateTestGridUrlRequest(input *CreateTestGridUrlInput) (req *request.Request, output *CreateTestGridUrlOutput) {
   574  	op := &request.Operation{
   575  		Name:       opCreateTestGridUrl,
   576  		HTTPMethod: "POST",
   577  		HTTPPath:   "/",
   578  	}
   579  
   580  	if input == nil {
   581  		input = &CreateTestGridUrlInput{}
   582  	}
   583  
   584  	output = &CreateTestGridUrlOutput{}
   585  	req = c.newRequest(op, input, output)
   586  	return
   587  }
   588  
   589  // CreateTestGridUrl API operation for AWS Device Farm.
   590  //
   591  // Creates a signed, short-term URL that can be passed to a Selenium RemoteWebDriver
   592  // constructor.
   593  //
   594  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   595  // with awserr.Error's Code and Message methods to get detailed information about
   596  // the error.
   597  //
   598  // See the AWS API reference guide for AWS Device Farm's
   599  // API operation CreateTestGridUrl for usage and error information.
   600  //
   601  // Returned Error Types:
   602  //   * NotFoundException
   603  //   The specified entity was not found.
   604  //
   605  //   * ArgumentException
   606  //   An invalid argument was specified.
   607  //
   608  //   * InternalServiceException
   609  //   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
   610  //   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
   611  //
   612  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateTestGridUrl
   613  func (c *DeviceFarm) CreateTestGridUrl(input *CreateTestGridUrlInput) (*CreateTestGridUrlOutput, error) {
   614  	req, out := c.CreateTestGridUrlRequest(input)
   615  	return out, req.Send()
   616  }
   617  
   618  // CreateTestGridUrlWithContext is the same as CreateTestGridUrl with the addition of
   619  // the ability to pass a context and additional request options.
   620  //
   621  // See CreateTestGridUrl for details on how to use this API operation.
   622  //
   623  // The context must be non-nil and will be used for request cancellation. If
   624  // the context is nil a panic will occur. In the future the SDK may create
   625  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   626  // for more information on using Contexts.
   627  func (c *DeviceFarm) CreateTestGridUrlWithContext(ctx aws.Context, input *CreateTestGridUrlInput, opts ...request.Option) (*CreateTestGridUrlOutput, error) {
   628  	req, out := c.CreateTestGridUrlRequest(input)
   629  	req.SetContext(ctx)
   630  	req.ApplyOptions(opts...)
   631  	return out, req.Send()
   632  }
   633  
   634  const opCreateUpload = "CreateUpload"
   635  
   636  // CreateUploadRequest generates a "aws/request.Request" representing the
   637  // client's request for the CreateUpload operation. The "output" return
   638  // value will be populated with the request's response once the request completes
   639  // successfully.
   640  //
   641  // Use "Send" method on the returned Request to send the API call to the service.
   642  // the "output" return value is not valid until after Send returns without error.
   643  //
   644  // See CreateUpload for more information on using the CreateUpload
   645  // API call, and error handling.
   646  //
   647  // This method is useful when you want to inject custom logic or configuration
   648  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   649  //
   650  //
   651  //    // Example sending a request using the CreateUploadRequest method.
   652  //    req, resp := client.CreateUploadRequest(params)
   653  //
   654  //    err := req.Send()
   655  //    if err == nil { // resp is now filled
   656  //        fmt.Println(resp)
   657  //    }
   658  //
   659  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateUpload
   660  func (c *DeviceFarm) CreateUploadRequest(input *CreateUploadInput) (req *request.Request, output *CreateUploadOutput) {
   661  	op := &request.Operation{
   662  		Name:       opCreateUpload,
   663  		HTTPMethod: "POST",
   664  		HTTPPath:   "/",
   665  	}
   666  
   667  	if input == nil {
   668  		input = &CreateUploadInput{}
   669  	}
   670  
   671  	output = &CreateUploadOutput{}
   672  	req = c.newRequest(op, input, output)
   673  	return
   674  }
   675  
   676  // CreateUpload API operation for AWS Device Farm.
   677  //
   678  // Uploads an app or test scripts.
   679  //
   680  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   681  // with awserr.Error's Code and Message methods to get detailed information about
   682  // the error.
   683  //
   684  // See the AWS API reference guide for AWS Device Farm's
   685  // API operation CreateUpload for usage and error information.
   686  //
   687  // Returned Error Types:
   688  //   * ArgumentException
   689  //   An invalid argument was specified.
   690  //
   691  //   * NotFoundException
   692  //   The specified entity was not found.
   693  //
   694  //   * LimitExceededException
   695  //   A limit was exceeded.
   696  //
   697  //   * ServiceAccountException
   698  //   There was a problem with the service account.
   699  //
   700  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateUpload
   701  func (c *DeviceFarm) CreateUpload(input *CreateUploadInput) (*CreateUploadOutput, error) {
   702  	req, out := c.CreateUploadRequest(input)
   703  	return out, req.Send()
   704  }
   705  
   706  // CreateUploadWithContext is the same as CreateUpload with the addition of
   707  // the ability to pass a context and additional request options.
   708  //
   709  // See CreateUpload for details on how to use this API operation.
   710  //
   711  // The context must be non-nil and will be used for request cancellation. If
   712  // the context is nil a panic will occur. In the future the SDK may create
   713  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   714  // for more information on using Contexts.
   715  func (c *DeviceFarm) CreateUploadWithContext(ctx aws.Context, input *CreateUploadInput, opts ...request.Option) (*CreateUploadOutput, error) {
   716  	req, out := c.CreateUploadRequest(input)
   717  	req.SetContext(ctx)
   718  	req.ApplyOptions(opts...)
   719  	return out, req.Send()
   720  }
   721  
   722  const opCreateVPCEConfiguration = "CreateVPCEConfiguration"
   723  
   724  // CreateVPCEConfigurationRequest generates a "aws/request.Request" representing the
   725  // client's request for the CreateVPCEConfiguration operation. The "output" return
   726  // value will be populated with the request's response once the request completes
   727  // successfully.
   728  //
   729  // Use "Send" method on the returned Request to send the API call to the service.
   730  // the "output" return value is not valid until after Send returns without error.
   731  //
   732  // See CreateVPCEConfiguration for more information on using the CreateVPCEConfiguration
   733  // API call, and error handling.
   734  //
   735  // This method is useful when you want to inject custom logic or configuration
   736  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   737  //
   738  //
   739  //    // Example sending a request using the CreateVPCEConfigurationRequest method.
   740  //    req, resp := client.CreateVPCEConfigurationRequest(params)
   741  //
   742  //    err := req.Send()
   743  //    if err == nil { // resp is now filled
   744  //        fmt.Println(resp)
   745  //    }
   746  //
   747  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateVPCEConfiguration
   748  func (c *DeviceFarm) CreateVPCEConfigurationRequest(input *CreateVPCEConfigurationInput) (req *request.Request, output *CreateVPCEConfigurationOutput) {
   749  	op := &request.Operation{
   750  		Name:       opCreateVPCEConfiguration,
   751  		HTTPMethod: "POST",
   752  		HTTPPath:   "/",
   753  	}
   754  
   755  	if input == nil {
   756  		input = &CreateVPCEConfigurationInput{}
   757  	}
   758  
   759  	output = &CreateVPCEConfigurationOutput{}
   760  	req = c.newRequest(op, input, output)
   761  	return
   762  }
   763  
   764  // CreateVPCEConfiguration API operation for AWS Device Farm.
   765  //
   766  // Creates a configuration record in Device Farm for your Amazon Virtual Private
   767  // Cloud (VPC) endpoint.
   768  //
   769  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   770  // with awserr.Error's Code and Message methods to get detailed information about
   771  // the error.
   772  //
   773  // See the AWS API reference guide for AWS Device Farm's
   774  // API operation CreateVPCEConfiguration for usage and error information.
   775  //
   776  // Returned Error Types:
   777  //   * ArgumentException
   778  //   An invalid argument was specified.
   779  //
   780  //   * LimitExceededException
   781  //   A limit was exceeded.
   782  //
   783  //   * ServiceAccountException
   784  //   There was a problem with the service account.
   785  //
   786  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateVPCEConfiguration
   787  func (c *DeviceFarm) CreateVPCEConfiguration(input *CreateVPCEConfigurationInput) (*CreateVPCEConfigurationOutput, error) {
   788  	req, out := c.CreateVPCEConfigurationRequest(input)
   789  	return out, req.Send()
   790  }
   791  
   792  // CreateVPCEConfigurationWithContext is the same as CreateVPCEConfiguration with the addition of
   793  // the ability to pass a context and additional request options.
   794  //
   795  // See CreateVPCEConfiguration for details on how to use this API operation.
   796  //
   797  // The context must be non-nil and will be used for request cancellation. If
   798  // the context is nil a panic will occur. In the future the SDK may create
   799  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   800  // for more information on using Contexts.
   801  func (c *DeviceFarm) CreateVPCEConfigurationWithContext(ctx aws.Context, input *CreateVPCEConfigurationInput, opts ...request.Option) (*CreateVPCEConfigurationOutput, error) {
   802  	req, out := c.CreateVPCEConfigurationRequest(input)
   803  	req.SetContext(ctx)
   804  	req.ApplyOptions(opts...)
   805  	return out, req.Send()
   806  }
   807  
   808  const opDeleteDevicePool = "DeleteDevicePool"
   809  
   810  // DeleteDevicePoolRequest generates a "aws/request.Request" representing the
   811  // client's request for the DeleteDevicePool operation. The "output" return
   812  // value will be populated with the request's response once the request completes
   813  // successfully.
   814  //
   815  // Use "Send" method on the returned Request to send the API call to the service.
   816  // the "output" return value is not valid until after Send returns without error.
   817  //
   818  // See DeleteDevicePool for more information on using the DeleteDevicePool
   819  // API call, and error handling.
   820  //
   821  // This method is useful when you want to inject custom logic or configuration
   822  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   823  //
   824  //
   825  //    // Example sending a request using the DeleteDevicePoolRequest method.
   826  //    req, resp := client.DeleteDevicePoolRequest(params)
   827  //
   828  //    err := req.Send()
   829  //    if err == nil { // resp is now filled
   830  //        fmt.Println(resp)
   831  //    }
   832  //
   833  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteDevicePool
   834  func (c *DeviceFarm) DeleteDevicePoolRequest(input *DeleteDevicePoolInput) (req *request.Request, output *DeleteDevicePoolOutput) {
   835  	op := &request.Operation{
   836  		Name:       opDeleteDevicePool,
   837  		HTTPMethod: "POST",
   838  		HTTPPath:   "/",
   839  	}
   840  
   841  	if input == nil {
   842  		input = &DeleteDevicePoolInput{}
   843  	}
   844  
   845  	output = &DeleteDevicePoolOutput{}
   846  	req = c.newRequest(op, input, output)
   847  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   848  	return
   849  }
   850  
   851  // DeleteDevicePool API operation for AWS Device Farm.
   852  //
   853  // Deletes a device pool given the pool ARN. Does not allow deletion of curated
   854  // pools owned by the system.
   855  //
   856  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   857  // with awserr.Error's Code and Message methods to get detailed information about
   858  // the error.
   859  //
   860  // See the AWS API reference guide for AWS Device Farm's
   861  // API operation DeleteDevicePool for usage and error information.
   862  //
   863  // Returned Error Types:
   864  //   * ArgumentException
   865  //   An invalid argument was specified.
   866  //
   867  //   * NotFoundException
   868  //   The specified entity was not found.
   869  //
   870  //   * LimitExceededException
   871  //   A limit was exceeded.
   872  //
   873  //   * ServiceAccountException
   874  //   There was a problem with the service account.
   875  //
   876  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteDevicePool
   877  func (c *DeviceFarm) DeleteDevicePool(input *DeleteDevicePoolInput) (*DeleteDevicePoolOutput, error) {
   878  	req, out := c.DeleteDevicePoolRequest(input)
   879  	return out, req.Send()
   880  }
   881  
   882  // DeleteDevicePoolWithContext is the same as DeleteDevicePool with the addition of
   883  // the ability to pass a context and additional request options.
   884  //
   885  // See DeleteDevicePool for details on how to use this API operation.
   886  //
   887  // The context must be non-nil and will be used for request cancellation. If
   888  // the context is nil a panic will occur. In the future the SDK may create
   889  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   890  // for more information on using Contexts.
   891  func (c *DeviceFarm) DeleteDevicePoolWithContext(ctx aws.Context, input *DeleteDevicePoolInput, opts ...request.Option) (*DeleteDevicePoolOutput, error) {
   892  	req, out := c.DeleteDevicePoolRequest(input)
   893  	req.SetContext(ctx)
   894  	req.ApplyOptions(opts...)
   895  	return out, req.Send()
   896  }
   897  
   898  const opDeleteInstanceProfile = "DeleteInstanceProfile"
   899  
   900  // DeleteInstanceProfileRequest generates a "aws/request.Request" representing the
   901  // client's request for the DeleteInstanceProfile operation. The "output" return
   902  // value will be populated with the request's response once the request completes
   903  // successfully.
   904  //
   905  // Use "Send" method on the returned Request to send the API call to the service.
   906  // the "output" return value is not valid until after Send returns without error.
   907  //
   908  // See DeleteInstanceProfile for more information on using the DeleteInstanceProfile
   909  // API call, and error handling.
   910  //
   911  // This method is useful when you want to inject custom logic or configuration
   912  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   913  //
   914  //
   915  //    // Example sending a request using the DeleteInstanceProfileRequest method.
   916  //    req, resp := client.DeleteInstanceProfileRequest(params)
   917  //
   918  //    err := req.Send()
   919  //    if err == nil { // resp is now filled
   920  //        fmt.Println(resp)
   921  //    }
   922  //
   923  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteInstanceProfile
   924  func (c *DeviceFarm) DeleteInstanceProfileRequest(input *DeleteInstanceProfileInput) (req *request.Request, output *DeleteInstanceProfileOutput) {
   925  	op := &request.Operation{
   926  		Name:       opDeleteInstanceProfile,
   927  		HTTPMethod: "POST",
   928  		HTTPPath:   "/",
   929  	}
   930  
   931  	if input == nil {
   932  		input = &DeleteInstanceProfileInput{}
   933  	}
   934  
   935  	output = &DeleteInstanceProfileOutput{}
   936  	req = c.newRequest(op, input, output)
   937  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   938  	return
   939  }
   940  
   941  // DeleteInstanceProfile API operation for AWS Device Farm.
   942  //
   943  // Deletes a profile that can be applied to one or more private device instances.
   944  //
   945  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   946  // with awserr.Error's Code and Message methods to get detailed information about
   947  // the error.
   948  //
   949  // See the AWS API reference guide for AWS Device Farm's
   950  // API operation DeleteInstanceProfile for usage and error information.
   951  //
   952  // Returned Error Types:
   953  //   * ArgumentException
   954  //   An invalid argument was specified.
   955  //
   956  //   * NotFoundException
   957  //   The specified entity was not found.
   958  //
   959  //   * LimitExceededException
   960  //   A limit was exceeded.
   961  //
   962  //   * ServiceAccountException
   963  //   There was a problem with the service account.
   964  //
   965  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteInstanceProfile
   966  func (c *DeviceFarm) DeleteInstanceProfile(input *DeleteInstanceProfileInput) (*DeleteInstanceProfileOutput, error) {
   967  	req, out := c.DeleteInstanceProfileRequest(input)
   968  	return out, req.Send()
   969  }
   970  
   971  // DeleteInstanceProfileWithContext is the same as DeleteInstanceProfile with the addition of
   972  // the ability to pass a context and additional request options.
   973  //
   974  // See DeleteInstanceProfile for details on how to use this API operation.
   975  //
   976  // The context must be non-nil and will be used for request cancellation. If
   977  // the context is nil a panic will occur. In the future the SDK may create
   978  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   979  // for more information on using Contexts.
   980  func (c *DeviceFarm) DeleteInstanceProfileWithContext(ctx aws.Context, input *DeleteInstanceProfileInput, opts ...request.Option) (*DeleteInstanceProfileOutput, error) {
   981  	req, out := c.DeleteInstanceProfileRequest(input)
   982  	req.SetContext(ctx)
   983  	req.ApplyOptions(opts...)
   984  	return out, req.Send()
   985  }
   986  
   987  const opDeleteNetworkProfile = "DeleteNetworkProfile"
   988  
   989  // DeleteNetworkProfileRequest generates a "aws/request.Request" representing the
   990  // client's request for the DeleteNetworkProfile operation. The "output" return
   991  // value will be populated with the request's response once the request completes
   992  // successfully.
   993  //
   994  // Use "Send" method on the returned Request to send the API call to the service.
   995  // the "output" return value is not valid until after Send returns without error.
   996  //
   997  // See DeleteNetworkProfile for more information on using the DeleteNetworkProfile
   998  // API call, and error handling.
   999  //
  1000  // This method is useful when you want to inject custom logic or configuration
  1001  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1002  //
  1003  //
  1004  //    // Example sending a request using the DeleteNetworkProfileRequest method.
  1005  //    req, resp := client.DeleteNetworkProfileRequest(params)
  1006  //
  1007  //    err := req.Send()
  1008  //    if err == nil { // resp is now filled
  1009  //        fmt.Println(resp)
  1010  //    }
  1011  //
  1012  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteNetworkProfile
  1013  func (c *DeviceFarm) DeleteNetworkProfileRequest(input *DeleteNetworkProfileInput) (req *request.Request, output *DeleteNetworkProfileOutput) {
  1014  	op := &request.Operation{
  1015  		Name:       opDeleteNetworkProfile,
  1016  		HTTPMethod: "POST",
  1017  		HTTPPath:   "/",
  1018  	}
  1019  
  1020  	if input == nil {
  1021  		input = &DeleteNetworkProfileInput{}
  1022  	}
  1023  
  1024  	output = &DeleteNetworkProfileOutput{}
  1025  	req = c.newRequest(op, input, output)
  1026  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1027  	return
  1028  }
  1029  
  1030  // DeleteNetworkProfile API operation for AWS Device Farm.
  1031  //
  1032  // Deletes a network profile.
  1033  //
  1034  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1035  // with awserr.Error's Code and Message methods to get detailed information about
  1036  // the error.
  1037  //
  1038  // See the AWS API reference guide for AWS Device Farm's
  1039  // API operation DeleteNetworkProfile for usage and error information.
  1040  //
  1041  // Returned Error Types:
  1042  //   * ArgumentException
  1043  //   An invalid argument was specified.
  1044  //
  1045  //   * NotFoundException
  1046  //   The specified entity was not found.
  1047  //
  1048  //   * LimitExceededException
  1049  //   A limit was exceeded.
  1050  //
  1051  //   * ServiceAccountException
  1052  //   There was a problem with the service account.
  1053  //
  1054  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteNetworkProfile
  1055  func (c *DeviceFarm) DeleteNetworkProfile(input *DeleteNetworkProfileInput) (*DeleteNetworkProfileOutput, error) {
  1056  	req, out := c.DeleteNetworkProfileRequest(input)
  1057  	return out, req.Send()
  1058  }
  1059  
  1060  // DeleteNetworkProfileWithContext is the same as DeleteNetworkProfile with the addition of
  1061  // the ability to pass a context and additional request options.
  1062  //
  1063  // See DeleteNetworkProfile for details on how to use this API operation.
  1064  //
  1065  // The context must be non-nil and will be used for request cancellation. If
  1066  // the context is nil a panic will occur. In the future the SDK may create
  1067  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1068  // for more information on using Contexts.
  1069  func (c *DeviceFarm) DeleteNetworkProfileWithContext(ctx aws.Context, input *DeleteNetworkProfileInput, opts ...request.Option) (*DeleteNetworkProfileOutput, error) {
  1070  	req, out := c.DeleteNetworkProfileRequest(input)
  1071  	req.SetContext(ctx)
  1072  	req.ApplyOptions(opts...)
  1073  	return out, req.Send()
  1074  }
  1075  
  1076  const opDeleteProject = "DeleteProject"
  1077  
  1078  // DeleteProjectRequest generates a "aws/request.Request" representing the
  1079  // client's request for the DeleteProject operation. The "output" return
  1080  // value will be populated with the request's response once the request completes
  1081  // successfully.
  1082  //
  1083  // Use "Send" method on the returned Request to send the API call to the service.
  1084  // the "output" return value is not valid until after Send returns without error.
  1085  //
  1086  // See DeleteProject for more information on using the DeleteProject
  1087  // API call, and error handling.
  1088  //
  1089  // This method is useful when you want to inject custom logic or configuration
  1090  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1091  //
  1092  //
  1093  //    // Example sending a request using the DeleteProjectRequest method.
  1094  //    req, resp := client.DeleteProjectRequest(params)
  1095  //
  1096  //    err := req.Send()
  1097  //    if err == nil { // resp is now filled
  1098  //        fmt.Println(resp)
  1099  //    }
  1100  //
  1101  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteProject
  1102  func (c *DeviceFarm) DeleteProjectRequest(input *DeleteProjectInput) (req *request.Request, output *DeleteProjectOutput) {
  1103  	op := &request.Operation{
  1104  		Name:       opDeleteProject,
  1105  		HTTPMethod: "POST",
  1106  		HTTPPath:   "/",
  1107  	}
  1108  
  1109  	if input == nil {
  1110  		input = &DeleteProjectInput{}
  1111  	}
  1112  
  1113  	output = &DeleteProjectOutput{}
  1114  	req = c.newRequest(op, input, output)
  1115  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1116  	return
  1117  }
  1118  
  1119  // DeleteProject API operation for AWS Device Farm.
  1120  //
  1121  // Deletes an AWS Device Farm project, given the project ARN.
  1122  //
  1123  // Deleting this resource does not stop an in-progress run.
  1124  //
  1125  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1126  // with awserr.Error's Code and Message methods to get detailed information about
  1127  // the error.
  1128  //
  1129  // See the AWS API reference guide for AWS Device Farm's
  1130  // API operation DeleteProject for usage and error information.
  1131  //
  1132  // Returned Error Types:
  1133  //   * ArgumentException
  1134  //   An invalid argument was specified.
  1135  //
  1136  //   * NotFoundException
  1137  //   The specified entity was not found.
  1138  //
  1139  //   * LimitExceededException
  1140  //   A limit was exceeded.
  1141  //
  1142  //   * ServiceAccountException
  1143  //   There was a problem with the service account.
  1144  //
  1145  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteProject
  1146  func (c *DeviceFarm) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) {
  1147  	req, out := c.DeleteProjectRequest(input)
  1148  	return out, req.Send()
  1149  }
  1150  
  1151  // DeleteProjectWithContext is the same as DeleteProject with the addition of
  1152  // the ability to pass a context and additional request options.
  1153  //
  1154  // See DeleteProject for details on how to use this API operation.
  1155  //
  1156  // The context must be non-nil and will be used for request cancellation. If
  1157  // the context is nil a panic will occur. In the future the SDK may create
  1158  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1159  // for more information on using Contexts.
  1160  func (c *DeviceFarm) DeleteProjectWithContext(ctx aws.Context, input *DeleteProjectInput, opts ...request.Option) (*DeleteProjectOutput, error) {
  1161  	req, out := c.DeleteProjectRequest(input)
  1162  	req.SetContext(ctx)
  1163  	req.ApplyOptions(opts...)
  1164  	return out, req.Send()
  1165  }
  1166  
  1167  const opDeleteRemoteAccessSession = "DeleteRemoteAccessSession"
  1168  
  1169  // DeleteRemoteAccessSessionRequest generates a "aws/request.Request" representing the
  1170  // client's request for the DeleteRemoteAccessSession operation. The "output" return
  1171  // value will be populated with the request's response once the request completes
  1172  // successfully.
  1173  //
  1174  // Use "Send" method on the returned Request to send the API call to the service.
  1175  // the "output" return value is not valid until after Send returns without error.
  1176  //
  1177  // See DeleteRemoteAccessSession for more information on using the DeleteRemoteAccessSession
  1178  // API call, and error handling.
  1179  //
  1180  // This method is useful when you want to inject custom logic or configuration
  1181  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1182  //
  1183  //
  1184  //    // Example sending a request using the DeleteRemoteAccessSessionRequest method.
  1185  //    req, resp := client.DeleteRemoteAccessSessionRequest(params)
  1186  //
  1187  //    err := req.Send()
  1188  //    if err == nil { // resp is now filled
  1189  //        fmt.Println(resp)
  1190  //    }
  1191  //
  1192  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRemoteAccessSession
  1193  func (c *DeviceFarm) DeleteRemoteAccessSessionRequest(input *DeleteRemoteAccessSessionInput) (req *request.Request, output *DeleteRemoteAccessSessionOutput) {
  1194  	op := &request.Operation{
  1195  		Name:       opDeleteRemoteAccessSession,
  1196  		HTTPMethod: "POST",
  1197  		HTTPPath:   "/",
  1198  	}
  1199  
  1200  	if input == nil {
  1201  		input = &DeleteRemoteAccessSessionInput{}
  1202  	}
  1203  
  1204  	output = &DeleteRemoteAccessSessionOutput{}
  1205  	req = c.newRequest(op, input, output)
  1206  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1207  	return
  1208  }
  1209  
  1210  // DeleteRemoteAccessSession API operation for AWS Device Farm.
  1211  //
  1212  // Deletes a completed remote access session and its results.
  1213  //
  1214  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1215  // with awserr.Error's Code and Message methods to get detailed information about
  1216  // the error.
  1217  //
  1218  // See the AWS API reference guide for AWS Device Farm's
  1219  // API operation DeleteRemoteAccessSession for usage and error information.
  1220  //
  1221  // Returned Error Types:
  1222  //   * ArgumentException
  1223  //   An invalid argument was specified.
  1224  //
  1225  //   * NotFoundException
  1226  //   The specified entity was not found.
  1227  //
  1228  //   * LimitExceededException
  1229  //   A limit was exceeded.
  1230  //
  1231  //   * ServiceAccountException
  1232  //   There was a problem with the service account.
  1233  //
  1234  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRemoteAccessSession
  1235  func (c *DeviceFarm) DeleteRemoteAccessSession(input *DeleteRemoteAccessSessionInput) (*DeleteRemoteAccessSessionOutput, error) {
  1236  	req, out := c.DeleteRemoteAccessSessionRequest(input)
  1237  	return out, req.Send()
  1238  }
  1239  
  1240  // DeleteRemoteAccessSessionWithContext is the same as DeleteRemoteAccessSession with the addition of
  1241  // the ability to pass a context and additional request options.
  1242  //
  1243  // See DeleteRemoteAccessSession for details on how to use this API operation.
  1244  //
  1245  // The context must be non-nil and will be used for request cancellation. If
  1246  // the context is nil a panic will occur. In the future the SDK may create
  1247  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1248  // for more information on using Contexts.
  1249  func (c *DeviceFarm) DeleteRemoteAccessSessionWithContext(ctx aws.Context, input *DeleteRemoteAccessSessionInput, opts ...request.Option) (*DeleteRemoteAccessSessionOutput, error) {
  1250  	req, out := c.DeleteRemoteAccessSessionRequest(input)
  1251  	req.SetContext(ctx)
  1252  	req.ApplyOptions(opts...)
  1253  	return out, req.Send()
  1254  }
  1255  
  1256  const opDeleteRun = "DeleteRun"
  1257  
  1258  // DeleteRunRequest generates a "aws/request.Request" representing the
  1259  // client's request for the DeleteRun operation. The "output" return
  1260  // value will be populated with the request's response once the request completes
  1261  // successfully.
  1262  //
  1263  // Use "Send" method on the returned Request to send the API call to the service.
  1264  // the "output" return value is not valid until after Send returns without error.
  1265  //
  1266  // See DeleteRun for more information on using the DeleteRun
  1267  // API call, and error handling.
  1268  //
  1269  // This method is useful when you want to inject custom logic or configuration
  1270  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1271  //
  1272  //
  1273  //    // Example sending a request using the DeleteRunRequest method.
  1274  //    req, resp := client.DeleteRunRequest(params)
  1275  //
  1276  //    err := req.Send()
  1277  //    if err == nil { // resp is now filled
  1278  //        fmt.Println(resp)
  1279  //    }
  1280  //
  1281  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRun
  1282  func (c *DeviceFarm) DeleteRunRequest(input *DeleteRunInput) (req *request.Request, output *DeleteRunOutput) {
  1283  	op := &request.Operation{
  1284  		Name:       opDeleteRun,
  1285  		HTTPMethod: "POST",
  1286  		HTTPPath:   "/",
  1287  	}
  1288  
  1289  	if input == nil {
  1290  		input = &DeleteRunInput{}
  1291  	}
  1292  
  1293  	output = &DeleteRunOutput{}
  1294  	req = c.newRequest(op, input, output)
  1295  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1296  	return
  1297  }
  1298  
  1299  // DeleteRun API operation for AWS Device Farm.
  1300  //
  1301  // Deletes the run, given the run ARN.
  1302  //
  1303  // Deleting this resource does not stop an in-progress run.
  1304  //
  1305  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1306  // with awserr.Error's Code and Message methods to get detailed information about
  1307  // the error.
  1308  //
  1309  // See the AWS API reference guide for AWS Device Farm's
  1310  // API operation DeleteRun for usage and error information.
  1311  //
  1312  // Returned Error Types:
  1313  //   * ArgumentException
  1314  //   An invalid argument was specified.
  1315  //
  1316  //   * NotFoundException
  1317  //   The specified entity was not found.
  1318  //
  1319  //   * LimitExceededException
  1320  //   A limit was exceeded.
  1321  //
  1322  //   * ServiceAccountException
  1323  //   There was a problem with the service account.
  1324  //
  1325  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRun
  1326  func (c *DeviceFarm) DeleteRun(input *DeleteRunInput) (*DeleteRunOutput, error) {
  1327  	req, out := c.DeleteRunRequest(input)
  1328  	return out, req.Send()
  1329  }
  1330  
  1331  // DeleteRunWithContext is the same as DeleteRun with the addition of
  1332  // the ability to pass a context and additional request options.
  1333  //
  1334  // See DeleteRun for details on how to use this API operation.
  1335  //
  1336  // The context must be non-nil and will be used for request cancellation. If
  1337  // the context is nil a panic will occur. In the future the SDK may create
  1338  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1339  // for more information on using Contexts.
  1340  func (c *DeviceFarm) DeleteRunWithContext(ctx aws.Context, input *DeleteRunInput, opts ...request.Option) (*DeleteRunOutput, error) {
  1341  	req, out := c.DeleteRunRequest(input)
  1342  	req.SetContext(ctx)
  1343  	req.ApplyOptions(opts...)
  1344  	return out, req.Send()
  1345  }
  1346  
  1347  const opDeleteTestGridProject = "DeleteTestGridProject"
  1348  
  1349  // DeleteTestGridProjectRequest generates a "aws/request.Request" representing the
  1350  // client's request for the DeleteTestGridProject operation. The "output" return
  1351  // value will be populated with the request's response once the request completes
  1352  // successfully.
  1353  //
  1354  // Use "Send" method on the returned Request to send the API call to the service.
  1355  // the "output" return value is not valid until after Send returns without error.
  1356  //
  1357  // See DeleteTestGridProject for more information on using the DeleteTestGridProject
  1358  // API call, and error handling.
  1359  //
  1360  // This method is useful when you want to inject custom logic or configuration
  1361  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1362  //
  1363  //
  1364  //    // Example sending a request using the DeleteTestGridProjectRequest method.
  1365  //    req, resp := client.DeleteTestGridProjectRequest(params)
  1366  //
  1367  //    err := req.Send()
  1368  //    if err == nil { // resp is now filled
  1369  //        fmt.Println(resp)
  1370  //    }
  1371  //
  1372  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteTestGridProject
  1373  func (c *DeviceFarm) DeleteTestGridProjectRequest(input *DeleteTestGridProjectInput) (req *request.Request, output *DeleteTestGridProjectOutput) {
  1374  	op := &request.Operation{
  1375  		Name:       opDeleteTestGridProject,
  1376  		HTTPMethod: "POST",
  1377  		HTTPPath:   "/",
  1378  	}
  1379  
  1380  	if input == nil {
  1381  		input = &DeleteTestGridProjectInput{}
  1382  	}
  1383  
  1384  	output = &DeleteTestGridProjectOutput{}
  1385  	req = c.newRequest(op, input, output)
  1386  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1387  	return
  1388  }
  1389  
  1390  // DeleteTestGridProject API operation for AWS Device Farm.
  1391  //
  1392  // Deletes a Selenium testing project and all content generated under it.
  1393  //
  1394  // You cannot undo this operation.
  1395  //
  1396  // You cannot delete a project if it has active sessions.
  1397  //
  1398  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1399  // with awserr.Error's Code and Message methods to get detailed information about
  1400  // the error.
  1401  //
  1402  // See the AWS API reference guide for AWS Device Farm's
  1403  // API operation DeleteTestGridProject for usage and error information.
  1404  //
  1405  // Returned Error Types:
  1406  //   * NotFoundException
  1407  //   The specified entity was not found.
  1408  //
  1409  //   * ArgumentException
  1410  //   An invalid argument was specified.
  1411  //
  1412  //   * CannotDeleteException
  1413  //   The requested object could not be deleted.
  1414  //
  1415  //   * InternalServiceException
  1416  //   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
  1417  //   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
  1418  //
  1419  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteTestGridProject
  1420  func (c *DeviceFarm) DeleteTestGridProject(input *DeleteTestGridProjectInput) (*DeleteTestGridProjectOutput, error) {
  1421  	req, out := c.DeleteTestGridProjectRequest(input)
  1422  	return out, req.Send()
  1423  }
  1424  
  1425  // DeleteTestGridProjectWithContext is the same as DeleteTestGridProject with the addition of
  1426  // the ability to pass a context and additional request options.
  1427  //
  1428  // See DeleteTestGridProject for details on how to use this API operation.
  1429  //
  1430  // The context must be non-nil and will be used for request cancellation. If
  1431  // the context is nil a panic will occur. In the future the SDK may create
  1432  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1433  // for more information on using Contexts.
  1434  func (c *DeviceFarm) DeleteTestGridProjectWithContext(ctx aws.Context, input *DeleteTestGridProjectInput, opts ...request.Option) (*DeleteTestGridProjectOutput, error) {
  1435  	req, out := c.DeleteTestGridProjectRequest(input)
  1436  	req.SetContext(ctx)
  1437  	req.ApplyOptions(opts...)
  1438  	return out, req.Send()
  1439  }
  1440  
  1441  const opDeleteUpload = "DeleteUpload"
  1442  
  1443  // DeleteUploadRequest generates a "aws/request.Request" representing the
  1444  // client's request for the DeleteUpload operation. The "output" return
  1445  // value will be populated with the request's response once the request completes
  1446  // successfully.
  1447  //
  1448  // Use "Send" method on the returned Request to send the API call to the service.
  1449  // the "output" return value is not valid until after Send returns without error.
  1450  //
  1451  // See DeleteUpload for more information on using the DeleteUpload
  1452  // API call, and error handling.
  1453  //
  1454  // This method is useful when you want to inject custom logic or configuration
  1455  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1456  //
  1457  //
  1458  //    // Example sending a request using the DeleteUploadRequest method.
  1459  //    req, resp := client.DeleteUploadRequest(params)
  1460  //
  1461  //    err := req.Send()
  1462  //    if err == nil { // resp is now filled
  1463  //        fmt.Println(resp)
  1464  //    }
  1465  //
  1466  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteUpload
  1467  func (c *DeviceFarm) DeleteUploadRequest(input *DeleteUploadInput) (req *request.Request, output *DeleteUploadOutput) {
  1468  	op := &request.Operation{
  1469  		Name:       opDeleteUpload,
  1470  		HTTPMethod: "POST",
  1471  		HTTPPath:   "/",
  1472  	}
  1473  
  1474  	if input == nil {
  1475  		input = &DeleteUploadInput{}
  1476  	}
  1477  
  1478  	output = &DeleteUploadOutput{}
  1479  	req = c.newRequest(op, input, output)
  1480  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1481  	return
  1482  }
  1483  
  1484  // DeleteUpload API operation for AWS Device Farm.
  1485  //
  1486  // Deletes an upload given the upload ARN.
  1487  //
  1488  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1489  // with awserr.Error's Code and Message methods to get detailed information about
  1490  // the error.
  1491  //
  1492  // See the AWS API reference guide for AWS Device Farm's
  1493  // API operation DeleteUpload for usage and error information.
  1494  //
  1495  // Returned Error Types:
  1496  //   * ArgumentException
  1497  //   An invalid argument was specified.
  1498  //
  1499  //   * NotFoundException
  1500  //   The specified entity was not found.
  1501  //
  1502  //   * LimitExceededException
  1503  //   A limit was exceeded.
  1504  //
  1505  //   * ServiceAccountException
  1506  //   There was a problem with the service account.
  1507  //
  1508  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteUpload
  1509  func (c *DeviceFarm) DeleteUpload(input *DeleteUploadInput) (*DeleteUploadOutput, error) {
  1510  	req, out := c.DeleteUploadRequest(input)
  1511  	return out, req.Send()
  1512  }
  1513  
  1514  // DeleteUploadWithContext is the same as DeleteUpload with the addition of
  1515  // the ability to pass a context and additional request options.
  1516  //
  1517  // See DeleteUpload for details on how to use this API operation.
  1518  //
  1519  // The context must be non-nil and will be used for request cancellation. If
  1520  // the context is nil a panic will occur. In the future the SDK may create
  1521  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1522  // for more information on using Contexts.
  1523  func (c *DeviceFarm) DeleteUploadWithContext(ctx aws.Context, input *DeleteUploadInput, opts ...request.Option) (*DeleteUploadOutput, error) {
  1524  	req, out := c.DeleteUploadRequest(input)
  1525  	req.SetContext(ctx)
  1526  	req.ApplyOptions(opts...)
  1527  	return out, req.Send()
  1528  }
  1529  
  1530  const opDeleteVPCEConfiguration = "DeleteVPCEConfiguration"
  1531  
  1532  // DeleteVPCEConfigurationRequest generates a "aws/request.Request" representing the
  1533  // client's request for the DeleteVPCEConfiguration operation. The "output" return
  1534  // value will be populated with the request's response once the request completes
  1535  // successfully.
  1536  //
  1537  // Use "Send" method on the returned Request to send the API call to the service.
  1538  // the "output" return value is not valid until after Send returns without error.
  1539  //
  1540  // See DeleteVPCEConfiguration for more information on using the DeleteVPCEConfiguration
  1541  // API call, and error handling.
  1542  //
  1543  // This method is useful when you want to inject custom logic or configuration
  1544  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1545  //
  1546  //
  1547  //    // Example sending a request using the DeleteVPCEConfigurationRequest method.
  1548  //    req, resp := client.DeleteVPCEConfigurationRequest(params)
  1549  //
  1550  //    err := req.Send()
  1551  //    if err == nil { // resp is now filled
  1552  //        fmt.Println(resp)
  1553  //    }
  1554  //
  1555  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteVPCEConfiguration
  1556  func (c *DeviceFarm) DeleteVPCEConfigurationRequest(input *DeleteVPCEConfigurationInput) (req *request.Request, output *DeleteVPCEConfigurationOutput) {
  1557  	op := &request.Operation{
  1558  		Name:       opDeleteVPCEConfiguration,
  1559  		HTTPMethod: "POST",
  1560  		HTTPPath:   "/",
  1561  	}
  1562  
  1563  	if input == nil {
  1564  		input = &DeleteVPCEConfigurationInput{}
  1565  	}
  1566  
  1567  	output = &DeleteVPCEConfigurationOutput{}
  1568  	req = c.newRequest(op, input, output)
  1569  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1570  	return
  1571  }
  1572  
  1573  // DeleteVPCEConfiguration API operation for AWS Device Farm.
  1574  //
  1575  // Deletes a configuration for your Amazon Virtual Private Cloud (VPC) endpoint.
  1576  //
  1577  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1578  // with awserr.Error's Code and Message methods to get detailed information about
  1579  // the error.
  1580  //
  1581  // See the AWS API reference guide for AWS Device Farm's
  1582  // API operation DeleteVPCEConfiguration for usage and error information.
  1583  //
  1584  // Returned Error Types:
  1585  //   * ArgumentException
  1586  //   An invalid argument was specified.
  1587  //
  1588  //   * NotFoundException
  1589  //   The specified entity was not found.
  1590  //
  1591  //   * ServiceAccountException
  1592  //   There was a problem with the service account.
  1593  //
  1594  //   * InvalidOperationException
  1595  //   There was an error with the update request, or you do not have sufficient
  1596  //   permissions to update this VPC endpoint configuration.
  1597  //
  1598  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteVPCEConfiguration
  1599  func (c *DeviceFarm) DeleteVPCEConfiguration(input *DeleteVPCEConfigurationInput) (*DeleteVPCEConfigurationOutput, error) {
  1600  	req, out := c.DeleteVPCEConfigurationRequest(input)
  1601  	return out, req.Send()
  1602  }
  1603  
  1604  // DeleteVPCEConfigurationWithContext is the same as DeleteVPCEConfiguration with the addition of
  1605  // the ability to pass a context and additional request options.
  1606  //
  1607  // See DeleteVPCEConfiguration for details on how to use this API operation.
  1608  //
  1609  // The context must be non-nil and will be used for request cancellation. If
  1610  // the context is nil a panic will occur. In the future the SDK may create
  1611  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1612  // for more information on using Contexts.
  1613  func (c *DeviceFarm) DeleteVPCEConfigurationWithContext(ctx aws.Context, input *DeleteVPCEConfigurationInput, opts ...request.Option) (*DeleteVPCEConfigurationOutput, error) {
  1614  	req, out := c.DeleteVPCEConfigurationRequest(input)
  1615  	req.SetContext(ctx)
  1616  	req.ApplyOptions(opts...)
  1617  	return out, req.Send()
  1618  }
  1619  
  1620  const opGetAccountSettings = "GetAccountSettings"
  1621  
  1622  // GetAccountSettingsRequest generates a "aws/request.Request" representing the
  1623  // client's request for the GetAccountSettings operation. The "output" return
  1624  // value will be populated with the request's response once the request completes
  1625  // successfully.
  1626  //
  1627  // Use "Send" method on the returned Request to send the API call to the service.
  1628  // the "output" return value is not valid until after Send returns without error.
  1629  //
  1630  // See GetAccountSettings for more information on using the GetAccountSettings
  1631  // API call, and error handling.
  1632  //
  1633  // This method is useful when you want to inject custom logic or configuration
  1634  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1635  //
  1636  //
  1637  //    // Example sending a request using the GetAccountSettingsRequest method.
  1638  //    req, resp := client.GetAccountSettingsRequest(params)
  1639  //
  1640  //    err := req.Send()
  1641  //    if err == nil { // resp is now filled
  1642  //        fmt.Println(resp)
  1643  //    }
  1644  //
  1645  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetAccountSettings
  1646  func (c *DeviceFarm) GetAccountSettingsRequest(input *GetAccountSettingsInput) (req *request.Request, output *GetAccountSettingsOutput) {
  1647  	op := &request.Operation{
  1648  		Name:       opGetAccountSettings,
  1649  		HTTPMethod: "POST",
  1650  		HTTPPath:   "/",
  1651  	}
  1652  
  1653  	if input == nil {
  1654  		input = &GetAccountSettingsInput{}
  1655  	}
  1656  
  1657  	output = &GetAccountSettingsOutput{}
  1658  	req = c.newRequest(op, input, output)
  1659  	return
  1660  }
  1661  
  1662  // GetAccountSettings API operation for AWS Device Farm.
  1663  //
  1664  // Returns the number of unmetered iOS or unmetered Android devices that have
  1665  // been purchased by the account.
  1666  //
  1667  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1668  // with awserr.Error's Code and Message methods to get detailed information about
  1669  // the error.
  1670  //
  1671  // See the AWS API reference guide for AWS Device Farm's
  1672  // API operation GetAccountSettings for usage and error information.
  1673  //
  1674  // Returned Error Types:
  1675  //   * ArgumentException
  1676  //   An invalid argument was specified.
  1677  //
  1678  //   * NotFoundException
  1679  //   The specified entity was not found.
  1680  //
  1681  //   * LimitExceededException
  1682  //   A limit was exceeded.
  1683  //
  1684  //   * ServiceAccountException
  1685  //   There was a problem with the service account.
  1686  //
  1687  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetAccountSettings
  1688  func (c *DeviceFarm) GetAccountSettings(input *GetAccountSettingsInput) (*GetAccountSettingsOutput, error) {
  1689  	req, out := c.GetAccountSettingsRequest(input)
  1690  	return out, req.Send()
  1691  }
  1692  
  1693  // GetAccountSettingsWithContext is the same as GetAccountSettings with the addition of
  1694  // the ability to pass a context and additional request options.
  1695  //
  1696  // See GetAccountSettings for details on how to use this API operation.
  1697  //
  1698  // The context must be non-nil and will be used for request cancellation. If
  1699  // the context is nil a panic will occur. In the future the SDK may create
  1700  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1701  // for more information on using Contexts.
  1702  func (c *DeviceFarm) GetAccountSettingsWithContext(ctx aws.Context, input *GetAccountSettingsInput, opts ...request.Option) (*GetAccountSettingsOutput, error) {
  1703  	req, out := c.GetAccountSettingsRequest(input)
  1704  	req.SetContext(ctx)
  1705  	req.ApplyOptions(opts...)
  1706  	return out, req.Send()
  1707  }
  1708  
  1709  const opGetDevice = "GetDevice"
  1710  
  1711  // GetDeviceRequest generates a "aws/request.Request" representing the
  1712  // client's request for the GetDevice operation. The "output" return
  1713  // value will be populated with the request's response once the request completes
  1714  // successfully.
  1715  //
  1716  // Use "Send" method on the returned Request to send the API call to the service.
  1717  // the "output" return value is not valid until after Send returns without error.
  1718  //
  1719  // See GetDevice for more information on using the GetDevice
  1720  // API call, and error handling.
  1721  //
  1722  // This method is useful when you want to inject custom logic or configuration
  1723  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1724  //
  1725  //
  1726  //    // Example sending a request using the GetDeviceRequest method.
  1727  //    req, resp := client.GetDeviceRequest(params)
  1728  //
  1729  //    err := req.Send()
  1730  //    if err == nil { // resp is now filled
  1731  //        fmt.Println(resp)
  1732  //    }
  1733  //
  1734  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevice
  1735  func (c *DeviceFarm) GetDeviceRequest(input *GetDeviceInput) (req *request.Request, output *GetDeviceOutput) {
  1736  	op := &request.Operation{
  1737  		Name:       opGetDevice,
  1738  		HTTPMethod: "POST",
  1739  		HTTPPath:   "/",
  1740  	}
  1741  
  1742  	if input == nil {
  1743  		input = &GetDeviceInput{}
  1744  	}
  1745  
  1746  	output = &GetDeviceOutput{}
  1747  	req = c.newRequest(op, input, output)
  1748  	return
  1749  }
  1750  
  1751  // GetDevice API operation for AWS Device Farm.
  1752  //
  1753  // Gets information about a unique device type.
  1754  //
  1755  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1756  // with awserr.Error's Code and Message methods to get detailed information about
  1757  // the error.
  1758  //
  1759  // See the AWS API reference guide for AWS Device Farm's
  1760  // API operation GetDevice for usage and error information.
  1761  //
  1762  // Returned Error Types:
  1763  //   * ArgumentException
  1764  //   An invalid argument was specified.
  1765  //
  1766  //   * NotFoundException
  1767  //   The specified entity was not found.
  1768  //
  1769  //   * LimitExceededException
  1770  //   A limit was exceeded.
  1771  //
  1772  //   * ServiceAccountException
  1773  //   There was a problem with the service account.
  1774  //
  1775  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevice
  1776  func (c *DeviceFarm) GetDevice(input *GetDeviceInput) (*GetDeviceOutput, error) {
  1777  	req, out := c.GetDeviceRequest(input)
  1778  	return out, req.Send()
  1779  }
  1780  
  1781  // GetDeviceWithContext is the same as GetDevice with the addition of
  1782  // the ability to pass a context and additional request options.
  1783  //
  1784  // See GetDevice for details on how to use this API operation.
  1785  //
  1786  // The context must be non-nil and will be used for request cancellation. If
  1787  // the context is nil a panic will occur. In the future the SDK may create
  1788  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1789  // for more information on using Contexts.
  1790  func (c *DeviceFarm) GetDeviceWithContext(ctx aws.Context, input *GetDeviceInput, opts ...request.Option) (*GetDeviceOutput, error) {
  1791  	req, out := c.GetDeviceRequest(input)
  1792  	req.SetContext(ctx)
  1793  	req.ApplyOptions(opts...)
  1794  	return out, req.Send()
  1795  }
  1796  
  1797  const opGetDeviceInstance = "GetDeviceInstance"
  1798  
  1799  // GetDeviceInstanceRequest generates a "aws/request.Request" representing the
  1800  // client's request for the GetDeviceInstance operation. The "output" return
  1801  // value will be populated with the request's response once the request completes
  1802  // successfully.
  1803  //
  1804  // Use "Send" method on the returned Request to send the API call to the service.
  1805  // the "output" return value is not valid until after Send returns without error.
  1806  //
  1807  // See GetDeviceInstance for more information on using the GetDeviceInstance
  1808  // API call, and error handling.
  1809  //
  1810  // This method is useful when you want to inject custom logic or configuration
  1811  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1812  //
  1813  //
  1814  //    // Example sending a request using the GetDeviceInstanceRequest method.
  1815  //    req, resp := client.GetDeviceInstanceRequest(params)
  1816  //
  1817  //    err := req.Send()
  1818  //    if err == nil { // resp is now filled
  1819  //        fmt.Println(resp)
  1820  //    }
  1821  //
  1822  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDeviceInstance
  1823  func (c *DeviceFarm) GetDeviceInstanceRequest(input *GetDeviceInstanceInput) (req *request.Request, output *GetDeviceInstanceOutput) {
  1824  	op := &request.Operation{
  1825  		Name:       opGetDeviceInstance,
  1826  		HTTPMethod: "POST",
  1827  		HTTPPath:   "/",
  1828  	}
  1829  
  1830  	if input == nil {
  1831  		input = &GetDeviceInstanceInput{}
  1832  	}
  1833  
  1834  	output = &GetDeviceInstanceOutput{}
  1835  	req = c.newRequest(op, input, output)
  1836  	return
  1837  }
  1838  
  1839  // GetDeviceInstance API operation for AWS Device Farm.
  1840  //
  1841  // Returns information about a device instance that belongs to a private device
  1842  // fleet.
  1843  //
  1844  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1845  // with awserr.Error's Code and Message methods to get detailed information about
  1846  // the error.
  1847  //
  1848  // See the AWS API reference guide for AWS Device Farm's
  1849  // API operation GetDeviceInstance for usage and error information.
  1850  //
  1851  // Returned Error Types:
  1852  //   * ArgumentException
  1853  //   An invalid argument was specified.
  1854  //
  1855  //   * NotFoundException
  1856  //   The specified entity was not found.
  1857  //
  1858  //   * LimitExceededException
  1859  //   A limit was exceeded.
  1860  //
  1861  //   * ServiceAccountException
  1862  //   There was a problem with the service account.
  1863  //
  1864  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDeviceInstance
  1865  func (c *DeviceFarm) GetDeviceInstance(input *GetDeviceInstanceInput) (*GetDeviceInstanceOutput, error) {
  1866  	req, out := c.GetDeviceInstanceRequest(input)
  1867  	return out, req.Send()
  1868  }
  1869  
  1870  // GetDeviceInstanceWithContext is the same as GetDeviceInstance with the addition of
  1871  // the ability to pass a context and additional request options.
  1872  //
  1873  // See GetDeviceInstance for details on how to use this API operation.
  1874  //
  1875  // The context must be non-nil and will be used for request cancellation. If
  1876  // the context is nil a panic will occur. In the future the SDK may create
  1877  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1878  // for more information on using Contexts.
  1879  func (c *DeviceFarm) GetDeviceInstanceWithContext(ctx aws.Context, input *GetDeviceInstanceInput, opts ...request.Option) (*GetDeviceInstanceOutput, error) {
  1880  	req, out := c.GetDeviceInstanceRequest(input)
  1881  	req.SetContext(ctx)
  1882  	req.ApplyOptions(opts...)
  1883  	return out, req.Send()
  1884  }
  1885  
  1886  const opGetDevicePool = "GetDevicePool"
  1887  
  1888  // GetDevicePoolRequest generates a "aws/request.Request" representing the
  1889  // client's request for the GetDevicePool operation. The "output" return
  1890  // value will be populated with the request's response once the request completes
  1891  // successfully.
  1892  //
  1893  // Use "Send" method on the returned Request to send the API call to the service.
  1894  // the "output" return value is not valid until after Send returns without error.
  1895  //
  1896  // See GetDevicePool for more information on using the GetDevicePool
  1897  // API call, and error handling.
  1898  //
  1899  // This method is useful when you want to inject custom logic or configuration
  1900  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1901  //
  1902  //
  1903  //    // Example sending a request using the GetDevicePoolRequest method.
  1904  //    req, resp := client.GetDevicePoolRequest(params)
  1905  //
  1906  //    err := req.Send()
  1907  //    if err == nil { // resp is now filled
  1908  //        fmt.Println(resp)
  1909  //    }
  1910  //
  1911  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePool
  1912  func (c *DeviceFarm) GetDevicePoolRequest(input *GetDevicePoolInput) (req *request.Request, output *GetDevicePoolOutput) {
  1913  	op := &request.Operation{
  1914  		Name:       opGetDevicePool,
  1915  		HTTPMethod: "POST",
  1916  		HTTPPath:   "/",
  1917  	}
  1918  
  1919  	if input == nil {
  1920  		input = &GetDevicePoolInput{}
  1921  	}
  1922  
  1923  	output = &GetDevicePoolOutput{}
  1924  	req = c.newRequest(op, input, output)
  1925  	return
  1926  }
  1927  
  1928  // GetDevicePool API operation for AWS Device Farm.
  1929  //
  1930  // Gets information about a device pool.
  1931  //
  1932  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1933  // with awserr.Error's Code and Message methods to get detailed information about
  1934  // the error.
  1935  //
  1936  // See the AWS API reference guide for AWS Device Farm's
  1937  // API operation GetDevicePool for usage and error information.
  1938  //
  1939  // Returned Error Types:
  1940  //   * ArgumentException
  1941  //   An invalid argument was specified.
  1942  //
  1943  //   * NotFoundException
  1944  //   The specified entity was not found.
  1945  //
  1946  //   * LimitExceededException
  1947  //   A limit was exceeded.
  1948  //
  1949  //   * ServiceAccountException
  1950  //   There was a problem with the service account.
  1951  //
  1952  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePool
  1953  func (c *DeviceFarm) GetDevicePool(input *GetDevicePoolInput) (*GetDevicePoolOutput, error) {
  1954  	req, out := c.GetDevicePoolRequest(input)
  1955  	return out, req.Send()
  1956  }
  1957  
  1958  // GetDevicePoolWithContext is the same as GetDevicePool with the addition of
  1959  // the ability to pass a context and additional request options.
  1960  //
  1961  // See GetDevicePool for details on how to use this API operation.
  1962  //
  1963  // The context must be non-nil and will be used for request cancellation. If
  1964  // the context is nil a panic will occur. In the future the SDK may create
  1965  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1966  // for more information on using Contexts.
  1967  func (c *DeviceFarm) GetDevicePoolWithContext(ctx aws.Context, input *GetDevicePoolInput, opts ...request.Option) (*GetDevicePoolOutput, error) {
  1968  	req, out := c.GetDevicePoolRequest(input)
  1969  	req.SetContext(ctx)
  1970  	req.ApplyOptions(opts...)
  1971  	return out, req.Send()
  1972  }
  1973  
  1974  const opGetDevicePoolCompatibility = "GetDevicePoolCompatibility"
  1975  
  1976  // GetDevicePoolCompatibilityRequest generates a "aws/request.Request" representing the
  1977  // client's request for the GetDevicePoolCompatibility operation. The "output" return
  1978  // value will be populated with the request's response once the request completes
  1979  // successfully.
  1980  //
  1981  // Use "Send" method on the returned Request to send the API call to the service.
  1982  // the "output" return value is not valid until after Send returns without error.
  1983  //
  1984  // See GetDevicePoolCompatibility for more information on using the GetDevicePoolCompatibility
  1985  // API call, and error handling.
  1986  //
  1987  // This method is useful when you want to inject custom logic or configuration
  1988  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1989  //
  1990  //
  1991  //    // Example sending a request using the GetDevicePoolCompatibilityRequest method.
  1992  //    req, resp := client.GetDevicePoolCompatibilityRequest(params)
  1993  //
  1994  //    err := req.Send()
  1995  //    if err == nil { // resp is now filled
  1996  //        fmt.Println(resp)
  1997  //    }
  1998  //
  1999  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePoolCompatibility
  2000  func (c *DeviceFarm) GetDevicePoolCompatibilityRequest(input *GetDevicePoolCompatibilityInput) (req *request.Request, output *GetDevicePoolCompatibilityOutput) {
  2001  	op := &request.Operation{
  2002  		Name:       opGetDevicePoolCompatibility,
  2003  		HTTPMethod: "POST",
  2004  		HTTPPath:   "/",
  2005  	}
  2006  
  2007  	if input == nil {
  2008  		input = &GetDevicePoolCompatibilityInput{}
  2009  	}
  2010  
  2011  	output = &GetDevicePoolCompatibilityOutput{}
  2012  	req = c.newRequest(op, input, output)
  2013  	return
  2014  }
  2015  
  2016  // GetDevicePoolCompatibility API operation for AWS Device Farm.
  2017  //
  2018  // Gets information about compatibility with a device pool.
  2019  //
  2020  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2021  // with awserr.Error's Code and Message methods to get detailed information about
  2022  // the error.
  2023  //
  2024  // See the AWS API reference guide for AWS Device Farm's
  2025  // API operation GetDevicePoolCompatibility for usage and error information.
  2026  //
  2027  // Returned Error Types:
  2028  //   * ArgumentException
  2029  //   An invalid argument was specified.
  2030  //
  2031  //   * NotFoundException
  2032  //   The specified entity was not found.
  2033  //
  2034  //   * LimitExceededException
  2035  //   A limit was exceeded.
  2036  //
  2037  //   * ServiceAccountException
  2038  //   There was a problem with the service account.
  2039  //
  2040  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePoolCompatibility
  2041  func (c *DeviceFarm) GetDevicePoolCompatibility(input *GetDevicePoolCompatibilityInput) (*GetDevicePoolCompatibilityOutput, error) {
  2042  	req, out := c.GetDevicePoolCompatibilityRequest(input)
  2043  	return out, req.Send()
  2044  }
  2045  
  2046  // GetDevicePoolCompatibilityWithContext is the same as GetDevicePoolCompatibility with the addition of
  2047  // the ability to pass a context and additional request options.
  2048  //
  2049  // See GetDevicePoolCompatibility for details on how to use this API operation.
  2050  //
  2051  // The context must be non-nil and will be used for request cancellation. If
  2052  // the context is nil a panic will occur. In the future the SDK may create
  2053  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2054  // for more information on using Contexts.
  2055  func (c *DeviceFarm) GetDevicePoolCompatibilityWithContext(ctx aws.Context, input *GetDevicePoolCompatibilityInput, opts ...request.Option) (*GetDevicePoolCompatibilityOutput, error) {
  2056  	req, out := c.GetDevicePoolCompatibilityRequest(input)
  2057  	req.SetContext(ctx)
  2058  	req.ApplyOptions(opts...)
  2059  	return out, req.Send()
  2060  }
  2061  
  2062  const opGetInstanceProfile = "GetInstanceProfile"
  2063  
  2064  // GetInstanceProfileRequest generates a "aws/request.Request" representing the
  2065  // client's request for the GetInstanceProfile operation. The "output" return
  2066  // value will be populated with the request's response once the request completes
  2067  // successfully.
  2068  //
  2069  // Use "Send" method on the returned Request to send the API call to the service.
  2070  // the "output" return value is not valid until after Send returns without error.
  2071  //
  2072  // See GetInstanceProfile for more information on using the GetInstanceProfile
  2073  // API call, and error handling.
  2074  //
  2075  // This method is useful when you want to inject custom logic or configuration
  2076  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2077  //
  2078  //
  2079  //    // Example sending a request using the GetInstanceProfileRequest method.
  2080  //    req, resp := client.GetInstanceProfileRequest(params)
  2081  //
  2082  //    err := req.Send()
  2083  //    if err == nil { // resp is now filled
  2084  //        fmt.Println(resp)
  2085  //    }
  2086  //
  2087  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetInstanceProfile
  2088  func (c *DeviceFarm) GetInstanceProfileRequest(input *GetInstanceProfileInput) (req *request.Request, output *GetInstanceProfileOutput) {
  2089  	op := &request.Operation{
  2090  		Name:       opGetInstanceProfile,
  2091  		HTTPMethod: "POST",
  2092  		HTTPPath:   "/",
  2093  	}
  2094  
  2095  	if input == nil {
  2096  		input = &GetInstanceProfileInput{}
  2097  	}
  2098  
  2099  	output = &GetInstanceProfileOutput{}
  2100  	req = c.newRequest(op, input, output)
  2101  	return
  2102  }
  2103  
  2104  // GetInstanceProfile API operation for AWS Device Farm.
  2105  //
  2106  // Returns information about the specified instance profile.
  2107  //
  2108  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2109  // with awserr.Error's Code and Message methods to get detailed information about
  2110  // the error.
  2111  //
  2112  // See the AWS API reference guide for AWS Device Farm's
  2113  // API operation GetInstanceProfile for usage and error information.
  2114  //
  2115  // Returned Error Types:
  2116  //   * ArgumentException
  2117  //   An invalid argument was specified.
  2118  //
  2119  //   * NotFoundException
  2120  //   The specified entity was not found.
  2121  //
  2122  //   * LimitExceededException
  2123  //   A limit was exceeded.
  2124  //
  2125  //   * ServiceAccountException
  2126  //   There was a problem with the service account.
  2127  //
  2128  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetInstanceProfile
  2129  func (c *DeviceFarm) GetInstanceProfile(input *GetInstanceProfileInput) (*GetInstanceProfileOutput, error) {
  2130  	req, out := c.GetInstanceProfileRequest(input)
  2131  	return out, req.Send()
  2132  }
  2133  
  2134  // GetInstanceProfileWithContext is the same as GetInstanceProfile with the addition of
  2135  // the ability to pass a context and additional request options.
  2136  //
  2137  // See GetInstanceProfile for details on how to use this API operation.
  2138  //
  2139  // The context must be non-nil and will be used for request cancellation. If
  2140  // the context is nil a panic will occur. In the future the SDK may create
  2141  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2142  // for more information on using Contexts.
  2143  func (c *DeviceFarm) GetInstanceProfileWithContext(ctx aws.Context, input *GetInstanceProfileInput, opts ...request.Option) (*GetInstanceProfileOutput, error) {
  2144  	req, out := c.GetInstanceProfileRequest(input)
  2145  	req.SetContext(ctx)
  2146  	req.ApplyOptions(opts...)
  2147  	return out, req.Send()
  2148  }
  2149  
  2150  const opGetJob = "GetJob"
  2151  
  2152  // GetJobRequest generates a "aws/request.Request" representing the
  2153  // client's request for the GetJob operation. The "output" return
  2154  // value will be populated with the request's response once the request completes
  2155  // successfully.
  2156  //
  2157  // Use "Send" method on the returned Request to send the API call to the service.
  2158  // the "output" return value is not valid until after Send returns without error.
  2159  //
  2160  // See GetJob for more information on using the GetJob
  2161  // API call, and error handling.
  2162  //
  2163  // This method is useful when you want to inject custom logic or configuration
  2164  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2165  //
  2166  //
  2167  //    // Example sending a request using the GetJobRequest method.
  2168  //    req, resp := client.GetJobRequest(params)
  2169  //
  2170  //    err := req.Send()
  2171  //    if err == nil { // resp is now filled
  2172  //        fmt.Println(resp)
  2173  //    }
  2174  //
  2175  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetJob
  2176  func (c *DeviceFarm) GetJobRequest(input *GetJobInput) (req *request.Request, output *GetJobOutput) {
  2177  	op := &request.Operation{
  2178  		Name:       opGetJob,
  2179  		HTTPMethod: "POST",
  2180  		HTTPPath:   "/",
  2181  	}
  2182  
  2183  	if input == nil {
  2184  		input = &GetJobInput{}
  2185  	}
  2186  
  2187  	output = &GetJobOutput{}
  2188  	req = c.newRequest(op, input, output)
  2189  	return
  2190  }
  2191  
  2192  // GetJob API operation for AWS Device Farm.
  2193  //
  2194  // Gets information about a job.
  2195  //
  2196  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2197  // with awserr.Error's Code and Message methods to get detailed information about
  2198  // the error.
  2199  //
  2200  // See the AWS API reference guide for AWS Device Farm's
  2201  // API operation GetJob for usage and error information.
  2202  //
  2203  // Returned Error Types:
  2204  //   * ArgumentException
  2205  //   An invalid argument was specified.
  2206  //
  2207  //   * NotFoundException
  2208  //   The specified entity was not found.
  2209  //
  2210  //   * LimitExceededException
  2211  //   A limit was exceeded.
  2212  //
  2213  //   * ServiceAccountException
  2214  //   There was a problem with the service account.
  2215  //
  2216  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetJob
  2217  func (c *DeviceFarm) GetJob(input *GetJobInput) (*GetJobOutput, error) {
  2218  	req, out := c.GetJobRequest(input)
  2219  	return out, req.Send()
  2220  }
  2221  
  2222  // GetJobWithContext is the same as GetJob with the addition of
  2223  // the ability to pass a context and additional request options.
  2224  //
  2225  // See GetJob for details on how to use this API operation.
  2226  //
  2227  // The context must be non-nil and will be used for request cancellation. If
  2228  // the context is nil a panic will occur. In the future the SDK may create
  2229  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2230  // for more information on using Contexts.
  2231  func (c *DeviceFarm) GetJobWithContext(ctx aws.Context, input *GetJobInput, opts ...request.Option) (*GetJobOutput, error) {
  2232  	req, out := c.GetJobRequest(input)
  2233  	req.SetContext(ctx)
  2234  	req.ApplyOptions(opts...)
  2235  	return out, req.Send()
  2236  }
  2237  
  2238  const opGetNetworkProfile = "GetNetworkProfile"
  2239  
  2240  // GetNetworkProfileRequest generates a "aws/request.Request" representing the
  2241  // client's request for the GetNetworkProfile operation. The "output" return
  2242  // value will be populated with the request's response once the request completes
  2243  // successfully.
  2244  //
  2245  // Use "Send" method on the returned Request to send the API call to the service.
  2246  // the "output" return value is not valid until after Send returns without error.
  2247  //
  2248  // See GetNetworkProfile for more information on using the GetNetworkProfile
  2249  // API call, and error handling.
  2250  //
  2251  // This method is useful when you want to inject custom logic or configuration
  2252  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2253  //
  2254  //
  2255  //    // Example sending a request using the GetNetworkProfileRequest method.
  2256  //    req, resp := client.GetNetworkProfileRequest(params)
  2257  //
  2258  //    err := req.Send()
  2259  //    if err == nil { // resp is now filled
  2260  //        fmt.Println(resp)
  2261  //    }
  2262  //
  2263  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetNetworkProfile
  2264  func (c *DeviceFarm) GetNetworkProfileRequest(input *GetNetworkProfileInput) (req *request.Request, output *GetNetworkProfileOutput) {
  2265  	op := &request.Operation{
  2266  		Name:       opGetNetworkProfile,
  2267  		HTTPMethod: "POST",
  2268  		HTTPPath:   "/",
  2269  	}
  2270  
  2271  	if input == nil {
  2272  		input = &GetNetworkProfileInput{}
  2273  	}
  2274  
  2275  	output = &GetNetworkProfileOutput{}
  2276  	req = c.newRequest(op, input, output)
  2277  	return
  2278  }
  2279  
  2280  // GetNetworkProfile API operation for AWS Device Farm.
  2281  //
  2282  // Returns information about a network profile.
  2283  //
  2284  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2285  // with awserr.Error's Code and Message methods to get detailed information about
  2286  // the error.
  2287  //
  2288  // See the AWS API reference guide for AWS Device Farm's
  2289  // API operation GetNetworkProfile for usage and error information.
  2290  //
  2291  // Returned Error Types:
  2292  //   * ArgumentException
  2293  //   An invalid argument was specified.
  2294  //
  2295  //   * NotFoundException
  2296  //   The specified entity was not found.
  2297  //
  2298  //   * LimitExceededException
  2299  //   A limit was exceeded.
  2300  //
  2301  //   * ServiceAccountException
  2302  //   There was a problem with the service account.
  2303  //
  2304  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetNetworkProfile
  2305  func (c *DeviceFarm) GetNetworkProfile(input *GetNetworkProfileInput) (*GetNetworkProfileOutput, error) {
  2306  	req, out := c.GetNetworkProfileRequest(input)
  2307  	return out, req.Send()
  2308  }
  2309  
  2310  // GetNetworkProfileWithContext is the same as GetNetworkProfile with the addition of
  2311  // the ability to pass a context and additional request options.
  2312  //
  2313  // See GetNetworkProfile for details on how to use this API operation.
  2314  //
  2315  // The context must be non-nil and will be used for request cancellation. If
  2316  // the context is nil a panic will occur. In the future the SDK may create
  2317  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2318  // for more information on using Contexts.
  2319  func (c *DeviceFarm) GetNetworkProfileWithContext(ctx aws.Context, input *GetNetworkProfileInput, opts ...request.Option) (*GetNetworkProfileOutput, error) {
  2320  	req, out := c.GetNetworkProfileRequest(input)
  2321  	req.SetContext(ctx)
  2322  	req.ApplyOptions(opts...)
  2323  	return out, req.Send()
  2324  }
  2325  
  2326  const opGetOfferingStatus = "GetOfferingStatus"
  2327  
  2328  // GetOfferingStatusRequest generates a "aws/request.Request" representing the
  2329  // client's request for the GetOfferingStatus operation. The "output" return
  2330  // value will be populated with the request's response once the request completes
  2331  // successfully.
  2332  //
  2333  // Use "Send" method on the returned Request to send the API call to the service.
  2334  // the "output" return value is not valid until after Send returns without error.
  2335  //
  2336  // See GetOfferingStatus for more information on using the GetOfferingStatus
  2337  // API call, and error handling.
  2338  //
  2339  // This method is useful when you want to inject custom logic or configuration
  2340  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2341  //
  2342  //
  2343  //    // Example sending a request using the GetOfferingStatusRequest method.
  2344  //    req, resp := client.GetOfferingStatusRequest(params)
  2345  //
  2346  //    err := req.Send()
  2347  //    if err == nil { // resp is now filled
  2348  //        fmt.Println(resp)
  2349  //    }
  2350  //
  2351  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetOfferingStatus
  2352  func (c *DeviceFarm) GetOfferingStatusRequest(input *GetOfferingStatusInput) (req *request.Request, output *GetOfferingStatusOutput) {
  2353  	op := &request.Operation{
  2354  		Name:       opGetOfferingStatus,
  2355  		HTTPMethod: "POST",
  2356  		HTTPPath:   "/",
  2357  		Paginator: &request.Paginator{
  2358  			InputTokens:     []string{"nextToken"},
  2359  			OutputTokens:    []string{"nextToken"},
  2360  			LimitToken:      "",
  2361  			TruncationToken: "",
  2362  		},
  2363  	}
  2364  
  2365  	if input == nil {
  2366  		input = &GetOfferingStatusInput{}
  2367  	}
  2368  
  2369  	output = &GetOfferingStatusOutput{}
  2370  	req = c.newRequest(op, input, output)
  2371  	return
  2372  }
  2373  
  2374  // GetOfferingStatus API operation for AWS Device Farm.
  2375  //
  2376  // Gets the current status and future status of all offerings purchased by an
  2377  // AWS account. The response indicates how many offerings are currently available
  2378  // and the offerings that will be available in the next period. The API returns
  2379  // a NotEligible error if the user is not permitted to invoke the operation.
  2380  // If you must be able to invoke this operation, contact aws-devicefarm-support@amazon.com
  2381  // (mailto:aws-devicefarm-support@amazon.com).
  2382  //
  2383  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2384  // with awserr.Error's Code and Message methods to get detailed information about
  2385  // the error.
  2386  //
  2387  // See the AWS API reference guide for AWS Device Farm's
  2388  // API operation GetOfferingStatus for usage and error information.
  2389  //
  2390  // Returned Error Types:
  2391  //   * ArgumentException
  2392  //   An invalid argument was specified.
  2393  //
  2394  //   * NotFoundException
  2395  //   The specified entity was not found.
  2396  //
  2397  //   * NotEligibleException
  2398  //   Exception gets thrown when a user is not eligible to perform the specified
  2399  //   transaction.
  2400  //
  2401  //   * LimitExceededException
  2402  //   A limit was exceeded.
  2403  //
  2404  //   * ServiceAccountException
  2405  //   There was a problem with the service account.
  2406  //
  2407  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetOfferingStatus
  2408  func (c *DeviceFarm) GetOfferingStatus(input *GetOfferingStatusInput) (*GetOfferingStatusOutput, error) {
  2409  	req, out := c.GetOfferingStatusRequest(input)
  2410  	return out, req.Send()
  2411  }
  2412  
  2413  // GetOfferingStatusWithContext is the same as GetOfferingStatus with the addition of
  2414  // the ability to pass a context and additional request options.
  2415  //
  2416  // See GetOfferingStatus for details on how to use this API operation.
  2417  //
  2418  // The context must be non-nil and will be used for request cancellation. If
  2419  // the context is nil a panic will occur. In the future the SDK may create
  2420  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2421  // for more information on using Contexts.
  2422  func (c *DeviceFarm) GetOfferingStatusWithContext(ctx aws.Context, input *GetOfferingStatusInput, opts ...request.Option) (*GetOfferingStatusOutput, error) {
  2423  	req, out := c.GetOfferingStatusRequest(input)
  2424  	req.SetContext(ctx)
  2425  	req.ApplyOptions(opts...)
  2426  	return out, req.Send()
  2427  }
  2428  
  2429  // GetOfferingStatusPages iterates over the pages of a GetOfferingStatus operation,
  2430  // calling the "fn" function with the response data for each page. To stop
  2431  // iterating, return false from the fn function.
  2432  //
  2433  // See GetOfferingStatus method for more information on how to use this operation.
  2434  //
  2435  // Note: This operation can generate multiple requests to a service.
  2436  //
  2437  //    // Example iterating over at most 3 pages of a GetOfferingStatus operation.
  2438  //    pageNum := 0
  2439  //    err := client.GetOfferingStatusPages(params,
  2440  //        func(page *devicefarm.GetOfferingStatusOutput, lastPage bool) bool {
  2441  //            pageNum++
  2442  //            fmt.Println(page)
  2443  //            return pageNum <= 3
  2444  //        })
  2445  //
  2446  func (c *DeviceFarm) GetOfferingStatusPages(input *GetOfferingStatusInput, fn func(*GetOfferingStatusOutput, bool) bool) error {
  2447  	return c.GetOfferingStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  2448  }
  2449  
  2450  // GetOfferingStatusPagesWithContext same as GetOfferingStatusPages except
  2451  // it takes a Context and allows setting request options on the pages.
  2452  //
  2453  // The context must be non-nil and will be used for request cancellation. If
  2454  // the context is nil a panic will occur. In the future the SDK may create
  2455  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2456  // for more information on using Contexts.
  2457  func (c *DeviceFarm) GetOfferingStatusPagesWithContext(ctx aws.Context, input *GetOfferingStatusInput, fn func(*GetOfferingStatusOutput, bool) bool, opts ...request.Option) error {
  2458  	p := request.Pagination{
  2459  		NewRequest: func() (*request.Request, error) {
  2460  			var inCpy *GetOfferingStatusInput
  2461  			if input != nil {
  2462  				tmp := *input
  2463  				inCpy = &tmp
  2464  			}
  2465  			req, _ := c.GetOfferingStatusRequest(inCpy)
  2466  			req.SetContext(ctx)
  2467  			req.ApplyOptions(opts...)
  2468  			return req, nil
  2469  		},
  2470  	}
  2471  
  2472  	for p.Next() {
  2473  		if !fn(p.Page().(*GetOfferingStatusOutput), !p.HasNextPage()) {
  2474  			break
  2475  		}
  2476  	}
  2477  
  2478  	return p.Err()
  2479  }
  2480  
  2481  const opGetProject = "GetProject"
  2482  
  2483  // GetProjectRequest generates a "aws/request.Request" representing the
  2484  // client's request for the GetProject operation. The "output" return
  2485  // value will be populated with the request's response once the request completes
  2486  // successfully.
  2487  //
  2488  // Use "Send" method on the returned Request to send the API call to the service.
  2489  // the "output" return value is not valid until after Send returns without error.
  2490  //
  2491  // See GetProject for more information on using the GetProject
  2492  // API call, and error handling.
  2493  //
  2494  // This method is useful when you want to inject custom logic or configuration
  2495  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2496  //
  2497  //
  2498  //    // Example sending a request using the GetProjectRequest method.
  2499  //    req, resp := client.GetProjectRequest(params)
  2500  //
  2501  //    err := req.Send()
  2502  //    if err == nil { // resp is now filled
  2503  //        fmt.Println(resp)
  2504  //    }
  2505  //
  2506  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetProject
  2507  func (c *DeviceFarm) GetProjectRequest(input *GetProjectInput) (req *request.Request, output *GetProjectOutput) {
  2508  	op := &request.Operation{
  2509  		Name:       opGetProject,
  2510  		HTTPMethod: "POST",
  2511  		HTTPPath:   "/",
  2512  	}
  2513  
  2514  	if input == nil {
  2515  		input = &GetProjectInput{}
  2516  	}
  2517  
  2518  	output = &GetProjectOutput{}
  2519  	req = c.newRequest(op, input, output)
  2520  	return
  2521  }
  2522  
  2523  // GetProject API operation for AWS Device Farm.
  2524  //
  2525  // Gets information about a project.
  2526  //
  2527  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2528  // with awserr.Error's Code and Message methods to get detailed information about
  2529  // the error.
  2530  //
  2531  // See the AWS API reference guide for AWS Device Farm's
  2532  // API operation GetProject for usage and error information.
  2533  //
  2534  // Returned Error Types:
  2535  //   * ArgumentException
  2536  //   An invalid argument was specified.
  2537  //
  2538  //   * NotFoundException
  2539  //   The specified entity was not found.
  2540  //
  2541  //   * LimitExceededException
  2542  //   A limit was exceeded.
  2543  //
  2544  //   * ServiceAccountException
  2545  //   There was a problem with the service account.
  2546  //
  2547  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetProject
  2548  func (c *DeviceFarm) GetProject(input *GetProjectInput) (*GetProjectOutput, error) {
  2549  	req, out := c.GetProjectRequest(input)
  2550  	return out, req.Send()
  2551  }
  2552  
  2553  // GetProjectWithContext is the same as GetProject with the addition of
  2554  // the ability to pass a context and additional request options.
  2555  //
  2556  // See GetProject for details on how to use this API operation.
  2557  //
  2558  // The context must be non-nil and will be used for request cancellation. If
  2559  // the context is nil a panic will occur. In the future the SDK may create
  2560  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2561  // for more information on using Contexts.
  2562  func (c *DeviceFarm) GetProjectWithContext(ctx aws.Context, input *GetProjectInput, opts ...request.Option) (*GetProjectOutput, error) {
  2563  	req, out := c.GetProjectRequest(input)
  2564  	req.SetContext(ctx)
  2565  	req.ApplyOptions(opts...)
  2566  	return out, req.Send()
  2567  }
  2568  
  2569  const opGetRemoteAccessSession = "GetRemoteAccessSession"
  2570  
  2571  // GetRemoteAccessSessionRequest generates a "aws/request.Request" representing the
  2572  // client's request for the GetRemoteAccessSession operation. The "output" return
  2573  // value will be populated with the request's response once the request completes
  2574  // successfully.
  2575  //
  2576  // Use "Send" method on the returned Request to send the API call to the service.
  2577  // the "output" return value is not valid until after Send returns without error.
  2578  //
  2579  // See GetRemoteAccessSession for more information on using the GetRemoteAccessSession
  2580  // API call, and error handling.
  2581  //
  2582  // This method is useful when you want to inject custom logic or configuration
  2583  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2584  //
  2585  //
  2586  //    // Example sending a request using the GetRemoteAccessSessionRequest method.
  2587  //    req, resp := client.GetRemoteAccessSessionRequest(params)
  2588  //
  2589  //    err := req.Send()
  2590  //    if err == nil { // resp is now filled
  2591  //        fmt.Println(resp)
  2592  //    }
  2593  //
  2594  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRemoteAccessSession
  2595  func (c *DeviceFarm) GetRemoteAccessSessionRequest(input *GetRemoteAccessSessionInput) (req *request.Request, output *GetRemoteAccessSessionOutput) {
  2596  	op := &request.Operation{
  2597  		Name:       opGetRemoteAccessSession,
  2598  		HTTPMethod: "POST",
  2599  		HTTPPath:   "/",
  2600  	}
  2601  
  2602  	if input == nil {
  2603  		input = &GetRemoteAccessSessionInput{}
  2604  	}
  2605  
  2606  	output = &GetRemoteAccessSessionOutput{}
  2607  	req = c.newRequest(op, input, output)
  2608  	return
  2609  }
  2610  
  2611  // GetRemoteAccessSession API operation for AWS Device Farm.
  2612  //
  2613  // Returns a link to a currently running remote access session.
  2614  //
  2615  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2616  // with awserr.Error's Code and Message methods to get detailed information about
  2617  // the error.
  2618  //
  2619  // See the AWS API reference guide for AWS Device Farm's
  2620  // API operation GetRemoteAccessSession for usage and error information.
  2621  //
  2622  // Returned Error Types:
  2623  //   * ArgumentException
  2624  //   An invalid argument was specified.
  2625  //
  2626  //   * NotFoundException
  2627  //   The specified entity was not found.
  2628  //
  2629  //   * LimitExceededException
  2630  //   A limit was exceeded.
  2631  //
  2632  //   * ServiceAccountException
  2633  //   There was a problem with the service account.
  2634  //
  2635  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRemoteAccessSession
  2636  func (c *DeviceFarm) GetRemoteAccessSession(input *GetRemoteAccessSessionInput) (*GetRemoteAccessSessionOutput, error) {
  2637  	req, out := c.GetRemoteAccessSessionRequest(input)
  2638  	return out, req.Send()
  2639  }
  2640  
  2641  // GetRemoteAccessSessionWithContext is the same as GetRemoteAccessSession with the addition of
  2642  // the ability to pass a context and additional request options.
  2643  //
  2644  // See GetRemoteAccessSession for details on how to use this API operation.
  2645  //
  2646  // The context must be non-nil and will be used for request cancellation. If
  2647  // the context is nil a panic will occur. In the future the SDK may create
  2648  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2649  // for more information on using Contexts.
  2650  func (c *DeviceFarm) GetRemoteAccessSessionWithContext(ctx aws.Context, input *GetRemoteAccessSessionInput, opts ...request.Option) (*GetRemoteAccessSessionOutput, error) {
  2651  	req, out := c.GetRemoteAccessSessionRequest(input)
  2652  	req.SetContext(ctx)
  2653  	req.ApplyOptions(opts...)
  2654  	return out, req.Send()
  2655  }
  2656  
  2657  const opGetRun = "GetRun"
  2658  
  2659  // GetRunRequest generates a "aws/request.Request" representing the
  2660  // client's request for the GetRun operation. The "output" return
  2661  // value will be populated with the request's response once the request completes
  2662  // successfully.
  2663  //
  2664  // Use "Send" method on the returned Request to send the API call to the service.
  2665  // the "output" return value is not valid until after Send returns without error.
  2666  //
  2667  // See GetRun for more information on using the GetRun
  2668  // API call, and error handling.
  2669  //
  2670  // This method is useful when you want to inject custom logic or configuration
  2671  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2672  //
  2673  //
  2674  //    // Example sending a request using the GetRunRequest method.
  2675  //    req, resp := client.GetRunRequest(params)
  2676  //
  2677  //    err := req.Send()
  2678  //    if err == nil { // resp is now filled
  2679  //        fmt.Println(resp)
  2680  //    }
  2681  //
  2682  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRun
  2683  func (c *DeviceFarm) GetRunRequest(input *GetRunInput) (req *request.Request, output *GetRunOutput) {
  2684  	op := &request.Operation{
  2685  		Name:       opGetRun,
  2686  		HTTPMethod: "POST",
  2687  		HTTPPath:   "/",
  2688  	}
  2689  
  2690  	if input == nil {
  2691  		input = &GetRunInput{}
  2692  	}
  2693  
  2694  	output = &GetRunOutput{}
  2695  	req = c.newRequest(op, input, output)
  2696  	return
  2697  }
  2698  
  2699  // GetRun API operation for AWS Device Farm.
  2700  //
  2701  // Gets information about a run.
  2702  //
  2703  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2704  // with awserr.Error's Code and Message methods to get detailed information about
  2705  // the error.
  2706  //
  2707  // See the AWS API reference guide for AWS Device Farm's
  2708  // API operation GetRun for usage and error information.
  2709  //
  2710  // Returned Error Types:
  2711  //   * ArgumentException
  2712  //   An invalid argument was specified.
  2713  //
  2714  //   * NotFoundException
  2715  //   The specified entity was not found.
  2716  //
  2717  //   * LimitExceededException
  2718  //   A limit was exceeded.
  2719  //
  2720  //   * ServiceAccountException
  2721  //   There was a problem with the service account.
  2722  //
  2723  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRun
  2724  func (c *DeviceFarm) GetRun(input *GetRunInput) (*GetRunOutput, error) {
  2725  	req, out := c.GetRunRequest(input)
  2726  	return out, req.Send()
  2727  }
  2728  
  2729  // GetRunWithContext is the same as GetRun with the addition of
  2730  // the ability to pass a context and additional request options.
  2731  //
  2732  // See GetRun for details on how to use this API operation.
  2733  //
  2734  // The context must be non-nil and will be used for request cancellation. If
  2735  // the context is nil a panic will occur. In the future the SDK may create
  2736  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2737  // for more information on using Contexts.
  2738  func (c *DeviceFarm) GetRunWithContext(ctx aws.Context, input *GetRunInput, opts ...request.Option) (*GetRunOutput, error) {
  2739  	req, out := c.GetRunRequest(input)
  2740  	req.SetContext(ctx)
  2741  	req.ApplyOptions(opts...)
  2742  	return out, req.Send()
  2743  }
  2744  
  2745  const opGetSuite = "GetSuite"
  2746  
  2747  // GetSuiteRequest generates a "aws/request.Request" representing the
  2748  // client's request for the GetSuite operation. The "output" return
  2749  // value will be populated with the request's response once the request completes
  2750  // successfully.
  2751  //
  2752  // Use "Send" method on the returned Request to send the API call to the service.
  2753  // the "output" return value is not valid until after Send returns without error.
  2754  //
  2755  // See GetSuite for more information on using the GetSuite
  2756  // API call, and error handling.
  2757  //
  2758  // This method is useful when you want to inject custom logic or configuration
  2759  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2760  //
  2761  //
  2762  //    // Example sending a request using the GetSuiteRequest method.
  2763  //    req, resp := client.GetSuiteRequest(params)
  2764  //
  2765  //    err := req.Send()
  2766  //    if err == nil { // resp is now filled
  2767  //        fmt.Println(resp)
  2768  //    }
  2769  //
  2770  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetSuite
  2771  func (c *DeviceFarm) GetSuiteRequest(input *GetSuiteInput) (req *request.Request, output *GetSuiteOutput) {
  2772  	op := &request.Operation{
  2773  		Name:       opGetSuite,
  2774  		HTTPMethod: "POST",
  2775  		HTTPPath:   "/",
  2776  	}
  2777  
  2778  	if input == nil {
  2779  		input = &GetSuiteInput{}
  2780  	}
  2781  
  2782  	output = &GetSuiteOutput{}
  2783  	req = c.newRequest(op, input, output)
  2784  	return
  2785  }
  2786  
  2787  // GetSuite API operation for AWS Device Farm.
  2788  //
  2789  // Gets information about a suite.
  2790  //
  2791  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2792  // with awserr.Error's Code and Message methods to get detailed information about
  2793  // the error.
  2794  //
  2795  // See the AWS API reference guide for AWS Device Farm's
  2796  // API operation GetSuite for usage and error information.
  2797  //
  2798  // Returned Error Types:
  2799  //   * ArgumentException
  2800  //   An invalid argument was specified.
  2801  //
  2802  //   * NotFoundException
  2803  //   The specified entity was not found.
  2804  //
  2805  //   * LimitExceededException
  2806  //   A limit was exceeded.
  2807  //
  2808  //   * ServiceAccountException
  2809  //   There was a problem with the service account.
  2810  //
  2811  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetSuite
  2812  func (c *DeviceFarm) GetSuite(input *GetSuiteInput) (*GetSuiteOutput, error) {
  2813  	req, out := c.GetSuiteRequest(input)
  2814  	return out, req.Send()
  2815  }
  2816  
  2817  // GetSuiteWithContext is the same as GetSuite with the addition of
  2818  // the ability to pass a context and additional request options.
  2819  //
  2820  // See GetSuite for details on how to use this API operation.
  2821  //
  2822  // The context must be non-nil and will be used for request cancellation. If
  2823  // the context is nil a panic will occur. In the future the SDK may create
  2824  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2825  // for more information on using Contexts.
  2826  func (c *DeviceFarm) GetSuiteWithContext(ctx aws.Context, input *GetSuiteInput, opts ...request.Option) (*GetSuiteOutput, error) {
  2827  	req, out := c.GetSuiteRequest(input)
  2828  	req.SetContext(ctx)
  2829  	req.ApplyOptions(opts...)
  2830  	return out, req.Send()
  2831  }
  2832  
  2833  const opGetTest = "GetTest"
  2834  
  2835  // GetTestRequest generates a "aws/request.Request" representing the
  2836  // client's request for the GetTest operation. The "output" return
  2837  // value will be populated with the request's response once the request completes
  2838  // successfully.
  2839  //
  2840  // Use "Send" method on the returned Request to send the API call to the service.
  2841  // the "output" return value is not valid until after Send returns without error.
  2842  //
  2843  // See GetTest for more information on using the GetTest
  2844  // API call, and error handling.
  2845  //
  2846  // This method is useful when you want to inject custom logic or configuration
  2847  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2848  //
  2849  //
  2850  //    // Example sending a request using the GetTestRequest method.
  2851  //    req, resp := client.GetTestRequest(params)
  2852  //
  2853  //    err := req.Send()
  2854  //    if err == nil { // resp is now filled
  2855  //        fmt.Println(resp)
  2856  //    }
  2857  //
  2858  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTest
  2859  func (c *DeviceFarm) GetTestRequest(input *GetTestInput) (req *request.Request, output *GetTestOutput) {
  2860  	op := &request.Operation{
  2861  		Name:       opGetTest,
  2862  		HTTPMethod: "POST",
  2863  		HTTPPath:   "/",
  2864  	}
  2865  
  2866  	if input == nil {
  2867  		input = &GetTestInput{}
  2868  	}
  2869  
  2870  	output = &GetTestOutput{}
  2871  	req = c.newRequest(op, input, output)
  2872  	return
  2873  }
  2874  
  2875  // GetTest API operation for AWS Device Farm.
  2876  //
  2877  // Gets information about a test.
  2878  //
  2879  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2880  // with awserr.Error's Code and Message methods to get detailed information about
  2881  // the error.
  2882  //
  2883  // See the AWS API reference guide for AWS Device Farm's
  2884  // API operation GetTest for usage and error information.
  2885  //
  2886  // Returned Error Types:
  2887  //   * ArgumentException
  2888  //   An invalid argument was specified.
  2889  //
  2890  //   * NotFoundException
  2891  //   The specified entity was not found.
  2892  //
  2893  //   * LimitExceededException
  2894  //   A limit was exceeded.
  2895  //
  2896  //   * ServiceAccountException
  2897  //   There was a problem with the service account.
  2898  //
  2899  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTest
  2900  func (c *DeviceFarm) GetTest(input *GetTestInput) (*GetTestOutput, error) {
  2901  	req, out := c.GetTestRequest(input)
  2902  	return out, req.Send()
  2903  }
  2904  
  2905  // GetTestWithContext is the same as GetTest with the addition of
  2906  // the ability to pass a context and additional request options.
  2907  //
  2908  // See GetTest for details on how to use this API operation.
  2909  //
  2910  // The context must be non-nil and will be used for request cancellation. If
  2911  // the context is nil a panic will occur. In the future the SDK may create
  2912  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2913  // for more information on using Contexts.
  2914  func (c *DeviceFarm) GetTestWithContext(ctx aws.Context, input *GetTestInput, opts ...request.Option) (*GetTestOutput, error) {
  2915  	req, out := c.GetTestRequest(input)
  2916  	req.SetContext(ctx)
  2917  	req.ApplyOptions(opts...)
  2918  	return out, req.Send()
  2919  }
  2920  
  2921  const opGetTestGridProject = "GetTestGridProject"
  2922  
  2923  // GetTestGridProjectRequest generates a "aws/request.Request" representing the
  2924  // client's request for the GetTestGridProject operation. The "output" return
  2925  // value will be populated with the request's response once the request completes
  2926  // successfully.
  2927  //
  2928  // Use "Send" method on the returned Request to send the API call to the service.
  2929  // the "output" return value is not valid until after Send returns without error.
  2930  //
  2931  // See GetTestGridProject for more information on using the GetTestGridProject
  2932  // API call, and error handling.
  2933  //
  2934  // This method is useful when you want to inject custom logic or configuration
  2935  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2936  //
  2937  //
  2938  //    // Example sending a request using the GetTestGridProjectRequest method.
  2939  //    req, resp := client.GetTestGridProjectRequest(params)
  2940  //
  2941  //    err := req.Send()
  2942  //    if err == nil { // resp is now filled
  2943  //        fmt.Println(resp)
  2944  //    }
  2945  //
  2946  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTestGridProject
  2947  func (c *DeviceFarm) GetTestGridProjectRequest(input *GetTestGridProjectInput) (req *request.Request, output *GetTestGridProjectOutput) {
  2948  	op := &request.Operation{
  2949  		Name:       opGetTestGridProject,
  2950  		HTTPMethod: "POST",
  2951  		HTTPPath:   "/",
  2952  	}
  2953  
  2954  	if input == nil {
  2955  		input = &GetTestGridProjectInput{}
  2956  	}
  2957  
  2958  	output = &GetTestGridProjectOutput{}
  2959  	req = c.newRequest(op, input, output)
  2960  	return
  2961  }
  2962  
  2963  // GetTestGridProject API operation for AWS Device Farm.
  2964  //
  2965  // Retrieves information about a Selenium testing project.
  2966  //
  2967  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2968  // with awserr.Error's Code and Message methods to get detailed information about
  2969  // the error.
  2970  //
  2971  // See the AWS API reference guide for AWS Device Farm's
  2972  // API operation GetTestGridProject for usage and error information.
  2973  //
  2974  // Returned Error Types:
  2975  //   * NotFoundException
  2976  //   The specified entity was not found.
  2977  //
  2978  //   * ArgumentException
  2979  //   An invalid argument was specified.
  2980  //
  2981  //   * InternalServiceException
  2982  //   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
  2983  //   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
  2984  //
  2985  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTestGridProject
  2986  func (c *DeviceFarm) GetTestGridProject(input *GetTestGridProjectInput) (*GetTestGridProjectOutput, error) {
  2987  	req, out := c.GetTestGridProjectRequest(input)
  2988  	return out, req.Send()
  2989  }
  2990  
  2991  // GetTestGridProjectWithContext is the same as GetTestGridProject with the addition of
  2992  // the ability to pass a context and additional request options.
  2993  //
  2994  // See GetTestGridProject for details on how to use this API operation.
  2995  //
  2996  // The context must be non-nil and will be used for request cancellation. If
  2997  // the context is nil a panic will occur. In the future the SDK may create
  2998  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2999  // for more information on using Contexts.
  3000  func (c *DeviceFarm) GetTestGridProjectWithContext(ctx aws.Context, input *GetTestGridProjectInput, opts ...request.Option) (*GetTestGridProjectOutput, error) {
  3001  	req, out := c.GetTestGridProjectRequest(input)
  3002  	req.SetContext(ctx)
  3003  	req.ApplyOptions(opts...)
  3004  	return out, req.Send()
  3005  }
  3006  
  3007  const opGetTestGridSession = "GetTestGridSession"
  3008  
  3009  // GetTestGridSessionRequest generates a "aws/request.Request" representing the
  3010  // client's request for the GetTestGridSession operation. The "output" return
  3011  // value will be populated with the request's response once the request completes
  3012  // successfully.
  3013  //
  3014  // Use "Send" method on the returned Request to send the API call to the service.
  3015  // the "output" return value is not valid until after Send returns without error.
  3016  //
  3017  // See GetTestGridSession for more information on using the GetTestGridSession
  3018  // API call, and error handling.
  3019  //
  3020  // This method is useful when you want to inject custom logic or configuration
  3021  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3022  //
  3023  //
  3024  //    // Example sending a request using the GetTestGridSessionRequest method.
  3025  //    req, resp := client.GetTestGridSessionRequest(params)
  3026  //
  3027  //    err := req.Send()
  3028  //    if err == nil { // resp is now filled
  3029  //        fmt.Println(resp)
  3030  //    }
  3031  //
  3032  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTestGridSession
  3033  func (c *DeviceFarm) GetTestGridSessionRequest(input *GetTestGridSessionInput) (req *request.Request, output *GetTestGridSessionOutput) {
  3034  	op := &request.Operation{
  3035  		Name:       opGetTestGridSession,
  3036  		HTTPMethod: "POST",
  3037  		HTTPPath:   "/",
  3038  	}
  3039  
  3040  	if input == nil {
  3041  		input = &GetTestGridSessionInput{}
  3042  	}
  3043  
  3044  	output = &GetTestGridSessionOutput{}
  3045  	req = c.newRequest(op, input, output)
  3046  	return
  3047  }
  3048  
  3049  // GetTestGridSession API operation for AWS Device Farm.
  3050  //
  3051  // A session is an instance of a browser created through a RemoteWebDriver with
  3052  // the URL from CreateTestGridUrlResult$url. You can use the following to look
  3053  // up sessions:
  3054  //
  3055  //    * The session ARN (GetTestGridSessionRequest$sessionArn).
  3056  //
  3057  //    * The project ARN and a session ID (GetTestGridSessionRequest$projectArn
  3058  //    and GetTestGridSessionRequest$sessionId).
  3059  //
  3060  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3061  // with awserr.Error's Code and Message methods to get detailed information about
  3062  // the error.
  3063  //
  3064  // See the AWS API reference guide for AWS Device Farm's
  3065  // API operation GetTestGridSession for usage and error information.
  3066  //
  3067  // Returned Error Types:
  3068  //   * NotFoundException
  3069  //   The specified entity was not found.
  3070  //
  3071  //   * ArgumentException
  3072  //   An invalid argument was specified.
  3073  //
  3074  //   * InternalServiceException
  3075  //   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
  3076  //   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
  3077  //
  3078  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTestGridSession
  3079  func (c *DeviceFarm) GetTestGridSession(input *GetTestGridSessionInput) (*GetTestGridSessionOutput, error) {
  3080  	req, out := c.GetTestGridSessionRequest(input)
  3081  	return out, req.Send()
  3082  }
  3083  
  3084  // GetTestGridSessionWithContext is the same as GetTestGridSession with the addition of
  3085  // the ability to pass a context and additional request options.
  3086  //
  3087  // See GetTestGridSession for details on how to use this API operation.
  3088  //
  3089  // The context must be non-nil and will be used for request cancellation. If
  3090  // the context is nil a panic will occur. In the future the SDK may create
  3091  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3092  // for more information on using Contexts.
  3093  func (c *DeviceFarm) GetTestGridSessionWithContext(ctx aws.Context, input *GetTestGridSessionInput, opts ...request.Option) (*GetTestGridSessionOutput, error) {
  3094  	req, out := c.GetTestGridSessionRequest(input)
  3095  	req.SetContext(ctx)
  3096  	req.ApplyOptions(opts...)
  3097  	return out, req.Send()
  3098  }
  3099  
  3100  const opGetUpload = "GetUpload"
  3101  
  3102  // GetUploadRequest generates a "aws/request.Request" representing the
  3103  // client's request for the GetUpload operation. The "output" return
  3104  // value will be populated with the request's response once the request completes
  3105  // successfully.
  3106  //
  3107  // Use "Send" method on the returned Request to send the API call to the service.
  3108  // the "output" return value is not valid until after Send returns without error.
  3109  //
  3110  // See GetUpload for more information on using the GetUpload
  3111  // API call, and error handling.
  3112  //
  3113  // This method is useful when you want to inject custom logic or configuration
  3114  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3115  //
  3116  //
  3117  //    // Example sending a request using the GetUploadRequest method.
  3118  //    req, resp := client.GetUploadRequest(params)
  3119  //
  3120  //    err := req.Send()
  3121  //    if err == nil { // resp is now filled
  3122  //        fmt.Println(resp)
  3123  //    }
  3124  //
  3125  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetUpload
  3126  func (c *DeviceFarm) GetUploadRequest(input *GetUploadInput) (req *request.Request, output *GetUploadOutput) {
  3127  	op := &request.Operation{
  3128  		Name:       opGetUpload,
  3129  		HTTPMethod: "POST",
  3130  		HTTPPath:   "/",
  3131  	}
  3132  
  3133  	if input == nil {
  3134  		input = &GetUploadInput{}
  3135  	}
  3136  
  3137  	output = &GetUploadOutput{}
  3138  	req = c.newRequest(op, input, output)
  3139  	return
  3140  }
  3141  
  3142  // GetUpload API operation for AWS Device Farm.
  3143  //
  3144  // Gets information about an upload.
  3145  //
  3146  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3147  // with awserr.Error's Code and Message methods to get detailed information about
  3148  // the error.
  3149  //
  3150  // See the AWS API reference guide for AWS Device Farm's
  3151  // API operation GetUpload for usage and error information.
  3152  //
  3153  // Returned Error Types:
  3154  //   * ArgumentException
  3155  //   An invalid argument was specified.
  3156  //
  3157  //   * NotFoundException
  3158  //   The specified entity was not found.
  3159  //
  3160  //   * LimitExceededException
  3161  //   A limit was exceeded.
  3162  //
  3163  //   * ServiceAccountException
  3164  //   There was a problem with the service account.
  3165  //
  3166  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetUpload
  3167  func (c *DeviceFarm) GetUpload(input *GetUploadInput) (*GetUploadOutput, error) {
  3168  	req, out := c.GetUploadRequest(input)
  3169  	return out, req.Send()
  3170  }
  3171  
  3172  // GetUploadWithContext is the same as GetUpload with the addition of
  3173  // the ability to pass a context and additional request options.
  3174  //
  3175  // See GetUpload for details on how to use this API operation.
  3176  //
  3177  // The context must be non-nil and will be used for request cancellation. If
  3178  // the context is nil a panic will occur. In the future the SDK may create
  3179  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3180  // for more information on using Contexts.
  3181  func (c *DeviceFarm) GetUploadWithContext(ctx aws.Context, input *GetUploadInput, opts ...request.Option) (*GetUploadOutput, error) {
  3182  	req, out := c.GetUploadRequest(input)
  3183  	req.SetContext(ctx)
  3184  	req.ApplyOptions(opts...)
  3185  	return out, req.Send()
  3186  }
  3187  
  3188  const opGetVPCEConfiguration = "GetVPCEConfiguration"
  3189  
  3190  // GetVPCEConfigurationRequest generates a "aws/request.Request" representing the
  3191  // client's request for the GetVPCEConfiguration operation. The "output" return
  3192  // value will be populated with the request's response once the request completes
  3193  // successfully.
  3194  //
  3195  // Use "Send" method on the returned Request to send the API call to the service.
  3196  // the "output" return value is not valid until after Send returns without error.
  3197  //
  3198  // See GetVPCEConfiguration for more information on using the GetVPCEConfiguration
  3199  // API call, and error handling.
  3200  //
  3201  // This method is useful when you want to inject custom logic or configuration
  3202  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3203  //
  3204  //
  3205  //    // Example sending a request using the GetVPCEConfigurationRequest method.
  3206  //    req, resp := client.GetVPCEConfigurationRequest(params)
  3207  //
  3208  //    err := req.Send()
  3209  //    if err == nil { // resp is now filled
  3210  //        fmt.Println(resp)
  3211  //    }
  3212  //
  3213  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetVPCEConfiguration
  3214  func (c *DeviceFarm) GetVPCEConfigurationRequest(input *GetVPCEConfigurationInput) (req *request.Request, output *GetVPCEConfigurationOutput) {
  3215  	op := &request.Operation{
  3216  		Name:       opGetVPCEConfiguration,
  3217  		HTTPMethod: "POST",
  3218  		HTTPPath:   "/",
  3219  	}
  3220  
  3221  	if input == nil {
  3222  		input = &GetVPCEConfigurationInput{}
  3223  	}
  3224  
  3225  	output = &GetVPCEConfigurationOutput{}
  3226  	req = c.newRequest(op, input, output)
  3227  	return
  3228  }
  3229  
  3230  // GetVPCEConfiguration API operation for AWS Device Farm.
  3231  //
  3232  // Returns information about the configuration settings for your Amazon Virtual
  3233  // Private Cloud (VPC) endpoint.
  3234  //
  3235  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3236  // with awserr.Error's Code and Message methods to get detailed information about
  3237  // the error.
  3238  //
  3239  // See the AWS API reference guide for AWS Device Farm's
  3240  // API operation GetVPCEConfiguration for usage and error information.
  3241  //
  3242  // Returned Error Types:
  3243  //   * ArgumentException
  3244  //   An invalid argument was specified.
  3245  //
  3246  //   * NotFoundException
  3247  //   The specified entity was not found.
  3248  //
  3249  //   * ServiceAccountException
  3250  //   There was a problem with the service account.
  3251  //
  3252  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetVPCEConfiguration
  3253  func (c *DeviceFarm) GetVPCEConfiguration(input *GetVPCEConfigurationInput) (*GetVPCEConfigurationOutput, error) {
  3254  	req, out := c.GetVPCEConfigurationRequest(input)
  3255  	return out, req.Send()
  3256  }
  3257  
  3258  // GetVPCEConfigurationWithContext is the same as GetVPCEConfiguration with the addition of
  3259  // the ability to pass a context and additional request options.
  3260  //
  3261  // See GetVPCEConfiguration for details on how to use this API operation.
  3262  //
  3263  // The context must be non-nil and will be used for request cancellation. If
  3264  // the context is nil a panic will occur. In the future the SDK may create
  3265  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3266  // for more information on using Contexts.
  3267  func (c *DeviceFarm) GetVPCEConfigurationWithContext(ctx aws.Context, input *GetVPCEConfigurationInput, opts ...request.Option) (*GetVPCEConfigurationOutput, error) {
  3268  	req, out := c.GetVPCEConfigurationRequest(input)
  3269  	req.SetContext(ctx)
  3270  	req.ApplyOptions(opts...)
  3271  	return out, req.Send()
  3272  }
  3273  
  3274  const opInstallToRemoteAccessSession = "InstallToRemoteAccessSession"
  3275  
  3276  // InstallToRemoteAccessSessionRequest generates a "aws/request.Request" representing the
  3277  // client's request for the InstallToRemoteAccessSession operation. The "output" return
  3278  // value will be populated with the request's response once the request completes
  3279  // successfully.
  3280  //
  3281  // Use "Send" method on the returned Request to send the API call to the service.
  3282  // the "output" return value is not valid until after Send returns without error.
  3283  //
  3284  // See InstallToRemoteAccessSession for more information on using the InstallToRemoteAccessSession
  3285  // API call, and error handling.
  3286  //
  3287  // This method is useful when you want to inject custom logic or configuration
  3288  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3289  //
  3290  //
  3291  //    // Example sending a request using the InstallToRemoteAccessSessionRequest method.
  3292  //    req, resp := client.InstallToRemoteAccessSessionRequest(params)
  3293  //
  3294  //    err := req.Send()
  3295  //    if err == nil { // resp is now filled
  3296  //        fmt.Println(resp)
  3297  //    }
  3298  //
  3299  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/InstallToRemoteAccessSession
  3300  func (c *DeviceFarm) InstallToRemoteAccessSessionRequest(input *InstallToRemoteAccessSessionInput) (req *request.Request, output *InstallToRemoteAccessSessionOutput) {
  3301  	op := &request.Operation{
  3302  		Name:       opInstallToRemoteAccessSession,
  3303  		HTTPMethod: "POST",
  3304  		HTTPPath:   "/",
  3305  	}
  3306  
  3307  	if input == nil {
  3308  		input = &InstallToRemoteAccessSessionInput{}
  3309  	}
  3310  
  3311  	output = &InstallToRemoteAccessSessionOutput{}
  3312  	req = c.newRequest(op, input, output)
  3313  	return
  3314  }
  3315  
  3316  // InstallToRemoteAccessSession API operation for AWS Device Farm.
  3317  //
  3318  // Installs an application to the device in a remote access session. For Android
  3319  // applications, the file must be in .apk format. For iOS applications, the
  3320  // file must be in .ipa format.
  3321  //
  3322  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3323  // with awserr.Error's Code and Message methods to get detailed information about
  3324  // the error.
  3325  //
  3326  // See the AWS API reference guide for AWS Device Farm's
  3327  // API operation InstallToRemoteAccessSession for usage and error information.
  3328  //
  3329  // Returned Error Types:
  3330  //   * ArgumentException
  3331  //   An invalid argument was specified.
  3332  //
  3333  //   * NotFoundException
  3334  //   The specified entity was not found.
  3335  //
  3336  //   * LimitExceededException
  3337  //   A limit was exceeded.
  3338  //
  3339  //   * ServiceAccountException
  3340  //   There was a problem with the service account.
  3341  //
  3342  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/InstallToRemoteAccessSession
  3343  func (c *DeviceFarm) InstallToRemoteAccessSession(input *InstallToRemoteAccessSessionInput) (*InstallToRemoteAccessSessionOutput, error) {
  3344  	req, out := c.InstallToRemoteAccessSessionRequest(input)
  3345  	return out, req.Send()
  3346  }
  3347  
  3348  // InstallToRemoteAccessSessionWithContext is the same as InstallToRemoteAccessSession with the addition of
  3349  // the ability to pass a context and additional request options.
  3350  //
  3351  // See InstallToRemoteAccessSession for details on how to use this API operation.
  3352  //
  3353  // The context must be non-nil and will be used for request cancellation. If
  3354  // the context is nil a panic will occur. In the future the SDK may create
  3355  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3356  // for more information on using Contexts.
  3357  func (c *DeviceFarm) InstallToRemoteAccessSessionWithContext(ctx aws.Context, input *InstallToRemoteAccessSessionInput, opts ...request.Option) (*InstallToRemoteAccessSessionOutput, error) {
  3358  	req, out := c.InstallToRemoteAccessSessionRequest(input)
  3359  	req.SetContext(ctx)
  3360  	req.ApplyOptions(opts...)
  3361  	return out, req.Send()
  3362  }
  3363  
  3364  const opListArtifacts = "ListArtifacts"
  3365  
  3366  // ListArtifactsRequest generates a "aws/request.Request" representing the
  3367  // client's request for the ListArtifacts operation. The "output" return
  3368  // value will be populated with the request's response once the request completes
  3369  // successfully.
  3370  //
  3371  // Use "Send" method on the returned Request to send the API call to the service.
  3372  // the "output" return value is not valid until after Send returns without error.
  3373  //
  3374  // See ListArtifacts for more information on using the ListArtifacts
  3375  // API call, and error handling.
  3376  //
  3377  // This method is useful when you want to inject custom logic or configuration
  3378  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3379  //
  3380  //
  3381  //    // Example sending a request using the ListArtifactsRequest method.
  3382  //    req, resp := client.ListArtifactsRequest(params)
  3383  //
  3384  //    err := req.Send()
  3385  //    if err == nil { // resp is now filled
  3386  //        fmt.Println(resp)
  3387  //    }
  3388  //
  3389  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListArtifacts
  3390  func (c *DeviceFarm) ListArtifactsRequest(input *ListArtifactsInput) (req *request.Request, output *ListArtifactsOutput) {
  3391  	op := &request.Operation{
  3392  		Name:       opListArtifacts,
  3393  		HTTPMethod: "POST",
  3394  		HTTPPath:   "/",
  3395  		Paginator: &request.Paginator{
  3396  			InputTokens:     []string{"nextToken"},
  3397  			OutputTokens:    []string{"nextToken"},
  3398  			LimitToken:      "",
  3399  			TruncationToken: "",
  3400  		},
  3401  	}
  3402  
  3403  	if input == nil {
  3404  		input = &ListArtifactsInput{}
  3405  	}
  3406  
  3407  	output = &ListArtifactsOutput{}
  3408  	req = c.newRequest(op, input, output)
  3409  	return
  3410  }
  3411  
  3412  // ListArtifacts API operation for AWS Device Farm.
  3413  //
  3414  // Gets information about artifacts.
  3415  //
  3416  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3417  // with awserr.Error's Code and Message methods to get detailed information about
  3418  // the error.
  3419  //
  3420  // See the AWS API reference guide for AWS Device Farm's
  3421  // API operation ListArtifacts for usage and error information.
  3422  //
  3423  // Returned Error Types:
  3424  //   * ArgumentException
  3425  //   An invalid argument was specified.
  3426  //
  3427  //   * NotFoundException
  3428  //   The specified entity was not found.
  3429  //
  3430  //   * LimitExceededException
  3431  //   A limit was exceeded.
  3432  //
  3433  //   * ServiceAccountException
  3434  //   There was a problem with the service account.
  3435  //
  3436  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListArtifacts
  3437  func (c *DeviceFarm) ListArtifacts(input *ListArtifactsInput) (*ListArtifactsOutput, error) {
  3438  	req, out := c.ListArtifactsRequest(input)
  3439  	return out, req.Send()
  3440  }
  3441  
  3442  // ListArtifactsWithContext is the same as ListArtifacts with the addition of
  3443  // the ability to pass a context and additional request options.
  3444  //
  3445  // See ListArtifacts for details on how to use this API operation.
  3446  //
  3447  // The context must be non-nil and will be used for request cancellation. If
  3448  // the context is nil a panic will occur. In the future the SDK may create
  3449  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3450  // for more information on using Contexts.
  3451  func (c *DeviceFarm) ListArtifactsWithContext(ctx aws.Context, input *ListArtifactsInput, opts ...request.Option) (*ListArtifactsOutput, error) {
  3452  	req, out := c.ListArtifactsRequest(input)
  3453  	req.SetContext(ctx)
  3454  	req.ApplyOptions(opts...)
  3455  	return out, req.Send()
  3456  }
  3457  
  3458  // ListArtifactsPages iterates over the pages of a ListArtifacts operation,
  3459  // calling the "fn" function with the response data for each page. To stop
  3460  // iterating, return false from the fn function.
  3461  //
  3462  // See ListArtifacts method for more information on how to use this operation.
  3463  //
  3464  // Note: This operation can generate multiple requests to a service.
  3465  //
  3466  //    // Example iterating over at most 3 pages of a ListArtifacts operation.
  3467  //    pageNum := 0
  3468  //    err := client.ListArtifactsPages(params,
  3469  //        func(page *devicefarm.ListArtifactsOutput, lastPage bool) bool {
  3470  //            pageNum++
  3471  //            fmt.Println(page)
  3472  //            return pageNum <= 3
  3473  //        })
  3474  //
  3475  func (c *DeviceFarm) ListArtifactsPages(input *ListArtifactsInput, fn func(*ListArtifactsOutput, bool) bool) error {
  3476  	return c.ListArtifactsPagesWithContext(aws.BackgroundContext(), input, fn)
  3477  }
  3478  
  3479  // ListArtifactsPagesWithContext same as ListArtifactsPages except
  3480  // it takes a Context and allows setting request options on the pages.
  3481  //
  3482  // The context must be non-nil and will be used for request cancellation. If
  3483  // the context is nil a panic will occur. In the future the SDK may create
  3484  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3485  // for more information on using Contexts.
  3486  func (c *DeviceFarm) ListArtifactsPagesWithContext(ctx aws.Context, input *ListArtifactsInput, fn func(*ListArtifactsOutput, bool) bool, opts ...request.Option) error {
  3487  	p := request.Pagination{
  3488  		NewRequest: func() (*request.Request, error) {
  3489  			var inCpy *ListArtifactsInput
  3490  			if input != nil {
  3491  				tmp := *input
  3492  				inCpy = &tmp
  3493  			}
  3494  			req, _ := c.ListArtifactsRequest(inCpy)
  3495  			req.SetContext(ctx)
  3496  			req.ApplyOptions(opts...)
  3497  			return req, nil
  3498  		},
  3499  	}
  3500  
  3501  	for p.Next() {
  3502  		if !fn(p.Page().(*ListArtifactsOutput), !p.HasNextPage()) {
  3503  			break
  3504  		}
  3505  	}
  3506  
  3507  	return p.Err()
  3508  }
  3509  
  3510  const opListDeviceInstances = "ListDeviceInstances"
  3511  
  3512  // ListDeviceInstancesRequest generates a "aws/request.Request" representing the
  3513  // client's request for the ListDeviceInstances operation. The "output" return
  3514  // value will be populated with the request's response once the request completes
  3515  // successfully.
  3516  //
  3517  // Use "Send" method on the returned Request to send the API call to the service.
  3518  // the "output" return value is not valid until after Send returns without error.
  3519  //
  3520  // See ListDeviceInstances for more information on using the ListDeviceInstances
  3521  // API call, and error handling.
  3522  //
  3523  // This method is useful when you want to inject custom logic or configuration
  3524  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3525  //
  3526  //
  3527  //    // Example sending a request using the ListDeviceInstancesRequest method.
  3528  //    req, resp := client.ListDeviceInstancesRequest(params)
  3529  //
  3530  //    err := req.Send()
  3531  //    if err == nil { // resp is now filled
  3532  //        fmt.Println(resp)
  3533  //    }
  3534  //
  3535  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDeviceInstances
  3536  func (c *DeviceFarm) ListDeviceInstancesRequest(input *ListDeviceInstancesInput) (req *request.Request, output *ListDeviceInstancesOutput) {
  3537  	op := &request.Operation{
  3538  		Name:       opListDeviceInstances,
  3539  		HTTPMethod: "POST",
  3540  		HTTPPath:   "/",
  3541  	}
  3542  
  3543  	if input == nil {
  3544  		input = &ListDeviceInstancesInput{}
  3545  	}
  3546  
  3547  	output = &ListDeviceInstancesOutput{}
  3548  	req = c.newRequest(op, input, output)
  3549  	return
  3550  }
  3551  
  3552  // ListDeviceInstances API operation for AWS Device Farm.
  3553  //
  3554  // Returns information about the private device instances associated with one
  3555  // or more AWS accounts.
  3556  //
  3557  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3558  // with awserr.Error's Code and Message methods to get detailed information about
  3559  // the error.
  3560  //
  3561  // See the AWS API reference guide for AWS Device Farm's
  3562  // API operation ListDeviceInstances for usage and error information.
  3563  //
  3564  // Returned Error Types:
  3565  //   * ArgumentException
  3566  //   An invalid argument was specified.
  3567  //
  3568  //   * NotFoundException
  3569  //   The specified entity was not found.
  3570  //
  3571  //   * LimitExceededException
  3572  //   A limit was exceeded.
  3573  //
  3574  //   * ServiceAccountException
  3575  //   There was a problem with the service account.
  3576  //
  3577  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDeviceInstances
  3578  func (c *DeviceFarm) ListDeviceInstances(input *ListDeviceInstancesInput) (*ListDeviceInstancesOutput, error) {
  3579  	req, out := c.ListDeviceInstancesRequest(input)
  3580  	return out, req.Send()
  3581  }
  3582  
  3583  // ListDeviceInstancesWithContext is the same as ListDeviceInstances with the addition of
  3584  // the ability to pass a context and additional request options.
  3585  //
  3586  // See ListDeviceInstances for details on how to use this API operation.
  3587  //
  3588  // The context must be non-nil and will be used for request cancellation. If
  3589  // the context is nil a panic will occur. In the future the SDK may create
  3590  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3591  // for more information on using Contexts.
  3592  func (c *DeviceFarm) ListDeviceInstancesWithContext(ctx aws.Context, input *ListDeviceInstancesInput, opts ...request.Option) (*ListDeviceInstancesOutput, error) {
  3593  	req, out := c.ListDeviceInstancesRequest(input)
  3594  	req.SetContext(ctx)
  3595  	req.ApplyOptions(opts...)
  3596  	return out, req.Send()
  3597  }
  3598  
  3599  const opListDevicePools = "ListDevicePools"
  3600  
  3601  // ListDevicePoolsRequest generates a "aws/request.Request" representing the
  3602  // client's request for the ListDevicePools operation. The "output" return
  3603  // value will be populated with the request's response once the request completes
  3604  // successfully.
  3605  //
  3606  // Use "Send" method on the returned Request to send the API call to the service.
  3607  // the "output" return value is not valid until after Send returns without error.
  3608  //
  3609  // See ListDevicePools for more information on using the ListDevicePools
  3610  // API call, and error handling.
  3611  //
  3612  // This method is useful when you want to inject custom logic or configuration
  3613  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3614  //
  3615  //
  3616  //    // Example sending a request using the ListDevicePoolsRequest method.
  3617  //    req, resp := client.ListDevicePoolsRequest(params)
  3618  //
  3619  //    err := req.Send()
  3620  //    if err == nil { // resp is now filled
  3621  //        fmt.Println(resp)
  3622  //    }
  3623  //
  3624  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevicePools
  3625  func (c *DeviceFarm) ListDevicePoolsRequest(input *ListDevicePoolsInput) (req *request.Request, output *ListDevicePoolsOutput) {
  3626  	op := &request.Operation{
  3627  		Name:       opListDevicePools,
  3628  		HTTPMethod: "POST",
  3629  		HTTPPath:   "/",
  3630  		Paginator: &request.Paginator{
  3631  			InputTokens:     []string{"nextToken"},
  3632  			OutputTokens:    []string{"nextToken"},
  3633  			LimitToken:      "",
  3634  			TruncationToken: "",
  3635  		},
  3636  	}
  3637  
  3638  	if input == nil {
  3639  		input = &ListDevicePoolsInput{}
  3640  	}
  3641  
  3642  	output = &ListDevicePoolsOutput{}
  3643  	req = c.newRequest(op, input, output)
  3644  	return
  3645  }
  3646  
  3647  // ListDevicePools API operation for AWS Device Farm.
  3648  //
  3649  // Gets information about device pools.
  3650  //
  3651  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3652  // with awserr.Error's Code and Message methods to get detailed information about
  3653  // the error.
  3654  //
  3655  // See the AWS API reference guide for AWS Device Farm's
  3656  // API operation ListDevicePools for usage and error information.
  3657  //
  3658  // Returned Error Types:
  3659  //   * ArgumentException
  3660  //   An invalid argument was specified.
  3661  //
  3662  //   * NotFoundException
  3663  //   The specified entity was not found.
  3664  //
  3665  //   * LimitExceededException
  3666  //   A limit was exceeded.
  3667  //
  3668  //   * ServiceAccountException
  3669  //   There was a problem with the service account.
  3670  //
  3671  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevicePools
  3672  func (c *DeviceFarm) ListDevicePools(input *ListDevicePoolsInput) (*ListDevicePoolsOutput, error) {
  3673  	req, out := c.ListDevicePoolsRequest(input)
  3674  	return out, req.Send()
  3675  }
  3676  
  3677  // ListDevicePoolsWithContext is the same as ListDevicePools with the addition of
  3678  // the ability to pass a context and additional request options.
  3679  //
  3680  // See ListDevicePools for details on how to use this API operation.
  3681  //
  3682  // The context must be non-nil and will be used for request cancellation. If
  3683  // the context is nil a panic will occur. In the future the SDK may create
  3684  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3685  // for more information on using Contexts.
  3686  func (c *DeviceFarm) ListDevicePoolsWithContext(ctx aws.Context, input *ListDevicePoolsInput, opts ...request.Option) (*ListDevicePoolsOutput, error) {
  3687  	req, out := c.ListDevicePoolsRequest(input)
  3688  	req.SetContext(ctx)
  3689  	req.ApplyOptions(opts...)
  3690  	return out, req.Send()
  3691  }
  3692  
  3693  // ListDevicePoolsPages iterates over the pages of a ListDevicePools operation,
  3694  // calling the "fn" function with the response data for each page. To stop
  3695  // iterating, return false from the fn function.
  3696  //
  3697  // See ListDevicePools method for more information on how to use this operation.
  3698  //
  3699  // Note: This operation can generate multiple requests to a service.
  3700  //
  3701  //    // Example iterating over at most 3 pages of a ListDevicePools operation.
  3702  //    pageNum := 0
  3703  //    err := client.ListDevicePoolsPages(params,
  3704  //        func(page *devicefarm.ListDevicePoolsOutput, lastPage bool) bool {
  3705  //            pageNum++
  3706  //            fmt.Println(page)
  3707  //            return pageNum <= 3
  3708  //        })
  3709  //
  3710  func (c *DeviceFarm) ListDevicePoolsPages(input *ListDevicePoolsInput, fn func(*ListDevicePoolsOutput, bool) bool) error {
  3711  	return c.ListDevicePoolsPagesWithContext(aws.BackgroundContext(), input, fn)
  3712  }
  3713  
  3714  // ListDevicePoolsPagesWithContext same as ListDevicePoolsPages except
  3715  // it takes a Context and allows setting request options on the pages.
  3716  //
  3717  // The context must be non-nil and will be used for request cancellation. If
  3718  // the context is nil a panic will occur. In the future the SDK may create
  3719  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3720  // for more information on using Contexts.
  3721  func (c *DeviceFarm) ListDevicePoolsPagesWithContext(ctx aws.Context, input *ListDevicePoolsInput, fn func(*ListDevicePoolsOutput, bool) bool, opts ...request.Option) error {
  3722  	p := request.Pagination{
  3723  		NewRequest: func() (*request.Request, error) {
  3724  			var inCpy *ListDevicePoolsInput
  3725  			if input != nil {
  3726  				tmp := *input
  3727  				inCpy = &tmp
  3728  			}
  3729  			req, _ := c.ListDevicePoolsRequest(inCpy)
  3730  			req.SetContext(ctx)
  3731  			req.ApplyOptions(opts...)
  3732  			return req, nil
  3733  		},
  3734  	}
  3735  
  3736  	for p.Next() {
  3737  		if !fn(p.Page().(*ListDevicePoolsOutput), !p.HasNextPage()) {
  3738  			break
  3739  		}
  3740  	}
  3741  
  3742  	return p.Err()
  3743  }
  3744  
  3745  const opListDevices = "ListDevices"
  3746  
  3747  // ListDevicesRequest generates a "aws/request.Request" representing the
  3748  // client's request for the ListDevices operation. The "output" return
  3749  // value will be populated with the request's response once the request completes
  3750  // successfully.
  3751  //
  3752  // Use "Send" method on the returned Request to send the API call to the service.
  3753  // the "output" return value is not valid until after Send returns without error.
  3754  //
  3755  // See ListDevices for more information on using the ListDevices
  3756  // API call, and error handling.
  3757  //
  3758  // This method is useful when you want to inject custom logic or configuration
  3759  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3760  //
  3761  //
  3762  //    // Example sending a request using the ListDevicesRequest method.
  3763  //    req, resp := client.ListDevicesRequest(params)
  3764  //
  3765  //    err := req.Send()
  3766  //    if err == nil { // resp is now filled
  3767  //        fmt.Println(resp)
  3768  //    }
  3769  //
  3770  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevices
  3771  func (c *DeviceFarm) ListDevicesRequest(input *ListDevicesInput) (req *request.Request, output *ListDevicesOutput) {
  3772  	op := &request.Operation{
  3773  		Name:       opListDevices,
  3774  		HTTPMethod: "POST",
  3775  		HTTPPath:   "/",
  3776  		Paginator: &request.Paginator{
  3777  			InputTokens:     []string{"nextToken"},
  3778  			OutputTokens:    []string{"nextToken"},
  3779  			LimitToken:      "",
  3780  			TruncationToken: "",
  3781  		},
  3782  	}
  3783  
  3784  	if input == nil {
  3785  		input = &ListDevicesInput{}
  3786  	}
  3787  
  3788  	output = &ListDevicesOutput{}
  3789  	req = c.newRequest(op, input, output)
  3790  	return
  3791  }
  3792  
  3793  // ListDevices API operation for AWS Device Farm.
  3794  //
  3795  // Gets information about unique device types.
  3796  //
  3797  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3798  // with awserr.Error's Code and Message methods to get detailed information about
  3799  // the error.
  3800  //
  3801  // See the AWS API reference guide for AWS Device Farm's
  3802  // API operation ListDevices for usage and error information.
  3803  //
  3804  // Returned Error Types:
  3805  //   * ArgumentException
  3806  //   An invalid argument was specified.
  3807  //
  3808  //   * NotFoundException
  3809  //   The specified entity was not found.
  3810  //
  3811  //   * LimitExceededException
  3812  //   A limit was exceeded.
  3813  //
  3814  //   * ServiceAccountException
  3815  //   There was a problem with the service account.
  3816  //
  3817  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevices
  3818  func (c *DeviceFarm) ListDevices(input *ListDevicesInput) (*ListDevicesOutput, error) {
  3819  	req, out := c.ListDevicesRequest(input)
  3820  	return out, req.Send()
  3821  }
  3822  
  3823  // ListDevicesWithContext is the same as ListDevices with the addition of
  3824  // the ability to pass a context and additional request options.
  3825  //
  3826  // See ListDevices for details on how to use this API operation.
  3827  //
  3828  // The context must be non-nil and will be used for request cancellation. If
  3829  // the context is nil a panic will occur. In the future the SDK may create
  3830  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3831  // for more information on using Contexts.
  3832  func (c *DeviceFarm) ListDevicesWithContext(ctx aws.Context, input *ListDevicesInput, opts ...request.Option) (*ListDevicesOutput, error) {
  3833  	req, out := c.ListDevicesRequest(input)
  3834  	req.SetContext(ctx)
  3835  	req.ApplyOptions(opts...)
  3836  	return out, req.Send()
  3837  }
  3838  
  3839  // ListDevicesPages iterates over the pages of a ListDevices operation,
  3840  // calling the "fn" function with the response data for each page. To stop
  3841  // iterating, return false from the fn function.
  3842  //
  3843  // See ListDevices method for more information on how to use this operation.
  3844  //
  3845  // Note: This operation can generate multiple requests to a service.
  3846  //
  3847  //    // Example iterating over at most 3 pages of a ListDevices operation.
  3848  //    pageNum := 0
  3849  //    err := client.ListDevicesPages(params,
  3850  //        func(page *devicefarm.ListDevicesOutput, lastPage bool) bool {
  3851  //            pageNum++
  3852  //            fmt.Println(page)
  3853  //            return pageNum <= 3
  3854  //        })
  3855  //
  3856  func (c *DeviceFarm) ListDevicesPages(input *ListDevicesInput, fn func(*ListDevicesOutput, bool) bool) error {
  3857  	return c.ListDevicesPagesWithContext(aws.BackgroundContext(), input, fn)
  3858  }
  3859  
  3860  // ListDevicesPagesWithContext same as ListDevicesPages except
  3861  // it takes a Context and allows setting request options on the pages.
  3862  //
  3863  // The context must be non-nil and will be used for request cancellation. If
  3864  // the context is nil a panic will occur. In the future the SDK may create
  3865  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3866  // for more information on using Contexts.
  3867  func (c *DeviceFarm) ListDevicesPagesWithContext(ctx aws.Context, input *ListDevicesInput, fn func(*ListDevicesOutput, bool) bool, opts ...request.Option) error {
  3868  	p := request.Pagination{
  3869  		NewRequest: func() (*request.Request, error) {
  3870  			var inCpy *ListDevicesInput
  3871  			if input != nil {
  3872  				tmp := *input
  3873  				inCpy = &tmp
  3874  			}
  3875  			req, _ := c.ListDevicesRequest(inCpy)
  3876  			req.SetContext(ctx)
  3877  			req.ApplyOptions(opts...)
  3878  			return req, nil
  3879  		},
  3880  	}
  3881  
  3882  	for p.Next() {
  3883  		if !fn(p.Page().(*ListDevicesOutput), !p.HasNextPage()) {
  3884  			break
  3885  		}
  3886  	}
  3887  
  3888  	return p.Err()
  3889  }
  3890  
  3891  const opListInstanceProfiles = "ListInstanceProfiles"
  3892  
  3893  // ListInstanceProfilesRequest generates a "aws/request.Request" representing the
  3894  // client's request for the ListInstanceProfiles operation. The "output" return
  3895  // value will be populated with the request's response once the request completes
  3896  // successfully.
  3897  //
  3898  // Use "Send" method on the returned Request to send the API call to the service.
  3899  // the "output" return value is not valid until after Send returns without error.
  3900  //
  3901  // See ListInstanceProfiles for more information on using the ListInstanceProfiles
  3902  // API call, and error handling.
  3903  //
  3904  // This method is useful when you want to inject custom logic or configuration
  3905  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3906  //
  3907  //
  3908  //    // Example sending a request using the ListInstanceProfilesRequest method.
  3909  //    req, resp := client.ListInstanceProfilesRequest(params)
  3910  //
  3911  //    err := req.Send()
  3912  //    if err == nil { // resp is now filled
  3913  //        fmt.Println(resp)
  3914  //    }
  3915  //
  3916  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListInstanceProfiles
  3917  func (c *DeviceFarm) ListInstanceProfilesRequest(input *ListInstanceProfilesInput) (req *request.Request, output *ListInstanceProfilesOutput) {
  3918  	op := &request.Operation{
  3919  		Name:       opListInstanceProfiles,
  3920  		HTTPMethod: "POST",
  3921  		HTTPPath:   "/",
  3922  	}
  3923  
  3924  	if input == nil {
  3925  		input = &ListInstanceProfilesInput{}
  3926  	}
  3927  
  3928  	output = &ListInstanceProfilesOutput{}
  3929  	req = c.newRequest(op, input, output)
  3930  	return
  3931  }
  3932  
  3933  // ListInstanceProfiles API operation for AWS Device Farm.
  3934  //
  3935  // Returns information about all the instance profiles in an AWS account.
  3936  //
  3937  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3938  // with awserr.Error's Code and Message methods to get detailed information about
  3939  // the error.
  3940  //
  3941  // See the AWS API reference guide for AWS Device Farm's
  3942  // API operation ListInstanceProfiles for usage and error information.
  3943  //
  3944  // Returned Error Types:
  3945  //   * ArgumentException
  3946  //   An invalid argument was specified.
  3947  //
  3948  //   * NotFoundException
  3949  //   The specified entity was not found.
  3950  //
  3951  //   * LimitExceededException
  3952  //   A limit was exceeded.
  3953  //
  3954  //   * ServiceAccountException
  3955  //   There was a problem with the service account.
  3956  //
  3957  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListInstanceProfiles
  3958  func (c *DeviceFarm) ListInstanceProfiles(input *ListInstanceProfilesInput) (*ListInstanceProfilesOutput, error) {
  3959  	req, out := c.ListInstanceProfilesRequest(input)
  3960  	return out, req.Send()
  3961  }
  3962  
  3963  // ListInstanceProfilesWithContext is the same as ListInstanceProfiles with the addition of
  3964  // the ability to pass a context and additional request options.
  3965  //
  3966  // See ListInstanceProfiles for details on how to use this API operation.
  3967  //
  3968  // The context must be non-nil and will be used for request cancellation. If
  3969  // the context is nil a panic will occur. In the future the SDK may create
  3970  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3971  // for more information on using Contexts.
  3972  func (c *DeviceFarm) ListInstanceProfilesWithContext(ctx aws.Context, input *ListInstanceProfilesInput, opts ...request.Option) (*ListInstanceProfilesOutput, error) {
  3973  	req, out := c.ListInstanceProfilesRequest(input)
  3974  	req.SetContext(ctx)
  3975  	req.ApplyOptions(opts...)
  3976  	return out, req.Send()
  3977  }
  3978  
  3979  const opListJobs = "ListJobs"
  3980  
  3981  // ListJobsRequest generates a "aws/request.Request" representing the
  3982  // client's request for the ListJobs operation. The "output" return
  3983  // value will be populated with the request's response once the request completes
  3984  // successfully.
  3985  //
  3986  // Use "Send" method on the returned Request to send the API call to the service.
  3987  // the "output" return value is not valid until after Send returns without error.
  3988  //
  3989  // See ListJobs for more information on using the ListJobs
  3990  // API call, and error handling.
  3991  //
  3992  // This method is useful when you want to inject custom logic or configuration
  3993  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3994  //
  3995  //
  3996  //    // Example sending a request using the ListJobsRequest method.
  3997  //    req, resp := client.ListJobsRequest(params)
  3998  //
  3999  //    err := req.Send()
  4000  //    if err == nil { // resp is now filled
  4001  //        fmt.Println(resp)
  4002  //    }
  4003  //
  4004  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListJobs
  4005  func (c *DeviceFarm) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) {
  4006  	op := &request.Operation{
  4007  		Name:       opListJobs,
  4008  		HTTPMethod: "POST",
  4009  		HTTPPath:   "/",
  4010  		Paginator: &request.Paginator{
  4011  			InputTokens:     []string{"nextToken"},
  4012  			OutputTokens:    []string{"nextToken"},
  4013  			LimitToken:      "",
  4014  			TruncationToken: "",
  4015  		},
  4016  	}
  4017  
  4018  	if input == nil {
  4019  		input = &ListJobsInput{}
  4020  	}
  4021  
  4022  	output = &ListJobsOutput{}
  4023  	req = c.newRequest(op, input, output)
  4024  	return
  4025  }
  4026  
  4027  // ListJobs API operation for AWS Device Farm.
  4028  //
  4029  // Gets information about jobs for a given test run.
  4030  //
  4031  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4032  // with awserr.Error's Code and Message methods to get detailed information about
  4033  // the error.
  4034  //
  4035  // See the AWS API reference guide for AWS Device Farm's
  4036  // API operation ListJobs for usage and error information.
  4037  //
  4038  // Returned Error Types:
  4039  //   * ArgumentException
  4040  //   An invalid argument was specified.
  4041  //
  4042  //   * NotFoundException
  4043  //   The specified entity was not found.
  4044  //
  4045  //   * LimitExceededException
  4046  //   A limit was exceeded.
  4047  //
  4048  //   * ServiceAccountException
  4049  //   There was a problem with the service account.
  4050  //
  4051  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListJobs
  4052  func (c *DeviceFarm) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) {
  4053  	req, out := c.ListJobsRequest(input)
  4054  	return out, req.Send()
  4055  }
  4056  
  4057  // ListJobsWithContext is the same as ListJobs with the addition of
  4058  // the ability to pass a context and additional request options.
  4059  //
  4060  // See ListJobs for details on how to use this API operation.
  4061  //
  4062  // The context must be non-nil and will be used for request cancellation. If
  4063  // the context is nil a panic will occur. In the future the SDK may create
  4064  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4065  // for more information on using Contexts.
  4066  func (c *DeviceFarm) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) {
  4067  	req, out := c.ListJobsRequest(input)
  4068  	req.SetContext(ctx)
  4069  	req.ApplyOptions(opts...)
  4070  	return out, req.Send()
  4071  }
  4072  
  4073  // ListJobsPages iterates over the pages of a ListJobs operation,
  4074  // calling the "fn" function with the response data for each page. To stop
  4075  // iterating, return false from the fn function.
  4076  //
  4077  // See ListJobs method for more information on how to use this operation.
  4078  //
  4079  // Note: This operation can generate multiple requests to a service.
  4080  //
  4081  //    // Example iterating over at most 3 pages of a ListJobs operation.
  4082  //    pageNum := 0
  4083  //    err := client.ListJobsPages(params,
  4084  //        func(page *devicefarm.ListJobsOutput, lastPage bool) bool {
  4085  //            pageNum++
  4086  //            fmt.Println(page)
  4087  //            return pageNum <= 3
  4088  //        })
  4089  //
  4090  func (c *DeviceFarm) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error {
  4091  	return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn)
  4092  }
  4093  
  4094  // ListJobsPagesWithContext same as ListJobsPages except
  4095  // it takes a Context and allows setting request options on the pages.
  4096  //
  4097  // The context must be non-nil and will be used for request cancellation. If
  4098  // the context is nil a panic will occur. In the future the SDK may create
  4099  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4100  // for more information on using Contexts.
  4101  func (c *DeviceFarm) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error {
  4102  	p := request.Pagination{
  4103  		NewRequest: func() (*request.Request, error) {
  4104  			var inCpy *ListJobsInput
  4105  			if input != nil {
  4106  				tmp := *input
  4107  				inCpy = &tmp
  4108  			}
  4109  			req, _ := c.ListJobsRequest(inCpy)
  4110  			req.SetContext(ctx)
  4111  			req.ApplyOptions(opts...)
  4112  			return req, nil
  4113  		},
  4114  	}
  4115  
  4116  	for p.Next() {
  4117  		if !fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) {
  4118  			break
  4119  		}
  4120  	}
  4121  
  4122  	return p.Err()
  4123  }
  4124  
  4125  const opListNetworkProfiles = "ListNetworkProfiles"
  4126  
  4127  // ListNetworkProfilesRequest generates a "aws/request.Request" representing the
  4128  // client's request for the ListNetworkProfiles operation. The "output" return
  4129  // value will be populated with the request's response once the request completes
  4130  // successfully.
  4131  //
  4132  // Use "Send" method on the returned Request to send the API call to the service.
  4133  // the "output" return value is not valid until after Send returns without error.
  4134  //
  4135  // See ListNetworkProfiles for more information on using the ListNetworkProfiles
  4136  // API call, and error handling.
  4137  //
  4138  // This method is useful when you want to inject custom logic or configuration
  4139  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4140  //
  4141  //
  4142  //    // Example sending a request using the ListNetworkProfilesRequest method.
  4143  //    req, resp := client.ListNetworkProfilesRequest(params)
  4144  //
  4145  //    err := req.Send()
  4146  //    if err == nil { // resp is now filled
  4147  //        fmt.Println(resp)
  4148  //    }
  4149  //
  4150  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListNetworkProfiles
  4151  func (c *DeviceFarm) ListNetworkProfilesRequest(input *ListNetworkProfilesInput) (req *request.Request, output *ListNetworkProfilesOutput) {
  4152  	op := &request.Operation{
  4153  		Name:       opListNetworkProfiles,
  4154  		HTTPMethod: "POST",
  4155  		HTTPPath:   "/",
  4156  	}
  4157  
  4158  	if input == nil {
  4159  		input = &ListNetworkProfilesInput{}
  4160  	}
  4161  
  4162  	output = &ListNetworkProfilesOutput{}
  4163  	req = c.newRequest(op, input, output)
  4164  	return
  4165  }
  4166  
  4167  // ListNetworkProfiles API operation for AWS Device Farm.
  4168  //
  4169  // Returns the list of available network profiles.
  4170  //
  4171  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4172  // with awserr.Error's Code and Message methods to get detailed information about
  4173  // the error.
  4174  //
  4175  // See the AWS API reference guide for AWS Device Farm's
  4176  // API operation ListNetworkProfiles for usage and error information.
  4177  //
  4178  // Returned Error Types:
  4179  //   * ArgumentException
  4180  //   An invalid argument was specified.
  4181  //
  4182  //   * NotFoundException
  4183  //   The specified entity was not found.
  4184  //
  4185  //   * LimitExceededException
  4186  //   A limit was exceeded.
  4187  //
  4188  //   * ServiceAccountException
  4189  //   There was a problem with the service account.
  4190  //
  4191  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListNetworkProfiles
  4192  func (c *DeviceFarm) ListNetworkProfiles(input *ListNetworkProfilesInput) (*ListNetworkProfilesOutput, error) {
  4193  	req, out := c.ListNetworkProfilesRequest(input)
  4194  	return out, req.Send()
  4195  }
  4196  
  4197  // ListNetworkProfilesWithContext is the same as ListNetworkProfiles with the addition of
  4198  // the ability to pass a context and additional request options.
  4199  //
  4200  // See ListNetworkProfiles for details on how to use this API operation.
  4201  //
  4202  // The context must be non-nil and will be used for request cancellation. If
  4203  // the context is nil a panic will occur. In the future the SDK may create
  4204  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4205  // for more information on using Contexts.
  4206  func (c *DeviceFarm) ListNetworkProfilesWithContext(ctx aws.Context, input *ListNetworkProfilesInput, opts ...request.Option) (*ListNetworkProfilesOutput, error) {
  4207  	req, out := c.ListNetworkProfilesRequest(input)
  4208  	req.SetContext(ctx)
  4209  	req.ApplyOptions(opts...)
  4210  	return out, req.Send()
  4211  }
  4212  
  4213  const opListOfferingPromotions = "ListOfferingPromotions"
  4214  
  4215  // ListOfferingPromotionsRequest generates a "aws/request.Request" representing the
  4216  // client's request for the ListOfferingPromotions operation. The "output" return
  4217  // value will be populated with the request's response once the request completes
  4218  // successfully.
  4219  //
  4220  // Use "Send" method on the returned Request to send the API call to the service.
  4221  // the "output" return value is not valid until after Send returns without error.
  4222  //
  4223  // See ListOfferingPromotions for more information on using the ListOfferingPromotions
  4224  // API call, and error handling.
  4225  //
  4226  // This method is useful when you want to inject custom logic or configuration
  4227  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4228  //
  4229  //
  4230  //    // Example sending a request using the ListOfferingPromotionsRequest method.
  4231  //    req, resp := client.ListOfferingPromotionsRequest(params)
  4232  //
  4233  //    err := req.Send()
  4234  //    if err == nil { // resp is now filled
  4235  //        fmt.Println(resp)
  4236  //    }
  4237  //
  4238  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingPromotions
  4239  func (c *DeviceFarm) ListOfferingPromotionsRequest(input *ListOfferingPromotionsInput) (req *request.Request, output *ListOfferingPromotionsOutput) {
  4240  	op := &request.Operation{
  4241  		Name:       opListOfferingPromotions,
  4242  		HTTPMethod: "POST",
  4243  		HTTPPath:   "/",
  4244  	}
  4245  
  4246  	if input == nil {
  4247  		input = &ListOfferingPromotionsInput{}
  4248  	}
  4249  
  4250  	output = &ListOfferingPromotionsOutput{}
  4251  	req = c.newRequest(op, input, output)
  4252  	return
  4253  }
  4254  
  4255  // ListOfferingPromotions API operation for AWS Device Farm.
  4256  //
  4257  // Returns a list of offering promotions. Each offering promotion record contains
  4258  // the ID and description of the promotion. The API returns a NotEligible error
  4259  // if the caller is not permitted to invoke the operation. Contact aws-devicefarm-support@amazon.com
  4260  // (mailto:aws-devicefarm-support@amazon.com) if you must be able to invoke
  4261  // this operation.
  4262  //
  4263  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4264  // with awserr.Error's Code and Message methods to get detailed information about
  4265  // the error.
  4266  //
  4267  // See the AWS API reference guide for AWS Device Farm's
  4268  // API operation ListOfferingPromotions for usage and error information.
  4269  //
  4270  // Returned Error Types:
  4271  //   * ArgumentException
  4272  //   An invalid argument was specified.
  4273  //
  4274  //   * NotFoundException
  4275  //   The specified entity was not found.
  4276  //
  4277  //   * NotEligibleException
  4278  //   Exception gets thrown when a user is not eligible to perform the specified
  4279  //   transaction.
  4280  //
  4281  //   * LimitExceededException
  4282  //   A limit was exceeded.
  4283  //
  4284  //   * ServiceAccountException
  4285  //   There was a problem with the service account.
  4286  //
  4287  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingPromotions
  4288  func (c *DeviceFarm) ListOfferingPromotions(input *ListOfferingPromotionsInput) (*ListOfferingPromotionsOutput, error) {
  4289  	req, out := c.ListOfferingPromotionsRequest(input)
  4290  	return out, req.Send()
  4291  }
  4292  
  4293  // ListOfferingPromotionsWithContext is the same as ListOfferingPromotions with the addition of
  4294  // the ability to pass a context and additional request options.
  4295  //
  4296  // See ListOfferingPromotions for details on how to use this API operation.
  4297  //
  4298  // The context must be non-nil and will be used for request cancellation. If
  4299  // the context is nil a panic will occur. In the future the SDK may create
  4300  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4301  // for more information on using Contexts.
  4302  func (c *DeviceFarm) ListOfferingPromotionsWithContext(ctx aws.Context, input *ListOfferingPromotionsInput, opts ...request.Option) (*ListOfferingPromotionsOutput, error) {
  4303  	req, out := c.ListOfferingPromotionsRequest(input)
  4304  	req.SetContext(ctx)
  4305  	req.ApplyOptions(opts...)
  4306  	return out, req.Send()
  4307  }
  4308  
  4309  const opListOfferingTransactions = "ListOfferingTransactions"
  4310  
  4311  // ListOfferingTransactionsRequest generates a "aws/request.Request" representing the
  4312  // client's request for the ListOfferingTransactions operation. The "output" return
  4313  // value will be populated with the request's response once the request completes
  4314  // successfully.
  4315  //
  4316  // Use "Send" method on the returned Request to send the API call to the service.
  4317  // the "output" return value is not valid until after Send returns without error.
  4318  //
  4319  // See ListOfferingTransactions for more information on using the ListOfferingTransactions
  4320  // API call, and error handling.
  4321  //
  4322  // This method is useful when you want to inject custom logic or configuration
  4323  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4324  //
  4325  //
  4326  //    // Example sending a request using the ListOfferingTransactionsRequest method.
  4327  //    req, resp := client.ListOfferingTransactionsRequest(params)
  4328  //
  4329  //    err := req.Send()
  4330  //    if err == nil { // resp is now filled
  4331  //        fmt.Println(resp)
  4332  //    }
  4333  //
  4334  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingTransactions
  4335  func (c *DeviceFarm) ListOfferingTransactionsRequest(input *ListOfferingTransactionsInput) (req *request.Request, output *ListOfferingTransactionsOutput) {
  4336  	op := &request.Operation{
  4337  		Name:       opListOfferingTransactions,
  4338  		HTTPMethod: "POST",
  4339  		HTTPPath:   "/",
  4340  		Paginator: &request.Paginator{
  4341  			InputTokens:     []string{"nextToken"},
  4342  			OutputTokens:    []string{"nextToken"},
  4343  			LimitToken:      "",
  4344  			TruncationToken: "",
  4345  		},
  4346  	}
  4347  
  4348  	if input == nil {
  4349  		input = &ListOfferingTransactionsInput{}
  4350  	}
  4351  
  4352  	output = &ListOfferingTransactionsOutput{}
  4353  	req = c.newRequest(op, input, output)
  4354  	return
  4355  }
  4356  
  4357  // ListOfferingTransactions API operation for AWS Device Farm.
  4358  //
  4359  // Returns a list of all historical purchases, renewals, and system renewal
  4360  // transactions for an AWS account. The list is paginated and ordered by a descending
  4361  // timestamp (most recent transactions are first). The API returns a NotEligible
  4362  // error if the user is not permitted to invoke the operation. If you must be
  4363  // able to invoke this operation, contact aws-devicefarm-support@amazon.com
  4364  // (mailto:aws-devicefarm-support@amazon.com).
  4365  //
  4366  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4367  // with awserr.Error's Code and Message methods to get detailed information about
  4368  // the error.
  4369  //
  4370  // See the AWS API reference guide for AWS Device Farm's
  4371  // API operation ListOfferingTransactions for usage and error information.
  4372  //
  4373  // Returned Error Types:
  4374  //   * ArgumentException
  4375  //   An invalid argument was specified.
  4376  //
  4377  //   * NotFoundException
  4378  //   The specified entity was not found.
  4379  //
  4380  //   * NotEligibleException
  4381  //   Exception gets thrown when a user is not eligible to perform the specified
  4382  //   transaction.
  4383  //
  4384  //   * LimitExceededException
  4385  //   A limit was exceeded.
  4386  //
  4387  //   * ServiceAccountException
  4388  //   There was a problem with the service account.
  4389  //
  4390  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingTransactions
  4391  func (c *DeviceFarm) ListOfferingTransactions(input *ListOfferingTransactionsInput) (*ListOfferingTransactionsOutput, error) {
  4392  	req, out := c.ListOfferingTransactionsRequest(input)
  4393  	return out, req.Send()
  4394  }
  4395  
  4396  // ListOfferingTransactionsWithContext is the same as ListOfferingTransactions with the addition of
  4397  // the ability to pass a context and additional request options.
  4398  //
  4399  // See ListOfferingTransactions for details on how to use this API operation.
  4400  //
  4401  // The context must be non-nil and will be used for request cancellation. If
  4402  // the context is nil a panic will occur. In the future the SDK may create
  4403  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4404  // for more information on using Contexts.
  4405  func (c *DeviceFarm) ListOfferingTransactionsWithContext(ctx aws.Context, input *ListOfferingTransactionsInput, opts ...request.Option) (*ListOfferingTransactionsOutput, error) {
  4406  	req, out := c.ListOfferingTransactionsRequest(input)
  4407  	req.SetContext(ctx)
  4408  	req.ApplyOptions(opts...)
  4409  	return out, req.Send()
  4410  }
  4411  
  4412  // ListOfferingTransactionsPages iterates over the pages of a ListOfferingTransactions operation,
  4413  // calling the "fn" function with the response data for each page. To stop
  4414  // iterating, return false from the fn function.
  4415  //
  4416  // See ListOfferingTransactions method for more information on how to use this operation.
  4417  //
  4418  // Note: This operation can generate multiple requests to a service.
  4419  //
  4420  //    // Example iterating over at most 3 pages of a ListOfferingTransactions operation.
  4421  //    pageNum := 0
  4422  //    err := client.ListOfferingTransactionsPages(params,
  4423  //        func(page *devicefarm.ListOfferingTransactionsOutput, lastPage bool) bool {
  4424  //            pageNum++
  4425  //            fmt.Println(page)
  4426  //            return pageNum <= 3
  4427  //        })
  4428  //
  4429  func (c *DeviceFarm) ListOfferingTransactionsPages(input *ListOfferingTransactionsInput, fn func(*ListOfferingTransactionsOutput, bool) bool) error {
  4430  	return c.ListOfferingTransactionsPagesWithContext(aws.BackgroundContext(), input, fn)
  4431  }
  4432  
  4433  // ListOfferingTransactionsPagesWithContext same as ListOfferingTransactionsPages except
  4434  // it takes a Context and allows setting request options on the pages.
  4435  //
  4436  // The context must be non-nil and will be used for request cancellation. If
  4437  // the context is nil a panic will occur. In the future the SDK may create
  4438  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4439  // for more information on using Contexts.
  4440  func (c *DeviceFarm) ListOfferingTransactionsPagesWithContext(ctx aws.Context, input *ListOfferingTransactionsInput, fn func(*ListOfferingTransactionsOutput, bool) bool, opts ...request.Option) error {
  4441  	p := request.Pagination{
  4442  		NewRequest: func() (*request.Request, error) {
  4443  			var inCpy *ListOfferingTransactionsInput
  4444  			if input != nil {
  4445  				tmp := *input
  4446  				inCpy = &tmp
  4447  			}
  4448  			req, _ := c.ListOfferingTransactionsRequest(inCpy)
  4449  			req.SetContext(ctx)
  4450  			req.ApplyOptions(opts...)
  4451  			return req, nil
  4452  		},
  4453  	}
  4454  
  4455  	for p.Next() {
  4456  		if !fn(p.Page().(*ListOfferingTransactionsOutput), !p.HasNextPage()) {
  4457  			break
  4458  		}
  4459  	}
  4460  
  4461  	return p.Err()
  4462  }
  4463  
  4464  const opListOfferings = "ListOfferings"
  4465  
  4466  // ListOfferingsRequest generates a "aws/request.Request" representing the
  4467  // client's request for the ListOfferings operation. The "output" return
  4468  // value will be populated with the request's response once the request completes
  4469  // successfully.
  4470  //
  4471  // Use "Send" method on the returned Request to send the API call to the service.
  4472  // the "output" return value is not valid until after Send returns without error.
  4473  //
  4474  // See ListOfferings for more information on using the ListOfferings
  4475  // API call, and error handling.
  4476  //
  4477  // This method is useful when you want to inject custom logic or configuration
  4478  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4479  //
  4480  //
  4481  //    // Example sending a request using the ListOfferingsRequest method.
  4482  //    req, resp := client.ListOfferingsRequest(params)
  4483  //
  4484  //    err := req.Send()
  4485  //    if err == nil { // resp is now filled
  4486  //        fmt.Println(resp)
  4487  //    }
  4488  //
  4489  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferings
  4490  func (c *DeviceFarm) ListOfferingsRequest(input *ListOfferingsInput) (req *request.Request, output *ListOfferingsOutput) {
  4491  	op := &request.Operation{
  4492  		Name:       opListOfferings,
  4493  		HTTPMethod: "POST",
  4494  		HTTPPath:   "/",
  4495  		Paginator: &request.Paginator{
  4496  			InputTokens:     []string{"nextToken"},
  4497  			OutputTokens:    []string{"nextToken"},
  4498  			LimitToken:      "",
  4499  			TruncationToken: "",
  4500  		},
  4501  	}
  4502  
  4503  	if input == nil {
  4504  		input = &ListOfferingsInput{}
  4505  	}
  4506  
  4507  	output = &ListOfferingsOutput{}
  4508  	req = c.newRequest(op, input, output)
  4509  	return
  4510  }
  4511  
  4512  // ListOfferings API operation for AWS Device Farm.
  4513  //
  4514  // Returns a list of products or offerings that the user can manage through
  4515  // the API. Each offering record indicates the recurring price per unit and
  4516  // the frequency for that offering. The API returns a NotEligible error if the
  4517  // user is not permitted to invoke the operation. If you must be able to invoke
  4518  // this operation, contact aws-devicefarm-support@amazon.com (mailto:aws-devicefarm-support@amazon.com).
  4519  //
  4520  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4521  // with awserr.Error's Code and Message methods to get detailed information about
  4522  // the error.
  4523  //
  4524  // See the AWS API reference guide for AWS Device Farm's
  4525  // API operation ListOfferings for usage and error information.
  4526  //
  4527  // Returned Error Types:
  4528  //   * ArgumentException
  4529  //   An invalid argument was specified.
  4530  //
  4531  //   * NotFoundException
  4532  //   The specified entity was not found.
  4533  //
  4534  //   * NotEligibleException
  4535  //   Exception gets thrown when a user is not eligible to perform the specified
  4536  //   transaction.
  4537  //
  4538  //   * LimitExceededException
  4539  //   A limit was exceeded.
  4540  //
  4541  //   * ServiceAccountException
  4542  //   There was a problem with the service account.
  4543  //
  4544  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferings
  4545  func (c *DeviceFarm) ListOfferings(input *ListOfferingsInput) (*ListOfferingsOutput, error) {
  4546  	req, out := c.ListOfferingsRequest(input)
  4547  	return out, req.Send()
  4548  }
  4549  
  4550  // ListOfferingsWithContext is the same as ListOfferings with the addition of
  4551  // the ability to pass a context and additional request options.
  4552  //
  4553  // See ListOfferings for details on how to use this API operation.
  4554  //
  4555  // The context must be non-nil and will be used for request cancellation. If
  4556  // the context is nil a panic will occur. In the future the SDK may create
  4557  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4558  // for more information on using Contexts.
  4559  func (c *DeviceFarm) ListOfferingsWithContext(ctx aws.Context, input *ListOfferingsInput, opts ...request.Option) (*ListOfferingsOutput, error) {
  4560  	req, out := c.ListOfferingsRequest(input)
  4561  	req.SetContext(ctx)
  4562  	req.ApplyOptions(opts...)
  4563  	return out, req.Send()
  4564  }
  4565  
  4566  // ListOfferingsPages iterates over the pages of a ListOfferings operation,
  4567  // calling the "fn" function with the response data for each page. To stop
  4568  // iterating, return false from the fn function.
  4569  //
  4570  // See ListOfferings method for more information on how to use this operation.
  4571  //
  4572  // Note: This operation can generate multiple requests to a service.
  4573  //
  4574  //    // Example iterating over at most 3 pages of a ListOfferings operation.
  4575  //    pageNum := 0
  4576  //    err := client.ListOfferingsPages(params,
  4577  //        func(page *devicefarm.ListOfferingsOutput, lastPage bool) bool {
  4578  //            pageNum++
  4579  //            fmt.Println(page)
  4580  //            return pageNum <= 3
  4581  //        })
  4582  //
  4583  func (c *DeviceFarm) ListOfferingsPages(input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool) error {
  4584  	return c.ListOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
  4585  }
  4586  
  4587  // ListOfferingsPagesWithContext same as ListOfferingsPages except
  4588  // it takes a Context and allows setting request options on the pages.
  4589  //
  4590  // The context must be non-nil and will be used for request cancellation. If
  4591  // the context is nil a panic will occur. In the future the SDK may create
  4592  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4593  // for more information on using Contexts.
  4594  func (c *DeviceFarm) ListOfferingsPagesWithContext(ctx aws.Context, input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool, opts ...request.Option) error {
  4595  	p := request.Pagination{
  4596  		NewRequest: func() (*request.Request, error) {
  4597  			var inCpy *ListOfferingsInput
  4598  			if input != nil {
  4599  				tmp := *input
  4600  				inCpy = &tmp
  4601  			}
  4602  			req, _ := c.ListOfferingsRequest(inCpy)
  4603  			req.SetContext(ctx)
  4604  			req.ApplyOptions(opts...)
  4605  			return req, nil
  4606  		},
  4607  	}
  4608  
  4609  	for p.Next() {
  4610  		if !fn(p.Page().(*ListOfferingsOutput), !p.HasNextPage()) {
  4611  			break
  4612  		}
  4613  	}
  4614  
  4615  	return p.Err()
  4616  }
  4617  
  4618  const opListProjects = "ListProjects"
  4619  
  4620  // ListProjectsRequest generates a "aws/request.Request" representing the
  4621  // client's request for the ListProjects operation. The "output" return
  4622  // value will be populated with the request's response once the request completes
  4623  // successfully.
  4624  //
  4625  // Use "Send" method on the returned Request to send the API call to the service.
  4626  // the "output" return value is not valid until after Send returns without error.
  4627  //
  4628  // See ListProjects for more information on using the ListProjects
  4629  // API call, and error handling.
  4630  //
  4631  // This method is useful when you want to inject custom logic or configuration
  4632  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4633  //
  4634  //
  4635  //    // Example sending a request using the ListProjectsRequest method.
  4636  //    req, resp := client.ListProjectsRequest(params)
  4637  //
  4638  //    err := req.Send()
  4639  //    if err == nil { // resp is now filled
  4640  //        fmt.Println(resp)
  4641  //    }
  4642  //
  4643  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListProjects
  4644  func (c *DeviceFarm) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) {
  4645  	op := &request.Operation{
  4646  		Name:       opListProjects,
  4647  		HTTPMethod: "POST",
  4648  		HTTPPath:   "/",
  4649  		Paginator: &request.Paginator{
  4650  			InputTokens:     []string{"nextToken"},
  4651  			OutputTokens:    []string{"nextToken"},
  4652  			LimitToken:      "",
  4653  			TruncationToken: "",
  4654  		},
  4655  	}
  4656  
  4657  	if input == nil {
  4658  		input = &ListProjectsInput{}
  4659  	}
  4660  
  4661  	output = &ListProjectsOutput{}
  4662  	req = c.newRequest(op, input, output)
  4663  	return
  4664  }
  4665  
  4666  // ListProjects API operation for AWS Device Farm.
  4667  //
  4668  // Gets information about projects.
  4669  //
  4670  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4671  // with awserr.Error's Code and Message methods to get detailed information about
  4672  // the error.
  4673  //
  4674  // See the AWS API reference guide for AWS Device Farm's
  4675  // API operation ListProjects for usage and error information.
  4676  //
  4677  // Returned Error Types:
  4678  //   * ArgumentException
  4679  //   An invalid argument was specified.
  4680  //
  4681  //   * NotFoundException
  4682  //   The specified entity was not found.
  4683  //
  4684  //   * LimitExceededException
  4685  //   A limit was exceeded.
  4686  //
  4687  //   * ServiceAccountException
  4688  //   There was a problem with the service account.
  4689  //
  4690  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListProjects
  4691  func (c *DeviceFarm) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) {
  4692  	req, out := c.ListProjectsRequest(input)
  4693  	return out, req.Send()
  4694  }
  4695  
  4696  // ListProjectsWithContext is the same as ListProjects with the addition of
  4697  // the ability to pass a context and additional request options.
  4698  //
  4699  // See ListProjects for details on how to use this API operation.
  4700  //
  4701  // The context must be non-nil and will be used for request cancellation. If
  4702  // the context is nil a panic will occur. In the future the SDK may create
  4703  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4704  // for more information on using Contexts.
  4705  func (c *DeviceFarm) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) {
  4706  	req, out := c.ListProjectsRequest(input)
  4707  	req.SetContext(ctx)
  4708  	req.ApplyOptions(opts...)
  4709  	return out, req.Send()
  4710  }
  4711  
  4712  // ListProjectsPages iterates over the pages of a ListProjects operation,
  4713  // calling the "fn" function with the response data for each page. To stop
  4714  // iterating, return false from the fn function.
  4715  //
  4716  // See ListProjects method for more information on how to use this operation.
  4717  //
  4718  // Note: This operation can generate multiple requests to a service.
  4719  //
  4720  //    // Example iterating over at most 3 pages of a ListProjects operation.
  4721  //    pageNum := 0
  4722  //    err := client.ListProjectsPages(params,
  4723  //        func(page *devicefarm.ListProjectsOutput, lastPage bool) bool {
  4724  //            pageNum++
  4725  //            fmt.Println(page)
  4726  //            return pageNum <= 3
  4727  //        })
  4728  //
  4729  func (c *DeviceFarm) ListProjectsPages(input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool) error {
  4730  	return c.ListProjectsPagesWithContext(aws.BackgroundContext(), input, fn)
  4731  }
  4732  
  4733  // ListProjectsPagesWithContext same as ListProjectsPages except
  4734  // it takes a Context and allows setting request options on the pages.
  4735  //
  4736  // The context must be non-nil and will be used for request cancellation. If
  4737  // the context is nil a panic will occur. In the future the SDK may create
  4738  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4739  // for more information on using Contexts.
  4740  func (c *DeviceFarm) ListProjectsPagesWithContext(ctx aws.Context, input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool, opts ...request.Option) error {
  4741  	p := request.Pagination{
  4742  		NewRequest: func() (*request.Request, error) {
  4743  			var inCpy *ListProjectsInput
  4744  			if input != nil {
  4745  				tmp := *input
  4746  				inCpy = &tmp
  4747  			}
  4748  			req, _ := c.ListProjectsRequest(inCpy)
  4749  			req.SetContext(ctx)
  4750  			req.ApplyOptions(opts...)
  4751  			return req, nil
  4752  		},
  4753  	}
  4754  
  4755  	for p.Next() {
  4756  		if !fn(p.Page().(*ListProjectsOutput), !p.HasNextPage()) {
  4757  			break
  4758  		}
  4759  	}
  4760  
  4761  	return p.Err()
  4762  }
  4763  
  4764  const opListRemoteAccessSessions = "ListRemoteAccessSessions"
  4765  
  4766  // ListRemoteAccessSessionsRequest generates a "aws/request.Request" representing the
  4767  // client's request for the ListRemoteAccessSessions operation. The "output" return
  4768  // value will be populated with the request's response once the request completes
  4769  // successfully.
  4770  //
  4771  // Use "Send" method on the returned Request to send the API call to the service.
  4772  // the "output" return value is not valid until after Send returns without error.
  4773  //
  4774  // See ListRemoteAccessSessions for more information on using the ListRemoteAccessSessions
  4775  // API call, and error handling.
  4776  //
  4777  // This method is useful when you want to inject custom logic or configuration
  4778  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4779  //
  4780  //
  4781  //    // Example sending a request using the ListRemoteAccessSessionsRequest method.
  4782  //    req, resp := client.ListRemoteAccessSessionsRequest(params)
  4783  //
  4784  //    err := req.Send()
  4785  //    if err == nil { // resp is now filled
  4786  //        fmt.Println(resp)
  4787  //    }
  4788  //
  4789  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRemoteAccessSessions
  4790  func (c *DeviceFarm) ListRemoteAccessSessionsRequest(input *ListRemoteAccessSessionsInput) (req *request.Request, output *ListRemoteAccessSessionsOutput) {
  4791  	op := &request.Operation{
  4792  		Name:       opListRemoteAccessSessions,
  4793  		HTTPMethod: "POST",
  4794  		HTTPPath:   "/",
  4795  	}
  4796  
  4797  	if input == nil {
  4798  		input = &ListRemoteAccessSessionsInput{}
  4799  	}
  4800  
  4801  	output = &ListRemoteAccessSessionsOutput{}
  4802  	req = c.newRequest(op, input, output)
  4803  	return
  4804  }
  4805  
  4806  // ListRemoteAccessSessions API operation for AWS Device Farm.
  4807  //
  4808  // Returns a list of all currently running remote access sessions.
  4809  //
  4810  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4811  // with awserr.Error's Code and Message methods to get detailed information about
  4812  // the error.
  4813  //
  4814  // See the AWS API reference guide for AWS Device Farm's
  4815  // API operation ListRemoteAccessSessions for usage and error information.
  4816  //
  4817  // Returned Error Types:
  4818  //   * ArgumentException
  4819  //   An invalid argument was specified.
  4820  //
  4821  //   * NotFoundException
  4822  //   The specified entity was not found.
  4823  //
  4824  //   * LimitExceededException
  4825  //   A limit was exceeded.
  4826  //
  4827  //   * ServiceAccountException
  4828  //   There was a problem with the service account.
  4829  //
  4830  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRemoteAccessSessions
  4831  func (c *DeviceFarm) ListRemoteAccessSessions(input *ListRemoteAccessSessionsInput) (*ListRemoteAccessSessionsOutput, error) {
  4832  	req, out := c.ListRemoteAccessSessionsRequest(input)
  4833  	return out, req.Send()
  4834  }
  4835  
  4836  // ListRemoteAccessSessionsWithContext is the same as ListRemoteAccessSessions with the addition of
  4837  // the ability to pass a context and additional request options.
  4838  //
  4839  // See ListRemoteAccessSessions for details on how to use this API operation.
  4840  //
  4841  // The context must be non-nil and will be used for request cancellation. If
  4842  // the context is nil a panic will occur. In the future the SDK may create
  4843  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4844  // for more information on using Contexts.
  4845  func (c *DeviceFarm) ListRemoteAccessSessionsWithContext(ctx aws.Context, input *ListRemoteAccessSessionsInput, opts ...request.Option) (*ListRemoteAccessSessionsOutput, error) {
  4846  	req, out := c.ListRemoteAccessSessionsRequest(input)
  4847  	req.SetContext(ctx)
  4848  	req.ApplyOptions(opts...)
  4849  	return out, req.Send()
  4850  }
  4851  
  4852  const opListRuns = "ListRuns"
  4853  
  4854  // ListRunsRequest generates a "aws/request.Request" representing the
  4855  // client's request for the ListRuns operation. The "output" return
  4856  // value will be populated with the request's response once the request completes
  4857  // successfully.
  4858  //
  4859  // Use "Send" method on the returned Request to send the API call to the service.
  4860  // the "output" return value is not valid until after Send returns without error.
  4861  //
  4862  // See ListRuns for more information on using the ListRuns
  4863  // API call, and error handling.
  4864  //
  4865  // This method is useful when you want to inject custom logic or configuration
  4866  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4867  //
  4868  //
  4869  //    // Example sending a request using the ListRunsRequest method.
  4870  //    req, resp := client.ListRunsRequest(params)
  4871  //
  4872  //    err := req.Send()
  4873  //    if err == nil { // resp is now filled
  4874  //        fmt.Println(resp)
  4875  //    }
  4876  //
  4877  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRuns
  4878  func (c *DeviceFarm) ListRunsRequest(input *ListRunsInput) (req *request.Request, output *ListRunsOutput) {
  4879  	op := &request.Operation{
  4880  		Name:       opListRuns,
  4881  		HTTPMethod: "POST",
  4882  		HTTPPath:   "/",
  4883  		Paginator: &request.Paginator{
  4884  			InputTokens:     []string{"nextToken"},
  4885  			OutputTokens:    []string{"nextToken"},
  4886  			LimitToken:      "",
  4887  			TruncationToken: "",
  4888  		},
  4889  	}
  4890  
  4891  	if input == nil {
  4892  		input = &ListRunsInput{}
  4893  	}
  4894  
  4895  	output = &ListRunsOutput{}
  4896  	req = c.newRequest(op, input, output)
  4897  	return
  4898  }
  4899  
  4900  // ListRuns API operation for AWS Device Farm.
  4901  //
  4902  // Gets information about runs, given an AWS Device Farm project ARN.
  4903  //
  4904  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4905  // with awserr.Error's Code and Message methods to get detailed information about
  4906  // the error.
  4907  //
  4908  // See the AWS API reference guide for AWS Device Farm's
  4909  // API operation ListRuns for usage and error information.
  4910  //
  4911  // Returned Error Types:
  4912  //   * ArgumentException
  4913  //   An invalid argument was specified.
  4914  //
  4915  //   * NotFoundException
  4916  //   The specified entity was not found.
  4917  //
  4918  //   * LimitExceededException
  4919  //   A limit was exceeded.
  4920  //
  4921  //   * ServiceAccountException
  4922  //   There was a problem with the service account.
  4923  //
  4924  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRuns
  4925  func (c *DeviceFarm) ListRuns(input *ListRunsInput) (*ListRunsOutput, error) {
  4926  	req, out := c.ListRunsRequest(input)
  4927  	return out, req.Send()
  4928  }
  4929  
  4930  // ListRunsWithContext is the same as ListRuns with the addition of
  4931  // the ability to pass a context and additional request options.
  4932  //
  4933  // See ListRuns for details on how to use this API operation.
  4934  //
  4935  // The context must be non-nil and will be used for request cancellation. If
  4936  // the context is nil a panic will occur. In the future the SDK may create
  4937  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4938  // for more information on using Contexts.
  4939  func (c *DeviceFarm) ListRunsWithContext(ctx aws.Context, input *ListRunsInput, opts ...request.Option) (*ListRunsOutput, error) {
  4940  	req, out := c.ListRunsRequest(input)
  4941  	req.SetContext(ctx)
  4942  	req.ApplyOptions(opts...)
  4943  	return out, req.Send()
  4944  }
  4945  
  4946  // ListRunsPages iterates over the pages of a ListRuns operation,
  4947  // calling the "fn" function with the response data for each page. To stop
  4948  // iterating, return false from the fn function.
  4949  //
  4950  // See ListRuns method for more information on how to use this operation.
  4951  //
  4952  // Note: This operation can generate multiple requests to a service.
  4953  //
  4954  //    // Example iterating over at most 3 pages of a ListRuns operation.
  4955  //    pageNum := 0
  4956  //    err := client.ListRunsPages(params,
  4957  //        func(page *devicefarm.ListRunsOutput, lastPage bool) bool {
  4958  //            pageNum++
  4959  //            fmt.Println(page)
  4960  //            return pageNum <= 3
  4961  //        })
  4962  //
  4963  func (c *DeviceFarm) ListRunsPages(input *ListRunsInput, fn func(*ListRunsOutput, bool) bool) error {
  4964  	return c.ListRunsPagesWithContext(aws.BackgroundContext(), input, fn)
  4965  }
  4966  
  4967  // ListRunsPagesWithContext same as ListRunsPages except
  4968  // it takes a Context and allows setting request options on the pages.
  4969  //
  4970  // The context must be non-nil and will be used for request cancellation. If
  4971  // the context is nil a panic will occur. In the future the SDK may create
  4972  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4973  // for more information on using Contexts.
  4974  func (c *DeviceFarm) ListRunsPagesWithContext(ctx aws.Context, input *ListRunsInput, fn func(*ListRunsOutput, bool) bool, opts ...request.Option) error {
  4975  	p := request.Pagination{
  4976  		NewRequest: func() (*request.Request, error) {
  4977  			var inCpy *ListRunsInput
  4978  			if input != nil {
  4979  				tmp := *input
  4980  				inCpy = &tmp
  4981  			}
  4982  			req, _ := c.ListRunsRequest(inCpy)
  4983  			req.SetContext(ctx)
  4984  			req.ApplyOptions(opts...)
  4985  			return req, nil
  4986  		},
  4987  	}
  4988  
  4989  	for p.Next() {
  4990  		if !fn(p.Page().(*ListRunsOutput), !p.HasNextPage()) {
  4991  			break
  4992  		}
  4993  	}
  4994  
  4995  	return p.Err()
  4996  }
  4997  
  4998  const opListSamples = "ListSamples"
  4999  
  5000  // ListSamplesRequest generates a "aws/request.Request" representing the
  5001  // client's request for the ListSamples operation. The "output" return
  5002  // value will be populated with the request's response once the request completes
  5003  // successfully.
  5004  //
  5005  // Use "Send" method on the returned Request to send the API call to the service.
  5006  // the "output" return value is not valid until after Send returns without error.
  5007  //
  5008  // See ListSamples for more information on using the ListSamples
  5009  // API call, and error handling.
  5010  //
  5011  // This method is useful when you want to inject custom logic or configuration
  5012  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5013  //
  5014  //
  5015  //    // Example sending a request using the ListSamplesRequest method.
  5016  //    req, resp := client.ListSamplesRequest(params)
  5017  //
  5018  //    err := req.Send()
  5019  //    if err == nil { // resp is now filled
  5020  //        fmt.Println(resp)
  5021  //    }
  5022  //
  5023  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSamples
  5024  func (c *DeviceFarm) ListSamplesRequest(input *ListSamplesInput) (req *request.Request, output *ListSamplesOutput) {
  5025  	op := &request.Operation{
  5026  		Name:       opListSamples,
  5027  		HTTPMethod: "POST",
  5028  		HTTPPath:   "/",
  5029  		Paginator: &request.Paginator{
  5030  			InputTokens:     []string{"nextToken"},
  5031  			OutputTokens:    []string{"nextToken"},
  5032  			LimitToken:      "",
  5033  			TruncationToken: "",
  5034  		},
  5035  	}
  5036  
  5037  	if input == nil {
  5038  		input = &ListSamplesInput{}
  5039  	}
  5040  
  5041  	output = &ListSamplesOutput{}
  5042  	req = c.newRequest(op, input, output)
  5043  	return
  5044  }
  5045  
  5046  // ListSamples API operation for AWS Device Farm.
  5047  //
  5048  // Gets information about samples, given an AWS Device Farm job ARN.
  5049  //
  5050  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5051  // with awserr.Error's Code and Message methods to get detailed information about
  5052  // the error.
  5053  //
  5054  // See the AWS API reference guide for AWS Device Farm's
  5055  // API operation ListSamples for usage and error information.
  5056  //
  5057  // Returned Error Types:
  5058  //   * ArgumentException
  5059  //   An invalid argument was specified.
  5060  //
  5061  //   * NotFoundException
  5062  //   The specified entity was not found.
  5063  //
  5064  //   * LimitExceededException
  5065  //   A limit was exceeded.
  5066  //
  5067  //   * ServiceAccountException
  5068  //   There was a problem with the service account.
  5069  //
  5070  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSamples
  5071  func (c *DeviceFarm) ListSamples(input *ListSamplesInput) (*ListSamplesOutput, error) {
  5072  	req, out := c.ListSamplesRequest(input)
  5073  	return out, req.Send()
  5074  }
  5075  
  5076  // ListSamplesWithContext is the same as ListSamples with the addition of
  5077  // the ability to pass a context and additional request options.
  5078  //
  5079  // See ListSamples for details on how to use this API operation.
  5080  //
  5081  // The context must be non-nil and will be used for request cancellation. If
  5082  // the context is nil a panic will occur. In the future the SDK may create
  5083  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5084  // for more information on using Contexts.
  5085  func (c *DeviceFarm) ListSamplesWithContext(ctx aws.Context, input *ListSamplesInput, opts ...request.Option) (*ListSamplesOutput, error) {
  5086  	req, out := c.ListSamplesRequest(input)
  5087  	req.SetContext(ctx)
  5088  	req.ApplyOptions(opts...)
  5089  	return out, req.Send()
  5090  }
  5091  
  5092  // ListSamplesPages iterates over the pages of a ListSamples operation,
  5093  // calling the "fn" function with the response data for each page. To stop
  5094  // iterating, return false from the fn function.
  5095  //
  5096  // See ListSamples method for more information on how to use this operation.
  5097  //
  5098  // Note: This operation can generate multiple requests to a service.
  5099  //
  5100  //    // Example iterating over at most 3 pages of a ListSamples operation.
  5101  //    pageNum := 0
  5102  //    err := client.ListSamplesPages(params,
  5103  //        func(page *devicefarm.ListSamplesOutput, lastPage bool) bool {
  5104  //            pageNum++
  5105  //            fmt.Println(page)
  5106  //            return pageNum <= 3
  5107  //        })
  5108  //
  5109  func (c *DeviceFarm) ListSamplesPages(input *ListSamplesInput, fn func(*ListSamplesOutput, bool) bool) error {
  5110  	return c.ListSamplesPagesWithContext(aws.BackgroundContext(), input, fn)
  5111  }
  5112  
  5113  // ListSamplesPagesWithContext same as ListSamplesPages except
  5114  // it takes a Context and allows setting request options on the pages.
  5115  //
  5116  // The context must be non-nil and will be used for request cancellation. If
  5117  // the context is nil a panic will occur. In the future the SDK may create
  5118  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5119  // for more information on using Contexts.
  5120  func (c *DeviceFarm) ListSamplesPagesWithContext(ctx aws.Context, input *ListSamplesInput, fn func(*ListSamplesOutput, bool) bool, opts ...request.Option) error {
  5121  	p := request.Pagination{
  5122  		NewRequest: func() (*request.Request, error) {
  5123  			var inCpy *ListSamplesInput
  5124  			if input != nil {
  5125  				tmp := *input
  5126  				inCpy = &tmp
  5127  			}
  5128  			req, _ := c.ListSamplesRequest(inCpy)
  5129  			req.SetContext(ctx)
  5130  			req.ApplyOptions(opts...)
  5131  			return req, nil
  5132  		},
  5133  	}
  5134  
  5135  	for p.Next() {
  5136  		if !fn(p.Page().(*ListSamplesOutput), !p.HasNextPage()) {
  5137  			break
  5138  		}
  5139  	}
  5140  
  5141  	return p.Err()
  5142  }
  5143  
  5144  const opListSuites = "ListSuites"
  5145  
  5146  // ListSuitesRequest generates a "aws/request.Request" representing the
  5147  // client's request for the ListSuites operation. The "output" return
  5148  // value will be populated with the request's response once the request completes
  5149  // successfully.
  5150  //
  5151  // Use "Send" method on the returned Request to send the API call to the service.
  5152  // the "output" return value is not valid until after Send returns without error.
  5153  //
  5154  // See ListSuites for more information on using the ListSuites
  5155  // API call, and error handling.
  5156  //
  5157  // This method is useful when you want to inject custom logic or configuration
  5158  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5159  //
  5160  //
  5161  //    // Example sending a request using the ListSuitesRequest method.
  5162  //    req, resp := client.ListSuitesRequest(params)
  5163  //
  5164  //    err := req.Send()
  5165  //    if err == nil { // resp is now filled
  5166  //        fmt.Println(resp)
  5167  //    }
  5168  //
  5169  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSuites
  5170  func (c *DeviceFarm) ListSuitesRequest(input *ListSuitesInput) (req *request.Request, output *ListSuitesOutput) {
  5171  	op := &request.Operation{
  5172  		Name:       opListSuites,
  5173  		HTTPMethod: "POST",
  5174  		HTTPPath:   "/",
  5175  		Paginator: &request.Paginator{
  5176  			InputTokens:     []string{"nextToken"},
  5177  			OutputTokens:    []string{"nextToken"},
  5178  			LimitToken:      "",
  5179  			TruncationToken: "",
  5180  		},
  5181  	}
  5182  
  5183  	if input == nil {
  5184  		input = &ListSuitesInput{}
  5185  	}
  5186  
  5187  	output = &ListSuitesOutput{}
  5188  	req = c.newRequest(op, input, output)
  5189  	return
  5190  }
  5191  
  5192  // ListSuites API operation for AWS Device Farm.
  5193  //
  5194  // Gets information about test suites for a given job.
  5195  //
  5196  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5197  // with awserr.Error's Code and Message methods to get detailed information about
  5198  // the error.
  5199  //
  5200  // See the AWS API reference guide for AWS Device Farm's
  5201  // API operation ListSuites for usage and error information.
  5202  //
  5203  // Returned Error Types:
  5204  //   * ArgumentException
  5205  //   An invalid argument was specified.
  5206  //
  5207  //   * NotFoundException
  5208  //   The specified entity was not found.
  5209  //
  5210  //   * LimitExceededException
  5211  //   A limit was exceeded.
  5212  //
  5213  //   * ServiceAccountException
  5214  //   There was a problem with the service account.
  5215  //
  5216  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSuites
  5217  func (c *DeviceFarm) ListSuites(input *ListSuitesInput) (*ListSuitesOutput, error) {
  5218  	req, out := c.ListSuitesRequest(input)
  5219  	return out, req.Send()
  5220  }
  5221  
  5222  // ListSuitesWithContext is the same as ListSuites with the addition of
  5223  // the ability to pass a context and additional request options.
  5224  //
  5225  // See ListSuites for details on how to use this API operation.
  5226  //
  5227  // The context must be non-nil and will be used for request cancellation. If
  5228  // the context is nil a panic will occur. In the future the SDK may create
  5229  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5230  // for more information on using Contexts.
  5231  func (c *DeviceFarm) ListSuitesWithContext(ctx aws.Context, input *ListSuitesInput, opts ...request.Option) (*ListSuitesOutput, error) {
  5232  	req, out := c.ListSuitesRequest(input)
  5233  	req.SetContext(ctx)
  5234  	req.ApplyOptions(opts...)
  5235  	return out, req.Send()
  5236  }
  5237  
  5238  // ListSuitesPages iterates over the pages of a ListSuites operation,
  5239  // calling the "fn" function with the response data for each page. To stop
  5240  // iterating, return false from the fn function.
  5241  //
  5242  // See ListSuites method for more information on how to use this operation.
  5243  //
  5244  // Note: This operation can generate multiple requests to a service.
  5245  //
  5246  //    // Example iterating over at most 3 pages of a ListSuites operation.
  5247  //    pageNum := 0
  5248  //    err := client.ListSuitesPages(params,
  5249  //        func(page *devicefarm.ListSuitesOutput, lastPage bool) bool {
  5250  //            pageNum++
  5251  //            fmt.Println(page)
  5252  //            return pageNum <= 3
  5253  //        })
  5254  //
  5255  func (c *DeviceFarm) ListSuitesPages(input *ListSuitesInput, fn func(*ListSuitesOutput, bool) bool) error {
  5256  	return c.ListSuitesPagesWithContext(aws.BackgroundContext(), input, fn)
  5257  }
  5258  
  5259  // ListSuitesPagesWithContext same as ListSuitesPages except
  5260  // it takes a Context and allows setting request options on the pages.
  5261  //
  5262  // The context must be non-nil and will be used for request cancellation. If
  5263  // the context is nil a panic will occur. In the future the SDK may create
  5264  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5265  // for more information on using Contexts.
  5266  func (c *DeviceFarm) ListSuitesPagesWithContext(ctx aws.Context, input *ListSuitesInput, fn func(*ListSuitesOutput, bool) bool, opts ...request.Option) error {
  5267  	p := request.Pagination{
  5268  		NewRequest: func() (*request.Request, error) {
  5269  			var inCpy *ListSuitesInput
  5270  			if input != nil {
  5271  				tmp := *input
  5272  				inCpy = &tmp
  5273  			}
  5274  			req, _ := c.ListSuitesRequest(inCpy)
  5275  			req.SetContext(ctx)
  5276  			req.ApplyOptions(opts...)
  5277  			return req, nil
  5278  		},
  5279  	}
  5280  
  5281  	for p.Next() {
  5282  		if !fn(p.Page().(*ListSuitesOutput), !p.HasNextPage()) {
  5283  			break
  5284  		}
  5285  	}
  5286  
  5287  	return p.Err()
  5288  }
  5289  
  5290  const opListTagsForResource = "ListTagsForResource"
  5291  
  5292  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  5293  // client's request for the ListTagsForResource operation. The "output" return
  5294  // value will be populated with the request's response once the request completes
  5295  // successfully.
  5296  //
  5297  // Use "Send" method on the returned Request to send the API call to the service.
  5298  // the "output" return value is not valid until after Send returns without error.
  5299  //
  5300  // See ListTagsForResource for more information on using the ListTagsForResource
  5301  // API call, and error handling.
  5302  //
  5303  // This method is useful when you want to inject custom logic or configuration
  5304  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5305  //
  5306  //
  5307  //    // Example sending a request using the ListTagsForResourceRequest method.
  5308  //    req, resp := client.ListTagsForResourceRequest(params)
  5309  //
  5310  //    err := req.Send()
  5311  //    if err == nil { // resp is now filled
  5312  //        fmt.Println(resp)
  5313  //    }
  5314  //
  5315  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTagsForResource
  5316  func (c *DeviceFarm) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  5317  	op := &request.Operation{
  5318  		Name:       opListTagsForResource,
  5319  		HTTPMethod: "POST",
  5320  		HTTPPath:   "/",
  5321  	}
  5322  
  5323  	if input == nil {
  5324  		input = &ListTagsForResourceInput{}
  5325  	}
  5326  
  5327  	output = &ListTagsForResourceOutput{}
  5328  	req = c.newRequest(op, input, output)
  5329  	return
  5330  }
  5331  
  5332  // ListTagsForResource API operation for AWS Device Farm.
  5333  //
  5334  // List the tags for an AWS Device Farm resource.
  5335  //
  5336  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5337  // with awserr.Error's Code and Message methods to get detailed information about
  5338  // the error.
  5339  //
  5340  // See the AWS API reference guide for AWS Device Farm's
  5341  // API operation ListTagsForResource for usage and error information.
  5342  //
  5343  // Returned Error Types:
  5344  //   * ArgumentException
  5345  //   An invalid argument was specified.
  5346  //
  5347  //   * NotFoundException
  5348  //   The specified entity was not found.
  5349  //
  5350  //   * TagOperationException
  5351  //   The operation was not successful. Try again.
  5352  //
  5353  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTagsForResource
  5354  func (c *DeviceFarm) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  5355  	req, out := c.ListTagsForResourceRequest(input)
  5356  	return out, req.Send()
  5357  }
  5358  
  5359  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  5360  // the ability to pass a context and additional request options.
  5361  //
  5362  // See ListTagsForResource for details on how to use this API operation.
  5363  //
  5364  // The context must be non-nil and will be used for request cancellation. If
  5365  // the context is nil a panic will occur. In the future the SDK may create
  5366  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5367  // for more information on using Contexts.
  5368  func (c *DeviceFarm) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  5369  	req, out := c.ListTagsForResourceRequest(input)
  5370  	req.SetContext(ctx)
  5371  	req.ApplyOptions(opts...)
  5372  	return out, req.Send()
  5373  }
  5374  
  5375  const opListTestGridProjects = "ListTestGridProjects"
  5376  
  5377  // ListTestGridProjectsRequest generates a "aws/request.Request" representing the
  5378  // client's request for the ListTestGridProjects operation. The "output" return
  5379  // value will be populated with the request's response once the request completes
  5380  // successfully.
  5381  //
  5382  // Use "Send" method on the returned Request to send the API call to the service.
  5383  // the "output" return value is not valid until after Send returns without error.
  5384  //
  5385  // See ListTestGridProjects for more information on using the ListTestGridProjects
  5386  // API call, and error handling.
  5387  //
  5388  // This method is useful when you want to inject custom logic or configuration
  5389  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5390  //
  5391  //
  5392  //    // Example sending a request using the ListTestGridProjectsRequest method.
  5393  //    req, resp := client.ListTestGridProjectsRequest(params)
  5394  //
  5395  //    err := req.Send()
  5396  //    if err == nil { // resp is now filled
  5397  //        fmt.Println(resp)
  5398  //    }
  5399  //
  5400  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridProjects
  5401  func (c *DeviceFarm) ListTestGridProjectsRequest(input *ListTestGridProjectsInput) (req *request.Request, output *ListTestGridProjectsOutput) {
  5402  	op := &request.Operation{
  5403  		Name:       opListTestGridProjects,
  5404  		HTTPMethod: "POST",
  5405  		HTTPPath:   "/",
  5406  		Paginator: &request.Paginator{
  5407  			InputTokens:     []string{"nextToken"},
  5408  			OutputTokens:    []string{"nextToken"},
  5409  			LimitToken:      "maxResult",
  5410  			TruncationToken: "",
  5411  		},
  5412  	}
  5413  
  5414  	if input == nil {
  5415  		input = &ListTestGridProjectsInput{}
  5416  	}
  5417  
  5418  	output = &ListTestGridProjectsOutput{}
  5419  	req = c.newRequest(op, input, output)
  5420  	return
  5421  }
  5422  
  5423  // ListTestGridProjects API operation for AWS Device Farm.
  5424  //
  5425  // Gets a list of all Selenium testing projects in your account.
  5426  //
  5427  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5428  // with awserr.Error's Code and Message methods to get detailed information about
  5429  // the error.
  5430  //
  5431  // See the AWS API reference guide for AWS Device Farm's
  5432  // API operation ListTestGridProjects for usage and error information.
  5433  //
  5434  // Returned Error Types:
  5435  //   * ArgumentException
  5436  //   An invalid argument was specified.
  5437  //
  5438  //   * InternalServiceException
  5439  //   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
  5440  //   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
  5441  //
  5442  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridProjects
  5443  func (c *DeviceFarm) ListTestGridProjects(input *ListTestGridProjectsInput) (*ListTestGridProjectsOutput, error) {
  5444  	req, out := c.ListTestGridProjectsRequest(input)
  5445  	return out, req.Send()
  5446  }
  5447  
  5448  // ListTestGridProjectsWithContext is the same as ListTestGridProjects with the addition of
  5449  // the ability to pass a context and additional request options.
  5450  //
  5451  // See ListTestGridProjects for details on how to use this API operation.
  5452  //
  5453  // The context must be non-nil and will be used for request cancellation. If
  5454  // the context is nil a panic will occur. In the future the SDK may create
  5455  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5456  // for more information on using Contexts.
  5457  func (c *DeviceFarm) ListTestGridProjectsWithContext(ctx aws.Context, input *ListTestGridProjectsInput, opts ...request.Option) (*ListTestGridProjectsOutput, error) {
  5458  	req, out := c.ListTestGridProjectsRequest(input)
  5459  	req.SetContext(ctx)
  5460  	req.ApplyOptions(opts...)
  5461  	return out, req.Send()
  5462  }
  5463  
  5464  // ListTestGridProjectsPages iterates over the pages of a ListTestGridProjects operation,
  5465  // calling the "fn" function with the response data for each page. To stop
  5466  // iterating, return false from the fn function.
  5467  //
  5468  // See ListTestGridProjects method for more information on how to use this operation.
  5469  //
  5470  // Note: This operation can generate multiple requests to a service.
  5471  //
  5472  //    // Example iterating over at most 3 pages of a ListTestGridProjects operation.
  5473  //    pageNum := 0
  5474  //    err := client.ListTestGridProjectsPages(params,
  5475  //        func(page *devicefarm.ListTestGridProjectsOutput, lastPage bool) bool {
  5476  //            pageNum++
  5477  //            fmt.Println(page)
  5478  //            return pageNum <= 3
  5479  //        })
  5480  //
  5481  func (c *DeviceFarm) ListTestGridProjectsPages(input *ListTestGridProjectsInput, fn func(*ListTestGridProjectsOutput, bool) bool) error {
  5482  	return c.ListTestGridProjectsPagesWithContext(aws.BackgroundContext(), input, fn)
  5483  }
  5484  
  5485  // ListTestGridProjectsPagesWithContext same as ListTestGridProjectsPages except
  5486  // it takes a Context and allows setting request options on the pages.
  5487  //
  5488  // The context must be non-nil and will be used for request cancellation. If
  5489  // the context is nil a panic will occur. In the future the SDK may create
  5490  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5491  // for more information on using Contexts.
  5492  func (c *DeviceFarm) ListTestGridProjectsPagesWithContext(ctx aws.Context, input *ListTestGridProjectsInput, fn func(*ListTestGridProjectsOutput, bool) bool, opts ...request.Option) error {
  5493  	p := request.Pagination{
  5494  		NewRequest: func() (*request.Request, error) {
  5495  			var inCpy *ListTestGridProjectsInput
  5496  			if input != nil {
  5497  				tmp := *input
  5498  				inCpy = &tmp
  5499  			}
  5500  			req, _ := c.ListTestGridProjectsRequest(inCpy)
  5501  			req.SetContext(ctx)
  5502  			req.ApplyOptions(opts...)
  5503  			return req, nil
  5504  		},
  5505  	}
  5506  
  5507  	for p.Next() {
  5508  		if !fn(p.Page().(*ListTestGridProjectsOutput), !p.HasNextPage()) {
  5509  			break
  5510  		}
  5511  	}
  5512  
  5513  	return p.Err()
  5514  }
  5515  
  5516  const opListTestGridSessionActions = "ListTestGridSessionActions"
  5517  
  5518  // ListTestGridSessionActionsRequest generates a "aws/request.Request" representing the
  5519  // client's request for the ListTestGridSessionActions operation. The "output" return
  5520  // value will be populated with the request's response once the request completes
  5521  // successfully.
  5522  //
  5523  // Use "Send" method on the returned Request to send the API call to the service.
  5524  // the "output" return value is not valid until after Send returns without error.
  5525  //
  5526  // See ListTestGridSessionActions for more information on using the ListTestGridSessionActions
  5527  // API call, and error handling.
  5528  //
  5529  // This method is useful when you want to inject custom logic or configuration
  5530  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5531  //
  5532  //
  5533  //    // Example sending a request using the ListTestGridSessionActionsRequest method.
  5534  //    req, resp := client.ListTestGridSessionActionsRequest(params)
  5535  //
  5536  //    err := req.Send()
  5537  //    if err == nil { // resp is now filled
  5538  //        fmt.Println(resp)
  5539  //    }
  5540  //
  5541  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessionActions
  5542  func (c *DeviceFarm) ListTestGridSessionActionsRequest(input *ListTestGridSessionActionsInput) (req *request.Request, output *ListTestGridSessionActionsOutput) {
  5543  	op := &request.Operation{
  5544  		Name:       opListTestGridSessionActions,
  5545  		HTTPMethod: "POST",
  5546  		HTTPPath:   "/",
  5547  		Paginator: &request.Paginator{
  5548  			InputTokens:     []string{"nextToken"},
  5549  			OutputTokens:    []string{"nextToken"},
  5550  			LimitToken:      "maxResult",
  5551  			TruncationToken: "",
  5552  		},
  5553  	}
  5554  
  5555  	if input == nil {
  5556  		input = &ListTestGridSessionActionsInput{}
  5557  	}
  5558  
  5559  	output = &ListTestGridSessionActionsOutput{}
  5560  	req = c.newRequest(op, input, output)
  5561  	return
  5562  }
  5563  
  5564  // ListTestGridSessionActions API operation for AWS Device Farm.
  5565  //
  5566  // Returns a list of the actions taken in a TestGridSession.
  5567  //
  5568  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5569  // with awserr.Error's Code and Message methods to get detailed information about
  5570  // the error.
  5571  //
  5572  // See the AWS API reference guide for AWS Device Farm's
  5573  // API operation ListTestGridSessionActions for usage and error information.
  5574  //
  5575  // Returned Error Types:
  5576  //   * NotFoundException
  5577  //   The specified entity was not found.
  5578  //
  5579  //   * ArgumentException
  5580  //   An invalid argument was specified.
  5581  //
  5582  //   * InternalServiceException
  5583  //   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
  5584  //   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
  5585  //
  5586  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessionActions
  5587  func (c *DeviceFarm) ListTestGridSessionActions(input *ListTestGridSessionActionsInput) (*ListTestGridSessionActionsOutput, error) {
  5588  	req, out := c.ListTestGridSessionActionsRequest(input)
  5589  	return out, req.Send()
  5590  }
  5591  
  5592  // ListTestGridSessionActionsWithContext is the same as ListTestGridSessionActions with the addition of
  5593  // the ability to pass a context and additional request options.
  5594  //
  5595  // See ListTestGridSessionActions for details on how to use this API operation.
  5596  //
  5597  // The context must be non-nil and will be used for request cancellation. If
  5598  // the context is nil a panic will occur. In the future the SDK may create
  5599  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5600  // for more information on using Contexts.
  5601  func (c *DeviceFarm) ListTestGridSessionActionsWithContext(ctx aws.Context, input *ListTestGridSessionActionsInput, opts ...request.Option) (*ListTestGridSessionActionsOutput, error) {
  5602  	req, out := c.ListTestGridSessionActionsRequest(input)
  5603  	req.SetContext(ctx)
  5604  	req.ApplyOptions(opts...)
  5605  	return out, req.Send()
  5606  }
  5607  
  5608  // ListTestGridSessionActionsPages iterates over the pages of a ListTestGridSessionActions operation,
  5609  // calling the "fn" function with the response data for each page. To stop
  5610  // iterating, return false from the fn function.
  5611  //
  5612  // See ListTestGridSessionActions method for more information on how to use this operation.
  5613  //
  5614  // Note: This operation can generate multiple requests to a service.
  5615  //
  5616  //    // Example iterating over at most 3 pages of a ListTestGridSessionActions operation.
  5617  //    pageNum := 0
  5618  //    err := client.ListTestGridSessionActionsPages(params,
  5619  //        func(page *devicefarm.ListTestGridSessionActionsOutput, lastPage bool) bool {
  5620  //            pageNum++
  5621  //            fmt.Println(page)
  5622  //            return pageNum <= 3
  5623  //        })
  5624  //
  5625  func (c *DeviceFarm) ListTestGridSessionActionsPages(input *ListTestGridSessionActionsInput, fn func(*ListTestGridSessionActionsOutput, bool) bool) error {
  5626  	return c.ListTestGridSessionActionsPagesWithContext(aws.BackgroundContext(), input, fn)
  5627  }
  5628  
  5629  // ListTestGridSessionActionsPagesWithContext same as ListTestGridSessionActionsPages except
  5630  // it takes a Context and allows setting request options on the pages.
  5631  //
  5632  // The context must be non-nil and will be used for request cancellation. If
  5633  // the context is nil a panic will occur. In the future the SDK may create
  5634  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5635  // for more information on using Contexts.
  5636  func (c *DeviceFarm) ListTestGridSessionActionsPagesWithContext(ctx aws.Context, input *ListTestGridSessionActionsInput, fn func(*ListTestGridSessionActionsOutput, bool) bool, opts ...request.Option) error {
  5637  	p := request.Pagination{
  5638  		NewRequest: func() (*request.Request, error) {
  5639  			var inCpy *ListTestGridSessionActionsInput
  5640  			if input != nil {
  5641  				tmp := *input
  5642  				inCpy = &tmp
  5643  			}
  5644  			req, _ := c.ListTestGridSessionActionsRequest(inCpy)
  5645  			req.SetContext(ctx)
  5646  			req.ApplyOptions(opts...)
  5647  			return req, nil
  5648  		},
  5649  	}
  5650  
  5651  	for p.Next() {
  5652  		if !fn(p.Page().(*ListTestGridSessionActionsOutput), !p.HasNextPage()) {
  5653  			break
  5654  		}
  5655  	}
  5656  
  5657  	return p.Err()
  5658  }
  5659  
  5660  const opListTestGridSessionArtifacts = "ListTestGridSessionArtifacts"
  5661  
  5662  // ListTestGridSessionArtifactsRequest generates a "aws/request.Request" representing the
  5663  // client's request for the ListTestGridSessionArtifacts operation. The "output" return
  5664  // value will be populated with the request's response once the request completes
  5665  // successfully.
  5666  //
  5667  // Use "Send" method on the returned Request to send the API call to the service.
  5668  // the "output" return value is not valid until after Send returns without error.
  5669  //
  5670  // See ListTestGridSessionArtifacts for more information on using the ListTestGridSessionArtifacts
  5671  // API call, and error handling.
  5672  //
  5673  // This method is useful when you want to inject custom logic or configuration
  5674  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5675  //
  5676  //
  5677  //    // Example sending a request using the ListTestGridSessionArtifactsRequest method.
  5678  //    req, resp := client.ListTestGridSessionArtifactsRequest(params)
  5679  //
  5680  //    err := req.Send()
  5681  //    if err == nil { // resp is now filled
  5682  //        fmt.Println(resp)
  5683  //    }
  5684  //
  5685  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessionArtifacts
  5686  func (c *DeviceFarm) ListTestGridSessionArtifactsRequest(input *ListTestGridSessionArtifactsInput) (req *request.Request, output *ListTestGridSessionArtifactsOutput) {
  5687  	op := &request.Operation{
  5688  		Name:       opListTestGridSessionArtifacts,
  5689  		HTTPMethod: "POST",
  5690  		HTTPPath:   "/",
  5691  		Paginator: &request.Paginator{
  5692  			InputTokens:     []string{"nextToken"},
  5693  			OutputTokens:    []string{"nextToken"},
  5694  			LimitToken:      "maxResult",
  5695  			TruncationToken: "",
  5696  		},
  5697  	}
  5698  
  5699  	if input == nil {
  5700  		input = &ListTestGridSessionArtifactsInput{}
  5701  	}
  5702  
  5703  	output = &ListTestGridSessionArtifactsOutput{}
  5704  	req = c.newRequest(op, input, output)
  5705  	return
  5706  }
  5707  
  5708  // ListTestGridSessionArtifacts API operation for AWS Device Farm.
  5709  //
  5710  // Retrieves a list of artifacts created during the session.
  5711  //
  5712  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5713  // with awserr.Error's Code and Message methods to get detailed information about
  5714  // the error.
  5715  //
  5716  // See the AWS API reference guide for AWS Device Farm's
  5717  // API operation ListTestGridSessionArtifacts for usage and error information.
  5718  //
  5719  // Returned Error Types:
  5720  //   * NotFoundException
  5721  //   The specified entity was not found.
  5722  //
  5723  //   * ArgumentException
  5724  //   An invalid argument was specified.
  5725  //
  5726  //   * InternalServiceException
  5727  //   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
  5728  //   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
  5729  //
  5730  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessionArtifacts
  5731  func (c *DeviceFarm) ListTestGridSessionArtifacts(input *ListTestGridSessionArtifactsInput) (*ListTestGridSessionArtifactsOutput, error) {
  5732  	req, out := c.ListTestGridSessionArtifactsRequest(input)
  5733  	return out, req.Send()
  5734  }
  5735  
  5736  // ListTestGridSessionArtifactsWithContext is the same as ListTestGridSessionArtifacts with the addition of
  5737  // the ability to pass a context and additional request options.
  5738  //
  5739  // See ListTestGridSessionArtifacts for details on how to use this API operation.
  5740  //
  5741  // The context must be non-nil and will be used for request cancellation. If
  5742  // the context is nil a panic will occur. In the future the SDK may create
  5743  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5744  // for more information on using Contexts.
  5745  func (c *DeviceFarm) ListTestGridSessionArtifactsWithContext(ctx aws.Context, input *ListTestGridSessionArtifactsInput, opts ...request.Option) (*ListTestGridSessionArtifactsOutput, error) {
  5746  	req, out := c.ListTestGridSessionArtifactsRequest(input)
  5747  	req.SetContext(ctx)
  5748  	req.ApplyOptions(opts...)
  5749  	return out, req.Send()
  5750  }
  5751  
  5752  // ListTestGridSessionArtifactsPages iterates over the pages of a ListTestGridSessionArtifacts operation,
  5753  // calling the "fn" function with the response data for each page. To stop
  5754  // iterating, return false from the fn function.
  5755  //
  5756  // See ListTestGridSessionArtifacts method for more information on how to use this operation.
  5757  //
  5758  // Note: This operation can generate multiple requests to a service.
  5759  //
  5760  //    // Example iterating over at most 3 pages of a ListTestGridSessionArtifacts operation.
  5761  //    pageNum := 0
  5762  //    err := client.ListTestGridSessionArtifactsPages(params,
  5763  //        func(page *devicefarm.ListTestGridSessionArtifactsOutput, lastPage bool) bool {
  5764  //            pageNum++
  5765  //            fmt.Println(page)
  5766  //            return pageNum <= 3
  5767  //        })
  5768  //
  5769  func (c *DeviceFarm) ListTestGridSessionArtifactsPages(input *ListTestGridSessionArtifactsInput, fn func(*ListTestGridSessionArtifactsOutput, bool) bool) error {
  5770  	return c.ListTestGridSessionArtifactsPagesWithContext(aws.BackgroundContext(), input, fn)
  5771  }
  5772  
  5773  // ListTestGridSessionArtifactsPagesWithContext same as ListTestGridSessionArtifactsPages except
  5774  // it takes a Context and allows setting request options on the pages.
  5775  //
  5776  // The context must be non-nil and will be used for request cancellation. If
  5777  // the context is nil a panic will occur. In the future the SDK may create
  5778  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5779  // for more information on using Contexts.
  5780  func (c *DeviceFarm) ListTestGridSessionArtifactsPagesWithContext(ctx aws.Context, input *ListTestGridSessionArtifactsInput, fn func(*ListTestGridSessionArtifactsOutput, bool) bool, opts ...request.Option) error {
  5781  	p := request.Pagination{
  5782  		NewRequest: func() (*request.Request, error) {
  5783  			var inCpy *ListTestGridSessionArtifactsInput
  5784  			if input != nil {
  5785  				tmp := *input
  5786  				inCpy = &tmp
  5787  			}
  5788  			req, _ := c.ListTestGridSessionArtifactsRequest(inCpy)
  5789  			req.SetContext(ctx)
  5790  			req.ApplyOptions(opts...)
  5791  			return req, nil
  5792  		},
  5793  	}
  5794  
  5795  	for p.Next() {
  5796  		if !fn(p.Page().(*ListTestGridSessionArtifactsOutput), !p.HasNextPage()) {
  5797  			break
  5798  		}
  5799  	}
  5800  
  5801  	return p.Err()
  5802  }
  5803  
  5804  const opListTestGridSessions = "ListTestGridSessions"
  5805  
  5806  // ListTestGridSessionsRequest generates a "aws/request.Request" representing the
  5807  // client's request for the ListTestGridSessions operation. The "output" return
  5808  // value will be populated with the request's response once the request completes
  5809  // successfully.
  5810  //
  5811  // Use "Send" method on the returned Request to send the API call to the service.
  5812  // the "output" return value is not valid until after Send returns without error.
  5813  //
  5814  // See ListTestGridSessions for more information on using the ListTestGridSessions
  5815  // API call, and error handling.
  5816  //
  5817  // This method is useful when you want to inject custom logic or configuration
  5818  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5819  //
  5820  //
  5821  //    // Example sending a request using the ListTestGridSessionsRequest method.
  5822  //    req, resp := client.ListTestGridSessionsRequest(params)
  5823  //
  5824  //    err := req.Send()
  5825  //    if err == nil { // resp is now filled
  5826  //        fmt.Println(resp)
  5827  //    }
  5828  //
  5829  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessions
  5830  func (c *DeviceFarm) ListTestGridSessionsRequest(input *ListTestGridSessionsInput) (req *request.Request, output *ListTestGridSessionsOutput) {
  5831  	op := &request.Operation{
  5832  		Name:       opListTestGridSessions,
  5833  		HTTPMethod: "POST",
  5834  		HTTPPath:   "/",
  5835  		Paginator: &request.Paginator{
  5836  			InputTokens:     []string{"nextToken"},
  5837  			OutputTokens:    []string{"nextToken"},
  5838  			LimitToken:      "maxResult",
  5839  			TruncationToken: "",
  5840  		},
  5841  	}
  5842  
  5843  	if input == nil {
  5844  		input = &ListTestGridSessionsInput{}
  5845  	}
  5846  
  5847  	output = &ListTestGridSessionsOutput{}
  5848  	req = c.newRequest(op, input, output)
  5849  	return
  5850  }
  5851  
  5852  // ListTestGridSessions API operation for AWS Device Farm.
  5853  //
  5854  // Retrieves a list of sessions for a TestGridProject.
  5855  //
  5856  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5857  // with awserr.Error's Code and Message methods to get detailed information about
  5858  // the error.
  5859  //
  5860  // See the AWS API reference guide for AWS Device Farm's
  5861  // API operation ListTestGridSessions for usage and error information.
  5862  //
  5863  // Returned Error Types:
  5864  //   * NotFoundException
  5865  //   The specified entity was not found.
  5866  //
  5867  //   * ArgumentException
  5868  //   An invalid argument was specified.
  5869  //
  5870  //   * InternalServiceException
  5871  //   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
  5872  //   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
  5873  //
  5874  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessions
  5875  func (c *DeviceFarm) ListTestGridSessions(input *ListTestGridSessionsInput) (*ListTestGridSessionsOutput, error) {
  5876  	req, out := c.ListTestGridSessionsRequest(input)
  5877  	return out, req.Send()
  5878  }
  5879  
  5880  // ListTestGridSessionsWithContext is the same as ListTestGridSessions with the addition of
  5881  // the ability to pass a context and additional request options.
  5882  //
  5883  // See ListTestGridSessions for details on how to use this API operation.
  5884  //
  5885  // The context must be non-nil and will be used for request cancellation. If
  5886  // the context is nil a panic will occur. In the future the SDK may create
  5887  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5888  // for more information on using Contexts.
  5889  func (c *DeviceFarm) ListTestGridSessionsWithContext(ctx aws.Context, input *ListTestGridSessionsInput, opts ...request.Option) (*ListTestGridSessionsOutput, error) {
  5890  	req, out := c.ListTestGridSessionsRequest(input)
  5891  	req.SetContext(ctx)
  5892  	req.ApplyOptions(opts...)
  5893  	return out, req.Send()
  5894  }
  5895  
  5896  // ListTestGridSessionsPages iterates over the pages of a ListTestGridSessions operation,
  5897  // calling the "fn" function with the response data for each page. To stop
  5898  // iterating, return false from the fn function.
  5899  //
  5900  // See ListTestGridSessions method for more information on how to use this operation.
  5901  //
  5902  // Note: This operation can generate multiple requests to a service.
  5903  //
  5904  //    // Example iterating over at most 3 pages of a ListTestGridSessions operation.
  5905  //    pageNum := 0
  5906  //    err := client.ListTestGridSessionsPages(params,
  5907  //        func(page *devicefarm.ListTestGridSessionsOutput, lastPage bool) bool {
  5908  //            pageNum++
  5909  //            fmt.Println(page)
  5910  //            return pageNum <= 3
  5911  //        })
  5912  //
  5913  func (c *DeviceFarm) ListTestGridSessionsPages(input *ListTestGridSessionsInput, fn func(*ListTestGridSessionsOutput, bool) bool) error {
  5914  	return c.ListTestGridSessionsPagesWithContext(aws.BackgroundContext(), input, fn)
  5915  }
  5916  
  5917  // ListTestGridSessionsPagesWithContext same as ListTestGridSessionsPages except
  5918  // it takes a Context and allows setting request options on the pages.
  5919  //
  5920  // The context must be non-nil and will be used for request cancellation. If
  5921  // the context is nil a panic will occur. In the future the SDK may create
  5922  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5923  // for more information on using Contexts.
  5924  func (c *DeviceFarm) ListTestGridSessionsPagesWithContext(ctx aws.Context, input *ListTestGridSessionsInput, fn func(*ListTestGridSessionsOutput, bool) bool, opts ...request.Option) error {
  5925  	p := request.Pagination{
  5926  		NewRequest: func() (*request.Request, error) {
  5927  			var inCpy *ListTestGridSessionsInput
  5928  			if input != nil {
  5929  				tmp := *input
  5930  				inCpy = &tmp
  5931  			}
  5932  			req, _ := c.ListTestGridSessionsRequest(inCpy)
  5933  			req.SetContext(ctx)
  5934  			req.ApplyOptions(opts...)
  5935  			return req, nil
  5936  		},
  5937  	}
  5938  
  5939  	for p.Next() {
  5940  		if !fn(p.Page().(*ListTestGridSessionsOutput), !p.HasNextPage()) {
  5941  			break
  5942  		}
  5943  	}
  5944  
  5945  	return p.Err()
  5946  }
  5947  
  5948  const opListTests = "ListTests"
  5949  
  5950  // ListTestsRequest generates a "aws/request.Request" representing the
  5951  // client's request for the ListTests operation. The "output" return
  5952  // value will be populated with the request's response once the request completes
  5953  // successfully.
  5954  //
  5955  // Use "Send" method on the returned Request to send the API call to the service.
  5956  // the "output" return value is not valid until after Send returns without error.
  5957  //
  5958  // See ListTests for more information on using the ListTests
  5959  // API call, and error handling.
  5960  //
  5961  // This method is useful when you want to inject custom logic or configuration
  5962  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5963  //
  5964  //
  5965  //    // Example sending a request using the ListTestsRequest method.
  5966  //    req, resp := client.ListTestsRequest(params)
  5967  //
  5968  //    err := req.Send()
  5969  //    if err == nil { // resp is now filled
  5970  //        fmt.Println(resp)
  5971  //    }
  5972  //
  5973  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTests
  5974  func (c *DeviceFarm) ListTestsRequest(input *ListTestsInput) (req *request.Request, output *ListTestsOutput) {
  5975  	op := &request.Operation{
  5976  		Name:       opListTests,
  5977  		HTTPMethod: "POST",
  5978  		HTTPPath:   "/",
  5979  		Paginator: &request.Paginator{
  5980  			InputTokens:     []string{"nextToken"},
  5981  			OutputTokens:    []string{"nextToken"},
  5982  			LimitToken:      "",
  5983  			TruncationToken: "",
  5984  		},
  5985  	}
  5986  
  5987  	if input == nil {
  5988  		input = &ListTestsInput{}
  5989  	}
  5990  
  5991  	output = &ListTestsOutput{}
  5992  	req = c.newRequest(op, input, output)
  5993  	return
  5994  }
  5995  
  5996  // ListTests API operation for AWS Device Farm.
  5997  //
  5998  // Gets information about tests in a given test suite.
  5999  //
  6000  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6001  // with awserr.Error's Code and Message methods to get detailed information about
  6002  // the error.
  6003  //
  6004  // See the AWS API reference guide for AWS Device Farm's
  6005  // API operation ListTests for usage and error information.
  6006  //
  6007  // Returned Error Types:
  6008  //   * ArgumentException
  6009  //   An invalid argument was specified.
  6010  //
  6011  //   * NotFoundException
  6012  //   The specified entity was not found.
  6013  //
  6014  //   * LimitExceededException
  6015  //   A limit was exceeded.
  6016  //
  6017  //   * ServiceAccountException
  6018  //   There was a problem with the service account.
  6019  //
  6020  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTests
  6021  func (c *DeviceFarm) ListTests(input *ListTestsInput) (*ListTestsOutput, error) {
  6022  	req, out := c.ListTestsRequest(input)
  6023  	return out, req.Send()
  6024  }
  6025  
  6026  // ListTestsWithContext is the same as ListTests with the addition of
  6027  // the ability to pass a context and additional request options.
  6028  //
  6029  // See ListTests for details on how to use this API operation.
  6030  //
  6031  // The context must be non-nil and will be used for request cancellation. If
  6032  // the context is nil a panic will occur. In the future the SDK may create
  6033  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6034  // for more information on using Contexts.
  6035  func (c *DeviceFarm) ListTestsWithContext(ctx aws.Context, input *ListTestsInput, opts ...request.Option) (*ListTestsOutput, error) {
  6036  	req, out := c.ListTestsRequest(input)
  6037  	req.SetContext(ctx)
  6038  	req.ApplyOptions(opts...)
  6039  	return out, req.Send()
  6040  }
  6041  
  6042  // ListTestsPages iterates over the pages of a ListTests operation,
  6043  // calling the "fn" function with the response data for each page. To stop
  6044  // iterating, return false from the fn function.
  6045  //
  6046  // See ListTests method for more information on how to use this operation.
  6047  //
  6048  // Note: This operation can generate multiple requests to a service.
  6049  //
  6050  //    // Example iterating over at most 3 pages of a ListTests operation.
  6051  //    pageNum := 0
  6052  //    err := client.ListTestsPages(params,
  6053  //        func(page *devicefarm.ListTestsOutput, lastPage bool) bool {
  6054  //            pageNum++
  6055  //            fmt.Println(page)
  6056  //            return pageNum <= 3
  6057  //        })
  6058  //
  6059  func (c *DeviceFarm) ListTestsPages(input *ListTestsInput, fn func(*ListTestsOutput, bool) bool) error {
  6060  	return c.ListTestsPagesWithContext(aws.BackgroundContext(), input, fn)
  6061  }
  6062  
  6063  // ListTestsPagesWithContext same as ListTestsPages except
  6064  // it takes a Context and allows setting request options on the pages.
  6065  //
  6066  // The context must be non-nil and will be used for request cancellation. If
  6067  // the context is nil a panic will occur. In the future the SDK may create
  6068  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6069  // for more information on using Contexts.
  6070  func (c *DeviceFarm) ListTestsPagesWithContext(ctx aws.Context, input *ListTestsInput, fn func(*ListTestsOutput, bool) bool, opts ...request.Option) error {
  6071  	p := request.Pagination{
  6072  		NewRequest: func() (*request.Request, error) {
  6073  			var inCpy *ListTestsInput
  6074  			if input != nil {
  6075  				tmp := *input
  6076  				inCpy = &tmp
  6077  			}
  6078  			req, _ := c.ListTestsRequest(inCpy)
  6079  			req.SetContext(ctx)
  6080  			req.ApplyOptions(opts...)
  6081  			return req, nil
  6082  		},
  6083  	}
  6084  
  6085  	for p.Next() {
  6086  		if !fn(p.Page().(*ListTestsOutput), !p.HasNextPage()) {
  6087  			break
  6088  		}
  6089  	}
  6090  
  6091  	return p.Err()
  6092  }
  6093  
  6094  const opListUniqueProblems = "ListUniqueProblems"
  6095  
  6096  // ListUniqueProblemsRequest generates a "aws/request.Request" representing the
  6097  // client's request for the ListUniqueProblems operation. The "output" return
  6098  // value will be populated with the request's response once the request completes
  6099  // successfully.
  6100  //
  6101  // Use "Send" method on the returned Request to send the API call to the service.
  6102  // the "output" return value is not valid until after Send returns without error.
  6103  //
  6104  // See ListUniqueProblems for more information on using the ListUniqueProblems
  6105  // API call, and error handling.
  6106  //
  6107  // This method is useful when you want to inject custom logic or configuration
  6108  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6109  //
  6110  //
  6111  //    // Example sending a request using the ListUniqueProblemsRequest method.
  6112  //    req, resp := client.ListUniqueProblemsRequest(params)
  6113  //
  6114  //    err := req.Send()
  6115  //    if err == nil { // resp is now filled
  6116  //        fmt.Println(resp)
  6117  //    }
  6118  //
  6119  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUniqueProblems
  6120  func (c *DeviceFarm) ListUniqueProblemsRequest(input *ListUniqueProblemsInput) (req *request.Request, output *ListUniqueProblemsOutput) {
  6121  	op := &request.Operation{
  6122  		Name:       opListUniqueProblems,
  6123  		HTTPMethod: "POST",
  6124  		HTTPPath:   "/",
  6125  		Paginator: &request.Paginator{
  6126  			InputTokens:     []string{"nextToken"},
  6127  			OutputTokens:    []string{"nextToken"},
  6128  			LimitToken:      "",
  6129  			TruncationToken: "",
  6130  		},
  6131  	}
  6132  
  6133  	if input == nil {
  6134  		input = &ListUniqueProblemsInput{}
  6135  	}
  6136  
  6137  	output = &ListUniqueProblemsOutput{}
  6138  	req = c.newRequest(op, input, output)
  6139  	return
  6140  }
  6141  
  6142  // ListUniqueProblems API operation for AWS Device Farm.
  6143  //
  6144  // Gets information about unique problems, such as exceptions or crashes.
  6145  //
  6146  // Unique problems are defined as a single instance of an error across a run,
  6147  // job, or suite. For example, if a call in your application consistently raises
  6148  // an exception (OutOfBoundsException in MyActivity.java:386), ListUniqueProblems
  6149  // returns a single entry instead of many individual entries for that exception.
  6150  //
  6151  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6152  // with awserr.Error's Code and Message methods to get detailed information about
  6153  // the error.
  6154  //
  6155  // See the AWS API reference guide for AWS Device Farm's
  6156  // API operation ListUniqueProblems for usage and error information.
  6157  //
  6158  // Returned Error Types:
  6159  //   * ArgumentException
  6160  //   An invalid argument was specified.
  6161  //
  6162  //   * NotFoundException
  6163  //   The specified entity was not found.
  6164  //
  6165  //   * LimitExceededException
  6166  //   A limit was exceeded.
  6167  //
  6168  //   * ServiceAccountException
  6169  //   There was a problem with the service account.
  6170  //
  6171  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUniqueProblems
  6172  func (c *DeviceFarm) ListUniqueProblems(input *ListUniqueProblemsInput) (*ListUniqueProblemsOutput, error) {
  6173  	req, out := c.ListUniqueProblemsRequest(input)
  6174  	return out, req.Send()
  6175  }
  6176  
  6177  // ListUniqueProblemsWithContext is the same as ListUniqueProblems with the addition of
  6178  // the ability to pass a context and additional request options.
  6179  //
  6180  // See ListUniqueProblems for details on how to use this API operation.
  6181  //
  6182  // The context must be non-nil and will be used for request cancellation. If
  6183  // the context is nil a panic will occur. In the future the SDK may create
  6184  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6185  // for more information on using Contexts.
  6186  func (c *DeviceFarm) ListUniqueProblemsWithContext(ctx aws.Context, input *ListUniqueProblemsInput, opts ...request.Option) (*ListUniqueProblemsOutput, error) {
  6187  	req, out := c.ListUniqueProblemsRequest(input)
  6188  	req.SetContext(ctx)
  6189  	req.ApplyOptions(opts...)
  6190  	return out, req.Send()
  6191  }
  6192  
  6193  // ListUniqueProblemsPages iterates over the pages of a ListUniqueProblems operation,
  6194  // calling the "fn" function with the response data for each page. To stop
  6195  // iterating, return false from the fn function.
  6196  //
  6197  // See ListUniqueProblems method for more information on how to use this operation.
  6198  //
  6199  // Note: This operation can generate multiple requests to a service.
  6200  //
  6201  //    // Example iterating over at most 3 pages of a ListUniqueProblems operation.
  6202  //    pageNum := 0
  6203  //    err := client.ListUniqueProblemsPages(params,
  6204  //        func(page *devicefarm.ListUniqueProblemsOutput, lastPage bool) bool {
  6205  //            pageNum++
  6206  //            fmt.Println(page)
  6207  //            return pageNum <= 3
  6208  //        })
  6209  //
  6210  func (c *DeviceFarm) ListUniqueProblemsPages(input *ListUniqueProblemsInput, fn func(*ListUniqueProblemsOutput, bool) bool) error {
  6211  	return c.ListUniqueProblemsPagesWithContext(aws.BackgroundContext(), input, fn)
  6212  }
  6213  
  6214  // ListUniqueProblemsPagesWithContext same as ListUniqueProblemsPages except
  6215  // it takes a Context and allows setting request options on the pages.
  6216  //
  6217  // The context must be non-nil and will be used for request cancellation. If
  6218  // the context is nil a panic will occur. In the future the SDK may create
  6219  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6220  // for more information on using Contexts.
  6221  func (c *DeviceFarm) ListUniqueProblemsPagesWithContext(ctx aws.Context, input *ListUniqueProblemsInput, fn func(*ListUniqueProblemsOutput, bool) bool, opts ...request.Option) error {
  6222  	p := request.Pagination{
  6223  		NewRequest: func() (*request.Request, error) {
  6224  			var inCpy *ListUniqueProblemsInput
  6225  			if input != nil {
  6226  				tmp := *input
  6227  				inCpy = &tmp
  6228  			}
  6229  			req, _ := c.ListUniqueProblemsRequest(inCpy)
  6230  			req.SetContext(ctx)
  6231  			req.ApplyOptions(opts...)
  6232  			return req, nil
  6233  		},
  6234  	}
  6235  
  6236  	for p.Next() {
  6237  		if !fn(p.Page().(*ListUniqueProblemsOutput), !p.HasNextPage()) {
  6238  			break
  6239  		}
  6240  	}
  6241  
  6242  	return p.Err()
  6243  }
  6244  
  6245  const opListUploads = "ListUploads"
  6246  
  6247  // ListUploadsRequest generates a "aws/request.Request" representing the
  6248  // client's request for the ListUploads operation. The "output" return
  6249  // value will be populated with the request's response once the request completes
  6250  // successfully.
  6251  //
  6252  // Use "Send" method on the returned Request to send the API call to the service.
  6253  // the "output" return value is not valid until after Send returns without error.
  6254  //
  6255  // See ListUploads for more information on using the ListUploads
  6256  // API call, and error handling.
  6257  //
  6258  // This method is useful when you want to inject custom logic or configuration
  6259  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6260  //
  6261  //
  6262  //    // Example sending a request using the ListUploadsRequest method.
  6263  //    req, resp := client.ListUploadsRequest(params)
  6264  //
  6265  //    err := req.Send()
  6266  //    if err == nil { // resp is now filled
  6267  //        fmt.Println(resp)
  6268  //    }
  6269  //
  6270  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUploads
  6271  func (c *DeviceFarm) ListUploadsRequest(input *ListUploadsInput) (req *request.Request, output *ListUploadsOutput) {
  6272  	op := &request.Operation{
  6273  		Name:       opListUploads,
  6274  		HTTPMethod: "POST",
  6275  		HTTPPath:   "/",
  6276  		Paginator: &request.Paginator{
  6277  			InputTokens:     []string{"nextToken"},
  6278  			OutputTokens:    []string{"nextToken"},
  6279  			LimitToken:      "",
  6280  			TruncationToken: "",
  6281  		},
  6282  	}
  6283  
  6284  	if input == nil {
  6285  		input = &ListUploadsInput{}
  6286  	}
  6287  
  6288  	output = &ListUploadsOutput{}
  6289  	req = c.newRequest(op, input, output)
  6290  	return
  6291  }
  6292  
  6293  // ListUploads API operation for AWS Device Farm.
  6294  //
  6295  // Gets information about uploads, given an AWS Device Farm project ARN.
  6296  //
  6297  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6298  // with awserr.Error's Code and Message methods to get detailed information about
  6299  // the error.
  6300  //
  6301  // See the AWS API reference guide for AWS Device Farm's
  6302  // API operation ListUploads for usage and error information.
  6303  //
  6304  // Returned Error Types:
  6305  //   * ArgumentException
  6306  //   An invalid argument was specified.
  6307  //
  6308  //   * NotFoundException
  6309  //   The specified entity was not found.
  6310  //
  6311  //   * LimitExceededException
  6312  //   A limit was exceeded.
  6313  //
  6314  //   * ServiceAccountException
  6315  //   There was a problem with the service account.
  6316  //
  6317  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUploads
  6318  func (c *DeviceFarm) ListUploads(input *ListUploadsInput) (*ListUploadsOutput, error) {
  6319  	req, out := c.ListUploadsRequest(input)
  6320  	return out, req.Send()
  6321  }
  6322  
  6323  // ListUploadsWithContext is the same as ListUploads with the addition of
  6324  // the ability to pass a context and additional request options.
  6325  //
  6326  // See ListUploads for details on how to use this API operation.
  6327  //
  6328  // The context must be non-nil and will be used for request cancellation. If
  6329  // the context is nil a panic will occur. In the future the SDK may create
  6330  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6331  // for more information on using Contexts.
  6332  func (c *DeviceFarm) ListUploadsWithContext(ctx aws.Context, input *ListUploadsInput, opts ...request.Option) (*ListUploadsOutput, error) {
  6333  	req, out := c.ListUploadsRequest(input)
  6334  	req.SetContext(ctx)
  6335  	req.ApplyOptions(opts...)
  6336  	return out, req.Send()
  6337  }
  6338  
  6339  // ListUploadsPages iterates over the pages of a ListUploads operation,
  6340  // calling the "fn" function with the response data for each page. To stop
  6341  // iterating, return false from the fn function.
  6342  //
  6343  // See ListUploads method for more information on how to use this operation.
  6344  //
  6345  // Note: This operation can generate multiple requests to a service.
  6346  //
  6347  //    // Example iterating over at most 3 pages of a ListUploads operation.
  6348  //    pageNum := 0
  6349  //    err := client.ListUploadsPages(params,
  6350  //        func(page *devicefarm.ListUploadsOutput, lastPage bool) bool {
  6351  //            pageNum++
  6352  //            fmt.Println(page)
  6353  //            return pageNum <= 3
  6354  //        })
  6355  //
  6356  func (c *DeviceFarm) ListUploadsPages(input *ListUploadsInput, fn func(*ListUploadsOutput, bool) bool) error {
  6357  	return c.ListUploadsPagesWithContext(aws.BackgroundContext(), input, fn)
  6358  }
  6359  
  6360  // ListUploadsPagesWithContext same as ListUploadsPages except
  6361  // it takes a Context and allows setting request options on the pages.
  6362  //
  6363  // The context must be non-nil and will be used for request cancellation. If
  6364  // the context is nil a panic will occur. In the future the SDK may create
  6365  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6366  // for more information on using Contexts.
  6367  func (c *DeviceFarm) ListUploadsPagesWithContext(ctx aws.Context, input *ListUploadsInput, fn func(*ListUploadsOutput, bool) bool, opts ...request.Option) error {
  6368  	p := request.Pagination{
  6369  		NewRequest: func() (*request.Request, error) {
  6370  			var inCpy *ListUploadsInput
  6371  			if input != nil {
  6372  				tmp := *input
  6373  				inCpy = &tmp
  6374  			}
  6375  			req, _ := c.ListUploadsRequest(inCpy)
  6376  			req.SetContext(ctx)
  6377  			req.ApplyOptions(opts...)
  6378  			return req, nil
  6379  		},
  6380  	}
  6381  
  6382  	for p.Next() {
  6383  		if !fn(p.Page().(*ListUploadsOutput), !p.HasNextPage()) {
  6384  			break
  6385  		}
  6386  	}
  6387  
  6388  	return p.Err()
  6389  }
  6390  
  6391  const opListVPCEConfigurations = "ListVPCEConfigurations"
  6392  
  6393  // ListVPCEConfigurationsRequest generates a "aws/request.Request" representing the
  6394  // client's request for the ListVPCEConfigurations operation. The "output" return
  6395  // value will be populated with the request's response once the request completes
  6396  // successfully.
  6397  //
  6398  // Use "Send" method on the returned Request to send the API call to the service.
  6399  // the "output" return value is not valid until after Send returns without error.
  6400  //
  6401  // See ListVPCEConfigurations for more information on using the ListVPCEConfigurations
  6402  // API call, and error handling.
  6403  //
  6404  // This method is useful when you want to inject custom logic or configuration
  6405  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6406  //
  6407  //
  6408  //    // Example sending a request using the ListVPCEConfigurationsRequest method.
  6409  //    req, resp := client.ListVPCEConfigurationsRequest(params)
  6410  //
  6411  //    err := req.Send()
  6412  //    if err == nil { // resp is now filled
  6413  //        fmt.Println(resp)
  6414  //    }
  6415  //
  6416  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListVPCEConfigurations
  6417  func (c *DeviceFarm) ListVPCEConfigurationsRequest(input *ListVPCEConfigurationsInput) (req *request.Request, output *ListVPCEConfigurationsOutput) {
  6418  	op := &request.Operation{
  6419  		Name:       opListVPCEConfigurations,
  6420  		HTTPMethod: "POST",
  6421  		HTTPPath:   "/",
  6422  	}
  6423  
  6424  	if input == nil {
  6425  		input = &ListVPCEConfigurationsInput{}
  6426  	}
  6427  
  6428  	output = &ListVPCEConfigurationsOutput{}
  6429  	req = c.newRequest(op, input, output)
  6430  	return
  6431  }
  6432  
  6433  // ListVPCEConfigurations API operation for AWS Device Farm.
  6434  //
  6435  // Returns information about all Amazon Virtual Private Cloud (VPC) endpoint
  6436  // configurations in the AWS account.
  6437  //
  6438  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6439  // with awserr.Error's Code and Message methods to get detailed information about
  6440  // the error.
  6441  //
  6442  // See the AWS API reference guide for AWS Device Farm's
  6443  // API operation ListVPCEConfigurations for usage and error information.
  6444  //
  6445  // Returned Error Types:
  6446  //   * ArgumentException
  6447  //   An invalid argument was specified.
  6448  //
  6449  //   * ServiceAccountException
  6450  //   There was a problem with the service account.
  6451  //
  6452  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListVPCEConfigurations
  6453  func (c *DeviceFarm) ListVPCEConfigurations(input *ListVPCEConfigurationsInput) (*ListVPCEConfigurationsOutput, error) {
  6454  	req, out := c.ListVPCEConfigurationsRequest(input)
  6455  	return out, req.Send()
  6456  }
  6457  
  6458  // ListVPCEConfigurationsWithContext is the same as ListVPCEConfigurations with the addition of
  6459  // the ability to pass a context and additional request options.
  6460  //
  6461  // See ListVPCEConfigurations for details on how to use this API operation.
  6462  //
  6463  // The context must be non-nil and will be used for request cancellation. If
  6464  // the context is nil a panic will occur. In the future the SDK may create
  6465  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6466  // for more information on using Contexts.
  6467  func (c *DeviceFarm) ListVPCEConfigurationsWithContext(ctx aws.Context, input *ListVPCEConfigurationsInput, opts ...request.Option) (*ListVPCEConfigurationsOutput, error) {
  6468  	req, out := c.ListVPCEConfigurationsRequest(input)
  6469  	req.SetContext(ctx)
  6470  	req.ApplyOptions(opts...)
  6471  	return out, req.Send()
  6472  }
  6473  
  6474  const opPurchaseOffering = "PurchaseOffering"
  6475  
  6476  // PurchaseOfferingRequest generates a "aws/request.Request" representing the
  6477  // client's request for the PurchaseOffering operation. The "output" return
  6478  // value will be populated with the request's response once the request completes
  6479  // successfully.
  6480  //
  6481  // Use "Send" method on the returned Request to send the API call to the service.
  6482  // the "output" return value is not valid until after Send returns without error.
  6483  //
  6484  // See PurchaseOffering for more information on using the PurchaseOffering
  6485  // API call, and error handling.
  6486  //
  6487  // This method is useful when you want to inject custom logic or configuration
  6488  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6489  //
  6490  //
  6491  //    // Example sending a request using the PurchaseOfferingRequest method.
  6492  //    req, resp := client.PurchaseOfferingRequest(params)
  6493  //
  6494  //    err := req.Send()
  6495  //    if err == nil { // resp is now filled
  6496  //        fmt.Println(resp)
  6497  //    }
  6498  //
  6499  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/PurchaseOffering
  6500  func (c *DeviceFarm) PurchaseOfferingRequest(input *PurchaseOfferingInput) (req *request.Request, output *PurchaseOfferingOutput) {
  6501  	op := &request.Operation{
  6502  		Name:       opPurchaseOffering,
  6503  		HTTPMethod: "POST",
  6504  		HTTPPath:   "/",
  6505  	}
  6506  
  6507  	if input == nil {
  6508  		input = &PurchaseOfferingInput{}
  6509  	}
  6510  
  6511  	output = &PurchaseOfferingOutput{}
  6512  	req = c.newRequest(op, input, output)
  6513  	return
  6514  }
  6515  
  6516  // PurchaseOffering API operation for AWS Device Farm.
  6517  //
  6518  // Immediately purchases offerings for an AWS account. Offerings renew with
  6519  // the latest total purchased quantity for an offering, unless the renewal was
  6520  // overridden. The API returns a NotEligible error if the user is not permitted
  6521  // to invoke the operation. If you must be able to invoke this operation, contact
  6522  // aws-devicefarm-support@amazon.com (mailto:aws-devicefarm-support@amazon.com).
  6523  //
  6524  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6525  // with awserr.Error's Code and Message methods to get detailed information about
  6526  // the error.
  6527  //
  6528  // See the AWS API reference guide for AWS Device Farm's
  6529  // API operation PurchaseOffering for usage and error information.
  6530  //
  6531  // Returned Error Types:
  6532  //   * ArgumentException
  6533  //   An invalid argument was specified.
  6534  //
  6535  //   * NotFoundException
  6536  //   The specified entity was not found.
  6537  //
  6538  //   * NotEligibleException
  6539  //   Exception gets thrown when a user is not eligible to perform the specified
  6540  //   transaction.
  6541  //
  6542  //   * LimitExceededException
  6543  //   A limit was exceeded.
  6544  //
  6545  //   * ServiceAccountException
  6546  //   There was a problem with the service account.
  6547  //
  6548  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/PurchaseOffering
  6549  func (c *DeviceFarm) PurchaseOffering(input *PurchaseOfferingInput) (*PurchaseOfferingOutput, error) {
  6550  	req, out := c.PurchaseOfferingRequest(input)
  6551  	return out, req.Send()
  6552  }
  6553  
  6554  // PurchaseOfferingWithContext is the same as PurchaseOffering with the addition of
  6555  // the ability to pass a context and additional request options.
  6556  //
  6557  // See PurchaseOffering for details on how to use this API operation.
  6558  //
  6559  // The context must be non-nil and will be used for request cancellation. If
  6560  // the context is nil a panic will occur. In the future the SDK may create
  6561  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6562  // for more information on using Contexts.
  6563  func (c *DeviceFarm) PurchaseOfferingWithContext(ctx aws.Context, input *PurchaseOfferingInput, opts ...request.Option) (*PurchaseOfferingOutput, error) {
  6564  	req, out := c.PurchaseOfferingRequest(input)
  6565  	req.SetContext(ctx)
  6566  	req.ApplyOptions(opts...)
  6567  	return out, req.Send()
  6568  }
  6569  
  6570  const opRenewOffering = "RenewOffering"
  6571  
  6572  // RenewOfferingRequest generates a "aws/request.Request" representing the
  6573  // client's request for the RenewOffering operation. The "output" return
  6574  // value will be populated with the request's response once the request completes
  6575  // successfully.
  6576  //
  6577  // Use "Send" method on the returned Request to send the API call to the service.
  6578  // the "output" return value is not valid until after Send returns without error.
  6579  //
  6580  // See RenewOffering for more information on using the RenewOffering
  6581  // API call, and error handling.
  6582  //
  6583  // This method is useful when you want to inject custom logic or configuration
  6584  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6585  //
  6586  //
  6587  //    // Example sending a request using the RenewOfferingRequest method.
  6588  //    req, resp := client.RenewOfferingRequest(params)
  6589  //
  6590  //    err := req.Send()
  6591  //    if err == nil { // resp is now filled
  6592  //        fmt.Println(resp)
  6593  //    }
  6594  //
  6595  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/RenewOffering
  6596  func (c *DeviceFarm) RenewOfferingRequest(input *RenewOfferingInput) (req *request.Request, output *RenewOfferingOutput) {
  6597  	op := &request.Operation{
  6598  		Name:       opRenewOffering,
  6599  		HTTPMethod: "POST",
  6600  		HTTPPath:   "/",
  6601  	}
  6602  
  6603  	if input == nil {
  6604  		input = &RenewOfferingInput{}
  6605  	}
  6606  
  6607  	output = &RenewOfferingOutput{}
  6608  	req = c.newRequest(op, input, output)
  6609  	return
  6610  }
  6611  
  6612  // RenewOffering API operation for AWS Device Farm.
  6613  //
  6614  // Explicitly sets the quantity of devices to renew for an offering, starting
  6615  // from the effectiveDate of the next period. The API returns a NotEligible
  6616  // error if the user is not permitted to invoke the operation. If you must be
  6617  // able to invoke this operation, contact aws-devicefarm-support@amazon.com
  6618  // (mailto:aws-devicefarm-support@amazon.com).
  6619  //
  6620  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6621  // with awserr.Error's Code and Message methods to get detailed information about
  6622  // the error.
  6623  //
  6624  // See the AWS API reference guide for AWS Device Farm's
  6625  // API operation RenewOffering for usage and error information.
  6626  //
  6627  // Returned Error Types:
  6628  //   * ArgumentException
  6629  //   An invalid argument was specified.
  6630  //
  6631  //   * NotFoundException
  6632  //   The specified entity was not found.
  6633  //
  6634  //   * NotEligibleException
  6635  //   Exception gets thrown when a user is not eligible to perform the specified
  6636  //   transaction.
  6637  //
  6638  //   * LimitExceededException
  6639  //   A limit was exceeded.
  6640  //
  6641  //   * ServiceAccountException
  6642  //   There was a problem with the service account.
  6643  //
  6644  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/RenewOffering
  6645  func (c *DeviceFarm) RenewOffering(input *RenewOfferingInput) (*RenewOfferingOutput, error) {
  6646  	req, out := c.RenewOfferingRequest(input)
  6647  	return out, req.Send()
  6648  }
  6649  
  6650  // RenewOfferingWithContext is the same as RenewOffering with the addition of
  6651  // the ability to pass a context and additional request options.
  6652  //
  6653  // See RenewOffering for details on how to use this API operation.
  6654  //
  6655  // The context must be non-nil and will be used for request cancellation. If
  6656  // the context is nil a panic will occur. In the future the SDK may create
  6657  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6658  // for more information on using Contexts.
  6659  func (c *DeviceFarm) RenewOfferingWithContext(ctx aws.Context, input *RenewOfferingInput, opts ...request.Option) (*RenewOfferingOutput, error) {
  6660  	req, out := c.RenewOfferingRequest(input)
  6661  	req.SetContext(ctx)
  6662  	req.ApplyOptions(opts...)
  6663  	return out, req.Send()
  6664  }
  6665  
  6666  const opScheduleRun = "ScheduleRun"
  6667  
  6668  // ScheduleRunRequest generates a "aws/request.Request" representing the
  6669  // client's request for the ScheduleRun operation. The "output" return
  6670  // value will be populated with the request's response once the request completes
  6671  // successfully.
  6672  //
  6673  // Use "Send" method on the returned Request to send the API call to the service.
  6674  // the "output" return value is not valid until after Send returns without error.
  6675  //
  6676  // See ScheduleRun for more information on using the ScheduleRun
  6677  // API call, and error handling.
  6678  //
  6679  // This method is useful when you want to inject custom logic or configuration
  6680  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6681  //
  6682  //
  6683  //    // Example sending a request using the ScheduleRunRequest method.
  6684  //    req, resp := client.ScheduleRunRequest(params)
  6685  //
  6686  //    err := req.Send()
  6687  //    if err == nil { // resp is now filled
  6688  //        fmt.Println(resp)
  6689  //    }
  6690  //
  6691  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ScheduleRun
  6692  func (c *DeviceFarm) ScheduleRunRequest(input *ScheduleRunInput) (req *request.Request, output *ScheduleRunOutput) {
  6693  	op := &request.Operation{
  6694  		Name:       opScheduleRun,
  6695  		HTTPMethod: "POST",
  6696  		HTTPPath:   "/",
  6697  	}
  6698  
  6699  	if input == nil {
  6700  		input = &ScheduleRunInput{}
  6701  	}
  6702  
  6703  	output = &ScheduleRunOutput{}
  6704  	req = c.newRequest(op, input, output)
  6705  	return
  6706  }
  6707  
  6708  // ScheduleRun API operation for AWS Device Farm.
  6709  //
  6710  // Schedules a run.
  6711  //
  6712  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6713  // with awserr.Error's Code and Message methods to get detailed information about
  6714  // the error.
  6715  //
  6716  // See the AWS API reference guide for AWS Device Farm's
  6717  // API operation ScheduleRun for usage and error information.
  6718  //
  6719  // Returned Error Types:
  6720  //   * ArgumentException
  6721  //   An invalid argument was specified.
  6722  //
  6723  //   * NotFoundException
  6724  //   The specified entity was not found.
  6725  //
  6726  //   * LimitExceededException
  6727  //   A limit was exceeded.
  6728  //
  6729  //   * IdempotencyException
  6730  //   An entity with the same name already exists.
  6731  //
  6732  //   * ServiceAccountException
  6733  //   There was a problem with the service account.
  6734  //
  6735  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ScheduleRun
  6736  func (c *DeviceFarm) ScheduleRun(input *ScheduleRunInput) (*ScheduleRunOutput, error) {
  6737  	req, out := c.ScheduleRunRequest(input)
  6738  	return out, req.Send()
  6739  }
  6740  
  6741  // ScheduleRunWithContext is the same as ScheduleRun with the addition of
  6742  // the ability to pass a context and additional request options.
  6743  //
  6744  // See ScheduleRun for details on how to use this API operation.
  6745  //
  6746  // The context must be non-nil and will be used for request cancellation. If
  6747  // the context is nil a panic will occur. In the future the SDK may create
  6748  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6749  // for more information on using Contexts.
  6750  func (c *DeviceFarm) ScheduleRunWithContext(ctx aws.Context, input *ScheduleRunInput, opts ...request.Option) (*ScheduleRunOutput, error) {
  6751  	req, out := c.ScheduleRunRequest(input)
  6752  	req.SetContext(ctx)
  6753  	req.ApplyOptions(opts...)
  6754  	return out, req.Send()
  6755  }
  6756  
  6757  const opStopJob = "StopJob"
  6758  
  6759  // StopJobRequest generates a "aws/request.Request" representing the
  6760  // client's request for the StopJob operation. The "output" return
  6761  // value will be populated with the request's response once the request completes
  6762  // successfully.
  6763  //
  6764  // Use "Send" method on the returned Request to send the API call to the service.
  6765  // the "output" return value is not valid until after Send returns without error.
  6766  //
  6767  // See StopJob for more information on using the StopJob
  6768  // API call, and error handling.
  6769  //
  6770  // This method is useful when you want to inject custom logic or configuration
  6771  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6772  //
  6773  //
  6774  //    // Example sending a request using the StopJobRequest method.
  6775  //    req, resp := client.StopJobRequest(params)
  6776  //
  6777  //    err := req.Send()
  6778  //    if err == nil { // resp is now filled
  6779  //        fmt.Println(resp)
  6780  //    }
  6781  //
  6782  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopJob
  6783  func (c *DeviceFarm) StopJobRequest(input *StopJobInput) (req *request.Request, output *StopJobOutput) {
  6784  	op := &request.Operation{
  6785  		Name:       opStopJob,
  6786  		HTTPMethod: "POST",
  6787  		HTTPPath:   "/",
  6788  	}
  6789  
  6790  	if input == nil {
  6791  		input = &StopJobInput{}
  6792  	}
  6793  
  6794  	output = &StopJobOutput{}
  6795  	req = c.newRequest(op, input, output)
  6796  	return
  6797  }
  6798  
  6799  // StopJob API operation for AWS Device Farm.
  6800  //
  6801  // Initiates a stop request for the current job. AWS Device Farm immediately
  6802  // stops the job on the device where tests have not started. You are not billed
  6803  // for this device. On the device where tests have started, setup suite and
  6804  // teardown suite tests run to completion on the device. You are billed for
  6805  // setup, teardown, and any tests that were in progress or already completed.
  6806  //
  6807  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6808  // with awserr.Error's Code and Message methods to get detailed information about
  6809  // the error.
  6810  //
  6811  // See the AWS API reference guide for AWS Device Farm's
  6812  // API operation StopJob for usage and error information.
  6813  //
  6814  // Returned Error Types:
  6815  //   * ArgumentException
  6816  //   An invalid argument was specified.
  6817  //
  6818  //   * NotFoundException
  6819  //   The specified entity was not found.
  6820  //
  6821  //   * LimitExceededException
  6822  //   A limit was exceeded.
  6823  //
  6824  //   * ServiceAccountException
  6825  //   There was a problem with the service account.
  6826  //
  6827  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopJob
  6828  func (c *DeviceFarm) StopJob(input *StopJobInput) (*StopJobOutput, error) {
  6829  	req, out := c.StopJobRequest(input)
  6830  	return out, req.Send()
  6831  }
  6832  
  6833  // StopJobWithContext is the same as StopJob with the addition of
  6834  // the ability to pass a context and additional request options.
  6835  //
  6836  // See StopJob for details on how to use this API operation.
  6837  //
  6838  // The context must be non-nil and will be used for request cancellation. If
  6839  // the context is nil a panic will occur. In the future the SDK may create
  6840  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6841  // for more information on using Contexts.
  6842  func (c *DeviceFarm) StopJobWithContext(ctx aws.Context, input *StopJobInput, opts ...request.Option) (*StopJobOutput, error) {
  6843  	req, out := c.StopJobRequest(input)
  6844  	req.SetContext(ctx)
  6845  	req.ApplyOptions(opts...)
  6846  	return out, req.Send()
  6847  }
  6848  
  6849  const opStopRemoteAccessSession = "StopRemoteAccessSession"
  6850  
  6851  // StopRemoteAccessSessionRequest generates a "aws/request.Request" representing the
  6852  // client's request for the StopRemoteAccessSession operation. The "output" return
  6853  // value will be populated with the request's response once the request completes
  6854  // successfully.
  6855  //
  6856  // Use "Send" method on the returned Request to send the API call to the service.
  6857  // the "output" return value is not valid until after Send returns without error.
  6858  //
  6859  // See StopRemoteAccessSession for more information on using the StopRemoteAccessSession
  6860  // API call, and error handling.
  6861  //
  6862  // This method is useful when you want to inject custom logic or configuration
  6863  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6864  //
  6865  //
  6866  //    // Example sending a request using the StopRemoteAccessSessionRequest method.
  6867  //    req, resp := client.StopRemoteAccessSessionRequest(params)
  6868  //
  6869  //    err := req.Send()
  6870  //    if err == nil { // resp is now filled
  6871  //        fmt.Println(resp)
  6872  //    }
  6873  //
  6874  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRemoteAccessSession
  6875  func (c *DeviceFarm) StopRemoteAccessSessionRequest(input *StopRemoteAccessSessionInput) (req *request.Request, output *StopRemoteAccessSessionOutput) {
  6876  	op := &request.Operation{
  6877  		Name:       opStopRemoteAccessSession,
  6878  		HTTPMethod: "POST",
  6879  		HTTPPath:   "/",
  6880  	}
  6881  
  6882  	if input == nil {
  6883  		input = &StopRemoteAccessSessionInput{}
  6884  	}
  6885  
  6886  	output = &StopRemoteAccessSessionOutput{}
  6887  	req = c.newRequest(op, input, output)
  6888  	return
  6889  }
  6890  
  6891  // StopRemoteAccessSession API operation for AWS Device Farm.
  6892  //
  6893  // Ends a specified remote access session.
  6894  //
  6895  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6896  // with awserr.Error's Code and Message methods to get detailed information about
  6897  // the error.
  6898  //
  6899  // See the AWS API reference guide for AWS Device Farm's
  6900  // API operation StopRemoteAccessSession for usage and error information.
  6901  //
  6902  // Returned Error Types:
  6903  //   * ArgumentException
  6904  //   An invalid argument was specified.
  6905  //
  6906  //   * NotFoundException
  6907  //   The specified entity was not found.
  6908  //
  6909  //   * LimitExceededException
  6910  //   A limit was exceeded.
  6911  //
  6912  //   * ServiceAccountException
  6913  //   There was a problem with the service account.
  6914  //
  6915  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRemoteAccessSession
  6916  func (c *DeviceFarm) StopRemoteAccessSession(input *StopRemoteAccessSessionInput) (*StopRemoteAccessSessionOutput, error) {
  6917  	req, out := c.StopRemoteAccessSessionRequest(input)
  6918  	return out, req.Send()
  6919  }
  6920  
  6921  // StopRemoteAccessSessionWithContext is the same as StopRemoteAccessSession with the addition of
  6922  // the ability to pass a context and additional request options.
  6923  //
  6924  // See StopRemoteAccessSession for details on how to use this API operation.
  6925  //
  6926  // The context must be non-nil and will be used for request cancellation. If
  6927  // the context is nil a panic will occur. In the future the SDK may create
  6928  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6929  // for more information on using Contexts.
  6930  func (c *DeviceFarm) StopRemoteAccessSessionWithContext(ctx aws.Context, input *StopRemoteAccessSessionInput, opts ...request.Option) (*StopRemoteAccessSessionOutput, error) {
  6931  	req, out := c.StopRemoteAccessSessionRequest(input)
  6932  	req.SetContext(ctx)
  6933  	req.ApplyOptions(opts...)
  6934  	return out, req.Send()
  6935  }
  6936  
  6937  const opStopRun = "StopRun"
  6938  
  6939  // StopRunRequest generates a "aws/request.Request" representing the
  6940  // client's request for the StopRun operation. The "output" return
  6941  // value will be populated with the request's response once the request completes
  6942  // successfully.
  6943  //
  6944  // Use "Send" method on the returned Request to send the API call to the service.
  6945  // the "output" return value is not valid until after Send returns without error.
  6946  //
  6947  // See StopRun for more information on using the StopRun
  6948  // API call, and error handling.
  6949  //
  6950  // This method is useful when you want to inject custom logic or configuration
  6951  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6952  //
  6953  //
  6954  //    // Example sending a request using the StopRunRequest method.
  6955  //    req, resp := client.StopRunRequest(params)
  6956  //
  6957  //    err := req.Send()
  6958  //    if err == nil { // resp is now filled
  6959  //        fmt.Println(resp)
  6960  //    }
  6961  //
  6962  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRun
  6963  func (c *DeviceFarm) StopRunRequest(input *StopRunInput) (req *request.Request, output *StopRunOutput) {
  6964  	op := &request.Operation{
  6965  		Name:       opStopRun,
  6966  		HTTPMethod: "POST",
  6967  		HTTPPath:   "/",
  6968  	}
  6969  
  6970  	if input == nil {
  6971  		input = &StopRunInput{}
  6972  	}
  6973  
  6974  	output = &StopRunOutput{}
  6975  	req = c.newRequest(op, input, output)
  6976  	return
  6977  }
  6978  
  6979  // StopRun API operation for AWS Device Farm.
  6980  //
  6981  // Initiates a stop request for the current test run. AWS Device Farm immediately
  6982  // stops the run on devices where tests have not started. You are not billed
  6983  // for these devices. On devices where tests have started executing, setup suite
  6984  // and teardown suite tests run to completion on those devices. You are billed
  6985  // for setup, teardown, and any tests that were in progress or already completed.
  6986  //
  6987  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6988  // with awserr.Error's Code and Message methods to get detailed information about
  6989  // the error.
  6990  //
  6991  // See the AWS API reference guide for AWS Device Farm's
  6992  // API operation StopRun for usage and error information.
  6993  //
  6994  // Returned Error Types:
  6995  //   * ArgumentException
  6996  //   An invalid argument was specified.
  6997  //
  6998  //   * NotFoundException
  6999  //   The specified entity was not found.
  7000  //
  7001  //   * LimitExceededException
  7002  //   A limit was exceeded.
  7003  //
  7004  //   * ServiceAccountException
  7005  //   There was a problem with the service account.
  7006  //
  7007  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRun
  7008  func (c *DeviceFarm) StopRun(input *StopRunInput) (*StopRunOutput, error) {
  7009  	req, out := c.StopRunRequest(input)
  7010  	return out, req.Send()
  7011  }
  7012  
  7013  // StopRunWithContext is the same as StopRun with the addition of
  7014  // the ability to pass a context and additional request options.
  7015  //
  7016  // See StopRun for details on how to use this API operation.
  7017  //
  7018  // The context must be non-nil and will be used for request cancellation. If
  7019  // the context is nil a panic will occur. In the future the SDK may create
  7020  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7021  // for more information on using Contexts.
  7022  func (c *DeviceFarm) StopRunWithContext(ctx aws.Context, input *StopRunInput, opts ...request.Option) (*StopRunOutput, error) {
  7023  	req, out := c.StopRunRequest(input)
  7024  	req.SetContext(ctx)
  7025  	req.ApplyOptions(opts...)
  7026  	return out, req.Send()
  7027  }
  7028  
  7029  const opTagResource = "TagResource"
  7030  
  7031  // TagResourceRequest generates a "aws/request.Request" representing the
  7032  // client's request for the TagResource operation. The "output" return
  7033  // value will be populated with the request's response once the request completes
  7034  // successfully.
  7035  //
  7036  // Use "Send" method on the returned Request to send the API call to the service.
  7037  // the "output" return value is not valid until after Send returns without error.
  7038  //
  7039  // See TagResource for more information on using the TagResource
  7040  // API call, and error handling.
  7041  //
  7042  // This method is useful when you want to inject custom logic or configuration
  7043  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7044  //
  7045  //
  7046  //    // Example sending a request using the TagResourceRequest method.
  7047  //    req, resp := client.TagResourceRequest(params)
  7048  //
  7049  //    err := req.Send()
  7050  //    if err == nil { // resp is now filled
  7051  //        fmt.Println(resp)
  7052  //    }
  7053  //
  7054  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/TagResource
  7055  func (c *DeviceFarm) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  7056  	op := &request.Operation{
  7057  		Name:       opTagResource,
  7058  		HTTPMethod: "POST",
  7059  		HTTPPath:   "/",
  7060  	}
  7061  
  7062  	if input == nil {
  7063  		input = &TagResourceInput{}
  7064  	}
  7065  
  7066  	output = &TagResourceOutput{}
  7067  	req = c.newRequest(op, input, output)
  7068  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7069  	return
  7070  }
  7071  
  7072  // TagResource API operation for AWS Device Farm.
  7073  //
  7074  // Associates the specified tags to a resource with the specified resourceArn.
  7075  // If existing tags on a resource are not specified in the request parameters,
  7076  // they are not changed. When a resource is deleted, the tags associated with
  7077  // that resource are also deleted.
  7078  //
  7079  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7080  // with awserr.Error's Code and Message methods to get detailed information about
  7081  // the error.
  7082  //
  7083  // See the AWS API reference guide for AWS Device Farm's
  7084  // API operation TagResource for usage and error information.
  7085  //
  7086  // Returned Error Types:
  7087  //   * ArgumentException
  7088  //   An invalid argument was specified.
  7089  //
  7090  //   * NotFoundException
  7091  //   The specified entity was not found.
  7092  //
  7093  //   * TagOperationException
  7094  //   The operation was not successful. Try again.
  7095  //
  7096  //   * TooManyTagsException
  7097  //   The list of tags on the repository is over the limit. The maximum number
  7098  //   of tags that can be applied to a repository is 50.
  7099  //
  7100  //   * TagPolicyException
  7101  //   The request doesn't comply with the AWS Identity and Access Management (IAM)
  7102  //   tag policy. Correct your request and then retry it.
  7103  //
  7104  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/TagResource
  7105  func (c *DeviceFarm) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  7106  	req, out := c.TagResourceRequest(input)
  7107  	return out, req.Send()
  7108  }
  7109  
  7110  // TagResourceWithContext is the same as TagResource with the addition of
  7111  // the ability to pass a context and additional request options.
  7112  //
  7113  // See TagResource for details on how to use this API operation.
  7114  //
  7115  // The context must be non-nil and will be used for request cancellation. If
  7116  // the context is nil a panic will occur. In the future the SDK may create
  7117  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7118  // for more information on using Contexts.
  7119  func (c *DeviceFarm) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  7120  	req, out := c.TagResourceRequest(input)
  7121  	req.SetContext(ctx)
  7122  	req.ApplyOptions(opts...)
  7123  	return out, req.Send()
  7124  }
  7125  
  7126  const opUntagResource = "UntagResource"
  7127  
  7128  // UntagResourceRequest generates a "aws/request.Request" representing the
  7129  // client's request for the UntagResource operation. The "output" return
  7130  // value will be populated with the request's response once the request completes
  7131  // successfully.
  7132  //
  7133  // Use "Send" method on the returned Request to send the API call to the service.
  7134  // the "output" return value is not valid until after Send returns without error.
  7135  //
  7136  // See UntagResource for more information on using the UntagResource
  7137  // API call, and error handling.
  7138  //
  7139  // This method is useful when you want to inject custom logic or configuration
  7140  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7141  //
  7142  //
  7143  //    // Example sending a request using the UntagResourceRequest method.
  7144  //    req, resp := client.UntagResourceRequest(params)
  7145  //
  7146  //    err := req.Send()
  7147  //    if err == nil { // resp is now filled
  7148  //        fmt.Println(resp)
  7149  //    }
  7150  //
  7151  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UntagResource
  7152  func (c *DeviceFarm) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  7153  	op := &request.Operation{
  7154  		Name:       opUntagResource,
  7155  		HTTPMethod: "POST",
  7156  		HTTPPath:   "/",
  7157  	}
  7158  
  7159  	if input == nil {
  7160  		input = &UntagResourceInput{}
  7161  	}
  7162  
  7163  	output = &UntagResourceOutput{}
  7164  	req = c.newRequest(op, input, output)
  7165  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7166  	return
  7167  }
  7168  
  7169  // UntagResource API operation for AWS Device Farm.
  7170  //
  7171  // Deletes the specified tags from a resource.
  7172  //
  7173  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7174  // with awserr.Error's Code and Message methods to get detailed information about
  7175  // the error.
  7176  //
  7177  // See the AWS API reference guide for AWS Device Farm's
  7178  // API operation UntagResource for usage and error information.
  7179  //
  7180  // Returned Error Types:
  7181  //   * ArgumentException
  7182  //   An invalid argument was specified.
  7183  //
  7184  //   * NotFoundException
  7185  //   The specified entity was not found.
  7186  //
  7187  //   * TagOperationException
  7188  //   The operation was not successful. Try again.
  7189  //
  7190  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UntagResource
  7191  func (c *DeviceFarm) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  7192  	req, out := c.UntagResourceRequest(input)
  7193  	return out, req.Send()
  7194  }
  7195  
  7196  // UntagResourceWithContext is the same as UntagResource with the addition of
  7197  // the ability to pass a context and additional request options.
  7198  //
  7199  // See UntagResource for details on how to use this API operation.
  7200  //
  7201  // The context must be non-nil and will be used for request cancellation. If
  7202  // the context is nil a panic will occur. In the future the SDK may create
  7203  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7204  // for more information on using Contexts.
  7205  func (c *DeviceFarm) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  7206  	req, out := c.UntagResourceRequest(input)
  7207  	req.SetContext(ctx)
  7208  	req.ApplyOptions(opts...)
  7209  	return out, req.Send()
  7210  }
  7211  
  7212  const opUpdateDeviceInstance = "UpdateDeviceInstance"
  7213  
  7214  // UpdateDeviceInstanceRequest generates a "aws/request.Request" representing the
  7215  // client's request for the UpdateDeviceInstance operation. The "output" return
  7216  // value will be populated with the request's response once the request completes
  7217  // successfully.
  7218  //
  7219  // Use "Send" method on the returned Request to send the API call to the service.
  7220  // the "output" return value is not valid until after Send returns without error.
  7221  //
  7222  // See UpdateDeviceInstance for more information on using the UpdateDeviceInstance
  7223  // API call, and error handling.
  7224  //
  7225  // This method is useful when you want to inject custom logic or configuration
  7226  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7227  //
  7228  //
  7229  //    // Example sending a request using the UpdateDeviceInstanceRequest method.
  7230  //    req, resp := client.UpdateDeviceInstanceRequest(params)
  7231  //
  7232  //    err := req.Send()
  7233  //    if err == nil { // resp is now filled
  7234  //        fmt.Println(resp)
  7235  //    }
  7236  //
  7237  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDeviceInstance
  7238  func (c *DeviceFarm) UpdateDeviceInstanceRequest(input *UpdateDeviceInstanceInput) (req *request.Request, output *UpdateDeviceInstanceOutput) {
  7239  	op := &request.Operation{
  7240  		Name:       opUpdateDeviceInstance,
  7241  		HTTPMethod: "POST",
  7242  		HTTPPath:   "/",
  7243  	}
  7244  
  7245  	if input == nil {
  7246  		input = &UpdateDeviceInstanceInput{}
  7247  	}
  7248  
  7249  	output = &UpdateDeviceInstanceOutput{}
  7250  	req = c.newRequest(op, input, output)
  7251  	return
  7252  }
  7253  
  7254  // UpdateDeviceInstance API operation for AWS Device Farm.
  7255  //
  7256  // Updates information about a private device instance.
  7257  //
  7258  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7259  // with awserr.Error's Code and Message methods to get detailed information about
  7260  // the error.
  7261  //
  7262  // See the AWS API reference guide for AWS Device Farm's
  7263  // API operation UpdateDeviceInstance for usage and error information.
  7264  //
  7265  // Returned Error Types:
  7266  //   * ArgumentException
  7267  //   An invalid argument was specified.
  7268  //
  7269  //   * NotFoundException
  7270  //   The specified entity was not found.
  7271  //
  7272  //   * LimitExceededException
  7273  //   A limit was exceeded.
  7274  //
  7275  //   * ServiceAccountException
  7276  //   There was a problem with the service account.
  7277  //
  7278  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDeviceInstance
  7279  func (c *DeviceFarm) UpdateDeviceInstance(input *UpdateDeviceInstanceInput) (*UpdateDeviceInstanceOutput, error) {
  7280  	req, out := c.UpdateDeviceInstanceRequest(input)
  7281  	return out, req.Send()
  7282  }
  7283  
  7284  // UpdateDeviceInstanceWithContext is the same as UpdateDeviceInstance with the addition of
  7285  // the ability to pass a context and additional request options.
  7286  //
  7287  // See UpdateDeviceInstance for details on how to use this API operation.
  7288  //
  7289  // The context must be non-nil and will be used for request cancellation. If
  7290  // the context is nil a panic will occur. In the future the SDK may create
  7291  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7292  // for more information on using Contexts.
  7293  func (c *DeviceFarm) UpdateDeviceInstanceWithContext(ctx aws.Context, input *UpdateDeviceInstanceInput, opts ...request.Option) (*UpdateDeviceInstanceOutput, error) {
  7294  	req, out := c.UpdateDeviceInstanceRequest(input)
  7295  	req.SetContext(ctx)
  7296  	req.ApplyOptions(opts...)
  7297  	return out, req.Send()
  7298  }
  7299  
  7300  const opUpdateDevicePool = "UpdateDevicePool"
  7301  
  7302  // UpdateDevicePoolRequest generates a "aws/request.Request" representing the
  7303  // client's request for the UpdateDevicePool operation. The "output" return
  7304  // value will be populated with the request's response once the request completes
  7305  // successfully.
  7306  //
  7307  // Use "Send" method on the returned Request to send the API call to the service.
  7308  // the "output" return value is not valid until after Send returns without error.
  7309  //
  7310  // See UpdateDevicePool for more information on using the UpdateDevicePool
  7311  // API call, and error handling.
  7312  //
  7313  // This method is useful when you want to inject custom logic or configuration
  7314  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7315  //
  7316  //
  7317  //    // Example sending a request using the UpdateDevicePoolRequest method.
  7318  //    req, resp := client.UpdateDevicePoolRequest(params)
  7319  //
  7320  //    err := req.Send()
  7321  //    if err == nil { // resp is now filled
  7322  //        fmt.Println(resp)
  7323  //    }
  7324  //
  7325  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDevicePool
  7326  func (c *DeviceFarm) UpdateDevicePoolRequest(input *UpdateDevicePoolInput) (req *request.Request, output *UpdateDevicePoolOutput) {
  7327  	op := &request.Operation{
  7328  		Name:       opUpdateDevicePool,
  7329  		HTTPMethod: "POST",
  7330  		HTTPPath:   "/",
  7331  	}
  7332  
  7333  	if input == nil {
  7334  		input = &UpdateDevicePoolInput{}
  7335  	}
  7336  
  7337  	output = &UpdateDevicePoolOutput{}
  7338  	req = c.newRequest(op, input, output)
  7339  	return
  7340  }
  7341  
  7342  // UpdateDevicePool API operation for AWS Device Farm.
  7343  //
  7344  // Modifies the name, description, and rules in a device pool given the attributes
  7345  // and the pool ARN. Rule updates are all-or-nothing, meaning they can only
  7346  // be updated as a whole (or not at all).
  7347  //
  7348  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7349  // with awserr.Error's Code and Message methods to get detailed information about
  7350  // the error.
  7351  //
  7352  // See the AWS API reference guide for AWS Device Farm's
  7353  // API operation UpdateDevicePool for usage and error information.
  7354  //
  7355  // Returned Error Types:
  7356  //   * ArgumentException
  7357  //   An invalid argument was specified.
  7358  //
  7359  //   * NotFoundException
  7360  //   The specified entity was not found.
  7361  //
  7362  //   * LimitExceededException
  7363  //   A limit was exceeded.
  7364  //
  7365  //   * ServiceAccountException
  7366  //   There was a problem with the service account.
  7367  //
  7368  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDevicePool
  7369  func (c *DeviceFarm) UpdateDevicePool(input *UpdateDevicePoolInput) (*UpdateDevicePoolOutput, error) {
  7370  	req, out := c.UpdateDevicePoolRequest(input)
  7371  	return out, req.Send()
  7372  }
  7373  
  7374  // UpdateDevicePoolWithContext is the same as UpdateDevicePool with the addition of
  7375  // the ability to pass a context and additional request options.
  7376  //
  7377  // See UpdateDevicePool for details on how to use this API operation.
  7378  //
  7379  // The context must be non-nil and will be used for request cancellation. If
  7380  // the context is nil a panic will occur. In the future the SDK may create
  7381  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7382  // for more information on using Contexts.
  7383  func (c *DeviceFarm) UpdateDevicePoolWithContext(ctx aws.Context, input *UpdateDevicePoolInput, opts ...request.Option) (*UpdateDevicePoolOutput, error) {
  7384  	req, out := c.UpdateDevicePoolRequest(input)
  7385  	req.SetContext(ctx)
  7386  	req.ApplyOptions(opts...)
  7387  	return out, req.Send()
  7388  }
  7389  
  7390  const opUpdateInstanceProfile = "UpdateInstanceProfile"
  7391  
  7392  // UpdateInstanceProfileRequest generates a "aws/request.Request" representing the
  7393  // client's request for the UpdateInstanceProfile operation. The "output" return
  7394  // value will be populated with the request's response once the request completes
  7395  // successfully.
  7396  //
  7397  // Use "Send" method on the returned Request to send the API call to the service.
  7398  // the "output" return value is not valid until after Send returns without error.
  7399  //
  7400  // See UpdateInstanceProfile for more information on using the UpdateInstanceProfile
  7401  // API call, and error handling.
  7402  //
  7403  // This method is useful when you want to inject custom logic or configuration
  7404  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7405  //
  7406  //
  7407  //    // Example sending a request using the UpdateInstanceProfileRequest method.
  7408  //    req, resp := client.UpdateInstanceProfileRequest(params)
  7409  //
  7410  //    err := req.Send()
  7411  //    if err == nil { // resp is now filled
  7412  //        fmt.Println(resp)
  7413  //    }
  7414  //
  7415  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateInstanceProfile
  7416  func (c *DeviceFarm) UpdateInstanceProfileRequest(input *UpdateInstanceProfileInput) (req *request.Request, output *UpdateInstanceProfileOutput) {
  7417  	op := &request.Operation{
  7418  		Name:       opUpdateInstanceProfile,
  7419  		HTTPMethod: "POST",
  7420  		HTTPPath:   "/",
  7421  	}
  7422  
  7423  	if input == nil {
  7424  		input = &UpdateInstanceProfileInput{}
  7425  	}
  7426  
  7427  	output = &UpdateInstanceProfileOutput{}
  7428  	req = c.newRequest(op, input, output)
  7429  	return
  7430  }
  7431  
  7432  // UpdateInstanceProfile API operation for AWS Device Farm.
  7433  //
  7434  // Updates information about an existing private device instance profile.
  7435  //
  7436  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7437  // with awserr.Error's Code and Message methods to get detailed information about
  7438  // the error.
  7439  //
  7440  // See the AWS API reference guide for AWS Device Farm's
  7441  // API operation UpdateInstanceProfile for usage and error information.
  7442  //
  7443  // Returned Error Types:
  7444  //   * ArgumentException
  7445  //   An invalid argument was specified.
  7446  //
  7447  //   * NotFoundException
  7448  //   The specified entity was not found.
  7449  //
  7450  //   * LimitExceededException
  7451  //   A limit was exceeded.
  7452  //
  7453  //   * ServiceAccountException
  7454  //   There was a problem with the service account.
  7455  //
  7456  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateInstanceProfile
  7457  func (c *DeviceFarm) UpdateInstanceProfile(input *UpdateInstanceProfileInput) (*UpdateInstanceProfileOutput, error) {
  7458  	req, out := c.UpdateInstanceProfileRequest(input)
  7459  	return out, req.Send()
  7460  }
  7461  
  7462  // UpdateInstanceProfileWithContext is the same as UpdateInstanceProfile with the addition of
  7463  // the ability to pass a context and additional request options.
  7464  //
  7465  // See UpdateInstanceProfile for details on how to use this API operation.
  7466  //
  7467  // The context must be non-nil and will be used for request cancellation. If
  7468  // the context is nil a panic will occur. In the future the SDK may create
  7469  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7470  // for more information on using Contexts.
  7471  func (c *DeviceFarm) UpdateInstanceProfileWithContext(ctx aws.Context, input *UpdateInstanceProfileInput, opts ...request.Option) (*UpdateInstanceProfileOutput, error) {
  7472  	req, out := c.UpdateInstanceProfileRequest(input)
  7473  	req.SetContext(ctx)
  7474  	req.ApplyOptions(opts...)
  7475  	return out, req.Send()
  7476  }
  7477  
  7478  const opUpdateNetworkProfile = "UpdateNetworkProfile"
  7479  
  7480  // UpdateNetworkProfileRequest generates a "aws/request.Request" representing the
  7481  // client's request for the UpdateNetworkProfile operation. The "output" return
  7482  // value will be populated with the request's response once the request completes
  7483  // successfully.
  7484  //
  7485  // Use "Send" method on the returned Request to send the API call to the service.
  7486  // the "output" return value is not valid until after Send returns without error.
  7487  //
  7488  // See UpdateNetworkProfile for more information on using the UpdateNetworkProfile
  7489  // API call, and error handling.
  7490  //
  7491  // This method is useful when you want to inject custom logic or configuration
  7492  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7493  //
  7494  //
  7495  //    // Example sending a request using the UpdateNetworkProfileRequest method.
  7496  //    req, resp := client.UpdateNetworkProfileRequest(params)
  7497  //
  7498  //    err := req.Send()
  7499  //    if err == nil { // resp is now filled
  7500  //        fmt.Println(resp)
  7501  //    }
  7502  //
  7503  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateNetworkProfile
  7504  func (c *DeviceFarm) UpdateNetworkProfileRequest(input *UpdateNetworkProfileInput) (req *request.Request, output *UpdateNetworkProfileOutput) {
  7505  	op := &request.Operation{
  7506  		Name:       opUpdateNetworkProfile,
  7507  		HTTPMethod: "POST",
  7508  		HTTPPath:   "/",
  7509  	}
  7510  
  7511  	if input == nil {
  7512  		input = &UpdateNetworkProfileInput{}
  7513  	}
  7514  
  7515  	output = &UpdateNetworkProfileOutput{}
  7516  	req = c.newRequest(op, input, output)
  7517  	return
  7518  }
  7519  
  7520  // UpdateNetworkProfile API operation for AWS Device Farm.
  7521  //
  7522  // Updates the network profile.
  7523  //
  7524  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7525  // with awserr.Error's Code and Message methods to get detailed information about
  7526  // the error.
  7527  //
  7528  // See the AWS API reference guide for AWS Device Farm's
  7529  // API operation UpdateNetworkProfile for usage and error information.
  7530  //
  7531  // Returned Error Types:
  7532  //   * ArgumentException
  7533  //   An invalid argument was specified.
  7534  //
  7535  //   * NotFoundException
  7536  //   The specified entity was not found.
  7537  //
  7538  //   * LimitExceededException
  7539  //   A limit was exceeded.
  7540  //
  7541  //   * ServiceAccountException
  7542  //   There was a problem with the service account.
  7543  //
  7544  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateNetworkProfile
  7545  func (c *DeviceFarm) UpdateNetworkProfile(input *UpdateNetworkProfileInput) (*UpdateNetworkProfileOutput, error) {
  7546  	req, out := c.UpdateNetworkProfileRequest(input)
  7547  	return out, req.Send()
  7548  }
  7549  
  7550  // UpdateNetworkProfileWithContext is the same as UpdateNetworkProfile with the addition of
  7551  // the ability to pass a context and additional request options.
  7552  //
  7553  // See UpdateNetworkProfile for details on how to use this API operation.
  7554  //
  7555  // The context must be non-nil and will be used for request cancellation. If
  7556  // the context is nil a panic will occur. In the future the SDK may create
  7557  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7558  // for more information on using Contexts.
  7559  func (c *DeviceFarm) UpdateNetworkProfileWithContext(ctx aws.Context, input *UpdateNetworkProfileInput, opts ...request.Option) (*UpdateNetworkProfileOutput, error) {
  7560  	req, out := c.UpdateNetworkProfileRequest(input)
  7561  	req.SetContext(ctx)
  7562  	req.ApplyOptions(opts...)
  7563  	return out, req.Send()
  7564  }
  7565  
  7566  const opUpdateProject = "UpdateProject"
  7567  
  7568  // UpdateProjectRequest generates a "aws/request.Request" representing the
  7569  // client's request for the UpdateProject operation. The "output" return
  7570  // value will be populated with the request's response once the request completes
  7571  // successfully.
  7572  //
  7573  // Use "Send" method on the returned Request to send the API call to the service.
  7574  // the "output" return value is not valid until after Send returns without error.
  7575  //
  7576  // See UpdateProject for more information on using the UpdateProject
  7577  // API call, and error handling.
  7578  //
  7579  // This method is useful when you want to inject custom logic or configuration
  7580  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7581  //
  7582  //
  7583  //    // Example sending a request using the UpdateProjectRequest method.
  7584  //    req, resp := client.UpdateProjectRequest(params)
  7585  //
  7586  //    err := req.Send()
  7587  //    if err == nil { // resp is now filled
  7588  //        fmt.Println(resp)
  7589  //    }
  7590  //
  7591  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateProject
  7592  func (c *DeviceFarm) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) {
  7593  	op := &request.Operation{
  7594  		Name:       opUpdateProject,
  7595  		HTTPMethod: "POST",
  7596  		HTTPPath:   "/",
  7597  	}
  7598  
  7599  	if input == nil {
  7600  		input = &UpdateProjectInput{}
  7601  	}
  7602  
  7603  	output = &UpdateProjectOutput{}
  7604  	req = c.newRequest(op, input, output)
  7605  	return
  7606  }
  7607  
  7608  // UpdateProject API operation for AWS Device Farm.
  7609  //
  7610  // Modifies the specified project name, given the project ARN and a new name.
  7611  //
  7612  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7613  // with awserr.Error's Code and Message methods to get detailed information about
  7614  // the error.
  7615  //
  7616  // See the AWS API reference guide for AWS Device Farm's
  7617  // API operation UpdateProject for usage and error information.
  7618  //
  7619  // Returned Error Types:
  7620  //   * ArgumentException
  7621  //   An invalid argument was specified.
  7622  //
  7623  //   * NotFoundException
  7624  //   The specified entity was not found.
  7625  //
  7626  //   * LimitExceededException
  7627  //   A limit was exceeded.
  7628  //
  7629  //   * ServiceAccountException
  7630  //   There was a problem with the service account.
  7631  //
  7632  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateProject
  7633  func (c *DeviceFarm) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) {
  7634  	req, out := c.UpdateProjectRequest(input)
  7635  	return out, req.Send()
  7636  }
  7637  
  7638  // UpdateProjectWithContext is the same as UpdateProject with the addition of
  7639  // the ability to pass a context and additional request options.
  7640  //
  7641  // See UpdateProject for details on how to use this API operation.
  7642  //
  7643  // The context must be non-nil and will be used for request cancellation. If
  7644  // the context is nil a panic will occur. In the future the SDK may create
  7645  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7646  // for more information on using Contexts.
  7647  func (c *DeviceFarm) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) {
  7648  	req, out := c.UpdateProjectRequest(input)
  7649  	req.SetContext(ctx)
  7650  	req.ApplyOptions(opts...)
  7651  	return out, req.Send()
  7652  }
  7653  
  7654  const opUpdateTestGridProject = "UpdateTestGridProject"
  7655  
  7656  // UpdateTestGridProjectRequest generates a "aws/request.Request" representing the
  7657  // client's request for the UpdateTestGridProject operation. The "output" return
  7658  // value will be populated with the request's response once the request completes
  7659  // successfully.
  7660  //
  7661  // Use "Send" method on the returned Request to send the API call to the service.
  7662  // the "output" return value is not valid until after Send returns without error.
  7663  //
  7664  // See UpdateTestGridProject for more information on using the UpdateTestGridProject
  7665  // API call, and error handling.
  7666  //
  7667  // This method is useful when you want to inject custom logic or configuration
  7668  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7669  //
  7670  //
  7671  //    // Example sending a request using the UpdateTestGridProjectRequest method.
  7672  //    req, resp := client.UpdateTestGridProjectRequest(params)
  7673  //
  7674  //    err := req.Send()
  7675  //    if err == nil { // resp is now filled
  7676  //        fmt.Println(resp)
  7677  //    }
  7678  //
  7679  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateTestGridProject
  7680  func (c *DeviceFarm) UpdateTestGridProjectRequest(input *UpdateTestGridProjectInput) (req *request.Request, output *UpdateTestGridProjectOutput) {
  7681  	op := &request.Operation{
  7682  		Name:       opUpdateTestGridProject,
  7683  		HTTPMethod: "POST",
  7684  		HTTPPath:   "/",
  7685  	}
  7686  
  7687  	if input == nil {
  7688  		input = &UpdateTestGridProjectInput{}
  7689  	}
  7690  
  7691  	output = &UpdateTestGridProjectOutput{}
  7692  	req = c.newRequest(op, input, output)
  7693  	return
  7694  }
  7695  
  7696  // UpdateTestGridProject API operation for AWS Device Farm.
  7697  //
  7698  // Change details of a project.
  7699  //
  7700  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7701  // with awserr.Error's Code and Message methods to get detailed information about
  7702  // the error.
  7703  //
  7704  // See the AWS API reference guide for AWS Device Farm's
  7705  // API operation UpdateTestGridProject for usage and error information.
  7706  //
  7707  // Returned Error Types:
  7708  //   * NotFoundException
  7709  //   The specified entity was not found.
  7710  //
  7711  //   * ArgumentException
  7712  //   An invalid argument was specified.
  7713  //
  7714  //   * LimitExceededException
  7715  //   A limit was exceeded.
  7716  //
  7717  //   * InternalServiceException
  7718  //   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
  7719  //   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
  7720  //
  7721  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateTestGridProject
  7722  func (c *DeviceFarm) UpdateTestGridProject(input *UpdateTestGridProjectInput) (*UpdateTestGridProjectOutput, error) {
  7723  	req, out := c.UpdateTestGridProjectRequest(input)
  7724  	return out, req.Send()
  7725  }
  7726  
  7727  // UpdateTestGridProjectWithContext is the same as UpdateTestGridProject with the addition of
  7728  // the ability to pass a context and additional request options.
  7729  //
  7730  // See UpdateTestGridProject for details on how to use this API operation.
  7731  //
  7732  // The context must be non-nil and will be used for request cancellation. If
  7733  // the context is nil a panic will occur. In the future the SDK may create
  7734  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7735  // for more information on using Contexts.
  7736  func (c *DeviceFarm) UpdateTestGridProjectWithContext(ctx aws.Context, input *UpdateTestGridProjectInput, opts ...request.Option) (*UpdateTestGridProjectOutput, error) {
  7737  	req, out := c.UpdateTestGridProjectRequest(input)
  7738  	req.SetContext(ctx)
  7739  	req.ApplyOptions(opts...)
  7740  	return out, req.Send()
  7741  }
  7742  
  7743  const opUpdateUpload = "UpdateUpload"
  7744  
  7745  // UpdateUploadRequest generates a "aws/request.Request" representing the
  7746  // client's request for the UpdateUpload operation. The "output" return
  7747  // value will be populated with the request's response once the request completes
  7748  // successfully.
  7749  //
  7750  // Use "Send" method on the returned Request to send the API call to the service.
  7751  // the "output" return value is not valid until after Send returns without error.
  7752  //
  7753  // See UpdateUpload for more information on using the UpdateUpload
  7754  // API call, and error handling.
  7755  //
  7756  // This method is useful when you want to inject custom logic or configuration
  7757  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7758  //
  7759  //
  7760  //    // Example sending a request using the UpdateUploadRequest method.
  7761  //    req, resp := client.UpdateUploadRequest(params)
  7762  //
  7763  //    err := req.Send()
  7764  //    if err == nil { // resp is now filled
  7765  //        fmt.Println(resp)
  7766  //    }
  7767  //
  7768  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateUpload
  7769  func (c *DeviceFarm) UpdateUploadRequest(input *UpdateUploadInput) (req *request.Request, output *UpdateUploadOutput) {
  7770  	op := &request.Operation{
  7771  		Name:       opUpdateUpload,
  7772  		HTTPMethod: "POST",
  7773  		HTTPPath:   "/",
  7774  	}
  7775  
  7776  	if input == nil {
  7777  		input = &UpdateUploadInput{}
  7778  	}
  7779  
  7780  	output = &UpdateUploadOutput{}
  7781  	req = c.newRequest(op, input, output)
  7782  	return
  7783  }
  7784  
  7785  // UpdateUpload API operation for AWS Device Farm.
  7786  //
  7787  // Updates an uploaded test spec.
  7788  //
  7789  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7790  // with awserr.Error's Code and Message methods to get detailed information about
  7791  // the error.
  7792  //
  7793  // See the AWS API reference guide for AWS Device Farm's
  7794  // API operation UpdateUpload for usage and error information.
  7795  //
  7796  // Returned Error Types:
  7797  //   * ArgumentException
  7798  //   An invalid argument was specified.
  7799  //
  7800  //   * NotFoundException
  7801  //   The specified entity was not found.
  7802  //
  7803  //   * LimitExceededException
  7804  //   A limit was exceeded.
  7805  //
  7806  //   * ServiceAccountException
  7807  //   There was a problem with the service account.
  7808  //
  7809  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateUpload
  7810  func (c *DeviceFarm) UpdateUpload(input *UpdateUploadInput) (*UpdateUploadOutput, error) {
  7811  	req, out := c.UpdateUploadRequest(input)
  7812  	return out, req.Send()
  7813  }
  7814  
  7815  // UpdateUploadWithContext is the same as UpdateUpload with the addition of
  7816  // the ability to pass a context and additional request options.
  7817  //
  7818  // See UpdateUpload for details on how to use this API operation.
  7819  //
  7820  // The context must be non-nil and will be used for request cancellation. If
  7821  // the context is nil a panic will occur. In the future the SDK may create
  7822  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7823  // for more information on using Contexts.
  7824  func (c *DeviceFarm) UpdateUploadWithContext(ctx aws.Context, input *UpdateUploadInput, opts ...request.Option) (*UpdateUploadOutput, error) {
  7825  	req, out := c.UpdateUploadRequest(input)
  7826  	req.SetContext(ctx)
  7827  	req.ApplyOptions(opts...)
  7828  	return out, req.Send()
  7829  }
  7830  
  7831  const opUpdateVPCEConfiguration = "UpdateVPCEConfiguration"
  7832  
  7833  // UpdateVPCEConfigurationRequest generates a "aws/request.Request" representing the
  7834  // client's request for the UpdateVPCEConfiguration operation. The "output" return
  7835  // value will be populated with the request's response once the request completes
  7836  // successfully.
  7837  //
  7838  // Use "Send" method on the returned Request to send the API call to the service.
  7839  // the "output" return value is not valid until after Send returns without error.
  7840  //
  7841  // See UpdateVPCEConfiguration for more information on using the UpdateVPCEConfiguration
  7842  // API call, and error handling.
  7843  //
  7844  // This method is useful when you want to inject custom logic or configuration
  7845  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7846  //
  7847  //
  7848  //    // Example sending a request using the UpdateVPCEConfigurationRequest method.
  7849  //    req, resp := client.UpdateVPCEConfigurationRequest(params)
  7850  //
  7851  //    err := req.Send()
  7852  //    if err == nil { // resp is now filled
  7853  //        fmt.Println(resp)
  7854  //    }
  7855  //
  7856  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateVPCEConfiguration
  7857  func (c *DeviceFarm) UpdateVPCEConfigurationRequest(input *UpdateVPCEConfigurationInput) (req *request.Request, output *UpdateVPCEConfigurationOutput) {
  7858  	op := &request.Operation{
  7859  		Name:       opUpdateVPCEConfiguration,
  7860  		HTTPMethod: "POST",
  7861  		HTTPPath:   "/",
  7862  	}
  7863  
  7864  	if input == nil {
  7865  		input = &UpdateVPCEConfigurationInput{}
  7866  	}
  7867  
  7868  	output = &UpdateVPCEConfigurationOutput{}
  7869  	req = c.newRequest(op, input, output)
  7870  	return
  7871  }
  7872  
  7873  // UpdateVPCEConfiguration API operation for AWS Device Farm.
  7874  //
  7875  // Updates information about an Amazon Virtual Private Cloud (VPC) endpoint
  7876  // configuration.
  7877  //
  7878  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7879  // with awserr.Error's Code and Message methods to get detailed information about
  7880  // the error.
  7881  //
  7882  // See the AWS API reference guide for AWS Device Farm's
  7883  // API operation UpdateVPCEConfiguration for usage and error information.
  7884  //
  7885  // Returned Error Types:
  7886  //   * ArgumentException
  7887  //   An invalid argument was specified.
  7888  //
  7889  //   * NotFoundException
  7890  //   The specified entity was not found.
  7891  //
  7892  //   * ServiceAccountException
  7893  //   There was a problem with the service account.
  7894  //
  7895  //   * InvalidOperationException
  7896  //   There was an error with the update request, or you do not have sufficient
  7897  //   permissions to update this VPC endpoint configuration.
  7898  //
  7899  // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateVPCEConfiguration
  7900  func (c *DeviceFarm) UpdateVPCEConfiguration(input *UpdateVPCEConfigurationInput) (*UpdateVPCEConfigurationOutput, error) {
  7901  	req, out := c.UpdateVPCEConfigurationRequest(input)
  7902  	return out, req.Send()
  7903  }
  7904  
  7905  // UpdateVPCEConfigurationWithContext is the same as UpdateVPCEConfiguration with the addition of
  7906  // the ability to pass a context and additional request options.
  7907  //
  7908  // See UpdateVPCEConfiguration for details on how to use this API operation.
  7909  //
  7910  // The context must be non-nil and will be used for request cancellation. If
  7911  // the context is nil a panic will occur. In the future the SDK may create
  7912  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7913  // for more information on using Contexts.
  7914  func (c *DeviceFarm) UpdateVPCEConfigurationWithContext(ctx aws.Context, input *UpdateVPCEConfigurationInput, opts ...request.Option) (*UpdateVPCEConfigurationOutput, error) {
  7915  	req, out := c.UpdateVPCEConfigurationRequest(input)
  7916  	req.SetContext(ctx)
  7917  	req.ApplyOptions(opts...)
  7918  	return out, req.Send()
  7919  }
  7920  
  7921  // A container for account-level settings in AWS Device Farm.
  7922  type AccountSettings struct {
  7923  	_ struct{} `type:"structure"`
  7924  
  7925  	// The AWS account number specified in the AccountSettings container.
  7926  	AwsAccountNumber *string `locationName:"awsAccountNumber" min:"2" type:"string"`
  7927  
  7928  	// The default number of minutes (at the account level) a test run executes
  7929  	// before it times out. The default value is 150 minutes.
  7930  	DefaultJobTimeoutMinutes *int64 `locationName:"defaultJobTimeoutMinutes" type:"integer"`
  7931  
  7932  	// The maximum number of minutes a test run executes before it times out.
  7933  	MaxJobTimeoutMinutes *int64 `locationName:"maxJobTimeoutMinutes" type:"integer"`
  7934  
  7935  	// The maximum number of device slots that the AWS account can purchase. Each
  7936  	// maximum is expressed as an offering-id:number pair, where the offering-id
  7937  	// represents one of the IDs returned by the ListOfferings command.
  7938  	MaxSlots map[string]*int64 `locationName:"maxSlots" type:"map"`
  7939  
  7940  	// When set to true, for private devices, Device Farm does not sign your app
  7941  	// again. For public devices, Device Farm always signs your apps again.
  7942  	//
  7943  	// For more information about how Device Farm re-signs your apps, see Do you
  7944  	// modify my app? (https://aws.amazon.com/device-farm/faq/) in the AWS Device
  7945  	// Farm FAQs.
  7946  	SkipAppResign *bool `locationName:"skipAppResign" type:"boolean"`
  7947  
  7948  	// Information about an AWS account's usage of free trial device minutes.
  7949  	TrialMinutes *TrialMinutes `locationName:"trialMinutes" type:"structure"`
  7950  
  7951  	// Returns the unmetered devices you have purchased or want to purchase.
  7952  	UnmeteredDevices map[string]*int64 `locationName:"unmeteredDevices" type:"map"`
  7953  
  7954  	// Returns the unmetered remote access devices you have purchased or want to
  7955  	// purchase.
  7956  	UnmeteredRemoteAccessDevices map[string]*int64 `locationName:"unmeteredRemoteAccessDevices" type:"map"`
  7957  }
  7958  
  7959  // String returns the string representation.
  7960  //
  7961  // API parameter values that are decorated as "sensitive" in the API will not
  7962  // be included in the string output. The member name will be present, but the
  7963  // value will be replaced with "sensitive".
  7964  func (s AccountSettings) String() string {
  7965  	return awsutil.Prettify(s)
  7966  }
  7967  
  7968  // GoString returns the string representation.
  7969  //
  7970  // API parameter values that are decorated as "sensitive" in the API will not
  7971  // be included in the string output. The member name will be present, but the
  7972  // value will be replaced with "sensitive".
  7973  func (s AccountSettings) GoString() string {
  7974  	return s.String()
  7975  }
  7976  
  7977  // SetAwsAccountNumber sets the AwsAccountNumber field's value.
  7978  func (s *AccountSettings) SetAwsAccountNumber(v string) *AccountSettings {
  7979  	s.AwsAccountNumber = &v
  7980  	return s
  7981  }
  7982  
  7983  // SetDefaultJobTimeoutMinutes sets the DefaultJobTimeoutMinutes field's value.
  7984  func (s *AccountSettings) SetDefaultJobTimeoutMinutes(v int64) *AccountSettings {
  7985  	s.DefaultJobTimeoutMinutes = &v
  7986  	return s
  7987  }
  7988  
  7989  // SetMaxJobTimeoutMinutes sets the MaxJobTimeoutMinutes field's value.
  7990  func (s *AccountSettings) SetMaxJobTimeoutMinutes(v int64) *AccountSettings {
  7991  	s.MaxJobTimeoutMinutes = &v
  7992  	return s
  7993  }
  7994  
  7995  // SetMaxSlots sets the MaxSlots field's value.
  7996  func (s *AccountSettings) SetMaxSlots(v map[string]*int64) *AccountSettings {
  7997  	s.MaxSlots = v
  7998  	return s
  7999  }
  8000  
  8001  // SetSkipAppResign sets the SkipAppResign field's value.
  8002  func (s *AccountSettings) SetSkipAppResign(v bool) *AccountSettings {
  8003  	s.SkipAppResign = &v
  8004  	return s
  8005  }
  8006  
  8007  // SetTrialMinutes sets the TrialMinutes field's value.
  8008  func (s *AccountSettings) SetTrialMinutes(v *TrialMinutes) *AccountSettings {
  8009  	s.TrialMinutes = v
  8010  	return s
  8011  }
  8012  
  8013  // SetUnmeteredDevices sets the UnmeteredDevices field's value.
  8014  func (s *AccountSettings) SetUnmeteredDevices(v map[string]*int64) *AccountSettings {
  8015  	s.UnmeteredDevices = v
  8016  	return s
  8017  }
  8018  
  8019  // SetUnmeteredRemoteAccessDevices sets the UnmeteredRemoteAccessDevices field's value.
  8020  func (s *AccountSettings) SetUnmeteredRemoteAccessDevices(v map[string]*int64) *AccountSettings {
  8021  	s.UnmeteredRemoteAccessDevices = v
  8022  	return s
  8023  }
  8024  
  8025  // An invalid argument was specified.
  8026  type ArgumentException struct {
  8027  	_            struct{}                  `type:"structure"`
  8028  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8029  
  8030  	// Any additional information about the exception.
  8031  	Message_ *string `locationName:"message" type:"string"`
  8032  }
  8033  
  8034  // String returns the string representation.
  8035  //
  8036  // API parameter values that are decorated as "sensitive" in the API will not
  8037  // be included in the string output. The member name will be present, but the
  8038  // value will be replaced with "sensitive".
  8039  func (s ArgumentException) String() string {
  8040  	return awsutil.Prettify(s)
  8041  }
  8042  
  8043  // GoString returns the string representation.
  8044  //
  8045  // API parameter values that are decorated as "sensitive" in the API will not
  8046  // be included in the string output. The member name will be present, but the
  8047  // value will be replaced with "sensitive".
  8048  func (s ArgumentException) GoString() string {
  8049  	return s.String()
  8050  }
  8051  
  8052  func newErrorArgumentException(v protocol.ResponseMetadata) error {
  8053  	return &ArgumentException{
  8054  		RespMetadata: v,
  8055  	}
  8056  }
  8057  
  8058  // Code returns the exception type name.
  8059  func (s *ArgumentException) Code() string {
  8060  	return "ArgumentException"
  8061  }
  8062  
  8063  // Message returns the exception's message.
  8064  func (s *ArgumentException) Message() string {
  8065  	if s.Message_ != nil {
  8066  		return *s.Message_
  8067  	}
  8068  	return ""
  8069  }
  8070  
  8071  // OrigErr always returns nil, satisfies awserr.Error interface.
  8072  func (s *ArgumentException) OrigErr() error {
  8073  	return nil
  8074  }
  8075  
  8076  func (s *ArgumentException) Error() string {
  8077  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8078  }
  8079  
  8080  // Status code returns the HTTP status code for the request's response error.
  8081  func (s *ArgumentException) StatusCode() int {
  8082  	return s.RespMetadata.StatusCode
  8083  }
  8084  
  8085  // RequestID returns the service's response RequestID for request.
  8086  func (s *ArgumentException) RequestID() string {
  8087  	return s.RespMetadata.RequestID
  8088  }
  8089  
  8090  // Represents the output of a test. Examples of artifacts include logs and screenshots.
  8091  type Artifact struct {
  8092  	_ struct{} `type:"structure"`
  8093  
  8094  	// The artifact's ARN.
  8095  	Arn *string `locationName:"arn" min:"32" type:"string"`
  8096  
  8097  	// The artifact's file extension.
  8098  	Extension *string `locationName:"extension" type:"string"`
  8099  
  8100  	// The artifact's name.
  8101  	Name *string `locationName:"name" type:"string"`
  8102  
  8103  	// The artifact's type.
  8104  	//
  8105  	// Allowed values include the following:
  8106  	//
  8107  	//    * UNKNOWN
  8108  	//
  8109  	//    * SCREENSHOT
  8110  	//
  8111  	//    * DEVICE_LOG
  8112  	//
  8113  	//    * MESSAGE_LOG
  8114  	//
  8115  	//    * VIDEO_LOG
  8116  	//
  8117  	//    * RESULT_LOG
  8118  	//
  8119  	//    * SERVICE_LOG
  8120  	//
  8121  	//    * WEBKIT_LOG
  8122  	//
  8123  	//    * INSTRUMENTATION_OUTPUT
  8124  	//
  8125  	//    * EXERCISER_MONKEY_OUTPUT: the artifact (log) generated by an Android
  8126  	//    fuzz test.
  8127  	//
  8128  	//    * CALABASH_JSON_OUTPUT
  8129  	//
  8130  	//    * CALABASH_PRETTY_OUTPUT
  8131  	//
  8132  	//    * CALABASH_STANDARD_OUTPUT
  8133  	//
  8134  	//    * CALABASH_JAVA_XML_OUTPUT
  8135  	//
  8136  	//    * AUTOMATION_OUTPUT
  8137  	//
  8138  	//    * APPIUM_SERVER_OUTPUT
  8139  	//
  8140  	//    * APPIUM_JAVA_OUTPUT
  8141  	//
  8142  	//    * APPIUM_JAVA_XML_OUTPUT
  8143  	//
  8144  	//    * APPIUM_PYTHON_OUTPUT
  8145  	//
  8146  	//    * APPIUM_PYTHON_XML_OUTPUT
  8147  	//
  8148  	//    * EXPLORER_EVENT_LOG
  8149  	//
  8150  	//    * EXPLORER_SUMMARY_LOG
  8151  	//
  8152  	//    * APPLICATION_CRASH_REPORT
  8153  	//
  8154  	//    * XCTEST_LOG
  8155  	//
  8156  	//    * VIDEO
  8157  	//
  8158  	//    * CUSTOMER_ARTIFACT
  8159  	//
  8160  	//    * CUSTOMER_ARTIFACT_LOG
  8161  	//
  8162  	//    * TESTSPEC_OUTPUT
  8163  	Type *string `locationName:"type" type:"string" enum:"ArtifactType"`
  8164  
  8165  	// The presigned Amazon S3 URL that can be used with a GET request to download
  8166  	// the artifact's file.
  8167  	Url *string `locationName:"url" type:"string"`
  8168  }
  8169  
  8170  // String returns the string representation.
  8171  //
  8172  // API parameter values that are decorated as "sensitive" in the API will not
  8173  // be included in the string output. The member name will be present, but the
  8174  // value will be replaced with "sensitive".
  8175  func (s Artifact) String() string {
  8176  	return awsutil.Prettify(s)
  8177  }
  8178  
  8179  // GoString returns the string representation.
  8180  //
  8181  // API parameter values that are decorated as "sensitive" in the API will not
  8182  // be included in the string output. The member name will be present, but the
  8183  // value will be replaced with "sensitive".
  8184  func (s Artifact) GoString() string {
  8185  	return s.String()
  8186  }
  8187  
  8188  // SetArn sets the Arn field's value.
  8189  func (s *Artifact) SetArn(v string) *Artifact {
  8190  	s.Arn = &v
  8191  	return s
  8192  }
  8193  
  8194  // SetExtension sets the Extension field's value.
  8195  func (s *Artifact) SetExtension(v string) *Artifact {
  8196  	s.Extension = &v
  8197  	return s
  8198  }
  8199  
  8200  // SetName sets the Name field's value.
  8201  func (s *Artifact) SetName(v string) *Artifact {
  8202  	s.Name = &v
  8203  	return s
  8204  }
  8205  
  8206  // SetType sets the Type field's value.
  8207  func (s *Artifact) SetType(v string) *Artifact {
  8208  	s.Type = &v
  8209  	return s
  8210  }
  8211  
  8212  // SetUrl sets the Url field's value.
  8213  func (s *Artifact) SetUrl(v string) *Artifact {
  8214  	s.Url = &v
  8215  	return s
  8216  }
  8217  
  8218  // Represents the amount of CPU that an app is using on a physical device. Does
  8219  // not represent system-wide CPU usage.
  8220  type CPU struct {
  8221  	_ struct{} `type:"structure"`
  8222  
  8223  	// The CPU's architecture (for example, x86 or ARM).
  8224  	Architecture *string `locationName:"architecture" type:"string"`
  8225  
  8226  	// The clock speed of the device's CPU, expressed in hertz (Hz). For example,
  8227  	// a 1.2 GHz CPU is expressed as 1200000000.
  8228  	Clock *float64 `locationName:"clock" type:"double"`
  8229  
  8230  	// The CPU's frequency.
  8231  	Frequency *string `locationName:"frequency" type:"string"`
  8232  }
  8233  
  8234  // String returns the string representation.
  8235  //
  8236  // API parameter values that are decorated as "sensitive" in the API will not
  8237  // be included in the string output. The member name will be present, but the
  8238  // value will be replaced with "sensitive".
  8239  func (s CPU) String() string {
  8240  	return awsutil.Prettify(s)
  8241  }
  8242  
  8243  // GoString returns the string representation.
  8244  //
  8245  // API parameter values that are decorated as "sensitive" in the API will not
  8246  // be included in the string output. The member name will be present, but the
  8247  // value will be replaced with "sensitive".
  8248  func (s CPU) GoString() string {
  8249  	return s.String()
  8250  }
  8251  
  8252  // SetArchitecture sets the Architecture field's value.
  8253  func (s *CPU) SetArchitecture(v string) *CPU {
  8254  	s.Architecture = &v
  8255  	return s
  8256  }
  8257  
  8258  // SetClock sets the Clock field's value.
  8259  func (s *CPU) SetClock(v float64) *CPU {
  8260  	s.Clock = &v
  8261  	return s
  8262  }
  8263  
  8264  // SetFrequency sets the Frequency field's value.
  8265  func (s *CPU) SetFrequency(v string) *CPU {
  8266  	s.Frequency = &v
  8267  	return s
  8268  }
  8269  
  8270  // The requested object could not be deleted.
  8271  type CannotDeleteException struct {
  8272  	_            struct{}                  `type:"structure"`
  8273  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8274  
  8275  	Message_ *string `locationName:"message" type:"string"`
  8276  }
  8277  
  8278  // String returns the string representation.
  8279  //
  8280  // API parameter values that are decorated as "sensitive" in the API will not
  8281  // be included in the string output. The member name will be present, but the
  8282  // value will be replaced with "sensitive".
  8283  func (s CannotDeleteException) String() string {
  8284  	return awsutil.Prettify(s)
  8285  }
  8286  
  8287  // GoString returns the string representation.
  8288  //
  8289  // API parameter values that are decorated as "sensitive" in the API will not
  8290  // be included in the string output. The member name will be present, but the
  8291  // value will be replaced with "sensitive".
  8292  func (s CannotDeleteException) GoString() string {
  8293  	return s.String()
  8294  }
  8295  
  8296  func newErrorCannotDeleteException(v protocol.ResponseMetadata) error {
  8297  	return &CannotDeleteException{
  8298  		RespMetadata: v,
  8299  	}
  8300  }
  8301  
  8302  // Code returns the exception type name.
  8303  func (s *CannotDeleteException) Code() string {
  8304  	return "CannotDeleteException"
  8305  }
  8306  
  8307  // Message returns the exception's message.
  8308  func (s *CannotDeleteException) Message() string {
  8309  	if s.Message_ != nil {
  8310  		return *s.Message_
  8311  	}
  8312  	return ""
  8313  }
  8314  
  8315  // OrigErr always returns nil, satisfies awserr.Error interface.
  8316  func (s *CannotDeleteException) OrigErr() error {
  8317  	return nil
  8318  }
  8319  
  8320  func (s *CannotDeleteException) Error() string {
  8321  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8322  }
  8323  
  8324  // Status code returns the HTTP status code for the request's response error.
  8325  func (s *CannotDeleteException) StatusCode() int {
  8326  	return s.RespMetadata.StatusCode
  8327  }
  8328  
  8329  // RequestID returns the service's response RequestID for request.
  8330  func (s *CannotDeleteException) RequestID() string {
  8331  	return s.RespMetadata.RequestID
  8332  }
  8333  
  8334  // Represents entity counters.
  8335  type Counters struct {
  8336  	_ struct{} `type:"structure"`
  8337  
  8338  	// The number of errored entities.
  8339  	Errored *int64 `locationName:"errored" type:"integer"`
  8340  
  8341  	// The number of failed entities.
  8342  	Failed *int64 `locationName:"failed" type:"integer"`
  8343  
  8344  	// The number of passed entities.
  8345  	Passed *int64 `locationName:"passed" type:"integer"`
  8346  
  8347  	// The number of skipped entities.
  8348  	Skipped *int64 `locationName:"skipped" type:"integer"`
  8349  
  8350  	// The number of stopped entities.
  8351  	Stopped *int64 `locationName:"stopped" type:"integer"`
  8352  
  8353  	// The total number of entities.
  8354  	Total *int64 `locationName:"total" type:"integer"`
  8355  
  8356  	// The number of warned entities.
  8357  	Warned *int64 `locationName:"warned" type:"integer"`
  8358  }
  8359  
  8360  // String returns the string representation.
  8361  //
  8362  // API parameter values that are decorated as "sensitive" in the API will not
  8363  // be included in the string output. The member name will be present, but the
  8364  // value will be replaced with "sensitive".
  8365  func (s Counters) String() string {
  8366  	return awsutil.Prettify(s)
  8367  }
  8368  
  8369  // GoString returns the string representation.
  8370  //
  8371  // API parameter values that are decorated as "sensitive" in the API will not
  8372  // be included in the string output. The member name will be present, but the
  8373  // value will be replaced with "sensitive".
  8374  func (s Counters) GoString() string {
  8375  	return s.String()
  8376  }
  8377  
  8378  // SetErrored sets the Errored field's value.
  8379  func (s *Counters) SetErrored(v int64) *Counters {
  8380  	s.Errored = &v
  8381  	return s
  8382  }
  8383  
  8384  // SetFailed sets the Failed field's value.
  8385  func (s *Counters) SetFailed(v int64) *Counters {
  8386  	s.Failed = &v
  8387  	return s
  8388  }
  8389  
  8390  // SetPassed sets the Passed field's value.
  8391  func (s *Counters) SetPassed(v int64) *Counters {
  8392  	s.Passed = &v
  8393  	return s
  8394  }
  8395  
  8396  // SetSkipped sets the Skipped field's value.
  8397  func (s *Counters) SetSkipped(v int64) *Counters {
  8398  	s.Skipped = &v
  8399  	return s
  8400  }
  8401  
  8402  // SetStopped sets the Stopped field's value.
  8403  func (s *Counters) SetStopped(v int64) *Counters {
  8404  	s.Stopped = &v
  8405  	return s
  8406  }
  8407  
  8408  // SetTotal sets the Total field's value.
  8409  func (s *Counters) SetTotal(v int64) *Counters {
  8410  	s.Total = &v
  8411  	return s
  8412  }
  8413  
  8414  // SetWarned sets the Warned field's value.
  8415  func (s *Counters) SetWarned(v int64) *Counters {
  8416  	s.Warned = &v
  8417  	return s
  8418  }
  8419  
  8420  // Represents a request to the create device pool operation.
  8421  type CreateDevicePoolInput struct {
  8422  	_ struct{} `type:"structure"`
  8423  
  8424  	// The device pool's description.
  8425  	Description *string `locationName:"description" type:"string"`
  8426  
  8427  	// The number of devices that Device Farm can add to your device pool. Device
  8428  	// Farm adds devices that are available and meet the criteria that you assign
  8429  	// for the rules parameter. Depending on how many devices meet these constraints,
  8430  	// your device pool might contain fewer devices than the value for this parameter.
  8431  	//
  8432  	// By specifying the maximum number of devices, you can control the costs that
  8433  	// you incur by running tests.
  8434  	MaxDevices *int64 `locationName:"maxDevices" type:"integer"`
  8435  
  8436  	// The device pool's name.
  8437  	//
  8438  	// Name is a required field
  8439  	Name *string `locationName:"name" type:"string" required:"true"`
  8440  
  8441  	// The ARN of the project for the device pool.
  8442  	//
  8443  	// ProjectArn is a required field
  8444  	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
  8445  
  8446  	// The device pool's rules.
  8447  	//
  8448  	// Rules is a required field
  8449  	Rules []*Rule `locationName:"rules" type:"list" required:"true"`
  8450  }
  8451  
  8452  // String returns the string representation.
  8453  //
  8454  // API parameter values that are decorated as "sensitive" in the API will not
  8455  // be included in the string output. The member name will be present, but the
  8456  // value will be replaced with "sensitive".
  8457  func (s CreateDevicePoolInput) String() string {
  8458  	return awsutil.Prettify(s)
  8459  }
  8460  
  8461  // GoString returns the string representation.
  8462  //
  8463  // API parameter values that are decorated as "sensitive" in the API will not
  8464  // be included in the string output. The member name will be present, but the
  8465  // value will be replaced with "sensitive".
  8466  func (s CreateDevicePoolInput) GoString() string {
  8467  	return s.String()
  8468  }
  8469  
  8470  // Validate inspects the fields of the type to determine if they are valid.
  8471  func (s *CreateDevicePoolInput) Validate() error {
  8472  	invalidParams := request.ErrInvalidParams{Context: "CreateDevicePoolInput"}
  8473  	if s.Name == nil {
  8474  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8475  	}
  8476  	if s.ProjectArn == nil {
  8477  		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
  8478  	}
  8479  	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
  8480  		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
  8481  	}
  8482  	if s.Rules == nil {
  8483  		invalidParams.Add(request.NewErrParamRequired("Rules"))
  8484  	}
  8485  
  8486  	if invalidParams.Len() > 0 {
  8487  		return invalidParams
  8488  	}
  8489  	return nil
  8490  }
  8491  
  8492  // SetDescription sets the Description field's value.
  8493  func (s *CreateDevicePoolInput) SetDescription(v string) *CreateDevicePoolInput {
  8494  	s.Description = &v
  8495  	return s
  8496  }
  8497  
  8498  // SetMaxDevices sets the MaxDevices field's value.
  8499  func (s *CreateDevicePoolInput) SetMaxDevices(v int64) *CreateDevicePoolInput {
  8500  	s.MaxDevices = &v
  8501  	return s
  8502  }
  8503  
  8504  // SetName sets the Name field's value.
  8505  func (s *CreateDevicePoolInput) SetName(v string) *CreateDevicePoolInput {
  8506  	s.Name = &v
  8507  	return s
  8508  }
  8509  
  8510  // SetProjectArn sets the ProjectArn field's value.
  8511  func (s *CreateDevicePoolInput) SetProjectArn(v string) *CreateDevicePoolInput {
  8512  	s.ProjectArn = &v
  8513  	return s
  8514  }
  8515  
  8516  // SetRules sets the Rules field's value.
  8517  func (s *CreateDevicePoolInput) SetRules(v []*Rule) *CreateDevicePoolInput {
  8518  	s.Rules = v
  8519  	return s
  8520  }
  8521  
  8522  // Represents the result of a create device pool request.
  8523  type CreateDevicePoolOutput struct {
  8524  	_ struct{} `type:"structure"`
  8525  
  8526  	// The newly created device pool.
  8527  	DevicePool *DevicePool `locationName:"devicePool" type:"structure"`
  8528  }
  8529  
  8530  // String returns the string representation.
  8531  //
  8532  // API parameter values that are decorated as "sensitive" in the API will not
  8533  // be included in the string output. The member name will be present, but the
  8534  // value will be replaced with "sensitive".
  8535  func (s CreateDevicePoolOutput) String() string {
  8536  	return awsutil.Prettify(s)
  8537  }
  8538  
  8539  // GoString returns the string representation.
  8540  //
  8541  // API parameter values that are decorated as "sensitive" in the API will not
  8542  // be included in the string output. The member name will be present, but the
  8543  // value will be replaced with "sensitive".
  8544  func (s CreateDevicePoolOutput) GoString() string {
  8545  	return s.String()
  8546  }
  8547  
  8548  // SetDevicePool sets the DevicePool field's value.
  8549  func (s *CreateDevicePoolOutput) SetDevicePool(v *DevicePool) *CreateDevicePoolOutput {
  8550  	s.DevicePool = v
  8551  	return s
  8552  }
  8553  
  8554  type CreateInstanceProfileInput struct {
  8555  	_ struct{} `type:"structure"`
  8556  
  8557  	// The description of your instance profile.
  8558  	Description *string `locationName:"description" type:"string"`
  8559  
  8560  	// An array of strings that specifies the list of app packages that should not
  8561  	// be cleaned up from the device after a test run.
  8562  	//
  8563  	// The list of packages is considered only if you set packageCleanup to true.
  8564  	ExcludeAppPackagesFromCleanup []*string `locationName:"excludeAppPackagesFromCleanup" type:"list"`
  8565  
  8566  	// The name of your instance profile.
  8567  	//
  8568  	// Name is a required field
  8569  	Name *string `locationName:"name" type:"string" required:"true"`
  8570  
  8571  	// When set to true, Device Farm removes app packages after a test run. The
  8572  	// default value is false for private devices.
  8573  	PackageCleanup *bool `locationName:"packageCleanup" type:"boolean"`
  8574  
  8575  	// When set to true, Device Farm reboots the instance after a test run. The
  8576  	// default value is true.
  8577  	RebootAfterUse *bool `locationName:"rebootAfterUse" type:"boolean"`
  8578  }
  8579  
  8580  // String returns the string representation.
  8581  //
  8582  // API parameter values that are decorated as "sensitive" in the API will not
  8583  // be included in the string output. The member name will be present, but the
  8584  // value will be replaced with "sensitive".
  8585  func (s CreateInstanceProfileInput) String() string {
  8586  	return awsutil.Prettify(s)
  8587  }
  8588  
  8589  // GoString returns the string representation.
  8590  //
  8591  // API parameter values that are decorated as "sensitive" in the API will not
  8592  // be included in the string output. The member name will be present, but the
  8593  // value will be replaced with "sensitive".
  8594  func (s CreateInstanceProfileInput) GoString() string {
  8595  	return s.String()
  8596  }
  8597  
  8598  // Validate inspects the fields of the type to determine if they are valid.
  8599  func (s *CreateInstanceProfileInput) Validate() error {
  8600  	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceProfileInput"}
  8601  	if s.Name == nil {
  8602  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8603  	}
  8604  
  8605  	if invalidParams.Len() > 0 {
  8606  		return invalidParams
  8607  	}
  8608  	return nil
  8609  }
  8610  
  8611  // SetDescription sets the Description field's value.
  8612  func (s *CreateInstanceProfileInput) SetDescription(v string) *CreateInstanceProfileInput {
  8613  	s.Description = &v
  8614  	return s
  8615  }
  8616  
  8617  // SetExcludeAppPackagesFromCleanup sets the ExcludeAppPackagesFromCleanup field's value.
  8618  func (s *CreateInstanceProfileInput) SetExcludeAppPackagesFromCleanup(v []*string) *CreateInstanceProfileInput {
  8619  	s.ExcludeAppPackagesFromCleanup = v
  8620  	return s
  8621  }
  8622  
  8623  // SetName sets the Name field's value.
  8624  func (s *CreateInstanceProfileInput) SetName(v string) *CreateInstanceProfileInput {
  8625  	s.Name = &v
  8626  	return s
  8627  }
  8628  
  8629  // SetPackageCleanup sets the PackageCleanup field's value.
  8630  func (s *CreateInstanceProfileInput) SetPackageCleanup(v bool) *CreateInstanceProfileInput {
  8631  	s.PackageCleanup = &v
  8632  	return s
  8633  }
  8634  
  8635  // SetRebootAfterUse sets the RebootAfterUse field's value.
  8636  func (s *CreateInstanceProfileInput) SetRebootAfterUse(v bool) *CreateInstanceProfileInput {
  8637  	s.RebootAfterUse = &v
  8638  	return s
  8639  }
  8640  
  8641  type CreateInstanceProfileOutput struct {
  8642  	_ struct{} `type:"structure"`
  8643  
  8644  	// An object that contains information about your instance profile.
  8645  	InstanceProfile *InstanceProfile `locationName:"instanceProfile" type:"structure"`
  8646  }
  8647  
  8648  // String returns the string representation.
  8649  //
  8650  // API parameter values that are decorated as "sensitive" in the API will not
  8651  // be included in the string output. The member name will be present, but the
  8652  // value will be replaced with "sensitive".
  8653  func (s CreateInstanceProfileOutput) String() string {
  8654  	return awsutil.Prettify(s)
  8655  }
  8656  
  8657  // GoString returns the string representation.
  8658  //
  8659  // API parameter values that are decorated as "sensitive" in the API will not
  8660  // be included in the string output. The member name will be present, but the
  8661  // value will be replaced with "sensitive".
  8662  func (s CreateInstanceProfileOutput) GoString() string {
  8663  	return s.String()
  8664  }
  8665  
  8666  // SetInstanceProfile sets the InstanceProfile field's value.
  8667  func (s *CreateInstanceProfileOutput) SetInstanceProfile(v *InstanceProfile) *CreateInstanceProfileOutput {
  8668  	s.InstanceProfile = v
  8669  	return s
  8670  }
  8671  
  8672  type CreateNetworkProfileInput struct {
  8673  	_ struct{} `type:"structure"`
  8674  
  8675  	// The description of the network profile.
  8676  	Description *string `locationName:"description" type:"string"`
  8677  
  8678  	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
  8679  	DownlinkBandwidthBits *int64 `locationName:"downlinkBandwidthBits" type:"long"`
  8680  
  8681  	// Delay time for all packets to destination in milliseconds as an integer from
  8682  	// 0 to 2000.
  8683  	DownlinkDelayMs *int64 `locationName:"downlinkDelayMs" type:"long"`
  8684  
  8685  	// Time variation in the delay of received packets in milliseconds as an integer
  8686  	// from 0 to 2000.
  8687  	DownlinkJitterMs *int64 `locationName:"downlinkJitterMs" type:"long"`
  8688  
  8689  	// Proportion of received packets that fail to arrive from 0 to 100 percent.
  8690  	DownlinkLossPercent *int64 `locationName:"downlinkLossPercent" type:"integer"`
  8691  
  8692  	// The name for the new network profile.
  8693  	//
  8694  	// Name is a required field
  8695  	Name *string `locationName:"name" type:"string" required:"true"`
  8696  
  8697  	// The Amazon Resource Name (ARN) of the project for which you want to create
  8698  	// a network profile.
  8699  	//
  8700  	// ProjectArn is a required field
  8701  	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
  8702  
  8703  	// The type of network profile to create. Valid values are listed here.
  8704  	Type *string `locationName:"type" type:"string" enum:"NetworkProfileType"`
  8705  
  8706  	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
  8707  	UplinkBandwidthBits *int64 `locationName:"uplinkBandwidthBits" type:"long"`
  8708  
  8709  	// Delay time for all packets to destination in milliseconds as an integer from
  8710  	// 0 to 2000.
  8711  	UplinkDelayMs *int64 `locationName:"uplinkDelayMs" type:"long"`
  8712  
  8713  	// Time variation in the delay of received packets in milliseconds as an integer
  8714  	// from 0 to 2000.
  8715  	UplinkJitterMs *int64 `locationName:"uplinkJitterMs" type:"long"`
  8716  
  8717  	// Proportion of transmitted packets that fail to arrive from 0 to 100 percent.
  8718  	UplinkLossPercent *int64 `locationName:"uplinkLossPercent" type:"integer"`
  8719  }
  8720  
  8721  // String returns the string representation.
  8722  //
  8723  // API parameter values that are decorated as "sensitive" in the API will not
  8724  // be included in the string output. The member name will be present, but the
  8725  // value will be replaced with "sensitive".
  8726  func (s CreateNetworkProfileInput) String() string {
  8727  	return awsutil.Prettify(s)
  8728  }
  8729  
  8730  // GoString returns the string representation.
  8731  //
  8732  // API parameter values that are decorated as "sensitive" in the API will not
  8733  // be included in the string output. The member name will be present, but the
  8734  // value will be replaced with "sensitive".
  8735  func (s CreateNetworkProfileInput) GoString() string {
  8736  	return s.String()
  8737  }
  8738  
  8739  // Validate inspects the fields of the type to determine if they are valid.
  8740  func (s *CreateNetworkProfileInput) Validate() error {
  8741  	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkProfileInput"}
  8742  	if s.Name == nil {
  8743  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8744  	}
  8745  	if s.ProjectArn == nil {
  8746  		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
  8747  	}
  8748  	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
  8749  		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
  8750  	}
  8751  
  8752  	if invalidParams.Len() > 0 {
  8753  		return invalidParams
  8754  	}
  8755  	return nil
  8756  }
  8757  
  8758  // SetDescription sets the Description field's value.
  8759  func (s *CreateNetworkProfileInput) SetDescription(v string) *CreateNetworkProfileInput {
  8760  	s.Description = &v
  8761  	return s
  8762  }
  8763  
  8764  // SetDownlinkBandwidthBits sets the DownlinkBandwidthBits field's value.
  8765  func (s *CreateNetworkProfileInput) SetDownlinkBandwidthBits(v int64) *CreateNetworkProfileInput {
  8766  	s.DownlinkBandwidthBits = &v
  8767  	return s
  8768  }
  8769  
  8770  // SetDownlinkDelayMs sets the DownlinkDelayMs field's value.
  8771  func (s *CreateNetworkProfileInput) SetDownlinkDelayMs(v int64) *CreateNetworkProfileInput {
  8772  	s.DownlinkDelayMs = &v
  8773  	return s
  8774  }
  8775  
  8776  // SetDownlinkJitterMs sets the DownlinkJitterMs field's value.
  8777  func (s *CreateNetworkProfileInput) SetDownlinkJitterMs(v int64) *CreateNetworkProfileInput {
  8778  	s.DownlinkJitterMs = &v
  8779  	return s
  8780  }
  8781  
  8782  // SetDownlinkLossPercent sets the DownlinkLossPercent field's value.
  8783  func (s *CreateNetworkProfileInput) SetDownlinkLossPercent(v int64) *CreateNetworkProfileInput {
  8784  	s.DownlinkLossPercent = &v
  8785  	return s
  8786  }
  8787  
  8788  // SetName sets the Name field's value.
  8789  func (s *CreateNetworkProfileInput) SetName(v string) *CreateNetworkProfileInput {
  8790  	s.Name = &v
  8791  	return s
  8792  }
  8793  
  8794  // SetProjectArn sets the ProjectArn field's value.
  8795  func (s *CreateNetworkProfileInput) SetProjectArn(v string) *CreateNetworkProfileInput {
  8796  	s.ProjectArn = &v
  8797  	return s
  8798  }
  8799  
  8800  // SetType sets the Type field's value.
  8801  func (s *CreateNetworkProfileInput) SetType(v string) *CreateNetworkProfileInput {
  8802  	s.Type = &v
  8803  	return s
  8804  }
  8805  
  8806  // SetUplinkBandwidthBits sets the UplinkBandwidthBits field's value.
  8807  func (s *CreateNetworkProfileInput) SetUplinkBandwidthBits(v int64) *CreateNetworkProfileInput {
  8808  	s.UplinkBandwidthBits = &v
  8809  	return s
  8810  }
  8811  
  8812  // SetUplinkDelayMs sets the UplinkDelayMs field's value.
  8813  func (s *CreateNetworkProfileInput) SetUplinkDelayMs(v int64) *CreateNetworkProfileInput {
  8814  	s.UplinkDelayMs = &v
  8815  	return s
  8816  }
  8817  
  8818  // SetUplinkJitterMs sets the UplinkJitterMs field's value.
  8819  func (s *CreateNetworkProfileInput) SetUplinkJitterMs(v int64) *CreateNetworkProfileInput {
  8820  	s.UplinkJitterMs = &v
  8821  	return s
  8822  }
  8823  
  8824  // SetUplinkLossPercent sets the UplinkLossPercent field's value.
  8825  func (s *CreateNetworkProfileInput) SetUplinkLossPercent(v int64) *CreateNetworkProfileInput {
  8826  	s.UplinkLossPercent = &v
  8827  	return s
  8828  }
  8829  
  8830  type CreateNetworkProfileOutput struct {
  8831  	_ struct{} `type:"structure"`
  8832  
  8833  	// The network profile that is returned by the create network profile request.
  8834  	NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"`
  8835  }
  8836  
  8837  // String returns the string representation.
  8838  //
  8839  // API parameter values that are decorated as "sensitive" in the API will not
  8840  // be included in the string output. The member name will be present, but the
  8841  // value will be replaced with "sensitive".
  8842  func (s CreateNetworkProfileOutput) String() string {
  8843  	return awsutil.Prettify(s)
  8844  }
  8845  
  8846  // GoString returns the string representation.
  8847  //
  8848  // API parameter values that are decorated as "sensitive" in the API will not
  8849  // be included in the string output. The member name will be present, but the
  8850  // value will be replaced with "sensitive".
  8851  func (s CreateNetworkProfileOutput) GoString() string {
  8852  	return s.String()
  8853  }
  8854  
  8855  // SetNetworkProfile sets the NetworkProfile field's value.
  8856  func (s *CreateNetworkProfileOutput) SetNetworkProfile(v *NetworkProfile) *CreateNetworkProfileOutput {
  8857  	s.NetworkProfile = v
  8858  	return s
  8859  }
  8860  
  8861  // Represents a request to the create project operation.
  8862  type CreateProjectInput struct {
  8863  	_ struct{} `type:"structure"`
  8864  
  8865  	// Sets the execution timeout value (in minutes) for a project. All test runs
  8866  	// in this project use the specified execution timeout value unless overridden
  8867  	// when scheduling a run.
  8868  	DefaultJobTimeoutMinutes *int64 `locationName:"defaultJobTimeoutMinutes" type:"integer"`
  8869  
  8870  	// The project's name.
  8871  	//
  8872  	// Name is a required field
  8873  	Name *string `locationName:"name" type:"string" required:"true"`
  8874  }
  8875  
  8876  // String returns the string representation.
  8877  //
  8878  // API parameter values that are decorated as "sensitive" in the API will not
  8879  // be included in the string output. The member name will be present, but the
  8880  // value will be replaced with "sensitive".
  8881  func (s CreateProjectInput) String() string {
  8882  	return awsutil.Prettify(s)
  8883  }
  8884  
  8885  // GoString returns the string representation.
  8886  //
  8887  // API parameter values that are decorated as "sensitive" in the API will not
  8888  // be included in the string output. The member name will be present, but the
  8889  // value will be replaced with "sensitive".
  8890  func (s CreateProjectInput) GoString() string {
  8891  	return s.String()
  8892  }
  8893  
  8894  // Validate inspects the fields of the type to determine if they are valid.
  8895  func (s *CreateProjectInput) Validate() error {
  8896  	invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"}
  8897  	if s.Name == nil {
  8898  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8899  	}
  8900  
  8901  	if invalidParams.Len() > 0 {
  8902  		return invalidParams
  8903  	}
  8904  	return nil
  8905  }
  8906  
  8907  // SetDefaultJobTimeoutMinutes sets the DefaultJobTimeoutMinutes field's value.
  8908  func (s *CreateProjectInput) SetDefaultJobTimeoutMinutes(v int64) *CreateProjectInput {
  8909  	s.DefaultJobTimeoutMinutes = &v
  8910  	return s
  8911  }
  8912  
  8913  // SetName sets the Name field's value.
  8914  func (s *CreateProjectInput) SetName(v string) *CreateProjectInput {
  8915  	s.Name = &v
  8916  	return s
  8917  }
  8918  
  8919  // Represents the result of a create project request.
  8920  type CreateProjectOutput struct {
  8921  	_ struct{} `type:"structure"`
  8922  
  8923  	// The newly created project.
  8924  	Project *Project `locationName:"project" type:"structure"`
  8925  }
  8926  
  8927  // String returns the string representation.
  8928  //
  8929  // API parameter values that are decorated as "sensitive" in the API will not
  8930  // be included in the string output. The member name will be present, but the
  8931  // value will be replaced with "sensitive".
  8932  func (s CreateProjectOutput) String() string {
  8933  	return awsutil.Prettify(s)
  8934  }
  8935  
  8936  // GoString returns the string representation.
  8937  //
  8938  // API parameter values that are decorated as "sensitive" in the API will not
  8939  // be included in the string output. The member name will be present, but the
  8940  // value will be replaced with "sensitive".
  8941  func (s CreateProjectOutput) GoString() string {
  8942  	return s.String()
  8943  }
  8944  
  8945  // SetProject sets the Project field's value.
  8946  func (s *CreateProjectOutput) SetProject(v *Project) *CreateProjectOutput {
  8947  	s.Project = v
  8948  	return s
  8949  }
  8950  
  8951  // Configuration settings for a remote access session, including billing method.
  8952  type CreateRemoteAccessSessionConfiguration struct {
  8953  	_ struct{} `type:"structure"`
  8954  
  8955  	// The billing method for the remote access session.
  8956  	BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"`
  8957  
  8958  	// An array of ARNs included in the VPC endpoint configuration.
  8959  	VpceConfigurationArns []*string `locationName:"vpceConfigurationArns" type:"list"`
  8960  }
  8961  
  8962  // String returns the string representation.
  8963  //
  8964  // API parameter values that are decorated as "sensitive" in the API will not
  8965  // be included in the string output. The member name will be present, but the
  8966  // value will be replaced with "sensitive".
  8967  func (s CreateRemoteAccessSessionConfiguration) String() string {
  8968  	return awsutil.Prettify(s)
  8969  }
  8970  
  8971  // GoString returns the string representation.
  8972  //
  8973  // API parameter values that are decorated as "sensitive" in the API will not
  8974  // be included in the string output. The member name will be present, but the
  8975  // value will be replaced with "sensitive".
  8976  func (s CreateRemoteAccessSessionConfiguration) GoString() string {
  8977  	return s.String()
  8978  }
  8979  
  8980  // SetBillingMethod sets the BillingMethod field's value.
  8981  func (s *CreateRemoteAccessSessionConfiguration) SetBillingMethod(v string) *CreateRemoteAccessSessionConfiguration {
  8982  	s.BillingMethod = &v
  8983  	return s
  8984  }
  8985  
  8986  // SetVpceConfigurationArns sets the VpceConfigurationArns field's value.
  8987  func (s *CreateRemoteAccessSessionConfiguration) SetVpceConfigurationArns(v []*string) *CreateRemoteAccessSessionConfiguration {
  8988  	s.VpceConfigurationArns = v
  8989  	return s
  8990  }
  8991  
  8992  // Creates and submits a request to start a remote access session.
  8993  type CreateRemoteAccessSessionInput struct {
  8994  	_ struct{} `type:"structure"`
  8995  
  8996  	// Unique identifier for the client. If you want access to multiple devices
  8997  	// on the same client, you should pass the same clientId value in each call
  8998  	// to CreateRemoteAccessSession. This identifier is required only if remoteDebugEnabled
  8999  	// is set to true.
  9000  	//
  9001  	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
  9002  	ClientId *string `locationName:"clientId" type:"string"`
  9003  
  9004  	// The configuration information for the remote access session request.
  9005  	Configuration *CreateRemoteAccessSessionConfiguration `locationName:"configuration" type:"structure"`
  9006  
  9007  	// The ARN of the device for which you want to create a remote access session.
  9008  	//
  9009  	// DeviceArn is a required field
  9010  	DeviceArn *string `locationName:"deviceArn" min:"32" type:"string" required:"true"`
  9011  
  9012  	// The Amazon Resource Name (ARN) of the device instance for which you want
  9013  	// to create a remote access session.
  9014  	InstanceArn *string `locationName:"instanceArn" min:"32" type:"string"`
  9015  
  9016  	// The interaction mode of the remote access session. Valid values are:
  9017  	//
  9018  	//    * INTERACTIVE: You can interact with the iOS device by viewing, touching,
  9019  	//    and rotating the screen. You cannot run XCUITest framework-based tests
  9020  	//    in this mode.
  9021  	//
  9022  	//    * NO_VIDEO: You are connected to the device, but cannot interact with
  9023  	//    it or view the screen. This mode has the fastest test execution speed.
  9024  	//    You can run XCUITest framework-based tests in this mode.
  9025  	//
  9026  	//    * VIDEO_ONLY: You can view the screen, but cannot touch or rotate it.
  9027  	//    You can run XCUITest framework-based tests and watch the screen in this
  9028  	//    mode.
  9029  	InteractionMode *string `locationName:"interactionMode" type:"string" enum:"InteractionMode"`
  9030  
  9031  	// The name of the remote access session to create.
  9032  	Name *string `locationName:"name" type:"string"`
  9033  
  9034  	// The Amazon Resource Name (ARN) of the project for which you want to create
  9035  	// a remote access session.
  9036  	//
  9037  	// ProjectArn is a required field
  9038  	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
  9039  
  9040  	// Set to true if you want to access devices remotely for debugging in your
  9041  	// remote access session.
  9042  	//
  9043  	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
  9044  	RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"`
  9045  
  9046  	// The Amazon Resource Name (ARN) for the app to be recorded in the remote access
  9047  	// session.
  9048  	RemoteRecordAppArn *string `locationName:"remoteRecordAppArn" min:"32" type:"string"`
  9049  
  9050  	// Set to true to enable remote recording for the remote access session.
  9051  	RemoteRecordEnabled *bool `locationName:"remoteRecordEnabled" type:"boolean"`
  9052  
  9053  	// When set to true, for private devices, Device Farm does not sign your app
  9054  	// again. For public devices, Device Farm always signs your apps again.
  9055  	//
  9056  	// For more information on how Device Farm modifies your uploads during tests,
  9057  	// see Do you modify my app? (https://aws.amazon.com/device-farm/faq/)
  9058  	SkipAppResign *bool `locationName:"skipAppResign" type:"boolean"`
  9059  
  9060  	// Ignored. The public key of the ssh key pair you want to use for connecting
  9061  	// to remote devices in your remote debugging session. This key is required
  9062  	// only if remoteDebugEnabled is set to true.
  9063  	//
  9064  	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
  9065  	SshPublicKey *string `locationName:"sshPublicKey" type:"string"`
  9066  }
  9067  
  9068  // String returns the string representation.
  9069  //
  9070  // API parameter values that are decorated as "sensitive" in the API will not
  9071  // be included in the string output. The member name will be present, but the
  9072  // value will be replaced with "sensitive".
  9073  func (s CreateRemoteAccessSessionInput) String() string {
  9074  	return awsutil.Prettify(s)
  9075  }
  9076  
  9077  // GoString returns the string representation.
  9078  //
  9079  // API parameter values that are decorated as "sensitive" in the API will not
  9080  // be included in the string output. The member name will be present, but the
  9081  // value will be replaced with "sensitive".
  9082  func (s CreateRemoteAccessSessionInput) GoString() string {
  9083  	return s.String()
  9084  }
  9085  
  9086  // Validate inspects the fields of the type to determine if they are valid.
  9087  func (s *CreateRemoteAccessSessionInput) Validate() error {
  9088  	invalidParams := request.ErrInvalidParams{Context: "CreateRemoteAccessSessionInput"}
  9089  	if s.DeviceArn == nil {
  9090  		invalidParams.Add(request.NewErrParamRequired("DeviceArn"))
  9091  	}
  9092  	if s.DeviceArn != nil && len(*s.DeviceArn) < 32 {
  9093  		invalidParams.Add(request.NewErrParamMinLen("DeviceArn", 32))
  9094  	}
  9095  	if s.InstanceArn != nil && len(*s.InstanceArn) < 32 {
  9096  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 32))
  9097  	}
  9098  	if s.ProjectArn == nil {
  9099  		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
  9100  	}
  9101  	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
  9102  		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
  9103  	}
  9104  	if s.RemoteRecordAppArn != nil && len(*s.RemoteRecordAppArn) < 32 {
  9105  		invalidParams.Add(request.NewErrParamMinLen("RemoteRecordAppArn", 32))
  9106  	}
  9107  
  9108  	if invalidParams.Len() > 0 {
  9109  		return invalidParams
  9110  	}
  9111  	return nil
  9112  }
  9113  
  9114  // SetClientId sets the ClientId field's value.
  9115  func (s *CreateRemoteAccessSessionInput) SetClientId(v string) *CreateRemoteAccessSessionInput {
  9116  	s.ClientId = &v
  9117  	return s
  9118  }
  9119  
  9120  // SetConfiguration sets the Configuration field's value.
  9121  func (s *CreateRemoteAccessSessionInput) SetConfiguration(v *CreateRemoteAccessSessionConfiguration) *CreateRemoteAccessSessionInput {
  9122  	s.Configuration = v
  9123  	return s
  9124  }
  9125  
  9126  // SetDeviceArn sets the DeviceArn field's value.
  9127  func (s *CreateRemoteAccessSessionInput) SetDeviceArn(v string) *CreateRemoteAccessSessionInput {
  9128  	s.DeviceArn = &v
  9129  	return s
  9130  }
  9131  
  9132  // SetInstanceArn sets the InstanceArn field's value.
  9133  func (s *CreateRemoteAccessSessionInput) SetInstanceArn(v string) *CreateRemoteAccessSessionInput {
  9134  	s.InstanceArn = &v
  9135  	return s
  9136  }
  9137  
  9138  // SetInteractionMode sets the InteractionMode field's value.
  9139  func (s *CreateRemoteAccessSessionInput) SetInteractionMode(v string) *CreateRemoteAccessSessionInput {
  9140  	s.InteractionMode = &v
  9141  	return s
  9142  }
  9143  
  9144  // SetName sets the Name field's value.
  9145  func (s *CreateRemoteAccessSessionInput) SetName(v string) *CreateRemoteAccessSessionInput {
  9146  	s.Name = &v
  9147  	return s
  9148  }
  9149  
  9150  // SetProjectArn sets the ProjectArn field's value.
  9151  func (s *CreateRemoteAccessSessionInput) SetProjectArn(v string) *CreateRemoteAccessSessionInput {
  9152  	s.ProjectArn = &v
  9153  	return s
  9154  }
  9155  
  9156  // SetRemoteDebugEnabled sets the RemoteDebugEnabled field's value.
  9157  func (s *CreateRemoteAccessSessionInput) SetRemoteDebugEnabled(v bool) *CreateRemoteAccessSessionInput {
  9158  	s.RemoteDebugEnabled = &v
  9159  	return s
  9160  }
  9161  
  9162  // SetRemoteRecordAppArn sets the RemoteRecordAppArn field's value.
  9163  func (s *CreateRemoteAccessSessionInput) SetRemoteRecordAppArn(v string) *CreateRemoteAccessSessionInput {
  9164  	s.RemoteRecordAppArn = &v
  9165  	return s
  9166  }
  9167  
  9168  // SetRemoteRecordEnabled sets the RemoteRecordEnabled field's value.
  9169  func (s *CreateRemoteAccessSessionInput) SetRemoteRecordEnabled(v bool) *CreateRemoteAccessSessionInput {
  9170  	s.RemoteRecordEnabled = &v
  9171  	return s
  9172  }
  9173  
  9174  // SetSkipAppResign sets the SkipAppResign field's value.
  9175  func (s *CreateRemoteAccessSessionInput) SetSkipAppResign(v bool) *CreateRemoteAccessSessionInput {
  9176  	s.SkipAppResign = &v
  9177  	return s
  9178  }
  9179  
  9180  // SetSshPublicKey sets the SshPublicKey field's value.
  9181  func (s *CreateRemoteAccessSessionInput) SetSshPublicKey(v string) *CreateRemoteAccessSessionInput {
  9182  	s.SshPublicKey = &v
  9183  	return s
  9184  }
  9185  
  9186  // Represents the server response from a request to create a remote access session.
  9187  type CreateRemoteAccessSessionOutput struct {
  9188  	_ struct{} `type:"structure"`
  9189  
  9190  	// A container that describes the remote access session when the request to
  9191  	// create a remote access session is sent.
  9192  	RemoteAccessSession *RemoteAccessSession `locationName:"remoteAccessSession" type:"structure"`
  9193  }
  9194  
  9195  // String returns the string representation.
  9196  //
  9197  // API parameter values that are decorated as "sensitive" in the API will not
  9198  // be included in the string output. The member name will be present, but the
  9199  // value will be replaced with "sensitive".
  9200  func (s CreateRemoteAccessSessionOutput) String() string {
  9201  	return awsutil.Prettify(s)
  9202  }
  9203  
  9204  // GoString returns the string representation.
  9205  //
  9206  // API parameter values that are decorated as "sensitive" in the API will not
  9207  // be included in the string output. The member name will be present, but the
  9208  // value will be replaced with "sensitive".
  9209  func (s CreateRemoteAccessSessionOutput) GoString() string {
  9210  	return s.String()
  9211  }
  9212  
  9213  // SetRemoteAccessSession sets the RemoteAccessSession field's value.
  9214  func (s *CreateRemoteAccessSessionOutput) SetRemoteAccessSession(v *RemoteAccessSession) *CreateRemoteAccessSessionOutput {
  9215  	s.RemoteAccessSession = v
  9216  	return s
  9217  }
  9218  
  9219  type CreateTestGridProjectInput struct {
  9220  	_ struct{} `type:"structure"`
  9221  
  9222  	// Human-readable description of the project.
  9223  	Description *string `locationName:"description" min:"1" type:"string"`
  9224  
  9225  	// Human-readable name of the Selenium testing project.
  9226  	//
  9227  	// Name is a required field
  9228  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  9229  
  9230  	// The VPC security groups and subnets that are attached to a project.
  9231  	VpcConfig *TestGridVpcConfig `locationName:"vpcConfig" type:"structure"`
  9232  }
  9233  
  9234  // String returns the string representation.
  9235  //
  9236  // API parameter values that are decorated as "sensitive" in the API will not
  9237  // be included in the string output. The member name will be present, but the
  9238  // value will be replaced with "sensitive".
  9239  func (s CreateTestGridProjectInput) String() string {
  9240  	return awsutil.Prettify(s)
  9241  }
  9242  
  9243  // GoString returns the string representation.
  9244  //
  9245  // API parameter values that are decorated as "sensitive" in the API will not
  9246  // be included in the string output. The member name will be present, but the
  9247  // value will be replaced with "sensitive".
  9248  func (s CreateTestGridProjectInput) GoString() string {
  9249  	return s.String()
  9250  }
  9251  
  9252  // Validate inspects the fields of the type to determine if they are valid.
  9253  func (s *CreateTestGridProjectInput) Validate() error {
  9254  	invalidParams := request.ErrInvalidParams{Context: "CreateTestGridProjectInput"}
  9255  	if s.Description != nil && len(*s.Description) < 1 {
  9256  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  9257  	}
  9258  	if s.Name == nil {
  9259  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9260  	}
  9261  	if s.Name != nil && len(*s.Name) < 1 {
  9262  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  9263  	}
  9264  	if s.VpcConfig != nil {
  9265  		if err := s.VpcConfig.Validate(); err != nil {
  9266  			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
  9267  		}
  9268  	}
  9269  
  9270  	if invalidParams.Len() > 0 {
  9271  		return invalidParams
  9272  	}
  9273  	return nil
  9274  }
  9275  
  9276  // SetDescription sets the Description field's value.
  9277  func (s *CreateTestGridProjectInput) SetDescription(v string) *CreateTestGridProjectInput {
  9278  	s.Description = &v
  9279  	return s
  9280  }
  9281  
  9282  // SetName sets the Name field's value.
  9283  func (s *CreateTestGridProjectInput) SetName(v string) *CreateTestGridProjectInput {
  9284  	s.Name = &v
  9285  	return s
  9286  }
  9287  
  9288  // SetVpcConfig sets the VpcConfig field's value.
  9289  func (s *CreateTestGridProjectInput) SetVpcConfig(v *TestGridVpcConfig) *CreateTestGridProjectInput {
  9290  	s.VpcConfig = v
  9291  	return s
  9292  }
  9293  
  9294  type CreateTestGridProjectOutput struct {
  9295  	_ struct{} `type:"structure"`
  9296  
  9297  	// ARN of the Selenium testing project that was created.
  9298  	TestGridProject *TestGridProject `locationName:"testGridProject" type:"structure"`
  9299  }
  9300  
  9301  // String returns the string representation.
  9302  //
  9303  // API parameter values that are decorated as "sensitive" in the API will not
  9304  // be included in the string output. The member name will be present, but the
  9305  // value will be replaced with "sensitive".
  9306  func (s CreateTestGridProjectOutput) String() string {
  9307  	return awsutil.Prettify(s)
  9308  }
  9309  
  9310  // GoString returns the string representation.
  9311  //
  9312  // API parameter values that are decorated as "sensitive" in the API will not
  9313  // be included in the string output. The member name will be present, but the
  9314  // value will be replaced with "sensitive".
  9315  func (s CreateTestGridProjectOutput) GoString() string {
  9316  	return s.String()
  9317  }
  9318  
  9319  // SetTestGridProject sets the TestGridProject field's value.
  9320  func (s *CreateTestGridProjectOutput) SetTestGridProject(v *TestGridProject) *CreateTestGridProjectOutput {
  9321  	s.TestGridProject = v
  9322  	return s
  9323  }
  9324  
  9325  type CreateTestGridUrlInput struct {
  9326  	_ struct{} `type:"structure"`
  9327  
  9328  	// Lifetime, in seconds, of the URL.
  9329  	//
  9330  	// ExpiresInSeconds is a required field
  9331  	ExpiresInSeconds *int64 `locationName:"expiresInSeconds" min:"60" type:"integer" required:"true"`
  9332  
  9333  	// ARN (from CreateTestGridProject or ListTestGridProjects) to associate with
  9334  	// the short-term URL.
  9335  	//
  9336  	// ProjectArn is a required field
  9337  	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
  9338  }
  9339  
  9340  // String returns the string representation.
  9341  //
  9342  // API parameter values that are decorated as "sensitive" in the API will not
  9343  // be included in the string output. The member name will be present, but the
  9344  // value will be replaced with "sensitive".
  9345  func (s CreateTestGridUrlInput) String() string {
  9346  	return awsutil.Prettify(s)
  9347  }
  9348  
  9349  // GoString returns the string representation.
  9350  //
  9351  // API parameter values that are decorated as "sensitive" in the API will not
  9352  // be included in the string output. The member name will be present, but the
  9353  // value will be replaced with "sensitive".
  9354  func (s CreateTestGridUrlInput) GoString() string {
  9355  	return s.String()
  9356  }
  9357  
  9358  // Validate inspects the fields of the type to determine if they are valid.
  9359  func (s *CreateTestGridUrlInput) Validate() error {
  9360  	invalidParams := request.ErrInvalidParams{Context: "CreateTestGridUrlInput"}
  9361  	if s.ExpiresInSeconds == nil {
  9362  		invalidParams.Add(request.NewErrParamRequired("ExpiresInSeconds"))
  9363  	}
  9364  	if s.ExpiresInSeconds != nil && *s.ExpiresInSeconds < 60 {
  9365  		invalidParams.Add(request.NewErrParamMinValue("ExpiresInSeconds", 60))
  9366  	}
  9367  	if s.ProjectArn == nil {
  9368  		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
  9369  	}
  9370  	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
  9371  		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
  9372  	}
  9373  
  9374  	if invalidParams.Len() > 0 {
  9375  		return invalidParams
  9376  	}
  9377  	return nil
  9378  }
  9379  
  9380  // SetExpiresInSeconds sets the ExpiresInSeconds field's value.
  9381  func (s *CreateTestGridUrlInput) SetExpiresInSeconds(v int64) *CreateTestGridUrlInput {
  9382  	s.ExpiresInSeconds = &v
  9383  	return s
  9384  }
  9385  
  9386  // SetProjectArn sets the ProjectArn field's value.
  9387  func (s *CreateTestGridUrlInput) SetProjectArn(v string) *CreateTestGridUrlInput {
  9388  	s.ProjectArn = &v
  9389  	return s
  9390  }
  9391  
  9392  type CreateTestGridUrlOutput struct {
  9393  	_ struct{} `type:"structure"`
  9394  
  9395  	// The number of seconds the URL from CreateTestGridUrlResult$url stays active.
  9396  	Expires *time.Time `locationName:"expires" type:"timestamp"`
  9397  
  9398  	// A signed URL, expiring in CreateTestGridUrlRequest$expiresInSeconds seconds,
  9399  	// to be passed to a RemoteWebDriver.
  9400  	//
  9401  	// Url is a sensitive parameter and its value will be
  9402  	// replaced with "sensitive" in string returned by CreateTestGridUrlOutput's
  9403  	// String and GoString methods.
  9404  	Url *string `locationName:"url" type:"string" sensitive:"true"`
  9405  }
  9406  
  9407  // String returns the string representation.
  9408  //
  9409  // API parameter values that are decorated as "sensitive" in the API will not
  9410  // be included in the string output. The member name will be present, but the
  9411  // value will be replaced with "sensitive".
  9412  func (s CreateTestGridUrlOutput) String() string {
  9413  	return awsutil.Prettify(s)
  9414  }
  9415  
  9416  // GoString returns the string representation.
  9417  //
  9418  // API parameter values that are decorated as "sensitive" in the API will not
  9419  // be included in the string output. The member name will be present, but the
  9420  // value will be replaced with "sensitive".
  9421  func (s CreateTestGridUrlOutput) GoString() string {
  9422  	return s.String()
  9423  }
  9424  
  9425  // SetExpires sets the Expires field's value.
  9426  func (s *CreateTestGridUrlOutput) SetExpires(v time.Time) *CreateTestGridUrlOutput {
  9427  	s.Expires = &v
  9428  	return s
  9429  }
  9430  
  9431  // SetUrl sets the Url field's value.
  9432  func (s *CreateTestGridUrlOutput) SetUrl(v string) *CreateTestGridUrlOutput {
  9433  	s.Url = &v
  9434  	return s
  9435  }
  9436  
  9437  // Represents a request to the create upload operation.
  9438  type CreateUploadInput struct {
  9439  	_ struct{} `type:"structure"`
  9440  
  9441  	// The upload's content type (for example, application/octet-stream).
  9442  	ContentType *string `locationName:"contentType" type:"string"`
  9443  
  9444  	// The upload's file name. The name should not contain any forward slashes (/).
  9445  	// If you are uploading an iOS app, the file name must end with the .ipa extension.
  9446  	// If you are uploading an Android app, the file name must end with the .apk
  9447  	// extension. For all others, the file name must end with the .zip file extension.
  9448  	//
  9449  	// Name is a required field
  9450  	Name *string `locationName:"name" type:"string" required:"true"`
  9451  
  9452  	// The ARN of the project for the upload.
  9453  	//
  9454  	// ProjectArn is a required field
  9455  	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
  9456  
  9457  	// The upload's upload type.
  9458  	//
  9459  	// Must be one of the following values:
  9460  	//
  9461  	//    * ANDROID_APP
  9462  	//
  9463  	//    * IOS_APP
  9464  	//
  9465  	//    * WEB_APP
  9466  	//
  9467  	//    * EXTERNAL_DATA
  9468  	//
  9469  	//    * APPIUM_JAVA_JUNIT_TEST_PACKAGE
  9470  	//
  9471  	//    * APPIUM_JAVA_TESTNG_TEST_PACKAGE
  9472  	//
  9473  	//    * APPIUM_PYTHON_TEST_PACKAGE
  9474  	//
  9475  	//    * APPIUM_NODE_TEST_PACKAGE
  9476  	//
  9477  	//    * APPIUM_RUBY_TEST_PACKAGE
  9478  	//
  9479  	//    * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE
  9480  	//
  9481  	//    * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE
  9482  	//
  9483  	//    * APPIUM_WEB_PYTHON_TEST_PACKAGE
  9484  	//
  9485  	//    * APPIUM_WEB_NODE_TEST_PACKAGE
  9486  	//
  9487  	//    * APPIUM_WEB_RUBY_TEST_PACKAGE
  9488  	//
  9489  	//    * CALABASH_TEST_PACKAGE
  9490  	//
  9491  	//    * INSTRUMENTATION_TEST_PACKAGE
  9492  	//
  9493  	//    * UIAUTOMATION_TEST_PACKAGE
  9494  	//
  9495  	//    * UIAUTOMATOR_TEST_PACKAGE
  9496  	//
  9497  	//    * XCTEST_TEST_PACKAGE
  9498  	//
  9499  	//    * XCTEST_UI_TEST_PACKAGE
  9500  	//
  9501  	//    * APPIUM_JAVA_JUNIT_TEST_SPEC
  9502  	//
  9503  	//    * APPIUM_JAVA_TESTNG_TEST_SPEC
  9504  	//
  9505  	//    * APPIUM_PYTHON_TEST_SPEC
  9506  	//
  9507  	//    * APPIUM_NODE_TEST_SPEC
  9508  	//
  9509  	//    * APPIUM_RUBY_TEST_SPEC
  9510  	//
  9511  	//    * APPIUM_WEB_JAVA_JUNIT_TEST_SPEC
  9512  	//
  9513  	//    * APPIUM_WEB_JAVA_TESTNG_TEST_SPEC
  9514  	//
  9515  	//    * APPIUM_WEB_PYTHON_TEST_SPEC
  9516  	//
  9517  	//    * APPIUM_WEB_NODE_TEST_SPEC
  9518  	//
  9519  	//    * APPIUM_WEB_RUBY_TEST_SPEC
  9520  	//
  9521  	//    * INSTRUMENTATION_TEST_SPEC
  9522  	//
  9523  	//    * XCTEST_UI_TEST_SPEC
  9524  	//
  9525  	// If you call CreateUpload with WEB_APP specified, AWS Device Farm throws an
  9526  	// ArgumentException error.
  9527  	//
  9528  	// Type is a required field
  9529  	Type *string `locationName:"type" type:"string" required:"true" enum:"UploadType"`
  9530  }
  9531  
  9532  // String returns the string representation.
  9533  //
  9534  // API parameter values that are decorated as "sensitive" in the API will not
  9535  // be included in the string output. The member name will be present, but the
  9536  // value will be replaced with "sensitive".
  9537  func (s CreateUploadInput) String() string {
  9538  	return awsutil.Prettify(s)
  9539  }
  9540  
  9541  // GoString returns the string representation.
  9542  //
  9543  // API parameter values that are decorated as "sensitive" in the API will not
  9544  // be included in the string output. The member name will be present, but the
  9545  // value will be replaced with "sensitive".
  9546  func (s CreateUploadInput) GoString() string {
  9547  	return s.String()
  9548  }
  9549  
  9550  // Validate inspects the fields of the type to determine if they are valid.
  9551  func (s *CreateUploadInput) Validate() error {
  9552  	invalidParams := request.ErrInvalidParams{Context: "CreateUploadInput"}
  9553  	if s.Name == nil {
  9554  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9555  	}
  9556  	if s.ProjectArn == nil {
  9557  		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
  9558  	}
  9559  	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
  9560  		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
  9561  	}
  9562  	if s.Type == nil {
  9563  		invalidParams.Add(request.NewErrParamRequired("Type"))
  9564  	}
  9565  
  9566  	if invalidParams.Len() > 0 {
  9567  		return invalidParams
  9568  	}
  9569  	return nil
  9570  }
  9571  
  9572  // SetContentType sets the ContentType field's value.
  9573  func (s *CreateUploadInput) SetContentType(v string) *CreateUploadInput {
  9574  	s.ContentType = &v
  9575  	return s
  9576  }
  9577  
  9578  // SetName sets the Name field's value.
  9579  func (s *CreateUploadInput) SetName(v string) *CreateUploadInput {
  9580  	s.Name = &v
  9581  	return s
  9582  }
  9583  
  9584  // SetProjectArn sets the ProjectArn field's value.
  9585  func (s *CreateUploadInput) SetProjectArn(v string) *CreateUploadInput {
  9586  	s.ProjectArn = &v
  9587  	return s
  9588  }
  9589  
  9590  // SetType sets the Type field's value.
  9591  func (s *CreateUploadInput) SetType(v string) *CreateUploadInput {
  9592  	s.Type = &v
  9593  	return s
  9594  }
  9595  
  9596  // Represents the result of a create upload request.
  9597  type CreateUploadOutput struct {
  9598  	_ struct{} `type:"structure"`
  9599  
  9600  	// The newly created upload.
  9601  	Upload *Upload `locationName:"upload" type:"structure"`
  9602  }
  9603  
  9604  // String returns the string representation.
  9605  //
  9606  // API parameter values that are decorated as "sensitive" in the API will not
  9607  // be included in the string output. The member name will be present, but the
  9608  // value will be replaced with "sensitive".
  9609  func (s CreateUploadOutput) String() string {
  9610  	return awsutil.Prettify(s)
  9611  }
  9612  
  9613  // GoString returns the string representation.
  9614  //
  9615  // API parameter values that are decorated as "sensitive" in the API will not
  9616  // be included in the string output. The member name will be present, but the
  9617  // value will be replaced with "sensitive".
  9618  func (s CreateUploadOutput) GoString() string {
  9619  	return s.String()
  9620  }
  9621  
  9622  // SetUpload sets the Upload field's value.
  9623  func (s *CreateUploadOutput) SetUpload(v *Upload) *CreateUploadOutput {
  9624  	s.Upload = v
  9625  	return s
  9626  }
  9627  
  9628  type CreateVPCEConfigurationInput struct {
  9629  	_ struct{} `type:"structure"`
  9630  
  9631  	// The DNS name of the service running in your VPC that you want Device Farm
  9632  	// to test.
  9633  	//
  9634  	// ServiceDnsName is a required field
  9635  	ServiceDnsName *string `locationName:"serviceDnsName" type:"string" required:"true"`
  9636  
  9637  	// An optional description that provides details about your VPC endpoint configuration.
  9638  	VpceConfigurationDescription *string `locationName:"vpceConfigurationDescription" type:"string"`
  9639  
  9640  	// The friendly name you give to your VPC endpoint configuration, to manage
  9641  	// your configurations more easily.
  9642  	//
  9643  	// VpceConfigurationName is a required field
  9644  	VpceConfigurationName *string `locationName:"vpceConfigurationName" type:"string" required:"true"`
  9645  
  9646  	// The name of the VPC endpoint service running in your AWS account that you
  9647  	// want Device Farm to test.
  9648  	//
  9649  	// VpceServiceName is a required field
  9650  	VpceServiceName *string `locationName:"vpceServiceName" type:"string" required:"true"`
  9651  }
  9652  
  9653  // String returns the string representation.
  9654  //
  9655  // API parameter values that are decorated as "sensitive" in the API will not
  9656  // be included in the string output. The member name will be present, but the
  9657  // value will be replaced with "sensitive".
  9658  func (s CreateVPCEConfigurationInput) String() string {
  9659  	return awsutil.Prettify(s)
  9660  }
  9661  
  9662  // GoString returns the string representation.
  9663  //
  9664  // API parameter values that are decorated as "sensitive" in the API will not
  9665  // be included in the string output. The member name will be present, but the
  9666  // value will be replaced with "sensitive".
  9667  func (s CreateVPCEConfigurationInput) GoString() string {
  9668  	return s.String()
  9669  }
  9670  
  9671  // Validate inspects the fields of the type to determine if they are valid.
  9672  func (s *CreateVPCEConfigurationInput) Validate() error {
  9673  	invalidParams := request.ErrInvalidParams{Context: "CreateVPCEConfigurationInput"}
  9674  	if s.ServiceDnsName == nil {
  9675  		invalidParams.Add(request.NewErrParamRequired("ServiceDnsName"))
  9676  	}
  9677  	if s.VpceConfigurationName == nil {
  9678  		invalidParams.Add(request.NewErrParamRequired("VpceConfigurationName"))
  9679  	}
  9680  	if s.VpceServiceName == nil {
  9681  		invalidParams.Add(request.NewErrParamRequired("VpceServiceName"))
  9682  	}
  9683  
  9684  	if invalidParams.Len() > 0 {
  9685  		return invalidParams
  9686  	}
  9687  	return nil
  9688  }
  9689  
  9690  // SetServiceDnsName sets the ServiceDnsName field's value.
  9691  func (s *CreateVPCEConfigurationInput) SetServiceDnsName(v string) *CreateVPCEConfigurationInput {
  9692  	s.ServiceDnsName = &v
  9693  	return s
  9694  }
  9695  
  9696  // SetVpceConfigurationDescription sets the VpceConfigurationDescription field's value.
  9697  func (s *CreateVPCEConfigurationInput) SetVpceConfigurationDescription(v string) *CreateVPCEConfigurationInput {
  9698  	s.VpceConfigurationDescription = &v
  9699  	return s
  9700  }
  9701  
  9702  // SetVpceConfigurationName sets the VpceConfigurationName field's value.
  9703  func (s *CreateVPCEConfigurationInput) SetVpceConfigurationName(v string) *CreateVPCEConfigurationInput {
  9704  	s.VpceConfigurationName = &v
  9705  	return s
  9706  }
  9707  
  9708  // SetVpceServiceName sets the VpceServiceName field's value.
  9709  func (s *CreateVPCEConfigurationInput) SetVpceServiceName(v string) *CreateVPCEConfigurationInput {
  9710  	s.VpceServiceName = &v
  9711  	return s
  9712  }
  9713  
  9714  type CreateVPCEConfigurationOutput struct {
  9715  	_ struct{} `type:"structure"`
  9716  
  9717  	// An object that contains information about your VPC endpoint configuration.
  9718  	VpceConfiguration *VPCEConfiguration `locationName:"vpceConfiguration" type:"structure"`
  9719  }
  9720  
  9721  // String returns the string representation.
  9722  //
  9723  // API parameter values that are decorated as "sensitive" in the API will not
  9724  // be included in the string output. The member name will be present, but the
  9725  // value will be replaced with "sensitive".
  9726  func (s CreateVPCEConfigurationOutput) String() string {
  9727  	return awsutil.Prettify(s)
  9728  }
  9729  
  9730  // GoString returns the string representation.
  9731  //
  9732  // API parameter values that are decorated as "sensitive" in the API will not
  9733  // be included in the string output. The member name will be present, but the
  9734  // value will be replaced with "sensitive".
  9735  func (s CreateVPCEConfigurationOutput) GoString() string {
  9736  	return s.String()
  9737  }
  9738  
  9739  // SetVpceConfiguration sets the VpceConfiguration field's value.
  9740  func (s *CreateVPCEConfigurationOutput) SetVpceConfiguration(v *VPCEConfiguration) *CreateVPCEConfigurationOutput {
  9741  	s.VpceConfiguration = v
  9742  	return s
  9743  }
  9744  
  9745  // A JSON object that specifies the paths where the artifacts generated by the
  9746  // customer's tests, on the device or in the test environment, are pulled from.
  9747  //
  9748  // Specify deviceHostPaths and optionally specify either iosPaths or androidPaths.
  9749  //
  9750  // For web app tests, you can specify both iosPaths and androidPaths.
  9751  type CustomerArtifactPaths struct {
  9752  	_ struct{} `type:"structure"`
  9753  
  9754  	// Comma-separated list of paths on the Android device where the artifacts generated
  9755  	// by the customer's tests are pulled from.
  9756  	AndroidPaths []*string `locationName:"androidPaths" type:"list"`
  9757  
  9758  	// Comma-separated list of paths in the test execution environment where the
  9759  	// artifacts generated by the customer's tests are pulled from.
  9760  	DeviceHostPaths []*string `locationName:"deviceHostPaths" type:"list"`
  9761  
  9762  	// Comma-separated list of paths on the iOS device where the artifacts generated
  9763  	// by the customer's tests are pulled from.
  9764  	IosPaths []*string `locationName:"iosPaths" type:"list"`
  9765  }
  9766  
  9767  // String returns the string representation.
  9768  //
  9769  // API parameter values that are decorated as "sensitive" in the API will not
  9770  // be included in the string output. The member name will be present, but the
  9771  // value will be replaced with "sensitive".
  9772  func (s CustomerArtifactPaths) String() string {
  9773  	return awsutil.Prettify(s)
  9774  }
  9775  
  9776  // GoString returns the string representation.
  9777  //
  9778  // API parameter values that are decorated as "sensitive" in the API will not
  9779  // be included in the string output. The member name will be present, but the
  9780  // value will be replaced with "sensitive".
  9781  func (s CustomerArtifactPaths) GoString() string {
  9782  	return s.String()
  9783  }
  9784  
  9785  // SetAndroidPaths sets the AndroidPaths field's value.
  9786  func (s *CustomerArtifactPaths) SetAndroidPaths(v []*string) *CustomerArtifactPaths {
  9787  	s.AndroidPaths = v
  9788  	return s
  9789  }
  9790  
  9791  // SetDeviceHostPaths sets the DeviceHostPaths field's value.
  9792  func (s *CustomerArtifactPaths) SetDeviceHostPaths(v []*string) *CustomerArtifactPaths {
  9793  	s.DeviceHostPaths = v
  9794  	return s
  9795  }
  9796  
  9797  // SetIosPaths sets the IosPaths field's value.
  9798  func (s *CustomerArtifactPaths) SetIosPaths(v []*string) *CustomerArtifactPaths {
  9799  	s.IosPaths = v
  9800  	return s
  9801  }
  9802  
  9803  // Represents a request to the delete device pool operation.
  9804  type DeleteDevicePoolInput struct {
  9805  	_ struct{} `type:"structure"`
  9806  
  9807  	// Represents the Amazon Resource Name (ARN) of the Device Farm device pool
  9808  	// to delete.
  9809  	//
  9810  	// Arn is a required field
  9811  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
  9812  }
  9813  
  9814  // String returns the string representation.
  9815  //
  9816  // API parameter values that are decorated as "sensitive" in the API will not
  9817  // be included in the string output. The member name will be present, but the
  9818  // value will be replaced with "sensitive".
  9819  func (s DeleteDevicePoolInput) String() string {
  9820  	return awsutil.Prettify(s)
  9821  }
  9822  
  9823  // GoString returns the string representation.
  9824  //
  9825  // API parameter values that are decorated as "sensitive" in the API will not
  9826  // be included in the string output. The member name will be present, but the
  9827  // value will be replaced with "sensitive".
  9828  func (s DeleteDevicePoolInput) GoString() string {
  9829  	return s.String()
  9830  }
  9831  
  9832  // Validate inspects the fields of the type to determine if they are valid.
  9833  func (s *DeleteDevicePoolInput) Validate() error {
  9834  	invalidParams := request.ErrInvalidParams{Context: "DeleteDevicePoolInput"}
  9835  	if s.Arn == nil {
  9836  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  9837  	}
  9838  	if s.Arn != nil && len(*s.Arn) < 32 {
  9839  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
  9840  	}
  9841  
  9842  	if invalidParams.Len() > 0 {
  9843  		return invalidParams
  9844  	}
  9845  	return nil
  9846  }
  9847  
  9848  // SetArn sets the Arn field's value.
  9849  func (s *DeleteDevicePoolInput) SetArn(v string) *DeleteDevicePoolInput {
  9850  	s.Arn = &v
  9851  	return s
  9852  }
  9853  
  9854  // Represents the result of a delete device pool request.
  9855  type DeleteDevicePoolOutput struct {
  9856  	_ struct{} `type:"structure"`
  9857  }
  9858  
  9859  // String returns the string representation.
  9860  //
  9861  // API parameter values that are decorated as "sensitive" in the API will not
  9862  // be included in the string output. The member name will be present, but the
  9863  // value will be replaced with "sensitive".
  9864  func (s DeleteDevicePoolOutput) String() string {
  9865  	return awsutil.Prettify(s)
  9866  }
  9867  
  9868  // GoString returns the string representation.
  9869  //
  9870  // API parameter values that are decorated as "sensitive" in the API will not
  9871  // be included in the string output. The member name will be present, but the
  9872  // value will be replaced with "sensitive".
  9873  func (s DeleteDevicePoolOutput) GoString() string {
  9874  	return s.String()
  9875  }
  9876  
  9877  type DeleteInstanceProfileInput struct {
  9878  	_ struct{} `type:"structure"`
  9879  
  9880  	// The Amazon Resource Name (ARN) of the instance profile you are requesting
  9881  	// to delete.
  9882  	//
  9883  	// Arn is a required field
  9884  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
  9885  }
  9886  
  9887  // String returns the string representation.
  9888  //
  9889  // API parameter values that are decorated as "sensitive" in the API will not
  9890  // be included in the string output. The member name will be present, but the
  9891  // value will be replaced with "sensitive".
  9892  func (s DeleteInstanceProfileInput) String() string {
  9893  	return awsutil.Prettify(s)
  9894  }
  9895  
  9896  // GoString returns the string representation.
  9897  //
  9898  // API parameter values that are decorated as "sensitive" in the API will not
  9899  // be included in the string output. The member name will be present, but the
  9900  // value will be replaced with "sensitive".
  9901  func (s DeleteInstanceProfileInput) GoString() string {
  9902  	return s.String()
  9903  }
  9904  
  9905  // Validate inspects the fields of the type to determine if they are valid.
  9906  func (s *DeleteInstanceProfileInput) Validate() error {
  9907  	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceProfileInput"}
  9908  	if s.Arn == nil {
  9909  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  9910  	}
  9911  	if s.Arn != nil && len(*s.Arn) < 32 {
  9912  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
  9913  	}
  9914  
  9915  	if invalidParams.Len() > 0 {
  9916  		return invalidParams
  9917  	}
  9918  	return nil
  9919  }
  9920  
  9921  // SetArn sets the Arn field's value.
  9922  func (s *DeleteInstanceProfileInput) SetArn(v string) *DeleteInstanceProfileInput {
  9923  	s.Arn = &v
  9924  	return s
  9925  }
  9926  
  9927  type DeleteInstanceProfileOutput struct {
  9928  	_ struct{} `type:"structure"`
  9929  }
  9930  
  9931  // String returns the string representation.
  9932  //
  9933  // API parameter values that are decorated as "sensitive" in the API will not
  9934  // be included in the string output. The member name will be present, but the
  9935  // value will be replaced with "sensitive".
  9936  func (s DeleteInstanceProfileOutput) String() string {
  9937  	return awsutil.Prettify(s)
  9938  }
  9939  
  9940  // GoString returns the string representation.
  9941  //
  9942  // API parameter values that are decorated as "sensitive" in the API will not
  9943  // be included in the string output. The member name will be present, but the
  9944  // value will be replaced with "sensitive".
  9945  func (s DeleteInstanceProfileOutput) GoString() string {
  9946  	return s.String()
  9947  }
  9948  
  9949  type DeleteNetworkProfileInput struct {
  9950  	_ struct{} `type:"structure"`
  9951  
  9952  	// The ARN of the network profile to delete.
  9953  	//
  9954  	// Arn is a required field
  9955  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
  9956  }
  9957  
  9958  // String returns the string representation.
  9959  //
  9960  // API parameter values that are decorated as "sensitive" in the API will not
  9961  // be included in the string output. The member name will be present, but the
  9962  // value will be replaced with "sensitive".
  9963  func (s DeleteNetworkProfileInput) String() string {
  9964  	return awsutil.Prettify(s)
  9965  }
  9966  
  9967  // GoString returns the string representation.
  9968  //
  9969  // API parameter values that are decorated as "sensitive" in the API will not
  9970  // be included in the string output. The member name will be present, but the
  9971  // value will be replaced with "sensitive".
  9972  func (s DeleteNetworkProfileInput) GoString() string {
  9973  	return s.String()
  9974  }
  9975  
  9976  // Validate inspects the fields of the type to determine if they are valid.
  9977  func (s *DeleteNetworkProfileInput) Validate() error {
  9978  	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkProfileInput"}
  9979  	if s.Arn == nil {
  9980  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  9981  	}
  9982  	if s.Arn != nil && len(*s.Arn) < 32 {
  9983  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
  9984  	}
  9985  
  9986  	if invalidParams.Len() > 0 {
  9987  		return invalidParams
  9988  	}
  9989  	return nil
  9990  }
  9991  
  9992  // SetArn sets the Arn field's value.
  9993  func (s *DeleteNetworkProfileInput) SetArn(v string) *DeleteNetworkProfileInput {
  9994  	s.Arn = &v
  9995  	return s
  9996  }
  9997  
  9998  type DeleteNetworkProfileOutput struct {
  9999  	_ struct{} `type:"structure"`
 10000  }
 10001  
 10002  // String returns the string representation.
 10003  //
 10004  // API parameter values that are decorated as "sensitive" in the API will not
 10005  // be included in the string output. The member name will be present, but the
 10006  // value will be replaced with "sensitive".
 10007  func (s DeleteNetworkProfileOutput) String() string {
 10008  	return awsutil.Prettify(s)
 10009  }
 10010  
 10011  // GoString returns the string representation.
 10012  //
 10013  // API parameter values that are decorated as "sensitive" in the API will not
 10014  // be included in the string output. The member name will be present, but the
 10015  // value will be replaced with "sensitive".
 10016  func (s DeleteNetworkProfileOutput) GoString() string {
 10017  	return s.String()
 10018  }
 10019  
 10020  // Represents a request to the delete project operation.
 10021  type DeleteProjectInput struct {
 10022  	_ struct{} `type:"structure"`
 10023  
 10024  	// Represents the Amazon Resource Name (ARN) of the Device Farm project to delete.
 10025  	//
 10026  	// Arn is a required field
 10027  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 10028  }
 10029  
 10030  // String returns the string representation.
 10031  //
 10032  // API parameter values that are decorated as "sensitive" in the API will not
 10033  // be included in the string output. The member name will be present, but the
 10034  // value will be replaced with "sensitive".
 10035  func (s DeleteProjectInput) String() string {
 10036  	return awsutil.Prettify(s)
 10037  }
 10038  
 10039  // GoString returns the string representation.
 10040  //
 10041  // API parameter values that are decorated as "sensitive" in the API will not
 10042  // be included in the string output. The member name will be present, but the
 10043  // value will be replaced with "sensitive".
 10044  func (s DeleteProjectInput) GoString() string {
 10045  	return s.String()
 10046  }
 10047  
 10048  // Validate inspects the fields of the type to determine if they are valid.
 10049  func (s *DeleteProjectInput) Validate() error {
 10050  	invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"}
 10051  	if s.Arn == nil {
 10052  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 10053  	}
 10054  	if s.Arn != nil && len(*s.Arn) < 32 {
 10055  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 10056  	}
 10057  
 10058  	if invalidParams.Len() > 0 {
 10059  		return invalidParams
 10060  	}
 10061  	return nil
 10062  }
 10063  
 10064  // SetArn sets the Arn field's value.
 10065  func (s *DeleteProjectInput) SetArn(v string) *DeleteProjectInput {
 10066  	s.Arn = &v
 10067  	return s
 10068  }
 10069  
 10070  // Represents the result of a delete project request.
 10071  type DeleteProjectOutput struct {
 10072  	_ struct{} `type:"structure"`
 10073  }
 10074  
 10075  // String returns the string representation.
 10076  //
 10077  // API parameter values that are decorated as "sensitive" in the API will not
 10078  // be included in the string output. The member name will be present, but the
 10079  // value will be replaced with "sensitive".
 10080  func (s DeleteProjectOutput) String() string {
 10081  	return awsutil.Prettify(s)
 10082  }
 10083  
 10084  // GoString returns the string representation.
 10085  //
 10086  // API parameter values that are decorated as "sensitive" in the API will not
 10087  // be included in the string output. The member name will be present, but the
 10088  // value will be replaced with "sensitive".
 10089  func (s DeleteProjectOutput) GoString() string {
 10090  	return s.String()
 10091  }
 10092  
 10093  // Represents the request to delete the specified remote access session.
 10094  type DeleteRemoteAccessSessionInput struct {
 10095  	_ struct{} `type:"structure"`
 10096  
 10097  	// The Amazon Resource Name (ARN) of the session for which you want to delete
 10098  	// remote access.
 10099  	//
 10100  	// Arn is a required field
 10101  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 10102  }
 10103  
 10104  // String returns the string representation.
 10105  //
 10106  // API parameter values that are decorated as "sensitive" in the API will not
 10107  // be included in the string output. The member name will be present, but the
 10108  // value will be replaced with "sensitive".
 10109  func (s DeleteRemoteAccessSessionInput) String() string {
 10110  	return awsutil.Prettify(s)
 10111  }
 10112  
 10113  // GoString returns the string representation.
 10114  //
 10115  // API parameter values that are decorated as "sensitive" in the API will not
 10116  // be included in the string output. The member name will be present, but the
 10117  // value will be replaced with "sensitive".
 10118  func (s DeleteRemoteAccessSessionInput) GoString() string {
 10119  	return s.String()
 10120  }
 10121  
 10122  // Validate inspects the fields of the type to determine if they are valid.
 10123  func (s *DeleteRemoteAccessSessionInput) Validate() error {
 10124  	invalidParams := request.ErrInvalidParams{Context: "DeleteRemoteAccessSessionInput"}
 10125  	if s.Arn == nil {
 10126  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 10127  	}
 10128  	if s.Arn != nil && len(*s.Arn) < 32 {
 10129  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 10130  	}
 10131  
 10132  	if invalidParams.Len() > 0 {
 10133  		return invalidParams
 10134  	}
 10135  	return nil
 10136  }
 10137  
 10138  // SetArn sets the Arn field's value.
 10139  func (s *DeleteRemoteAccessSessionInput) SetArn(v string) *DeleteRemoteAccessSessionInput {
 10140  	s.Arn = &v
 10141  	return s
 10142  }
 10143  
 10144  // The response from the server when a request is made to delete the remote
 10145  // access session.
 10146  type DeleteRemoteAccessSessionOutput struct {
 10147  	_ struct{} `type:"structure"`
 10148  }
 10149  
 10150  // String returns the string representation.
 10151  //
 10152  // API parameter values that are decorated as "sensitive" in the API will not
 10153  // be included in the string output. The member name will be present, but the
 10154  // value will be replaced with "sensitive".
 10155  func (s DeleteRemoteAccessSessionOutput) String() string {
 10156  	return awsutil.Prettify(s)
 10157  }
 10158  
 10159  // GoString returns the string representation.
 10160  //
 10161  // API parameter values that are decorated as "sensitive" in the API will not
 10162  // be included in the string output. The member name will be present, but the
 10163  // value will be replaced with "sensitive".
 10164  func (s DeleteRemoteAccessSessionOutput) GoString() string {
 10165  	return s.String()
 10166  }
 10167  
 10168  // Represents a request to the delete run operation.
 10169  type DeleteRunInput struct {
 10170  	_ struct{} `type:"structure"`
 10171  
 10172  	// The Amazon Resource Name (ARN) for the run to delete.
 10173  	//
 10174  	// Arn is a required field
 10175  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 10176  }
 10177  
 10178  // String returns the string representation.
 10179  //
 10180  // API parameter values that are decorated as "sensitive" in the API will not
 10181  // be included in the string output. The member name will be present, but the
 10182  // value will be replaced with "sensitive".
 10183  func (s DeleteRunInput) String() string {
 10184  	return awsutil.Prettify(s)
 10185  }
 10186  
 10187  // GoString returns the string representation.
 10188  //
 10189  // API parameter values that are decorated as "sensitive" in the API will not
 10190  // be included in the string output. The member name will be present, but the
 10191  // value will be replaced with "sensitive".
 10192  func (s DeleteRunInput) GoString() string {
 10193  	return s.String()
 10194  }
 10195  
 10196  // Validate inspects the fields of the type to determine if they are valid.
 10197  func (s *DeleteRunInput) Validate() error {
 10198  	invalidParams := request.ErrInvalidParams{Context: "DeleteRunInput"}
 10199  	if s.Arn == nil {
 10200  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 10201  	}
 10202  	if s.Arn != nil && len(*s.Arn) < 32 {
 10203  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 10204  	}
 10205  
 10206  	if invalidParams.Len() > 0 {
 10207  		return invalidParams
 10208  	}
 10209  	return nil
 10210  }
 10211  
 10212  // SetArn sets the Arn field's value.
 10213  func (s *DeleteRunInput) SetArn(v string) *DeleteRunInput {
 10214  	s.Arn = &v
 10215  	return s
 10216  }
 10217  
 10218  // Represents the result of a delete run request.
 10219  type DeleteRunOutput struct {
 10220  	_ struct{} `type:"structure"`
 10221  }
 10222  
 10223  // String returns the string representation.
 10224  //
 10225  // API parameter values that are decorated as "sensitive" in the API will not
 10226  // be included in the string output. The member name will be present, but the
 10227  // value will be replaced with "sensitive".
 10228  func (s DeleteRunOutput) String() string {
 10229  	return awsutil.Prettify(s)
 10230  }
 10231  
 10232  // GoString returns the string representation.
 10233  //
 10234  // API parameter values that are decorated as "sensitive" in the API will not
 10235  // be included in the string output. The member name will be present, but the
 10236  // value will be replaced with "sensitive".
 10237  func (s DeleteRunOutput) GoString() string {
 10238  	return s.String()
 10239  }
 10240  
 10241  type DeleteTestGridProjectInput struct {
 10242  	_ struct{} `type:"structure"`
 10243  
 10244  	// The ARN of the project to delete, from CreateTestGridProject or ListTestGridProjects.
 10245  	//
 10246  	// ProjectArn is a required field
 10247  	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
 10248  }
 10249  
 10250  // String returns the string representation.
 10251  //
 10252  // API parameter values that are decorated as "sensitive" in the API will not
 10253  // be included in the string output. The member name will be present, but the
 10254  // value will be replaced with "sensitive".
 10255  func (s DeleteTestGridProjectInput) String() string {
 10256  	return awsutil.Prettify(s)
 10257  }
 10258  
 10259  // GoString returns the string representation.
 10260  //
 10261  // API parameter values that are decorated as "sensitive" in the API will not
 10262  // be included in the string output. The member name will be present, but the
 10263  // value will be replaced with "sensitive".
 10264  func (s DeleteTestGridProjectInput) GoString() string {
 10265  	return s.String()
 10266  }
 10267  
 10268  // Validate inspects the fields of the type to determine if they are valid.
 10269  func (s *DeleteTestGridProjectInput) Validate() error {
 10270  	invalidParams := request.ErrInvalidParams{Context: "DeleteTestGridProjectInput"}
 10271  	if s.ProjectArn == nil {
 10272  		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
 10273  	}
 10274  	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
 10275  		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
 10276  	}
 10277  
 10278  	if invalidParams.Len() > 0 {
 10279  		return invalidParams
 10280  	}
 10281  	return nil
 10282  }
 10283  
 10284  // SetProjectArn sets the ProjectArn field's value.
 10285  func (s *DeleteTestGridProjectInput) SetProjectArn(v string) *DeleteTestGridProjectInput {
 10286  	s.ProjectArn = &v
 10287  	return s
 10288  }
 10289  
 10290  type DeleteTestGridProjectOutput struct {
 10291  	_ struct{} `type:"structure"`
 10292  }
 10293  
 10294  // String returns the string representation.
 10295  //
 10296  // API parameter values that are decorated as "sensitive" in the API will not
 10297  // be included in the string output. The member name will be present, but the
 10298  // value will be replaced with "sensitive".
 10299  func (s DeleteTestGridProjectOutput) String() string {
 10300  	return awsutil.Prettify(s)
 10301  }
 10302  
 10303  // GoString returns the string representation.
 10304  //
 10305  // API parameter values that are decorated as "sensitive" in the API will not
 10306  // be included in the string output. The member name will be present, but the
 10307  // value will be replaced with "sensitive".
 10308  func (s DeleteTestGridProjectOutput) GoString() string {
 10309  	return s.String()
 10310  }
 10311  
 10312  // Represents a request to the delete upload operation.
 10313  type DeleteUploadInput struct {
 10314  	_ struct{} `type:"structure"`
 10315  
 10316  	// Represents the Amazon Resource Name (ARN) of the Device Farm upload to delete.
 10317  	//
 10318  	// Arn is a required field
 10319  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 10320  }
 10321  
 10322  // String returns the string representation.
 10323  //
 10324  // API parameter values that are decorated as "sensitive" in the API will not
 10325  // be included in the string output. The member name will be present, but the
 10326  // value will be replaced with "sensitive".
 10327  func (s DeleteUploadInput) String() string {
 10328  	return awsutil.Prettify(s)
 10329  }
 10330  
 10331  // GoString returns the string representation.
 10332  //
 10333  // API parameter values that are decorated as "sensitive" in the API will not
 10334  // be included in the string output. The member name will be present, but the
 10335  // value will be replaced with "sensitive".
 10336  func (s DeleteUploadInput) GoString() string {
 10337  	return s.String()
 10338  }
 10339  
 10340  // Validate inspects the fields of the type to determine if they are valid.
 10341  func (s *DeleteUploadInput) Validate() error {
 10342  	invalidParams := request.ErrInvalidParams{Context: "DeleteUploadInput"}
 10343  	if s.Arn == nil {
 10344  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 10345  	}
 10346  	if s.Arn != nil && len(*s.Arn) < 32 {
 10347  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 10348  	}
 10349  
 10350  	if invalidParams.Len() > 0 {
 10351  		return invalidParams
 10352  	}
 10353  	return nil
 10354  }
 10355  
 10356  // SetArn sets the Arn field's value.
 10357  func (s *DeleteUploadInput) SetArn(v string) *DeleteUploadInput {
 10358  	s.Arn = &v
 10359  	return s
 10360  }
 10361  
 10362  // Represents the result of a delete upload request.
 10363  type DeleteUploadOutput struct {
 10364  	_ struct{} `type:"structure"`
 10365  }
 10366  
 10367  // String returns the string representation.
 10368  //
 10369  // API parameter values that are decorated as "sensitive" in the API will not
 10370  // be included in the string output. The member name will be present, but the
 10371  // value will be replaced with "sensitive".
 10372  func (s DeleteUploadOutput) String() string {
 10373  	return awsutil.Prettify(s)
 10374  }
 10375  
 10376  // GoString returns the string representation.
 10377  //
 10378  // API parameter values that are decorated as "sensitive" in the API will not
 10379  // be included in the string output. The member name will be present, but the
 10380  // value will be replaced with "sensitive".
 10381  func (s DeleteUploadOutput) GoString() string {
 10382  	return s.String()
 10383  }
 10384  
 10385  type DeleteVPCEConfigurationInput struct {
 10386  	_ struct{} `type:"structure"`
 10387  
 10388  	// The Amazon Resource Name (ARN) of the VPC endpoint configuration you want
 10389  	// to delete.
 10390  	//
 10391  	// Arn is a required field
 10392  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 10393  }
 10394  
 10395  // String returns the string representation.
 10396  //
 10397  // API parameter values that are decorated as "sensitive" in the API will not
 10398  // be included in the string output. The member name will be present, but the
 10399  // value will be replaced with "sensitive".
 10400  func (s DeleteVPCEConfigurationInput) String() string {
 10401  	return awsutil.Prettify(s)
 10402  }
 10403  
 10404  // GoString returns the string representation.
 10405  //
 10406  // API parameter values that are decorated as "sensitive" in the API will not
 10407  // be included in the string output. The member name will be present, but the
 10408  // value will be replaced with "sensitive".
 10409  func (s DeleteVPCEConfigurationInput) GoString() string {
 10410  	return s.String()
 10411  }
 10412  
 10413  // Validate inspects the fields of the type to determine if they are valid.
 10414  func (s *DeleteVPCEConfigurationInput) Validate() error {
 10415  	invalidParams := request.ErrInvalidParams{Context: "DeleteVPCEConfigurationInput"}
 10416  	if s.Arn == nil {
 10417  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 10418  	}
 10419  	if s.Arn != nil && len(*s.Arn) < 32 {
 10420  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 10421  	}
 10422  
 10423  	if invalidParams.Len() > 0 {
 10424  		return invalidParams
 10425  	}
 10426  	return nil
 10427  }
 10428  
 10429  // SetArn sets the Arn field's value.
 10430  func (s *DeleteVPCEConfigurationInput) SetArn(v string) *DeleteVPCEConfigurationInput {
 10431  	s.Arn = &v
 10432  	return s
 10433  }
 10434  
 10435  type DeleteVPCEConfigurationOutput struct {
 10436  	_ struct{} `type:"structure"`
 10437  }
 10438  
 10439  // String returns the string representation.
 10440  //
 10441  // API parameter values that are decorated as "sensitive" in the API will not
 10442  // be included in the string output. The member name will be present, but the
 10443  // value will be replaced with "sensitive".
 10444  func (s DeleteVPCEConfigurationOutput) String() string {
 10445  	return awsutil.Prettify(s)
 10446  }
 10447  
 10448  // GoString returns the string representation.
 10449  //
 10450  // API parameter values that are decorated as "sensitive" in the API will not
 10451  // be included in the string output. The member name will be present, but the
 10452  // value will be replaced with "sensitive".
 10453  func (s DeleteVPCEConfigurationOutput) GoString() string {
 10454  	return s.String()
 10455  }
 10456  
 10457  // Represents a device type that an app is tested against.
 10458  type Device struct {
 10459  	_ struct{} `type:"structure"`
 10460  
 10461  	// The device's ARN.
 10462  	Arn *string `locationName:"arn" min:"32" type:"string"`
 10463  
 10464  	// Indicates how likely a device is available for a test run. Currently available
 10465  	// in the ListDevices and GetDevice API methods.
 10466  	Availability *string `locationName:"availability" type:"string" enum:"DeviceAvailability"`
 10467  
 10468  	// The device's carrier.
 10469  	Carrier *string `locationName:"carrier" type:"string"`
 10470  
 10471  	// Information about the device's CPU.
 10472  	Cpu *CPU `locationName:"cpu" type:"structure"`
 10473  
 10474  	// The name of the fleet to which this device belongs.
 10475  	FleetName *string `locationName:"fleetName" type:"string"`
 10476  
 10477  	// The type of fleet to which this device belongs. Possible values are PRIVATE
 10478  	// and PUBLIC.
 10479  	FleetType *string `locationName:"fleetType" type:"string"`
 10480  
 10481  	// The device's form factor.
 10482  	//
 10483  	// Allowed values include:
 10484  	//
 10485  	//    * PHONE
 10486  	//
 10487  	//    * TABLET
 10488  	FormFactor *string `locationName:"formFactor" type:"string" enum:"DeviceFormFactor"`
 10489  
 10490  	// The device's heap size, expressed in bytes.
 10491  	HeapSize *int64 `locationName:"heapSize" type:"long"`
 10492  
 10493  	// The device's image name.
 10494  	Image *string `locationName:"image" type:"string"`
 10495  
 10496  	// The instances that belong to this device.
 10497  	Instances []*DeviceInstance `locationName:"instances" type:"list"`
 10498  
 10499  	// The device's manufacturer name.
 10500  	Manufacturer *string `locationName:"manufacturer" type:"string"`
 10501  
 10502  	// The device's total memory size, expressed in bytes.
 10503  	Memory *int64 `locationName:"memory" type:"long"`
 10504  
 10505  	// The device's model name.
 10506  	Model *string `locationName:"model" type:"string"`
 10507  
 10508  	// The device's model ID.
 10509  	ModelId *string `locationName:"modelId" type:"string"`
 10510  
 10511  	// The device's display name.
 10512  	Name *string `locationName:"name" type:"string"`
 10513  
 10514  	// The device's operating system type.
 10515  	Os *string `locationName:"os" type:"string"`
 10516  
 10517  	// The device's platform.
 10518  	//
 10519  	// Allowed values include:
 10520  	//
 10521  	//    * ANDROID
 10522  	//
 10523  	//    * IOS
 10524  	Platform *string `locationName:"platform" type:"string" enum:"DevicePlatform"`
 10525  
 10526  	// The device's radio.
 10527  	Radio *string `locationName:"radio" type:"string"`
 10528  
 10529  	// Specifies whether remote access has been enabled for the specified device.
 10530  	RemoteAccessEnabled *bool `locationName:"remoteAccessEnabled" type:"boolean"`
 10531  
 10532  	// This flag is set to true if remote debugging is enabled for the device.
 10533  	//
 10534  	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
 10535  	RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"`
 10536  
 10537  	// The resolution of the device.
 10538  	Resolution *Resolution `locationName:"resolution" type:"structure"`
 10539  }
 10540  
 10541  // String returns the string representation.
 10542  //
 10543  // API parameter values that are decorated as "sensitive" in the API will not
 10544  // be included in the string output. The member name will be present, but the
 10545  // value will be replaced with "sensitive".
 10546  func (s Device) String() string {
 10547  	return awsutil.Prettify(s)
 10548  }
 10549  
 10550  // GoString returns the string representation.
 10551  //
 10552  // API parameter values that are decorated as "sensitive" in the API will not
 10553  // be included in the string output. The member name will be present, but the
 10554  // value will be replaced with "sensitive".
 10555  func (s Device) GoString() string {
 10556  	return s.String()
 10557  }
 10558  
 10559  // SetArn sets the Arn field's value.
 10560  func (s *Device) SetArn(v string) *Device {
 10561  	s.Arn = &v
 10562  	return s
 10563  }
 10564  
 10565  // SetAvailability sets the Availability field's value.
 10566  func (s *Device) SetAvailability(v string) *Device {
 10567  	s.Availability = &v
 10568  	return s
 10569  }
 10570  
 10571  // SetCarrier sets the Carrier field's value.
 10572  func (s *Device) SetCarrier(v string) *Device {
 10573  	s.Carrier = &v
 10574  	return s
 10575  }
 10576  
 10577  // SetCpu sets the Cpu field's value.
 10578  func (s *Device) SetCpu(v *CPU) *Device {
 10579  	s.Cpu = v
 10580  	return s
 10581  }
 10582  
 10583  // SetFleetName sets the FleetName field's value.
 10584  func (s *Device) SetFleetName(v string) *Device {
 10585  	s.FleetName = &v
 10586  	return s
 10587  }
 10588  
 10589  // SetFleetType sets the FleetType field's value.
 10590  func (s *Device) SetFleetType(v string) *Device {
 10591  	s.FleetType = &v
 10592  	return s
 10593  }
 10594  
 10595  // SetFormFactor sets the FormFactor field's value.
 10596  func (s *Device) SetFormFactor(v string) *Device {
 10597  	s.FormFactor = &v
 10598  	return s
 10599  }
 10600  
 10601  // SetHeapSize sets the HeapSize field's value.
 10602  func (s *Device) SetHeapSize(v int64) *Device {
 10603  	s.HeapSize = &v
 10604  	return s
 10605  }
 10606  
 10607  // SetImage sets the Image field's value.
 10608  func (s *Device) SetImage(v string) *Device {
 10609  	s.Image = &v
 10610  	return s
 10611  }
 10612  
 10613  // SetInstances sets the Instances field's value.
 10614  func (s *Device) SetInstances(v []*DeviceInstance) *Device {
 10615  	s.Instances = v
 10616  	return s
 10617  }
 10618  
 10619  // SetManufacturer sets the Manufacturer field's value.
 10620  func (s *Device) SetManufacturer(v string) *Device {
 10621  	s.Manufacturer = &v
 10622  	return s
 10623  }
 10624  
 10625  // SetMemory sets the Memory field's value.
 10626  func (s *Device) SetMemory(v int64) *Device {
 10627  	s.Memory = &v
 10628  	return s
 10629  }
 10630  
 10631  // SetModel sets the Model field's value.
 10632  func (s *Device) SetModel(v string) *Device {
 10633  	s.Model = &v
 10634  	return s
 10635  }
 10636  
 10637  // SetModelId sets the ModelId field's value.
 10638  func (s *Device) SetModelId(v string) *Device {
 10639  	s.ModelId = &v
 10640  	return s
 10641  }
 10642  
 10643  // SetName sets the Name field's value.
 10644  func (s *Device) SetName(v string) *Device {
 10645  	s.Name = &v
 10646  	return s
 10647  }
 10648  
 10649  // SetOs sets the Os field's value.
 10650  func (s *Device) SetOs(v string) *Device {
 10651  	s.Os = &v
 10652  	return s
 10653  }
 10654  
 10655  // SetPlatform sets the Platform field's value.
 10656  func (s *Device) SetPlatform(v string) *Device {
 10657  	s.Platform = &v
 10658  	return s
 10659  }
 10660  
 10661  // SetRadio sets the Radio field's value.
 10662  func (s *Device) SetRadio(v string) *Device {
 10663  	s.Radio = &v
 10664  	return s
 10665  }
 10666  
 10667  // SetRemoteAccessEnabled sets the RemoteAccessEnabled field's value.
 10668  func (s *Device) SetRemoteAccessEnabled(v bool) *Device {
 10669  	s.RemoteAccessEnabled = &v
 10670  	return s
 10671  }
 10672  
 10673  // SetRemoteDebugEnabled sets the RemoteDebugEnabled field's value.
 10674  func (s *Device) SetRemoteDebugEnabled(v bool) *Device {
 10675  	s.RemoteDebugEnabled = &v
 10676  	return s
 10677  }
 10678  
 10679  // SetResolution sets the Resolution field's value.
 10680  func (s *Device) SetResolution(v *Resolution) *Device {
 10681  	s.Resolution = v
 10682  	return s
 10683  }
 10684  
 10685  // Represents a device filter used to select a set of devices to be included
 10686  // in a test run. This data structure is passed in as the deviceSelectionConfiguration
 10687  // parameter to ScheduleRun. For an example of the JSON request syntax, see
 10688  // ScheduleRun.
 10689  //
 10690  // It is also passed in as the filters parameter to ListDevices. For an example
 10691  // of the JSON request syntax, see ListDevices.
 10692  type DeviceFilter struct {
 10693  	_ struct{} `type:"structure"`
 10694  
 10695  	// The aspect of a device such as platform or model used as the selection criteria
 10696  	// in a device filter.
 10697  	//
 10698  	// The supported operators for each attribute are provided in the following
 10699  	// list.
 10700  	//
 10701  	// ARN
 10702  	//
 10703  	// The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example).
 10704  	//
 10705  	// Supported operators: EQUALS, IN, NOT_IN
 10706  	//
 10707  	// PLATFORM
 10708  	//
 10709  	// The device platform. Valid values are ANDROID or IOS.
 10710  	//
 10711  	// Supported operators: EQUALS
 10712  	//
 10713  	// OS_VERSION
 10714  	//
 10715  	// The operating system version (for example, 10.3.2).
 10716  	//
 10717  	// Supported operators: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, IN, LESS_THAN,
 10718  	// LESS_THAN_OR_EQUALS, NOT_IN
 10719  	//
 10720  	// MODEL
 10721  	//
 10722  	// The device model (for example, iPad 5th Gen).
 10723  	//
 10724  	// Supported operators: CONTAINS, EQUALS, IN, NOT_IN
 10725  	//
 10726  	// AVAILABILITY
 10727  	//
 10728  	// The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE,
 10729  	// BUSY, or TEMPORARY_NOT_AVAILABLE.
 10730  	//
 10731  	// Supported operators: EQUALS
 10732  	//
 10733  	// FORM_FACTOR
 10734  	//
 10735  	// The device form factor. Valid values are PHONE or TABLET.
 10736  	//
 10737  	// Supported operators: EQUALS
 10738  	//
 10739  	// MANUFACTURER
 10740  	//
 10741  	// The device manufacturer (for example, Apple).
 10742  	//
 10743  	// Supported operators: EQUALS, IN, NOT_IN
 10744  	//
 10745  	// REMOTE_ACCESS_ENABLED
 10746  	//
 10747  	// Whether the device is enabled for remote access. Valid values are TRUE or
 10748  	// FALSE.
 10749  	//
 10750  	// Supported operators: EQUALS
 10751  	//
 10752  	// REMOTE_DEBUG_ENABLED
 10753  	//
 10754  	// Whether the device is enabled for remote debugging. Valid values are TRUE
 10755  	// or FALSE.
 10756  	//
 10757  	// Supported operators: EQUALS
 10758  	//
 10759  	// Because remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html),
 10760  	// this filter is ignored.
 10761  	//
 10762  	// INSTANCE_ARN
 10763  	//
 10764  	// The Amazon Resource Name (ARN) of the device instance.
 10765  	//
 10766  	// Supported operators: EQUALS, IN, NOT_IN
 10767  	//
 10768  	// INSTANCE_LABELS
 10769  	//
 10770  	// The label of the device instance.
 10771  	//
 10772  	// Supported operators: CONTAINS
 10773  	//
 10774  	// FLEET_TYPE
 10775  	//
 10776  	// The fleet type. Valid values are PUBLIC or PRIVATE.
 10777  	//
 10778  	// Supported operators: EQUALS
 10779  	//
 10780  	// Attribute is a required field
 10781  	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"DeviceFilterAttribute"`
 10782  
 10783  	// Specifies how Device Farm compares the filter's attribute to the value. See
 10784  	// the attribute descriptions.
 10785  	//
 10786  	// Operator is a required field
 10787  	Operator *string `locationName:"operator" type:"string" required:"true" enum:"RuleOperator"`
 10788  
 10789  	// An array of one or more filter values used in a device filter.
 10790  	//
 10791  	// Operator Values
 10792  	//
 10793  	//    * The IN and NOT_IN operators can take a values array that has more than
 10794  	//    one element.
 10795  	//
 10796  	//    * The other operators require an array with a single element.
 10797  	//
 10798  	// Attribute Values
 10799  	//
 10800  	//    * The PLATFORM attribute can be set to ANDROID or IOS.
 10801  	//
 10802  	//    * The AVAILABILITY attribute can be set to AVAILABLE, HIGHLY_AVAILABLE,
 10803  	//    BUSY, or TEMPORARY_NOT_AVAILABLE.
 10804  	//
 10805  	//    * The FORM_FACTOR attribute can be set to PHONE or TABLET.
 10806  	//
 10807  	//    * The FLEET_TYPE attribute can be set to PUBLIC or PRIVATE.
 10808  	//
 10809  	// Values is a required field
 10810  	Values []*string `locationName:"values" type:"list" required:"true"`
 10811  }
 10812  
 10813  // String returns the string representation.
 10814  //
 10815  // API parameter values that are decorated as "sensitive" in the API will not
 10816  // be included in the string output. The member name will be present, but the
 10817  // value will be replaced with "sensitive".
 10818  func (s DeviceFilter) String() string {
 10819  	return awsutil.Prettify(s)
 10820  }
 10821  
 10822  // GoString returns the string representation.
 10823  //
 10824  // API parameter values that are decorated as "sensitive" in the API will not
 10825  // be included in the string output. The member name will be present, but the
 10826  // value will be replaced with "sensitive".
 10827  func (s DeviceFilter) GoString() string {
 10828  	return s.String()
 10829  }
 10830  
 10831  // Validate inspects the fields of the type to determine if they are valid.
 10832  func (s *DeviceFilter) Validate() error {
 10833  	invalidParams := request.ErrInvalidParams{Context: "DeviceFilter"}
 10834  	if s.Attribute == nil {
 10835  		invalidParams.Add(request.NewErrParamRequired("Attribute"))
 10836  	}
 10837  	if s.Operator == nil {
 10838  		invalidParams.Add(request.NewErrParamRequired("Operator"))
 10839  	}
 10840  	if s.Values == nil {
 10841  		invalidParams.Add(request.NewErrParamRequired("Values"))
 10842  	}
 10843  
 10844  	if invalidParams.Len() > 0 {
 10845  		return invalidParams
 10846  	}
 10847  	return nil
 10848  }
 10849  
 10850  // SetAttribute sets the Attribute field's value.
 10851  func (s *DeviceFilter) SetAttribute(v string) *DeviceFilter {
 10852  	s.Attribute = &v
 10853  	return s
 10854  }
 10855  
 10856  // SetOperator sets the Operator field's value.
 10857  func (s *DeviceFilter) SetOperator(v string) *DeviceFilter {
 10858  	s.Operator = &v
 10859  	return s
 10860  }
 10861  
 10862  // SetValues sets the Values field's value.
 10863  func (s *DeviceFilter) SetValues(v []*string) *DeviceFilter {
 10864  	s.Values = v
 10865  	return s
 10866  }
 10867  
 10868  // Represents the device instance.
 10869  type DeviceInstance struct {
 10870  	_ struct{} `type:"structure"`
 10871  
 10872  	// The Amazon Resource Name (ARN) of the device instance.
 10873  	Arn *string `locationName:"arn" min:"32" type:"string"`
 10874  
 10875  	// The ARN of the device.
 10876  	DeviceArn *string `locationName:"deviceArn" min:"32" type:"string"`
 10877  
 10878  	// A object that contains information about the instance profile.
 10879  	InstanceProfile *InstanceProfile `locationName:"instanceProfile" type:"structure"`
 10880  
 10881  	// An array of strings that describe the device instance.
 10882  	Labels []*string `locationName:"labels" type:"list"`
 10883  
 10884  	// The status of the device instance. Valid values are listed here.
 10885  	Status *string `locationName:"status" type:"string" enum:"InstanceStatus"`
 10886  
 10887  	// Unique device identifier for the device instance.
 10888  	Udid *string `locationName:"udid" type:"string"`
 10889  }
 10890  
 10891  // String returns the string representation.
 10892  //
 10893  // API parameter values that are decorated as "sensitive" in the API will not
 10894  // be included in the string output. The member name will be present, but the
 10895  // value will be replaced with "sensitive".
 10896  func (s DeviceInstance) String() string {
 10897  	return awsutil.Prettify(s)
 10898  }
 10899  
 10900  // GoString returns the string representation.
 10901  //
 10902  // API parameter values that are decorated as "sensitive" in the API will not
 10903  // be included in the string output. The member name will be present, but the
 10904  // value will be replaced with "sensitive".
 10905  func (s DeviceInstance) GoString() string {
 10906  	return s.String()
 10907  }
 10908  
 10909  // SetArn sets the Arn field's value.
 10910  func (s *DeviceInstance) SetArn(v string) *DeviceInstance {
 10911  	s.Arn = &v
 10912  	return s
 10913  }
 10914  
 10915  // SetDeviceArn sets the DeviceArn field's value.
 10916  func (s *DeviceInstance) SetDeviceArn(v string) *DeviceInstance {
 10917  	s.DeviceArn = &v
 10918  	return s
 10919  }
 10920  
 10921  // SetInstanceProfile sets the InstanceProfile field's value.
 10922  func (s *DeviceInstance) SetInstanceProfile(v *InstanceProfile) *DeviceInstance {
 10923  	s.InstanceProfile = v
 10924  	return s
 10925  }
 10926  
 10927  // SetLabels sets the Labels field's value.
 10928  func (s *DeviceInstance) SetLabels(v []*string) *DeviceInstance {
 10929  	s.Labels = v
 10930  	return s
 10931  }
 10932  
 10933  // SetStatus sets the Status field's value.
 10934  func (s *DeviceInstance) SetStatus(v string) *DeviceInstance {
 10935  	s.Status = &v
 10936  	return s
 10937  }
 10938  
 10939  // SetUdid sets the Udid field's value.
 10940  func (s *DeviceInstance) SetUdid(v string) *DeviceInstance {
 10941  	s.Udid = &v
 10942  	return s
 10943  }
 10944  
 10945  // Represents the total (metered or unmetered) minutes used by the resource
 10946  // to run tests. Contains the sum of minutes consumed by all children.
 10947  type DeviceMinutes struct {
 10948  	_ struct{} `type:"structure"`
 10949  
 10950  	// When specified, represents only the sum of metered minutes used by the resource
 10951  	// to run tests.
 10952  	Metered *float64 `locationName:"metered" type:"double"`
 10953  
 10954  	// When specified, represents the total minutes used by the resource to run
 10955  	// tests.
 10956  	Total *float64 `locationName:"total" type:"double"`
 10957  
 10958  	// When specified, represents only the sum of unmetered minutes used by the
 10959  	// resource to run tests.
 10960  	Unmetered *float64 `locationName:"unmetered" type:"double"`
 10961  }
 10962  
 10963  // String returns the string representation.
 10964  //
 10965  // API parameter values that are decorated as "sensitive" in the API will not
 10966  // be included in the string output. The member name will be present, but the
 10967  // value will be replaced with "sensitive".
 10968  func (s DeviceMinutes) String() string {
 10969  	return awsutil.Prettify(s)
 10970  }
 10971  
 10972  // GoString returns the string representation.
 10973  //
 10974  // API parameter values that are decorated as "sensitive" in the API will not
 10975  // be included in the string output. The member name will be present, but the
 10976  // value will be replaced with "sensitive".
 10977  func (s DeviceMinutes) GoString() string {
 10978  	return s.String()
 10979  }
 10980  
 10981  // SetMetered sets the Metered field's value.
 10982  func (s *DeviceMinutes) SetMetered(v float64) *DeviceMinutes {
 10983  	s.Metered = &v
 10984  	return s
 10985  }
 10986  
 10987  // SetTotal sets the Total field's value.
 10988  func (s *DeviceMinutes) SetTotal(v float64) *DeviceMinutes {
 10989  	s.Total = &v
 10990  	return s
 10991  }
 10992  
 10993  // SetUnmetered sets the Unmetered field's value.
 10994  func (s *DeviceMinutes) SetUnmetered(v float64) *DeviceMinutes {
 10995  	s.Unmetered = &v
 10996  	return s
 10997  }
 10998  
 10999  // Represents a collection of device types.
 11000  type DevicePool struct {
 11001  	_ struct{} `type:"structure"`
 11002  
 11003  	// The device pool's ARN.
 11004  	Arn *string `locationName:"arn" min:"32" type:"string"`
 11005  
 11006  	// The device pool's description.
 11007  	Description *string `locationName:"description" type:"string"`
 11008  
 11009  	// The number of devices that Device Farm can add to your device pool. Device
 11010  	// Farm adds devices that are available and meet the criteria that you assign
 11011  	// for the rules parameter. Depending on how many devices meet these constraints,
 11012  	// your device pool might contain fewer devices than the value for this parameter.
 11013  	//
 11014  	// By specifying the maximum number of devices, you can control the costs that
 11015  	// you incur by running tests.
 11016  	MaxDevices *int64 `locationName:"maxDevices" type:"integer"`
 11017  
 11018  	// The device pool's name.
 11019  	Name *string `locationName:"name" type:"string"`
 11020  
 11021  	// Information about the device pool's rules.
 11022  	Rules []*Rule `locationName:"rules" type:"list"`
 11023  
 11024  	// The device pool's type.
 11025  	//
 11026  	// Allowed values include:
 11027  	//
 11028  	//    * CURATED: A device pool that is created and managed by AWS Device Farm.
 11029  	//
 11030  	//    * PRIVATE: A device pool that is created and managed by the device pool
 11031  	//    developer.
 11032  	Type *string `locationName:"type" type:"string" enum:"DevicePoolType"`
 11033  }
 11034  
 11035  // String returns the string representation.
 11036  //
 11037  // API parameter values that are decorated as "sensitive" in the API will not
 11038  // be included in the string output. The member name will be present, but the
 11039  // value will be replaced with "sensitive".
 11040  func (s DevicePool) String() string {
 11041  	return awsutil.Prettify(s)
 11042  }
 11043  
 11044  // GoString returns the string representation.
 11045  //
 11046  // API parameter values that are decorated as "sensitive" in the API will not
 11047  // be included in the string output. The member name will be present, but the
 11048  // value will be replaced with "sensitive".
 11049  func (s DevicePool) GoString() string {
 11050  	return s.String()
 11051  }
 11052  
 11053  // SetArn sets the Arn field's value.
 11054  func (s *DevicePool) SetArn(v string) *DevicePool {
 11055  	s.Arn = &v
 11056  	return s
 11057  }
 11058  
 11059  // SetDescription sets the Description field's value.
 11060  func (s *DevicePool) SetDescription(v string) *DevicePool {
 11061  	s.Description = &v
 11062  	return s
 11063  }
 11064  
 11065  // SetMaxDevices sets the MaxDevices field's value.
 11066  func (s *DevicePool) SetMaxDevices(v int64) *DevicePool {
 11067  	s.MaxDevices = &v
 11068  	return s
 11069  }
 11070  
 11071  // SetName sets the Name field's value.
 11072  func (s *DevicePool) SetName(v string) *DevicePool {
 11073  	s.Name = &v
 11074  	return s
 11075  }
 11076  
 11077  // SetRules sets the Rules field's value.
 11078  func (s *DevicePool) SetRules(v []*Rule) *DevicePool {
 11079  	s.Rules = v
 11080  	return s
 11081  }
 11082  
 11083  // SetType sets the Type field's value.
 11084  func (s *DevicePool) SetType(v string) *DevicePool {
 11085  	s.Type = &v
 11086  	return s
 11087  }
 11088  
 11089  // Represents a device pool compatibility result.
 11090  type DevicePoolCompatibilityResult struct {
 11091  	_ struct{} `type:"structure"`
 11092  
 11093  	// Whether the result was compatible with the device pool.
 11094  	Compatible *bool `locationName:"compatible" type:"boolean"`
 11095  
 11096  	// The device (phone or tablet) to return information about.
 11097  	Device *Device `locationName:"device" type:"structure"`
 11098  
 11099  	// Information about the compatibility.
 11100  	IncompatibilityMessages []*IncompatibilityMessage `locationName:"incompatibilityMessages" type:"list"`
 11101  }
 11102  
 11103  // String returns the string representation.
 11104  //
 11105  // API parameter values that are decorated as "sensitive" in the API will not
 11106  // be included in the string output. The member name will be present, but the
 11107  // value will be replaced with "sensitive".
 11108  func (s DevicePoolCompatibilityResult) String() string {
 11109  	return awsutil.Prettify(s)
 11110  }
 11111  
 11112  // GoString returns the string representation.
 11113  //
 11114  // API parameter values that are decorated as "sensitive" in the API will not
 11115  // be included in the string output. The member name will be present, but the
 11116  // value will be replaced with "sensitive".
 11117  func (s DevicePoolCompatibilityResult) GoString() string {
 11118  	return s.String()
 11119  }
 11120  
 11121  // SetCompatible sets the Compatible field's value.
 11122  func (s *DevicePoolCompatibilityResult) SetCompatible(v bool) *DevicePoolCompatibilityResult {
 11123  	s.Compatible = &v
 11124  	return s
 11125  }
 11126  
 11127  // SetDevice sets the Device field's value.
 11128  func (s *DevicePoolCompatibilityResult) SetDevice(v *Device) *DevicePoolCompatibilityResult {
 11129  	s.Device = v
 11130  	return s
 11131  }
 11132  
 11133  // SetIncompatibilityMessages sets the IncompatibilityMessages field's value.
 11134  func (s *DevicePoolCompatibilityResult) SetIncompatibilityMessages(v []*IncompatibilityMessage) *DevicePoolCompatibilityResult {
 11135  	s.IncompatibilityMessages = v
 11136  	return s
 11137  }
 11138  
 11139  // Represents the device filters used in a test run and the maximum number of
 11140  // devices to be included in the run. It is passed in as the deviceSelectionConfiguration
 11141  // request parameter in ScheduleRun.
 11142  type DeviceSelectionConfiguration struct {
 11143  	_ struct{} `type:"structure"`
 11144  
 11145  	// Used to dynamically select a set of devices for a test run. A filter is made
 11146  	// up of an attribute, an operator, and one or more values.
 11147  	//
 11148  	//    * Attribute The aspect of a device such as platform or model used as the
 11149  	//    selection criteria in a device filter. Allowed values include: ARN: The
 11150  	//    Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example).
 11151  	//    PLATFORM: The device platform. Valid values are ANDROID or IOS. OS_VERSION:
 11152  	//    The operating system version (for example, 10.3.2). MODEL: The device
 11153  	//    model (for example, iPad 5th Gen). AVAILABILITY: The current availability
 11154  	//    of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or
 11155  	//    TEMPORARY_NOT_AVAILABLE. FORM_FACTOR: The device form factor. Valid values
 11156  	//    are PHONE or TABLET. MANUFACTURER: The device manufacturer (for example,
 11157  	//    Apple). REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote
 11158  	//    access. Valid values are TRUE or FALSE. REMOTE_DEBUG_ENABLED: Whether
 11159  	//    the device is enabled for remote debugging. Valid values are TRUE or FALSE.
 11160  	//    Because remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html),
 11161  	//    this filter is ignored. INSTANCE_ARN: The Amazon Resource Name (ARN) of
 11162  	//    the device instance. INSTANCE_LABELS: The label of the device instance.
 11163  	//    FLEET_TYPE: The fleet type. Valid values are PUBLIC or PRIVATE.
 11164  	//
 11165  	//    * Operator The filter operator. The EQUALS operator is available for every
 11166  	//    attribute except INSTANCE_LABELS. The CONTAINS operator is available for
 11167  	//    the INSTANCE_LABELS and MODEL attributes. The IN and NOT_IN operators
 11168  	//    are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN
 11169  	//    attributes. The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS
 11170  	//    operators are also available for the OS_VERSION attribute.
 11171  	//
 11172  	//    * Values An array of one or more filter values. Operator Values The IN
 11173  	//    and NOT_IN operators can take a values array that has more than one element.
 11174  	//    The other operators require an array with a single element. Attribute
 11175  	//    Values The PLATFORM attribute can be set to ANDROID or IOS. The AVAILABILITY
 11176  	//    attribute can be set to AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.
 11177  	//    The FORM_FACTOR attribute can be set to PHONE or TABLET. The FLEET_TYPE
 11178  	//    attribute can be set to PUBLIC or PRIVATE.
 11179  	//
 11180  	// Filters is a required field
 11181  	Filters []*DeviceFilter `locationName:"filters" type:"list" required:"true"`
 11182  
 11183  	// The maximum number of devices to be included in a test run.
 11184  	//
 11185  	// MaxDevices is a required field
 11186  	MaxDevices *int64 `locationName:"maxDevices" type:"integer" required:"true"`
 11187  }
 11188  
 11189  // String returns the string representation.
 11190  //
 11191  // API parameter values that are decorated as "sensitive" in the API will not
 11192  // be included in the string output. The member name will be present, but the
 11193  // value will be replaced with "sensitive".
 11194  func (s DeviceSelectionConfiguration) String() string {
 11195  	return awsutil.Prettify(s)
 11196  }
 11197  
 11198  // GoString returns the string representation.
 11199  //
 11200  // API parameter values that are decorated as "sensitive" in the API will not
 11201  // be included in the string output. The member name will be present, but the
 11202  // value will be replaced with "sensitive".
 11203  func (s DeviceSelectionConfiguration) GoString() string {
 11204  	return s.String()
 11205  }
 11206  
 11207  // Validate inspects the fields of the type to determine if they are valid.
 11208  func (s *DeviceSelectionConfiguration) Validate() error {
 11209  	invalidParams := request.ErrInvalidParams{Context: "DeviceSelectionConfiguration"}
 11210  	if s.Filters == nil {
 11211  		invalidParams.Add(request.NewErrParamRequired("Filters"))
 11212  	}
 11213  	if s.MaxDevices == nil {
 11214  		invalidParams.Add(request.NewErrParamRequired("MaxDevices"))
 11215  	}
 11216  	if s.Filters != nil {
 11217  		for i, v := range s.Filters {
 11218  			if v == nil {
 11219  				continue
 11220  			}
 11221  			if err := v.Validate(); err != nil {
 11222  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 11223  			}
 11224  		}
 11225  	}
 11226  
 11227  	if invalidParams.Len() > 0 {
 11228  		return invalidParams
 11229  	}
 11230  	return nil
 11231  }
 11232  
 11233  // SetFilters sets the Filters field's value.
 11234  func (s *DeviceSelectionConfiguration) SetFilters(v []*DeviceFilter) *DeviceSelectionConfiguration {
 11235  	s.Filters = v
 11236  	return s
 11237  }
 11238  
 11239  // SetMaxDevices sets the MaxDevices field's value.
 11240  func (s *DeviceSelectionConfiguration) SetMaxDevices(v int64) *DeviceSelectionConfiguration {
 11241  	s.MaxDevices = &v
 11242  	return s
 11243  }
 11244  
 11245  // Contains the run results requested by the device selection configuration
 11246  // and how many devices were returned. For an example of the JSON response syntax,
 11247  // see ScheduleRun.
 11248  type DeviceSelectionResult struct {
 11249  	_ struct{} `type:"structure"`
 11250  
 11251  	// The filters in a device selection result.
 11252  	Filters []*DeviceFilter `locationName:"filters" type:"list"`
 11253  
 11254  	// The number of devices that matched the device filter selection criteria.
 11255  	MatchedDevicesCount *int64 `locationName:"matchedDevicesCount" type:"integer"`
 11256  
 11257  	// The maximum number of devices to be selected by a device filter and included
 11258  	// in a test run.
 11259  	MaxDevices *int64 `locationName:"maxDevices" type:"integer"`
 11260  }
 11261  
 11262  // String returns the string representation.
 11263  //
 11264  // API parameter values that are decorated as "sensitive" in the API will not
 11265  // be included in the string output. The member name will be present, but the
 11266  // value will be replaced with "sensitive".
 11267  func (s DeviceSelectionResult) String() string {
 11268  	return awsutil.Prettify(s)
 11269  }
 11270  
 11271  // GoString returns the string representation.
 11272  //
 11273  // API parameter values that are decorated as "sensitive" in the API will not
 11274  // be included in the string output. The member name will be present, but the
 11275  // value will be replaced with "sensitive".
 11276  func (s DeviceSelectionResult) GoString() string {
 11277  	return s.String()
 11278  }
 11279  
 11280  // SetFilters sets the Filters field's value.
 11281  func (s *DeviceSelectionResult) SetFilters(v []*DeviceFilter) *DeviceSelectionResult {
 11282  	s.Filters = v
 11283  	return s
 11284  }
 11285  
 11286  // SetMatchedDevicesCount sets the MatchedDevicesCount field's value.
 11287  func (s *DeviceSelectionResult) SetMatchedDevicesCount(v int64) *DeviceSelectionResult {
 11288  	s.MatchedDevicesCount = &v
 11289  	return s
 11290  }
 11291  
 11292  // SetMaxDevices sets the MaxDevices field's value.
 11293  func (s *DeviceSelectionResult) SetMaxDevices(v int64) *DeviceSelectionResult {
 11294  	s.MaxDevices = &v
 11295  	return s
 11296  }
 11297  
 11298  // Represents configuration information about a test run, such as the execution
 11299  // timeout (in minutes).
 11300  type ExecutionConfiguration struct {
 11301  	_ struct{} `type:"structure"`
 11302  
 11303  	// True if account cleanup is enabled at the beginning of the test. Otherwise,
 11304  	// false.
 11305  	AccountsCleanup *bool `locationName:"accountsCleanup" type:"boolean"`
 11306  
 11307  	// True if app package cleanup is enabled at the beginning of the test. Otherwise,
 11308  	// false.
 11309  	AppPackagesCleanup *bool `locationName:"appPackagesCleanup" type:"boolean"`
 11310  
 11311  	// The number of minutes a test run executes before it times out.
 11312  	JobTimeoutMinutes *int64 `locationName:"jobTimeoutMinutes" type:"integer"`
 11313  
 11314  	// When set to true, for private devices, Device Farm does not sign your app
 11315  	// again. For public devices, Device Farm always signs your apps again.
 11316  	//
 11317  	// For more information about how Device Farm re-signs your apps, see Do you
 11318  	// modify my app? (https://aws.amazon.com/device-farm/faq/) in the AWS Device
 11319  	// Farm FAQs.
 11320  	SkipAppResign *bool `locationName:"skipAppResign" type:"boolean"`
 11321  
 11322  	// Set to true to enable video capture. Otherwise, set to false. The default
 11323  	// is true.
 11324  	VideoCapture *bool `locationName:"videoCapture" type:"boolean"`
 11325  }
 11326  
 11327  // String returns the string representation.
 11328  //
 11329  // API parameter values that are decorated as "sensitive" in the API will not
 11330  // be included in the string output. The member name will be present, but the
 11331  // value will be replaced with "sensitive".
 11332  func (s ExecutionConfiguration) String() string {
 11333  	return awsutil.Prettify(s)
 11334  }
 11335  
 11336  // GoString returns the string representation.
 11337  //
 11338  // API parameter values that are decorated as "sensitive" in the API will not
 11339  // be included in the string output. The member name will be present, but the
 11340  // value will be replaced with "sensitive".
 11341  func (s ExecutionConfiguration) GoString() string {
 11342  	return s.String()
 11343  }
 11344  
 11345  // SetAccountsCleanup sets the AccountsCleanup field's value.
 11346  func (s *ExecutionConfiguration) SetAccountsCleanup(v bool) *ExecutionConfiguration {
 11347  	s.AccountsCleanup = &v
 11348  	return s
 11349  }
 11350  
 11351  // SetAppPackagesCleanup sets the AppPackagesCleanup field's value.
 11352  func (s *ExecutionConfiguration) SetAppPackagesCleanup(v bool) *ExecutionConfiguration {
 11353  	s.AppPackagesCleanup = &v
 11354  	return s
 11355  }
 11356  
 11357  // SetJobTimeoutMinutes sets the JobTimeoutMinutes field's value.
 11358  func (s *ExecutionConfiguration) SetJobTimeoutMinutes(v int64) *ExecutionConfiguration {
 11359  	s.JobTimeoutMinutes = &v
 11360  	return s
 11361  }
 11362  
 11363  // SetSkipAppResign sets the SkipAppResign field's value.
 11364  func (s *ExecutionConfiguration) SetSkipAppResign(v bool) *ExecutionConfiguration {
 11365  	s.SkipAppResign = &v
 11366  	return s
 11367  }
 11368  
 11369  // SetVideoCapture sets the VideoCapture field's value.
 11370  func (s *ExecutionConfiguration) SetVideoCapture(v bool) *ExecutionConfiguration {
 11371  	s.VideoCapture = &v
 11372  	return s
 11373  }
 11374  
 11375  // Represents the request sent to retrieve the account settings.
 11376  type GetAccountSettingsInput struct {
 11377  	_ struct{} `type:"structure"`
 11378  }
 11379  
 11380  // String returns the string representation.
 11381  //
 11382  // API parameter values that are decorated as "sensitive" in the API will not
 11383  // be included in the string output. The member name will be present, but the
 11384  // value will be replaced with "sensitive".
 11385  func (s GetAccountSettingsInput) String() string {
 11386  	return awsutil.Prettify(s)
 11387  }
 11388  
 11389  // GoString returns the string representation.
 11390  //
 11391  // API parameter values that are decorated as "sensitive" in the API will not
 11392  // be included in the string output. The member name will be present, but the
 11393  // value will be replaced with "sensitive".
 11394  func (s GetAccountSettingsInput) GoString() string {
 11395  	return s.String()
 11396  }
 11397  
 11398  // Represents the account settings return values from the GetAccountSettings
 11399  // request.
 11400  type GetAccountSettingsOutput struct {
 11401  	_ struct{} `type:"structure"`
 11402  
 11403  	// The account settings.
 11404  	AccountSettings *AccountSettings `locationName:"accountSettings" type:"structure"`
 11405  }
 11406  
 11407  // String returns the string representation.
 11408  //
 11409  // API parameter values that are decorated as "sensitive" in the API will not
 11410  // be included in the string output. The member name will be present, but the
 11411  // value will be replaced with "sensitive".
 11412  func (s GetAccountSettingsOutput) String() string {
 11413  	return awsutil.Prettify(s)
 11414  }
 11415  
 11416  // GoString returns the string representation.
 11417  //
 11418  // API parameter values that are decorated as "sensitive" in the API will not
 11419  // be included in the string output. The member name will be present, but the
 11420  // value will be replaced with "sensitive".
 11421  func (s GetAccountSettingsOutput) GoString() string {
 11422  	return s.String()
 11423  }
 11424  
 11425  // SetAccountSettings sets the AccountSettings field's value.
 11426  func (s *GetAccountSettingsOutput) SetAccountSettings(v *AccountSettings) *GetAccountSettingsOutput {
 11427  	s.AccountSettings = v
 11428  	return s
 11429  }
 11430  
 11431  // Represents a request to the get device request.
 11432  type GetDeviceInput struct {
 11433  	_ struct{} `type:"structure"`
 11434  
 11435  	// The device type's ARN.
 11436  	//
 11437  	// Arn is a required field
 11438  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 11439  }
 11440  
 11441  // String returns the string representation.
 11442  //
 11443  // API parameter values that are decorated as "sensitive" in the API will not
 11444  // be included in the string output. The member name will be present, but the
 11445  // value will be replaced with "sensitive".
 11446  func (s GetDeviceInput) String() string {
 11447  	return awsutil.Prettify(s)
 11448  }
 11449  
 11450  // GoString returns the string representation.
 11451  //
 11452  // API parameter values that are decorated as "sensitive" in the API will not
 11453  // be included in the string output. The member name will be present, but the
 11454  // value will be replaced with "sensitive".
 11455  func (s GetDeviceInput) GoString() string {
 11456  	return s.String()
 11457  }
 11458  
 11459  // Validate inspects the fields of the type to determine if they are valid.
 11460  func (s *GetDeviceInput) Validate() error {
 11461  	invalidParams := request.ErrInvalidParams{Context: "GetDeviceInput"}
 11462  	if s.Arn == nil {
 11463  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 11464  	}
 11465  	if s.Arn != nil && len(*s.Arn) < 32 {
 11466  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 11467  	}
 11468  
 11469  	if invalidParams.Len() > 0 {
 11470  		return invalidParams
 11471  	}
 11472  	return nil
 11473  }
 11474  
 11475  // SetArn sets the Arn field's value.
 11476  func (s *GetDeviceInput) SetArn(v string) *GetDeviceInput {
 11477  	s.Arn = &v
 11478  	return s
 11479  }
 11480  
 11481  type GetDeviceInstanceInput struct {
 11482  	_ struct{} `type:"structure"`
 11483  
 11484  	// The Amazon Resource Name (ARN) of the instance you're requesting information
 11485  	// about.
 11486  	//
 11487  	// Arn is a required field
 11488  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 11489  }
 11490  
 11491  // String returns the string representation.
 11492  //
 11493  // API parameter values that are decorated as "sensitive" in the API will not
 11494  // be included in the string output. The member name will be present, but the
 11495  // value will be replaced with "sensitive".
 11496  func (s GetDeviceInstanceInput) String() string {
 11497  	return awsutil.Prettify(s)
 11498  }
 11499  
 11500  // GoString returns the string representation.
 11501  //
 11502  // API parameter values that are decorated as "sensitive" in the API will not
 11503  // be included in the string output. The member name will be present, but the
 11504  // value will be replaced with "sensitive".
 11505  func (s GetDeviceInstanceInput) GoString() string {
 11506  	return s.String()
 11507  }
 11508  
 11509  // Validate inspects the fields of the type to determine if they are valid.
 11510  func (s *GetDeviceInstanceInput) Validate() error {
 11511  	invalidParams := request.ErrInvalidParams{Context: "GetDeviceInstanceInput"}
 11512  	if s.Arn == nil {
 11513  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 11514  	}
 11515  	if s.Arn != nil && len(*s.Arn) < 32 {
 11516  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 11517  	}
 11518  
 11519  	if invalidParams.Len() > 0 {
 11520  		return invalidParams
 11521  	}
 11522  	return nil
 11523  }
 11524  
 11525  // SetArn sets the Arn field's value.
 11526  func (s *GetDeviceInstanceInput) SetArn(v string) *GetDeviceInstanceInput {
 11527  	s.Arn = &v
 11528  	return s
 11529  }
 11530  
 11531  type GetDeviceInstanceOutput struct {
 11532  	_ struct{} `type:"structure"`
 11533  
 11534  	// An object that contains information about your device instance.
 11535  	DeviceInstance *DeviceInstance `locationName:"deviceInstance" type:"structure"`
 11536  }
 11537  
 11538  // String returns the string representation.
 11539  //
 11540  // API parameter values that are decorated as "sensitive" in the API will not
 11541  // be included in the string output. The member name will be present, but the
 11542  // value will be replaced with "sensitive".
 11543  func (s GetDeviceInstanceOutput) String() string {
 11544  	return awsutil.Prettify(s)
 11545  }
 11546  
 11547  // GoString returns the string representation.
 11548  //
 11549  // API parameter values that are decorated as "sensitive" in the API will not
 11550  // be included in the string output. The member name will be present, but the
 11551  // value will be replaced with "sensitive".
 11552  func (s GetDeviceInstanceOutput) GoString() string {
 11553  	return s.String()
 11554  }
 11555  
 11556  // SetDeviceInstance sets the DeviceInstance field's value.
 11557  func (s *GetDeviceInstanceOutput) SetDeviceInstance(v *DeviceInstance) *GetDeviceInstanceOutput {
 11558  	s.DeviceInstance = v
 11559  	return s
 11560  }
 11561  
 11562  // Represents the result of a get device request.
 11563  type GetDeviceOutput struct {
 11564  	_ struct{} `type:"structure"`
 11565  
 11566  	// An object that contains information about the requested device.
 11567  	Device *Device `locationName:"device" type:"structure"`
 11568  }
 11569  
 11570  // String returns the string representation.
 11571  //
 11572  // API parameter values that are decorated as "sensitive" in the API will not
 11573  // be included in the string output. The member name will be present, but the
 11574  // value will be replaced with "sensitive".
 11575  func (s GetDeviceOutput) String() string {
 11576  	return awsutil.Prettify(s)
 11577  }
 11578  
 11579  // GoString returns the string representation.
 11580  //
 11581  // API parameter values that are decorated as "sensitive" in the API will not
 11582  // be included in the string output. The member name will be present, but the
 11583  // value will be replaced with "sensitive".
 11584  func (s GetDeviceOutput) GoString() string {
 11585  	return s.String()
 11586  }
 11587  
 11588  // SetDevice sets the Device field's value.
 11589  func (s *GetDeviceOutput) SetDevice(v *Device) *GetDeviceOutput {
 11590  	s.Device = v
 11591  	return s
 11592  }
 11593  
 11594  // Represents a request to the get device pool compatibility operation.
 11595  type GetDevicePoolCompatibilityInput struct {
 11596  	_ struct{} `type:"structure"`
 11597  
 11598  	// The ARN of the app that is associated with the specified device pool.
 11599  	AppArn *string `locationName:"appArn" min:"32" type:"string"`
 11600  
 11601  	// An object that contains information about the settings for a run.
 11602  	Configuration *ScheduleRunConfiguration `locationName:"configuration" type:"structure"`
 11603  
 11604  	// The device pool's ARN.
 11605  	//
 11606  	// DevicePoolArn is a required field
 11607  	DevicePoolArn *string `locationName:"devicePoolArn" min:"32" type:"string" required:"true"`
 11608  
 11609  	// Information about the uploaded test to be run against the device pool.
 11610  	Test *ScheduleRunTest `locationName:"test" type:"structure"`
 11611  
 11612  	// The test type for the specified device pool.
 11613  	//
 11614  	// Allowed values include the following:
 11615  	//
 11616  	//    * BUILTIN_FUZZ.
 11617  	//
 11618  	//    * BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android
 11619  	//    app, interacting with it and capturing screenshots at the same time.
 11620  	//
 11621  	//    * APPIUM_JAVA_JUNIT.
 11622  	//
 11623  	//    * APPIUM_JAVA_TESTNG.
 11624  	//
 11625  	//    * APPIUM_PYTHON.
 11626  	//
 11627  	//    * APPIUM_NODE.
 11628  	//
 11629  	//    * APPIUM_RUBY.
 11630  	//
 11631  	//    * APPIUM_WEB_JAVA_JUNIT.
 11632  	//
 11633  	//    * APPIUM_WEB_JAVA_TESTNG.
 11634  	//
 11635  	//    * APPIUM_WEB_PYTHON.
 11636  	//
 11637  	//    * APPIUM_WEB_NODE.
 11638  	//
 11639  	//    * APPIUM_WEB_RUBY.
 11640  	//
 11641  	//    * CALABASH.
 11642  	//
 11643  	//    * INSTRUMENTATION.
 11644  	//
 11645  	//    * UIAUTOMATION.
 11646  	//
 11647  	//    * UIAUTOMATOR.
 11648  	//
 11649  	//    * XCTEST.
 11650  	//
 11651  	//    * XCTEST_UI.
 11652  	TestType *string `locationName:"testType" type:"string" enum:"TestType"`
 11653  }
 11654  
 11655  // String returns the string representation.
 11656  //
 11657  // API parameter values that are decorated as "sensitive" in the API will not
 11658  // be included in the string output. The member name will be present, but the
 11659  // value will be replaced with "sensitive".
 11660  func (s GetDevicePoolCompatibilityInput) String() string {
 11661  	return awsutil.Prettify(s)
 11662  }
 11663  
 11664  // GoString returns the string representation.
 11665  //
 11666  // API parameter values that are decorated as "sensitive" in the API will not
 11667  // be included in the string output. The member name will be present, but the
 11668  // value will be replaced with "sensitive".
 11669  func (s GetDevicePoolCompatibilityInput) GoString() string {
 11670  	return s.String()
 11671  }
 11672  
 11673  // Validate inspects the fields of the type to determine if they are valid.
 11674  func (s *GetDevicePoolCompatibilityInput) Validate() error {
 11675  	invalidParams := request.ErrInvalidParams{Context: "GetDevicePoolCompatibilityInput"}
 11676  	if s.AppArn != nil && len(*s.AppArn) < 32 {
 11677  		invalidParams.Add(request.NewErrParamMinLen("AppArn", 32))
 11678  	}
 11679  	if s.DevicePoolArn == nil {
 11680  		invalidParams.Add(request.NewErrParamRequired("DevicePoolArn"))
 11681  	}
 11682  	if s.DevicePoolArn != nil && len(*s.DevicePoolArn) < 32 {
 11683  		invalidParams.Add(request.NewErrParamMinLen("DevicePoolArn", 32))
 11684  	}
 11685  	if s.Configuration != nil {
 11686  		if err := s.Configuration.Validate(); err != nil {
 11687  			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
 11688  		}
 11689  	}
 11690  	if s.Test != nil {
 11691  		if err := s.Test.Validate(); err != nil {
 11692  			invalidParams.AddNested("Test", err.(request.ErrInvalidParams))
 11693  		}
 11694  	}
 11695  
 11696  	if invalidParams.Len() > 0 {
 11697  		return invalidParams
 11698  	}
 11699  	return nil
 11700  }
 11701  
 11702  // SetAppArn sets the AppArn field's value.
 11703  func (s *GetDevicePoolCompatibilityInput) SetAppArn(v string) *GetDevicePoolCompatibilityInput {
 11704  	s.AppArn = &v
 11705  	return s
 11706  }
 11707  
 11708  // SetConfiguration sets the Configuration field's value.
 11709  func (s *GetDevicePoolCompatibilityInput) SetConfiguration(v *ScheduleRunConfiguration) *GetDevicePoolCompatibilityInput {
 11710  	s.Configuration = v
 11711  	return s
 11712  }
 11713  
 11714  // SetDevicePoolArn sets the DevicePoolArn field's value.
 11715  func (s *GetDevicePoolCompatibilityInput) SetDevicePoolArn(v string) *GetDevicePoolCompatibilityInput {
 11716  	s.DevicePoolArn = &v
 11717  	return s
 11718  }
 11719  
 11720  // SetTest sets the Test field's value.
 11721  func (s *GetDevicePoolCompatibilityInput) SetTest(v *ScheduleRunTest) *GetDevicePoolCompatibilityInput {
 11722  	s.Test = v
 11723  	return s
 11724  }
 11725  
 11726  // SetTestType sets the TestType field's value.
 11727  func (s *GetDevicePoolCompatibilityInput) SetTestType(v string) *GetDevicePoolCompatibilityInput {
 11728  	s.TestType = &v
 11729  	return s
 11730  }
 11731  
 11732  // Represents the result of describe device pool compatibility request.
 11733  type GetDevicePoolCompatibilityOutput struct {
 11734  	_ struct{} `type:"structure"`
 11735  
 11736  	// Information about compatible devices.
 11737  	CompatibleDevices []*DevicePoolCompatibilityResult `locationName:"compatibleDevices" type:"list"`
 11738  
 11739  	// Information about incompatible devices.
 11740  	IncompatibleDevices []*DevicePoolCompatibilityResult `locationName:"incompatibleDevices" type:"list"`
 11741  }
 11742  
 11743  // String returns the string representation.
 11744  //
 11745  // API parameter values that are decorated as "sensitive" in the API will not
 11746  // be included in the string output. The member name will be present, but the
 11747  // value will be replaced with "sensitive".
 11748  func (s GetDevicePoolCompatibilityOutput) String() string {
 11749  	return awsutil.Prettify(s)
 11750  }
 11751  
 11752  // GoString returns the string representation.
 11753  //
 11754  // API parameter values that are decorated as "sensitive" in the API will not
 11755  // be included in the string output. The member name will be present, but the
 11756  // value will be replaced with "sensitive".
 11757  func (s GetDevicePoolCompatibilityOutput) GoString() string {
 11758  	return s.String()
 11759  }
 11760  
 11761  // SetCompatibleDevices sets the CompatibleDevices field's value.
 11762  func (s *GetDevicePoolCompatibilityOutput) SetCompatibleDevices(v []*DevicePoolCompatibilityResult) *GetDevicePoolCompatibilityOutput {
 11763  	s.CompatibleDevices = v
 11764  	return s
 11765  }
 11766  
 11767  // SetIncompatibleDevices sets the IncompatibleDevices field's value.
 11768  func (s *GetDevicePoolCompatibilityOutput) SetIncompatibleDevices(v []*DevicePoolCompatibilityResult) *GetDevicePoolCompatibilityOutput {
 11769  	s.IncompatibleDevices = v
 11770  	return s
 11771  }
 11772  
 11773  // Represents a request to the get device pool operation.
 11774  type GetDevicePoolInput struct {
 11775  	_ struct{} `type:"structure"`
 11776  
 11777  	// The device pool's ARN.
 11778  	//
 11779  	// Arn is a required field
 11780  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 11781  }
 11782  
 11783  // String returns the string representation.
 11784  //
 11785  // API parameter values that are decorated as "sensitive" in the API will not
 11786  // be included in the string output. The member name will be present, but the
 11787  // value will be replaced with "sensitive".
 11788  func (s GetDevicePoolInput) String() string {
 11789  	return awsutil.Prettify(s)
 11790  }
 11791  
 11792  // GoString returns the string representation.
 11793  //
 11794  // API parameter values that are decorated as "sensitive" in the API will not
 11795  // be included in the string output. The member name will be present, but the
 11796  // value will be replaced with "sensitive".
 11797  func (s GetDevicePoolInput) GoString() string {
 11798  	return s.String()
 11799  }
 11800  
 11801  // Validate inspects the fields of the type to determine if they are valid.
 11802  func (s *GetDevicePoolInput) Validate() error {
 11803  	invalidParams := request.ErrInvalidParams{Context: "GetDevicePoolInput"}
 11804  	if s.Arn == nil {
 11805  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 11806  	}
 11807  	if s.Arn != nil && len(*s.Arn) < 32 {
 11808  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 11809  	}
 11810  
 11811  	if invalidParams.Len() > 0 {
 11812  		return invalidParams
 11813  	}
 11814  	return nil
 11815  }
 11816  
 11817  // SetArn sets the Arn field's value.
 11818  func (s *GetDevicePoolInput) SetArn(v string) *GetDevicePoolInput {
 11819  	s.Arn = &v
 11820  	return s
 11821  }
 11822  
 11823  // Represents the result of a get device pool request.
 11824  type GetDevicePoolOutput struct {
 11825  	_ struct{} `type:"structure"`
 11826  
 11827  	// An object that contains information about the requested device pool.
 11828  	DevicePool *DevicePool `locationName:"devicePool" type:"structure"`
 11829  }
 11830  
 11831  // String returns the string representation.
 11832  //
 11833  // API parameter values that are decorated as "sensitive" in the API will not
 11834  // be included in the string output. The member name will be present, but the
 11835  // value will be replaced with "sensitive".
 11836  func (s GetDevicePoolOutput) String() string {
 11837  	return awsutil.Prettify(s)
 11838  }
 11839  
 11840  // GoString returns the string representation.
 11841  //
 11842  // API parameter values that are decorated as "sensitive" in the API will not
 11843  // be included in the string output. The member name will be present, but the
 11844  // value will be replaced with "sensitive".
 11845  func (s GetDevicePoolOutput) GoString() string {
 11846  	return s.String()
 11847  }
 11848  
 11849  // SetDevicePool sets the DevicePool field's value.
 11850  func (s *GetDevicePoolOutput) SetDevicePool(v *DevicePool) *GetDevicePoolOutput {
 11851  	s.DevicePool = v
 11852  	return s
 11853  }
 11854  
 11855  type GetInstanceProfileInput struct {
 11856  	_ struct{} `type:"structure"`
 11857  
 11858  	// The Amazon Resource Name (ARN) of an instance profile.
 11859  	//
 11860  	// Arn is a required field
 11861  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 11862  }
 11863  
 11864  // String returns the string representation.
 11865  //
 11866  // API parameter values that are decorated as "sensitive" in the API will not
 11867  // be included in the string output. The member name will be present, but the
 11868  // value will be replaced with "sensitive".
 11869  func (s GetInstanceProfileInput) String() string {
 11870  	return awsutil.Prettify(s)
 11871  }
 11872  
 11873  // GoString returns the string representation.
 11874  //
 11875  // API parameter values that are decorated as "sensitive" in the API will not
 11876  // be included in the string output. The member name will be present, but the
 11877  // value will be replaced with "sensitive".
 11878  func (s GetInstanceProfileInput) GoString() string {
 11879  	return s.String()
 11880  }
 11881  
 11882  // Validate inspects the fields of the type to determine if they are valid.
 11883  func (s *GetInstanceProfileInput) Validate() error {
 11884  	invalidParams := request.ErrInvalidParams{Context: "GetInstanceProfileInput"}
 11885  	if s.Arn == nil {
 11886  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 11887  	}
 11888  	if s.Arn != nil && len(*s.Arn) < 32 {
 11889  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 11890  	}
 11891  
 11892  	if invalidParams.Len() > 0 {
 11893  		return invalidParams
 11894  	}
 11895  	return nil
 11896  }
 11897  
 11898  // SetArn sets the Arn field's value.
 11899  func (s *GetInstanceProfileInput) SetArn(v string) *GetInstanceProfileInput {
 11900  	s.Arn = &v
 11901  	return s
 11902  }
 11903  
 11904  type GetInstanceProfileOutput struct {
 11905  	_ struct{} `type:"structure"`
 11906  
 11907  	// An object that contains information about an instance profile.
 11908  	InstanceProfile *InstanceProfile `locationName:"instanceProfile" type:"structure"`
 11909  }
 11910  
 11911  // String returns the string representation.
 11912  //
 11913  // API parameter values that are decorated as "sensitive" in the API will not
 11914  // be included in the string output. The member name will be present, but the
 11915  // value will be replaced with "sensitive".
 11916  func (s GetInstanceProfileOutput) String() string {
 11917  	return awsutil.Prettify(s)
 11918  }
 11919  
 11920  // GoString returns the string representation.
 11921  //
 11922  // API parameter values that are decorated as "sensitive" in the API will not
 11923  // be included in the string output. The member name will be present, but the
 11924  // value will be replaced with "sensitive".
 11925  func (s GetInstanceProfileOutput) GoString() string {
 11926  	return s.String()
 11927  }
 11928  
 11929  // SetInstanceProfile sets the InstanceProfile field's value.
 11930  func (s *GetInstanceProfileOutput) SetInstanceProfile(v *InstanceProfile) *GetInstanceProfileOutput {
 11931  	s.InstanceProfile = v
 11932  	return s
 11933  }
 11934  
 11935  // Represents a request to the get job operation.
 11936  type GetJobInput struct {
 11937  	_ struct{} `type:"structure"`
 11938  
 11939  	// The job's ARN.
 11940  	//
 11941  	// Arn is a required field
 11942  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 11943  }
 11944  
 11945  // String returns the string representation.
 11946  //
 11947  // API parameter values that are decorated as "sensitive" in the API will not
 11948  // be included in the string output. The member name will be present, but the
 11949  // value will be replaced with "sensitive".
 11950  func (s GetJobInput) String() string {
 11951  	return awsutil.Prettify(s)
 11952  }
 11953  
 11954  // GoString returns the string representation.
 11955  //
 11956  // API parameter values that are decorated as "sensitive" in the API will not
 11957  // be included in the string output. The member name will be present, but the
 11958  // value will be replaced with "sensitive".
 11959  func (s GetJobInput) GoString() string {
 11960  	return s.String()
 11961  }
 11962  
 11963  // Validate inspects the fields of the type to determine if they are valid.
 11964  func (s *GetJobInput) Validate() error {
 11965  	invalidParams := request.ErrInvalidParams{Context: "GetJobInput"}
 11966  	if s.Arn == nil {
 11967  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 11968  	}
 11969  	if s.Arn != nil && len(*s.Arn) < 32 {
 11970  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 11971  	}
 11972  
 11973  	if invalidParams.Len() > 0 {
 11974  		return invalidParams
 11975  	}
 11976  	return nil
 11977  }
 11978  
 11979  // SetArn sets the Arn field's value.
 11980  func (s *GetJobInput) SetArn(v string) *GetJobInput {
 11981  	s.Arn = &v
 11982  	return s
 11983  }
 11984  
 11985  // Represents the result of a get job request.
 11986  type GetJobOutput struct {
 11987  	_ struct{} `type:"structure"`
 11988  
 11989  	// An object that contains information about the requested job.
 11990  	Job *Job `locationName:"job" type:"structure"`
 11991  }
 11992  
 11993  // String returns the string representation.
 11994  //
 11995  // API parameter values that are decorated as "sensitive" in the API will not
 11996  // be included in the string output. The member name will be present, but the
 11997  // value will be replaced with "sensitive".
 11998  func (s GetJobOutput) String() string {
 11999  	return awsutil.Prettify(s)
 12000  }
 12001  
 12002  // GoString returns the string representation.
 12003  //
 12004  // API parameter values that are decorated as "sensitive" in the API will not
 12005  // be included in the string output. The member name will be present, but the
 12006  // value will be replaced with "sensitive".
 12007  func (s GetJobOutput) GoString() string {
 12008  	return s.String()
 12009  }
 12010  
 12011  // SetJob sets the Job field's value.
 12012  func (s *GetJobOutput) SetJob(v *Job) *GetJobOutput {
 12013  	s.Job = v
 12014  	return s
 12015  }
 12016  
 12017  type GetNetworkProfileInput struct {
 12018  	_ struct{} `type:"structure"`
 12019  
 12020  	// The ARN of the network profile to return information about.
 12021  	//
 12022  	// Arn is a required field
 12023  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 12024  }
 12025  
 12026  // String returns the string representation.
 12027  //
 12028  // API parameter values that are decorated as "sensitive" in the API will not
 12029  // be included in the string output. The member name will be present, but the
 12030  // value will be replaced with "sensitive".
 12031  func (s GetNetworkProfileInput) String() string {
 12032  	return awsutil.Prettify(s)
 12033  }
 12034  
 12035  // GoString returns the string representation.
 12036  //
 12037  // API parameter values that are decorated as "sensitive" in the API will not
 12038  // be included in the string output. The member name will be present, but the
 12039  // value will be replaced with "sensitive".
 12040  func (s GetNetworkProfileInput) GoString() string {
 12041  	return s.String()
 12042  }
 12043  
 12044  // Validate inspects the fields of the type to determine if they are valid.
 12045  func (s *GetNetworkProfileInput) Validate() error {
 12046  	invalidParams := request.ErrInvalidParams{Context: "GetNetworkProfileInput"}
 12047  	if s.Arn == nil {
 12048  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 12049  	}
 12050  	if s.Arn != nil && len(*s.Arn) < 32 {
 12051  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 12052  	}
 12053  
 12054  	if invalidParams.Len() > 0 {
 12055  		return invalidParams
 12056  	}
 12057  	return nil
 12058  }
 12059  
 12060  // SetArn sets the Arn field's value.
 12061  func (s *GetNetworkProfileInput) SetArn(v string) *GetNetworkProfileInput {
 12062  	s.Arn = &v
 12063  	return s
 12064  }
 12065  
 12066  type GetNetworkProfileOutput struct {
 12067  	_ struct{} `type:"structure"`
 12068  
 12069  	// The network profile.
 12070  	NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"`
 12071  }
 12072  
 12073  // String returns the string representation.
 12074  //
 12075  // API parameter values that are decorated as "sensitive" in the API will not
 12076  // be included in the string output. The member name will be present, but the
 12077  // value will be replaced with "sensitive".
 12078  func (s GetNetworkProfileOutput) String() string {
 12079  	return awsutil.Prettify(s)
 12080  }
 12081  
 12082  // GoString returns the string representation.
 12083  //
 12084  // API parameter values that are decorated as "sensitive" in the API will not
 12085  // be included in the string output. The member name will be present, but the
 12086  // value will be replaced with "sensitive".
 12087  func (s GetNetworkProfileOutput) GoString() string {
 12088  	return s.String()
 12089  }
 12090  
 12091  // SetNetworkProfile sets the NetworkProfile field's value.
 12092  func (s *GetNetworkProfileOutput) SetNetworkProfile(v *NetworkProfile) *GetNetworkProfileOutput {
 12093  	s.NetworkProfile = v
 12094  	return s
 12095  }
 12096  
 12097  // Represents the request to retrieve the offering status for the specified
 12098  // customer or account.
 12099  type GetOfferingStatusInput struct {
 12100  	_ struct{} `type:"structure"`
 12101  
 12102  	// An identifier that was returned from the previous call to this operation,
 12103  	// which can be used to return the next set of items in the list.
 12104  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 12105  }
 12106  
 12107  // String returns the string representation.
 12108  //
 12109  // API parameter values that are decorated as "sensitive" in the API will not
 12110  // be included in the string output. The member name will be present, but the
 12111  // value will be replaced with "sensitive".
 12112  func (s GetOfferingStatusInput) String() string {
 12113  	return awsutil.Prettify(s)
 12114  }
 12115  
 12116  // GoString returns the string representation.
 12117  //
 12118  // API parameter values that are decorated as "sensitive" in the API will not
 12119  // be included in the string output. The member name will be present, but the
 12120  // value will be replaced with "sensitive".
 12121  func (s GetOfferingStatusInput) GoString() string {
 12122  	return s.String()
 12123  }
 12124  
 12125  // Validate inspects the fields of the type to determine if they are valid.
 12126  func (s *GetOfferingStatusInput) Validate() error {
 12127  	invalidParams := request.ErrInvalidParams{Context: "GetOfferingStatusInput"}
 12128  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 12129  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 12130  	}
 12131  
 12132  	if invalidParams.Len() > 0 {
 12133  		return invalidParams
 12134  	}
 12135  	return nil
 12136  }
 12137  
 12138  // SetNextToken sets the NextToken field's value.
 12139  func (s *GetOfferingStatusInput) SetNextToken(v string) *GetOfferingStatusInput {
 12140  	s.NextToken = &v
 12141  	return s
 12142  }
 12143  
 12144  // Returns the status result for a device offering.
 12145  type GetOfferingStatusOutput struct {
 12146  	_ struct{} `type:"structure"`
 12147  
 12148  	// When specified, gets the offering status for the current period.
 12149  	Current map[string]*OfferingStatus `locationName:"current" type:"map"`
 12150  
 12151  	// When specified, gets the offering status for the next period.
 12152  	NextPeriod map[string]*OfferingStatus `locationName:"nextPeriod" type:"map"`
 12153  
 12154  	// An identifier that was returned from the previous call to this operation,
 12155  	// which can be used to return the next set of items in the list.
 12156  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 12157  }
 12158  
 12159  // String returns the string representation.
 12160  //
 12161  // API parameter values that are decorated as "sensitive" in the API will not
 12162  // be included in the string output. The member name will be present, but the
 12163  // value will be replaced with "sensitive".
 12164  func (s GetOfferingStatusOutput) String() string {
 12165  	return awsutil.Prettify(s)
 12166  }
 12167  
 12168  // GoString returns the string representation.
 12169  //
 12170  // API parameter values that are decorated as "sensitive" in the API will not
 12171  // be included in the string output. The member name will be present, but the
 12172  // value will be replaced with "sensitive".
 12173  func (s GetOfferingStatusOutput) GoString() string {
 12174  	return s.String()
 12175  }
 12176  
 12177  // SetCurrent sets the Current field's value.
 12178  func (s *GetOfferingStatusOutput) SetCurrent(v map[string]*OfferingStatus) *GetOfferingStatusOutput {
 12179  	s.Current = v
 12180  	return s
 12181  }
 12182  
 12183  // SetNextPeriod sets the NextPeriod field's value.
 12184  func (s *GetOfferingStatusOutput) SetNextPeriod(v map[string]*OfferingStatus) *GetOfferingStatusOutput {
 12185  	s.NextPeriod = v
 12186  	return s
 12187  }
 12188  
 12189  // SetNextToken sets the NextToken field's value.
 12190  func (s *GetOfferingStatusOutput) SetNextToken(v string) *GetOfferingStatusOutput {
 12191  	s.NextToken = &v
 12192  	return s
 12193  }
 12194  
 12195  // Represents a request to the get project operation.
 12196  type GetProjectInput struct {
 12197  	_ struct{} `type:"structure"`
 12198  
 12199  	// The project's ARN.
 12200  	//
 12201  	// Arn is a required field
 12202  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 12203  }
 12204  
 12205  // String returns the string representation.
 12206  //
 12207  // API parameter values that are decorated as "sensitive" in the API will not
 12208  // be included in the string output. The member name will be present, but the
 12209  // value will be replaced with "sensitive".
 12210  func (s GetProjectInput) String() string {
 12211  	return awsutil.Prettify(s)
 12212  }
 12213  
 12214  // GoString returns the string representation.
 12215  //
 12216  // API parameter values that are decorated as "sensitive" in the API will not
 12217  // be included in the string output. The member name will be present, but the
 12218  // value will be replaced with "sensitive".
 12219  func (s GetProjectInput) GoString() string {
 12220  	return s.String()
 12221  }
 12222  
 12223  // Validate inspects the fields of the type to determine if they are valid.
 12224  func (s *GetProjectInput) Validate() error {
 12225  	invalidParams := request.ErrInvalidParams{Context: "GetProjectInput"}
 12226  	if s.Arn == nil {
 12227  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 12228  	}
 12229  	if s.Arn != nil && len(*s.Arn) < 32 {
 12230  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 12231  	}
 12232  
 12233  	if invalidParams.Len() > 0 {
 12234  		return invalidParams
 12235  	}
 12236  	return nil
 12237  }
 12238  
 12239  // SetArn sets the Arn field's value.
 12240  func (s *GetProjectInput) SetArn(v string) *GetProjectInput {
 12241  	s.Arn = &v
 12242  	return s
 12243  }
 12244  
 12245  // Represents the result of a get project request.
 12246  type GetProjectOutput struct {
 12247  	_ struct{} `type:"structure"`
 12248  
 12249  	// The project to get information about.
 12250  	Project *Project `locationName:"project" type:"structure"`
 12251  }
 12252  
 12253  // String returns the string representation.
 12254  //
 12255  // API parameter values that are decorated as "sensitive" in the API will not
 12256  // be included in the string output. The member name will be present, but the
 12257  // value will be replaced with "sensitive".
 12258  func (s GetProjectOutput) String() string {
 12259  	return awsutil.Prettify(s)
 12260  }
 12261  
 12262  // GoString returns the string representation.
 12263  //
 12264  // API parameter values that are decorated as "sensitive" in the API will not
 12265  // be included in the string output. The member name will be present, but the
 12266  // value will be replaced with "sensitive".
 12267  func (s GetProjectOutput) GoString() string {
 12268  	return s.String()
 12269  }
 12270  
 12271  // SetProject sets the Project field's value.
 12272  func (s *GetProjectOutput) SetProject(v *Project) *GetProjectOutput {
 12273  	s.Project = v
 12274  	return s
 12275  }
 12276  
 12277  // Represents the request to get information about the specified remote access
 12278  // session.
 12279  type GetRemoteAccessSessionInput struct {
 12280  	_ struct{} `type:"structure"`
 12281  
 12282  	// The Amazon Resource Name (ARN) of the remote access session about which you
 12283  	// want to get session information.
 12284  	//
 12285  	// Arn is a required field
 12286  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 12287  }
 12288  
 12289  // String returns the string representation.
 12290  //
 12291  // API parameter values that are decorated as "sensitive" in the API will not
 12292  // be included in the string output. The member name will be present, but the
 12293  // value will be replaced with "sensitive".
 12294  func (s GetRemoteAccessSessionInput) String() string {
 12295  	return awsutil.Prettify(s)
 12296  }
 12297  
 12298  // GoString returns the string representation.
 12299  //
 12300  // API parameter values that are decorated as "sensitive" in the API will not
 12301  // be included in the string output. The member name will be present, but the
 12302  // value will be replaced with "sensitive".
 12303  func (s GetRemoteAccessSessionInput) GoString() string {
 12304  	return s.String()
 12305  }
 12306  
 12307  // Validate inspects the fields of the type to determine if they are valid.
 12308  func (s *GetRemoteAccessSessionInput) Validate() error {
 12309  	invalidParams := request.ErrInvalidParams{Context: "GetRemoteAccessSessionInput"}
 12310  	if s.Arn == nil {
 12311  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 12312  	}
 12313  	if s.Arn != nil && len(*s.Arn) < 32 {
 12314  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 12315  	}
 12316  
 12317  	if invalidParams.Len() > 0 {
 12318  		return invalidParams
 12319  	}
 12320  	return nil
 12321  }
 12322  
 12323  // SetArn sets the Arn field's value.
 12324  func (s *GetRemoteAccessSessionInput) SetArn(v string) *GetRemoteAccessSessionInput {
 12325  	s.Arn = &v
 12326  	return s
 12327  }
 12328  
 12329  // Represents the response from the server that lists detailed information about
 12330  // the remote access session.
 12331  type GetRemoteAccessSessionOutput struct {
 12332  	_ struct{} `type:"structure"`
 12333  
 12334  	// A container that lists detailed information about the remote access session.
 12335  	RemoteAccessSession *RemoteAccessSession `locationName:"remoteAccessSession" type:"structure"`
 12336  }
 12337  
 12338  // String returns the string representation.
 12339  //
 12340  // API parameter values that are decorated as "sensitive" in the API will not
 12341  // be included in the string output. The member name will be present, but the
 12342  // value will be replaced with "sensitive".
 12343  func (s GetRemoteAccessSessionOutput) String() string {
 12344  	return awsutil.Prettify(s)
 12345  }
 12346  
 12347  // GoString returns the string representation.
 12348  //
 12349  // API parameter values that are decorated as "sensitive" in the API will not
 12350  // be included in the string output. The member name will be present, but the
 12351  // value will be replaced with "sensitive".
 12352  func (s GetRemoteAccessSessionOutput) GoString() string {
 12353  	return s.String()
 12354  }
 12355  
 12356  // SetRemoteAccessSession sets the RemoteAccessSession field's value.
 12357  func (s *GetRemoteAccessSessionOutput) SetRemoteAccessSession(v *RemoteAccessSession) *GetRemoteAccessSessionOutput {
 12358  	s.RemoteAccessSession = v
 12359  	return s
 12360  }
 12361  
 12362  // Represents a request to the get run operation.
 12363  type GetRunInput struct {
 12364  	_ struct{} `type:"structure"`
 12365  
 12366  	// The run's ARN.
 12367  	//
 12368  	// Arn is a required field
 12369  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 12370  }
 12371  
 12372  // String returns the string representation.
 12373  //
 12374  // API parameter values that are decorated as "sensitive" in the API will not
 12375  // be included in the string output. The member name will be present, but the
 12376  // value will be replaced with "sensitive".
 12377  func (s GetRunInput) String() string {
 12378  	return awsutil.Prettify(s)
 12379  }
 12380  
 12381  // GoString returns the string representation.
 12382  //
 12383  // API parameter values that are decorated as "sensitive" in the API will not
 12384  // be included in the string output. The member name will be present, but the
 12385  // value will be replaced with "sensitive".
 12386  func (s GetRunInput) GoString() string {
 12387  	return s.String()
 12388  }
 12389  
 12390  // Validate inspects the fields of the type to determine if they are valid.
 12391  func (s *GetRunInput) Validate() error {
 12392  	invalidParams := request.ErrInvalidParams{Context: "GetRunInput"}
 12393  	if s.Arn == nil {
 12394  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 12395  	}
 12396  	if s.Arn != nil && len(*s.Arn) < 32 {
 12397  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 12398  	}
 12399  
 12400  	if invalidParams.Len() > 0 {
 12401  		return invalidParams
 12402  	}
 12403  	return nil
 12404  }
 12405  
 12406  // SetArn sets the Arn field's value.
 12407  func (s *GetRunInput) SetArn(v string) *GetRunInput {
 12408  	s.Arn = &v
 12409  	return s
 12410  }
 12411  
 12412  // Represents the result of a get run request.
 12413  type GetRunOutput struct {
 12414  	_ struct{} `type:"structure"`
 12415  
 12416  	// The run to get results from.
 12417  	Run *Run `locationName:"run" type:"structure"`
 12418  }
 12419  
 12420  // String returns the string representation.
 12421  //
 12422  // API parameter values that are decorated as "sensitive" in the API will not
 12423  // be included in the string output. The member name will be present, but the
 12424  // value will be replaced with "sensitive".
 12425  func (s GetRunOutput) String() string {
 12426  	return awsutil.Prettify(s)
 12427  }
 12428  
 12429  // GoString returns the string representation.
 12430  //
 12431  // API parameter values that are decorated as "sensitive" in the API will not
 12432  // be included in the string output. The member name will be present, but the
 12433  // value will be replaced with "sensitive".
 12434  func (s GetRunOutput) GoString() string {
 12435  	return s.String()
 12436  }
 12437  
 12438  // SetRun sets the Run field's value.
 12439  func (s *GetRunOutput) SetRun(v *Run) *GetRunOutput {
 12440  	s.Run = v
 12441  	return s
 12442  }
 12443  
 12444  // Represents a request to the get suite operation.
 12445  type GetSuiteInput struct {
 12446  	_ struct{} `type:"structure"`
 12447  
 12448  	// The suite's ARN.
 12449  	//
 12450  	// Arn is a required field
 12451  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 12452  }
 12453  
 12454  // String returns the string representation.
 12455  //
 12456  // API parameter values that are decorated as "sensitive" in the API will not
 12457  // be included in the string output. The member name will be present, but the
 12458  // value will be replaced with "sensitive".
 12459  func (s GetSuiteInput) String() string {
 12460  	return awsutil.Prettify(s)
 12461  }
 12462  
 12463  // GoString returns the string representation.
 12464  //
 12465  // API parameter values that are decorated as "sensitive" in the API will not
 12466  // be included in the string output. The member name will be present, but the
 12467  // value will be replaced with "sensitive".
 12468  func (s GetSuiteInput) GoString() string {
 12469  	return s.String()
 12470  }
 12471  
 12472  // Validate inspects the fields of the type to determine if they are valid.
 12473  func (s *GetSuiteInput) Validate() error {
 12474  	invalidParams := request.ErrInvalidParams{Context: "GetSuiteInput"}
 12475  	if s.Arn == nil {
 12476  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 12477  	}
 12478  	if s.Arn != nil && len(*s.Arn) < 32 {
 12479  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 12480  	}
 12481  
 12482  	if invalidParams.Len() > 0 {
 12483  		return invalidParams
 12484  	}
 12485  	return nil
 12486  }
 12487  
 12488  // SetArn sets the Arn field's value.
 12489  func (s *GetSuiteInput) SetArn(v string) *GetSuiteInput {
 12490  	s.Arn = &v
 12491  	return s
 12492  }
 12493  
 12494  // Represents the result of a get suite request.
 12495  type GetSuiteOutput struct {
 12496  	_ struct{} `type:"structure"`
 12497  
 12498  	// A collection of one or more tests.
 12499  	Suite *Suite `locationName:"suite" type:"structure"`
 12500  }
 12501  
 12502  // String returns the string representation.
 12503  //
 12504  // API parameter values that are decorated as "sensitive" in the API will not
 12505  // be included in the string output. The member name will be present, but the
 12506  // value will be replaced with "sensitive".
 12507  func (s GetSuiteOutput) String() string {
 12508  	return awsutil.Prettify(s)
 12509  }
 12510  
 12511  // GoString returns the string representation.
 12512  //
 12513  // API parameter values that are decorated as "sensitive" in the API will not
 12514  // be included in the string output. The member name will be present, but the
 12515  // value will be replaced with "sensitive".
 12516  func (s GetSuiteOutput) GoString() string {
 12517  	return s.String()
 12518  }
 12519  
 12520  // SetSuite sets the Suite field's value.
 12521  func (s *GetSuiteOutput) SetSuite(v *Suite) *GetSuiteOutput {
 12522  	s.Suite = v
 12523  	return s
 12524  }
 12525  
 12526  type GetTestGridProjectInput struct {
 12527  	_ struct{} `type:"structure"`
 12528  
 12529  	// The ARN of the Selenium testing project, from either CreateTestGridProject
 12530  	// or ListTestGridProjects.
 12531  	//
 12532  	// ProjectArn is a required field
 12533  	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
 12534  }
 12535  
 12536  // String returns the string representation.
 12537  //
 12538  // API parameter values that are decorated as "sensitive" in the API will not
 12539  // be included in the string output. The member name will be present, but the
 12540  // value will be replaced with "sensitive".
 12541  func (s GetTestGridProjectInput) String() string {
 12542  	return awsutil.Prettify(s)
 12543  }
 12544  
 12545  // GoString returns the string representation.
 12546  //
 12547  // API parameter values that are decorated as "sensitive" in the API will not
 12548  // be included in the string output. The member name will be present, but the
 12549  // value will be replaced with "sensitive".
 12550  func (s GetTestGridProjectInput) GoString() string {
 12551  	return s.String()
 12552  }
 12553  
 12554  // Validate inspects the fields of the type to determine if they are valid.
 12555  func (s *GetTestGridProjectInput) Validate() error {
 12556  	invalidParams := request.ErrInvalidParams{Context: "GetTestGridProjectInput"}
 12557  	if s.ProjectArn == nil {
 12558  		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
 12559  	}
 12560  	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
 12561  		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
 12562  	}
 12563  
 12564  	if invalidParams.Len() > 0 {
 12565  		return invalidParams
 12566  	}
 12567  	return nil
 12568  }
 12569  
 12570  // SetProjectArn sets the ProjectArn field's value.
 12571  func (s *GetTestGridProjectInput) SetProjectArn(v string) *GetTestGridProjectInput {
 12572  	s.ProjectArn = &v
 12573  	return s
 12574  }
 12575  
 12576  type GetTestGridProjectOutput struct {
 12577  	_ struct{} `type:"structure"`
 12578  
 12579  	// A TestGridProject.
 12580  	TestGridProject *TestGridProject `locationName:"testGridProject" type:"structure"`
 12581  }
 12582  
 12583  // String returns the string representation.
 12584  //
 12585  // API parameter values that are decorated as "sensitive" in the API will not
 12586  // be included in the string output. The member name will be present, but the
 12587  // value will be replaced with "sensitive".
 12588  func (s GetTestGridProjectOutput) String() string {
 12589  	return awsutil.Prettify(s)
 12590  }
 12591  
 12592  // GoString returns the string representation.
 12593  //
 12594  // API parameter values that are decorated as "sensitive" in the API will not
 12595  // be included in the string output. The member name will be present, but the
 12596  // value will be replaced with "sensitive".
 12597  func (s GetTestGridProjectOutput) GoString() string {
 12598  	return s.String()
 12599  }
 12600  
 12601  // SetTestGridProject sets the TestGridProject field's value.
 12602  func (s *GetTestGridProjectOutput) SetTestGridProject(v *TestGridProject) *GetTestGridProjectOutput {
 12603  	s.TestGridProject = v
 12604  	return s
 12605  }
 12606  
 12607  type GetTestGridSessionInput struct {
 12608  	_ struct{} `type:"structure"`
 12609  
 12610  	// The ARN for the project that this session belongs to. See CreateTestGridProject
 12611  	// and ListTestGridProjects.
 12612  	ProjectArn *string `locationName:"projectArn" min:"32" type:"string"`
 12613  
 12614  	// An ARN that uniquely identifies a TestGridSession.
 12615  	SessionArn *string `locationName:"sessionArn" min:"32" type:"string"`
 12616  
 12617  	// An ID associated with this session.
 12618  	SessionId *string `locationName:"sessionId" min:"1" type:"string"`
 12619  }
 12620  
 12621  // String returns the string representation.
 12622  //
 12623  // API parameter values that are decorated as "sensitive" in the API will not
 12624  // be included in the string output. The member name will be present, but the
 12625  // value will be replaced with "sensitive".
 12626  func (s GetTestGridSessionInput) String() string {
 12627  	return awsutil.Prettify(s)
 12628  }
 12629  
 12630  // GoString returns the string representation.
 12631  //
 12632  // API parameter values that are decorated as "sensitive" in the API will not
 12633  // be included in the string output. The member name will be present, but the
 12634  // value will be replaced with "sensitive".
 12635  func (s GetTestGridSessionInput) GoString() string {
 12636  	return s.String()
 12637  }
 12638  
 12639  // Validate inspects the fields of the type to determine if they are valid.
 12640  func (s *GetTestGridSessionInput) Validate() error {
 12641  	invalidParams := request.ErrInvalidParams{Context: "GetTestGridSessionInput"}
 12642  	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
 12643  		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
 12644  	}
 12645  	if s.SessionArn != nil && len(*s.SessionArn) < 32 {
 12646  		invalidParams.Add(request.NewErrParamMinLen("SessionArn", 32))
 12647  	}
 12648  	if s.SessionId != nil && len(*s.SessionId) < 1 {
 12649  		invalidParams.Add(request.NewErrParamMinLen("SessionId", 1))
 12650  	}
 12651  
 12652  	if invalidParams.Len() > 0 {
 12653  		return invalidParams
 12654  	}
 12655  	return nil
 12656  }
 12657  
 12658  // SetProjectArn sets the ProjectArn field's value.
 12659  func (s *GetTestGridSessionInput) SetProjectArn(v string) *GetTestGridSessionInput {
 12660  	s.ProjectArn = &v
 12661  	return s
 12662  }
 12663  
 12664  // SetSessionArn sets the SessionArn field's value.
 12665  func (s *GetTestGridSessionInput) SetSessionArn(v string) *GetTestGridSessionInput {
 12666  	s.SessionArn = &v
 12667  	return s
 12668  }
 12669  
 12670  // SetSessionId sets the SessionId field's value.
 12671  func (s *GetTestGridSessionInput) SetSessionId(v string) *GetTestGridSessionInput {
 12672  	s.SessionId = &v
 12673  	return s
 12674  }
 12675  
 12676  type GetTestGridSessionOutput struct {
 12677  	_ struct{} `type:"structure"`
 12678  
 12679  	// The TestGridSession that was requested.
 12680  	TestGridSession *TestGridSession `locationName:"testGridSession" type:"structure"`
 12681  }
 12682  
 12683  // String returns the string representation.
 12684  //
 12685  // API parameter values that are decorated as "sensitive" in the API will not
 12686  // be included in the string output. The member name will be present, but the
 12687  // value will be replaced with "sensitive".
 12688  func (s GetTestGridSessionOutput) String() string {
 12689  	return awsutil.Prettify(s)
 12690  }
 12691  
 12692  // GoString returns the string representation.
 12693  //
 12694  // API parameter values that are decorated as "sensitive" in the API will not
 12695  // be included in the string output. The member name will be present, but the
 12696  // value will be replaced with "sensitive".
 12697  func (s GetTestGridSessionOutput) GoString() string {
 12698  	return s.String()
 12699  }
 12700  
 12701  // SetTestGridSession sets the TestGridSession field's value.
 12702  func (s *GetTestGridSessionOutput) SetTestGridSession(v *TestGridSession) *GetTestGridSessionOutput {
 12703  	s.TestGridSession = v
 12704  	return s
 12705  }
 12706  
 12707  // Represents a request to the get test operation.
 12708  type GetTestInput struct {
 12709  	_ struct{} `type:"structure"`
 12710  
 12711  	// The test's ARN.
 12712  	//
 12713  	// Arn is a required field
 12714  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 12715  }
 12716  
 12717  // String returns the string representation.
 12718  //
 12719  // API parameter values that are decorated as "sensitive" in the API will not
 12720  // be included in the string output. The member name will be present, but the
 12721  // value will be replaced with "sensitive".
 12722  func (s GetTestInput) String() string {
 12723  	return awsutil.Prettify(s)
 12724  }
 12725  
 12726  // GoString returns the string representation.
 12727  //
 12728  // API parameter values that are decorated as "sensitive" in the API will not
 12729  // be included in the string output. The member name will be present, but the
 12730  // value will be replaced with "sensitive".
 12731  func (s GetTestInput) GoString() string {
 12732  	return s.String()
 12733  }
 12734  
 12735  // Validate inspects the fields of the type to determine if they are valid.
 12736  func (s *GetTestInput) Validate() error {
 12737  	invalidParams := request.ErrInvalidParams{Context: "GetTestInput"}
 12738  	if s.Arn == nil {
 12739  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 12740  	}
 12741  	if s.Arn != nil && len(*s.Arn) < 32 {
 12742  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 12743  	}
 12744  
 12745  	if invalidParams.Len() > 0 {
 12746  		return invalidParams
 12747  	}
 12748  	return nil
 12749  }
 12750  
 12751  // SetArn sets the Arn field's value.
 12752  func (s *GetTestInput) SetArn(v string) *GetTestInput {
 12753  	s.Arn = &v
 12754  	return s
 12755  }
 12756  
 12757  // Represents the result of a get test request.
 12758  type GetTestOutput struct {
 12759  	_ struct{} `type:"structure"`
 12760  
 12761  	// A test condition that is evaluated.
 12762  	Test *Test `locationName:"test" type:"structure"`
 12763  }
 12764  
 12765  // String returns the string representation.
 12766  //
 12767  // API parameter values that are decorated as "sensitive" in the API will not
 12768  // be included in the string output. The member name will be present, but the
 12769  // value will be replaced with "sensitive".
 12770  func (s GetTestOutput) String() string {
 12771  	return awsutil.Prettify(s)
 12772  }
 12773  
 12774  // GoString returns the string representation.
 12775  //
 12776  // API parameter values that are decorated as "sensitive" in the API will not
 12777  // be included in the string output. The member name will be present, but the
 12778  // value will be replaced with "sensitive".
 12779  func (s GetTestOutput) GoString() string {
 12780  	return s.String()
 12781  }
 12782  
 12783  // SetTest sets the Test field's value.
 12784  func (s *GetTestOutput) SetTest(v *Test) *GetTestOutput {
 12785  	s.Test = v
 12786  	return s
 12787  }
 12788  
 12789  // Represents a request to the get upload operation.
 12790  type GetUploadInput struct {
 12791  	_ struct{} `type:"structure"`
 12792  
 12793  	// The upload's ARN.
 12794  	//
 12795  	// Arn is a required field
 12796  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 12797  }
 12798  
 12799  // String returns the string representation.
 12800  //
 12801  // API parameter values that are decorated as "sensitive" in the API will not
 12802  // be included in the string output. The member name will be present, but the
 12803  // value will be replaced with "sensitive".
 12804  func (s GetUploadInput) String() string {
 12805  	return awsutil.Prettify(s)
 12806  }
 12807  
 12808  // GoString returns the string representation.
 12809  //
 12810  // API parameter values that are decorated as "sensitive" in the API will not
 12811  // be included in the string output. The member name will be present, but the
 12812  // value will be replaced with "sensitive".
 12813  func (s GetUploadInput) GoString() string {
 12814  	return s.String()
 12815  }
 12816  
 12817  // Validate inspects the fields of the type to determine if they are valid.
 12818  func (s *GetUploadInput) Validate() error {
 12819  	invalidParams := request.ErrInvalidParams{Context: "GetUploadInput"}
 12820  	if s.Arn == nil {
 12821  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 12822  	}
 12823  	if s.Arn != nil && len(*s.Arn) < 32 {
 12824  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 12825  	}
 12826  
 12827  	if invalidParams.Len() > 0 {
 12828  		return invalidParams
 12829  	}
 12830  	return nil
 12831  }
 12832  
 12833  // SetArn sets the Arn field's value.
 12834  func (s *GetUploadInput) SetArn(v string) *GetUploadInput {
 12835  	s.Arn = &v
 12836  	return s
 12837  }
 12838  
 12839  // Represents the result of a get upload request.
 12840  type GetUploadOutput struct {
 12841  	_ struct{} `type:"structure"`
 12842  
 12843  	// An app or a set of one or more tests to upload or that have been uploaded.
 12844  	Upload *Upload `locationName:"upload" type:"structure"`
 12845  }
 12846  
 12847  // String returns the string representation.
 12848  //
 12849  // API parameter values that are decorated as "sensitive" in the API will not
 12850  // be included in the string output. The member name will be present, but the
 12851  // value will be replaced with "sensitive".
 12852  func (s GetUploadOutput) String() string {
 12853  	return awsutil.Prettify(s)
 12854  }
 12855  
 12856  // GoString returns the string representation.
 12857  //
 12858  // API parameter values that are decorated as "sensitive" in the API will not
 12859  // be included in the string output. The member name will be present, but the
 12860  // value will be replaced with "sensitive".
 12861  func (s GetUploadOutput) GoString() string {
 12862  	return s.String()
 12863  }
 12864  
 12865  // SetUpload sets the Upload field's value.
 12866  func (s *GetUploadOutput) SetUpload(v *Upload) *GetUploadOutput {
 12867  	s.Upload = v
 12868  	return s
 12869  }
 12870  
 12871  type GetVPCEConfigurationInput struct {
 12872  	_ struct{} `type:"structure"`
 12873  
 12874  	// The Amazon Resource Name (ARN) of the VPC endpoint configuration you want
 12875  	// to describe.
 12876  	//
 12877  	// Arn is a required field
 12878  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 12879  }
 12880  
 12881  // String returns the string representation.
 12882  //
 12883  // API parameter values that are decorated as "sensitive" in the API will not
 12884  // be included in the string output. The member name will be present, but the
 12885  // value will be replaced with "sensitive".
 12886  func (s GetVPCEConfigurationInput) String() string {
 12887  	return awsutil.Prettify(s)
 12888  }
 12889  
 12890  // GoString returns the string representation.
 12891  //
 12892  // API parameter values that are decorated as "sensitive" in the API will not
 12893  // be included in the string output. The member name will be present, but the
 12894  // value will be replaced with "sensitive".
 12895  func (s GetVPCEConfigurationInput) GoString() string {
 12896  	return s.String()
 12897  }
 12898  
 12899  // Validate inspects the fields of the type to determine if they are valid.
 12900  func (s *GetVPCEConfigurationInput) Validate() error {
 12901  	invalidParams := request.ErrInvalidParams{Context: "GetVPCEConfigurationInput"}
 12902  	if s.Arn == nil {
 12903  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 12904  	}
 12905  	if s.Arn != nil && len(*s.Arn) < 32 {
 12906  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 12907  	}
 12908  
 12909  	if invalidParams.Len() > 0 {
 12910  		return invalidParams
 12911  	}
 12912  	return nil
 12913  }
 12914  
 12915  // SetArn sets the Arn field's value.
 12916  func (s *GetVPCEConfigurationInput) SetArn(v string) *GetVPCEConfigurationInput {
 12917  	s.Arn = &v
 12918  	return s
 12919  }
 12920  
 12921  type GetVPCEConfigurationOutput struct {
 12922  	_ struct{} `type:"structure"`
 12923  
 12924  	// An object that contains information about your VPC endpoint configuration.
 12925  	VpceConfiguration *VPCEConfiguration `locationName:"vpceConfiguration" type:"structure"`
 12926  }
 12927  
 12928  // String returns the string representation.
 12929  //
 12930  // API parameter values that are decorated as "sensitive" in the API will not
 12931  // be included in the string output. The member name will be present, but the
 12932  // value will be replaced with "sensitive".
 12933  func (s GetVPCEConfigurationOutput) String() string {
 12934  	return awsutil.Prettify(s)
 12935  }
 12936  
 12937  // GoString returns the string representation.
 12938  //
 12939  // API parameter values that are decorated as "sensitive" in the API will not
 12940  // be included in the string output. The member name will be present, but the
 12941  // value will be replaced with "sensitive".
 12942  func (s GetVPCEConfigurationOutput) GoString() string {
 12943  	return s.String()
 12944  }
 12945  
 12946  // SetVpceConfiguration sets the VpceConfiguration field's value.
 12947  func (s *GetVPCEConfigurationOutput) SetVpceConfiguration(v *VPCEConfiguration) *GetVPCEConfigurationOutput {
 12948  	s.VpceConfiguration = v
 12949  	return s
 12950  }
 12951  
 12952  // An entity with the same name already exists.
 12953  type IdempotencyException struct {
 12954  	_            struct{}                  `type:"structure"`
 12955  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12956  
 12957  	// Any additional information about the exception.
 12958  	Message_ *string `locationName:"message" type:"string"`
 12959  }
 12960  
 12961  // String returns the string representation.
 12962  //
 12963  // API parameter values that are decorated as "sensitive" in the API will not
 12964  // be included in the string output. The member name will be present, but the
 12965  // value will be replaced with "sensitive".
 12966  func (s IdempotencyException) String() string {
 12967  	return awsutil.Prettify(s)
 12968  }
 12969  
 12970  // GoString returns the string representation.
 12971  //
 12972  // API parameter values that are decorated as "sensitive" in the API will not
 12973  // be included in the string output. The member name will be present, but the
 12974  // value will be replaced with "sensitive".
 12975  func (s IdempotencyException) GoString() string {
 12976  	return s.String()
 12977  }
 12978  
 12979  func newErrorIdempotencyException(v protocol.ResponseMetadata) error {
 12980  	return &IdempotencyException{
 12981  		RespMetadata: v,
 12982  	}
 12983  }
 12984  
 12985  // Code returns the exception type name.
 12986  func (s *IdempotencyException) Code() string {
 12987  	return "IdempotencyException"
 12988  }
 12989  
 12990  // Message returns the exception's message.
 12991  func (s *IdempotencyException) Message() string {
 12992  	if s.Message_ != nil {
 12993  		return *s.Message_
 12994  	}
 12995  	return ""
 12996  }
 12997  
 12998  // OrigErr always returns nil, satisfies awserr.Error interface.
 12999  func (s *IdempotencyException) OrigErr() error {
 13000  	return nil
 13001  }
 13002  
 13003  func (s *IdempotencyException) Error() string {
 13004  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13005  }
 13006  
 13007  // Status code returns the HTTP status code for the request's response error.
 13008  func (s *IdempotencyException) StatusCode() int {
 13009  	return s.RespMetadata.StatusCode
 13010  }
 13011  
 13012  // RequestID returns the service's response RequestID for request.
 13013  func (s *IdempotencyException) RequestID() string {
 13014  	return s.RespMetadata.RequestID
 13015  }
 13016  
 13017  // Represents information about incompatibility.
 13018  type IncompatibilityMessage struct {
 13019  	_ struct{} `type:"structure"`
 13020  
 13021  	// A message about the incompatibility.
 13022  	Message *string `locationName:"message" type:"string"`
 13023  
 13024  	// The type of incompatibility.
 13025  	//
 13026  	// Allowed values include:
 13027  	//
 13028  	//    * ARN
 13029  	//
 13030  	//    * FORM_FACTOR (for example, phone or tablet)
 13031  	//
 13032  	//    * MANUFACTURER
 13033  	//
 13034  	//    * PLATFORM (for example, Android or iOS)
 13035  	//
 13036  	//    * REMOTE_ACCESS_ENABLED
 13037  	//
 13038  	//    * APPIUM_VERSION
 13039  	Type *string `locationName:"type" type:"string" enum:"DeviceAttribute"`
 13040  }
 13041  
 13042  // String returns the string representation.
 13043  //
 13044  // API parameter values that are decorated as "sensitive" in the API will not
 13045  // be included in the string output. The member name will be present, but the
 13046  // value will be replaced with "sensitive".
 13047  func (s IncompatibilityMessage) String() string {
 13048  	return awsutil.Prettify(s)
 13049  }
 13050  
 13051  // GoString returns the string representation.
 13052  //
 13053  // API parameter values that are decorated as "sensitive" in the API will not
 13054  // be included in the string output. The member name will be present, but the
 13055  // value will be replaced with "sensitive".
 13056  func (s IncompatibilityMessage) GoString() string {
 13057  	return s.String()
 13058  }
 13059  
 13060  // SetMessage sets the Message field's value.
 13061  func (s *IncompatibilityMessage) SetMessage(v string) *IncompatibilityMessage {
 13062  	s.Message = &v
 13063  	return s
 13064  }
 13065  
 13066  // SetType sets the Type field's value.
 13067  func (s *IncompatibilityMessage) SetType(v string) *IncompatibilityMessage {
 13068  	s.Type = &v
 13069  	return s
 13070  }
 13071  
 13072  // Represents the request to install an Android application (in .apk format)
 13073  // or an iOS application (in .ipa format) as part of a remote access session.
 13074  type InstallToRemoteAccessSessionInput struct {
 13075  	_ struct{} `type:"structure"`
 13076  
 13077  	// The ARN of the app about which you are requesting information.
 13078  	//
 13079  	// AppArn is a required field
 13080  	AppArn *string `locationName:"appArn" min:"32" type:"string" required:"true"`
 13081  
 13082  	// The Amazon Resource Name (ARN) of the remote access session about which you
 13083  	// are requesting information.
 13084  	//
 13085  	// RemoteAccessSessionArn is a required field
 13086  	RemoteAccessSessionArn *string `locationName:"remoteAccessSessionArn" min:"32" type:"string" required:"true"`
 13087  }
 13088  
 13089  // String returns the string representation.
 13090  //
 13091  // API parameter values that are decorated as "sensitive" in the API will not
 13092  // be included in the string output. The member name will be present, but the
 13093  // value will be replaced with "sensitive".
 13094  func (s InstallToRemoteAccessSessionInput) String() string {
 13095  	return awsutil.Prettify(s)
 13096  }
 13097  
 13098  // GoString returns the string representation.
 13099  //
 13100  // API parameter values that are decorated as "sensitive" in the API will not
 13101  // be included in the string output. The member name will be present, but the
 13102  // value will be replaced with "sensitive".
 13103  func (s InstallToRemoteAccessSessionInput) GoString() string {
 13104  	return s.String()
 13105  }
 13106  
 13107  // Validate inspects the fields of the type to determine if they are valid.
 13108  func (s *InstallToRemoteAccessSessionInput) Validate() error {
 13109  	invalidParams := request.ErrInvalidParams{Context: "InstallToRemoteAccessSessionInput"}
 13110  	if s.AppArn == nil {
 13111  		invalidParams.Add(request.NewErrParamRequired("AppArn"))
 13112  	}
 13113  	if s.AppArn != nil && len(*s.AppArn) < 32 {
 13114  		invalidParams.Add(request.NewErrParamMinLen("AppArn", 32))
 13115  	}
 13116  	if s.RemoteAccessSessionArn == nil {
 13117  		invalidParams.Add(request.NewErrParamRequired("RemoteAccessSessionArn"))
 13118  	}
 13119  	if s.RemoteAccessSessionArn != nil && len(*s.RemoteAccessSessionArn) < 32 {
 13120  		invalidParams.Add(request.NewErrParamMinLen("RemoteAccessSessionArn", 32))
 13121  	}
 13122  
 13123  	if invalidParams.Len() > 0 {
 13124  		return invalidParams
 13125  	}
 13126  	return nil
 13127  }
 13128  
 13129  // SetAppArn sets the AppArn field's value.
 13130  func (s *InstallToRemoteAccessSessionInput) SetAppArn(v string) *InstallToRemoteAccessSessionInput {
 13131  	s.AppArn = &v
 13132  	return s
 13133  }
 13134  
 13135  // SetRemoteAccessSessionArn sets the RemoteAccessSessionArn field's value.
 13136  func (s *InstallToRemoteAccessSessionInput) SetRemoteAccessSessionArn(v string) *InstallToRemoteAccessSessionInput {
 13137  	s.RemoteAccessSessionArn = &v
 13138  	return s
 13139  }
 13140  
 13141  // Represents the response from the server after AWS Device Farm makes a request
 13142  // to install to a remote access session.
 13143  type InstallToRemoteAccessSessionOutput struct {
 13144  	_ struct{} `type:"structure"`
 13145  
 13146  	// An app to upload or that has been uploaded.
 13147  	AppUpload *Upload `locationName:"appUpload" type:"structure"`
 13148  }
 13149  
 13150  // String returns the string representation.
 13151  //
 13152  // API parameter values that are decorated as "sensitive" in the API will not
 13153  // be included in the string output. The member name will be present, but the
 13154  // value will be replaced with "sensitive".
 13155  func (s InstallToRemoteAccessSessionOutput) String() string {
 13156  	return awsutil.Prettify(s)
 13157  }
 13158  
 13159  // GoString returns the string representation.
 13160  //
 13161  // API parameter values that are decorated as "sensitive" in the API will not
 13162  // be included in the string output. The member name will be present, but the
 13163  // value will be replaced with "sensitive".
 13164  func (s InstallToRemoteAccessSessionOutput) GoString() string {
 13165  	return s.String()
 13166  }
 13167  
 13168  // SetAppUpload sets the AppUpload field's value.
 13169  func (s *InstallToRemoteAccessSessionOutput) SetAppUpload(v *Upload) *InstallToRemoteAccessSessionOutput {
 13170  	s.AppUpload = v
 13171  	return s
 13172  }
 13173  
 13174  // Represents the instance profile.
 13175  type InstanceProfile struct {
 13176  	_ struct{} `type:"structure"`
 13177  
 13178  	// The Amazon Resource Name (ARN) of the instance profile.
 13179  	Arn *string `locationName:"arn" min:"32" type:"string"`
 13180  
 13181  	// The description of the instance profile.
 13182  	Description *string `locationName:"description" type:"string"`
 13183  
 13184  	// An array of strings containing the list of app packages that should not be
 13185  	// cleaned up from the device after a test run completes.
 13186  	//
 13187  	// The list of packages is considered only if you set packageCleanup to true.
 13188  	ExcludeAppPackagesFromCleanup []*string `locationName:"excludeAppPackagesFromCleanup" type:"list"`
 13189  
 13190  	// The name of the instance profile.
 13191  	Name *string `locationName:"name" type:"string"`
 13192  
 13193  	// When set to true, Device Farm removes app packages after a test run. The
 13194  	// default value is false for private devices.
 13195  	PackageCleanup *bool `locationName:"packageCleanup" type:"boolean"`
 13196  
 13197  	// When set to true, Device Farm reboots the instance after a test run. The
 13198  	// default value is true.
 13199  	RebootAfterUse *bool `locationName:"rebootAfterUse" type:"boolean"`
 13200  }
 13201  
 13202  // String returns the string representation.
 13203  //
 13204  // API parameter values that are decorated as "sensitive" in the API will not
 13205  // be included in the string output. The member name will be present, but the
 13206  // value will be replaced with "sensitive".
 13207  func (s InstanceProfile) String() string {
 13208  	return awsutil.Prettify(s)
 13209  }
 13210  
 13211  // GoString returns the string representation.
 13212  //
 13213  // API parameter values that are decorated as "sensitive" in the API will not
 13214  // be included in the string output. The member name will be present, but the
 13215  // value will be replaced with "sensitive".
 13216  func (s InstanceProfile) GoString() string {
 13217  	return s.String()
 13218  }
 13219  
 13220  // SetArn sets the Arn field's value.
 13221  func (s *InstanceProfile) SetArn(v string) *InstanceProfile {
 13222  	s.Arn = &v
 13223  	return s
 13224  }
 13225  
 13226  // SetDescription sets the Description field's value.
 13227  func (s *InstanceProfile) SetDescription(v string) *InstanceProfile {
 13228  	s.Description = &v
 13229  	return s
 13230  }
 13231  
 13232  // SetExcludeAppPackagesFromCleanup sets the ExcludeAppPackagesFromCleanup field's value.
 13233  func (s *InstanceProfile) SetExcludeAppPackagesFromCleanup(v []*string) *InstanceProfile {
 13234  	s.ExcludeAppPackagesFromCleanup = v
 13235  	return s
 13236  }
 13237  
 13238  // SetName sets the Name field's value.
 13239  func (s *InstanceProfile) SetName(v string) *InstanceProfile {
 13240  	s.Name = &v
 13241  	return s
 13242  }
 13243  
 13244  // SetPackageCleanup sets the PackageCleanup field's value.
 13245  func (s *InstanceProfile) SetPackageCleanup(v bool) *InstanceProfile {
 13246  	s.PackageCleanup = &v
 13247  	return s
 13248  }
 13249  
 13250  // SetRebootAfterUse sets the RebootAfterUse field's value.
 13251  func (s *InstanceProfile) SetRebootAfterUse(v bool) *InstanceProfile {
 13252  	s.RebootAfterUse = &v
 13253  	return s
 13254  }
 13255  
 13256  // An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
 13257  // (mailto:aws-devicefarm-support@amazon.com) if you see this error.
 13258  type InternalServiceException struct {
 13259  	_            struct{}                  `type:"structure"`
 13260  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13261  
 13262  	Message_ *string `locationName:"message" type:"string"`
 13263  }
 13264  
 13265  // String returns the string representation.
 13266  //
 13267  // API parameter values that are decorated as "sensitive" in the API will not
 13268  // be included in the string output. The member name will be present, but the
 13269  // value will be replaced with "sensitive".
 13270  func (s InternalServiceException) String() string {
 13271  	return awsutil.Prettify(s)
 13272  }
 13273  
 13274  // GoString returns the string representation.
 13275  //
 13276  // API parameter values that are decorated as "sensitive" in the API will not
 13277  // be included in the string output. The member name will be present, but the
 13278  // value will be replaced with "sensitive".
 13279  func (s InternalServiceException) GoString() string {
 13280  	return s.String()
 13281  }
 13282  
 13283  func newErrorInternalServiceException(v protocol.ResponseMetadata) error {
 13284  	return &InternalServiceException{
 13285  		RespMetadata: v,
 13286  	}
 13287  }
 13288  
 13289  // Code returns the exception type name.
 13290  func (s *InternalServiceException) Code() string {
 13291  	return "InternalServiceException"
 13292  }
 13293  
 13294  // Message returns the exception's message.
 13295  func (s *InternalServiceException) Message() string {
 13296  	if s.Message_ != nil {
 13297  		return *s.Message_
 13298  	}
 13299  	return ""
 13300  }
 13301  
 13302  // OrigErr always returns nil, satisfies awserr.Error interface.
 13303  func (s *InternalServiceException) OrigErr() error {
 13304  	return nil
 13305  }
 13306  
 13307  func (s *InternalServiceException) Error() string {
 13308  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13309  }
 13310  
 13311  // Status code returns the HTTP status code for the request's response error.
 13312  func (s *InternalServiceException) StatusCode() int {
 13313  	return s.RespMetadata.StatusCode
 13314  }
 13315  
 13316  // RequestID returns the service's response RequestID for request.
 13317  func (s *InternalServiceException) RequestID() string {
 13318  	return s.RespMetadata.RequestID
 13319  }
 13320  
 13321  // There was an error with the update request, or you do not have sufficient
 13322  // permissions to update this VPC endpoint configuration.
 13323  type InvalidOperationException struct {
 13324  	_            struct{}                  `type:"structure"`
 13325  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13326  
 13327  	Message_ *string `locationName:"message" type:"string"`
 13328  }
 13329  
 13330  // String returns the string representation.
 13331  //
 13332  // API parameter values that are decorated as "sensitive" in the API will not
 13333  // be included in the string output. The member name will be present, but the
 13334  // value will be replaced with "sensitive".
 13335  func (s InvalidOperationException) String() string {
 13336  	return awsutil.Prettify(s)
 13337  }
 13338  
 13339  // GoString returns the string representation.
 13340  //
 13341  // API parameter values that are decorated as "sensitive" in the API will not
 13342  // be included in the string output. The member name will be present, but the
 13343  // value will be replaced with "sensitive".
 13344  func (s InvalidOperationException) GoString() string {
 13345  	return s.String()
 13346  }
 13347  
 13348  func newErrorInvalidOperationException(v protocol.ResponseMetadata) error {
 13349  	return &InvalidOperationException{
 13350  		RespMetadata: v,
 13351  	}
 13352  }
 13353  
 13354  // Code returns the exception type name.
 13355  func (s *InvalidOperationException) Code() string {
 13356  	return "InvalidOperationException"
 13357  }
 13358  
 13359  // Message returns the exception's message.
 13360  func (s *InvalidOperationException) Message() string {
 13361  	if s.Message_ != nil {
 13362  		return *s.Message_
 13363  	}
 13364  	return ""
 13365  }
 13366  
 13367  // OrigErr always returns nil, satisfies awserr.Error interface.
 13368  func (s *InvalidOperationException) OrigErr() error {
 13369  	return nil
 13370  }
 13371  
 13372  func (s *InvalidOperationException) Error() string {
 13373  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13374  }
 13375  
 13376  // Status code returns the HTTP status code for the request's response error.
 13377  func (s *InvalidOperationException) StatusCode() int {
 13378  	return s.RespMetadata.StatusCode
 13379  }
 13380  
 13381  // RequestID returns the service's response RequestID for request.
 13382  func (s *InvalidOperationException) RequestID() string {
 13383  	return s.RespMetadata.RequestID
 13384  }
 13385  
 13386  // Represents a device.
 13387  type Job struct {
 13388  	_ struct{} `type:"structure"`
 13389  
 13390  	// The job's ARN.
 13391  	Arn *string `locationName:"arn" min:"32" type:"string"`
 13392  
 13393  	// The job's result counters.
 13394  	Counters *Counters `locationName:"counters" type:"structure"`
 13395  
 13396  	// When the job was created.
 13397  	Created *time.Time `locationName:"created" type:"timestamp"`
 13398  
 13399  	// The device (phone or tablet).
 13400  	Device *Device `locationName:"device" type:"structure"`
 13401  
 13402  	// Represents the total (metered or unmetered) minutes used by the job.
 13403  	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
 13404  
 13405  	// The ARN of the instance.
 13406  	InstanceArn *string `locationName:"instanceArn" min:"32" type:"string"`
 13407  
 13408  	// A message about the job's result.
 13409  	Message *string `locationName:"message" type:"string"`
 13410  
 13411  	// The job's name.
 13412  	Name *string `locationName:"name" type:"string"`
 13413  
 13414  	// The job's result.
 13415  	//
 13416  	// Allowed values include:
 13417  	//
 13418  	//    * PENDING
 13419  	//
 13420  	//    * PASSED
 13421  	//
 13422  	//    * WARNED
 13423  	//
 13424  	//    * FAILED
 13425  	//
 13426  	//    * SKIPPED
 13427  	//
 13428  	//    * ERRORED
 13429  	//
 13430  	//    * STOPPED
 13431  	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
 13432  
 13433  	// The job's start time.
 13434  	Started *time.Time `locationName:"started" type:"timestamp"`
 13435  
 13436  	// The job's status.
 13437  	//
 13438  	// Allowed values include:
 13439  	//
 13440  	//    * PENDING
 13441  	//
 13442  	//    * PENDING_CONCURRENCY
 13443  	//
 13444  	//    * PENDING_DEVICE
 13445  	//
 13446  	//    * PROCESSING
 13447  	//
 13448  	//    * SCHEDULING
 13449  	//
 13450  	//    * PREPARING
 13451  	//
 13452  	//    * RUNNING
 13453  	//
 13454  	//    * COMPLETED
 13455  	//
 13456  	//    * STOPPING
 13457  	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
 13458  
 13459  	// The job's stop time.
 13460  	Stopped *time.Time `locationName:"stopped" type:"timestamp"`
 13461  
 13462  	// The job's type.
 13463  	//
 13464  	// Allowed values include the following:
 13465  	//
 13466  	//    * BUILTIN_FUZZ
 13467  	//
 13468  	//    * BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android
 13469  	//    app, interacting with it and capturing screenshots at the same time.
 13470  	//
 13471  	//    * APPIUM_JAVA_JUNIT
 13472  	//
 13473  	//    * APPIUM_JAVA_TESTNG
 13474  	//
 13475  	//    * APPIUM_PYTHON
 13476  	//
 13477  	//    * APPIUM_NODE
 13478  	//
 13479  	//    * APPIUM_RUBY
 13480  	//
 13481  	//    * APPIUM_WEB_JAVA_JUNIT
 13482  	//
 13483  	//    * APPIUM_WEB_JAVA_TESTNG
 13484  	//
 13485  	//    * APPIUM_WEB_PYTHON
 13486  	//
 13487  	//    * APPIUM_WEB_NODE
 13488  	//
 13489  	//    * APPIUM_WEB_RUBY
 13490  	//
 13491  	//    * CALABASH
 13492  	//
 13493  	//    * INSTRUMENTATION
 13494  	//
 13495  	//    * UIAUTOMATION
 13496  	//
 13497  	//    * UIAUTOMATOR
 13498  	//
 13499  	//    * XCTEST
 13500  	//
 13501  	//    * XCTEST_UI
 13502  	Type *string `locationName:"type" type:"string" enum:"TestType"`
 13503  
 13504  	// This value is set to true if video capture is enabled. Otherwise, it is set
 13505  	// to false.
 13506  	VideoCapture *bool `locationName:"videoCapture" type:"boolean"`
 13507  
 13508  	// The endpoint for streaming device video.
 13509  	VideoEndpoint *string `locationName:"videoEndpoint" type:"string"`
 13510  }
 13511  
 13512  // String returns the string representation.
 13513  //
 13514  // API parameter values that are decorated as "sensitive" in the API will not
 13515  // be included in the string output. The member name will be present, but the
 13516  // value will be replaced with "sensitive".
 13517  func (s Job) String() string {
 13518  	return awsutil.Prettify(s)
 13519  }
 13520  
 13521  // GoString returns the string representation.
 13522  //
 13523  // API parameter values that are decorated as "sensitive" in the API will not
 13524  // be included in the string output. The member name will be present, but the
 13525  // value will be replaced with "sensitive".
 13526  func (s Job) GoString() string {
 13527  	return s.String()
 13528  }
 13529  
 13530  // SetArn sets the Arn field's value.
 13531  func (s *Job) SetArn(v string) *Job {
 13532  	s.Arn = &v
 13533  	return s
 13534  }
 13535  
 13536  // SetCounters sets the Counters field's value.
 13537  func (s *Job) SetCounters(v *Counters) *Job {
 13538  	s.Counters = v
 13539  	return s
 13540  }
 13541  
 13542  // SetCreated sets the Created field's value.
 13543  func (s *Job) SetCreated(v time.Time) *Job {
 13544  	s.Created = &v
 13545  	return s
 13546  }
 13547  
 13548  // SetDevice sets the Device field's value.
 13549  func (s *Job) SetDevice(v *Device) *Job {
 13550  	s.Device = v
 13551  	return s
 13552  }
 13553  
 13554  // SetDeviceMinutes sets the DeviceMinutes field's value.
 13555  func (s *Job) SetDeviceMinutes(v *DeviceMinutes) *Job {
 13556  	s.DeviceMinutes = v
 13557  	return s
 13558  }
 13559  
 13560  // SetInstanceArn sets the InstanceArn field's value.
 13561  func (s *Job) SetInstanceArn(v string) *Job {
 13562  	s.InstanceArn = &v
 13563  	return s
 13564  }
 13565  
 13566  // SetMessage sets the Message field's value.
 13567  func (s *Job) SetMessage(v string) *Job {
 13568  	s.Message = &v
 13569  	return s
 13570  }
 13571  
 13572  // SetName sets the Name field's value.
 13573  func (s *Job) SetName(v string) *Job {
 13574  	s.Name = &v
 13575  	return s
 13576  }
 13577  
 13578  // SetResult sets the Result field's value.
 13579  func (s *Job) SetResult(v string) *Job {
 13580  	s.Result = &v
 13581  	return s
 13582  }
 13583  
 13584  // SetStarted sets the Started field's value.
 13585  func (s *Job) SetStarted(v time.Time) *Job {
 13586  	s.Started = &v
 13587  	return s
 13588  }
 13589  
 13590  // SetStatus sets the Status field's value.
 13591  func (s *Job) SetStatus(v string) *Job {
 13592  	s.Status = &v
 13593  	return s
 13594  }
 13595  
 13596  // SetStopped sets the Stopped field's value.
 13597  func (s *Job) SetStopped(v time.Time) *Job {
 13598  	s.Stopped = &v
 13599  	return s
 13600  }
 13601  
 13602  // SetType sets the Type field's value.
 13603  func (s *Job) SetType(v string) *Job {
 13604  	s.Type = &v
 13605  	return s
 13606  }
 13607  
 13608  // SetVideoCapture sets the VideoCapture field's value.
 13609  func (s *Job) SetVideoCapture(v bool) *Job {
 13610  	s.VideoCapture = &v
 13611  	return s
 13612  }
 13613  
 13614  // SetVideoEndpoint sets the VideoEndpoint field's value.
 13615  func (s *Job) SetVideoEndpoint(v string) *Job {
 13616  	s.VideoEndpoint = &v
 13617  	return s
 13618  }
 13619  
 13620  // A limit was exceeded.
 13621  type LimitExceededException struct {
 13622  	_            struct{}                  `type:"structure"`
 13623  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13624  
 13625  	// Any additional information about the exception.
 13626  	Message_ *string `locationName:"message" type:"string"`
 13627  }
 13628  
 13629  // String returns the string representation.
 13630  //
 13631  // API parameter values that are decorated as "sensitive" in the API will not
 13632  // be included in the string output. The member name will be present, but the
 13633  // value will be replaced with "sensitive".
 13634  func (s LimitExceededException) String() string {
 13635  	return awsutil.Prettify(s)
 13636  }
 13637  
 13638  // GoString returns the string representation.
 13639  //
 13640  // API parameter values that are decorated as "sensitive" in the API will not
 13641  // be included in the string output. The member name will be present, but the
 13642  // value will be replaced with "sensitive".
 13643  func (s LimitExceededException) GoString() string {
 13644  	return s.String()
 13645  }
 13646  
 13647  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 13648  	return &LimitExceededException{
 13649  		RespMetadata: v,
 13650  	}
 13651  }
 13652  
 13653  // Code returns the exception type name.
 13654  func (s *LimitExceededException) Code() string {
 13655  	return "LimitExceededException"
 13656  }
 13657  
 13658  // Message returns the exception's message.
 13659  func (s *LimitExceededException) Message() string {
 13660  	if s.Message_ != nil {
 13661  		return *s.Message_
 13662  	}
 13663  	return ""
 13664  }
 13665  
 13666  // OrigErr always returns nil, satisfies awserr.Error interface.
 13667  func (s *LimitExceededException) OrigErr() error {
 13668  	return nil
 13669  }
 13670  
 13671  func (s *LimitExceededException) Error() string {
 13672  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13673  }
 13674  
 13675  // Status code returns the HTTP status code for the request's response error.
 13676  func (s *LimitExceededException) StatusCode() int {
 13677  	return s.RespMetadata.StatusCode
 13678  }
 13679  
 13680  // RequestID returns the service's response RequestID for request.
 13681  func (s *LimitExceededException) RequestID() string {
 13682  	return s.RespMetadata.RequestID
 13683  }
 13684  
 13685  // Represents a request to the list artifacts operation.
 13686  type ListArtifactsInput struct {
 13687  	_ struct{} `type:"structure"`
 13688  
 13689  	// The run, job, suite, or test ARN.
 13690  	//
 13691  	// Arn is a required field
 13692  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 13693  
 13694  	// An identifier that was returned from the previous call to this operation,
 13695  	// which can be used to return the next set of items in the list.
 13696  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 13697  
 13698  	// The artifacts' type.
 13699  	//
 13700  	// Allowed values include:
 13701  	//
 13702  	//    * FILE
 13703  	//
 13704  	//    * LOG
 13705  	//
 13706  	//    * SCREENSHOT
 13707  	//
 13708  	// Type is a required field
 13709  	Type *string `locationName:"type" type:"string" required:"true" enum:"ArtifactCategory"`
 13710  }
 13711  
 13712  // String returns the string representation.
 13713  //
 13714  // API parameter values that are decorated as "sensitive" in the API will not
 13715  // be included in the string output. The member name will be present, but the
 13716  // value will be replaced with "sensitive".
 13717  func (s ListArtifactsInput) String() string {
 13718  	return awsutil.Prettify(s)
 13719  }
 13720  
 13721  // GoString returns the string representation.
 13722  //
 13723  // API parameter values that are decorated as "sensitive" in the API will not
 13724  // be included in the string output. The member name will be present, but the
 13725  // value will be replaced with "sensitive".
 13726  func (s ListArtifactsInput) GoString() string {
 13727  	return s.String()
 13728  }
 13729  
 13730  // Validate inspects the fields of the type to determine if they are valid.
 13731  func (s *ListArtifactsInput) Validate() error {
 13732  	invalidParams := request.ErrInvalidParams{Context: "ListArtifactsInput"}
 13733  	if s.Arn == nil {
 13734  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 13735  	}
 13736  	if s.Arn != nil && len(*s.Arn) < 32 {
 13737  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 13738  	}
 13739  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 13740  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 13741  	}
 13742  	if s.Type == nil {
 13743  		invalidParams.Add(request.NewErrParamRequired("Type"))
 13744  	}
 13745  
 13746  	if invalidParams.Len() > 0 {
 13747  		return invalidParams
 13748  	}
 13749  	return nil
 13750  }
 13751  
 13752  // SetArn sets the Arn field's value.
 13753  func (s *ListArtifactsInput) SetArn(v string) *ListArtifactsInput {
 13754  	s.Arn = &v
 13755  	return s
 13756  }
 13757  
 13758  // SetNextToken sets the NextToken field's value.
 13759  func (s *ListArtifactsInput) SetNextToken(v string) *ListArtifactsInput {
 13760  	s.NextToken = &v
 13761  	return s
 13762  }
 13763  
 13764  // SetType sets the Type field's value.
 13765  func (s *ListArtifactsInput) SetType(v string) *ListArtifactsInput {
 13766  	s.Type = &v
 13767  	return s
 13768  }
 13769  
 13770  // Represents the result of a list artifacts operation.
 13771  type ListArtifactsOutput struct {
 13772  	_ struct{} `type:"structure"`
 13773  
 13774  	// Information about the artifacts.
 13775  	Artifacts []*Artifact `locationName:"artifacts" type:"list"`
 13776  
 13777  	// If the number of items that are returned is significantly large, this is
 13778  	// an identifier that is also returned. It can be used in a subsequent call
 13779  	// to this operation to return the next set of items in the list.
 13780  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 13781  }
 13782  
 13783  // String returns the string representation.
 13784  //
 13785  // API parameter values that are decorated as "sensitive" in the API will not
 13786  // be included in the string output. The member name will be present, but the
 13787  // value will be replaced with "sensitive".
 13788  func (s ListArtifactsOutput) String() string {
 13789  	return awsutil.Prettify(s)
 13790  }
 13791  
 13792  // GoString returns the string representation.
 13793  //
 13794  // API parameter values that are decorated as "sensitive" in the API will not
 13795  // be included in the string output. The member name will be present, but the
 13796  // value will be replaced with "sensitive".
 13797  func (s ListArtifactsOutput) GoString() string {
 13798  	return s.String()
 13799  }
 13800  
 13801  // SetArtifacts sets the Artifacts field's value.
 13802  func (s *ListArtifactsOutput) SetArtifacts(v []*Artifact) *ListArtifactsOutput {
 13803  	s.Artifacts = v
 13804  	return s
 13805  }
 13806  
 13807  // SetNextToken sets the NextToken field's value.
 13808  func (s *ListArtifactsOutput) SetNextToken(v string) *ListArtifactsOutput {
 13809  	s.NextToken = &v
 13810  	return s
 13811  }
 13812  
 13813  type ListDeviceInstancesInput struct {
 13814  	_ struct{} `type:"structure"`
 13815  
 13816  	// An integer that specifies the maximum number of items you want to return
 13817  	// in the API response.
 13818  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
 13819  
 13820  	// An identifier that was returned from the previous call to this operation,
 13821  	// which can be used to return the next set of items in the list.
 13822  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 13823  }
 13824  
 13825  // String returns the string representation.
 13826  //
 13827  // API parameter values that are decorated as "sensitive" in the API will not
 13828  // be included in the string output. The member name will be present, but the
 13829  // value will be replaced with "sensitive".
 13830  func (s ListDeviceInstancesInput) String() string {
 13831  	return awsutil.Prettify(s)
 13832  }
 13833  
 13834  // GoString returns the string representation.
 13835  //
 13836  // API parameter values that are decorated as "sensitive" in the API will not
 13837  // be included in the string output. The member name will be present, but the
 13838  // value will be replaced with "sensitive".
 13839  func (s ListDeviceInstancesInput) GoString() string {
 13840  	return s.String()
 13841  }
 13842  
 13843  // Validate inspects the fields of the type to determine if they are valid.
 13844  func (s *ListDeviceInstancesInput) Validate() error {
 13845  	invalidParams := request.ErrInvalidParams{Context: "ListDeviceInstancesInput"}
 13846  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 13847  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 13848  	}
 13849  
 13850  	if invalidParams.Len() > 0 {
 13851  		return invalidParams
 13852  	}
 13853  	return nil
 13854  }
 13855  
 13856  // SetMaxResults sets the MaxResults field's value.
 13857  func (s *ListDeviceInstancesInput) SetMaxResults(v int64) *ListDeviceInstancesInput {
 13858  	s.MaxResults = &v
 13859  	return s
 13860  }
 13861  
 13862  // SetNextToken sets the NextToken field's value.
 13863  func (s *ListDeviceInstancesInput) SetNextToken(v string) *ListDeviceInstancesInput {
 13864  	s.NextToken = &v
 13865  	return s
 13866  }
 13867  
 13868  type ListDeviceInstancesOutput struct {
 13869  	_ struct{} `type:"structure"`
 13870  
 13871  	// An object that contains information about your device instances.
 13872  	DeviceInstances []*DeviceInstance `locationName:"deviceInstances" type:"list"`
 13873  
 13874  	// An identifier that can be used in the next call to this operation to return
 13875  	// the next set of items in the list.
 13876  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 13877  }
 13878  
 13879  // String returns the string representation.
 13880  //
 13881  // API parameter values that are decorated as "sensitive" in the API will not
 13882  // be included in the string output. The member name will be present, but the
 13883  // value will be replaced with "sensitive".
 13884  func (s ListDeviceInstancesOutput) String() string {
 13885  	return awsutil.Prettify(s)
 13886  }
 13887  
 13888  // GoString returns the string representation.
 13889  //
 13890  // API parameter values that are decorated as "sensitive" in the API will not
 13891  // be included in the string output. The member name will be present, but the
 13892  // value will be replaced with "sensitive".
 13893  func (s ListDeviceInstancesOutput) GoString() string {
 13894  	return s.String()
 13895  }
 13896  
 13897  // SetDeviceInstances sets the DeviceInstances field's value.
 13898  func (s *ListDeviceInstancesOutput) SetDeviceInstances(v []*DeviceInstance) *ListDeviceInstancesOutput {
 13899  	s.DeviceInstances = v
 13900  	return s
 13901  }
 13902  
 13903  // SetNextToken sets the NextToken field's value.
 13904  func (s *ListDeviceInstancesOutput) SetNextToken(v string) *ListDeviceInstancesOutput {
 13905  	s.NextToken = &v
 13906  	return s
 13907  }
 13908  
 13909  // Represents the result of a list device pools request.
 13910  type ListDevicePoolsInput struct {
 13911  	_ struct{} `type:"structure"`
 13912  
 13913  	// The project ARN.
 13914  	//
 13915  	// Arn is a required field
 13916  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 13917  
 13918  	// An identifier that was returned from the previous call to this operation,
 13919  	// which can be used to return the next set of items in the list.
 13920  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 13921  
 13922  	// The device pools' type.
 13923  	//
 13924  	// Allowed values include:
 13925  	//
 13926  	//    * CURATED: A device pool that is created and managed by AWS Device Farm.
 13927  	//
 13928  	//    * PRIVATE: A device pool that is created and managed by the device pool
 13929  	//    developer.
 13930  	Type *string `locationName:"type" type:"string" enum:"DevicePoolType"`
 13931  }
 13932  
 13933  // String returns the string representation.
 13934  //
 13935  // API parameter values that are decorated as "sensitive" in the API will not
 13936  // be included in the string output. The member name will be present, but the
 13937  // value will be replaced with "sensitive".
 13938  func (s ListDevicePoolsInput) String() string {
 13939  	return awsutil.Prettify(s)
 13940  }
 13941  
 13942  // GoString returns the string representation.
 13943  //
 13944  // API parameter values that are decorated as "sensitive" in the API will not
 13945  // be included in the string output. The member name will be present, but the
 13946  // value will be replaced with "sensitive".
 13947  func (s ListDevicePoolsInput) GoString() string {
 13948  	return s.String()
 13949  }
 13950  
 13951  // Validate inspects the fields of the type to determine if they are valid.
 13952  func (s *ListDevicePoolsInput) Validate() error {
 13953  	invalidParams := request.ErrInvalidParams{Context: "ListDevicePoolsInput"}
 13954  	if s.Arn == nil {
 13955  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 13956  	}
 13957  	if s.Arn != nil && len(*s.Arn) < 32 {
 13958  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 13959  	}
 13960  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 13961  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 13962  	}
 13963  
 13964  	if invalidParams.Len() > 0 {
 13965  		return invalidParams
 13966  	}
 13967  	return nil
 13968  }
 13969  
 13970  // SetArn sets the Arn field's value.
 13971  func (s *ListDevicePoolsInput) SetArn(v string) *ListDevicePoolsInput {
 13972  	s.Arn = &v
 13973  	return s
 13974  }
 13975  
 13976  // SetNextToken sets the NextToken field's value.
 13977  func (s *ListDevicePoolsInput) SetNextToken(v string) *ListDevicePoolsInput {
 13978  	s.NextToken = &v
 13979  	return s
 13980  }
 13981  
 13982  // SetType sets the Type field's value.
 13983  func (s *ListDevicePoolsInput) SetType(v string) *ListDevicePoolsInput {
 13984  	s.Type = &v
 13985  	return s
 13986  }
 13987  
 13988  // Represents the result of a list device pools request.
 13989  type ListDevicePoolsOutput struct {
 13990  	_ struct{} `type:"structure"`
 13991  
 13992  	// Information about the device pools.
 13993  	DevicePools []*DevicePool `locationName:"devicePools" type:"list"`
 13994  
 13995  	// If the number of items that are returned is significantly large, this is
 13996  	// an identifier that is also returned. It can be used in a subsequent call
 13997  	// to this operation to return the next set of items in the list.
 13998  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 13999  }
 14000  
 14001  // String returns the string representation.
 14002  //
 14003  // API parameter values that are decorated as "sensitive" in the API will not
 14004  // be included in the string output. The member name will be present, but the
 14005  // value will be replaced with "sensitive".
 14006  func (s ListDevicePoolsOutput) String() string {
 14007  	return awsutil.Prettify(s)
 14008  }
 14009  
 14010  // GoString returns the string representation.
 14011  //
 14012  // API parameter values that are decorated as "sensitive" in the API will not
 14013  // be included in the string output. The member name will be present, but the
 14014  // value will be replaced with "sensitive".
 14015  func (s ListDevicePoolsOutput) GoString() string {
 14016  	return s.String()
 14017  }
 14018  
 14019  // SetDevicePools sets the DevicePools field's value.
 14020  func (s *ListDevicePoolsOutput) SetDevicePools(v []*DevicePool) *ListDevicePoolsOutput {
 14021  	s.DevicePools = v
 14022  	return s
 14023  }
 14024  
 14025  // SetNextToken sets the NextToken field's value.
 14026  func (s *ListDevicePoolsOutput) SetNextToken(v string) *ListDevicePoolsOutput {
 14027  	s.NextToken = &v
 14028  	return s
 14029  }
 14030  
 14031  // Represents the result of a list devices request.
 14032  type ListDevicesInput struct {
 14033  	_ struct{} `type:"structure"`
 14034  
 14035  	// The Amazon Resource Name (ARN) of the project.
 14036  	Arn *string `locationName:"arn" min:"32" type:"string"`
 14037  
 14038  	// Used to select a set of devices. A filter is made up of an attribute, an
 14039  	// operator, and one or more values.
 14040  	//
 14041  	//    * Attribute: The aspect of a device such as platform or model used as
 14042  	//    the selection criteria in a device filter. Allowed values include: ARN:
 14043  	//    The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example).
 14044  	//    PLATFORM: The device platform. Valid values are ANDROID or IOS. OS_VERSION:
 14045  	//    The operating system version (for example, 10.3.2). MODEL: The device
 14046  	//    model (for example, iPad 5th Gen). AVAILABILITY: The current availability
 14047  	//    of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or
 14048  	//    TEMPORARY_NOT_AVAILABLE. FORM_FACTOR: The device form factor. Valid values
 14049  	//    are PHONE or TABLET. MANUFACTURER: The device manufacturer (for example,
 14050  	//    Apple). REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote
 14051  	//    access. Valid values are TRUE or FALSE. REMOTE_DEBUG_ENABLED: Whether
 14052  	//    the device is enabled for remote debugging. Valid values are TRUE or FALSE.
 14053  	//    Because remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html),
 14054  	//    this attribute is ignored. INSTANCE_ARN: The Amazon Resource Name (ARN)
 14055  	//    of the device instance. INSTANCE_LABELS: The label of the device instance.
 14056  	//    FLEET_TYPE: The fleet type. Valid values are PUBLIC or PRIVATE.
 14057  	//
 14058  	//    * Operator: The filter operator. The EQUALS operator is available for
 14059  	//    every attribute except INSTANCE_LABELS. The CONTAINS operator is available
 14060  	//    for the INSTANCE_LABELS and MODEL attributes. The IN and NOT_IN operators
 14061  	//    are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN
 14062  	//    attributes. The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS
 14063  	//    operators are also available for the OS_VERSION attribute.
 14064  	//
 14065  	//    * Values: An array of one or more filter values. The IN and NOT_IN operators
 14066  	//    take a values array that has one or more elements. The other operators
 14067  	//    require an array with a single element. In a request, the AVAILABILITY
 14068  	//    attribute takes the following values: AVAILABLE, HIGHLY_AVAILABLE, BUSY,
 14069  	//    or TEMPORARY_NOT_AVAILABLE.
 14070  	Filters []*DeviceFilter `locationName:"filters" type:"list"`
 14071  
 14072  	// An identifier that was returned from the previous call to this operation,
 14073  	// which can be used to return the next set of items in the list.
 14074  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14075  }
 14076  
 14077  // String returns the string representation.
 14078  //
 14079  // API parameter values that are decorated as "sensitive" in the API will not
 14080  // be included in the string output. The member name will be present, but the
 14081  // value will be replaced with "sensitive".
 14082  func (s ListDevicesInput) String() string {
 14083  	return awsutil.Prettify(s)
 14084  }
 14085  
 14086  // GoString returns the string representation.
 14087  //
 14088  // API parameter values that are decorated as "sensitive" in the API will not
 14089  // be included in the string output. The member name will be present, but the
 14090  // value will be replaced with "sensitive".
 14091  func (s ListDevicesInput) GoString() string {
 14092  	return s.String()
 14093  }
 14094  
 14095  // Validate inspects the fields of the type to determine if they are valid.
 14096  func (s *ListDevicesInput) Validate() error {
 14097  	invalidParams := request.ErrInvalidParams{Context: "ListDevicesInput"}
 14098  	if s.Arn != nil && len(*s.Arn) < 32 {
 14099  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 14100  	}
 14101  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 14102  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 14103  	}
 14104  	if s.Filters != nil {
 14105  		for i, v := range s.Filters {
 14106  			if v == nil {
 14107  				continue
 14108  			}
 14109  			if err := v.Validate(); err != nil {
 14110  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 14111  			}
 14112  		}
 14113  	}
 14114  
 14115  	if invalidParams.Len() > 0 {
 14116  		return invalidParams
 14117  	}
 14118  	return nil
 14119  }
 14120  
 14121  // SetArn sets the Arn field's value.
 14122  func (s *ListDevicesInput) SetArn(v string) *ListDevicesInput {
 14123  	s.Arn = &v
 14124  	return s
 14125  }
 14126  
 14127  // SetFilters sets the Filters field's value.
 14128  func (s *ListDevicesInput) SetFilters(v []*DeviceFilter) *ListDevicesInput {
 14129  	s.Filters = v
 14130  	return s
 14131  }
 14132  
 14133  // SetNextToken sets the NextToken field's value.
 14134  func (s *ListDevicesInput) SetNextToken(v string) *ListDevicesInput {
 14135  	s.NextToken = &v
 14136  	return s
 14137  }
 14138  
 14139  // Represents the result of a list devices operation.
 14140  type ListDevicesOutput struct {
 14141  	_ struct{} `type:"structure"`
 14142  
 14143  	// Information about the devices.
 14144  	Devices []*Device `locationName:"devices" type:"list"`
 14145  
 14146  	// If the number of items that are returned is significantly large, this is
 14147  	// an identifier that is also returned. It can be used in a subsequent call
 14148  	// to this operation to return the next set of items in the list.
 14149  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14150  }
 14151  
 14152  // String returns the string representation.
 14153  //
 14154  // API parameter values that are decorated as "sensitive" in the API will not
 14155  // be included in the string output. The member name will be present, but the
 14156  // value will be replaced with "sensitive".
 14157  func (s ListDevicesOutput) String() string {
 14158  	return awsutil.Prettify(s)
 14159  }
 14160  
 14161  // GoString returns the string representation.
 14162  //
 14163  // API parameter values that are decorated as "sensitive" in the API will not
 14164  // be included in the string output. The member name will be present, but the
 14165  // value will be replaced with "sensitive".
 14166  func (s ListDevicesOutput) GoString() string {
 14167  	return s.String()
 14168  }
 14169  
 14170  // SetDevices sets the Devices field's value.
 14171  func (s *ListDevicesOutput) SetDevices(v []*Device) *ListDevicesOutput {
 14172  	s.Devices = v
 14173  	return s
 14174  }
 14175  
 14176  // SetNextToken sets the NextToken field's value.
 14177  func (s *ListDevicesOutput) SetNextToken(v string) *ListDevicesOutput {
 14178  	s.NextToken = &v
 14179  	return s
 14180  }
 14181  
 14182  type ListInstanceProfilesInput struct {
 14183  	_ struct{} `type:"structure"`
 14184  
 14185  	// An integer that specifies the maximum number of items you want to return
 14186  	// in the API response.
 14187  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
 14188  
 14189  	// An identifier that was returned from the previous call to this operation,
 14190  	// which can be used to return the next set of items in the list.
 14191  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14192  }
 14193  
 14194  // String returns the string representation.
 14195  //
 14196  // API parameter values that are decorated as "sensitive" in the API will not
 14197  // be included in the string output. The member name will be present, but the
 14198  // value will be replaced with "sensitive".
 14199  func (s ListInstanceProfilesInput) String() string {
 14200  	return awsutil.Prettify(s)
 14201  }
 14202  
 14203  // GoString returns the string representation.
 14204  //
 14205  // API parameter values that are decorated as "sensitive" in the API will not
 14206  // be included in the string output. The member name will be present, but the
 14207  // value will be replaced with "sensitive".
 14208  func (s ListInstanceProfilesInput) GoString() string {
 14209  	return s.String()
 14210  }
 14211  
 14212  // Validate inspects the fields of the type to determine if they are valid.
 14213  func (s *ListInstanceProfilesInput) Validate() error {
 14214  	invalidParams := request.ErrInvalidParams{Context: "ListInstanceProfilesInput"}
 14215  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 14216  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 14217  	}
 14218  
 14219  	if invalidParams.Len() > 0 {
 14220  		return invalidParams
 14221  	}
 14222  	return nil
 14223  }
 14224  
 14225  // SetMaxResults sets the MaxResults field's value.
 14226  func (s *ListInstanceProfilesInput) SetMaxResults(v int64) *ListInstanceProfilesInput {
 14227  	s.MaxResults = &v
 14228  	return s
 14229  }
 14230  
 14231  // SetNextToken sets the NextToken field's value.
 14232  func (s *ListInstanceProfilesInput) SetNextToken(v string) *ListInstanceProfilesInput {
 14233  	s.NextToken = &v
 14234  	return s
 14235  }
 14236  
 14237  type ListInstanceProfilesOutput struct {
 14238  	_ struct{} `type:"structure"`
 14239  
 14240  	// An object that contains information about your instance profiles.
 14241  	InstanceProfiles []*InstanceProfile `locationName:"instanceProfiles" type:"list"`
 14242  
 14243  	// An identifier that can be used in the next call to this operation to return
 14244  	// the next set of items in the list.
 14245  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14246  }
 14247  
 14248  // String returns the string representation.
 14249  //
 14250  // API parameter values that are decorated as "sensitive" in the API will not
 14251  // be included in the string output. The member name will be present, but the
 14252  // value will be replaced with "sensitive".
 14253  func (s ListInstanceProfilesOutput) String() string {
 14254  	return awsutil.Prettify(s)
 14255  }
 14256  
 14257  // GoString returns the string representation.
 14258  //
 14259  // API parameter values that are decorated as "sensitive" in the API will not
 14260  // be included in the string output. The member name will be present, but the
 14261  // value will be replaced with "sensitive".
 14262  func (s ListInstanceProfilesOutput) GoString() string {
 14263  	return s.String()
 14264  }
 14265  
 14266  // SetInstanceProfiles sets the InstanceProfiles field's value.
 14267  func (s *ListInstanceProfilesOutput) SetInstanceProfiles(v []*InstanceProfile) *ListInstanceProfilesOutput {
 14268  	s.InstanceProfiles = v
 14269  	return s
 14270  }
 14271  
 14272  // SetNextToken sets the NextToken field's value.
 14273  func (s *ListInstanceProfilesOutput) SetNextToken(v string) *ListInstanceProfilesOutput {
 14274  	s.NextToken = &v
 14275  	return s
 14276  }
 14277  
 14278  // Represents a request to the list jobs operation.
 14279  type ListJobsInput struct {
 14280  	_ struct{} `type:"structure"`
 14281  
 14282  	// The run's Amazon Resource Name (ARN).
 14283  	//
 14284  	// Arn is a required field
 14285  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 14286  
 14287  	// An identifier that was returned from the previous call to this operation,
 14288  	// which can be used to return the next set of items in the list.
 14289  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14290  }
 14291  
 14292  // String returns the string representation.
 14293  //
 14294  // API parameter values that are decorated as "sensitive" in the API will not
 14295  // be included in the string output. The member name will be present, but the
 14296  // value will be replaced with "sensitive".
 14297  func (s ListJobsInput) String() string {
 14298  	return awsutil.Prettify(s)
 14299  }
 14300  
 14301  // GoString returns the string representation.
 14302  //
 14303  // API parameter values that are decorated as "sensitive" in the API will not
 14304  // be included in the string output. The member name will be present, but the
 14305  // value will be replaced with "sensitive".
 14306  func (s ListJobsInput) GoString() string {
 14307  	return s.String()
 14308  }
 14309  
 14310  // Validate inspects the fields of the type to determine if they are valid.
 14311  func (s *ListJobsInput) Validate() error {
 14312  	invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"}
 14313  	if s.Arn == nil {
 14314  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 14315  	}
 14316  	if s.Arn != nil && len(*s.Arn) < 32 {
 14317  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 14318  	}
 14319  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 14320  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 14321  	}
 14322  
 14323  	if invalidParams.Len() > 0 {
 14324  		return invalidParams
 14325  	}
 14326  	return nil
 14327  }
 14328  
 14329  // SetArn sets the Arn field's value.
 14330  func (s *ListJobsInput) SetArn(v string) *ListJobsInput {
 14331  	s.Arn = &v
 14332  	return s
 14333  }
 14334  
 14335  // SetNextToken sets the NextToken field's value.
 14336  func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput {
 14337  	s.NextToken = &v
 14338  	return s
 14339  }
 14340  
 14341  // Represents the result of a list jobs request.
 14342  type ListJobsOutput struct {
 14343  	_ struct{} `type:"structure"`
 14344  
 14345  	// Information about the jobs.
 14346  	Jobs []*Job `locationName:"jobs" type:"list"`
 14347  
 14348  	// If the number of items that are returned is significantly large, this is
 14349  	// an identifier that is also returned. It can be used in a subsequent call
 14350  	// to this operation to return the next set of items in the list.
 14351  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14352  }
 14353  
 14354  // String returns the string representation.
 14355  //
 14356  // API parameter values that are decorated as "sensitive" in the API will not
 14357  // be included in the string output. The member name will be present, but the
 14358  // value will be replaced with "sensitive".
 14359  func (s ListJobsOutput) String() string {
 14360  	return awsutil.Prettify(s)
 14361  }
 14362  
 14363  // GoString returns the string representation.
 14364  //
 14365  // API parameter values that are decorated as "sensitive" in the API will not
 14366  // be included in the string output. The member name will be present, but the
 14367  // value will be replaced with "sensitive".
 14368  func (s ListJobsOutput) GoString() string {
 14369  	return s.String()
 14370  }
 14371  
 14372  // SetJobs sets the Jobs field's value.
 14373  func (s *ListJobsOutput) SetJobs(v []*Job) *ListJobsOutput {
 14374  	s.Jobs = v
 14375  	return s
 14376  }
 14377  
 14378  // SetNextToken sets the NextToken field's value.
 14379  func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput {
 14380  	s.NextToken = &v
 14381  	return s
 14382  }
 14383  
 14384  type ListNetworkProfilesInput struct {
 14385  	_ struct{} `type:"structure"`
 14386  
 14387  	// The Amazon Resource Name (ARN) of the project for which you want to list
 14388  	// network profiles.
 14389  	//
 14390  	// Arn is a required field
 14391  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 14392  
 14393  	// An identifier that was returned from the previous call to this operation,
 14394  	// which can be used to return the next set of items in the list.
 14395  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14396  
 14397  	// The type of network profile to return information about. Valid values are
 14398  	// listed here.
 14399  	Type *string `locationName:"type" type:"string" enum:"NetworkProfileType"`
 14400  }
 14401  
 14402  // String returns the string representation.
 14403  //
 14404  // API parameter values that are decorated as "sensitive" in the API will not
 14405  // be included in the string output. The member name will be present, but the
 14406  // value will be replaced with "sensitive".
 14407  func (s ListNetworkProfilesInput) String() string {
 14408  	return awsutil.Prettify(s)
 14409  }
 14410  
 14411  // GoString returns the string representation.
 14412  //
 14413  // API parameter values that are decorated as "sensitive" in the API will not
 14414  // be included in the string output. The member name will be present, but the
 14415  // value will be replaced with "sensitive".
 14416  func (s ListNetworkProfilesInput) GoString() string {
 14417  	return s.String()
 14418  }
 14419  
 14420  // Validate inspects the fields of the type to determine if they are valid.
 14421  func (s *ListNetworkProfilesInput) Validate() error {
 14422  	invalidParams := request.ErrInvalidParams{Context: "ListNetworkProfilesInput"}
 14423  	if s.Arn == nil {
 14424  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 14425  	}
 14426  	if s.Arn != nil && len(*s.Arn) < 32 {
 14427  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 14428  	}
 14429  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 14430  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 14431  	}
 14432  
 14433  	if invalidParams.Len() > 0 {
 14434  		return invalidParams
 14435  	}
 14436  	return nil
 14437  }
 14438  
 14439  // SetArn sets the Arn field's value.
 14440  func (s *ListNetworkProfilesInput) SetArn(v string) *ListNetworkProfilesInput {
 14441  	s.Arn = &v
 14442  	return s
 14443  }
 14444  
 14445  // SetNextToken sets the NextToken field's value.
 14446  func (s *ListNetworkProfilesInput) SetNextToken(v string) *ListNetworkProfilesInput {
 14447  	s.NextToken = &v
 14448  	return s
 14449  }
 14450  
 14451  // SetType sets the Type field's value.
 14452  func (s *ListNetworkProfilesInput) SetType(v string) *ListNetworkProfilesInput {
 14453  	s.Type = &v
 14454  	return s
 14455  }
 14456  
 14457  type ListNetworkProfilesOutput struct {
 14458  	_ struct{} `type:"structure"`
 14459  
 14460  	// A list of the available network profiles.
 14461  	NetworkProfiles []*NetworkProfile `locationName:"networkProfiles" type:"list"`
 14462  
 14463  	// An identifier that was returned from the previous call to this operation,
 14464  	// which can be used to return the next set of items in the list.
 14465  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14466  }
 14467  
 14468  // String returns the string representation.
 14469  //
 14470  // API parameter values that are decorated as "sensitive" in the API will not
 14471  // be included in the string output. The member name will be present, but the
 14472  // value will be replaced with "sensitive".
 14473  func (s ListNetworkProfilesOutput) String() string {
 14474  	return awsutil.Prettify(s)
 14475  }
 14476  
 14477  // GoString returns the string representation.
 14478  //
 14479  // API parameter values that are decorated as "sensitive" in the API will not
 14480  // be included in the string output. The member name will be present, but the
 14481  // value will be replaced with "sensitive".
 14482  func (s ListNetworkProfilesOutput) GoString() string {
 14483  	return s.String()
 14484  }
 14485  
 14486  // SetNetworkProfiles sets the NetworkProfiles field's value.
 14487  func (s *ListNetworkProfilesOutput) SetNetworkProfiles(v []*NetworkProfile) *ListNetworkProfilesOutput {
 14488  	s.NetworkProfiles = v
 14489  	return s
 14490  }
 14491  
 14492  // SetNextToken sets the NextToken field's value.
 14493  func (s *ListNetworkProfilesOutput) SetNextToken(v string) *ListNetworkProfilesOutput {
 14494  	s.NextToken = &v
 14495  	return s
 14496  }
 14497  
 14498  type ListOfferingPromotionsInput struct {
 14499  	_ struct{} `type:"structure"`
 14500  
 14501  	// An identifier that was returned from the previous call to this operation,
 14502  	// which can be used to return the next set of items in the list.
 14503  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14504  }
 14505  
 14506  // String returns the string representation.
 14507  //
 14508  // API parameter values that are decorated as "sensitive" in the API will not
 14509  // be included in the string output. The member name will be present, but the
 14510  // value will be replaced with "sensitive".
 14511  func (s ListOfferingPromotionsInput) String() string {
 14512  	return awsutil.Prettify(s)
 14513  }
 14514  
 14515  // GoString returns the string representation.
 14516  //
 14517  // API parameter values that are decorated as "sensitive" in the API will not
 14518  // be included in the string output. The member name will be present, but the
 14519  // value will be replaced with "sensitive".
 14520  func (s ListOfferingPromotionsInput) GoString() string {
 14521  	return s.String()
 14522  }
 14523  
 14524  // Validate inspects the fields of the type to determine if they are valid.
 14525  func (s *ListOfferingPromotionsInput) Validate() error {
 14526  	invalidParams := request.ErrInvalidParams{Context: "ListOfferingPromotionsInput"}
 14527  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 14528  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 14529  	}
 14530  
 14531  	if invalidParams.Len() > 0 {
 14532  		return invalidParams
 14533  	}
 14534  	return nil
 14535  }
 14536  
 14537  // SetNextToken sets the NextToken field's value.
 14538  func (s *ListOfferingPromotionsInput) SetNextToken(v string) *ListOfferingPromotionsInput {
 14539  	s.NextToken = &v
 14540  	return s
 14541  }
 14542  
 14543  type ListOfferingPromotionsOutput struct {
 14544  	_ struct{} `type:"structure"`
 14545  
 14546  	// An identifier to be used in the next call to this operation, to return the
 14547  	// next set of items in the list.
 14548  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14549  
 14550  	// Information about the offering promotions.
 14551  	OfferingPromotions []*OfferingPromotion `locationName:"offeringPromotions" type:"list"`
 14552  }
 14553  
 14554  // String returns the string representation.
 14555  //
 14556  // API parameter values that are decorated as "sensitive" in the API will not
 14557  // be included in the string output. The member name will be present, but the
 14558  // value will be replaced with "sensitive".
 14559  func (s ListOfferingPromotionsOutput) String() string {
 14560  	return awsutil.Prettify(s)
 14561  }
 14562  
 14563  // GoString returns the string representation.
 14564  //
 14565  // API parameter values that are decorated as "sensitive" in the API will not
 14566  // be included in the string output. The member name will be present, but the
 14567  // value will be replaced with "sensitive".
 14568  func (s ListOfferingPromotionsOutput) GoString() string {
 14569  	return s.String()
 14570  }
 14571  
 14572  // SetNextToken sets the NextToken field's value.
 14573  func (s *ListOfferingPromotionsOutput) SetNextToken(v string) *ListOfferingPromotionsOutput {
 14574  	s.NextToken = &v
 14575  	return s
 14576  }
 14577  
 14578  // SetOfferingPromotions sets the OfferingPromotions field's value.
 14579  func (s *ListOfferingPromotionsOutput) SetOfferingPromotions(v []*OfferingPromotion) *ListOfferingPromotionsOutput {
 14580  	s.OfferingPromotions = v
 14581  	return s
 14582  }
 14583  
 14584  // Represents the request to list the offering transaction history.
 14585  type ListOfferingTransactionsInput struct {
 14586  	_ struct{} `type:"structure"`
 14587  
 14588  	// An identifier that was returned from the previous call to this operation,
 14589  	// which can be used to return the next set of items in the list.
 14590  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14591  }
 14592  
 14593  // String returns the string representation.
 14594  //
 14595  // API parameter values that are decorated as "sensitive" in the API will not
 14596  // be included in the string output. The member name will be present, but the
 14597  // value will be replaced with "sensitive".
 14598  func (s ListOfferingTransactionsInput) String() string {
 14599  	return awsutil.Prettify(s)
 14600  }
 14601  
 14602  // GoString returns the string representation.
 14603  //
 14604  // API parameter values that are decorated as "sensitive" in the API will not
 14605  // be included in the string output. The member name will be present, but the
 14606  // value will be replaced with "sensitive".
 14607  func (s ListOfferingTransactionsInput) GoString() string {
 14608  	return s.String()
 14609  }
 14610  
 14611  // Validate inspects the fields of the type to determine if they are valid.
 14612  func (s *ListOfferingTransactionsInput) Validate() error {
 14613  	invalidParams := request.ErrInvalidParams{Context: "ListOfferingTransactionsInput"}
 14614  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 14615  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 14616  	}
 14617  
 14618  	if invalidParams.Len() > 0 {
 14619  		return invalidParams
 14620  	}
 14621  	return nil
 14622  }
 14623  
 14624  // SetNextToken sets the NextToken field's value.
 14625  func (s *ListOfferingTransactionsInput) SetNextToken(v string) *ListOfferingTransactionsInput {
 14626  	s.NextToken = &v
 14627  	return s
 14628  }
 14629  
 14630  // Returns the transaction log of the specified offerings.
 14631  type ListOfferingTransactionsOutput struct {
 14632  	_ struct{} `type:"structure"`
 14633  
 14634  	// An identifier that was returned from the previous call to this operation,
 14635  	// which can be used to return the next set of items in the list.
 14636  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14637  
 14638  	// The audit log of subscriptions you have purchased and modified through AWS
 14639  	// Device Farm.
 14640  	OfferingTransactions []*OfferingTransaction `locationName:"offeringTransactions" type:"list"`
 14641  }
 14642  
 14643  // String returns the string representation.
 14644  //
 14645  // API parameter values that are decorated as "sensitive" in the API will not
 14646  // be included in the string output. The member name will be present, but the
 14647  // value will be replaced with "sensitive".
 14648  func (s ListOfferingTransactionsOutput) String() string {
 14649  	return awsutil.Prettify(s)
 14650  }
 14651  
 14652  // GoString returns the string representation.
 14653  //
 14654  // API parameter values that are decorated as "sensitive" in the API will not
 14655  // be included in the string output. The member name will be present, but the
 14656  // value will be replaced with "sensitive".
 14657  func (s ListOfferingTransactionsOutput) GoString() string {
 14658  	return s.String()
 14659  }
 14660  
 14661  // SetNextToken sets the NextToken field's value.
 14662  func (s *ListOfferingTransactionsOutput) SetNextToken(v string) *ListOfferingTransactionsOutput {
 14663  	s.NextToken = &v
 14664  	return s
 14665  }
 14666  
 14667  // SetOfferingTransactions sets the OfferingTransactions field's value.
 14668  func (s *ListOfferingTransactionsOutput) SetOfferingTransactions(v []*OfferingTransaction) *ListOfferingTransactionsOutput {
 14669  	s.OfferingTransactions = v
 14670  	return s
 14671  }
 14672  
 14673  // Represents the request to list all offerings.
 14674  type ListOfferingsInput struct {
 14675  	_ struct{} `type:"structure"`
 14676  
 14677  	// An identifier that was returned from the previous call to this operation,
 14678  	// which can be used to return the next set of items in the list.
 14679  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14680  }
 14681  
 14682  // String returns the string representation.
 14683  //
 14684  // API parameter values that are decorated as "sensitive" in the API will not
 14685  // be included in the string output. The member name will be present, but the
 14686  // value will be replaced with "sensitive".
 14687  func (s ListOfferingsInput) String() string {
 14688  	return awsutil.Prettify(s)
 14689  }
 14690  
 14691  // GoString returns the string representation.
 14692  //
 14693  // API parameter values that are decorated as "sensitive" in the API will not
 14694  // be included in the string output. The member name will be present, but the
 14695  // value will be replaced with "sensitive".
 14696  func (s ListOfferingsInput) GoString() string {
 14697  	return s.String()
 14698  }
 14699  
 14700  // Validate inspects the fields of the type to determine if they are valid.
 14701  func (s *ListOfferingsInput) Validate() error {
 14702  	invalidParams := request.ErrInvalidParams{Context: "ListOfferingsInput"}
 14703  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 14704  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 14705  	}
 14706  
 14707  	if invalidParams.Len() > 0 {
 14708  		return invalidParams
 14709  	}
 14710  	return nil
 14711  }
 14712  
 14713  // SetNextToken sets the NextToken field's value.
 14714  func (s *ListOfferingsInput) SetNextToken(v string) *ListOfferingsInput {
 14715  	s.NextToken = &v
 14716  	return s
 14717  }
 14718  
 14719  // Represents the return values of the list of offerings.
 14720  type ListOfferingsOutput struct {
 14721  	_ struct{} `type:"structure"`
 14722  
 14723  	// An identifier that was returned from the previous call to this operation,
 14724  	// which can be used to return the next set of items in the list.
 14725  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14726  
 14727  	// A value that represents the list offering results.
 14728  	Offerings []*Offering `locationName:"offerings" type:"list"`
 14729  }
 14730  
 14731  // String returns the string representation.
 14732  //
 14733  // API parameter values that are decorated as "sensitive" in the API will not
 14734  // be included in the string output. The member name will be present, but the
 14735  // value will be replaced with "sensitive".
 14736  func (s ListOfferingsOutput) String() string {
 14737  	return awsutil.Prettify(s)
 14738  }
 14739  
 14740  // GoString returns the string representation.
 14741  //
 14742  // API parameter values that are decorated as "sensitive" in the API will not
 14743  // be included in the string output. The member name will be present, but the
 14744  // value will be replaced with "sensitive".
 14745  func (s ListOfferingsOutput) GoString() string {
 14746  	return s.String()
 14747  }
 14748  
 14749  // SetNextToken sets the NextToken field's value.
 14750  func (s *ListOfferingsOutput) SetNextToken(v string) *ListOfferingsOutput {
 14751  	s.NextToken = &v
 14752  	return s
 14753  }
 14754  
 14755  // SetOfferings sets the Offerings field's value.
 14756  func (s *ListOfferingsOutput) SetOfferings(v []*Offering) *ListOfferingsOutput {
 14757  	s.Offerings = v
 14758  	return s
 14759  }
 14760  
 14761  // Represents a request to the list projects operation.
 14762  type ListProjectsInput struct {
 14763  	_ struct{} `type:"structure"`
 14764  
 14765  	// Optional. If no Amazon Resource Name (ARN) is specified, then AWS Device
 14766  	// Farm returns a list of all projects for the AWS account. You can also specify
 14767  	// a project ARN.
 14768  	Arn *string `locationName:"arn" min:"32" type:"string"`
 14769  
 14770  	// An identifier that was returned from the previous call to this operation,
 14771  	// which can be used to return the next set of items in the list.
 14772  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14773  }
 14774  
 14775  // String returns the string representation.
 14776  //
 14777  // API parameter values that are decorated as "sensitive" in the API will not
 14778  // be included in the string output. The member name will be present, but the
 14779  // value will be replaced with "sensitive".
 14780  func (s ListProjectsInput) String() string {
 14781  	return awsutil.Prettify(s)
 14782  }
 14783  
 14784  // GoString returns the string representation.
 14785  //
 14786  // API parameter values that are decorated as "sensitive" in the API will not
 14787  // be included in the string output. The member name will be present, but the
 14788  // value will be replaced with "sensitive".
 14789  func (s ListProjectsInput) GoString() string {
 14790  	return s.String()
 14791  }
 14792  
 14793  // Validate inspects the fields of the type to determine if they are valid.
 14794  func (s *ListProjectsInput) Validate() error {
 14795  	invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"}
 14796  	if s.Arn != nil && len(*s.Arn) < 32 {
 14797  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 14798  	}
 14799  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 14800  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 14801  	}
 14802  
 14803  	if invalidParams.Len() > 0 {
 14804  		return invalidParams
 14805  	}
 14806  	return nil
 14807  }
 14808  
 14809  // SetArn sets the Arn field's value.
 14810  func (s *ListProjectsInput) SetArn(v string) *ListProjectsInput {
 14811  	s.Arn = &v
 14812  	return s
 14813  }
 14814  
 14815  // SetNextToken sets the NextToken field's value.
 14816  func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput {
 14817  	s.NextToken = &v
 14818  	return s
 14819  }
 14820  
 14821  // Represents the result of a list projects request.
 14822  type ListProjectsOutput struct {
 14823  	_ struct{} `type:"structure"`
 14824  
 14825  	// If the number of items that are returned is significantly large, this is
 14826  	// an identifier that is also returned. It can be used in a subsequent call
 14827  	// to this operation to return the next set of items in the list.
 14828  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14829  
 14830  	// Information about the projects.
 14831  	Projects []*Project `locationName:"projects" type:"list"`
 14832  }
 14833  
 14834  // String returns the string representation.
 14835  //
 14836  // API parameter values that are decorated as "sensitive" in the API will not
 14837  // be included in the string output. The member name will be present, but the
 14838  // value will be replaced with "sensitive".
 14839  func (s ListProjectsOutput) String() string {
 14840  	return awsutil.Prettify(s)
 14841  }
 14842  
 14843  // GoString returns the string representation.
 14844  //
 14845  // API parameter values that are decorated as "sensitive" in the API will not
 14846  // be included in the string output. The member name will be present, but the
 14847  // value will be replaced with "sensitive".
 14848  func (s ListProjectsOutput) GoString() string {
 14849  	return s.String()
 14850  }
 14851  
 14852  // SetNextToken sets the NextToken field's value.
 14853  func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput {
 14854  	s.NextToken = &v
 14855  	return s
 14856  }
 14857  
 14858  // SetProjects sets the Projects field's value.
 14859  func (s *ListProjectsOutput) SetProjects(v []*Project) *ListProjectsOutput {
 14860  	s.Projects = v
 14861  	return s
 14862  }
 14863  
 14864  // Represents the request to return information about the remote access session.
 14865  type ListRemoteAccessSessionsInput struct {
 14866  	_ struct{} `type:"structure"`
 14867  
 14868  	// The Amazon Resource Name (ARN) of the project about which you are requesting
 14869  	// information.
 14870  	//
 14871  	// Arn is a required field
 14872  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 14873  
 14874  	// An identifier that was returned from the previous call to this operation,
 14875  	// which can be used to return the next set of items in the list.
 14876  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14877  }
 14878  
 14879  // String returns the string representation.
 14880  //
 14881  // API parameter values that are decorated as "sensitive" in the API will not
 14882  // be included in the string output. The member name will be present, but the
 14883  // value will be replaced with "sensitive".
 14884  func (s ListRemoteAccessSessionsInput) String() string {
 14885  	return awsutil.Prettify(s)
 14886  }
 14887  
 14888  // GoString returns the string representation.
 14889  //
 14890  // API parameter values that are decorated as "sensitive" in the API will not
 14891  // be included in the string output. The member name will be present, but the
 14892  // value will be replaced with "sensitive".
 14893  func (s ListRemoteAccessSessionsInput) GoString() string {
 14894  	return s.String()
 14895  }
 14896  
 14897  // Validate inspects the fields of the type to determine if they are valid.
 14898  func (s *ListRemoteAccessSessionsInput) Validate() error {
 14899  	invalidParams := request.ErrInvalidParams{Context: "ListRemoteAccessSessionsInput"}
 14900  	if s.Arn == nil {
 14901  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 14902  	}
 14903  	if s.Arn != nil && len(*s.Arn) < 32 {
 14904  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 14905  	}
 14906  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 14907  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 14908  	}
 14909  
 14910  	if invalidParams.Len() > 0 {
 14911  		return invalidParams
 14912  	}
 14913  	return nil
 14914  }
 14915  
 14916  // SetArn sets the Arn field's value.
 14917  func (s *ListRemoteAccessSessionsInput) SetArn(v string) *ListRemoteAccessSessionsInput {
 14918  	s.Arn = &v
 14919  	return s
 14920  }
 14921  
 14922  // SetNextToken sets the NextToken field's value.
 14923  func (s *ListRemoteAccessSessionsInput) SetNextToken(v string) *ListRemoteAccessSessionsInput {
 14924  	s.NextToken = &v
 14925  	return s
 14926  }
 14927  
 14928  // Represents the response from the server after AWS Device Farm makes a request
 14929  // to return information about the remote access session.
 14930  type ListRemoteAccessSessionsOutput struct {
 14931  	_ struct{} `type:"structure"`
 14932  
 14933  	// An identifier that was returned from the previous call to this operation,
 14934  	// which can be used to return the next set of items in the list.
 14935  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14936  
 14937  	// A container that represents the metadata from the service about each remote
 14938  	// access session you are requesting.
 14939  	RemoteAccessSessions []*RemoteAccessSession `locationName:"remoteAccessSessions" type:"list"`
 14940  }
 14941  
 14942  // String returns the string representation.
 14943  //
 14944  // API parameter values that are decorated as "sensitive" in the API will not
 14945  // be included in the string output. The member name will be present, but the
 14946  // value will be replaced with "sensitive".
 14947  func (s ListRemoteAccessSessionsOutput) String() string {
 14948  	return awsutil.Prettify(s)
 14949  }
 14950  
 14951  // GoString returns the string representation.
 14952  //
 14953  // API parameter values that are decorated as "sensitive" in the API will not
 14954  // be included in the string output. The member name will be present, but the
 14955  // value will be replaced with "sensitive".
 14956  func (s ListRemoteAccessSessionsOutput) GoString() string {
 14957  	return s.String()
 14958  }
 14959  
 14960  // SetNextToken sets the NextToken field's value.
 14961  func (s *ListRemoteAccessSessionsOutput) SetNextToken(v string) *ListRemoteAccessSessionsOutput {
 14962  	s.NextToken = &v
 14963  	return s
 14964  }
 14965  
 14966  // SetRemoteAccessSessions sets the RemoteAccessSessions field's value.
 14967  func (s *ListRemoteAccessSessionsOutput) SetRemoteAccessSessions(v []*RemoteAccessSession) *ListRemoteAccessSessionsOutput {
 14968  	s.RemoteAccessSessions = v
 14969  	return s
 14970  }
 14971  
 14972  // Represents a request to the list runs operation.
 14973  type ListRunsInput struct {
 14974  	_ struct{} `type:"structure"`
 14975  
 14976  	// The Amazon Resource Name (ARN) of the project for which you want to list
 14977  	// runs.
 14978  	//
 14979  	// Arn is a required field
 14980  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 14981  
 14982  	// An identifier that was returned from the previous call to this operation,
 14983  	// which can be used to return the next set of items in the list.
 14984  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 14985  }
 14986  
 14987  // String returns the string representation.
 14988  //
 14989  // API parameter values that are decorated as "sensitive" in the API will not
 14990  // be included in the string output. The member name will be present, but the
 14991  // value will be replaced with "sensitive".
 14992  func (s ListRunsInput) String() string {
 14993  	return awsutil.Prettify(s)
 14994  }
 14995  
 14996  // GoString returns the string representation.
 14997  //
 14998  // API parameter values that are decorated as "sensitive" in the API will not
 14999  // be included in the string output. The member name will be present, but the
 15000  // value will be replaced with "sensitive".
 15001  func (s ListRunsInput) GoString() string {
 15002  	return s.String()
 15003  }
 15004  
 15005  // Validate inspects the fields of the type to determine if they are valid.
 15006  func (s *ListRunsInput) Validate() error {
 15007  	invalidParams := request.ErrInvalidParams{Context: "ListRunsInput"}
 15008  	if s.Arn == nil {
 15009  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 15010  	}
 15011  	if s.Arn != nil && len(*s.Arn) < 32 {
 15012  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 15013  	}
 15014  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 15015  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 15016  	}
 15017  
 15018  	if invalidParams.Len() > 0 {
 15019  		return invalidParams
 15020  	}
 15021  	return nil
 15022  }
 15023  
 15024  // SetArn sets the Arn field's value.
 15025  func (s *ListRunsInput) SetArn(v string) *ListRunsInput {
 15026  	s.Arn = &v
 15027  	return s
 15028  }
 15029  
 15030  // SetNextToken sets the NextToken field's value.
 15031  func (s *ListRunsInput) SetNextToken(v string) *ListRunsInput {
 15032  	s.NextToken = &v
 15033  	return s
 15034  }
 15035  
 15036  // Represents the result of a list runs request.
 15037  type ListRunsOutput struct {
 15038  	_ struct{} `type:"structure"`
 15039  
 15040  	// If the number of items that are returned is significantly large, this is
 15041  	// an identifier that is also returned. It can be used in a subsequent call
 15042  	// to this operation to return the next set of items in the list.
 15043  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 15044  
 15045  	// Information about the runs.
 15046  	Runs []*Run `locationName:"runs" type:"list"`
 15047  }
 15048  
 15049  // String returns the string representation.
 15050  //
 15051  // API parameter values that are decorated as "sensitive" in the API will not
 15052  // be included in the string output. The member name will be present, but the
 15053  // value will be replaced with "sensitive".
 15054  func (s ListRunsOutput) String() string {
 15055  	return awsutil.Prettify(s)
 15056  }
 15057  
 15058  // GoString returns the string representation.
 15059  //
 15060  // API parameter values that are decorated as "sensitive" in the API will not
 15061  // be included in the string output. The member name will be present, but the
 15062  // value will be replaced with "sensitive".
 15063  func (s ListRunsOutput) GoString() string {
 15064  	return s.String()
 15065  }
 15066  
 15067  // SetNextToken sets the NextToken field's value.
 15068  func (s *ListRunsOutput) SetNextToken(v string) *ListRunsOutput {
 15069  	s.NextToken = &v
 15070  	return s
 15071  }
 15072  
 15073  // SetRuns sets the Runs field's value.
 15074  func (s *ListRunsOutput) SetRuns(v []*Run) *ListRunsOutput {
 15075  	s.Runs = v
 15076  	return s
 15077  }
 15078  
 15079  // Represents a request to the list samples operation.
 15080  type ListSamplesInput struct {
 15081  	_ struct{} `type:"structure"`
 15082  
 15083  	// The Amazon Resource Name (ARN) of the job used to list samples.
 15084  	//
 15085  	// Arn is a required field
 15086  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 15087  
 15088  	// An identifier that was returned from the previous call to this operation,
 15089  	// which can be used to return the next set of items in the list.
 15090  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 15091  }
 15092  
 15093  // String returns the string representation.
 15094  //
 15095  // API parameter values that are decorated as "sensitive" in the API will not
 15096  // be included in the string output. The member name will be present, but the
 15097  // value will be replaced with "sensitive".
 15098  func (s ListSamplesInput) String() string {
 15099  	return awsutil.Prettify(s)
 15100  }
 15101  
 15102  // GoString returns the string representation.
 15103  //
 15104  // API parameter values that are decorated as "sensitive" in the API will not
 15105  // be included in the string output. The member name will be present, but the
 15106  // value will be replaced with "sensitive".
 15107  func (s ListSamplesInput) GoString() string {
 15108  	return s.String()
 15109  }
 15110  
 15111  // Validate inspects the fields of the type to determine if they are valid.
 15112  func (s *ListSamplesInput) Validate() error {
 15113  	invalidParams := request.ErrInvalidParams{Context: "ListSamplesInput"}
 15114  	if s.Arn == nil {
 15115  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 15116  	}
 15117  	if s.Arn != nil && len(*s.Arn) < 32 {
 15118  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 15119  	}
 15120  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 15121  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 15122  	}
 15123  
 15124  	if invalidParams.Len() > 0 {
 15125  		return invalidParams
 15126  	}
 15127  	return nil
 15128  }
 15129  
 15130  // SetArn sets the Arn field's value.
 15131  func (s *ListSamplesInput) SetArn(v string) *ListSamplesInput {
 15132  	s.Arn = &v
 15133  	return s
 15134  }
 15135  
 15136  // SetNextToken sets the NextToken field's value.
 15137  func (s *ListSamplesInput) SetNextToken(v string) *ListSamplesInput {
 15138  	s.NextToken = &v
 15139  	return s
 15140  }
 15141  
 15142  // Represents the result of a list samples request.
 15143  type ListSamplesOutput struct {
 15144  	_ struct{} `type:"structure"`
 15145  
 15146  	// If the number of items that are returned is significantly large, this is
 15147  	// an identifier that is also returned. It can be used in a subsequent call
 15148  	// to this operation to return the next set of items in the list.
 15149  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 15150  
 15151  	// Information about the samples.
 15152  	Samples []*Sample `locationName:"samples" type:"list"`
 15153  }
 15154  
 15155  // String returns the string representation.
 15156  //
 15157  // API parameter values that are decorated as "sensitive" in the API will not
 15158  // be included in the string output. The member name will be present, but the
 15159  // value will be replaced with "sensitive".
 15160  func (s ListSamplesOutput) String() string {
 15161  	return awsutil.Prettify(s)
 15162  }
 15163  
 15164  // GoString returns the string representation.
 15165  //
 15166  // API parameter values that are decorated as "sensitive" in the API will not
 15167  // be included in the string output. The member name will be present, but the
 15168  // value will be replaced with "sensitive".
 15169  func (s ListSamplesOutput) GoString() string {
 15170  	return s.String()
 15171  }
 15172  
 15173  // SetNextToken sets the NextToken field's value.
 15174  func (s *ListSamplesOutput) SetNextToken(v string) *ListSamplesOutput {
 15175  	s.NextToken = &v
 15176  	return s
 15177  }
 15178  
 15179  // SetSamples sets the Samples field's value.
 15180  func (s *ListSamplesOutput) SetSamples(v []*Sample) *ListSamplesOutput {
 15181  	s.Samples = v
 15182  	return s
 15183  }
 15184  
 15185  // Represents a request to the list suites operation.
 15186  type ListSuitesInput struct {
 15187  	_ struct{} `type:"structure"`
 15188  
 15189  	// The job's Amazon Resource Name (ARN).
 15190  	//
 15191  	// Arn is a required field
 15192  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 15193  
 15194  	// An identifier that was returned from the previous call to this operation,
 15195  	// which can be used to return the next set of items in the list.
 15196  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 15197  }
 15198  
 15199  // String returns the string representation.
 15200  //
 15201  // API parameter values that are decorated as "sensitive" in the API will not
 15202  // be included in the string output. The member name will be present, but the
 15203  // value will be replaced with "sensitive".
 15204  func (s ListSuitesInput) String() string {
 15205  	return awsutil.Prettify(s)
 15206  }
 15207  
 15208  // GoString returns the string representation.
 15209  //
 15210  // API parameter values that are decorated as "sensitive" in the API will not
 15211  // be included in the string output. The member name will be present, but the
 15212  // value will be replaced with "sensitive".
 15213  func (s ListSuitesInput) GoString() string {
 15214  	return s.String()
 15215  }
 15216  
 15217  // Validate inspects the fields of the type to determine if they are valid.
 15218  func (s *ListSuitesInput) Validate() error {
 15219  	invalidParams := request.ErrInvalidParams{Context: "ListSuitesInput"}
 15220  	if s.Arn == nil {
 15221  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 15222  	}
 15223  	if s.Arn != nil && len(*s.Arn) < 32 {
 15224  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 15225  	}
 15226  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 15227  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 15228  	}
 15229  
 15230  	if invalidParams.Len() > 0 {
 15231  		return invalidParams
 15232  	}
 15233  	return nil
 15234  }
 15235  
 15236  // SetArn sets the Arn field's value.
 15237  func (s *ListSuitesInput) SetArn(v string) *ListSuitesInput {
 15238  	s.Arn = &v
 15239  	return s
 15240  }
 15241  
 15242  // SetNextToken sets the NextToken field's value.
 15243  func (s *ListSuitesInput) SetNextToken(v string) *ListSuitesInput {
 15244  	s.NextToken = &v
 15245  	return s
 15246  }
 15247  
 15248  // Represents the result of a list suites request.
 15249  type ListSuitesOutput struct {
 15250  	_ struct{} `type:"structure"`
 15251  
 15252  	// If the number of items that are returned is significantly large, this is
 15253  	// an identifier that is also returned. It can be used in a subsequent call
 15254  	// to this operation to return the next set of items in the list.
 15255  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 15256  
 15257  	// Information about the suites.
 15258  	Suites []*Suite `locationName:"suites" type:"list"`
 15259  }
 15260  
 15261  // String returns the string representation.
 15262  //
 15263  // API parameter values that are decorated as "sensitive" in the API will not
 15264  // be included in the string output. The member name will be present, but the
 15265  // value will be replaced with "sensitive".
 15266  func (s ListSuitesOutput) String() string {
 15267  	return awsutil.Prettify(s)
 15268  }
 15269  
 15270  // GoString returns the string representation.
 15271  //
 15272  // API parameter values that are decorated as "sensitive" in the API will not
 15273  // be included in the string output. The member name will be present, but the
 15274  // value will be replaced with "sensitive".
 15275  func (s ListSuitesOutput) GoString() string {
 15276  	return s.String()
 15277  }
 15278  
 15279  // SetNextToken sets the NextToken field's value.
 15280  func (s *ListSuitesOutput) SetNextToken(v string) *ListSuitesOutput {
 15281  	s.NextToken = &v
 15282  	return s
 15283  }
 15284  
 15285  // SetSuites sets the Suites field's value.
 15286  func (s *ListSuitesOutput) SetSuites(v []*Suite) *ListSuitesOutput {
 15287  	s.Suites = v
 15288  	return s
 15289  }
 15290  
 15291  type ListTagsForResourceInput struct {
 15292  	_ struct{} `type:"structure"`
 15293  
 15294  	// The Amazon Resource Name (ARN) of the resource or resources for which to
 15295  	// list tags. You can associate tags with the following Device Farm resources:
 15296  	// PROJECT, RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION,
 15297  	// DEVICE_POOL, DEVICE, and VPCE_CONFIGURATION.
 15298  	//
 15299  	// ResourceARN is a required field
 15300  	ResourceARN *string `min:"32" type:"string" required:"true"`
 15301  }
 15302  
 15303  // String returns the string representation.
 15304  //
 15305  // API parameter values that are decorated as "sensitive" in the API will not
 15306  // be included in the string output. The member name will be present, but the
 15307  // value will be replaced with "sensitive".
 15308  func (s ListTagsForResourceInput) String() string {
 15309  	return awsutil.Prettify(s)
 15310  }
 15311  
 15312  // GoString returns the string representation.
 15313  //
 15314  // API parameter values that are decorated as "sensitive" in the API will not
 15315  // be included in the string output. The member name will be present, but the
 15316  // value will be replaced with "sensitive".
 15317  func (s ListTagsForResourceInput) GoString() string {
 15318  	return s.String()
 15319  }
 15320  
 15321  // Validate inspects the fields of the type to determine if they are valid.
 15322  func (s *ListTagsForResourceInput) Validate() error {
 15323  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 15324  	if s.ResourceARN == nil {
 15325  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 15326  	}
 15327  	if s.ResourceARN != nil && len(*s.ResourceARN) < 32 {
 15328  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 32))
 15329  	}
 15330  
 15331  	if invalidParams.Len() > 0 {
 15332  		return invalidParams
 15333  	}
 15334  	return nil
 15335  }
 15336  
 15337  // SetResourceARN sets the ResourceARN field's value.
 15338  func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
 15339  	s.ResourceARN = &v
 15340  	return s
 15341  }
 15342  
 15343  type ListTagsForResourceOutput struct {
 15344  	_ struct{} `type:"structure"`
 15345  
 15346  	// The tags to add to the resource. A tag is an array of key-value pairs. Tag
 15347  	// keys can have a maximum character length of 128 characters. Tag values can
 15348  	// have a maximum length of 256 characters.
 15349  	Tags []*Tag `type:"list"`
 15350  }
 15351  
 15352  // String returns the string representation.
 15353  //
 15354  // API parameter values that are decorated as "sensitive" in the API will not
 15355  // be included in the string output. The member name will be present, but the
 15356  // value will be replaced with "sensitive".
 15357  func (s ListTagsForResourceOutput) String() string {
 15358  	return awsutil.Prettify(s)
 15359  }
 15360  
 15361  // GoString returns the string representation.
 15362  //
 15363  // API parameter values that are decorated as "sensitive" in the API will not
 15364  // be included in the string output. The member name will be present, but the
 15365  // value will be replaced with "sensitive".
 15366  func (s ListTagsForResourceOutput) GoString() string {
 15367  	return s.String()
 15368  }
 15369  
 15370  // SetTags sets the Tags field's value.
 15371  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
 15372  	s.Tags = v
 15373  	return s
 15374  }
 15375  
 15376  type ListTestGridProjectsInput struct {
 15377  	_ struct{} `type:"structure"`
 15378  
 15379  	// Return no more than this number of results.
 15380  	MaxResult *int64 `locationName:"maxResult" min:"1" type:"integer"`
 15381  
 15382  	// From a response, used to continue a paginated listing.
 15383  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 15384  }
 15385  
 15386  // String returns the string representation.
 15387  //
 15388  // API parameter values that are decorated as "sensitive" in the API will not
 15389  // be included in the string output. The member name will be present, but the
 15390  // value will be replaced with "sensitive".
 15391  func (s ListTestGridProjectsInput) String() string {
 15392  	return awsutil.Prettify(s)
 15393  }
 15394  
 15395  // GoString returns the string representation.
 15396  //
 15397  // API parameter values that are decorated as "sensitive" in the API will not
 15398  // be included in the string output. The member name will be present, but the
 15399  // value will be replaced with "sensitive".
 15400  func (s ListTestGridProjectsInput) GoString() string {
 15401  	return s.String()
 15402  }
 15403  
 15404  // Validate inspects the fields of the type to determine if they are valid.
 15405  func (s *ListTestGridProjectsInput) Validate() error {
 15406  	invalidParams := request.ErrInvalidParams{Context: "ListTestGridProjectsInput"}
 15407  	if s.MaxResult != nil && *s.MaxResult < 1 {
 15408  		invalidParams.Add(request.NewErrParamMinValue("MaxResult", 1))
 15409  	}
 15410  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 15411  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 15412  	}
 15413  
 15414  	if invalidParams.Len() > 0 {
 15415  		return invalidParams
 15416  	}
 15417  	return nil
 15418  }
 15419  
 15420  // SetMaxResult sets the MaxResult field's value.
 15421  func (s *ListTestGridProjectsInput) SetMaxResult(v int64) *ListTestGridProjectsInput {
 15422  	s.MaxResult = &v
 15423  	return s
 15424  }
 15425  
 15426  // SetNextToken sets the NextToken field's value.
 15427  func (s *ListTestGridProjectsInput) SetNextToken(v string) *ListTestGridProjectsInput {
 15428  	s.NextToken = &v
 15429  	return s
 15430  }
 15431  
 15432  type ListTestGridProjectsOutput struct {
 15433  	_ struct{} `type:"structure"`
 15434  
 15435  	// Used for pagination. Pass into ListTestGridProjects to get more results in
 15436  	// a paginated request.
 15437  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 15438  
 15439  	// The list of TestGridProjects, based on a ListTestGridProjectsRequest.
 15440  	TestGridProjects []*TestGridProject `locationName:"testGridProjects" type:"list"`
 15441  }
 15442  
 15443  // String returns the string representation.
 15444  //
 15445  // API parameter values that are decorated as "sensitive" in the API will not
 15446  // be included in the string output. The member name will be present, but the
 15447  // value will be replaced with "sensitive".
 15448  func (s ListTestGridProjectsOutput) String() string {
 15449  	return awsutil.Prettify(s)
 15450  }
 15451  
 15452  // GoString returns the string representation.
 15453  //
 15454  // API parameter values that are decorated as "sensitive" in the API will not
 15455  // be included in the string output. The member name will be present, but the
 15456  // value will be replaced with "sensitive".
 15457  func (s ListTestGridProjectsOutput) GoString() string {
 15458  	return s.String()
 15459  }
 15460  
 15461  // SetNextToken sets the NextToken field's value.
 15462  func (s *ListTestGridProjectsOutput) SetNextToken(v string) *ListTestGridProjectsOutput {
 15463  	s.NextToken = &v
 15464  	return s
 15465  }
 15466  
 15467  // SetTestGridProjects sets the TestGridProjects field's value.
 15468  func (s *ListTestGridProjectsOutput) SetTestGridProjects(v []*TestGridProject) *ListTestGridProjectsOutput {
 15469  	s.TestGridProjects = v
 15470  	return s
 15471  }
 15472  
 15473  type ListTestGridSessionActionsInput struct {
 15474  	_ struct{} `type:"structure"`
 15475  
 15476  	// The maximum number of sessions to return per response.
 15477  	MaxResult *int64 `locationName:"maxResult" min:"1" type:"integer"`
 15478  
 15479  	// Pagination token.
 15480  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 15481  
 15482  	// The ARN of the session to retrieve.
 15483  	//
 15484  	// SessionArn is a required field
 15485  	SessionArn *string `locationName:"sessionArn" min:"32" type:"string" required:"true"`
 15486  }
 15487  
 15488  // String returns the string representation.
 15489  //
 15490  // API parameter values that are decorated as "sensitive" in the API will not
 15491  // be included in the string output. The member name will be present, but the
 15492  // value will be replaced with "sensitive".
 15493  func (s ListTestGridSessionActionsInput) String() string {
 15494  	return awsutil.Prettify(s)
 15495  }
 15496  
 15497  // GoString returns the string representation.
 15498  //
 15499  // API parameter values that are decorated as "sensitive" in the API will not
 15500  // be included in the string output. The member name will be present, but the
 15501  // value will be replaced with "sensitive".
 15502  func (s ListTestGridSessionActionsInput) GoString() string {
 15503  	return s.String()
 15504  }
 15505  
 15506  // Validate inspects the fields of the type to determine if they are valid.
 15507  func (s *ListTestGridSessionActionsInput) Validate() error {
 15508  	invalidParams := request.ErrInvalidParams{Context: "ListTestGridSessionActionsInput"}
 15509  	if s.MaxResult != nil && *s.MaxResult < 1 {
 15510  		invalidParams.Add(request.NewErrParamMinValue("MaxResult", 1))
 15511  	}
 15512  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 15513  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 15514  	}
 15515  	if s.SessionArn == nil {
 15516  		invalidParams.Add(request.NewErrParamRequired("SessionArn"))
 15517  	}
 15518  	if s.SessionArn != nil && len(*s.SessionArn) < 32 {
 15519  		invalidParams.Add(request.NewErrParamMinLen("SessionArn", 32))
 15520  	}
 15521  
 15522  	if invalidParams.Len() > 0 {
 15523  		return invalidParams
 15524  	}
 15525  	return nil
 15526  }
 15527  
 15528  // SetMaxResult sets the MaxResult field's value.
 15529  func (s *ListTestGridSessionActionsInput) SetMaxResult(v int64) *ListTestGridSessionActionsInput {
 15530  	s.MaxResult = &v
 15531  	return s
 15532  }
 15533  
 15534  // SetNextToken sets the NextToken field's value.
 15535  func (s *ListTestGridSessionActionsInput) SetNextToken(v string) *ListTestGridSessionActionsInput {
 15536  	s.NextToken = &v
 15537  	return s
 15538  }
 15539  
 15540  // SetSessionArn sets the SessionArn field's value.
 15541  func (s *ListTestGridSessionActionsInput) SetSessionArn(v string) *ListTestGridSessionActionsInput {
 15542  	s.SessionArn = &v
 15543  	return s
 15544  }
 15545  
 15546  type ListTestGridSessionActionsOutput struct {
 15547  	_ struct{} `type:"structure"`
 15548  
 15549  	// The action taken by the session.
 15550  	Actions []*TestGridSessionAction `locationName:"actions" type:"list"`
 15551  
 15552  	// Pagination token.
 15553  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 15554  }
 15555  
 15556  // String returns the string representation.
 15557  //
 15558  // API parameter values that are decorated as "sensitive" in the API will not
 15559  // be included in the string output. The member name will be present, but the
 15560  // value will be replaced with "sensitive".
 15561  func (s ListTestGridSessionActionsOutput) String() string {
 15562  	return awsutil.Prettify(s)
 15563  }
 15564  
 15565  // GoString returns the string representation.
 15566  //
 15567  // API parameter values that are decorated as "sensitive" in the API will not
 15568  // be included in the string output. The member name will be present, but the
 15569  // value will be replaced with "sensitive".
 15570  func (s ListTestGridSessionActionsOutput) GoString() string {
 15571  	return s.String()
 15572  }
 15573  
 15574  // SetActions sets the Actions field's value.
 15575  func (s *ListTestGridSessionActionsOutput) SetActions(v []*TestGridSessionAction) *ListTestGridSessionActionsOutput {
 15576  	s.Actions = v
 15577  	return s
 15578  }
 15579  
 15580  // SetNextToken sets the NextToken field's value.
 15581  func (s *ListTestGridSessionActionsOutput) SetNextToken(v string) *ListTestGridSessionActionsOutput {
 15582  	s.NextToken = &v
 15583  	return s
 15584  }
 15585  
 15586  type ListTestGridSessionArtifactsInput struct {
 15587  	_ struct{} `type:"structure"`
 15588  
 15589  	// The maximum number of results to be returned by a request.
 15590  	MaxResult *int64 `locationName:"maxResult" min:"1" type:"integer"`
 15591  
 15592  	// Pagination token.
 15593  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 15594  
 15595  	// The ARN of a TestGridSession.
 15596  	//
 15597  	// SessionArn is a required field
 15598  	SessionArn *string `locationName:"sessionArn" min:"32" type:"string" required:"true"`
 15599  
 15600  	// Limit results to a specified type of artifact.
 15601  	Type *string `locationName:"type" type:"string" enum:"TestGridSessionArtifactCategory"`
 15602  }
 15603  
 15604  // String returns the string representation.
 15605  //
 15606  // API parameter values that are decorated as "sensitive" in the API will not
 15607  // be included in the string output. The member name will be present, but the
 15608  // value will be replaced with "sensitive".
 15609  func (s ListTestGridSessionArtifactsInput) String() string {
 15610  	return awsutil.Prettify(s)
 15611  }
 15612  
 15613  // GoString returns the string representation.
 15614  //
 15615  // API parameter values that are decorated as "sensitive" in the API will not
 15616  // be included in the string output. The member name will be present, but the
 15617  // value will be replaced with "sensitive".
 15618  func (s ListTestGridSessionArtifactsInput) GoString() string {
 15619  	return s.String()
 15620  }
 15621  
 15622  // Validate inspects the fields of the type to determine if they are valid.
 15623  func (s *ListTestGridSessionArtifactsInput) Validate() error {
 15624  	invalidParams := request.ErrInvalidParams{Context: "ListTestGridSessionArtifactsInput"}
 15625  	if s.MaxResult != nil && *s.MaxResult < 1 {
 15626  		invalidParams.Add(request.NewErrParamMinValue("MaxResult", 1))
 15627  	}
 15628  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 15629  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 15630  	}
 15631  	if s.SessionArn == nil {
 15632  		invalidParams.Add(request.NewErrParamRequired("SessionArn"))
 15633  	}
 15634  	if s.SessionArn != nil && len(*s.SessionArn) < 32 {
 15635  		invalidParams.Add(request.NewErrParamMinLen("SessionArn", 32))
 15636  	}
 15637  
 15638  	if invalidParams.Len() > 0 {
 15639  		return invalidParams
 15640  	}
 15641  	return nil
 15642  }
 15643  
 15644  // SetMaxResult sets the MaxResult field's value.
 15645  func (s *ListTestGridSessionArtifactsInput) SetMaxResult(v int64) *ListTestGridSessionArtifactsInput {
 15646  	s.MaxResult = &v
 15647  	return s
 15648  }
 15649  
 15650  // SetNextToken sets the NextToken field's value.
 15651  func (s *ListTestGridSessionArtifactsInput) SetNextToken(v string) *ListTestGridSessionArtifactsInput {
 15652  	s.NextToken = &v
 15653  	return s
 15654  }
 15655  
 15656  // SetSessionArn sets the SessionArn field's value.
 15657  func (s *ListTestGridSessionArtifactsInput) SetSessionArn(v string) *ListTestGridSessionArtifactsInput {
 15658  	s.SessionArn = &v
 15659  	return s
 15660  }
 15661  
 15662  // SetType sets the Type field's value.
 15663  func (s *ListTestGridSessionArtifactsInput) SetType(v string) *ListTestGridSessionArtifactsInput {
 15664  	s.Type = &v
 15665  	return s
 15666  }
 15667  
 15668  type ListTestGridSessionArtifactsOutput struct {
 15669  	_ struct{} `type:"structure"`
 15670  
 15671  	// A list of test grid session artifacts for a TestGridSession.
 15672  	Artifacts []*TestGridSessionArtifact `locationName:"artifacts" type:"list"`
 15673  
 15674  	// Pagination token.
 15675  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 15676  }
 15677  
 15678  // String returns the string representation.
 15679  //
 15680  // API parameter values that are decorated as "sensitive" in the API will not
 15681  // be included in the string output. The member name will be present, but the
 15682  // value will be replaced with "sensitive".
 15683  func (s ListTestGridSessionArtifactsOutput) String() string {
 15684  	return awsutil.Prettify(s)
 15685  }
 15686  
 15687  // GoString returns the string representation.
 15688  //
 15689  // API parameter values that are decorated as "sensitive" in the API will not
 15690  // be included in the string output. The member name will be present, but the
 15691  // value will be replaced with "sensitive".
 15692  func (s ListTestGridSessionArtifactsOutput) GoString() string {
 15693  	return s.String()
 15694  }
 15695  
 15696  // SetArtifacts sets the Artifacts field's value.
 15697  func (s *ListTestGridSessionArtifactsOutput) SetArtifacts(v []*TestGridSessionArtifact) *ListTestGridSessionArtifactsOutput {
 15698  	s.Artifacts = v
 15699  	return s
 15700  }
 15701  
 15702  // SetNextToken sets the NextToken field's value.
 15703  func (s *ListTestGridSessionArtifactsOutput) SetNextToken(v string) *ListTestGridSessionArtifactsOutput {
 15704  	s.NextToken = &v
 15705  	return s
 15706  }
 15707  
 15708  type ListTestGridSessionsInput struct {
 15709  	_ struct{} `type:"structure"`
 15710  
 15711  	// Return only sessions created after this time.
 15712  	CreationTimeAfter *time.Time `locationName:"creationTimeAfter" type:"timestamp"`
 15713  
 15714  	// Return only sessions created before this time.
 15715  	CreationTimeBefore *time.Time `locationName:"creationTimeBefore" type:"timestamp"`
 15716  
 15717  	// Return only sessions that ended after this time.
 15718  	EndTimeAfter *time.Time `locationName:"endTimeAfter" type:"timestamp"`
 15719  
 15720  	// Return only sessions that ended before this time.
 15721  	EndTimeBefore *time.Time `locationName:"endTimeBefore" type:"timestamp"`
 15722  
 15723  	// Return only this many results at a time.
 15724  	MaxResult *int64 `locationName:"maxResult" min:"1" type:"integer"`
 15725  
 15726  	// Pagination token.
 15727  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 15728  
 15729  	// ARN of a TestGridProject.
 15730  	//
 15731  	// ProjectArn is a required field
 15732  	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
 15733  
 15734  	// Return only sessions in this state.
 15735  	Status *string `locationName:"status" type:"string" enum:"TestGridSessionStatus"`
 15736  }
 15737  
 15738  // String returns the string representation.
 15739  //
 15740  // API parameter values that are decorated as "sensitive" in the API will not
 15741  // be included in the string output. The member name will be present, but the
 15742  // value will be replaced with "sensitive".
 15743  func (s ListTestGridSessionsInput) String() string {
 15744  	return awsutil.Prettify(s)
 15745  }
 15746  
 15747  // GoString returns the string representation.
 15748  //
 15749  // API parameter values that are decorated as "sensitive" in the API will not
 15750  // be included in the string output. The member name will be present, but the
 15751  // value will be replaced with "sensitive".
 15752  func (s ListTestGridSessionsInput) GoString() string {
 15753  	return s.String()
 15754  }
 15755  
 15756  // Validate inspects the fields of the type to determine if they are valid.
 15757  func (s *ListTestGridSessionsInput) Validate() error {
 15758  	invalidParams := request.ErrInvalidParams{Context: "ListTestGridSessionsInput"}
 15759  	if s.MaxResult != nil && *s.MaxResult < 1 {
 15760  		invalidParams.Add(request.NewErrParamMinValue("MaxResult", 1))
 15761  	}
 15762  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 15763  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 15764  	}
 15765  	if s.ProjectArn == nil {
 15766  		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
 15767  	}
 15768  	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
 15769  		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
 15770  	}
 15771  
 15772  	if invalidParams.Len() > 0 {
 15773  		return invalidParams
 15774  	}
 15775  	return nil
 15776  }
 15777  
 15778  // SetCreationTimeAfter sets the CreationTimeAfter field's value.
 15779  func (s *ListTestGridSessionsInput) SetCreationTimeAfter(v time.Time) *ListTestGridSessionsInput {
 15780  	s.CreationTimeAfter = &v
 15781  	return s
 15782  }
 15783  
 15784  // SetCreationTimeBefore sets the CreationTimeBefore field's value.
 15785  func (s *ListTestGridSessionsInput) SetCreationTimeBefore(v time.Time) *ListTestGridSessionsInput {
 15786  	s.CreationTimeBefore = &v
 15787  	return s
 15788  }
 15789  
 15790  // SetEndTimeAfter sets the EndTimeAfter field's value.
 15791  func (s *ListTestGridSessionsInput) SetEndTimeAfter(v time.Time) *ListTestGridSessionsInput {
 15792  	s.EndTimeAfter = &v
 15793  	return s
 15794  }
 15795  
 15796  // SetEndTimeBefore sets the EndTimeBefore field's value.
 15797  func (s *ListTestGridSessionsInput) SetEndTimeBefore(v time.Time) *ListTestGridSessionsInput {
 15798  	s.EndTimeBefore = &v
 15799  	return s
 15800  }
 15801  
 15802  // SetMaxResult sets the MaxResult field's value.
 15803  func (s *ListTestGridSessionsInput) SetMaxResult(v int64) *ListTestGridSessionsInput {
 15804  	s.MaxResult = &v
 15805  	return s
 15806  }
 15807  
 15808  // SetNextToken sets the NextToken field's value.
 15809  func (s *ListTestGridSessionsInput) SetNextToken(v string) *ListTestGridSessionsInput {
 15810  	s.NextToken = &v
 15811  	return s
 15812  }
 15813  
 15814  // SetProjectArn sets the ProjectArn field's value.
 15815  func (s *ListTestGridSessionsInput) SetProjectArn(v string) *ListTestGridSessionsInput {
 15816  	s.ProjectArn = &v
 15817  	return s
 15818  }
 15819  
 15820  // SetStatus sets the Status field's value.
 15821  func (s *ListTestGridSessionsInput) SetStatus(v string) *ListTestGridSessionsInput {
 15822  	s.Status = &v
 15823  	return s
 15824  }
 15825  
 15826  type ListTestGridSessionsOutput struct {
 15827  	_ struct{} `type:"structure"`
 15828  
 15829  	// Pagination token.
 15830  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 15831  
 15832  	// The sessions that match the criteria in a ListTestGridSessionsRequest.
 15833  	TestGridSessions []*TestGridSession `locationName:"testGridSessions" type:"list"`
 15834  }
 15835  
 15836  // String returns the string representation.
 15837  //
 15838  // API parameter values that are decorated as "sensitive" in the API will not
 15839  // be included in the string output. The member name will be present, but the
 15840  // value will be replaced with "sensitive".
 15841  func (s ListTestGridSessionsOutput) String() string {
 15842  	return awsutil.Prettify(s)
 15843  }
 15844  
 15845  // GoString returns the string representation.
 15846  //
 15847  // API parameter values that are decorated as "sensitive" in the API will not
 15848  // be included in the string output. The member name will be present, but the
 15849  // value will be replaced with "sensitive".
 15850  func (s ListTestGridSessionsOutput) GoString() string {
 15851  	return s.String()
 15852  }
 15853  
 15854  // SetNextToken sets the NextToken field's value.
 15855  func (s *ListTestGridSessionsOutput) SetNextToken(v string) *ListTestGridSessionsOutput {
 15856  	s.NextToken = &v
 15857  	return s
 15858  }
 15859  
 15860  // SetTestGridSessions sets the TestGridSessions field's value.
 15861  func (s *ListTestGridSessionsOutput) SetTestGridSessions(v []*TestGridSession) *ListTestGridSessionsOutput {
 15862  	s.TestGridSessions = v
 15863  	return s
 15864  }
 15865  
 15866  // Represents a request to the list tests operation.
 15867  type ListTestsInput struct {
 15868  	_ struct{} `type:"structure"`
 15869  
 15870  	// The test suite's Amazon Resource Name (ARN).
 15871  	//
 15872  	// Arn is a required field
 15873  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 15874  
 15875  	// An identifier that was returned from the previous call to this operation,
 15876  	// which can be used to return the next set of items in the list.
 15877  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 15878  }
 15879  
 15880  // String returns the string representation.
 15881  //
 15882  // API parameter values that are decorated as "sensitive" in the API will not
 15883  // be included in the string output. The member name will be present, but the
 15884  // value will be replaced with "sensitive".
 15885  func (s ListTestsInput) String() string {
 15886  	return awsutil.Prettify(s)
 15887  }
 15888  
 15889  // GoString returns the string representation.
 15890  //
 15891  // API parameter values that are decorated as "sensitive" in the API will not
 15892  // be included in the string output. The member name will be present, but the
 15893  // value will be replaced with "sensitive".
 15894  func (s ListTestsInput) GoString() string {
 15895  	return s.String()
 15896  }
 15897  
 15898  // Validate inspects the fields of the type to determine if they are valid.
 15899  func (s *ListTestsInput) Validate() error {
 15900  	invalidParams := request.ErrInvalidParams{Context: "ListTestsInput"}
 15901  	if s.Arn == nil {
 15902  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 15903  	}
 15904  	if s.Arn != nil && len(*s.Arn) < 32 {
 15905  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 15906  	}
 15907  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 15908  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 15909  	}
 15910  
 15911  	if invalidParams.Len() > 0 {
 15912  		return invalidParams
 15913  	}
 15914  	return nil
 15915  }
 15916  
 15917  // SetArn sets the Arn field's value.
 15918  func (s *ListTestsInput) SetArn(v string) *ListTestsInput {
 15919  	s.Arn = &v
 15920  	return s
 15921  }
 15922  
 15923  // SetNextToken sets the NextToken field's value.
 15924  func (s *ListTestsInput) SetNextToken(v string) *ListTestsInput {
 15925  	s.NextToken = &v
 15926  	return s
 15927  }
 15928  
 15929  // Represents the result of a list tests request.
 15930  type ListTestsOutput struct {
 15931  	_ struct{} `type:"structure"`
 15932  
 15933  	// If the number of items that are returned is significantly large, this is
 15934  	// an identifier that is also returned. It can be used in a subsequent call
 15935  	// to this operation to return the next set of items in the list.
 15936  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 15937  
 15938  	// Information about the tests.
 15939  	Tests []*Test `locationName:"tests" type:"list"`
 15940  }
 15941  
 15942  // String returns the string representation.
 15943  //
 15944  // API parameter values that are decorated as "sensitive" in the API will not
 15945  // be included in the string output. The member name will be present, but the
 15946  // value will be replaced with "sensitive".
 15947  func (s ListTestsOutput) String() string {
 15948  	return awsutil.Prettify(s)
 15949  }
 15950  
 15951  // GoString returns the string representation.
 15952  //
 15953  // API parameter values that are decorated as "sensitive" in the API will not
 15954  // be included in the string output. The member name will be present, but the
 15955  // value will be replaced with "sensitive".
 15956  func (s ListTestsOutput) GoString() string {
 15957  	return s.String()
 15958  }
 15959  
 15960  // SetNextToken sets the NextToken field's value.
 15961  func (s *ListTestsOutput) SetNextToken(v string) *ListTestsOutput {
 15962  	s.NextToken = &v
 15963  	return s
 15964  }
 15965  
 15966  // SetTests sets the Tests field's value.
 15967  func (s *ListTestsOutput) SetTests(v []*Test) *ListTestsOutput {
 15968  	s.Tests = v
 15969  	return s
 15970  }
 15971  
 15972  // Represents a request to the list unique problems operation.
 15973  type ListUniqueProblemsInput struct {
 15974  	_ struct{} `type:"structure"`
 15975  
 15976  	// The unique problems' ARNs.
 15977  	//
 15978  	// Arn is a required field
 15979  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 15980  
 15981  	// An identifier that was returned from the previous call to this operation,
 15982  	// which can be used to return the next set of items in the list.
 15983  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 15984  }
 15985  
 15986  // String returns the string representation.
 15987  //
 15988  // API parameter values that are decorated as "sensitive" in the API will not
 15989  // be included in the string output. The member name will be present, but the
 15990  // value will be replaced with "sensitive".
 15991  func (s ListUniqueProblemsInput) String() string {
 15992  	return awsutil.Prettify(s)
 15993  }
 15994  
 15995  // GoString returns the string representation.
 15996  //
 15997  // API parameter values that are decorated as "sensitive" in the API will not
 15998  // be included in the string output. The member name will be present, but the
 15999  // value will be replaced with "sensitive".
 16000  func (s ListUniqueProblemsInput) GoString() string {
 16001  	return s.String()
 16002  }
 16003  
 16004  // Validate inspects the fields of the type to determine if they are valid.
 16005  func (s *ListUniqueProblemsInput) Validate() error {
 16006  	invalidParams := request.ErrInvalidParams{Context: "ListUniqueProblemsInput"}
 16007  	if s.Arn == nil {
 16008  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 16009  	}
 16010  	if s.Arn != nil && len(*s.Arn) < 32 {
 16011  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 16012  	}
 16013  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 16014  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 16015  	}
 16016  
 16017  	if invalidParams.Len() > 0 {
 16018  		return invalidParams
 16019  	}
 16020  	return nil
 16021  }
 16022  
 16023  // SetArn sets the Arn field's value.
 16024  func (s *ListUniqueProblemsInput) SetArn(v string) *ListUniqueProblemsInput {
 16025  	s.Arn = &v
 16026  	return s
 16027  }
 16028  
 16029  // SetNextToken sets the NextToken field's value.
 16030  func (s *ListUniqueProblemsInput) SetNextToken(v string) *ListUniqueProblemsInput {
 16031  	s.NextToken = &v
 16032  	return s
 16033  }
 16034  
 16035  // Represents the result of a list unique problems request.
 16036  type ListUniqueProblemsOutput struct {
 16037  	_ struct{} `type:"structure"`
 16038  
 16039  	// If the number of items that are returned is significantly large, this is
 16040  	// an identifier that is also returned. It can be used in a subsequent call
 16041  	// to this operation to return the next set of items in the list.
 16042  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 16043  
 16044  	// Information about the unique problems.
 16045  	//
 16046  	// Allowed values include:
 16047  	//
 16048  	//    * PENDING
 16049  	//
 16050  	//    * PASSED
 16051  	//
 16052  	//    * WARNED
 16053  	//
 16054  	//    * FAILED
 16055  	//
 16056  	//    * SKIPPED
 16057  	//
 16058  	//    * ERRORED
 16059  	//
 16060  	//    * STOPPED
 16061  	UniqueProblems map[string][]*UniqueProblem `locationName:"uniqueProblems" type:"map"`
 16062  }
 16063  
 16064  // String returns the string representation.
 16065  //
 16066  // API parameter values that are decorated as "sensitive" in the API will not
 16067  // be included in the string output. The member name will be present, but the
 16068  // value will be replaced with "sensitive".
 16069  func (s ListUniqueProblemsOutput) String() string {
 16070  	return awsutil.Prettify(s)
 16071  }
 16072  
 16073  // GoString returns the string representation.
 16074  //
 16075  // API parameter values that are decorated as "sensitive" in the API will not
 16076  // be included in the string output. The member name will be present, but the
 16077  // value will be replaced with "sensitive".
 16078  func (s ListUniqueProblemsOutput) GoString() string {
 16079  	return s.String()
 16080  }
 16081  
 16082  // SetNextToken sets the NextToken field's value.
 16083  func (s *ListUniqueProblemsOutput) SetNextToken(v string) *ListUniqueProblemsOutput {
 16084  	s.NextToken = &v
 16085  	return s
 16086  }
 16087  
 16088  // SetUniqueProblems sets the UniqueProblems field's value.
 16089  func (s *ListUniqueProblemsOutput) SetUniqueProblems(v map[string][]*UniqueProblem) *ListUniqueProblemsOutput {
 16090  	s.UniqueProblems = v
 16091  	return s
 16092  }
 16093  
 16094  // Represents a request to the list uploads operation.
 16095  type ListUploadsInput struct {
 16096  	_ struct{} `type:"structure"`
 16097  
 16098  	// The Amazon Resource Name (ARN) of the project for which you want to list
 16099  	// uploads.
 16100  	//
 16101  	// Arn is a required field
 16102  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 16103  
 16104  	// An identifier that was returned from the previous call to this operation,
 16105  	// which can be used to return the next set of items in the list.
 16106  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 16107  
 16108  	// The type of upload.
 16109  	//
 16110  	// Must be one of the following values:
 16111  	//
 16112  	//    * ANDROID_APP
 16113  	//
 16114  	//    * IOS_APP
 16115  	//
 16116  	//    * WEB_APP
 16117  	//
 16118  	//    * EXTERNAL_DATA
 16119  	//
 16120  	//    * APPIUM_JAVA_JUNIT_TEST_PACKAGE
 16121  	//
 16122  	//    * APPIUM_JAVA_TESTNG_TEST_PACKAGE
 16123  	//
 16124  	//    * APPIUM_PYTHON_TEST_PACKAGE
 16125  	//
 16126  	//    * APPIUM_NODE_TEST_PACKAGE
 16127  	//
 16128  	//    * APPIUM_RUBY_TEST_PACKAGE
 16129  	//
 16130  	//    * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE
 16131  	//
 16132  	//    * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE
 16133  	//
 16134  	//    * APPIUM_WEB_PYTHON_TEST_PACKAGE
 16135  	//
 16136  	//    * APPIUM_WEB_NODE_TEST_PACKAGE
 16137  	//
 16138  	//    * APPIUM_WEB_RUBY_TEST_PACKAGE
 16139  	//
 16140  	//    * CALABASH_TEST_PACKAGE
 16141  	//
 16142  	//    * INSTRUMENTATION_TEST_PACKAGE
 16143  	//
 16144  	//    * UIAUTOMATION_TEST_PACKAGE
 16145  	//
 16146  	//    * UIAUTOMATOR_TEST_PACKAGE
 16147  	//
 16148  	//    * XCTEST_TEST_PACKAGE
 16149  	//
 16150  	//    * XCTEST_UI_TEST_PACKAGE
 16151  	//
 16152  	//    * APPIUM_JAVA_JUNIT_TEST_SPEC
 16153  	//
 16154  	//    * APPIUM_JAVA_TESTNG_TEST_SPEC
 16155  	//
 16156  	//    * APPIUM_PYTHON_TEST_SPEC
 16157  	//
 16158  	//    * APPIUM_NODE_TEST_SPEC
 16159  	//
 16160  	//    * APPIUM_RUBY_TEST_SPEC
 16161  	//
 16162  	//    * APPIUM_WEB_JAVA_JUNIT_TEST_SPEC
 16163  	//
 16164  	//    * APPIUM_WEB_JAVA_TESTNG_TEST_SPEC
 16165  	//
 16166  	//    * APPIUM_WEB_PYTHON_TEST_SPEC
 16167  	//
 16168  	//    * APPIUM_WEB_NODE_TEST_SPEC
 16169  	//
 16170  	//    * APPIUM_WEB_RUBY_TEST_SPEC
 16171  	//
 16172  	//    * INSTRUMENTATION_TEST_SPEC
 16173  	//
 16174  	//    * XCTEST_UI_TEST_SPEC
 16175  	Type *string `locationName:"type" type:"string" enum:"UploadType"`
 16176  }
 16177  
 16178  // String returns the string representation.
 16179  //
 16180  // API parameter values that are decorated as "sensitive" in the API will not
 16181  // be included in the string output. The member name will be present, but the
 16182  // value will be replaced with "sensitive".
 16183  func (s ListUploadsInput) String() string {
 16184  	return awsutil.Prettify(s)
 16185  }
 16186  
 16187  // GoString returns the string representation.
 16188  //
 16189  // API parameter values that are decorated as "sensitive" in the API will not
 16190  // be included in the string output. The member name will be present, but the
 16191  // value will be replaced with "sensitive".
 16192  func (s ListUploadsInput) GoString() string {
 16193  	return s.String()
 16194  }
 16195  
 16196  // Validate inspects the fields of the type to determine if they are valid.
 16197  func (s *ListUploadsInput) Validate() error {
 16198  	invalidParams := request.ErrInvalidParams{Context: "ListUploadsInput"}
 16199  	if s.Arn == nil {
 16200  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 16201  	}
 16202  	if s.Arn != nil && len(*s.Arn) < 32 {
 16203  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 16204  	}
 16205  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 16206  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 16207  	}
 16208  
 16209  	if invalidParams.Len() > 0 {
 16210  		return invalidParams
 16211  	}
 16212  	return nil
 16213  }
 16214  
 16215  // SetArn sets the Arn field's value.
 16216  func (s *ListUploadsInput) SetArn(v string) *ListUploadsInput {
 16217  	s.Arn = &v
 16218  	return s
 16219  }
 16220  
 16221  // SetNextToken sets the NextToken field's value.
 16222  func (s *ListUploadsInput) SetNextToken(v string) *ListUploadsInput {
 16223  	s.NextToken = &v
 16224  	return s
 16225  }
 16226  
 16227  // SetType sets the Type field's value.
 16228  func (s *ListUploadsInput) SetType(v string) *ListUploadsInput {
 16229  	s.Type = &v
 16230  	return s
 16231  }
 16232  
 16233  // Represents the result of a list uploads request.
 16234  type ListUploadsOutput struct {
 16235  	_ struct{} `type:"structure"`
 16236  
 16237  	// If the number of items that are returned is significantly large, this is
 16238  	// an identifier that is also returned. It can be used in a subsequent call
 16239  	// to this operation to return the next set of items in the list.
 16240  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 16241  
 16242  	// Information about the uploads.
 16243  	Uploads []*Upload `locationName:"uploads" type:"list"`
 16244  }
 16245  
 16246  // String returns the string representation.
 16247  //
 16248  // API parameter values that are decorated as "sensitive" in the API will not
 16249  // be included in the string output. The member name will be present, but the
 16250  // value will be replaced with "sensitive".
 16251  func (s ListUploadsOutput) String() string {
 16252  	return awsutil.Prettify(s)
 16253  }
 16254  
 16255  // GoString returns the string representation.
 16256  //
 16257  // API parameter values that are decorated as "sensitive" in the API will not
 16258  // be included in the string output. The member name will be present, but the
 16259  // value will be replaced with "sensitive".
 16260  func (s ListUploadsOutput) GoString() string {
 16261  	return s.String()
 16262  }
 16263  
 16264  // SetNextToken sets the NextToken field's value.
 16265  func (s *ListUploadsOutput) SetNextToken(v string) *ListUploadsOutput {
 16266  	s.NextToken = &v
 16267  	return s
 16268  }
 16269  
 16270  // SetUploads sets the Uploads field's value.
 16271  func (s *ListUploadsOutput) SetUploads(v []*Upload) *ListUploadsOutput {
 16272  	s.Uploads = v
 16273  	return s
 16274  }
 16275  
 16276  type ListVPCEConfigurationsInput struct {
 16277  	_ struct{} `type:"structure"`
 16278  
 16279  	// An integer that specifies the maximum number of items you want to return
 16280  	// in the API response.
 16281  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
 16282  
 16283  	// An identifier that was returned from the previous call to this operation,
 16284  	// which can be used to return the next set of items in the list.
 16285  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 16286  }
 16287  
 16288  // String returns the string representation.
 16289  //
 16290  // API parameter values that are decorated as "sensitive" in the API will not
 16291  // be included in the string output. The member name will be present, but the
 16292  // value will be replaced with "sensitive".
 16293  func (s ListVPCEConfigurationsInput) String() string {
 16294  	return awsutil.Prettify(s)
 16295  }
 16296  
 16297  // GoString returns the string representation.
 16298  //
 16299  // API parameter values that are decorated as "sensitive" in the API will not
 16300  // be included in the string output. The member name will be present, but the
 16301  // value will be replaced with "sensitive".
 16302  func (s ListVPCEConfigurationsInput) GoString() string {
 16303  	return s.String()
 16304  }
 16305  
 16306  // Validate inspects the fields of the type to determine if they are valid.
 16307  func (s *ListVPCEConfigurationsInput) Validate() error {
 16308  	invalidParams := request.ErrInvalidParams{Context: "ListVPCEConfigurationsInput"}
 16309  	if s.NextToken != nil && len(*s.NextToken) < 4 {
 16310  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
 16311  	}
 16312  
 16313  	if invalidParams.Len() > 0 {
 16314  		return invalidParams
 16315  	}
 16316  	return nil
 16317  }
 16318  
 16319  // SetMaxResults sets the MaxResults field's value.
 16320  func (s *ListVPCEConfigurationsInput) SetMaxResults(v int64) *ListVPCEConfigurationsInput {
 16321  	s.MaxResults = &v
 16322  	return s
 16323  }
 16324  
 16325  // SetNextToken sets the NextToken field's value.
 16326  func (s *ListVPCEConfigurationsInput) SetNextToken(v string) *ListVPCEConfigurationsInput {
 16327  	s.NextToken = &v
 16328  	return s
 16329  }
 16330  
 16331  type ListVPCEConfigurationsOutput struct {
 16332  	_ struct{} `type:"structure"`
 16333  
 16334  	// An identifier that was returned from the previous call to this operation,
 16335  	// which can be used to return the next set of items in the list.
 16336  	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
 16337  
 16338  	// An array of VPCEConfiguration objects that contain information about your
 16339  	// VPC endpoint configuration.
 16340  	VpceConfigurations []*VPCEConfiguration `locationName:"vpceConfigurations" type:"list"`
 16341  }
 16342  
 16343  // String returns the string representation.
 16344  //
 16345  // API parameter values that are decorated as "sensitive" in the API will not
 16346  // be included in the string output. The member name will be present, but the
 16347  // value will be replaced with "sensitive".
 16348  func (s ListVPCEConfigurationsOutput) String() string {
 16349  	return awsutil.Prettify(s)
 16350  }
 16351  
 16352  // GoString returns the string representation.
 16353  //
 16354  // API parameter values that are decorated as "sensitive" in the API will not
 16355  // be included in the string output. The member name will be present, but the
 16356  // value will be replaced with "sensitive".
 16357  func (s ListVPCEConfigurationsOutput) GoString() string {
 16358  	return s.String()
 16359  }
 16360  
 16361  // SetNextToken sets the NextToken field's value.
 16362  func (s *ListVPCEConfigurationsOutput) SetNextToken(v string) *ListVPCEConfigurationsOutput {
 16363  	s.NextToken = &v
 16364  	return s
 16365  }
 16366  
 16367  // SetVpceConfigurations sets the VpceConfigurations field's value.
 16368  func (s *ListVPCEConfigurationsOutput) SetVpceConfigurations(v []*VPCEConfiguration) *ListVPCEConfigurationsOutput {
 16369  	s.VpceConfigurations = v
 16370  	return s
 16371  }
 16372  
 16373  // Represents a latitude and longitude pair, expressed in geographic coordinate
 16374  // system degrees (for example, 47.6204, -122.3491).
 16375  //
 16376  // Elevation is currently not supported.
 16377  type Location struct {
 16378  	_ struct{} `type:"structure"`
 16379  
 16380  	// The latitude.
 16381  	//
 16382  	// Latitude is a required field
 16383  	Latitude *float64 `locationName:"latitude" type:"double" required:"true"`
 16384  
 16385  	// The longitude.
 16386  	//
 16387  	// Longitude is a required field
 16388  	Longitude *float64 `locationName:"longitude" type:"double" required:"true"`
 16389  }
 16390  
 16391  // String returns the string representation.
 16392  //
 16393  // API parameter values that are decorated as "sensitive" in the API will not
 16394  // be included in the string output. The member name will be present, but the
 16395  // value will be replaced with "sensitive".
 16396  func (s Location) String() string {
 16397  	return awsutil.Prettify(s)
 16398  }
 16399  
 16400  // GoString returns the string representation.
 16401  //
 16402  // API parameter values that are decorated as "sensitive" in the API will not
 16403  // be included in the string output. The member name will be present, but the
 16404  // value will be replaced with "sensitive".
 16405  func (s Location) GoString() string {
 16406  	return s.String()
 16407  }
 16408  
 16409  // Validate inspects the fields of the type to determine if they are valid.
 16410  func (s *Location) Validate() error {
 16411  	invalidParams := request.ErrInvalidParams{Context: "Location"}
 16412  	if s.Latitude == nil {
 16413  		invalidParams.Add(request.NewErrParamRequired("Latitude"))
 16414  	}
 16415  	if s.Longitude == nil {
 16416  		invalidParams.Add(request.NewErrParamRequired("Longitude"))
 16417  	}
 16418  
 16419  	if invalidParams.Len() > 0 {
 16420  		return invalidParams
 16421  	}
 16422  	return nil
 16423  }
 16424  
 16425  // SetLatitude sets the Latitude field's value.
 16426  func (s *Location) SetLatitude(v float64) *Location {
 16427  	s.Latitude = &v
 16428  	return s
 16429  }
 16430  
 16431  // SetLongitude sets the Longitude field's value.
 16432  func (s *Location) SetLongitude(v float64) *Location {
 16433  	s.Longitude = &v
 16434  	return s
 16435  }
 16436  
 16437  // A number that represents the monetary amount for an offering or transaction.
 16438  type MonetaryAmount struct {
 16439  	_ struct{} `type:"structure"`
 16440  
 16441  	// The numerical amount of an offering or transaction.
 16442  	Amount *float64 `locationName:"amount" type:"double"`
 16443  
 16444  	// The currency code of a monetary amount. For example, USD means U.S. dollars.
 16445  	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCode"`
 16446  }
 16447  
 16448  // String returns the string representation.
 16449  //
 16450  // API parameter values that are decorated as "sensitive" in the API will not
 16451  // be included in the string output. The member name will be present, but the
 16452  // value will be replaced with "sensitive".
 16453  func (s MonetaryAmount) String() string {
 16454  	return awsutil.Prettify(s)
 16455  }
 16456  
 16457  // GoString returns the string representation.
 16458  //
 16459  // API parameter values that are decorated as "sensitive" in the API will not
 16460  // be included in the string output. The member name will be present, but the
 16461  // value will be replaced with "sensitive".
 16462  func (s MonetaryAmount) GoString() string {
 16463  	return s.String()
 16464  }
 16465  
 16466  // SetAmount sets the Amount field's value.
 16467  func (s *MonetaryAmount) SetAmount(v float64) *MonetaryAmount {
 16468  	s.Amount = &v
 16469  	return s
 16470  }
 16471  
 16472  // SetCurrencyCode sets the CurrencyCode field's value.
 16473  func (s *MonetaryAmount) SetCurrencyCode(v string) *MonetaryAmount {
 16474  	s.CurrencyCode = &v
 16475  	return s
 16476  }
 16477  
 16478  // An array of settings that describes characteristics of a network profile.
 16479  type NetworkProfile struct {
 16480  	_ struct{} `type:"structure"`
 16481  
 16482  	// The Amazon Resource Name (ARN) of the network profile.
 16483  	Arn *string `locationName:"arn" min:"32" type:"string"`
 16484  
 16485  	// The description of the network profile.
 16486  	Description *string `locationName:"description" type:"string"`
 16487  
 16488  	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
 16489  	DownlinkBandwidthBits *int64 `locationName:"downlinkBandwidthBits" type:"long"`
 16490  
 16491  	// Delay time for all packets to destination in milliseconds as an integer from
 16492  	// 0 to 2000.
 16493  	DownlinkDelayMs *int64 `locationName:"downlinkDelayMs" type:"long"`
 16494  
 16495  	// Time variation in the delay of received packets in milliseconds as an integer
 16496  	// from 0 to 2000.
 16497  	DownlinkJitterMs *int64 `locationName:"downlinkJitterMs" type:"long"`
 16498  
 16499  	// Proportion of received packets that fail to arrive from 0 to 100 percent.
 16500  	DownlinkLossPercent *int64 `locationName:"downlinkLossPercent" type:"integer"`
 16501  
 16502  	// The name of the network profile.
 16503  	Name *string `locationName:"name" type:"string"`
 16504  
 16505  	// The type of network profile. Valid values are listed here.
 16506  	Type *string `locationName:"type" type:"string" enum:"NetworkProfileType"`
 16507  
 16508  	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
 16509  	UplinkBandwidthBits *int64 `locationName:"uplinkBandwidthBits" type:"long"`
 16510  
 16511  	// Delay time for all packets to destination in milliseconds as an integer from
 16512  	// 0 to 2000.
 16513  	UplinkDelayMs *int64 `locationName:"uplinkDelayMs" type:"long"`
 16514  
 16515  	// Time variation in the delay of received packets in milliseconds as an integer
 16516  	// from 0 to 2000.
 16517  	UplinkJitterMs *int64 `locationName:"uplinkJitterMs" type:"long"`
 16518  
 16519  	// Proportion of transmitted packets that fail to arrive from 0 to 100 percent.
 16520  	UplinkLossPercent *int64 `locationName:"uplinkLossPercent" type:"integer"`
 16521  }
 16522  
 16523  // String returns the string representation.
 16524  //
 16525  // API parameter values that are decorated as "sensitive" in the API will not
 16526  // be included in the string output. The member name will be present, but the
 16527  // value will be replaced with "sensitive".
 16528  func (s NetworkProfile) String() string {
 16529  	return awsutil.Prettify(s)
 16530  }
 16531  
 16532  // GoString returns the string representation.
 16533  //
 16534  // API parameter values that are decorated as "sensitive" in the API will not
 16535  // be included in the string output. The member name will be present, but the
 16536  // value will be replaced with "sensitive".
 16537  func (s NetworkProfile) GoString() string {
 16538  	return s.String()
 16539  }
 16540  
 16541  // SetArn sets the Arn field's value.
 16542  func (s *NetworkProfile) SetArn(v string) *NetworkProfile {
 16543  	s.Arn = &v
 16544  	return s
 16545  }
 16546  
 16547  // SetDescription sets the Description field's value.
 16548  func (s *NetworkProfile) SetDescription(v string) *NetworkProfile {
 16549  	s.Description = &v
 16550  	return s
 16551  }
 16552  
 16553  // SetDownlinkBandwidthBits sets the DownlinkBandwidthBits field's value.
 16554  func (s *NetworkProfile) SetDownlinkBandwidthBits(v int64) *NetworkProfile {
 16555  	s.DownlinkBandwidthBits = &v
 16556  	return s
 16557  }
 16558  
 16559  // SetDownlinkDelayMs sets the DownlinkDelayMs field's value.
 16560  func (s *NetworkProfile) SetDownlinkDelayMs(v int64) *NetworkProfile {
 16561  	s.DownlinkDelayMs = &v
 16562  	return s
 16563  }
 16564  
 16565  // SetDownlinkJitterMs sets the DownlinkJitterMs field's value.
 16566  func (s *NetworkProfile) SetDownlinkJitterMs(v int64) *NetworkProfile {
 16567  	s.DownlinkJitterMs = &v
 16568  	return s
 16569  }
 16570  
 16571  // SetDownlinkLossPercent sets the DownlinkLossPercent field's value.
 16572  func (s *NetworkProfile) SetDownlinkLossPercent(v int64) *NetworkProfile {
 16573  	s.DownlinkLossPercent = &v
 16574  	return s
 16575  }
 16576  
 16577  // SetName sets the Name field's value.
 16578  func (s *NetworkProfile) SetName(v string) *NetworkProfile {
 16579  	s.Name = &v
 16580  	return s
 16581  }
 16582  
 16583  // SetType sets the Type field's value.
 16584  func (s *NetworkProfile) SetType(v string) *NetworkProfile {
 16585  	s.Type = &v
 16586  	return s
 16587  }
 16588  
 16589  // SetUplinkBandwidthBits sets the UplinkBandwidthBits field's value.
 16590  func (s *NetworkProfile) SetUplinkBandwidthBits(v int64) *NetworkProfile {
 16591  	s.UplinkBandwidthBits = &v
 16592  	return s
 16593  }
 16594  
 16595  // SetUplinkDelayMs sets the UplinkDelayMs field's value.
 16596  func (s *NetworkProfile) SetUplinkDelayMs(v int64) *NetworkProfile {
 16597  	s.UplinkDelayMs = &v
 16598  	return s
 16599  }
 16600  
 16601  // SetUplinkJitterMs sets the UplinkJitterMs field's value.
 16602  func (s *NetworkProfile) SetUplinkJitterMs(v int64) *NetworkProfile {
 16603  	s.UplinkJitterMs = &v
 16604  	return s
 16605  }
 16606  
 16607  // SetUplinkLossPercent sets the UplinkLossPercent field's value.
 16608  func (s *NetworkProfile) SetUplinkLossPercent(v int64) *NetworkProfile {
 16609  	s.UplinkLossPercent = &v
 16610  	return s
 16611  }
 16612  
 16613  // Exception gets thrown when a user is not eligible to perform the specified
 16614  // transaction.
 16615  type NotEligibleException struct {
 16616  	_            struct{}                  `type:"structure"`
 16617  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16618  
 16619  	// The HTTP response code of a Not Eligible exception.
 16620  	Message_ *string `locationName:"message" type:"string"`
 16621  }
 16622  
 16623  // String returns the string representation.
 16624  //
 16625  // API parameter values that are decorated as "sensitive" in the API will not
 16626  // be included in the string output. The member name will be present, but the
 16627  // value will be replaced with "sensitive".
 16628  func (s NotEligibleException) String() string {
 16629  	return awsutil.Prettify(s)
 16630  }
 16631  
 16632  // GoString returns the string representation.
 16633  //
 16634  // API parameter values that are decorated as "sensitive" in the API will not
 16635  // be included in the string output. The member name will be present, but the
 16636  // value will be replaced with "sensitive".
 16637  func (s NotEligibleException) GoString() string {
 16638  	return s.String()
 16639  }
 16640  
 16641  func newErrorNotEligibleException(v protocol.ResponseMetadata) error {
 16642  	return &NotEligibleException{
 16643  		RespMetadata: v,
 16644  	}
 16645  }
 16646  
 16647  // Code returns the exception type name.
 16648  func (s *NotEligibleException) Code() string {
 16649  	return "NotEligibleException"
 16650  }
 16651  
 16652  // Message returns the exception's message.
 16653  func (s *NotEligibleException) Message() string {
 16654  	if s.Message_ != nil {
 16655  		return *s.Message_
 16656  	}
 16657  	return ""
 16658  }
 16659  
 16660  // OrigErr always returns nil, satisfies awserr.Error interface.
 16661  func (s *NotEligibleException) OrigErr() error {
 16662  	return nil
 16663  }
 16664  
 16665  func (s *NotEligibleException) Error() string {
 16666  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 16667  }
 16668  
 16669  // Status code returns the HTTP status code for the request's response error.
 16670  func (s *NotEligibleException) StatusCode() int {
 16671  	return s.RespMetadata.StatusCode
 16672  }
 16673  
 16674  // RequestID returns the service's response RequestID for request.
 16675  func (s *NotEligibleException) RequestID() string {
 16676  	return s.RespMetadata.RequestID
 16677  }
 16678  
 16679  // The specified entity was not found.
 16680  type NotFoundException struct {
 16681  	_            struct{}                  `type:"structure"`
 16682  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16683  
 16684  	// Any additional information about the exception.
 16685  	Message_ *string `locationName:"message" type:"string"`
 16686  }
 16687  
 16688  // String returns the string representation.
 16689  //
 16690  // API parameter values that are decorated as "sensitive" in the API will not
 16691  // be included in the string output. The member name will be present, but the
 16692  // value will be replaced with "sensitive".
 16693  func (s NotFoundException) String() string {
 16694  	return awsutil.Prettify(s)
 16695  }
 16696  
 16697  // GoString returns the string representation.
 16698  //
 16699  // API parameter values that are decorated as "sensitive" in the API will not
 16700  // be included in the string output. The member name will be present, but the
 16701  // value will be replaced with "sensitive".
 16702  func (s NotFoundException) GoString() string {
 16703  	return s.String()
 16704  }
 16705  
 16706  func newErrorNotFoundException(v protocol.ResponseMetadata) error {
 16707  	return &NotFoundException{
 16708  		RespMetadata: v,
 16709  	}
 16710  }
 16711  
 16712  // Code returns the exception type name.
 16713  func (s *NotFoundException) Code() string {
 16714  	return "NotFoundException"
 16715  }
 16716  
 16717  // Message returns the exception's message.
 16718  func (s *NotFoundException) Message() string {
 16719  	if s.Message_ != nil {
 16720  		return *s.Message_
 16721  	}
 16722  	return ""
 16723  }
 16724  
 16725  // OrigErr always returns nil, satisfies awserr.Error interface.
 16726  func (s *NotFoundException) OrigErr() error {
 16727  	return nil
 16728  }
 16729  
 16730  func (s *NotFoundException) Error() string {
 16731  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 16732  }
 16733  
 16734  // Status code returns the HTTP status code for the request's response error.
 16735  func (s *NotFoundException) StatusCode() int {
 16736  	return s.RespMetadata.StatusCode
 16737  }
 16738  
 16739  // RequestID returns the service's response RequestID for request.
 16740  func (s *NotFoundException) RequestID() string {
 16741  	return s.RespMetadata.RequestID
 16742  }
 16743  
 16744  // Represents the metadata of a device offering.
 16745  type Offering struct {
 16746  	_ struct{} `type:"structure"`
 16747  
 16748  	// A string that describes the offering.
 16749  	Description *string `locationName:"description" type:"string"`
 16750  
 16751  	// The ID that corresponds to a device offering.
 16752  	Id *string `locationName:"id" min:"32" type:"string"`
 16753  
 16754  	// The platform of the device (for example, ANDROID or IOS).
 16755  	Platform *string `locationName:"platform" type:"string" enum:"DevicePlatform"`
 16756  
 16757  	// Specifies whether there are recurring charges for the offering.
 16758  	RecurringCharges []*RecurringCharge `locationName:"recurringCharges" type:"list"`
 16759  
 16760  	// The type of offering (for example, RECURRING) for a device.
 16761  	Type *string `locationName:"type" type:"string" enum:"OfferingType"`
 16762  }
 16763  
 16764  // String returns the string representation.
 16765  //
 16766  // API parameter values that are decorated as "sensitive" in the API will not
 16767  // be included in the string output. The member name will be present, but the
 16768  // value will be replaced with "sensitive".
 16769  func (s Offering) String() string {
 16770  	return awsutil.Prettify(s)
 16771  }
 16772  
 16773  // GoString returns the string representation.
 16774  //
 16775  // API parameter values that are decorated as "sensitive" in the API will not
 16776  // be included in the string output. The member name will be present, but the
 16777  // value will be replaced with "sensitive".
 16778  func (s Offering) GoString() string {
 16779  	return s.String()
 16780  }
 16781  
 16782  // SetDescription sets the Description field's value.
 16783  func (s *Offering) SetDescription(v string) *Offering {
 16784  	s.Description = &v
 16785  	return s
 16786  }
 16787  
 16788  // SetId sets the Id field's value.
 16789  func (s *Offering) SetId(v string) *Offering {
 16790  	s.Id = &v
 16791  	return s
 16792  }
 16793  
 16794  // SetPlatform sets the Platform field's value.
 16795  func (s *Offering) SetPlatform(v string) *Offering {
 16796  	s.Platform = &v
 16797  	return s
 16798  }
 16799  
 16800  // SetRecurringCharges sets the RecurringCharges field's value.
 16801  func (s *Offering) SetRecurringCharges(v []*RecurringCharge) *Offering {
 16802  	s.RecurringCharges = v
 16803  	return s
 16804  }
 16805  
 16806  // SetType sets the Type field's value.
 16807  func (s *Offering) SetType(v string) *Offering {
 16808  	s.Type = &v
 16809  	return s
 16810  }
 16811  
 16812  // Represents information about an offering promotion.
 16813  type OfferingPromotion struct {
 16814  	_ struct{} `type:"structure"`
 16815  
 16816  	// A string that describes the offering promotion.
 16817  	Description *string `locationName:"description" type:"string"`
 16818  
 16819  	// The ID of the offering promotion.
 16820  	Id *string `locationName:"id" min:"4" type:"string"`
 16821  }
 16822  
 16823  // String returns the string representation.
 16824  //
 16825  // API parameter values that are decorated as "sensitive" in the API will not
 16826  // be included in the string output. The member name will be present, but the
 16827  // value will be replaced with "sensitive".
 16828  func (s OfferingPromotion) String() string {
 16829  	return awsutil.Prettify(s)
 16830  }
 16831  
 16832  // GoString returns the string representation.
 16833  //
 16834  // API parameter values that are decorated as "sensitive" in the API will not
 16835  // be included in the string output. The member name will be present, but the
 16836  // value will be replaced with "sensitive".
 16837  func (s OfferingPromotion) GoString() string {
 16838  	return s.String()
 16839  }
 16840  
 16841  // SetDescription sets the Description field's value.
 16842  func (s *OfferingPromotion) SetDescription(v string) *OfferingPromotion {
 16843  	s.Description = &v
 16844  	return s
 16845  }
 16846  
 16847  // SetId sets the Id field's value.
 16848  func (s *OfferingPromotion) SetId(v string) *OfferingPromotion {
 16849  	s.Id = &v
 16850  	return s
 16851  }
 16852  
 16853  // The status of the offering.
 16854  type OfferingStatus struct {
 16855  	_ struct{} `type:"structure"`
 16856  
 16857  	// The date on which the offering is effective.
 16858  	EffectiveOn *time.Time `locationName:"effectiveOn" type:"timestamp"`
 16859  
 16860  	// Represents the metadata of an offering status.
 16861  	Offering *Offering `locationName:"offering" type:"structure"`
 16862  
 16863  	// The number of available devices in the offering.
 16864  	Quantity *int64 `locationName:"quantity" type:"integer"`
 16865  
 16866  	// The type specified for the offering status.
 16867  	Type *string `locationName:"type" type:"string" enum:"OfferingTransactionType"`
 16868  }
 16869  
 16870  // String returns the string representation.
 16871  //
 16872  // API parameter values that are decorated as "sensitive" in the API will not
 16873  // be included in the string output. The member name will be present, but the
 16874  // value will be replaced with "sensitive".
 16875  func (s OfferingStatus) String() string {
 16876  	return awsutil.Prettify(s)
 16877  }
 16878  
 16879  // GoString returns the string representation.
 16880  //
 16881  // API parameter values that are decorated as "sensitive" in the API will not
 16882  // be included in the string output. The member name will be present, but the
 16883  // value will be replaced with "sensitive".
 16884  func (s OfferingStatus) GoString() string {
 16885  	return s.String()
 16886  }
 16887  
 16888  // SetEffectiveOn sets the EffectiveOn field's value.
 16889  func (s *OfferingStatus) SetEffectiveOn(v time.Time) *OfferingStatus {
 16890  	s.EffectiveOn = &v
 16891  	return s
 16892  }
 16893  
 16894  // SetOffering sets the Offering field's value.
 16895  func (s *OfferingStatus) SetOffering(v *Offering) *OfferingStatus {
 16896  	s.Offering = v
 16897  	return s
 16898  }
 16899  
 16900  // SetQuantity sets the Quantity field's value.
 16901  func (s *OfferingStatus) SetQuantity(v int64) *OfferingStatus {
 16902  	s.Quantity = &v
 16903  	return s
 16904  }
 16905  
 16906  // SetType sets the Type field's value.
 16907  func (s *OfferingStatus) SetType(v string) *OfferingStatus {
 16908  	s.Type = &v
 16909  	return s
 16910  }
 16911  
 16912  // Represents the metadata of an offering transaction.
 16913  type OfferingTransaction struct {
 16914  	_ struct{} `type:"structure"`
 16915  
 16916  	// The cost of an offering transaction.
 16917  	Cost *MonetaryAmount `locationName:"cost" type:"structure"`
 16918  
 16919  	// The date on which an offering transaction was created.
 16920  	CreatedOn *time.Time `locationName:"createdOn" type:"timestamp"`
 16921  
 16922  	// The ID that corresponds to a device offering promotion.
 16923  	OfferingPromotionId *string `locationName:"offeringPromotionId" min:"4" type:"string"`
 16924  
 16925  	// The status of an offering transaction.
 16926  	OfferingStatus *OfferingStatus `locationName:"offeringStatus" type:"structure"`
 16927  
 16928  	// The transaction ID of the offering transaction.
 16929  	TransactionId *string `locationName:"transactionId" min:"32" type:"string"`
 16930  }
 16931  
 16932  // String returns the string representation.
 16933  //
 16934  // API parameter values that are decorated as "sensitive" in the API will not
 16935  // be included in the string output. The member name will be present, but the
 16936  // value will be replaced with "sensitive".
 16937  func (s OfferingTransaction) String() string {
 16938  	return awsutil.Prettify(s)
 16939  }
 16940  
 16941  // GoString returns the string representation.
 16942  //
 16943  // API parameter values that are decorated as "sensitive" in the API will not
 16944  // be included in the string output. The member name will be present, but the
 16945  // value will be replaced with "sensitive".
 16946  func (s OfferingTransaction) GoString() string {
 16947  	return s.String()
 16948  }
 16949  
 16950  // SetCost sets the Cost field's value.
 16951  func (s *OfferingTransaction) SetCost(v *MonetaryAmount) *OfferingTransaction {
 16952  	s.Cost = v
 16953  	return s
 16954  }
 16955  
 16956  // SetCreatedOn sets the CreatedOn field's value.
 16957  func (s *OfferingTransaction) SetCreatedOn(v time.Time) *OfferingTransaction {
 16958  	s.CreatedOn = &v
 16959  	return s
 16960  }
 16961  
 16962  // SetOfferingPromotionId sets the OfferingPromotionId field's value.
 16963  func (s *OfferingTransaction) SetOfferingPromotionId(v string) *OfferingTransaction {
 16964  	s.OfferingPromotionId = &v
 16965  	return s
 16966  }
 16967  
 16968  // SetOfferingStatus sets the OfferingStatus field's value.
 16969  func (s *OfferingTransaction) SetOfferingStatus(v *OfferingStatus) *OfferingTransaction {
 16970  	s.OfferingStatus = v
 16971  	return s
 16972  }
 16973  
 16974  // SetTransactionId sets the TransactionId field's value.
 16975  func (s *OfferingTransaction) SetTransactionId(v string) *OfferingTransaction {
 16976  	s.TransactionId = &v
 16977  	return s
 16978  }
 16979  
 16980  // Represents a specific warning or failure.
 16981  type Problem struct {
 16982  	_ struct{} `type:"structure"`
 16983  
 16984  	// Information about the associated device.
 16985  	Device *Device `locationName:"device" type:"structure"`
 16986  
 16987  	// Information about the associated job.
 16988  	Job *ProblemDetail `locationName:"job" type:"structure"`
 16989  
 16990  	// A message about the problem's result.
 16991  	Message *string `locationName:"message" type:"string"`
 16992  
 16993  	// The problem's result.
 16994  	//
 16995  	// Allowed values include:
 16996  	//
 16997  	//    * PENDING
 16998  	//
 16999  	//    * PASSED
 17000  	//
 17001  	//    * WARNED
 17002  	//
 17003  	//    * FAILED
 17004  	//
 17005  	//    * SKIPPED
 17006  	//
 17007  	//    * ERRORED
 17008  	//
 17009  	//    * STOPPED
 17010  	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
 17011  
 17012  	// Information about the associated run.
 17013  	Run *ProblemDetail `locationName:"run" type:"structure"`
 17014  
 17015  	// Information about the associated suite.
 17016  	Suite *ProblemDetail `locationName:"suite" type:"structure"`
 17017  
 17018  	// Information about the associated test.
 17019  	Test *ProblemDetail `locationName:"test" type:"structure"`
 17020  }
 17021  
 17022  // String returns the string representation.
 17023  //
 17024  // API parameter values that are decorated as "sensitive" in the API will not
 17025  // be included in the string output. The member name will be present, but the
 17026  // value will be replaced with "sensitive".
 17027  func (s Problem) String() string {
 17028  	return awsutil.Prettify(s)
 17029  }
 17030  
 17031  // GoString returns the string representation.
 17032  //
 17033  // API parameter values that are decorated as "sensitive" in the API will not
 17034  // be included in the string output. The member name will be present, but the
 17035  // value will be replaced with "sensitive".
 17036  func (s Problem) GoString() string {
 17037  	return s.String()
 17038  }
 17039  
 17040  // SetDevice sets the Device field's value.
 17041  func (s *Problem) SetDevice(v *Device) *Problem {
 17042  	s.Device = v
 17043  	return s
 17044  }
 17045  
 17046  // SetJob sets the Job field's value.
 17047  func (s *Problem) SetJob(v *ProblemDetail) *Problem {
 17048  	s.Job = v
 17049  	return s
 17050  }
 17051  
 17052  // SetMessage sets the Message field's value.
 17053  func (s *Problem) SetMessage(v string) *Problem {
 17054  	s.Message = &v
 17055  	return s
 17056  }
 17057  
 17058  // SetResult sets the Result field's value.
 17059  func (s *Problem) SetResult(v string) *Problem {
 17060  	s.Result = &v
 17061  	return s
 17062  }
 17063  
 17064  // SetRun sets the Run field's value.
 17065  func (s *Problem) SetRun(v *ProblemDetail) *Problem {
 17066  	s.Run = v
 17067  	return s
 17068  }
 17069  
 17070  // SetSuite sets the Suite field's value.
 17071  func (s *Problem) SetSuite(v *ProblemDetail) *Problem {
 17072  	s.Suite = v
 17073  	return s
 17074  }
 17075  
 17076  // SetTest sets the Test field's value.
 17077  func (s *Problem) SetTest(v *ProblemDetail) *Problem {
 17078  	s.Test = v
 17079  	return s
 17080  }
 17081  
 17082  // Information about a problem detail.
 17083  type ProblemDetail struct {
 17084  	_ struct{} `type:"structure"`
 17085  
 17086  	// The problem detail's ARN.
 17087  	Arn *string `locationName:"arn" min:"32" type:"string"`
 17088  
 17089  	// The problem detail's name.
 17090  	Name *string `locationName:"name" type:"string"`
 17091  }
 17092  
 17093  // String returns the string representation.
 17094  //
 17095  // API parameter values that are decorated as "sensitive" in the API will not
 17096  // be included in the string output. The member name will be present, but the
 17097  // value will be replaced with "sensitive".
 17098  func (s ProblemDetail) String() string {
 17099  	return awsutil.Prettify(s)
 17100  }
 17101  
 17102  // GoString returns the string representation.
 17103  //
 17104  // API parameter values that are decorated as "sensitive" in the API will not
 17105  // be included in the string output. The member name will be present, but the
 17106  // value will be replaced with "sensitive".
 17107  func (s ProblemDetail) GoString() string {
 17108  	return s.String()
 17109  }
 17110  
 17111  // SetArn sets the Arn field's value.
 17112  func (s *ProblemDetail) SetArn(v string) *ProblemDetail {
 17113  	s.Arn = &v
 17114  	return s
 17115  }
 17116  
 17117  // SetName sets the Name field's value.
 17118  func (s *ProblemDetail) SetName(v string) *ProblemDetail {
 17119  	s.Name = &v
 17120  	return s
 17121  }
 17122  
 17123  // Represents an operating-system neutral workspace for running and managing
 17124  // tests.
 17125  type Project struct {
 17126  	_ struct{} `type:"structure"`
 17127  
 17128  	// The project's ARN.
 17129  	Arn *string `locationName:"arn" min:"32" type:"string"`
 17130  
 17131  	// When the project was created.
 17132  	Created *time.Time `locationName:"created" type:"timestamp"`
 17133  
 17134  	// The default number of minutes (at the project level) a test run executes
 17135  	// before it times out. The default value is 150 minutes.
 17136  	DefaultJobTimeoutMinutes *int64 `locationName:"defaultJobTimeoutMinutes" type:"integer"`
 17137  
 17138  	// The project's name.
 17139  	Name *string `locationName:"name" type:"string"`
 17140  }
 17141  
 17142  // String returns the string representation.
 17143  //
 17144  // API parameter values that are decorated as "sensitive" in the API will not
 17145  // be included in the string output. The member name will be present, but the
 17146  // value will be replaced with "sensitive".
 17147  func (s Project) String() string {
 17148  	return awsutil.Prettify(s)
 17149  }
 17150  
 17151  // GoString returns the string representation.
 17152  //
 17153  // API parameter values that are decorated as "sensitive" in the API will not
 17154  // be included in the string output. The member name will be present, but the
 17155  // value will be replaced with "sensitive".
 17156  func (s Project) GoString() string {
 17157  	return s.String()
 17158  }
 17159  
 17160  // SetArn sets the Arn field's value.
 17161  func (s *Project) SetArn(v string) *Project {
 17162  	s.Arn = &v
 17163  	return s
 17164  }
 17165  
 17166  // SetCreated sets the Created field's value.
 17167  func (s *Project) SetCreated(v time.Time) *Project {
 17168  	s.Created = &v
 17169  	return s
 17170  }
 17171  
 17172  // SetDefaultJobTimeoutMinutes sets the DefaultJobTimeoutMinutes field's value.
 17173  func (s *Project) SetDefaultJobTimeoutMinutes(v int64) *Project {
 17174  	s.DefaultJobTimeoutMinutes = &v
 17175  	return s
 17176  }
 17177  
 17178  // SetName sets the Name field's value.
 17179  func (s *Project) SetName(v string) *Project {
 17180  	s.Name = &v
 17181  	return s
 17182  }
 17183  
 17184  // Represents a request for a purchase offering.
 17185  type PurchaseOfferingInput struct {
 17186  	_ struct{} `type:"structure"`
 17187  
 17188  	// The ID of the offering.
 17189  	//
 17190  	// OfferingId is a required field
 17191  	OfferingId *string `locationName:"offeringId" min:"32" type:"string" required:"true"`
 17192  
 17193  	// The ID of the offering promotion to be applied to the purchase.
 17194  	OfferingPromotionId *string `locationName:"offeringPromotionId" min:"4" type:"string"`
 17195  
 17196  	// The number of device slots to purchase in an offering request.
 17197  	//
 17198  	// Quantity is a required field
 17199  	Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
 17200  }
 17201  
 17202  // String returns the string representation.
 17203  //
 17204  // API parameter values that are decorated as "sensitive" in the API will not
 17205  // be included in the string output. The member name will be present, but the
 17206  // value will be replaced with "sensitive".
 17207  func (s PurchaseOfferingInput) String() string {
 17208  	return awsutil.Prettify(s)
 17209  }
 17210  
 17211  // GoString returns the string representation.
 17212  //
 17213  // API parameter values that are decorated as "sensitive" in the API will not
 17214  // be included in the string output. The member name will be present, but the
 17215  // value will be replaced with "sensitive".
 17216  func (s PurchaseOfferingInput) GoString() string {
 17217  	return s.String()
 17218  }
 17219  
 17220  // Validate inspects the fields of the type to determine if they are valid.
 17221  func (s *PurchaseOfferingInput) Validate() error {
 17222  	invalidParams := request.ErrInvalidParams{Context: "PurchaseOfferingInput"}
 17223  	if s.OfferingId == nil {
 17224  		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
 17225  	}
 17226  	if s.OfferingId != nil && len(*s.OfferingId) < 32 {
 17227  		invalidParams.Add(request.NewErrParamMinLen("OfferingId", 32))
 17228  	}
 17229  	if s.OfferingPromotionId != nil && len(*s.OfferingPromotionId) < 4 {
 17230  		invalidParams.Add(request.NewErrParamMinLen("OfferingPromotionId", 4))
 17231  	}
 17232  	if s.Quantity == nil {
 17233  		invalidParams.Add(request.NewErrParamRequired("Quantity"))
 17234  	}
 17235  
 17236  	if invalidParams.Len() > 0 {
 17237  		return invalidParams
 17238  	}
 17239  	return nil
 17240  }
 17241  
 17242  // SetOfferingId sets the OfferingId field's value.
 17243  func (s *PurchaseOfferingInput) SetOfferingId(v string) *PurchaseOfferingInput {
 17244  	s.OfferingId = &v
 17245  	return s
 17246  }
 17247  
 17248  // SetOfferingPromotionId sets the OfferingPromotionId field's value.
 17249  func (s *PurchaseOfferingInput) SetOfferingPromotionId(v string) *PurchaseOfferingInput {
 17250  	s.OfferingPromotionId = &v
 17251  	return s
 17252  }
 17253  
 17254  // SetQuantity sets the Quantity field's value.
 17255  func (s *PurchaseOfferingInput) SetQuantity(v int64) *PurchaseOfferingInput {
 17256  	s.Quantity = &v
 17257  	return s
 17258  }
 17259  
 17260  // The result of the purchase offering (for example, success or failure).
 17261  type PurchaseOfferingOutput struct {
 17262  	_ struct{} `type:"structure"`
 17263  
 17264  	// Represents the offering transaction for the purchase result.
 17265  	OfferingTransaction *OfferingTransaction `locationName:"offeringTransaction" type:"structure"`
 17266  }
 17267  
 17268  // String returns the string representation.
 17269  //
 17270  // API parameter values that are decorated as "sensitive" in the API will not
 17271  // be included in the string output. The member name will be present, but the
 17272  // value will be replaced with "sensitive".
 17273  func (s PurchaseOfferingOutput) String() string {
 17274  	return awsutil.Prettify(s)
 17275  }
 17276  
 17277  // GoString returns the string representation.
 17278  //
 17279  // API parameter values that are decorated as "sensitive" in the API will not
 17280  // be included in the string output. The member name will be present, but the
 17281  // value will be replaced with "sensitive".
 17282  func (s PurchaseOfferingOutput) GoString() string {
 17283  	return s.String()
 17284  }
 17285  
 17286  // SetOfferingTransaction sets the OfferingTransaction field's value.
 17287  func (s *PurchaseOfferingOutput) SetOfferingTransaction(v *OfferingTransaction) *PurchaseOfferingOutput {
 17288  	s.OfferingTransaction = v
 17289  	return s
 17290  }
 17291  
 17292  // Represents the set of radios and their states on a device. Examples of radios
 17293  // include Wi-Fi, GPS, Bluetooth, and NFC.
 17294  type Radios struct {
 17295  	_ struct{} `type:"structure"`
 17296  
 17297  	// True if Bluetooth is enabled at the beginning of the test. Otherwise, false.
 17298  	Bluetooth *bool `locationName:"bluetooth" type:"boolean"`
 17299  
 17300  	// True if GPS is enabled at the beginning of the test. Otherwise, false.
 17301  	Gps *bool `locationName:"gps" type:"boolean"`
 17302  
 17303  	// True if NFC is enabled at the beginning of the test. Otherwise, false.
 17304  	Nfc *bool `locationName:"nfc" type:"boolean"`
 17305  
 17306  	// True if Wi-Fi is enabled at the beginning of the test. Otherwise, false.
 17307  	Wifi *bool `locationName:"wifi" type:"boolean"`
 17308  }
 17309  
 17310  // String returns the string representation.
 17311  //
 17312  // API parameter values that are decorated as "sensitive" in the API will not
 17313  // be included in the string output. The member name will be present, but the
 17314  // value will be replaced with "sensitive".
 17315  func (s Radios) String() string {
 17316  	return awsutil.Prettify(s)
 17317  }
 17318  
 17319  // GoString returns the string representation.
 17320  //
 17321  // API parameter values that are decorated as "sensitive" in the API will not
 17322  // be included in the string output. The member name will be present, but the
 17323  // value will be replaced with "sensitive".
 17324  func (s Radios) GoString() string {
 17325  	return s.String()
 17326  }
 17327  
 17328  // SetBluetooth sets the Bluetooth field's value.
 17329  func (s *Radios) SetBluetooth(v bool) *Radios {
 17330  	s.Bluetooth = &v
 17331  	return s
 17332  }
 17333  
 17334  // SetGps sets the Gps field's value.
 17335  func (s *Radios) SetGps(v bool) *Radios {
 17336  	s.Gps = &v
 17337  	return s
 17338  }
 17339  
 17340  // SetNfc sets the Nfc field's value.
 17341  func (s *Radios) SetNfc(v bool) *Radios {
 17342  	s.Nfc = &v
 17343  	return s
 17344  }
 17345  
 17346  // SetWifi sets the Wifi field's value.
 17347  func (s *Radios) SetWifi(v bool) *Radios {
 17348  	s.Wifi = &v
 17349  	return s
 17350  }
 17351  
 17352  // Specifies whether charges for devices are recurring.
 17353  type RecurringCharge struct {
 17354  	_ struct{} `type:"structure"`
 17355  
 17356  	// The cost of the recurring charge.
 17357  	Cost *MonetaryAmount `locationName:"cost" type:"structure"`
 17358  
 17359  	// The frequency in which charges recur.
 17360  	Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
 17361  }
 17362  
 17363  // String returns the string representation.
 17364  //
 17365  // API parameter values that are decorated as "sensitive" in the API will not
 17366  // be included in the string output. The member name will be present, but the
 17367  // value will be replaced with "sensitive".
 17368  func (s RecurringCharge) String() string {
 17369  	return awsutil.Prettify(s)
 17370  }
 17371  
 17372  // GoString returns the string representation.
 17373  //
 17374  // API parameter values that are decorated as "sensitive" in the API will not
 17375  // be included in the string output. The member name will be present, but the
 17376  // value will be replaced with "sensitive".
 17377  func (s RecurringCharge) GoString() string {
 17378  	return s.String()
 17379  }
 17380  
 17381  // SetCost sets the Cost field's value.
 17382  func (s *RecurringCharge) SetCost(v *MonetaryAmount) *RecurringCharge {
 17383  	s.Cost = v
 17384  	return s
 17385  }
 17386  
 17387  // SetFrequency sets the Frequency field's value.
 17388  func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
 17389  	s.Frequency = &v
 17390  	return s
 17391  }
 17392  
 17393  // Represents information about the remote access session.
 17394  type RemoteAccessSession struct {
 17395  	_ struct{} `type:"structure"`
 17396  
 17397  	// The Amazon Resource Name (ARN) of the remote access session.
 17398  	Arn *string `locationName:"arn" min:"32" type:"string"`
 17399  
 17400  	// The billing method of the remote access session. Possible values include
 17401  	// METERED or UNMETERED. For more information about metered devices, see AWS
 17402  	// Device Farm terminology (https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html#welcome-terminology).
 17403  	BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"`
 17404  
 17405  	// Unique identifier of your client for the remote access session. Only returned
 17406  	// if remote debugging is enabled for the remote access session.
 17407  	//
 17408  	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
 17409  	ClientId *string `locationName:"clientId" type:"string"`
 17410  
 17411  	// The date and time the remote access session was created.
 17412  	Created *time.Time `locationName:"created" type:"timestamp"`
 17413  
 17414  	// The device (phone or tablet) used in the remote access session.
 17415  	Device *Device `locationName:"device" type:"structure"`
 17416  
 17417  	// The number of minutes a device is used in a remote access session (including
 17418  	// setup and teardown minutes).
 17419  	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
 17420  
 17421  	// Unique device identifier for the remote device. Only returned if remote debugging
 17422  	// is enabled for the remote access session.
 17423  	//
 17424  	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
 17425  	DeviceUdid *string `locationName:"deviceUdid" type:"string"`
 17426  
 17427  	// The endpoint for the remote access sesssion.
 17428  	Endpoint *string `locationName:"endpoint" type:"string"`
 17429  
 17430  	// IP address of the EC2 host where you need to connect to remotely debug devices.
 17431  	// Only returned if remote debugging is enabled for the remote access session.
 17432  	//
 17433  	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
 17434  	HostAddress *string `locationName:"hostAddress" type:"string"`
 17435  
 17436  	// The ARN of the instance.
 17437  	InstanceArn *string `locationName:"instanceArn" min:"32" type:"string"`
 17438  
 17439  	// The interaction mode of the remote access session. Valid values are:
 17440  	//
 17441  	//    * INTERACTIVE: You can interact with the iOS device by viewing, touching,
 17442  	//    and rotating the screen. You cannot run XCUITest framework-based tests
 17443  	//    in this mode.
 17444  	//
 17445  	//    * NO_VIDEO: You are connected to the device, but cannot interact with
 17446  	//    it or view the screen. This mode has the fastest test execution speed.
 17447  	//    You can run XCUITest framework-based tests in this mode.
 17448  	//
 17449  	//    * VIDEO_ONLY: You can view the screen, but cannot touch or rotate it.
 17450  	//    You can run XCUITest framework-based tests and watch the screen in this
 17451  	//    mode.
 17452  	InteractionMode *string `locationName:"interactionMode" type:"string" enum:"InteractionMode"`
 17453  
 17454  	// A message about the remote access session.
 17455  	Message *string `locationName:"message" type:"string"`
 17456  
 17457  	// The name of the remote access session.
 17458  	Name *string `locationName:"name" type:"string"`
 17459  
 17460  	// This flag is set to true if remote debugging is enabled for the remote access
 17461  	// session.
 17462  	//
 17463  	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
 17464  	RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"`
 17465  
 17466  	// The ARN for the app to be recorded in the remote access session.
 17467  	RemoteRecordAppArn *string `locationName:"remoteRecordAppArn" min:"32" type:"string"`
 17468  
 17469  	// This flag is set to true if remote recording is enabled for the remote access
 17470  	// session.
 17471  	RemoteRecordEnabled *bool `locationName:"remoteRecordEnabled" type:"boolean"`
 17472  
 17473  	// The result of the remote access session. Can be any of the following:
 17474  	//
 17475  	//    * PENDING.
 17476  	//
 17477  	//    * PASSED.
 17478  	//
 17479  	//    * WARNED.
 17480  	//
 17481  	//    * FAILED.
 17482  	//
 17483  	//    * SKIPPED.
 17484  	//
 17485  	//    * ERRORED.
 17486  	//
 17487  	//    * STOPPED.
 17488  	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
 17489  
 17490  	// When set to true, for private devices, Device Farm does not sign your app
 17491  	// again. For public devices, Device Farm always signs your apps again.
 17492  	//
 17493  	// For more information about how Device Farm re-signs your apps, see Do you
 17494  	// modify my app? (https://aws.amazon.com/device-farm/faq/) in the AWS Device
 17495  	// Farm FAQs.
 17496  	SkipAppResign *bool `locationName:"skipAppResign" type:"boolean"`
 17497  
 17498  	// The date and time the remote access session was started.
 17499  	Started *time.Time `locationName:"started" type:"timestamp"`
 17500  
 17501  	// The status of the remote access session. Can be any of the following:
 17502  	//
 17503  	//    * PENDING.
 17504  	//
 17505  	//    * PENDING_CONCURRENCY.
 17506  	//
 17507  	//    * PENDING_DEVICE.
 17508  	//
 17509  	//    * PROCESSING.
 17510  	//
 17511  	//    * SCHEDULING.
 17512  	//
 17513  	//    * PREPARING.
 17514  	//
 17515  	//    * RUNNING.
 17516  	//
 17517  	//    * COMPLETED.
 17518  	//
 17519  	//    * STOPPING.
 17520  	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
 17521  
 17522  	// The date and time the remote access session was stopped.
 17523  	Stopped *time.Time `locationName:"stopped" type:"timestamp"`
 17524  }
 17525  
 17526  // String returns the string representation.
 17527  //
 17528  // API parameter values that are decorated as "sensitive" in the API will not
 17529  // be included in the string output. The member name will be present, but the
 17530  // value will be replaced with "sensitive".
 17531  func (s RemoteAccessSession) String() string {
 17532  	return awsutil.Prettify(s)
 17533  }
 17534  
 17535  // GoString returns the string representation.
 17536  //
 17537  // API parameter values that are decorated as "sensitive" in the API will not
 17538  // be included in the string output. The member name will be present, but the
 17539  // value will be replaced with "sensitive".
 17540  func (s RemoteAccessSession) GoString() string {
 17541  	return s.String()
 17542  }
 17543  
 17544  // SetArn sets the Arn field's value.
 17545  func (s *RemoteAccessSession) SetArn(v string) *RemoteAccessSession {
 17546  	s.Arn = &v
 17547  	return s
 17548  }
 17549  
 17550  // SetBillingMethod sets the BillingMethod field's value.
 17551  func (s *RemoteAccessSession) SetBillingMethod(v string) *RemoteAccessSession {
 17552  	s.BillingMethod = &v
 17553  	return s
 17554  }
 17555  
 17556  // SetClientId sets the ClientId field's value.
 17557  func (s *RemoteAccessSession) SetClientId(v string) *RemoteAccessSession {
 17558  	s.ClientId = &v
 17559  	return s
 17560  }
 17561  
 17562  // SetCreated sets the Created field's value.
 17563  func (s *RemoteAccessSession) SetCreated(v time.Time) *RemoteAccessSession {
 17564  	s.Created = &v
 17565  	return s
 17566  }
 17567  
 17568  // SetDevice sets the Device field's value.
 17569  func (s *RemoteAccessSession) SetDevice(v *Device) *RemoteAccessSession {
 17570  	s.Device = v
 17571  	return s
 17572  }
 17573  
 17574  // SetDeviceMinutes sets the DeviceMinutes field's value.
 17575  func (s *RemoteAccessSession) SetDeviceMinutes(v *DeviceMinutes) *RemoteAccessSession {
 17576  	s.DeviceMinutes = v
 17577  	return s
 17578  }
 17579  
 17580  // SetDeviceUdid sets the DeviceUdid field's value.
 17581  func (s *RemoteAccessSession) SetDeviceUdid(v string) *RemoteAccessSession {
 17582  	s.DeviceUdid = &v
 17583  	return s
 17584  }
 17585  
 17586  // SetEndpoint sets the Endpoint field's value.
 17587  func (s *RemoteAccessSession) SetEndpoint(v string) *RemoteAccessSession {
 17588  	s.Endpoint = &v
 17589  	return s
 17590  }
 17591  
 17592  // SetHostAddress sets the HostAddress field's value.
 17593  func (s *RemoteAccessSession) SetHostAddress(v string) *RemoteAccessSession {
 17594  	s.HostAddress = &v
 17595  	return s
 17596  }
 17597  
 17598  // SetInstanceArn sets the InstanceArn field's value.
 17599  func (s *RemoteAccessSession) SetInstanceArn(v string) *RemoteAccessSession {
 17600  	s.InstanceArn = &v
 17601  	return s
 17602  }
 17603  
 17604  // SetInteractionMode sets the InteractionMode field's value.
 17605  func (s *RemoteAccessSession) SetInteractionMode(v string) *RemoteAccessSession {
 17606  	s.InteractionMode = &v
 17607  	return s
 17608  }
 17609  
 17610  // SetMessage sets the Message field's value.
 17611  func (s *RemoteAccessSession) SetMessage(v string) *RemoteAccessSession {
 17612  	s.Message = &v
 17613  	return s
 17614  }
 17615  
 17616  // SetName sets the Name field's value.
 17617  func (s *RemoteAccessSession) SetName(v string) *RemoteAccessSession {
 17618  	s.Name = &v
 17619  	return s
 17620  }
 17621  
 17622  // SetRemoteDebugEnabled sets the RemoteDebugEnabled field's value.
 17623  func (s *RemoteAccessSession) SetRemoteDebugEnabled(v bool) *RemoteAccessSession {
 17624  	s.RemoteDebugEnabled = &v
 17625  	return s
 17626  }
 17627  
 17628  // SetRemoteRecordAppArn sets the RemoteRecordAppArn field's value.
 17629  func (s *RemoteAccessSession) SetRemoteRecordAppArn(v string) *RemoteAccessSession {
 17630  	s.RemoteRecordAppArn = &v
 17631  	return s
 17632  }
 17633  
 17634  // SetRemoteRecordEnabled sets the RemoteRecordEnabled field's value.
 17635  func (s *RemoteAccessSession) SetRemoteRecordEnabled(v bool) *RemoteAccessSession {
 17636  	s.RemoteRecordEnabled = &v
 17637  	return s
 17638  }
 17639  
 17640  // SetResult sets the Result field's value.
 17641  func (s *RemoteAccessSession) SetResult(v string) *RemoteAccessSession {
 17642  	s.Result = &v
 17643  	return s
 17644  }
 17645  
 17646  // SetSkipAppResign sets the SkipAppResign field's value.
 17647  func (s *RemoteAccessSession) SetSkipAppResign(v bool) *RemoteAccessSession {
 17648  	s.SkipAppResign = &v
 17649  	return s
 17650  }
 17651  
 17652  // SetStarted sets the Started field's value.
 17653  func (s *RemoteAccessSession) SetStarted(v time.Time) *RemoteAccessSession {
 17654  	s.Started = &v
 17655  	return s
 17656  }
 17657  
 17658  // SetStatus sets the Status field's value.
 17659  func (s *RemoteAccessSession) SetStatus(v string) *RemoteAccessSession {
 17660  	s.Status = &v
 17661  	return s
 17662  }
 17663  
 17664  // SetStopped sets the Stopped field's value.
 17665  func (s *RemoteAccessSession) SetStopped(v time.Time) *RemoteAccessSession {
 17666  	s.Stopped = &v
 17667  	return s
 17668  }
 17669  
 17670  // A request that represents an offering renewal.
 17671  type RenewOfferingInput struct {
 17672  	_ struct{} `type:"structure"`
 17673  
 17674  	// The ID of a request to renew an offering.
 17675  	//
 17676  	// OfferingId is a required field
 17677  	OfferingId *string `locationName:"offeringId" min:"32" type:"string" required:"true"`
 17678  
 17679  	// The quantity requested in an offering renewal.
 17680  	//
 17681  	// Quantity is a required field
 17682  	Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
 17683  }
 17684  
 17685  // String returns the string representation.
 17686  //
 17687  // API parameter values that are decorated as "sensitive" in the API will not
 17688  // be included in the string output. The member name will be present, but the
 17689  // value will be replaced with "sensitive".
 17690  func (s RenewOfferingInput) String() string {
 17691  	return awsutil.Prettify(s)
 17692  }
 17693  
 17694  // GoString returns the string representation.
 17695  //
 17696  // API parameter values that are decorated as "sensitive" in the API will not
 17697  // be included in the string output. The member name will be present, but the
 17698  // value will be replaced with "sensitive".
 17699  func (s RenewOfferingInput) GoString() string {
 17700  	return s.String()
 17701  }
 17702  
 17703  // Validate inspects the fields of the type to determine if they are valid.
 17704  func (s *RenewOfferingInput) Validate() error {
 17705  	invalidParams := request.ErrInvalidParams{Context: "RenewOfferingInput"}
 17706  	if s.OfferingId == nil {
 17707  		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
 17708  	}
 17709  	if s.OfferingId != nil && len(*s.OfferingId) < 32 {
 17710  		invalidParams.Add(request.NewErrParamMinLen("OfferingId", 32))
 17711  	}
 17712  	if s.Quantity == nil {
 17713  		invalidParams.Add(request.NewErrParamRequired("Quantity"))
 17714  	}
 17715  
 17716  	if invalidParams.Len() > 0 {
 17717  		return invalidParams
 17718  	}
 17719  	return nil
 17720  }
 17721  
 17722  // SetOfferingId sets the OfferingId field's value.
 17723  func (s *RenewOfferingInput) SetOfferingId(v string) *RenewOfferingInput {
 17724  	s.OfferingId = &v
 17725  	return s
 17726  }
 17727  
 17728  // SetQuantity sets the Quantity field's value.
 17729  func (s *RenewOfferingInput) SetQuantity(v int64) *RenewOfferingInput {
 17730  	s.Quantity = &v
 17731  	return s
 17732  }
 17733  
 17734  // The result of a renewal offering.
 17735  type RenewOfferingOutput struct {
 17736  	_ struct{} `type:"structure"`
 17737  
 17738  	// Represents the status of the offering transaction for the renewal.
 17739  	OfferingTransaction *OfferingTransaction `locationName:"offeringTransaction" type:"structure"`
 17740  }
 17741  
 17742  // String returns the string representation.
 17743  //
 17744  // API parameter values that are decorated as "sensitive" in the API will not
 17745  // be included in the string output. The member name will be present, but the
 17746  // value will be replaced with "sensitive".
 17747  func (s RenewOfferingOutput) String() string {
 17748  	return awsutil.Prettify(s)
 17749  }
 17750  
 17751  // GoString returns the string representation.
 17752  //
 17753  // API parameter values that are decorated as "sensitive" in the API will not
 17754  // be included in the string output. The member name will be present, but the
 17755  // value will be replaced with "sensitive".
 17756  func (s RenewOfferingOutput) GoString() string {
 17757  	return s.String()
 17758  }
 17759  
 17760  // SetOfferingTransaction sets the OfferingTransaction field's value.
 17761  func (s *RenewOfferingOutput) SetOfferingTransaction(v *OfferingTransaction) *RenewOfferingOutput {
 17762  	s.OfferingTransaction = v
 17763  	return s
 17764  }
 17765  
 17766  // Represents the screen resolution of a device in height and width, expressed
 17767  // in pixels.
 17768  type Resolution struct {
 17769  	_ struct{} `type:"structure"`
 17770  
 17771  	// The screen resolution's height, expressed in pixels.
 17772  	Height *int64 `locationName:"height" type:"integer"`
 17773  
 17774  	// The screen resolution's width, expressed in pixels.
 17775  	Width *int64 `locationName:"width" type:"integer"`
 17776  }
 17777  
 17778  // String returns the string representation.
 17779  //
 17780  // API parameter values that are decorated as "sensitive" in the API will not
 17781  // be included in the string output. The member name will be present, but the
 17782  // value will be replaced with "sensitive".
 17783  func (s Resolution) String() string {
 17784  	return awsutil.Prettify(s)
 17785  }
 17786  
 17787  // GoString returns the string representation.
 17788  //
 17789  // API parameter values that are decorated as "sensitive" in the API will not
 17790  // be included in the string output. The member name will be present, but the
 17791  // value will be replaced with "sensitive".
 17792  func (s Resolution) GoString() string {
 17793  	return s.String()
 17794  }
 17795  
 17796  // SetHeight sets the Height field's value.
 17797  func (s *Resolution) SetHeight(v int64) *Resolution {
 17798  	s.Height = &v
 17799  	return s
 17800  }
 17801  
 17802  // SetWidth sets the Width field's value.
 17803  func (s *Resolution) SetWidth(v int64) *Resolution {
 17804  	s.Width = &v
 17805  	return s
 17806  }
 17807  
 17808  // Represents a condition for a device pool.
 17809  type Rule struct {
 17810  	_ struct{} `type:"structure"`
 17811  
 17812  	// The rule's stringified attribute. For example, specify the value as "\"abc\"".
 17813  	//
 17814  	// The supported operators for each attribute are provided in the following
 17815  	// list.
 17816  	//
 17817  	// APPIUM_VERSION
 17818  	//
 17819  	// The Appium version for the test.
 17820  	//
 17821  	// Supported operators: CONTAINS
 17822  	//
 17823  	// ARN
 17824  	//
 17825  	// The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example.
 17826  	//
 17827  	// Supported operators: EQUALS, IN, NOT_IN
 17828  	//
 17829  	// AVAILABILITY
 17830  	//
 17831  	// The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE,
 17832  	// BUSY, or TEMPORARY_NOT_AVAILABLE.
 17833  	//
 17834  	// Supported operators: EQUALS
 17835  	//
 17836  	// FLEET_TYPE
 17837  	//
 17838  	// The fleet type. Valid values are PUBLIC or PRIVATE.
 17839  	//
 17840  	// Supported operators: EQUALS
 17841  	//
 17842  	// FORM_FACTOR
 17843  	//
 17844  	// The device form factor. Valid values are PHONE or TABLET.
 17845  	//
 17846  	// Supported operators: EQUALS, IN, NOT_IN
 17847  	//
 17848  	// INSTANCE_ARN
 17849  	//
 17850  	// The Amazon Resource Name (ARN) of the device instance.
 17851  	//
 17852  	// Supported operators: IN, NOT_IN
 17853  	//
 17854  	// INSTANCE_LABELS
 17855  	//
 17856  	// The label of the device instance.
 17857  	//
 17858  	// Supported operators: CONTAINS
 17859  	//
 17860  	// MANUFACTURER
 17861  	//
 17862  	// The device manufacturer (for example, Apple).
 17863  	//
 17864  	// Supported operators: EQUALS, IN, NOT_IN
 17865  	//
 17866  	// MODEL
 17867  	//
 17868  	// The device model, such as Apple iPad Air 2 or Google Pixel.
 17869  	//
 17870  	// Supported operators: CONTAINS, EQUALS, IN, NOT_IN
 17871  	//
 17872  	// OS_VERSION
 17873  	//
 17874  	// The operating system version (for example, 10.3.2).
 17875  	//
 17876  	// Supported operators: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, IN, LESS_THAN,
 17877  	// LESS_THAN_OR_EQUALS, NOT_IN
 17878  	//
 17879  	// PLATFORM
 17880  	//
 17881  	// The device platform. Valid values are ANDROID or IOS.
 17882  	//
 17883  	// Supported operators: EQUALS, IN, NOT_IN
 17884  	//
 17885  	// REMOTE_ACCESS_ENABLED
 17886  	//
 17887  	// Whether the device is enabled for remote access. Valid values are TRUE or
 17888  	// FALSE.
 17889  	//
 17890  	// Supported operators: EQUALS
 17891  	//
 17892  	// REMOTE_DEBUG_ENABLED
 17893  	//
 17894  	// Whether the device is enabled for remote debugging. Valid values are TRUE
 17895  	// or FALSE.
 17896  	//
 17897  	// Supported operators: EQUALS
 17898  	//
 17899  	// Because remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html),
 17900  	// this filter is ignored.
 17901  	Attribute *string `locationName:"attribute" type:"string" enum:"DeviceAttribute"`
 17902  
 17903  	// Specifies how Device Farm compares the rule's attribute to the value. For
 17904  	// the operators that are supported by each attribute, see the attribute descriptions.
 17905  	Operator *string `locationName:"operator" type:"string" enum:"RuleOperator"`
 17906  
 17907  	// The rule's value.
 17908  	Value *string `locationName:"value" type:"string"`
 17909  }
 17910  
 17911  // String returns the string representation.
 17912  //
 17913  // API parameter values that are decorated as "sensitive" in the API will not
 17914  // be included in the string output. The member name will be present, but the
 17915  // value will be replaced with "sensitive".
 17916  func (s Rule) String() string {
 17917  	return awsutil.Prettify(s)
 17918  }
 17919  
 17920  // GoString returns the string representation.
 17921  //
 17922  // API parameter values that are decorated as "sensitive" in the API will not
 17923  // be included in the string output. The member name will be present, but the
 17924  // value will be replaced with "sensitive".
 17925  func (s Rule) GoString() string {
 17926  	return s.String()
 17927  }
 17928  
 17929  // SetAttribute sets the Attribute field's value.
 17930  func (s *Rule) SetAttribute(v string) *Rule {
 17931  	s.Attribute = &v
 17932  	return s
 17933  }
 17934  
 17935  // SetOperator sets the Operator field's value.
 17936  func (s *Rule) SetOperator(v string) *Rule {
 17937  	s.Operator = &v
 17938  	return s
 17939  }
 17940  
 17941  // SetValue sets the Value field's value.
 17942  func (s *Rule) SetValue(v string) *Rule {
 17943  	s.Value = &v
 17944  	return s
 17945  }
 17946  
 17947  // Represents a test run on a set of devices with a given app package, test
 17948  // parameters, and so on.
 17949  type Run struct {
 17950  	_ struct{} `type:"structure"`
 17951  
 17952  	// An app to upload or that has been uploaded.
 17953  	AppUpload *string `locationName:"appUpload" min:"32" type:"string"`
 17954  
 17955  	// The run's ARN.
 17956  	Arn *string `locationName:"arn" min:"32" type:"string"`
 17957  
 17958  	// Specifies the billing method for a test run: metered or unmetered. If the
 17959  	// parameter is not specified, the default value is metered.
 17960  	//
 17961  	// If you have unmetered device slots, you must set this to unmetered to use
 17962  	// them. Otherwise, the run is counted toward metered device minutes.
 17963  	BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"`
 17964  
 17965  	// The total number of completed jobs.
 17966  	CompletedJobs *int64 `locationName:"completedJobs" type:"integer"`
 17967  
 17968  	// The run's result counters.
 17969  	Counters *Counters `locationName:"counters" type:"structure"`
 17970  
 17971  	// When the run was created.
 17972  	Created *time.Time `locationName:"created" type:"timestamp"`
 17973  
 17974  	// Output CustomerArtifactPaths object for the test run.
 17975  	CustomerArtifactPaths *CustomerArtifactPaths `locationName:"customerArtifactPaths" type:"structure"`
 17976  
 17977  	// Represents the total (metered or unmetered) minutes used by the test run.
 17978  	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
 17979  
 17980  	// The ARN of the device pool for the run.
 17981  	DevicePoolArn *string `locationName:"devicePoolArn" min:"32" type:"string"`
 17982  
 17983  	// The results of a device filter used to select the devices for a test run.
 17984  	DeviceSelectionResult *DeviceSelectionResult `locationName:"deviceSelectionResult" type:"structure"`
 17985  
 17986  	// For fuzz tests, this is the number of events, between 1 and 10000, that the
 17987  	// UI fuzz test should perform.
 17988  	EventCount *int64 `locationName:"eventCount" type:"integer"`
 17989  
 17990  	// The number of minutes the job executes before it times out.
 17991  	JobTimeoutMinutes *int64 `locationName:"jobTimeoutMinutes" type:"integer"`
 17992  
 17993  	// Information about the locale that is used for the run.
 17994  	Locale *string `locationName:"locale" type:"string"`
 17995  
 17996  	// Information about the location that is used for the run.
 17997  	Location *Location `locationName:"location" type:"structure"`
 17998  
 17999  	// A message about the run's result.
 18000  	Message *string `locationName:"message" type:"string"`
 18001  
 18002  	// The run's name.
 18003  	Name *string `locationName:"name" type:"string"`
 18004  
 18005  	// The network profile being used for a test run.
 18006  	NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"`
 18007  
 18008  	// Read-only URL for an object in an S3 bucket where you can get the parsing
 18009  	// results of the test package. If the test package doesn't parse, the reason
 18010  	// why it doesn't parse appears in the file that this URL points to.
 18011  	ParsingResultUrl *string `locationName:"parsingResultUrl" type:"string"`
 18012  
 18013  	// The run's platform.
 18014  	//
 18015  	// Allowed values include:
 18016  	//
 18017  	//    * ANDROID
 18018  	//
 18019  	//    * IOS
 18020  	Platform *string `locationName:"platform" type:"string" enum:"DevicePlatform"`
 18021  
 18022  	// Information about the radio states for the run.
 18023  	Radios *Radios `locationName:"radios" type:"structure"`
 18024  
 18025  	// The run's result.
 18026  	//
 18027  	// Allowed values include:
 18028  	//
 18029  	//    * PENDING
 18030  	//
 18031  	//    * PASSED
 18032  	//
 18033  	//    * WARNED
 18034  	//
 18035  	//    * FAILED
 18036  	//
 18037  	//    * SKIPPED
 18038  	//
 18039  	//    * ERRORED
 18040  	//
 18041  	//    * STOPPED
 18042  	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
 18043  
 18044  	// Supporting field for the result field. Set only if result is SKIPPED. PARSING_FAILED
 18045  	// if the result is skipped because of test package parsing failure.
 18046  	ResultCode *string `locationName:"resultCode" type:"string" enum:"ExecutionResultCode"`
 18047  
 18048  	// For fuzz tests, this is a seed to use for randomizing the UI fuzz test. Using
 18049  	// the same seed value between tests ensures identical event sequences.
 18050  	Seed *int64 `locationName:"seed" type:"integer"`
 18051  
 18052  	// When set to true, for private devices, Device Farm does not sign your app
 18053  	// again. For public devices, Device Farm always signs your apps again.
 18054  	//
 18055  	// For more information about how Device Farm re-signs your apps, see Do you
 18056  	// modify my app? (https://aws.amazon.com/device-farm/faq/) in the AWS Device
 18057  	// Farm FAQs.
 18058  	SkipAppResign *bool `locationName:"skipAppResign" type:"boolean"`
 18059  
 18060  	// The run's start time.
 18061  	Started *time.Time `locationName:"started" type:"timestamp"`
 18062  
 18063  	// The run's status.
 18064  	//
 18065  	// Allowed values include:
 18066  	//
 18067  	//    * PENDING
 18068  	//
 18069  	//    * PENDING_CONCURRENCY
 18070  	//
 18071  	//    * PENDING_DEVICE
 18072  	//
 18073  	//    * PROCESSING
 18074  	//
 18075  	//    * SCHEDULING
 18076  	//
 18077  	//    * PREPARING
 18078  	//
 18079  	//    * RUNNING
 18080  	//
 18081  	//    * COMPLETED
 18082  	//
 18083  	//    * STOPPING
 18084  	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
 18085  
 18086  	// The run's stop time.
 18087  	Stopped *time.Time `locationName:"stopped" type:"timestamp"`
 18088  
 18089  	// The ARN of the YAML-formatted test specification for the run.
 18090  	TestSpecArn *string `locationName:"testSpecArn" min:"32" type:"string"`
 18091  
 18092  	// The total number of jobs for the run.
 18093  	TotalJobs *int64 `locationName:"totalJobs" type:"integer"`
 18094  
 18095  	// The run's type.
 18096  	//
 18097  	// Must be one of the following values:
 18098  	//
 18099  	//    * BUILTIN_FUZZ
 18100  	//
 18101  	//    * BUILTIN_EXPLORER For Android, an app explorer that traverses an Android
 18102  	//    app, interacting with it and capturing screenshots at the same time.
 18103  	//
 18104  	//    * APPIUM_JAVA_JUNIT
 18105  	//
 18106  	//    * APPIUM_JAVA_TESTNG
 18107  	//
 18108  	//    * APPIUM_PYTHON
 18109  	//
 18110  	//    * APPIUM_NODE
 18111  	//
 18112  	//    * APPIUM_RUBY
 18113  	//
 18114  	//    * APPIUM_WEB_JAVA_JUNIT
 18115  	//
 18116  	//    * APPIUM_WEB_JAVA_TESTNG
 18117  	//
 18118  	//    * APPIUM_WEB_PYTHON
 18119  	//
 18120  	//    * APPIUM_WEB_NODE
 18121  	//
 18122  	//    * APPIUM_WEB_RUBY
 18123  	//
 18124  	//    * CALABASH
 18125  	//
 18126  	//    * INSTRUMENTATION
 18127  	//
 18128  	//    * UIAUTOMATION
 18129  	//
 18130  	//    * UIAUTOMATOR
 18131  	//
 18132  	//    * XCTEST
 18133  	//
 18134  	//    * XCTEST_UI
 18135  	Type *string `locationName:"type" type:"string" enum:"TestType"`
 18136  
 18137  	// The Device Farm console URL for the recording of the run.
 18138  	WebUrl *string `locationName:"webUrl" type:"string"`
 18139  }
 18140  
 18141  // String returns the string representation.
 18142  //
 18143  // API parameter values that are decorated as "sensitive" in the API will not
 18144  // be included in the string output. The member name will be present, but the
 18145  // value will be replaced with "sensitive".
 18146  func (s Run) String() string {
 18147  	return awsutil.Prettify(s)
 18148  }
 18149  
 18150  // GoString returns the string representation.
 18151  //
 18152  // API parameter values that are decorated as "sensitive" in the API will not
 18153  // be included in the string output. The member name will be present, but the
 18154  // value will be replaced with "sensitive".
 18155  func (s Run) GoString() string {
 18156  	return s.String()
 18157  }
 18158  
 18159  // SetAppUpload sets the AppUpload field's value.
 18160  func (s *Run) SetAppUpload(v string) *Run {
 18161  	s.AppUpload = &v
 18162  	return s
 18163  }
 18164  
 18165  // SetArn sets the Arn field's value.
 18166  func (s *Run) SetArn(v string) *Run {
 18167  	s.Arn = &v
 18168  	return s
 18169  }
 18170  
 18171  // SetBillingMethod sets the BillingMethod field's value.
 18172  func (s *Run) SetBillingMethod(v string) *Run {
 18173  	s.BillingMethod = &v
 18174  	return s
 18175  }
 18176  
 18177  // SetCompletedJobs sets the CompletedJobs field's value.
 18178  func (s *Run) SetCompletedJobs(v int64) *Run {
 18179  	s.CompletedJobs = &v
 18180  	return s
 18181  }
 18182  
 18183  // SetCounters sets the Counters field's value.
 18184  func (s *Run) SetCounters(v *Counters) *Run {
 18185  	s.Counters = v
 18186  	return s
 18187  }
 18188  
 18189  // SetCreated sets the Created field's value.
 18190  func (s *Run) SetCreated(v time.Time) *Run {
 18191  	s.Created = &v
 18192  	return s
 18193  }
 18194  
 18195  // SetCustomerArtifactPaths sets the CustomerArtifactPaths field's value.
 18196  func (s *Run) SetCustomerArtifactPaths(v *CustomerArtifactPaths) *Run {
 18197  	s.CustomerArtifactPaths = v
 18198  	return s
 18199  }
 18200  
 18201  // SetDeviceMinutes sets the DeviceMinutes field's value.
 18202  func (s *Run) SetDeviceMinutes(v *DeviceMinutes) *Run {
 18203  	s.DeviceMinutes = v
 18204  	return s
 18205  }
 18206  
 18207  // SetDevicePoolArn sets the DevicePoolArn field's value.
 18208  func (s *Run) SetDevicePoolArn(v string) *Run {
 18209  	s.DevicePoolArn = &v
 18210  	return s
 18211  }
 18212  
 18213  // SetDeviceSelectionResult sets the DeviceSelectionResult field's value.
 18214  func (s *Run) SetDeviceSelectionResult(v *DeviceSelectionResult) *Run {
 18215  	s.DeviceSelectionResult = v
 18216  	return s
 18217  }
 18218  
 18219  // SetEventCount sets the EventCount field's value.
 18220  func (s *Run) SetEventCount(v int64) *Run {
 18221  	s.EventCount = &v
 18222  	return s
 18223  }
 18224  
 18225  // SetJobTimeoutMinutes sets the JobTimeoutMinutes field's value.
 18226  func (s *Run) SetJobTimeoutMinutes(v int64) *Run {
 18227  	s.JobTimeoutMinutes = &v
 18228  	return s
 18229  }
 18230  
 18231  // SetLocale sets the Locale field's value.
 18232  func (s *Run) SetLocale(v string) *Run {
 18233  	s.Locale = &v
 18234  	return s
 18235  }
 18236  
 18237  // SetLocation sets the Location field's value.
 18238  func (s *Run) SetLocation(v *Location) *Run {
 18239  	s.Location = v
 18240  	return s
 18241  }
 18242  
 18243  // SetMessage sets the Message field's value.
 18244  func (s *Run) SetMessage(v string) *Run {
 18245  	s.Message = &v
 18246  	return s
 18247  }
 18248  
 18249  // SetName sets the Name field's value.
 18250  func (s *Run) SetName(v string) *Run {
 18251  	s.Name = &v
 18252  	return s
 18253  }
 18254  
 18255  // SetNetworkProfile sets the NetworkProfile field's value.
 18256  func (s *Run) SetNetworkProfile(v *NetworkProfile) *Run {
 18257  	s.NetworkProfile = v
 18258  	return s
 18259  }
 18260  
 18261  // SetParsingResultUrl sets the ParsingResultUrl field's value.
 18262  func (s *Run) SetParsingResultUrl(v string) *Run {
 18263  	s.ParsingResultUrl = &v
 18264  	return s
 18265  }
 18266  
 18267  // SetPlatform sets the Platform field's value.
 18268  func (s *Run) SetPlatform(v string) *Run {
 18269  	s.Platform = &v
 18270  	return s
 18271  }
 18272  
 18273  // SetRadios sets the Radios field's value.
 18274  func (s *Run) SetRadios(v *Radios) *Run {
 18275  	s.Radios = v
 18276  	return s
 18277  }
 18278  
 18279  // SetResult sets the Result field's value.
 18280  func (s *Run) SetResult(v string) *Run {
 18281  	s.Result = &v
 18282  	return s
 18283  }
 18284  
 18285  // SetResultCode sets the ResultCode field's value.
 18286  func (s *Run) SetResultCode(v string) *Run {
 18287  	s.ResultCode = &v
 18288  	return s
 18289  }
 18290  
 18291  // SetSeed sets the Seed field's value.
 18292  func (s *Run) SetSeed(v int64) *Run {
 18293  	s.Seed = &v
 18294  	return s
 18295  }
 18296  
 18297  // SetSkipAppResign sets the SkipAppResign field's value.
 18298  func (s *Run) SetSkipAppResign(v bool) *Run {
 18299  	s.SkipAppResign = &v
 18300  	return s
 18301  }
 18302  
 18303  // SetStarted sets the Started field's value.
 18304  func (s *Run) SetStarted(v time.Time) *Run {
 18305  	s.Started = &v
 18306  	return s
 18307  }
 18308  
 18309  // SetStatus sets the Status field's value.
 18310  func (s *Run) SetStatus(v string) *Run {
 18311  	s.Status = &v
 18312  	return s
 18313  }
 18314  
 18315  // SetStopped sets the Stopped field's value.
 18316  func (s *Run) SetStopped(v time.Time) *Run {
 18317  	s.Stopped = &v
 18318  	return s
 18319  }
 18320  
 18321  // SetTestSpecArn sets the TestSpecArn field's value.
 18322  func (s *Run) SetTestSpecArn(v string) *Run {
 18323  	s.TestSpecArn = &v
 18324  	return s
 18325  }
 18326  
 18327  // SetTotalJobs sets the TotalJobs field's value.
 18328  func (s *Run) SetTotalJobs(v int64) *Run {
 18329  	s.TotalJobs = &v
 18330  	return s
 18331  }
 18332  
 18333  // SetType sets the Type field's value.
 18334  func (s *Run) SetType(v string) *Run {
 18335  	s.Type = &v
 18336  	return s
 18337  }
 18338  
 18339  // SetWebUrl sets the WebUrl field's value.
 18340  func (s *Run) SetWebUrl(v string) *Run {
 18341  	s.WebUrl = &v
 18342  	return s
 18343  }
 18344  
 18345  // Represents a sample of performance data.
 18346  type Sample struct {
 18347  	_ struct{} `type:"structure"`
 18348  
 18349  	// The sample's ARN.
 18350  	Arn *string `locationName:"arn" min:"32" type:"string"`
 18351  
 18352  	// The sample's type.
 18353  	//
 18354  	// Must be one of the following values:
 18355  	//
 18356  	//    * CPU: A CPU sample type. This is expressed as the app processing CPU
 18357  	//    time (including child processes) as reported by process, as a percentage.
 18358  	//
 18359  	//    * MEMORY: A memory usage sample type. This is expressed as the total proportional
 18360  	//    set size of an app process, in kilobytes.
 18361  	//
 18362  	//    * NATIVE_AVG_DRAWTIME
 18363  	//
 18364  	//    * NATIVE_FPS
 18365  	//
 18366  	//    * NATIVE_FRAMES
 18367  	//
 18368  	//    * NATIVE_MAX_DRAWTIME
 18369  	//
 18370  	//    * NATIVE_MIN_DRAWTIME
 18371  	//
 18372  	//    * OPENGL_AVG_DRAWTIME
 18373  	//
 18374  	//    * OPENGL_FPS
 18375  	//
 18376  	//    * OPENGL_FRAMES
 18377  	//
 18378  	//    * OPENGL_MAX_DRAWTIME
 18379  	//
 18380  	//    * OPENGL_MIN_DRAWTIME
 18381  	//
 18382  	//    * RX
 18383  	//
 18384  	//    * RX_RATE: The total number of bytes per second (TCP and UDP) that are
 18385  	//    sent, by app process.
 18386  	//
 18387  	//    * THREADS: A threads sample type. This is expressed as the total number
 18388  	//    of threads per app process.
 18389  	//
 18390  	//    * TX
 18391  	//
 18392  	//    * TX_RATE: The total number of bytes per second (TCP and UDP) that are
 18393  	//    received, by app process.
 18394  	Type *string `locationName:"type" type:"string" enum:"SampleType"`
 18395  
 18396  	// The presigned Amazon S3 URL that can be used with a GET request to download
 18397  	// the sample's file.
 18398  	Url *string `locationName:"url" type:"string"`
 18399  }
 18400  
 18401  // String returns the string representation.
 18402  //
 18403  // API parameter values that are decorated as "sensitive" in the API will not
 18404  // be included in the string output. The member name will be present, but the
 18405  // value will be replaced with "sensitive".
 18406  func (s Sample) String() string {
 18407  	return awsutil.Prettify(s)
 18408  }
 18409  
 18410  // GoString returns the string representation.
 18411  //
 18412  // API parameter values that are decorated as "sensitive" in the API will not
 18413  // be included in the string output. The member name will be present, but the
 18414  // value will be replaced with "sensitive".
 18415  func (s Sample) GoString() string {
 18416  	return s.String()
 18417  }
 18418  
 18419  // SetArn sets the Arn field's value.
 18420  func (s *Sample) SetArn(v string) *Sample {
 18421  	s.Arn = &v
 18422  	return s
 18423  }
 18424  
 18425  // SetType sets the Type field's value.
 18426  func (s *Sample) SetType(v string) *Sample {
 18427  	s.Type = &v
 18428  	return s
 18429  }
 18430  
 18431  // SetUrl sets the Url field's value.
 18432  func (s *Sample) SetUrl(v string) *Sample {
 18433  	s.Url = &v
 18434  	return s
 18435  }
 18436  
 18437  // Represents the settings for a run. Includes things like location, radio states,
 18438  // auxiliary apps, and network profiles.
 18439  type ScheduleRunConfiguration struct {
 18440  	_ struct{} `type:"structure"`
 18441  
 18442  	// A list of upload ARNs for app packages to be installed with your app.
 18443  	AuxiliaryApps []*string `locationName:"auxiliaryApps" type:"list"`
 18444  
 18445  	// Specifies the billing method for a test run: metered or unmetered. If the
 18446  	// parameter is not specified, the default value is metered.
 18447  	//
 18448  	// If you have purchased unmetered device slots, you must set this parameter
 18449  	// to unmetered to make use of them. Otherwise, your run counts against your
 18450  	// metered time.
 18451  	BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"`
 18452  
 18453  	// Input CustomerArtifactPaths object for the scheduled run configuration.
 18454  	CustomerArtifactPaths *CustomerArtifactPaths `locationName:"customerArtifactPaths" type:"structure"`
 18455  
 18456  	// The ARN of the extra data for the run. The extra data is a .zip file that
 18457  	// AWS Device Farm extracts to external data for Android or the app's sandbox
 18458  	// for iOS.
 18459  	ExtraDataPackageArn *string `locationName:"extraDataPackageArn" min:"32" type:"string"`
 18460  
 18461  	// Information about the locale that is used for the run.
 18462  	Locale *string `locationName:"locale" type:"string"`
 18463  
 18464  	// Information about the location that is used for the run.
 18465  	Location *Location `locationName:"location" type:"structure"`
 18466  
 18467  	// Reserved for internal use.
 18468  	NetworkProfileArn *string `locationName:"networkProfileArn" min:"32" type:"string"`
 18469  
 18470  	// Information about the radio states for the run.
 18471  	Radios *Radios `locationName:"radios" type:"structure"`
 18472  
 18473  	// An array of ARNs for your VPC endpoint configurations.
 18474  	VpceConfigurationArns []*string `locationName:"vpceConfigurationArns" type:"list"`
 18475  }
 18476  
 18477  // String returns the string representation.
 18478  //
 18479  // API parameter values that are decorated as "sensitive" in the API will not
 18480  // be included in the string output. The member name will be present, but the
 18481  // value will be replaced with "sensitive".
 18482  func (s ScheduleRunConfiguration) String() string {
 18483  	return awsutil.Prettify(s)
 18484  }
 18485  
 18486  // GoString returns the string representation.
 18487  //
 18488  // API parameter values that are decorated as "sensitive" in the API will not
 18489  // be included in the string output. The member name will be present, but the
 18490  // value will be replaced with "sensitive".
 18491  func (s ScheduleRunConfiguration) GoString() string {
 18492  	return s.String()
 18493  }
 18494  
 18495  // Validate inspects the fields of the type to determine if they are valid.
 18496  func (s *ScheduleRunConfiguration) Validate() error {
 18497  	invalidParams := request.ErrInvalidParams{Context: "ScheduleRunConfiguration"}
 18498  	if s.ExtraDataPackageArn != nil && len(*s.ExtraDataPackageArn) < 32 {
 18499  		invalidParams.Add(request.NewErrParamMinLen("ExtraDataPackageArn", 32))
 18500  	}
 18501  	if s.NetworkProfileArn != nil && len(*s.NetworkProfileArn) < 32 {
 18502  		invalidParams.Add(request.NewErrParamMinLen("NetworkProfileArn", 32))
 18503  	}
 18504  	if s.Location != nil {
 18505  		if err := s.Location.Validate(); err != nil {
 18506  			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
 18507  		}
 18508  	}
 18509  
 18510  	if invalidParams.Len() > 0 {
 18511  		return invalidParams
 18512  	}
 18513  	return nil
 18514  }
 18515  
 18516  // SetAuxiliaryApps sets the AuxiliaryApps field's value.
 18517  func (s *ScheduleRunConfiguration) SetAuxiliaryApps(v []*string) *ScheduleRunConfiguration {
 18518  	s.AuxiliaryApps = v
 18519  	return s
 18520  }
 18521  
 18522  // SetBillingMethod sets the BillingMethod field's value.
 18523  func (s *ScheduleRunConfiguration) SetBillingMethod(v string) *ScheduleRunConfiguration {
 18524  	s.BillingMethod = &v
 18525  	return s
 18526  }
 18527  
 18528  // SetCustomerArtifactPaths sets the CustomerArtifactPaths field's value.
 18529  func (s *ScheduleRunConfiguration) SetCustomerArtifactPaths(v *CustomerArtifactPaths) *ScheduleRunConfiguration {
 18530  	s.CustomerArtifactPaths = v
 18531  	return s
 18532  }
 18533  
 18534  // SetExtraDataPackageArn sets the ExtraDataPackageArn field's value.
 18535  func (s *ScheduleRunConfiguration) SetExtraDataPackageArn(v string) *ScheduleRunConfiguration {
 18536  	s.ExtraDataPackageArn = &v
 18537  	return s
 18538  }
 18539  
 18540  // SetLocale sets the Locale field's value.
 18541  func (s *ScheduleRunConfiguration) SetLocale(v string) *ScheduleRunConfiguration {
 18542  	s.Locale = &v
 18543  	return s
 18544  }
 18545  
 18546  // SetLocation sets the Location field's value.
 18547  func (s *ScheduleRunConfiguration) SetLocation(v *Location) *ScheduleRunConfiguration {
 18548  	s.Location = v
 18549  	return s
 18550  }
 18551  
 18552  // SetNetworkProfileArn sets the NetworkProfileArn field's value.
 18553  func (s *ScheduleRunConfiguration) SetNetworkProfileArn(v string) *ScheduleRunConfiguration {
 18554  	s.NetworkProfileArn = &v
 18555  	return s
 18556  }
 18557  
 18558  // SetRadios sets the Radios field's value.
 18559  func (s *ScheduleRunConfiguration) SetRadios(v *Radios) *ScheduleRunConfiguration {
 18560  	s.Radios = v
 18561  	return s
 18562  }
 18563  
 18564  // SetVpceConfigurationArns sets the VpceConfigurationArns field's value.
 18565  func (s *ScheduleRunConfiguration) SetVpceConfigurationArns(v []*string) *ScheduleRunConfiguration {
 18566  	s.VpceConfigurationArns = v
 18567  	return s
 18568  }
 18569  
 18570  // Represents a request to the schedule run operation.
 18571  type ScheduleRunInput struct {
 18572  	_ struct{} `type:"structure"`
 18573  
 18574  	// The ARN of an application package to run tests against, created with CreateUpload.
 18575  	// See ListUploads.
 18576  	AppArn *string `locationName:"appArn" min:"32" type:"string"`
 18577  
 18578  	// Information about the settings for the run to be scheduled.
 18579  	Configuration *ScheduleRunConfiguration `locationName:"configuration" type:"structure"`
 18580  
 18581  	// The ARN of the device pool for the run to be scheduled.
 18582  	DevicePoolArn *string `locationName:"devicePoolArn" min:"32" type:"string"`
 18583  
 18584  	// The filter criteria used to dynamically select a set of devices for a test
 18585  	// run and the maximum number of devices to be included in the run.
 18586  	//
 18587  	// Either devicePoolArn or deviceSelectionConfiguration is required in a request.
 18588  	DeviceSelectionConfiguration *DeviceSelectionConfiguration `locationName:"deviceSelectionConfiguration" type:"structure"`
 18589  
 18590  	// Specifies configuration information about a test run, such as the execution
 18591  	// timeout (in minutes).
 18592  	ExecutionConfiguration *ExecutionConfiguration `locationName:"executionConfiguration" type:"structure"`
 18593  
 18594  	// The name for the run to be scheduled.
 18595  	Name *string `locationName:"name" type:"string"`
 18596  
 18597  	// The ARN of the project for the run to be scheduled.
 18598  	//
 18599  	// ProjectArn is a required field
 18600  	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
 18601  
 18602  	// Information about the test for the run to be scheduled.
 18603  	//
 18604  	// Test is a required field
 18605  	Test *ScheduleRunTest `locationName:"test" type:"structure" required:"true"`
 18606  }
 18607  
 18608  // String returns the string representation.
 18609  //
 18610  // API parameter values that are decorated as "sensitive" in the API will not
 18611  // be included in the string output. The member name will be present, but the
 18612  // value will be replaced with "sensitive".
 18613  func (s ScheduleRunInput) String() string {
 18614  	return awsutil.Prettify(s)
 18615  }
 18616  
 18617  // GoString returns the string representation.
 18618  //
 18619  // API parameter values that are decorated as "sensitive" in the API will not
 18620  // be included in the string output. The member name will be present, but the
 18621  // value will be replaced with "sensitive".
 18622  func (s ScheduleRunInput) GoString() string {
 18623  	return s.String()
 18624  }
 18625  
 18626  // Validate inspects the fields of the type to determine if they are valid.
 18627  func (s *ScheduleRunInput) Validate() error {
 18628  	invalidParams := request.ErrInvalidParams{Context: "ScheduleRunInput"}
 18629  	if s.AppArn != nil && len(*s.AppArn) < 32 {
 18630  		invalidParams.Add(request.NewErrParamMinLen("AppArn", 32))
 18631  	}
 18632  	if s.DevicePoolArn != nil && len(*s.DevicePoolArn) < 32 {
 18633  		invalidParams.Add(request.NewErrParamMinLen("DevicePoolArn", 32))
 18634  	}
 18635  	if s.ProjectArn == nil {
 18636  		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
 18637  	}
 18638  	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
 18639  		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
 18640  	}
 18641  	if s.Test == nil {
 18642  		invalidParams.Add(request.NewErrParamRequired("Test"))
 18643  	}
 18644  	if s.Configuration != nil {
 18645  		if err := s.Configuration.Validate(); err != nil {
 18646  			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
 18647  		}
 18648  	}
 18649  	if s.DeviceSelectionConfiguration != nil {
 18650  		if err := s.DeviceSelectionConfiguration.Validate(); err != nil {
 18651  			invalidParams.AddNested("DeviceSelectionConfiguration", err.(request.ErrInvalidParams))
 18652  		}
 18653  	}
 18654  	if s.Test != nil {
 18655  		if err := s.Test.Validate(); err != nil {
 18656  			invalidParams.AddNested("Test", err.(request.ErrInvalidParams))
 18657  		}
 18658  	}
 18659  
 18660  	if invalidParams.Len() > 0 {
 18661  		return invalidParams
 18662  	}
 18663  	return nil
 18664  }
 18665  
 18666  // SetAppArn sets the AppArn field's value.
 18667  func (s *ScheduleRunInput) SetAppArn(v string) *ScheduleRunInput {
 18668  	s.AppArn = &v
 18669  	return s
 18670  }
 18671  
 18672  // SetConfiguration sets the Configuration field's value.
 18673  func (s *ScheduleRunInput) SetConfiguration(v *ScheduleRunConfiguration) *ScheduleRunInput {
 18674  	s.Configuration = v
 18675  	return s
 18676  }
 18677  
 18678  // SetDevicePoolArn sets the DevicePoolArn field's value.
 18679  func (s *ScheduleRunInput) SetDevicePoolArn(v string) *ScheduleRunInput {
 18680  	s.DevicePoolArn = &v
 18681  	return s
 18682  }
 18683  
 18684  // SetDeviceSelectionConfiguration sets the DeviceSelectionConfiguration field's value.
 18685  func (s *ScheduleRunInput) SetDeviceSelectionConfiguration(v *DeviceSelectionConfiguration) *ScheduleRunInput {
 18686  	s.DeviceSelectionConfiguration = v
 18687  	return s
 18688  }
 18689  
 18690  // SetExecutionConfiguration sets the ExecutionConfiguration field's value.
 18691  func (s *ScheduleRunInput) SetExecutionConfiguration(v *ExecutionConfiguration) *ScheduleRunInput {
 18692  	s.ExecutionConfiguration = v
 18693  	return s
 18694  }
 18695  
 18696  // SetName sets the Name field's value.
 18697  func (s *ScheduleRunInput) SetName(v string) *ScheduleRunInput {
 18698  	s.Name = &v
 18699  	return s
 18700  }
 18701  
 18702  // SetProjectArn sets the ProjectArn field's value.
 18703  func (s *ScheduleRunInput) SetProjectArn(v string) *ScheduleRunInput {
 18704  	s.ProjectArn = &v
 18705  	return s
 18706  }
 18707  
 18708  // SetTest sets the Test field's value.
 18709  func (s *ScheduleRunInput) SetTest(v *ScheduleRunTest) *ScheduleRunInput {
 18710  	s.Test = v
 18711  	return s
 18712  }
 18713  
 18714  // Represents the result of a schedule run request.
 18715  type ScheduleRunOutput struct {
 18716  	_ struct{} `type:"structure"`
 18717  
 18718  	// Information about the scheduled run.
 18719  	Run *Run `locationName:"run" type:"structure"`
 18720  }
 18721  
 18722  // String returns the string representation.
 18723  //
 18724  // API parameter values that are decorated as "sensitive" in the API will not
 18725  // be included in the string output. The member name will be present, but the
 18726  // value will be replaced with "sensitive".
 18727  func (s ScheduleRunOutput) String() string {
 18728  	return awsutil.Prettify(s)
 18729  }
 18730  
 18731  // GoString returns the string representation.
 18732  //
 18733  // API parameter values that are decorated as "sensitive" in the API will not
 18734  // be included in the string output. The member name will be present, but the
 18735  // value will be replaced with "sensitive".
 18736  func (s ScheduleRunOutput) GoString() string {
 18737  	return s.String()
 18738  }
 18739  
 18740  // SetRun sets the Run field's value.
 18741  func (s *ScheduleRunOutput) SetRun(v *Run) *ScheduleRunOutput {
 18742  	s.Run = v
 18743  	return s
 18744  }
 18745  
 18746  // Represents test settings. This data structure is passed in as the test parameter
 18747  // to ScheduleRun. For an example of the JSON request syntax, see ScheduleRun.
 18748  type ScheduleRunTest struct {
 18749  	_ struct{} `type:"structure"`
 18750  
 18751  	// The test's filter.
 18752  	Filter *string `locationName:"filter" type:"string"`
 18753  
 18754  	// The test's parameters, such as test framework parameters and fixture settings.
 18755  	// Parameters are represented by name-value pairs of strings.
 18756  	//
 18757  	// For all tests:
 18758  	//
 18759  	//    * app_performance_monitoring: Performance monitoring is enabled by default.
 18760  	//    Set this parameter to false to disable it.
 18761  	//
 18762  	// For Calabash tests:
 18763  	//
 18764  	//    * profile: A cucumber profile (for example, my_profile_name).
 18765  	//
 18766  	//    * tags: You can limit execution to features or scenarios that have (or
 18767  	//    don't have) certain tags (for example, @smoke or @smoke,~@wip).
 18768  	//
 18769  	// For Appium tests (all types):
 18770  	//
 18771  	//    * appium_version: The Appium version. Currently supported values are 1.6.5
 18772  	//    (and later), latest, and default. latest runs the latest Appium version
 18773  	//    supported by Device Farm (1.9.1). For default, Device Farm selects a compatible
 18774  	//    version of Appium for the device. The current behavior is to run 1.7.2
 18775  	//    on Android devices and iOS 9 and earlier and 1.7.2 for iOS 10 and later.
 18776  	//    This behavior is subject to change.
 18777  	//
 18778  	// For fuzz tests (Android only):
 18779  	//
 18780  	//    * event_count: The number of events, between 1 and 10000, that the UI
 18781  	//    fuzz test should perform.
 18782  	//
 18783  	//    * throttle: The time, in ms, between 0 and 1000, that the UI fuzz test
 18784  	//    should wait between events.
 18785  	//
 18786  	//    * seed: A seed to use for randomizing the UI fuzz test. Using the same
 18787  	//    seed value between tests ensures identical event sequences.
 18788  	//
 18789  	// For Explorer tests:
 18790  	//
 18791  	//    * username: A user name to use if the Explorer encounters a login form.
 18792  	//    If not supplied, no user name is inserted.
 18793  	//
 18794  	//    * password: A password to use if the Explorer encounters a login form.
 18795  	//    If not supplied, no password is inserted.
 18796  	//
 18797  	// For Instrumentation:
 18798  	//
 18799  	//    * filter: A test filter string. Examples: Running a single test case:
 18800  	//    com.android.abc.Test1 Running a single test: com.android.abc.Test1#smoke
 18801  	//    Running multiple tests: com.android.abc.Test1,com.android.abc.Test2
 18802  	//
 18803  	// For XCTest and XCTestUI:
 18804  	//
 18805  	//    * filter: A test filter string. Examples: Running a single test class:
 18806  	//    LoginTests Running a multiple test classes: LoginTests,SmokeTests Running
 18807  	//    a single test: LoginTests/testValid Running multiple tests: LoginTests/testValid,LoginTests/testInvalid
 18808  	//
 18809  	// For UIAutomator:
 18810  	//
 18811  	//    * filter: A test filter string. Examples: Running a single test case:
 18812  	//    com.android.abc.Test1 Running a single test: com.android.abc.Test1#smoke
 18813  	//    Running multiple tests: com.android.abc.Test1,com.android.abc.Test2
 18814  	Parameters map[string]*string `locationName:"parameters" type:"map"`
 18815  
 18816  	// The ARN of the uploaded test to be run.
 18817  	TestPackageArn *string `locationName:"testPackageArn" min:"32" type:"string"`
 18818  
 18819  	// The ARN of the YAML-formatted test specification.
 18820  	TestSpecArn *string `locationName:"testSpecArn" min:"32" type:"string"`
 18821  
 18822  	// The test's type.
 18823  	//
 18824  	// Must be one of the following values:
 18825  	//
 18826  	//    * BUILTIN_FUZZ
 18827  	//
 18828  	//    * BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android
 18829  	//    app, interacting with it and capturing screenshots at the same time.
 18830  	//
 18831  	//    * APPIUM_JAVA_JUNIT
 18832  	//
 18833  	//    * APPIUM_JAVA_TESTNG
 18834  	//
 18835  	//    * APPIUM_PYTHON
 18836  	//
 18837  	//    * APPIUM_NODE
 18838  	//
 18839  	//    * APPIUM_RUBY
 18840  	//
 18841  	//    * APPIUM_WEB_JAVA_JUNIT
 18842  	//
 18843  	//    * APPIUM_WEB_JAVA_TESTNG
 18844  	//
 18845  	//    * APPIUM_WEB_PYTHON
 18846  	//
 18847  	//    * APPIUM_WEB_NODE
 18848  	//
 18849  	//    * APPIUM_WEB_RUBY
 18850  	//
 18851  	//    * CALABASH
 18852  	//
 18853  	//    * INSTRUMENTATION
 18854  	//
 18855  	//    * UIAUTOMATION
 18856  	//
 18857  	//    * UIAUTOMATOR
 18858  	//
 18859  	//    * XCTEST
 18860  	//
 18861  	//    * XCTEST_UI
 18862  	//
 18863  	// Type is a required field
 18864  	Type *string `locationName:"type" type:"string" required:"true" enum:"TestType"`
 18865  }
 18866  
 18867  // String returns the string representation.
 18868  //
 18869  // API parameter values that are decorated as "sensitive" in the API will not
 18870  // be included in the string output. The member name will be present, but the
 18871  // value will be replaced with "sensitive".
 18872  func (s ScheduleRunTest) String() string {
 18873  	return awsutil.Prettify(s)
 18874  }
 18875  
 18876  // GoString returns the string representation.
 18877  //
 18878  // API parameter values that are decorated as "sensitive" in the API will not
 18879  // be included in the string output. The member name will be present, but the
 18880  // value will be replaced with "sensitive".
 18881  func (s ScheduleRunTest) GoString() string {
 18882  	return s.String()
 18883  }
 18884  
 18885  // Validate inspects the fields of the type to determine if they are valid.
 18886  func (s *ScheduleRunTest) Validate() error {
 18887  	invalidParams := request.ErrInvalidParams{Context: "ScheduleRunTest"}
 18888  	if s.TestPackageArn != nil && len(*s.TestPackageArn) < 32 {
 18889  		invalidParams.Add(request.NewErrParamMinLen("TestPackageArn", 32))
 18890  	}
 18891  	if s.TestSpecArn != nil && len(*s.TestSpecArn) < 32 {
 18892  		invalidParams.Add(request.NewErrParamMinLen("TestSpecArn", 32))
 18893  	}
 18894  	if s.Type == nil {
 18895  		invalidParams.Add(request.NewErrParamRequired("Type"))
 18896  	}
 18897  
 18898  	if invalidParams.Len() > 0 {
 18899  		return invalidParams
 18900  	}
 18901  	return nil
 18902  }
 18903  
 18904  // SetFilter sets the Filter field's value.
 18905  func (s *ScheduleRunTest) SetFilter(v string) *ScheduleRunTest {
 18906  	s.Filter = &v
 18907  	return s
 18908  }
 18909  
 18910  // SetParameters sets the Parameters field's value.
 18911  func (s *ScheduleRunTest) SetParameters(v map[string]*string) *ScheduleRunTest {
 18912  	s.Parameters = v
 18913  	return s
 18914  }
 18915  
 18916  // SetTestPackageArn sets the TestPackageArn field's value.
 18917  func (s *ScheduleRunTest) SetTestPackageArn(v string) *ScheduleRunTest {
 18918  	s.TestPackageArn = &v
 18919  	return s
 18920  }
 18921  
 18922  // SetTestSpecArn sets the TestSpecArn field's value.
 18923  func (s *ScheduleRunTest) SetTestSpecArn(v string) *ScheduleRunTest {
 18924  	s.TestSpecArn = &v
 18925  	return s
 18926  }
 18927  
 18928  // SetType sets the Type field's value.
 18929  func (s *ScheduleRunTest) SetType(v string) *ScheduleRunTest {
 18930  	s.Type = &v
 18931  	return s
 18932  }
 18933  
 18934  // There was a problem with the service account.
 18935  type ServiceAccountException struct {
 18936  	_            struct{}                  `type:"structure"`
 18937  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 18938  
 18939  	// Any additional information about the exception.
 18940  	Message_ *string `locationName:"message" type:"string"`
 18941  }
 18942  
 18943  // String returns the string representation.
 18944  //
 18945  // API parameter values that are decorated as "sensitive" in the API will not
 18946  // be included in the string output. The member name will be present, but the
 18947  // value will be replaced with "sensitive".
 18948  func (s ServiceAccountException) String() string {
 18949  	return awsutil.Prettify(s)
 18950  }
 18951  
 18952  // GoString returns the string representation.
 18953  //
 18954  // API parameter values that are decorated as "sensitive" in the API will not
 18955  // be included in the string output. The member name will be present, but the
 18956  // value will be replaced with "sensitive".
 18957  func (s ServiceAccountException) GoString() string {
 18958  	return s.String()
 18959  }
 18960  
 18961  func newErrorServiceAccountException(v protocol.ResponseMetadata) error {
 18962  	return &ServiceAccountException{
 18963  		RespMetadata: v,
 18964  	}
 18965  }
 18966  
 18967  // Code returns the exception type name.
 18968  func (s *ServiceAccountException) Code() string {
 18969  	return "ServiceAccountException"
 18970  }
 18971  
 18972  // Message returns the exception's message.
 18973  func (s *ServiceAccountException) Message() string {
 18974  	if s.Message_ != nil {
 18975  		return *s.Message_
 18976  	}
 18977  	return ""
 18978  }
 18979  
 18980  // OrigErr always returns nil, satisfies awserr.Error interface.
 18981  func (s *ServiceAccountException) OrigErr() error {
 18982  	return nil
 18983  }
 18984  
 18985  func (s *ServiceAccountException) Error() string {
 18986  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 18987  }
 18988  
 18989  // Status code returns the HTTP status code for the request's response error.
 18990  func (s *ServiceAccountException) StatusCode() int {
 18991  	return s.RespMetadata.StatusCode
 18992  }
 18993  
 18994  // RequestID returns the service's response RequestID for request.
 18995  func (s *ServiceAccountException) RequestID() string {
 18996  	return s.RespMetadata.RequestID
 18997  }
 18998  
 18999  type StopJobInput struct {
 19000  	_ struct{} `type:"structure"`
 19001  
 19002  	// Represents the Amazon Resource Name (ARN) of the Device Farm job to stop.
 19003  	//
 19004  	// Arn is a required field
 19005  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 19006  }
 19007  
 19008  // String returns the string representation.
 19009  //
 19010  // API parameter values that are decorated as "sensitive" in the API will not
 19011  // be included in the string output. The member name will be present, but the
 19012  // value will be replaced with "sensitive".
 19013  func (s StopJobInput) String() string {
 19014  	return awsutil.Prettify(s)
 19015  }
 19016  
 19017  // GoString returns the string representation.
 19018  //
 19019  // API parameter values that are decorated as "sensitive" in the API will not
 19020  // be included in the string output. The member name will be present, but the
 19021  // value will be replaced with "sensitive".
 19022  func (s StopJobInput) GoString() string {
 19023  	return s.String()
 19024  }
 19025  
 19026  // Validate inspects the fields of the type to determine if they are valid.
 19027  func (s *StopJobInput) Validate() error {
 19028  	invalidParams := request.ErrInvalidParams{Context: "StopJobInput"}
 19029  	if s.Arn == nil {
 19030  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 19031  	}
 19032  	if s.Arn != nil && len(*s.Arn) < 32 {
 19033  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 19034  	}
 19035  
 19036  	if invalidParams.Len() > 0 {
 19037  		return invalidParams
 19038  	}
 19039  	return nil
 19040  }
 19041  
 19042  // SetArn sets the Arn field's value.
 19043  func (s *StopJobInput) SetArn(v string) *StopJobInput {
 19044  	s.Arn = &v
 19045  	return s
 19046  }
 19047  
 19048  type StopJobOutput struct {
 19049  	_ struct{} `type:"structure"`
 19050  
 19051  	// The job that was stopped.
 19052  	Job *Job `locationName:"job" type:"structure"`
 19053  }
 19054  
 19055  // String returns the string representation.
 19056  //
 19057  // API parameter values that are decorated as "sensitive" in the API will not
 19058  // be included in the string output. The member name will be present, but the
 19059  // value will be replaced with "sensitive".
 19060  func (s StopJobOutput) String() string {
 19061  	return awsutil.Prettify(s)
 19062  }
 19063  
 19064  // GoString returns the string representation.
 19065  //
 19066  // API parameter values that are decorated as "sensitive" in the API will not
 19067  // be included in the string output. The member name will be present, but the
 19068  // value will be replaced with "sensitive".
 19069  func (s StopJobOutput) GoString() string {
 19070  	return s.String()
 19071  }
 19072  
 19073  // SetJob sets the Job field's value.
 19074  func (s *StopJobOutput) SetJob(v *Job) *StopJobOutput {
 19075  	s.Job = v
 19076  	return s
 19077  }
 19078  
 19079  // Represents the request to stop the remote access session.
 19080  type StopRemoteAccessSessionInput struct {
 19081  	_ struct{} `type:"structure"`
 19082  
 19083  	// The Amazon Resource Name (ARN) of the remote access session to stop.
 19084  	//
 19085  	// Arn is a required field
 19086  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 19087  }
 19088  
 19089  // String returns the string representation.
 19090  //
 19091  // API parameter values that are decorated as "sensitive" in the API will not
 19092  // be included in the string output. The member name will be present, but the
 19093  // value will be replaced with "sensitive".
 19094  func (s StopRemoteAccessSessionInput) String() string {
 19095  	return awsutil.Prettify(s)
 19096  }
 19097  
 19098  // GoString returns the string representation.
 19099  //
 19100  // API parameter values that are decorated as "sensitive" in the API will not
 19101  // be included in the string output. The member name will be present, but the
 19102  // value will be replaced with "sensitive".
 19103  func (s StopRemoteAccessSessionInput) GoString() string {
 19104  	return s.String()
 19105  }
 19106  
 19107  // Validate inspects the fields of the type to determine if they are valid.
 19108  func (s *StopRemoteAccessSessionInput) Validate() error {
 19109  	invalidParams := request.ErrInvalidParams{Context: "StopRemoteAccessSessionInput"}
 19110  	if s.Arn == nil {
 19111  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 19112  	}
 19113  	if s.Arn != nil && len(*s.Arn) < 32 {
 19114  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 19115  	}
 19116  
 19117  	if invalidParams.Len() > 0 {
 19118  		return invalidParams
 19119  	}
 19120  	return nil
 19121  }
 19122  
 19123  // SetArn sets the Arn field's value.
 19124  func (s *StopRemoteAccessSessionInput) SetArn(v string) *StopRemoteAccessSessionInput {
 19125  	s.Arn = &v
 19126  	return s
 19127  }
 19128  
 19129  // Represents the response from the server that describes the remote access
 19130  // session when AWS Device Farm stops the session.
 19131  type StopRemoteAccessSessionOutput struct {
 19132  	_ struct{} `type:"structure"`
 19133  
 19134  	// A container that represents the metadata from the service about the remote
 19135  	// access session you are stopping.
 19136  	RemoteAccessSession *RemoteAccessSession `locationName:"remoteAccessSession" type:"structure"`
 19137  }
 19138  
 19139  // String returns the string representation.
 19140  //
 19141  // API parameter values that are decorated as "sensitive" in the API will not
 19142  // be included in the string output. The member name will be present, but the
 19143  // value will be replaced with "sensitive".
 19144  func (s StopRemoteAccessSessionOutput) String() string {
 19145  	return awsutil.Prettify(s)
 19146  }
 19147  
 19148  // GoString returns the string representation.
 19149  //
 19150  // API parameter values that are decorated as "sensitive" in the API will not
 19151  // be included in the string output. The member name will be present, but the
 19152  // value will be replaced with "sensitive".
 19153  func (s StopRemoteAccessSessionOutput) GoString() string {
 19154  	return s.String()
 19155  }
 19156  
 19157  // SetRemoteAccessSession sets the RemoteAccessSession field's value.
 19158  func (s *StopRemoteAccessSessionOutput) SetRemoteAccessSession(v *RemoteAccessSession) *StopRemoteAccessSessionOutput {
 19159  	s.RemoteAccessSession = v
 19160  	return s
 19161  }
 19162  
 19163  // Represents the request to stop a specific run.
 19164  type StopRunInput struct {
 19165  	_ struct{} `type:"structure"`
 19166  
 19167  	// Represents the Amazon Resource Name (ARN) of the Device Farm run to stop.
 19168  	//
 19169  	// Arn is a required field
 19170  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 19171  }
 19172  
 19173  // String returns the string representation.
 19174  //
 19175  // API parameter values that are decorated as "sensitive" in the API will not
 19176  // be included in the string output. The member name will be present, but the
 19177  // value will be replaced with "sensitive".
 19178  func (s StopRunInput) String() string {
 19179  	return awsutil.Prettify(s)
 19180  }
 19181  
 19182  // GoString returns the string representation.
 19183  //
 19184  // API parameter values that are decorated as "sensitive" in the API will not
 19185  // be included in the string output. The member name will be present, but the
 19186  // value will be replaced with "sensitive".
 19187  func (s StopRunInput) GoString() string {
 19188  	return s.String()
 19189  }
 19190  
 19191  // Validate inspects the fields of the type to determine if they are valid.
 19192  func (s *StopRunInput) Validate() error {
 19193  	invalidParams := request.ErrInvalidParams{Context: "StopRunInput"}
 19194  	if s.Arn == nil {
 19195  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 19196  	}
 19197  	if s.Arn != nil && len(*s.Arn) < 32 {
 19198  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 19199  	}
 19200  
 19201  	if invalidParams.Len() > 0 {
 19202  		return invalidParams
 19203  	}
 19204  	return nil
 19205  }
 19206  
 19207  // SetArn sets the Arn field's value.
 19208  func (s *StopRunInput) SetArn(v string) *StopRunInput {
 19209  	s.Arn = &v
 19210  	return s
 19211  }
 19212  
 19213  // Represents the results of your stop run attempt.
 19214  type StopRunOutput struct {
 19215  	_ struct{} `type:"structure"`
 19216  
 19217  	// The run that was stopped.
 19218  	Run *Run `locationName:"run" type:"structure"`
 19219  }
 19220  
 19221  // String returns the string representation.
 19222  //
 19223  // API parameter values that are decorated as "sensitive" in the API will not
 19224  // be included in the string output. The member name will be present, but the
 19225  // value will be replaced with "sensitive".
 19226  func (s StopRunOutput) String() string {
 19227  	return awsutil.Prettify(s)
 19228  }
 19229  
 19230  // GoString returns the string representation.
 19231  //
 19232  // API parameter values that are decorated as "sensitive" in the API will not
 19233  // be included in the string output. The member name will be present, but the
 19234  // value will be replaced with "sensitive".
 19235  func (s StopRunOutput) GoString() string {
 19236  	return s.String()
 19237  }
 19238  
 19239  // SetRun sets the Run field's value.
 19240  func (s *StopRunOutput) SetRun(v *Run) *StopRunOutput {
 19241  	s.Run = v
 19242  	return s
 19243  }
 19244  
 19245  // Represents a collection of one or more tests.
 19246  type Suite struct {
 19247  	_ struct{} `type:"structure"`
 19248  
 19249  	// The suite's ARN.
 19250  	Arn *string `locationName:"arn" min:"32" type:"string"`
 19251  
 19252  	// The suite's result counters.
 19253  	Counters *Counters `locationName:"counters" type:"structure"`
 19254  
 19255  	// When the suite was created.
 19256  	Created *time.Time `locationName:"created" type:"timestamp"`
 19257  
 19258  	// Represents the total (metered or unmetered) minutes used by the test suite.
 19259  	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
 19260  
 19261  	// A message about the suite's result.
 19262  	Message *string `locationName:"message" type:"string"`
 19263  
 19264  	// The suite's name.
 19265  	Name *string `locationName:"name" type:"string"`
 19266  
 19267  	// The suite's result.
 19268  	//
 19269  	// Allowed values include:
 19270  	//
 19271  	//    * PENDING
 19272  	//
 19273  	//    * PASSED
 19274  	//
 19275  	//    * WARNED
 19276  	//
 19277  	//    * FAILED
 19278  	//
 19279  	//    * SKIPPED
 19280  	//
 19281  	//    * ERRORED
 19282  	//
 19283  	//    * STOPPED
 19284  	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
 19285  
 19286  	// The suite's start time.
 19287  	Started *time.Time `locationName:"started" type:"timestamp"`
 19288  
 19289  	// The suite's status.
 19290  	//
 19291  	// Allowed values include:
 19292  	//
 19293  	//    * PENDING
 19294  	//
 19295  	//    * PENDING_CONCURRENCY
 19296  	//
 19297  	//    * PENDING_DEVICE
 19298  	//
 19299  	//    * PROCESSING
 19300  	//
 19301  	//    * SCHEDULING
 19302  	//
 19303  	//    * PREPARING
 19304  	//
 19305  	//    * RUNNING
 19306  	//
 19307  	//    * COMPLETED
 19308  	//
 19309  	//    * STOPPING
 19310  	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
 19311  
 19312  	// The suite's stop time.
 19313  	Stopped *time.Time `locationName:"stopped" type:"timestamp"`
 19314  
 19315  	// The suite's type.
 19316  	//
 19317  	// Must be one of the following values:
 19318  	//
 19319  	//    * BUILTIN_FUZZ
 19320  	//
 19321  	//    * BUILTIN_EXPLORER Only available for Android; an app explorer that traverses
 19322  	//    an Android app, interacting with it and capturing screenshots at the same
 19323  	//    time.
 19324  	//
 19325  	//    * APPIUM_JAVA_JUNIT
 19326  	//
 19327  	//    * APPIUM_JAVA_TESTNG
 19328  	//
 19329  	//    * APPIUM_PYTHON
 19330  	//
 19331  	//    * APPIUM_NODE
 19332  	//
 19333  	//    * APPIUM_RUBY
 19334  	//
 19335  	//    * APPIUM_WEB_JAVA_JUNIT
 19336  	//
 19337  	//    * APPIUM_WEB_JAVA_TESTNG
 19338  	//
 19339  	//    * APPIUM_WEB_PYTHON
 19340  	//
 19341  	//    * APPIUM_WEB_NODE
 19342  	//
 19343  	//    * APPIUM_WEB_RUBY
 19344  	//
 19345  	//    * CALABASH
 19346  	//
 19347  	//    * INSTRUMENTATION
 19348  	//
 19349  	//    * UIAUTOMATION
 19350  	//
 19351  	//    * UIAUTOMATOR
 19352  	//
 19353  	//    * XCTEST
 19354  	//
 19355  	//    * XCTEST_UI
 19356  	Type *string `locationName:"type" type:"string" enum:"TestType"`
 19357  }
 19358  
 19359  // String returns the string representation.
 19360  //
 19361  // API parameter values that are decorated as "sensitive" in the API will not
 19362  // be included in the string output. The member name will be present, but the
 19363  // value will be replaced with "sensitive".
 19364  func (s Suite) String() string {
 19365  	return awsutil.Prettify(s)
 19366  }
 19367  
 19368  // GoString returns the string representation.
 19369  //
 19370  // API parameter values that are decorated as "sensitive" in the API will not
 19371  // be included in the string output. The member name will be present, but the
 19372  // value will be replaced with "sensitive".
 19373  func (s Suite) GoString() string {
 19374  	return s.String()
 19375  }
 19376  
 19377  // SetArn sets the Arn field's value.
 19378  func (s *Suite) SetArn(v string) *Suite {
 19379  	s.Arn = &v
 19380  	return s
 19381  }
 19382  
 19383  // SetCounters sets the Counters field's value.
 19384  func (s *Suite) SetCounters(v *Counters) *Suite {
 19385  	s.Counters = v
 19386  	return s
 19387  }
 19388  
 19389  // SetCreated sets the Created field's value.
 19390  func (s *Suite) SetCreated(v time.Time) *Suite {
 19391  	s.Created = &v
 19392  	return s
 19393  }
 19394  
 19395  // SetDeviceMinutes sets the DeviceMinutes field's value.
 19396  func (s *Suite) SetDeviceMinutes(v *DeviceMinutes) *Suite {
 19397  	s.DeviceMinutes = v
 19398  	return s
 19399  }
 19400  
 19401  // SetMessage sets the Message field's value.
 19402  func (s *Suite) SetMessage(v string) *Suite {
 19403  	s.Message = &v
 19404  	return s
 19405  }
 19406  
 19407  // SetName sets the Name field's value.
 19408  func (s *Suite) SetName(v string) *Suite {
 19409  	s.Name = &v
 19410  	return s
 19411  }
 19412  
 19413  // SetResult sets the Result field's value.
 19414  func (s *Suite) SetResult(v string) *Suite {
 19415  	s.Result = &v
 19416  	return s
 19417  }
 19418  
 19419  // SetStarted sets the Started field's value.
 19420  func (s *Suite) SetStarted(v time.Time) *Suite {
 19421  	s.Started = &v
 19422  	return s
 19423  }
 19424  
 19425  // SetStatus sets the Status field's value.
 19426  func (s *Suite) SetStatus(v string) *Suite {
 19427  	s.Status = &v
 19428  	return s
 19429  }
 19430  
 19431  // SetStopped sets the Stopped field's value.
 19432  func (s *Suite) SetStopped(v time.Time) *Suite {
 19433  	s.Stopped = &v
 19434  	return s
 19435  }
 19436  
 19437  // SetType sets the Type field's value.
 19438  func (s *Suite) SetType(v string) *Suite {
 19439  	s.Type = &v
 19440  	return s
 19441  }
 19442  
 19443  // The metadata that you apply to a resource to help you categorize and organize
 19444  // it. Each tag consists of a key and an optional value, both of which you define.
 19445  // Tag keys can have a maximum character length of 128 characters. Tag values
 19446  // can have a maximum length of 256 characters.
 19447  type Tag struct {
 19448  	_ struct{} `type:"structure"`
 19449  
 19450  	// One part of a key-value pair that makes up a tag. A key is a general label
 19451  	// that acts like a category for more specific tag values.
 19452  	//
 19453  	// Key is a required field
 19454  	Key *string `min:"1" type:"string" required:"true"`
 19455  
 19456  	// The optional part of a key-value pair that makes up a tag. A value acts as
 19457  	// a descriptor in a tag category (key).
 19458  	//
 19459  	// Value is a required field
 19460  	Value *string `type:"string" required:"true"`
 19461  }
 19462  
 19463  // String returns the string representation.
 19464  //
 19465  // API parameter values that are decorated as "sensitive" in the API will not
 19466  // be included in the string output. The member name will be present, but the
 19467  // value will be replaced with "sensitive".
 19468  func (s Tag) String() string {
 19469  	return awsutil.Prettify(s)
 19470  }
 19471  
 19472  // GoString returns the string representation.
 19473  //
 19474  // API parameter values that are decorated as "sensitive" in the API will not
 19475  // be included in the string output. The member name will be present, but the
 19476  // value will be replaced with "sensitive".
 19477  func (s Tag) GoString() string {
 19478  	return s.String()
 19479  }
 19480  
 19481  // Validate inspects the fields of the type to determine if they are valid.
 19482  func (s *Tag) Validate() error {
 19483  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 19484  	if s.Key == nil {
 19485  		invalidParams.Add(request.NewErrParamRequired("Key"))
 19486  	}
 19487  	if s.Key != nil && len(*s.Key) < 1 {
 19488  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 19489  	}
 19490  	if s.Value == nil {
 19491  		invalidParams.Add(request.NewErrParamRequired("Value"))
 19492  	}
 19493  
 19494  	if invalidParams.Len() > 0 {
 19495  		return invalidParams
 19496  	}
 19497  	return nil
 19498  }
 19499  
 19500  // SetKey sets the Key field's value.
 19501  func (s *Tag) SetKey(v string) *Tag {
 19502  	s.Key = &v
 19503  	return s
 19504  }
 19505  
 19506  // SetValue sets the Value field's value.
 19507  func (s *Tag) SetValue(v string) *Tag {
 19508  	s.Value = &v
 19509  	return s
 19510  }
 19511  
 19512  // The operation was not successful. Try again.
 19513  type TagOperationException struct {
 19514  	_            struct{}                  `type:"structure"`
 19515  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 19516  
 19517  	Message_ *string `locationName:"message" type:"string"`
 19518  
 19519  	ResourceName *string `locationName:"resourceName" min:"32" type:"string"`
 19520  }
 19521  
 19522  // String returns the string representation.
 19523  //
 19524  // API parameter values that are decorated as "sensitive" in the API will not
 19525  // be included in the string output. The member name will be present, but the
 19526  // value will be replaced with "sensitive".
 19527  func (s TagOperationException) String() string {
 19528  	return awsutil.Prettify(s)
 19529  }
 19530  
 19531  // GoString returns the string representation.
 19532  //
 19533  // API parameter values that are decorated as "sensitive" in the API will not
 19534  // be included in the string output. The member name will be present, but the
 19535  // value will be replaced with "sensitive".
 19536  func (s TagOperationException) GoString() string {
 19537  	return s.String()
 19538  }
 19539  
 19540  func newErrorTagOperationException(v protocol.ResponseMetadata) error {
 19541  	return &TagOperationException{
 19542  		RespMetadata: v,
 19543  	}
 19544  }
 19545  
 19546  // Code returns the exception type name.
 19547  func (s *TagOperationException) Code() string {
 19548  	return "TagOperationException"
 19549  }
 19550  
 19551  // Message returns the exception's message.
 19552  func (s *TagOperationException) Message() string {
 19553  	if s.Message_ != nil {
 19554  		return *s.Message_
 19555  	}
 19556  	return ""
 19557  }
 19558  
 19559  // OrigErr always returns nil, satisfies awserr.Error interface.
 19560  func (s *TagOperationException) OrigErr() error {
 19561  	return nil
 19562  }
 19563  
 19564  func (s *TagOperationException) Error() string {
 19565  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 19566  }
 19567  
 19568  // Status code returns the HTTP status code for the request's response error.
 19569  func (s *TagOperationException) StatusCode() int {
 19570  	return s.RespMetadata.StatusCode
 19571  }
 19572  
 19573  // RequestID returns the service's response RequestID for request.
 19574  func (s *TagOperationException) RequestID() string {
 19575  	return s.RespMetadata.RequestID
 19576  }
 19577  
 19578  // The request doesn't comply with the AWS Identity and Access Management (IAM)
 19579  // tag policy. Correct your request and then retry it.
 19580  type TagPolicyException struct {
 19581  	_            struct{}                  `type:"structure"`
 19582  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 19583  
 19584  	Message_ *string `locationName:"message" type:"string"`
 19585  
 19586  	ResourceName *string `locationName:"resourceName" min:"32" type:"string"`
 19587  }
 19588  
 19589  // String returns the string representation.
 19590  //
 19591  // API parameter values that are decorated as "sensitive" in the API will not
 19592  // be included in the string output. The member name will be present, but the
 19593  // value will be replaced with "sensitive".
 19594  func (s TagPolicyException) String() string {
 19595  	return awsutil.Prettify(s)
 19596  }
 19597  
 19598  // GoString returns the string representation.
 19599  //
 19600  // API parameter values that are decorated as "sensitive" in the API will not
 19601  // be included in the string output. The member name will be present, but the
 19602  // value will be replaced with "sensitive".
 19603  func (s TagPolicyException) GoString() string {
 19604  	return s.String()
 19605  }
 19606  
 19607  func newErrorTagPolicyException(v protocol.ResponseMetadata) error {
 19608  	return &TagPolicyException{
 19609  		RespMetadata: v,
 19610  	}
 19611  }
 19612  
 19613  // Code returns the exception type name.
 19614  func (s *TagPolicyException) Code() string {
 19615  	return "TagPolicyException"
 19616  }
 19617  
 19618  // Message returns the exception's message.
 19619  func (s *TagPolicyException) Message() string {
 19620  	if s.Message_ != nil {
 19621  		return *s.Message_
 19622  	}
 19623  	return ""
 19624  }
 19625  
 19626  // OrigErr always returns nil, satisfies awserr.Error interface.
 19627  func (s *TagPolicyException) OrigErr() error {
 19628  	return nil
 19629  }
 19630  
 19631  func (s *TagPolicyException) Error() string {
 19632  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 19633  }
 19634  
 19635  // Status code returns the HTTP status code for the request's response error.
 19636  func (s *TagPolicyException) StatusCode() int {
 19637  	return s.RespMetadata.StatusCode
 19638  }
 19639  
 19640  // RequestID returns the service's response RequestID for request.
 19641  func (s *TagPolicyException) RequestID() string {
 19642  	return s.RespMetadata.RequestID
 19643  }
 19644  
 19645  type TagResourceInput struct {
 19646  	_ struct{} `type:"structure"`
 19647  
 19648  	// The Amazon Resource Name (ARN) of the resource or resources to which to add
 19649  	// tags. You can associate tags with the following Device Farm resources: PROJECT,
 19650  	// RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION, DEVICE_POOL,
 19651  	// DEVICE, and VPCE_CONFIGURATION.
 19652  	//
 19653  	// ResourceARN is a required field
 19654  	ResourceARN *string `min:"32" type:"string" required:"true"`
 19655  
 19656  	// The tags to add to the resource. A tag is an array of key-value pairs. Tag
 19657  	// keys can have a maximum character length of 128 characters. Tag values can
 19658  	// have a maximum length of 256 characters.
 19659  	//
 19660  	// Tags is a required field
 19661  	Tags []*Tag `type:"list" required:"true"`
 19662  }
 19663  
 19664  // String returns the string representation.
 19665  //
 19666  // API parameter values that are decorated as "sensitive" in the API will not
 19667  // be included in the string output. The member name will be present, but the
 19668  // value will be replaced with "sensitive".
 19669  func (s TagResourceInput) String() string {
 19670  	return awsutil.Prettify(s)
 19671  }
 19672  
 19673  // GoString returns the string representation.
 19674  //
 19675  // API parameter values that are decorated as "sensitive" in the API will not
 19676  // be included in the string output. The member name will be present, but the
 19677  // value will be replaced with "sensitive".
 19678  func (s TagResourceInput) GoString() string {
 19679  	return s.String()
 19680  }
 19681  
 19682  // Validate inspects the fields of the type to determine if they are valid.
 19683  func (s *TagResourceInput) Validate() error {
 19684  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 19685  	if s.ResourceARN == nil {
 19686  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 19687  	}
 19688  	if s.ResourceARN != nil && len(*s.ResourceARN) < 32 {
 19689  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 32))
 19690  	}
 19691  	if s.Tags == nil {
 19692  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 19693  	}
 19694  	if s.Tags != nil {
 19695  		for i, v := range s.Tags {
 19696  			if v == nil {
 19697  				continue
 19698  			}
 19699  			if err := v.Validate(); err != nil {
 19700  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 19701  			}
 19702  		}
 19703  	}
 19704  
 19705  	if invalidParams.Len() > 0 {
 19706  		return invalidParams
 19707  	}
 19708  	return nil
 19709  }
 19710  
 19711  // SetResourceARN sets the ResourceARN field's value.
 19712  func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
 19713  	s.ResourceARN = &v
 19714  	return s
 19715  }
 19716  
 19717  // SetTags sets the Tags field's value.
 19718  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
 19719  	s.Tags = v
 19720  	return s
 19721  }
 19722  
 19723  type TagResourceOutput struct {
 19724  	_ struct{} `type:"structure"`
 19725  }
 19726  
 19727  // String returns the string representation.
 19728  //
 19729  // API parameter values that are decorated as "sensitive" in the API will not
 19730  // be included in the string output. The member name will be present, but the
 19731  // value will be replaced with "sensitive".
 19732  func (s TagResourceOutput) String() string {
 19733  	return awsutil.Prettify(s)
 19734  }
 19735  
 19736  // GoString returns the string representation.
 19737  //
 19738  // API parameter values that are decorated as "sensitive" in the API will not
 19739  // be included in the string output. The member name will be present, but the
 19740  // value will be replaced with "sensitive".
 19741  func (s TagResourceOutput) GoString() string {
 19742  	return s.String()
 19743  }
 19744  
 19745  // Represents a condition that is evaluated.
 19746  type Test struct {
 19747  	_ struct{} `type:"structure"`
 19748  
 19749  	// The test's ARN.
 19750  	Arn *string `locationName:"arn" min:"32" type:"string"`
 19751  
 19752  	// The test's result counters.
 19753  	Counters *Counters `locationName:"counters" type:"structure"`
 19754  
 19755  	// When the test was created.
 19756  	Created *time.Time `locationName:"created" type:"timestamp"`
 19757  
 19758  	// Represents the total (metered or unmetered) minutes used by the test.
 19759  	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
 19760  
 19761  	// A message about the test's result.
 19762  	Message *string `locationName:"message" type:"string"`
 19763  
 19764  	// The test's name.
 19765  	Name *string `locationName:"name" type:"string"`
 19766  
 19767  	// The test's result.
 19768  	//
 19769  	// Allowed values include:
 19770  	//
 19771  	//    * PENDING
 19772  	//
 19773  	//    * PASSED
 19774  	//
 19775  	//    * WARNED
 19776  	//
 19777  	//    * FAILED
 19778  	//
 19779  	//    * SKIPPED
 19780  	//
 19781  	//    * ERRORED
 19782  	//
 19783  	//    * STOPPED
 19784  	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
 19785  
 19786  	// The test's start time.
 19787  	Started *time.Time `locationName:"started" type:"timestamp"`
 19788  
 19789  	// The test's status.
 19790  	//
 19791  	// Allowed values include:
 19792  	//
 19793  	//    * PENDING
 19794  	//
 19795  	//    * PENDING_CONCURRENCY
 19796  	//
 19797  	//    * PENDING_DEVICE
 19798  	//
 19799  	//    * PROCESSING
 19800  	//
 19801  	//    * SCHEDULING
 19802  	//
 19803  	//    * PREPARING
 19804  	//
 19805  	//    * RUNNING
 19806  	//
 19807  	//    * COMPLETED
 19808  	//
 19809  	//    * STOPPING
 19810  	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
 19811  
 19812  	// The test's stop time.
 19813  	Stopped *time.Time `locationName:"stopped" type:"timestamp"`
 19814  
 19815  	// The test's type.
 19816  	//
 19817  	// Must be one of the following values:
 19818  	//
 19819  	//    * BUILTIN_FUZZ
 19820  	//
 19821  	//    * BUILTIN_EXPLORER For Android, an app explorer that traverses an Android
 19822  	//    app, interacting with it and capturing screenshots at the same time.
 19823  	//
 19824  	//    * APPIUM_JAVA_JUNIT
 19825  	//
 19826  	//    * APPIUM_JAVA_TESTNG
 19827  	//
 19828  	//    * APPIUM_PYTHON
 19829  	//
 19830  	//    * APPIUM_NODE
 19831  	//
 19832  	//    * APPIUM_RUBY
 19833  	//
 19834  	//    * APPIUM_WEB_JAVA_JUNIT
 19835  	//
 19836  	//    * APPIUM_WEB_JAVA_TESTNG
 19837  	//
 19838  	//    * APPIUM_WEB_PYTHON
 19839  	//
 19840  	//    * APPIUM_WEB_NODE
 19841  	//
 19842  	//    * APPIUM_WEB_RUBY
 19843  	//
 19844  	//    * CALABASH
 19845  	//
 19846  	//    * INSTRUMENTATION
 19847  	//
 19848  	//    * UIAUTOMATION
 19849  	//
 19850  	//    * UIAUTOMATOR
 19851  	//
 19852  	//    * XCTEST
 19853  	//
 19854  	//    * XCTEST_UI
 19855  	Type *string `locationName:"type" type:"string" enum:"TestType"`
 19856  }
 19857  
 19858  // String returns the string representation.
 19859  //
 19860  // API parameter values that are decorated as "sensitive" in the API will not
 19861  // be included in the string output. The member name will be present, but the
 19862  // value will be replaced with "sensitive".
 19863  func (s Test) String() string {
 19864  	return awsutil.Prettify(s)
 19865  }
 19866  
 19867  // GoString returns the string representation.
 19868  //
 19869  // API parameter values that are decorated as "sensitive" in the API will not
 19870  // be included in the string output. The member name will be present, but the
 19871  // value will be replaced with "sensitive".
 19872  func (s Test) GoString() string {
 19873  	return s.String()
 19874  }
 19875  
 19876  // SetArn sets the Arn field's value.
 19877  func (s *Test) SetArn(v string) *Test {
 19878  	s.Arn = &v
 19879  	return s
 19880  }
 19881  
 19882  // SetCounters sets the Counters field's value.
 19883  func (s *Test) SetCounters(v *Counters) *Test {
 19884  	s.Counters = v
 19885  	return s
 19886  }
 19887  
 19888  // SetCreated sets the Created field's value.
 19889  func (s *Test) SetCreated(v time.Time) *Test {
 19890  	s.Created = &v
 19891  	return s
 19892  }
 19893  
 19894  // SetDeviceMinutes sets the DeviceMinutes field's value.
 19895  func (s *Test) SetDeviceMinutes(v *DeviceMinutes) *Test {
 19896  	s.DeviceMinutes = v
 19897  	return s
 19898  }
 19899  
 19900  // SetMessage sets the Message field's value.
 19901  func (s *Test) SetMessage(v string) *Test {
 19902  	s.Message = &v
 19903  	return s
 19904  }
 19905  
 19906  // SetName sets the Name field's value.
 19907  func (s *Test) SetName(v string) *Test {
 19908  	s.Name = &v
 19909  	return s
 19910  }
 19911  
 19912  // SetResult sets the Result field's value.
 19913  func (s *Test) SetResult(v string) *Test {
 19914  	s.Result = &v
 19915  	return s
 19916  }
 19917  
 19918  // SetStarted sets the Started field's value.
 19919  func (s *Test) SetStarted(v time.Time) *Test {
 19920  	s.Started = &v
 19921  	return s
 19922  }
 19923  
 19924  // SetStatus sets the Status field's value.
 19925  func (s *Test) SetStatus(v string) *Test {
 19926  	s.Status = &v
 19927  	return s
 19928  }
 19929  
 19930  // SetStopped sets the Stopped field's value.
 19931  func (s *Test) SetStopped(v time.Time) *Test {
 19932  	s.Stopped = &v
 19933  	return s
 19934  }
 19935  
 19936  // SetType sets the Type field's value.
 19937  func (s *Test) SetType(v string) *Test {
 19938  	s.Type = &v
 19939  	return s
 19940  }
 19941  
 19942  // A Selenium testing project. Projects are used to collect and collate sessions.
 19943  type TestGridProject struct {
 19944  	_ struct{} `type:"structure"`
 19945  
 19946  	// The ARN for the project.
 19947  	Arn *string `locationName:"arn" min:"32" type:"string"`
 19948  
 19949  	// When the project was created.
 19950  	Created *time.Time `locationName:"created" type:"timestamp"`
 19951  
 19952  	// A human-readable description for the project.
 19953  	Description *string `locationName:"description" type:"string"`
 19954  
 19955  	// A human-readable name for the project.
 19956  	Name *string `locationName:"name" type:"string"`
 19957  
 19958  	// The VPC security groups and subnets that are attached to a project.
 19959  	VpcConfig *TestGridVpcConfig `locationName:"vpcConfig" type:"structure"`
 19960  }
 19961  
 19962  // String returns the string representation.
 19963  //
 19964  // API parameter values that are decorated as "sensitive" in the API will not
 19965  // be included in the string output. The member name will be present, but the
 19966  // value will be replaced with "sensitive".
 19967  func (s TestGridProject) String() string {
 19968  	return awsutil.Prettify(s)
 19969  }
 19970  
 19971  // GoString returns the string representation.
 19972  //
 19973  // API parameter values that are decorated as "sensitive" in the API will not
 19974  // be included in the string output. The member name will be present, but the
 19975  // value will be replaced with "sensitive".
 19976  func (s TestGridProject) GoString() string {
 19977  	return s.String()
 19978  }
 19979  
 19980  // SetArn sets the Arn field's value.
 19981  func (s *TestGridProject) SetArn(v string) *TestGridProject {
 19982  	s.Arn = &v
 19983  	return s
 19984  }
 19985  
 19986  // SetCreated sets the Created field's value.
 19987  func (s *TestGridProject) SetCreated(v time.Time) *TestGridProject {
 19988  	s.Created = &v
 19989  	return s
 19990  }
 19991  
 19992  // SetDescription sets the Description field's value.
 19993  func (s *TestGridProject) SetDescription(v string) *TestGridProject {
 19994  	s.Description = &v
 19995  	return s
 19996  }
 19997  
 19998  // SetName sets the Name field's value.
 19999  func (s *TestGridProject) SetName(v string) *TestGridProject {
 20000  	s.Name = &v
 20001  	return s
 20002  }
 20003  
 20004  // SetVpcConfig sets the VpcConfig field's value.
 20005  func (s *TestGridProject) SetVpcConfig(v *TestGridVpcConfig) *TestGridProject {
 20006  	s.VpcConfig = v
 20007  	return s
 20008  }
 20009  
 20010  // A TestGridSession is a single instance of a browser launched from the URL
 20011  // provided by a call to CreateTestGridUrl.
 20012  type TestGridSession struct {
 20013  	_ struct{} `type:"structure"`
 20014  
 20015  	// The ARN of the session.
 20016  	Arn *string `locationName:"arn" min:"32" type:"string"`
 20017  
 20018  	// The number of billed minutes that were used for this session.
 20019  	BillingMinutes *float64 `locationName:"billingMinutes" type:"double"`
 20020  
 20021  	// The time that the session was started.
 20022  	Created *time.Time `locationName:"created" type:"timestamp"`
 20023  
 20024  	// The time the session ended.
 20025  	Ended *time.Time `locationName:"ended" type:"timestamp"`
 20026  
 20027  	// A JSON object of options and parameters passed to the Selenium WebDriver.
 20028  	SeleniumProperties *string `locationName:"seleniumProperties" type:"string"`
 20029  
 20030  	// The state of the session.
 20031  	Status *string `locationName:"status" type:"string" enum:"TestGridSessionStatus"`
 20032  }
 20033  
 20034  // String returns the string representation.
 20035  //
 20036  // API parameter values that are decorated as "sensitive" in the API will not
 20037  // be included in the string output. The member name will be present, but the
 20038  // value will be replaced with "sensitive".
 20039  func (s TestGridSession) String() string {
 20040  	return awsutil.Prettify(s)
 20041  }
 20042  
 20043  // GoString returns the string representation.
 20044  //
 20045  // API parameter values that are decorated as "sensitive" in the API will not
 20046  // be included in the string output. The member name will be present, but the
 20047  // value will be replaced with "sensitive".
 20048  func (s TestGridSession) GoString() string {
 20049  	return s.String()
 20050  }
 20051  
 20052  // SetArn sets the Arn field's value.
 20053  func (s *TestGridSession) SetArn(v string) *TestGridSession {
 20054  	s.Arn = &v
 20055  	return s
 20056  }
 20057  
 20058  // SetBillingMinutes sets the BillingMinutes field's value.
 20059  func (s *TestGridSession) SetBillingMinutes(v float64) *TestGridSession {
 20060  	s.BillingMinutes = &v
 20061  	return s
 20062  }
 20063  
 20064  // SetCreated sets the Created field's value.
 20065  func (s *TestGridSession) SetCreated(v time.Time) *TestGridSession {
 20066  	s.Created = &v
 20067  	return s
 20068  }
 20069  
 20070  // SetEnded sets the Ended field's value.
 20071  func (s *TestGridSession) SetEnded(v time.Time) *TestGridSession {
 20072  	s.Ended = &v
 20073  	return s
 20074  }
 20075  
 20076  // SetSeleniumProperties sets the SeleniumProperties field's value.
 20077  func (s *TestGridSession) SetSeleniumProperties(v string) *TestGridSession {
 20078  	s.SeleniumProperties = &v
 20079  	return s
 20080  }
 20081  
 20082  // SetStatus sets the Status field's value.
 20083  func (s *TestGridSession) SetStatus(v string) *TestGridSession {
 20084  	s.Status = &v
 20085  	return s
 20086  }
 20087  
 20088  // An action taken by a TestGridSession browser instance.
 20089  type TestGridSessionAction struct {
 20090  	_ struct{} `type:"structure"`
 20091  
 20092  	// The action taken by the session.
 20093  	Action *string `locationName:"action" type:"string"`
 20094  
 20095  	// The time, in milliseconds, that the action took to complete in the browser.
 20096  	Duration *int64 `locationName:"duration" type:"long"`
 20097  
 20098  	// HTTP method that the browser used to make the request.
 20099  	RequestMethod *string `locationName:"requestMethod" type:"string"`
 20100  
 20101  	// The time that the session invoked the action.
 20102  	Started *time.Time `locationName:"started" type:"timestamp"`
 20103  
 20104  	// HTTP status code returned to the browser when the action was taken.
 20105  	StatusCode *string `locationName:"statusCode" type:"string"`
 20106  }
 20107  
 20108  // String returns the string representation.
 20109  //
 20110  // API parameter values that are decorated as "sensitive" in the API will not
 20111  // be included in the string output. The member name will be present, but the
 20112  // value will be replaced with "sensitive".
 20113  func (s TestGridSessionAction) String() string {
 20114  	return awsutil.Prettify(s)
 20115  }
 20116  
 20117  // GoString returns the string representation.
 20118  //
 20119  // API parameter values that are decorated as "sensitive" in the API will not
 20120  // be included in the string output. The member name will be present, but the
 20121  // value will be replaced with "sensitive".
 20122  func (s TestGridSessionAction) GoString() string {
 20123  	return s.String()
 20124  }
 20125  
 20126  // SetAction sets the Action field's value.
 20127  func (s *TestGridSessionAction) SetAction(v string) *TestGridSessionAction {
 20128  	s.Action = &v
 20129  	return s
 20130  }
 20131  
 20132  // SetDuration sets the Duration field's value.
 20133  func (s *TestGridSessionAction) SetDuration(v int64) *TestGridSessionAction {
 20134  	s.Duration = &v
 20135  	return s
 20136  }
 20137  
 20138  // SetRequestMethod sets the RequestMethod field's value.
 20139  func (s *TestGridSessionAction) SetRequestMethod(v string) *TestGridSessionAction {
 20140  	s.RequestMethod = &v
 20141  	return s
 20142  }
 20143  
 20144  // SetStarted sets the Started field's value.
 20145  func (s *TestGridSessionAction) SetStarted(v time.Time) *TestGridSessionAction {
 20146  	s.Started = &v
 20147  	return s
 20148  }
 20149  
 20150  // SetStatusCode sets the StatusCode field's value.
 20151  func (s *TestGridSessionAction) SetStatusCode(v string) *TestGridSessionAction {
 20152  	s.StatusCode = &v
 20153  	return s
 20154  }
 20155  
 20156  // Artifacts are video and other files that are produced in the process of running
 20157  // a browser in an automated context.
 20158  //
 20159  // Video elements might be broken up into multiple artifacts as they grow in
 20160  // size during creation.
 20161  type TestGridSessionArtifact struct {
 20162  	_ struct{} `type:"structure"`
 20163  
 20164  	// The file name of the artifact.
 20165  	Filename *string `locationName:"filename" type:"string"`
 20166  
 20167  	// The kind of artifact.
 20168  	Type *string `locationName:"type" type:"string" enum:"TestGridSessionArtifactType"`
 20169  
 20170  	// A semi-stable URL to the content of the object.
 20171  	//
 20172  	// Url is a sensitive parameter and its value will be
 20173  	// replaced with "sensitive" in string returned by TestGridSessionArtifact's
 20174  	// String and GoString methods.
 20175  	Url *string `locationName:"url" type:"string" sensitive:"true"`
 20176  }
 20177  
 20178  // String returns the string representation.
 20179  //
 20180  // API parameter values that are decorated as "sensitive" in the API will not
 20181  // be included in the string output. The member name will be present, but the
 20182  // value will be replaced with "sensitive".
 20183  func (s TestGridSessionArtifact) String() string {
 20184  	return awsutil.Prettify(s)
 20185  }
 20186  
 20187  // GoString returns the string representation.
 20188  //
 20189  // API parameter values that are decorated as "sensitive" in the API will not
 20190  // be included in the string output. The member name will be present, but the
 20191  // value will be replaced with "sensitive".
 20192  func (s TestGridSessionArtifact) GoString() string {
 20193  	return s.String()
 20194  }
 20195  
 20196  // SetFilename sets the Filename field's value.
 20197  func (s *TestGridSessionArtifact) SetFilename(v string) *TestGridSessionArtifact {
 20198  	s.Filename = &v
 20199  	return s
 20200  }
 20201  
 20202  // SetType sets the Type field's value.
 20203  func (s *TestGridSessionArtifact) SetType(v string) *TestGridSessionArtifact {
 20204  	s.Type = &v
 20205  	return s
 20206  }
 20207  
 20208  // SetUrl sets the Url field's value.
 20209  func (s *TestGridSessionArtifact) SetUrl(v string) *TestGridSessionArtifact {
 20210  	s.Url = &v
 20211  	return s
 20212  }
 20213  
 20214  // The VPC security groups and subnets that are attached to a project.
 20215  type TestGridVpcConfig struct {
 20216  	_ struct{} `type:"structure"`
 20217  
 20218  	// A list of VPC security group IDs in your Amazon VPC.
 20219  	//
 20220  	// SecurityGroupIds is a required field
 20221  	SecurityGroupIds []*string `locationName:"securityGroupIds" min:"1" type:"list" required:"true"`
 20222  
 20223  	// A list of VPC subnet IDs in your Amazon VPC.
 20224  	//
 20225  	// SubnetIds is a required field
 20226  	SubnetIds []*string `locationName:"subnetIds" min:"1" type:"list" required:"true"`
 20227  
 20228  	// The ID of the Amazon VPC.
 20229  	//
 20230  	// VpcId is a required field
 20231  	VpcId *string `locationName:"vpcId" min:"1" type:"string" required:"true"`
 20232  }
 20233  
 20234  // String returns the string representation.
 20235  //
 20236  // API parameter values that are decorated as "sensitive" in the API will not
 20237  // be included in the string output. The member name will be present, but the
 20238  // value will be replaced with "sensitive".
 20239  func (s TestGridVpcConfig) String() string {
 20240  	return awsutil.Prettify(s)
 20241  }
 20242  
 20243  // GoString returns the string representation.
 20244  //
 20245  // API parameter values that are decorated as "sensitive" in the API will not
 20246  // be included in the string output. The member name will be present, but the
 20247  // value will be replaced with "sensitive".
 20248  func (s TestGridVpcConfig) GoString() string {
 20249  	return s.String()
 20250  }
 20251  
 20252  // Validate inspects the fields of the type to determine if they are valid.
 20253  func (s *TestGridVpcConfig) Validate() error {
 20254  	invalidParams := request.ErrInvalidParams{Context: "TestGridVpcConfig"}
 20255  	if s.SecurityGroupIds == nil {
 20256  		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
 20257  	}
 20258  	if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 {
 20259  		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1))
 20260  	}
 20261  	if s.SubnetIds == nil {
 20262  		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
 20263  	}
 20264  	if s.SubnetIds != nil && len(s.SubnetIds) < 1 {
 20265  		invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 1))
 20266  	}
 20267  	if s.VpcId == nil {
 20268  		invalidParams.Add(request.NewErrParamRequired("VpcId"))
 20269  	}
 20270  	if s.VpcId != nil && len(*s.VpcId) < 1 {
 20271  		invalidParams.Add(request.NewErrParamMinLen("VpcId", 1))
 20272  	}
 20273  
 20274  	if invalidParams.Len() > 0 {
 20275  		return invalidParams
 20276  	}
 20277  	return nil
 20278  }
 20279  
 20280  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 20281  func (s *TestGridVpcConfig) SetSecurityGroupIds(v []*string) *TestGridVpcConfig {
 20282  	s.SecurityGroupIds = v
 20283  	return s
 20284  }
 20285  
 20286  // SetSubnetIds sets the SubnetIds field's value.
 20287  func (s *TestGridVpcConfig) SetSubnetIds(v []*string) *TestGridVpcConfig {
 20288  	s.SubnetIds = v
 20289  	return s
 20290  }
 20291  
 20292  // SetVpcId sets the VpcId field's value.
 20293  func (s *TestGridVpcConfig) SetVpcId(v string) *TestGridVpcConfig {
 20294  	s.VpcId = &v
 20295  	return s
 20296  }
 20297  
 20298  // The list of tags on the repository is over the limit. The maximum number
 20299  // of tags that can be applied to a repository is 50.
 20300  type TooManyTagsException struct {
 20301  	_            struct{}                  `type:"structure"`
 20302  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 20303  
 20304  	Message_ *string `locationName:"message" type:"string"`
 20305  
 20306  	ResourceName *string `locationName:"resourceName" min:"32" type:"string"`
 20307  }
 20308  
 20309  // String returns the string representation.
 20310  //
 20311  // API parameter values that are decorated as "sensitive" in the API will not
 20312  // be included in the string output. The member name will be present, but the
 20313  // value will be replaced with "sensitive".
 20314  func (s TooManyTagsException) String() string {
 20315  	return awsutil.Prettify(s)
 20316  }
 20317  
 20318  // GoString returns the string representation.
 20319  //
 20320  // API parameter values that are decorated as "sensitive" in the API will not
 20321  // be included in the string output. The member name will be present, but the
 20322  // value will be replaced with "sensitive".
 20323  func (s TooManyTagsException) GoString() string {
 20324  	return s.String()
 20325  }
 20326  
 20327  func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
 20328  	return &TooManyTagsException{
 20329  		RespMetadata: v,
 20330  	}
 20331  }
 20332  
 20333  // Code returns the exception type name.
 20334  func (s *TooManyTagsException) Code() string {
 20335  	return "TooManyTagsException"
 20336  }
 20337  
 20338  // Message returns the exception's message.
 20339  func (s *TooManyTagsException) Message() string {
 20340  	if s.Message_ != nil {
 20341  		return *s.Message_
 20342  	}
 20343  	return ""
 20344  }
 20345  
 20346  // OrigErr always returns nil, satisfies awserr.Error interface.
 20347  func (s *TooManyTagsException) OrigErr() error {
 20348  	return nil
 20349  }
 20350  
 20351  func (s *TooManyTagsException) Error() string {
 20352  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 20353  }
 20354  
 20355  // Status code returns the HTTP status code for the request's response error.
 20356  func (s *TooManyTagsException) StatusCode() int {
 20357  	return s.RespMetadata.StatusCode
 20358  }
 20359  
 20360  // RequestID returns the service's response RequestID for request.
 20361  func (s *TooManyTagsException) RequestID() string {
 20362  	return s.RespMetadata.RequestID
 20363  }
 20364  
 20365  // Represents information about free trial device minutes for an AWS account.
 20366  type TrialMinutes struct {
 20367  	_ struct{} `type:"structure"`
 20368  
 20369  	// The number of free trial minutes remaining in the account.
 20370  	Remaining *float64 `locationName:"remaining" type:"double"`
 20371  
 20372  	// The total number of free trial minutes that the account started with.
 20373  	Total *float64 `locationName:"total" type:"double"`
 20374  }
 20375  
 20376  // String returns the string representation.
 20377  //
 20378  // API parameter values that are decorated as "sensitive" in the API will not
 20379  // be included in the string output. The member name will be present, but the
 20380  // value will be replaced with "sensitive".
 20381  func (s TrialMinutes) String() string {
 20382  	return awsutil.Prettify(s)
 20383  }
 20384  
 20385  // GoString returns the string representation.
 20386  //
 20387  // API parameter values that are decorated as "sensitive" in the API will not
 20388  // be included in the string output. The member name will be present, but the
 20389  // value will be replaced with "sensitive".
 20390  func (s TrialMinutes) GoString() string {
 20391  	return s.String()
 20392  }
 20393  
 20394  // SetRemaining sets the Remaining field's value.
 20395  func (s *TrialMinutes) SetRemaining(v float64) *TrialMinutes {
 20396  	s.Remaining = &v
 20397  	return s
 20398  }
 20399  
 20400  // SetTotal sets the Total field's value.
 20401  func (s *TrialMinutes) SetTotal(v float64) *TrialMinutes {
 20402  	s.Total = &v
 20403  	return s
 20404  }
 20405  
 20406  // A collection of one or more problems, grouped by their result.
 20407  type UniqueProblem struct {
 20408  	_ struct{} `type:"structure"`
 20409  
 20410  	// A message about the unique problems' result.
 20411  	Message *string `locationName:"message" type:"string"`
 20412  
 20413  	// Information about the problems.
 20414  	Problems []*Problem `locationName:"problems" type:"list"`
 20415  }
 20416  
 20417  // String returns the string representation.
 20418  //
 20419  // API parameter values that are decorated as "sensitive" in the API will not
 20420  // be included in the string output. The member name will be present, but the
 20421  // value will be replaced with "sensitive".
 20422  func (s UniqueProblem) String() string {
 20423  	return awsutil.Prettify(s)
 20424  }
 20425  
 20426  // GoString returns the string representation.
 20427  //
 20428  // API parameter values that are decorated as "sensitive" in the API will not
 20429  // be included in the string output. The member name will be present, but the
 20430  // value will be replaced with "sensitive".
 20431  func (s UniqueProblem) GoString() string {
 20432  	return s.String()
 20433  }
 20434  
 20435  // SetMessage sets the Message field's value.
 20436  func (s *UniqueProblem) SetMessage(v string) *UniqueProblem {
 20437  	s.Message = &v
 20438  	return s
 20439  }
 20440  
 20441  // SetProblems sets the Problems field's value.
 20442  func (s *UniqueProblem) SetProblems(v []*Problem) *UniqueProblem {
 20443  	s.Problems = v
 20444  	return s
 20445  }
 20446  
 20447  type UntagResourceInput struct {
 20448  	_ struct{} `type:"structure"`
 20449  
 20450  	// The Amazon Resource Name (ARN) of the resource or resources from which to
 20451  	// delete tags. You can associate tags with the following Device Farm resources:
 20452  	// PROJECT, RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION,
 20453  	// DEVICE_POOL, DEVICE, and VPCE_CONFIGURATION.
 20454  	//
 20455  	// ResourceARN is a required field
 20456  	ResourceARN *string `min:"32" type:"string" required:"true"`
 20457  
 20458  	// The keys of the tags to be removed.
 20459  	//
 20460  	// TagKeys is a required field
 20461  	TagKeys []*string `type:"list" required:"true"`
 20462  }
 20463  
 20464  // String returns the string representation.
 20465  //
 20466  // API parameter values that are decorated as "sensitive" in the API will not
 20467  // be included in the string output. The member name will be present, but the
 20468  // value will be replaced with "sensitive".
 20469  func (s UntagResourceInput) String() string {
 20470  	return awsutil.Prettify(s)
 20471  }
 20472  
 20473  // GoString returns the string representation.
 20474  //
 20475  // API parameter values that are decorated as "sensitive" in the API will not
 20476  // be included in the string output. The member name will be present, but the
 20477  // value will be replaced with "sensitive".
 20478  func (s UntagResourceInput) GoString() string {
 20479  	return s.String()
 20480  }
 20481  
 20482  // Validate inspects the fields of the type to determine if they are valid.
 20483  func (s *UntagResourceInput) Validate() error {
 20484  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 20485  	if s.ResourceARN == nil {
 20486  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 20487  	}
 20488  	if s.ResourceARN != nil && len(*s.ResourceARN) < 32 {
 20489  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 32))
 20490  	}
 20491  	if s.TagKeys == nil {
 20492  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 20493  	}
 20494  
 20495  	if invalidParams.Len() > 0 {
 20496  		return invalidParams
 20497  	}
 20498  	return nil
 20499  }
 20500  
 20501  // SetResourceARN sets the ResourceARN field's value.
 20502  func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
 20503  	s.ResourceARN = &v
 20504  	return s
 20505  }
 20506  
 20507  // SetTagKeys sets the TagKeys field's value.
 20508  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 20509  	s.TagKeys = v
 20510  	return s
 20511  }
 20512  
 20513  type UntagResourceOutput struct {
 20514  	_ struct{} `type:"structure"`
 20515  }
 20516  
 20517  // String returns the string representation.
 20518  //
 20519  // API parameter values that are decorated as "sensitive" in the API will not
 20520  // be included in the string output. The member name will be present, but the
 20521  // value will be replaced with "sensitive".
 20522  func (s UntagResourceOutput) String() string {
 20523  	return awsutil.Prettify(s)
 20524  }
 20525  
 20526  // GoString returns the string representation.
 20527  //
 20528  // API parameter values that are decorated as "sensitive" in the API will not
 20529  // be included in the string output. The member name will be present, but the
 20530  // value will be replaced with "sensitive".
 20531  func (s UntagResourceOutput) GoString() string {
 20532  	return s.String()
 20533  }
 20534  
 20535  type UpdateDeviceInstanceInput struct {
 20536  	_ struct{} `type:"structure"`
 20537  
 20538  	// The Amazon Resource Name (ARN) of the device instance.
 20539  	//
 20540  	// Arn is a required field
 20541  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 20542  
 20543  	// An array of strings that you want to associate with the device instance.
 20544  	Labels []*string `locationName:"labels" type:"list"`
 20545  
 20546  	// The ARN of the profile that you want to associate with the device instance.
 20547  	ProfileArn *string `locationName:"profileArn" min:"32" type:"string"`
 20548  }
 20549  
 20550  // String returns the string representation.
 20551  //
 20552  // API parameter values that are decorated as "sensitive" in the API will not
 20553  // be included in the string output. The member name will be present, but the
 20554  // value will be replaced with "sensitive".
 20555  func (s UpdateDeviceInstanceInput) String() string {
 20556  	return awsutil.Prettify(s)
 20557  }
 20558  
 20559  // GoString returns the string representation.
 20560  //
 20561  // API parameter values that are decorated as "sensitive" in the API will not
 20562  // be included in the string output. The member name will be present, but the
 20563  // value will be replaced with "sensitive".
 20564  func (s UpdateDeviceInstanceInput) GoString() string {
 20565  	return s.String()
 20566  }
 20567  
 20568  // Validate inspects the fields of the type to determine if they are valid.
 20569  func (s *UpdateDeviceInstanceInput) Validate() error {
 20570  	invalidParams := request.ErrInvalidParams{Context: "UpdateDeviceInstanceInput"}
 20571  	if s.Arn == nil {
 20572  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 20573  	}
 20574  	if s.Arn != nil && len(*s.Arn) < 32 {
 20575  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 20576  	}
 20577  	if s.ProfileArn != nil && len(*s.ProfileArn) < 32 {
 20578  		invalidParams.Add(request.NewErrParamMinLen("ProfileArn", 32))
 20579  	}
 20580  
 20581  	if invalidParams.Len() > 0 {
 20582  		return invalidParams
 20583  	}
 20584  	return nil
 20585  }
 20586  
 20587  // SetArn sets the Arn field's value.
 20588  func (s *UpdateDeviceInstanceInput) SetArn(v string) *UpdateDeviceInstanceInput {
 20589  	s.Arn = &v
 20590  	return s
 20591  }
 20592  
 20593  // SetLabels sets the Labels field's value.
 20594  func (s *UpdateDeviceInstanceInput) SetLabels(v []*string) *UpdateDeviceInstanceInput {
 20595  	s.Labels = v
 20596  	return s
 20597  }
 20598  
 20599  // SetProfileArn sets the ProfileArn field's value.
 20600  func (s *UpdateDeviceInstanceInput) SetProfileArn(v string) *UpdateDeviceInstanceInput {
 20601  	s.ProfileArn = &v
 20602  	return s
 20603  }
 20604  
 20605  type UpdateDeviceInstanceOutput struct {
 20606  	_ struct{} `type:"structure"`
 20607  
 20608  	// An object that contains information about your device instance.
 20609  	DeviceInstance *DeviceInstance `locationName:"deviceInstance" type:"structure"`
 20610  }
 20611  
 20612  // String returns the string representation.
 20613  //
 20614  // API parameter values that are decorated as "sensitive" in the API will not
 20615  // be included in the string output. The member name will be present, but the
 20616  // value will be replaced with "sensitive".
 20617  func (s UpdateDeviceInstanceOutput) String() string {
 20618  	return awsutil.Prettify(s)
 20619  }
 20620  
 20621  // GoString returns the string representation.
 20622  //
 20623  // API parameter values that are decorated as "sensitive" in the API will not
 20624  // be included in the string output. The member name will be present, but the
 20625  // value will be replaced with "sensitive".
 20626  func (s UpdateDeviceInstanceOutput) GoString() string {
 20627  	return s.String()
 20628  }
 20629  
 20630  // SetDeviceInstance sets the DeviceInstance field's value.
 20631  func (s *UpdateDeviceInstanceOutput) SetDeviceInstance(v *DeviceInstance) *UpdateDeviceInstanceOutput {
 20632  	s.DeviceInstance = v
 20633  	return s
 20634  }
 20635  
 20636  // Represents a request to the update device pool operation.
 20637  type UpdateDevicePoolInput struct {
 20638  	_ struct{} `type:"structure"`
 20639  
 20640  	// The Amazon Resource Name (ARN) of the Device Farm device pool to update.
 20641  	//
 20642  	// Arn is a required field
 20643  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 20644  
 20645  	// Sets whether the maxDevices parameter applies to your device pool. If you
 20646  	// set this parameter to true, the maxDevices parameter does not apply, and
 20647  	// Device Farm does not limit the number of devices that it adds to your device
 20648  	// pool. In this case, Device Farm adds all available devices that meet the
 20649  	// criteria specified in the rules parameter.
 20650  	//
 20651  	// If you use this parameter in your request, you cannot use the maxDevices
 20652  	// parameter in the same request.
 20653  	ClearMaxDevices *bool `locationName:"clearMaxDevices" type:"boolean"`
 20654  
 20655  	// A description of the device pool to update.
 20656  	Description *string `locationName:"description" type:"string"`
 20657  
 20658  	// The number of devices that Device Farm can add to your device pool. Device
 20659  	// Farm adds devices that are available and that meet the criteria that you
 20660  	// assign for the rules parameter. Depending on how many devices meet these
 20661  	// constraints, your device pool might contain fewer devices than the value
 20662  	// for this parameter.
 20663  	//
 20664  	// By specifying the maximum number of devices, you can control the costs that
 20665  	// you incur by running tests.
 20666  	//
 20667  	// If you use this parameter in your request, you cannot use the clearMaxDevices
 20668  	// parameter in the same request.
 20669  	MaxDevices *int64 `locationName:"maxDevices" type:"integer"`
 20670  
 20671  	// A string that represents the name of the device pool to update.
 20672  	Name *string `locationName:"name" type:"string"`
 20673  
 20674  	// Represents the rules to modify for the device pool. Updating rules is optional.
 20675  	// If you update rules for your request, the update replaces the existing rules.
 20676  	Rules []*Rule `locationName:"rules" type:"list"`
 20677  }
 20678  
 20679  // String returns the string representation.
 20680  //
 20681  // API parameter values that are decorated as "sensitive" in the API will not
 20682  // be included in the string output. The member name will be present, but the
 20683  // value will be replaced with "sensitive".
 20684  func (s UpdateDevicePoolInput) String() string {
 20685  	return awsutil.Prettify(s)
 20686  }
 20687  
 20688  // GoString returns the string representation.
 20689  //
 20690  // API parameter values that are decorated as "sensitive" in the API will not
 20691  // be included in the string output. The member name will be present, but the
 20692  // value will be replaced with "sensitive".
 20693  func (s UpdateDevicePoolInput) GoString() string {
 20694  	return s.String()
 20695  }
 20696  
 20697  // Validate inspects the fields of the type to determine if they are valid.
 20698  func (s *UpdateDevicePoolInput) Validate() error {
 20699  	invalidParams := request.ErrInvalidParams{Context: "UpdateDevicePoolInput"}
 20700  	if s.Arn == nil {
 20701  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 20702  	}
 20703  	if s.Arn != nil && len(*s.Arn) < 32 {
 20704  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 20705  	}
 20706  
 20707  	if invalidParams.Len() > 0 {
 20708  		return invalidParams
 20709  	}
 20710  	return nil
 20711  }
 20712  
 20713  // SetArn sets the Arn field's value.
 20714  func (s *UpdateDevicePoolInput) SetArn(v string) *UpdateDevicePoolInput {
 20715  	s.Arn = &v
 20716  	return s
 20717  }
 20718  
 20719  // SetClearMaxDevices sets the ClearMaxDevices field's value.
 20720  func (s *UpdateDevicePoolInput) SetClearMaxDevices(v bool) *UpdateDevicePoolInput {
 20721  	s.ClearMaxDevices = &v
 20722  	return s
 20723  }
 20724  
 20725  // SetDescription sets the Description field's value.
 20726  func (s *UpdateDevicePoolInput) SetDescription(v string) *UpdateDevicePoolInput {
 20727  	s.Description = &v
 20728  	return s
 20729  }
 20730  
 20731  // SetMaxDevices sets the MaxDevices field's value.
 20732  func (s *UpdateDevicePoolInput) SetMaxDevices(v int64) *UpdateDevicePoolInput {
 20733  	s.MaxDevices = &v
 20734  	return s
 20735  }
 20736  
 20737  // SetName sets the Name field's value.
 20738  func (s *UpdateDevicePoolInput) SetName(v string) *UpdateDevicePoolInput {
 20739  	s.Name = &v
 20740  	return s
 20741  }
 20742  
 20743  // SetRules sets the Rules field's value.
 20744  func (s *UpdateDevicePoolInput) SetRules(v []*Rule) *UpdateDevicePoolInput {
 20745  	s.Rules = v
 20746  	return s
 20747  }
 20748  
 20749  // Represents the result of an update device pool request.
 20750  type UpdateDevicePoolOutput struct {
 20751  	_ struct{} `type:"structure"`
 20752  
 20753  	// The device pool you just updated.
 20754  	DevicePool *DevicePool `locationName:"devicePool" type:"structure"`
 20755  }
 20756  
 20757  // String returns the string representation.
 20758  //
 20759  // API parameter values that are decorated as "sensitive" in the API will not
 20760  // be included in the string output. The member name will be present, but the
 20761  // value will be replaced with "sensitive".
 20762  func (s UpdateDevicePoolOutput) String() string {
 20763  	return awsutil.Prettify(s)
 20764  }
 20765  
 20766  // GoString returns the string representation.
 20767  //
 20768  // API parameter values that are decorated as "sensitive" in the API will not
 20769  // be included in the string output. The member name will be present, but the
 20770  // value will be replaced with "sensitive".
 20771  func (s UpdateDevicePoolOutput) GoString() string {
 20772  	return s.String()
 20773  }
 20774  
 20775  // SetDevicePool sets the DevicePool field's value.
 20776  func (s *UpdateDevicePoolOutput) SetDevicePool(v *DevicePool) *UpdateDevicePoolOutput {
 20777  	s.DevicePool = v
 20778  	return s
 20779  }
 20780  
 20781  type UpdateInstanceProfileInput struct {
 20782  	_ struct{} `type:"structure"`
 20783  
 20784  	// The Amazon Resource Name (ARN) of the instance profile.
 20785  	//
 20786  	// Arn is a required field
 20787  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 20788  
 20789  	// The updated description for your instance profile.
 20790  	Description *string `locationName:"description" type:"string"`
 20791  
 20792  	// An array of strings that specifies the list of app packages that should not
 20793  	// be cleaned up from the device after a test run is over.
 20794  	//
 20795  	// The list of packages is only considered if you set packageCleanup to true.
 20796  	ExcludeAppPackagesFromCleanup []*string `locationName:"excludeAppPackagesFromCleanup" type:"list"`
 20797  
 20798  	// The updated name for your instance profile.
 20799  	Name *string `locationName:"name" type:"string"`
 20800  
 20801  	// The updated choice for whether you want to specify package cleanup. The default
 20802  	// value is false for private devices.
 20803  	PackageCleanup *bool `locationName:"packageCleanup" type:"boolean"`
 20804  
 20805  	// The updated choice for whether you want to reboot the device after use. The
 20806  	// default value is true.
 20807  	RebootAfterUse *bool `locationName:"rebootAfterUse" type:"boolean"`
 20808  }
 20809  
 20810  // String returns the string representation.
 20811  //
 20812  // API parameter values that are decorated as "sensitive" in the API will not
 20813  // be included in the string output. The member name will be present, but the
 20814  // value will be replaced with "sensitive".
 20815  func (s UpdateInstanceProfileInput) String() string {
 20816  	return awsutil.Prettify(s)
 20817  }
 20818  
 20819  // GoString returns the string representation.
 20820  //
 20821  // API parameter values that are decorated as "sensitive" in the API will not
 20822  // be included in the string output. The member name will be present, but the
 20823  // value will be replaced with "sensitive".
 20824  func (s UpdateInstanceProfileInput) GoString() string {
 20825  	return s.String()
 20826  }
 20827  
 20828  // Validate inspects the fields of the type to determine if they are valid.
 20829  func (s *UpdateInstanceProfileInput) Validate() error {
 20830  	invalidParams := request.ErrInvalidParams{Context: "UpdateInstanceProfileInput"}
 20831  	if s.Arn == nil {
 20832  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 20833  	}
 20834  	if s.Arn != nil && len(*s.Arn) < 32 {
 20835  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 20836  	}
 20837  
 20838  	if invalidParams.Len() > 0 {
 20839  		return invalidParams
 20840  	}
 20841  	return nil
 20842  }
 20843  
 20844  // SetArn sets the Arn field's value.
 20845  func (s *UpdateInstanceProfileInput) SetArn(v string) *UpdateInstanceProfileInput {
 20846  	s.Arn = &v
 20847  	return s
 20848  }
 20849  
 20850  // SetDescription sets the Description field's value.
 20851  func (s *UpdateInstanceProfileInput) SetDescription(v string) *UpdateInstanceProfileInput {
 20852  	s.Description = &v
 20853  	return s
 20854  }
 20855  
 20856  // SetExcludeAppPackagesFromCleanup sets the ExcludeAppPackagesFromCleanup field's value.
 20857  func (s *UpdateInstanceProfileInput) SetExcludeAppPackagesFromCleanup(v []*string) *UpdateInstanceProfileInput {
 20858  	s.ExcludeAppPackagesFromCleanup = v
 20859  	return s
 20860  }
 20861  
 20862  // SetName sets the Name field's value.
 20863  func (s *UpdateInstanceProfileInput) SetName(v string) *UpdateInstanceProfileInput {
 20864  	s.Name = &v
 20865  	return s
 20866  }
 20867  
 20868  // SetPackageCleanup sets the PackageCleanup field's value.
 20869  func (s *UpdateInstanceProfileInput) SetPackageCleanup(v bool) *UpdateInstanceProfileInput {
 20870  	s.PackageCleanup = &v
 20871  	return s
 20872  }
 20873  
 20874  // SetRebootAfterUse sets the RebootAfterUse field's value.
 20875  func (s *UpdateInstanceProfileInput) SetRebootAfterUse(v bool) *UpdateInstanceProfileInput {
 20876  	s.RebootAfterUse = &v
 20877  	return s
 20878  }
 20879  
 20880  type UpdateInstanceProfileOutput struct {
 20881  	_ struct{} `type:"structure"`
 20882  
 20883  	// An object that contains information about your instance profile.
 20884  	InstanceProfile *InstanceProfile `locationName:"instanceProfile" type:"structure"`
 20885  }
 20886  
 20887  // String returns the string representation.
 20888  //
 20889  // API parameter values that are decorated as "sensitive" in the API will not
 20890  // be included in the string output. The member name will be present, but the
 20891  // value will be replaced with "sensitive".
 20892  func (s UpdateInstanceProfileOutput) String() string {
 20893  	return awsutil.Prettify(s)
 20894  }
 20895  
 20896  // GoString returns the string representation.
 20897  //
 20898  // API parameter values that are decorated as "sensitive" in the API will not
 20899  // be included in the string output. The member name will be present, but the
 20900  // value will be replaced with "sensitive".
 20901  func (s UpdateInstanceProfileOutput) GoString() string {
 20902  	return s.String()
 20903  }
 20904  
 20905  // SetInstanceProfile sets the InstanceProfile field's value.
 20906  func (s *UpdateInstanceProfileOutput) SetInstanceProfile(v *InstanceProfile) *UpdateInstanceProfileOutput {
 20907  	s.InstanceProfile = v
 20908  	return s
 20909  }
 20910  
 20911  type UpdateNetworkProfileInput struct {
 20912  	_ struct{} `type:"structure"`
 20913  
 20914  	// The Amazon Resource Name (ARN) of the project for which you want to update
 20915  	// network profile settings.
 20916  	//
 20917  	// Arn is a required field
 20918  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 20919  
 20920  	// The description of the network profile about which you are returning information.
 20921  	Description *string `locationName:"description" type:"string"`
 20922  
 20923  	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
 20924  	DownlinkBandwidthBits *int64 `locationName:"downlinkBandwidthBits" type:"long"`
 20925  
 20926  	// Delay time for all packets to destination in milliseconds as an integer from
 20927  	// 0 to 2000.
 20928  	DownlinkDelayMs *int64 `locationName:"downlinkDelayMs" type:"long"`
 20929  
 20930  	// Time variation in the delay of received packets in milliseconds as an integer
 20931  	// from 0 to 2000.
 20932  	DownlinkJitterMs *int64 `locationName:"downlinkJitterMs" type:"long"`
 20933  
 20934  	// Proportion of received packets that fail to arrive from 0 to 100 percent.
 20935  	DownlinkLossPercent *int64 `locationName:"downlinkLossPercent" type:"integer"`
 20936  
 20937  	// The name of the network profile about which you are returning information.
 20938  	Name *string `locationName:"name" type:"string"`
 20939  
 20940  	// The type of network profile to return information about. Valid values are
 20941  	// listed here.
 20942  	Type *string `locationName:"type" type:"string" enum:"NetworkProfileType"`
 20943  
 20944  	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
 20945  	UplinkBandwidthBits *int64 `locationName:"uplinkBandwidthBits" type:"long"`
 20946  
 20947  	// Delay time for all packets to destination in milliseconds as an integer from
 20948  	// 0 to 2000.
 20949  	UplinkDelayMs *int64 `locationName:"uplinkDelayMs" type:"long"`
 20950  
 20951  	// Time variation in the delay of received packets in milliseconds as an integer
 20952  	// from 0 to 2000.
 20953  	UplinkJitterMs *int64 `locationName:"uplinkJitterMs" type:"long"`
 20954  
 20955  	// Proportion of transmitted packets that fail to arrive from 0 to 100 percent.
 20956  	UplinkLossPercent *int64 `locationName:"uplinkLossPercent" type:"integer"`
 20957  }
 20958  
 20959  // String returns the string representation.
 20960  //
 20961  // API parameter values that are decorated as "sensitive" in the API will not
 20962  // be included in the string output. The member name will be present, but the
 20963  // value will be replaced with "sensitive".
 20964  func (s UpdateNetworkProfileInput) String() string {
 20965  	return awsutil.Prettify(s)
 20966  }
 20967  
 20968  // GoString returns the string representation.
 20969  //
 20970  // API parameter values that are decorated as "sensitive" in the API will not
 20971  // be included in the string output. The member name will be present, but the
 20972  // value will be replaced with "sensitive".
 20973  func (s UpdateNetworkProfileInput) GoString() string {
 20974  	return s.String()
 20975  }
 20976  
 20977  // Validate inspects the fields of the type to determine if they are valid.
 20978  func (s *UpdateNetworkProfileInput) Validate() error {
 20979  	invalidParams := request.ErrInvalidParams{Context: "UpdateNetworkProfileInput"}
 20980  	if s.Arn == nil {
 20981  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 20982  	}
 20983  	if s.Arn != nil && len(*s.Arn) < 32 {
 20984  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 20985  	}
 20986  
 20987  	if invalidParams.Len() > 0 {
 20988  		return invalidParams
 20989  	}
 20990  	return nil
 20991  }
 20992  
 20993  // SetArn sets the Arn field's value.
 20994  func (s *UpdateNetworkProfileInput) SetArn(v string) *UpdateNetworkProfileInput {
 20995  	s.Arn = &v
 20996  	return s
 20997  }
 20998  
 20999  // SetDescription sets the Description field's value.
 21000  func (s *UpdateNetworkProfileInput) SetDescription(v string) *UpdateNetworkProfileInput {
 21001  	s.Description = &v
 21002  	return s
 21003  }
 21004  
 21005  // SetDownlinkBandwidthBits sets the DownlinkBandwidthBits field's value.
 21006  func (s *UpdateNetworkProfileInput) SetDownlinkBandwidthBits(v int64) *UpdateNetworkProfileInput {
 21007  	s.DownlinkBandwidthBits = &v
 21008  	return s
 21009  }
 21010  
 21011  // SetDownlinkDelayMs sets the DownlinkDelayMs field's value.
 21012  func (s *UpdateNetworkProfileInput) SetDownlinkDelayMs(v int64) *UpdateNetworkProfileInput {
 21013  	s.DownlinkDelayMs = &v
 21014  	return s
 21015  }
 21016  
 21017  // SetDownlinkJitterMs sets the DownlinkJitterMs field's value.
 21018  func (s *UpdateNetworkProfileInput) SetDownlinkJitterMs(v int64) *UpdateNetworkProfileInput {
 21019  	s.DownlinkJitterMs = &v
 21020  	return s
 21021  }
 21022  
 21023  // SetDownlinkLossPercent sets the DownlinkLossPercent field's value.
 21024  func (s *UpdateNetworkProfileInput) SetDownlinkLossPercent(v int64) *UpdateNetworkProfileInput {
 21025  	s.DownlinkLossPercent = &v
 21026  	return s
 21027  }
 21028  
 21029  // SetName sets the Name field's value.
 21030  func (s *UpdateNetworkProfileInput) SetName(v string) *UpdateNetworkProfileInput {
 21031  	s.Name = &v
 21032  	return s
 21033  }
 21034  
 21035  // SetType sets the Type field's value.
 21036  func (s *UpdateNetworkProfileInput) SetType(v string) *UpdateNetworkProfileInput {
 21037  	s.Type = &v
 21038  	return s
 21039  }
 21040  
 21041  // SetUplinkBandwidthBits sets the UplinkBandwidthBits field's value.
 21042  func (s *UpdateNetworkProfileInput) SetUplinkBandwidthBits(v int64) *UpdateNetworkProfileInput {
 21043  	s.UplinkBandwidthBits = &v
 21044  	return s
 21045  }
 21046  
 21047  // SetUplinkDelayMs sets the UplinkDelayMs field's value.
 21048  func (s *UpdateNetworkProfileInput) SetUplinkDelayMs(v int64) *UpdateNetworkProfileInput {
 21049  	s.UplinkDelayMs = &v
 21050  	return s
 21051  }
 21052  
 21053  // SetUplinkJitterMs sets the UplinkJitterMs field's value.
 21054  func (s *UpdateNetworkProfileInput) SetUplinkJitterMs(v int64) *UpdateNetworkProfileInput {
 21055  	s.UplinkJitterMs = &v
 21056  	return s
 21057  }
 21058  
 21059  // SetUplinkLossPercent sets the UplinkLossPercent field's value.
 21060  func (s *UpdateNetworkProfileInput) SetUplinkLossPercent(v int64) *UpdateNetworkProfileInput {
 21061  	s.UplinkLossPercent = &v
 21062  	return s
 21063  }
 21064  
 21065  type UpdateNetworkProfileOutput struct {
 21066  	_ struct{} `type:"structure"`
 21067  
 21068  	// A list of the available network profiles.
 21069  	NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"`
 21070  }
 21071  
 21072  // String returns the string representation.
 21073  //
 21074  // API parameter values that are decorated as "sensitive" in the API will not
 21075  // be included in the string output. The member name will be present, but the
 21076  // value will be replaced with "sensitive".
 21077  func (s UpdateNetworkProfileOutput) String() string {
 21078  	return awsutil.Prettify(s)
 21079  }
 21080  
 21081  // GoString returns the string representation.
 21082  //
 21083  // API parameter values that are decorated as "sensitive" in the API will not
 21084  // be included in the string output. The member name will be present, but the
 21085  // value will be replaced with "sensitive".
 21086  func (s UpdateNetworkProfileOutput) GoString() string {
 21087  	return s.String()
 21088  }
 21089  
 21090  // SetNetworkProfile sets the NetworkProfile field's value.
 21091  func (s *UpdateNetworkProfileOutput) SetNetworkProfile(v *NetworkProfile) *UpdateNetworkProfileOutput {
 21092  	s.NetworkProfile = v
 21093  	return s
 21094  }
 21095  
 21096  // Represents a request to the update project operation.
 21097  type UpdateProjectInput struct {
 21098  	_ struct{} `type:"structure"`
 21099  
 21100  	// The Amazon Resource Name (ARN) of the project whose name to update.
 21101  	//
 21102  	// Arn is a required field
 21103  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 21104  
 21105  	// The number of minutes a test run in the project executes before it times
 21106  	// out.
 21107  	DefaultJobTimeoutMinutes *int64 `locationName:"defaultJobTimeoutMinutes" type:"integer"`
 21108  
 21109  	// A string that represents the new name of the project that you are updating.
 21110  	Name *string `locationName:"name" type:"string"`
 21111  }
 21112  
 21113  // String returns the string representation.
 21114  //
 21115  // API parameter values that are decorated as "sensitive" in the API will not
 21116  // be included in the string output. The member name will be present, but the
 21117  // value will be replaced with "sensitive".
 21118  func (s UpdateProjectInput) String() string {
 21119  	return awsutil.Prettify(s)
 21120  }
 21121  
 21122  // GoString returns the string representation.
 21123  //
 21124  // API parameter values that are decorated as "sensitive" in the API will not
 21125  // be included in the string output. The member name will be present, but the
 21126  // value will be replaced with "sensitive".
 21127  func (s UpdateProjectInput) GoString() string {
 21128  	return s.String()
 21129  }
 21130  
 21131  // Validate inspects the fields of the type to determine if they are valid.
 21132  func (s *UpdateProjectInput) Validate() error {
 21133  	invalidParams := request.ErrInvalidParams{Context: "UpdateProjectInput"}
 21134  	if s.Arn == nil {
 21135  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 21136  	}
 21137  	if s.Arn != nil && len(*s.Arn) < 32 {
 21138  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 21139  	}
 21140  
 21141  	if invalidParams.Len() > 0 {
 21142  		return invalidParams
 21143  	}
 21144  	return nil
 21145  }
 21146  
 21147  // SetArn sets the Arn field's value.
 21148  func (s *UpdateProjectInput) SetArn(v string) *UpdateProjectInput {
 21149  	s.Arn = &v
 21150  	return s
 21151  }
 21152  
 21153  // SetDefaultJobTimeoutMinutes sets the DefaultJobTimeoutMinutes field's value.
 21154  func (s *UpdateProjectInput) SetDefaultJobTimeoutMinutes(v int64) *UpdateProjectInput {
 21155  	s.DefaultJobTimeoutMinutes = &v
 21156  	return s
 21157  }
 21158  
 21159  // SetName sets the Name field's value.
 21160  func (s *UpdateProjectInput) SetName(v string) *UpdateProjectInput {
 21161  	s.Name = &v
 21162  	return s
 21163  }
 21164  
 21165  // Represents the result of an update project request.
 21166  type UpdateProjectOutput struct {
 21167  	_ struct{} `type:"structure"`
 21168  
 21169  	// The project to update.
 21170  	Project *Project `locationName:"project" type:"structure"`
 21171  }
 21172  
 21173  // String returns the string representation.
 21174  //
 21175  // API parameter values that are decorated as "sensitive" in the API will not
 21176  // be included in the string output. The member name will be present, but the
 21177  // value will be replaced with "sensitive".
 21178  func (s UpdateProjectOutput) String() string {
 21179  	return awsutil.Prettify(s)
 21180  }
 21181  
 21182  // GoString returns the string representation.
 21183  //
 21184  // API parameter values that are decorated as "sensitive" in the API will not
 21185  // be included in the string output. The member name will be present, but the
 21186  // value will be replaced with "sensitive".
 21187  func (s UpdateProjectOutput) GoString() string {
 21188  	return s.String()
 21189  }
 21190  
 21191  // SetProject sets the Project field's value.
 21192  func (s *UpdateProjectOutput) SetProject(v *Project) *UpdateProjectOutput {
 21193  	s.Project = v
 21194  	return s
 21195  }
 21196  
 21197  type UpdateTestGridProjectInput struct {
 21198  	_ struct{} `type:"structure"`
 21199  
 21200  	// Human-readable description for the project.
 21201  	Description *string `locationName:"description" min:"1" type:"string"`
 21202  
 21203  	// Human-readable name for the project.
 21204  	Name *string `locationName:"name" min:"1" type:"string"`
 21205  
 21206  	// ARN of the project to update.
 21207  	//
 21208  	// ProjectArn is a required field
 21209  	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
 21210  
 21211  	// The VPC security groups and subnets that are attached to a project.
 21212  	VpcConfig *TestGridVpcConfig `locationName:"vpcConfig" type:"structure"`
 21213  }
 21214  
 21215  // String returns the string representation.
 21216  //
 21217  // API parameter values that are decorated as "sensitive" in the API will not
 21218  // be included in the string output. The member name will be present, but the
 21219  // value will be replaced with "sensitive".
 21220  func (s UpdateTestGridProjectInput) String() string {
 21221  	return awsutil.Prettify(s)
 21222  }
 21223  
 21224  // GoString returns the string representation.
 21225  //
 21226  // API parameter values that are decorated as "sensitive" in the API will not
 21227  // be included in the string output. The member name will be present, but the
 21228  // value will be replaced with "sensitive".
 21229  func (s UpdateTestGridProjectInput) GoString() string {
 21230  	return s.String()
 21231  }
 21232  
 21233  // Validate inspects the fields of the type to determine if they are valid.
 21234  func (s *UpdateTestGridProjectInput) Validate() error {
 21235  	invalidParams := request.ErrInvalidParams{Context: "UpdateTestGridProjectInput"}
 21236  	if s.Description != nil && len(*s.Description) < 1 {
 21237  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 21238  	}
 21239  	if s.Name != nil && len(*s.Name) < 1 {
 21240  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 21241  	}
 21242  	if s.ProjectArn == nil {
 21243  		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
 21244  	}
 21245  	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
 21246  		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
 21247  	}
 21248  	if s.VpcConfig != nil {
 21249  		if err := s.VpcConfig.Validate(); err != nil {
 21250  			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
 21251  		}
 21252  	}
 21253  
 21254  	if invalidParams.Len() > 0 {
 21255  		return invalidParams
 21256  	}
 21257  	return nil
 21258  }
 21259  
 21260  // SetDescription sets the Description field's value.
 21261  func (s *UpdateTestGridProjectInput) SetDescription(v string) *UpdateTestGridProjectInput {
 21262  	s.Description = &v
 21263  	return s
 21264  }
 21265  
 21266  // SetName sets the Name field's value.
 21267  func (s *UpdateTestGridProjectInput) SetName(v string) *UpdateTestGridProjectInput {
 21268  	s.Name = &v
 21269  	return s
 21270  }
 21271  
 21272  // SetProjectArn sets the ProjectArn field's value.
 21273  func (s *UpdateTestGridProjectInput) SetProjectArn(v string) *UpdateTestGridProjectInput {
 21274  	s.ProjectArn = &v
 21275  	return s
 21276  }
 21277  
 21278  // SetVpcConfig sets the VpcConfig field's value.
 21279  func (s *UpdateTestGridProjectInput) SetVpcConfig(v *TestGridVpcConfig) *UpdateTestGridProjectInput {
 21280  	s.VpcConfig = v
 21281  	return s
 21282  }
 21283  
 21284  type UpdateTestGridProjectOutput struct {
 21285  	_ struct{} `type:"structure"`
 21286  
 21287  	// The project, including updated information.
 21288  	TestGridProject *TestGridProject `locationName:"testGridProject" type:"structure"`
 21289  }
 21290  
 21291  // String returns the string representation.
 21292  //
 21293  // API parameter values that are decorated as "sensitive" in the API will not
 21294  // be included in the string output. The member name will be present, but the
 21295  // value will be replaced with "sensitive".
 21296  func (s UpdateTestGridProjectOutput) String() string {
 21297  	return awsutil.Prettify(s)
 21298  }
 21299  
 21300  // GoString returns the string representation.
 21301  //
 21302  // API parameter values that are decorated as "sensitive" in the API will not
 21303  // be included in the string output. The member name will be present, but the
 21304  // value will be replaced with "sensitive".
 21305  func (s UpdateTestGridProjectOutput) GoString() string {
 21306  	return s.String()
 21307  }
 21308  
 21309  // SetTestGridProject sets the TestGridProject field's value.
 21310  func (s *UpdateTestGridProjectOutput) SetTestGridProject(v *TestGridProject) *UpdateTestGridProjectOutput {
 21311  	s.TestGridProject = v
 21312  	return s
 21313  }
 21314  
 21315  type UpdateUploadInput struct {
 21316  	_ struct{} `type:"structure"`
 21317  
 21318  	// The Amazon Resource Name (ARN) of the uploaded test spec.
 21319  	//
 21320  	// Arn is a required field
 21321  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 21322  
 21323  	// The upload's content type (for example, application/x-yaml).
 21324  	ContentType *string `locationName:"contentType" type:"string"`
 21325  
 21326  	// Set to true if the YAML file has changed and must be updated. Otherwise,
 21327  	// set to false.
 21328  	EditContent *bool `locationName:"editContent" type:"boolean"`
 21329  
 21330  	// The upload's test spec file name. The name must not contain any forward slashes
 21331  	// (/). The test spec file name must end with the .yaml or .yml file extension.
 21332  	Name *string `locationName:"name" type:"string"`
 21333  }
 21334  
 21335  // String returns the string representation.
 21336  //
 21337  // API parameter values that are decorated as "sensitive" in the API will not
 21338  // be included in the string output. The member name will be present, but the
 21339  // value will be replaced with "sensitive".
 21340  func (s UpdateUploadInput) String() string {
 21341  	return awsutil.Prettify(s)
 21342  }
 21343  
 21344  // GoString returns the string representation.
 21345  //
 21346  // API parameter values that are decorated as "sensitive" in the API will not
 21347  // be included in the string output. The member name will be present, but the
 21348  // value will be replaced with "sensitive".
 21349  func (s UpdateUploadInput) GoString() string {
 21350  	return s.String()
 21351  }
 21352  
 21353  // Validate inspects the fields of the type to determine if they are valid.
 21354  func (s *UpdateUploadInput) Validate() error {
 21355  	invalidParams := request.ErrInvalidParams{Context: "UpdateUploadInput"}
 21356  	if s.Arn == nil {
 21357  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 21358  	}
 21359  	if s.Arn != nil && len(*s.Arn) < 32 {
 21360  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 21361  	}
 21362  
 21363  	if invalidParams.Len() > 0 {
 21364  		return invalidParams
 21365  	}
 21366  	return nil
 21367  }
 21368  
 21369  // SetArn sets the Arn field's value.
 21370  func (s *UpdateUploadInput) SetArn(v string) *UpdateUploadInput {
 21371  	s.Arn = &v
 21372  	return s
 21373  }
 21374  
 21375  // SetContentType sets the ContentType field's value.
 21376  func (s *UpdateUploadInput) SetContentType(v string) *UpdateUploadInput {
 21377  	s.ContentType = &v
 21378  	return s
 21379  }
 21380  
 21381  // SetEditContent sets the EditContent field's value.
 21382  func (s *UpdateUploadInput) SetEditContent(v bool) *UpdateUploadInput {
 21383  	s.EditContent = &v
 21384  	return s
 21385  }
 21386  
 21387  // SetName sets the Name field's value.
 21388  func (s *UpdateUploadInput) SetName(v string) *UpdateUploadInput {
 21389  	s.Name = &v
 21390  	return s
 21391  }
 21392  
 21393  type UpdateUploadOutput struct {
 21394  	_ struct{} `type:"structure"`
 21395  
 21396  	// A test spec uploaded to Device Farm.
 21397  	Upload *Upload `locationName:"upload" type:"structure"`
 21398  }
 21399  
 21400  // String returns the string representation.
 21401  //
 21402  // API parameter values that are decorated as "sensitive" in the API will not
 21403  // be included in the string output. The member name will be present, but the
 21404  // value will be replaced with "sensitive".
 21405  func (s UpdateUploadOutput) String() string {
 21406  	return awsutil.Prettify(s)
 21407  }
 21408  
 21409  // GoString returns the string representation.
 21410  //
 21411  // API parameter values that are decorated as "sensitive" in the API will not
 21412  // be included in the string output. The member name will be present, but the
 21413  // value will be replaced with "sensitive".
 21414  func (s UpdateUploadOutput) GoString() string {
 21415  	return s.String()
 21416  }
 21417  
 21418  // SetUpload sets the Upload field's value.
 21419  func (s *UpdateUploadOutput) SetUpload(v *Upload) *UpdateUploadOutput {
 21420  	s.Upload = v
 21421  	return s
 21422  }
 21423  
 21424  type UpdateVPCEConfigurationInput struct {
 21425  	_ struct{} `type:"structure"`
 21426  
 21427  	// The Amazon Resource Name (ARN) of the VPC endpoint configuration you want
 21428  	// to update.
 21429  	//
 21430  	// Arn is a required field
 21431  	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
 21432  
 21433  	// The DNS (domain) name used to connect to your private service in your VPC.
 21434  	// The DNS name must not already be in use on the internet.
 21435  	ServiceDnsName *string `locationName:"serviceDnsName" type:"string"`
 21436  
 21437  	// An optional description that provides details about your VPC endpoint configuration.
 21438  	VpceConfigurationDescription *string `locationName:"vpceConfigurationDescription" type:"string"`
 21439  
 21440  	// The friendly name you give to your VPC endpoint configuration to manage your
 21441  	// configurations more easily.
 21442  	VpceConfigurationName *string `locationName:"vpceConfigurationName" type:"string"`
 21443  
 21444  	// The name of the VPC endpoint service running in your AWS account that you
 21445  	// want Device Farm to test.
 21446  	VpceServiceName *string `locationName:"vpceServiceName" type:"string"`
 21447  }
 21448  
 21449  // String returns the string representation.
 21450  //
 21451  // API parameter values that are decorated as "sensitive" in the API will not
 21452  // be included in the string output. The member name will be present, but the
 21453  // value will be replaced with "sensitive".
 21454  func (s UpdateVPCEConfigurationInput) String() string {
 21455  	return awsutil.Prettify(s)
 21456  }
 21457  
 21458  // GoString returns the string representation.
 21459  //
 21460  // API parameter values that are decorated as "sensitive" in the API will not
 21461  // be included in the string output. The member name will be present, but the
 21462  // value will be replaced with "sensitive".
 21463  func (s UpdateVPCEConfigurationInput) GoString() string {
 21464  	return s.String()
 21465  }
 21466  
 21467  // Validate inspects the fields of the type to determine if they are valid.
 21468  func (s *UpdateVPCEConfigurationInput) Validate() error {
 21469  	invalidParams := request.ErrInvalidParams{Context: "UpdateVPCEConfigurationInput"}
 21470  	if s.Arn == nil {
 21471  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 21472  	}
 21473  	if s.Arn != nil && len(*s.Arn) < 32 {
 21474  		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
 21475  	}
 21476  
 21477  	if invalidParams.Len() > 0 {
 21478  		return invalidParams
 21479  	}
 21480  	return nil
 21481  }
 21482  
 21483  // SetArn sets the Arn field's value.
 21484  func (s *UpdateVPCEConfigurationInput) SetArn(v string) *UpdateVPCEConfigurationInput {
 21485  	s.Arn = &v
 21486  	return s
 21487  }
 21488  
 21489  // SetServiceDnsName sets the ServiceDnsName field's value.
 21490  func (s *UpdateVPCEConfigurationInput) SetServiceDnsName(v string) *UpdateVPCEConfigurationInput {
 21491  	s.ServiceDnsName = &v
 21492  	return s
 21493  }
 21494  
 21495  // SetVpceConfigurationDescription sets the VpceConfigurationDescription field's value.
 21496  func (s *UpdateVPCEConfigurationInput) SetVpceConfigurationDescription(v string) *UpdateVPCEConfigurationInput {
 21497  	s.VpceConfigurationDescription = &v
 21498  	return s
 21499  }
 21500  
 21501  // SetVpceConfigurationName sets the VpceConfigurationName field's value.
 21502  func (s *UpdateVPCEConfigurationInput) SetVpceConfigurationName(v string) *UpdateVPCEConfigurationInput {
 21503  	s.VpceConfigurationName = &v
 21504  	return s
 21505  }
 21506  
 21507  // SetVpceServiceName sets the VpceServiceName field's value.
 21508  func (s *UpdateVPCEConfigurationInput) SetVpceServiceName(v string) *UpdateVPCEConfigurationInput {
 21509  	s.VpceServiceName = &v
 21510  	return s
 21511  }
 21512  
 21513  type UpdateVPCEConfigurationOutput struct {
 21514  	_ struct{} `type:"structure"`
 21515  
 21516  	// An object that contains information about your VPC endpoint configuration.
 21517  	VpceConfiguration *VPCEConfiguration `locationName:"vpceConfiguration" type:"structure"`
 21518  }
 21519  
 21520  // String returns the string representation.
 21521  //
 21522  // API parameter values that are decorated as "sensitive" in the API will not
 21523  // be included in the string output. The member name will be present, but the
 21524  // value will be replaced with "sensitive".
 21525  func (s UpdateVPCEConfigurationOutput) String() string {
 21526  	return awsutil.Prettify(s)
 21527  }
 21528  
 21529  // GoString returns the string representation.
 21530  //
 21531  // API parameter values that are decorated as "sensitive" in the API will not
 21532  // be included in the string output. The member name will be present, but the
 21533  // value will be replaced with "sensitive".
 21534  func (s UpdateVPCEConfigurationOutput) GoString() string {
 21535  	return s.String()
 21536  }
 21537  
 21538  // SetVpceConfiguration sets the VpceConfiguration field's value.
 21539  func (s *UpdateVPCEConfigurationOutput) SetVpceConfiguration(v *VPCEConfiguration) *UpdateVPCEConfigurationOutput {
 21540  	s.VpceConfiguration = v
 21541  	return s
 21542  }
 21543  
 21544  // An app or a set of one or more tests to upload or that have been uploaded.
 21545  type Upload struct {
 21546  	_ struct{} `type:"structure"`
 21547  
 21548  	// The upload's ARN.
 21549  	Arn *string `locationName:"arn" min:"32" type:"string"`
 21550  
 21551  	// The upload's category. Allowed values include:
 21552  	//
 21553  	//    * CURATED: An upload managed by AWS Device Farm.
 21554  	//
 21555  	//    * PRIVATE: An upload managed by the AWS Device Farm customer.
 21556  	Category *string `locationName:"category" type:"string" enum:"UploadCategory"`
 21557  
 21558  	// The upload's content type (for example, application/octet-stream).
 21559  	ContentType *string `locationName:"contentType" type:"string"`
 21560  
 21561  	// When the upload was created.
 21562  	Created *time.Time `locationName:"created" type:"timestamp"`
 21563  
 21564  	// A message about the upload's result.
 21565  	Message *string `locationName:"message" type:"string"`
 21566  
 21567  	// The upload's metadata. For example, for Android, this contains information
 21568  	// that is parsed from the manifest and is displayed in the AWS Device Farm
 21569  	// console after the associated app is uploaded.
 21570  	Metadata *string `locationName:"metadata" type:"string"`
 21571  
 21572  	// The upload's file name.
 21573  	Name *string `locationName:"name" type:"string"`
 21574  
 21575  	// The upload's status.
 21576  	//
 21577  	// Must be one of the following values:
 21578  	//
 21579  	//    * FAILED
 21580  	//
 21581  	//    * INITIALIZED
 21582  	//
 21583  	//    * PROCESSING
 21584  	//
 21585  	//    * SUCCEEDED
 21586  	Status *string `locationName:"status" type:"string" enum:"UploadStatus"`
 21587  
 21588  	// The upload's type.
 21589  	//
 21590  	// Must be one of the following values:
 21591  	//
 21592  	//    * ANDROID_APP
 21593  	//
 21594  	//    * IOS_APP
 21595  	//
 21596  	//    * WEB_APP
 21597  	//
 21598  	//    * EXTERNAL_DATA
 21599  	//
 21600  	//    * APPIUM_JAVA_JUNIT_TEST_PACKAGE
 21601  	//
 21602  	//    * APPIUM_JAVA_TESTNG_TEST_PACKAGE
 21603  	//
 21604  	//    * APPIUM_PYTHON_TEST_PACKAGE
 21605  	//
 21606  	//    * APPIUM_NODE_TEST_PACKAGE
 21607  	//
 21608  	//    * APPIUM_RUBY_TEST_PACKAGE
 21609  	//
 21610  	//    * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE
 21611  	//
 21612  	//    * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE
 21613  	//
 21614  	//    * APPIUM_WEB_PYTHON_TEST_PACKAGE
 21615  	//
 21616  	//    * APPIUM_WEB_NODE_TEST_PACKAGE
 21617  	//
 21618  	//    * APPIUM_WEB_RUBY_TEST_PACKAGE
 21619  	//
 21620  	//    * CALABASH_TEST_PACKAGE
 21621  	//
 21622  	//    * INSTRUMENTATION_TEST_PACKAGE
 21623  	//
 21624  	//    * UIAUTOMATION_TEST_PACKAGE
 21625  	//
 21626  	//    * UIAUTOMATOR_TEST_PACKAGE
 21627  	//
 21628  	//    * XCTEST_TEST_PACKAGE
 21629  	//
 21630  	//    * XCTEST_UI_TEST_PACKAGE
 21631  	//
 21632  	//    * APPIUM_JAVA_JUNIT_TEST_SPEC
 21633  	//
 21634  	//    * APPIUM_JAVA_TESTNG_TEST_SPEC
 21635  	//
 21636  	//    * APPIUM_PYTHON_TEST_SPEC
 21637  	//
 21638  	//    * APPIUM_NODE_TEST_SPEC
 21639  	//
 21640  	//    * APPIUM_RUBY_TEST_SPEC
 21641  	//
 21642  	//    * APPIUM_WEB_JAVA_JUNIT_TEST_SPEC
 21643  	//
 21644  	//    * APPIUM_WEB_JAVA_TESTNG_TEST_SPEC
 21645  	//
 21646  	//    * APPIUM_WEB_PYTHON_TEST_SPEC
 21647  	//
 21648  	//    * APPIUM_WEB_NODE_TEST_SPEC
 21649  	//
 21650  	//    * APPIUM_WEB_RUBY_TEST_SPEC
 21651  	//
 21652  	//    * INSTRUMENTATION_TEST_SPEC
 21653  	//
 21654  	//    * XCTEST_UI_TEST_SPEC
 21655  	Type *string `locationName:"type" type:"string" enum:"UploadType"`
 21656  
 21657  	// The presigned Amazon S3 URL that was used to store a file using a PUT request.
 21658  	//
 21659  	// Url is a sensitive parameter and its value will be
 21660  	// replaced with "sensitive" in string returned by Upload's
 21661  	// String and GoString methods.
 21662  	Url *string `locationName:"url" type:"string" sensitive:"true"`
 21663  }
 21664  
 21665  // String returns the string representation.
 21666  //
 21667  // API parameter values that are decorated as "sensitive" in the API will not
 21668  // be included in the string output. The member name will be present, but the
 21669  // value will be replaced with "sensitive".
 21670  func (s Upload) String() string {
 21671  	return awsutil.Prettify(s)
 21672  }
 21673  
 21674  // GoString returns the string representation.
 21675  //
 21676  // API parameter values that are decorated as "sensitive" in the API will not
 21677  // be included in the string output. The member name will be present, but the
 21678  // value will be replaced with "sensitive".
 21679  func (s Upload) GoString() string {
 21680  	return s.String()
 21681  }
 21682  
 21683  // SetArn sets the Arn field's value.
 21684  func (s *Upload) SetArn(v string) *Upload {
 21685  	s.Arn = &v
 21686  	return s
 21687  }
 21688  
 21689  // SetCategory sets the Category field's value.
 21690  func (s *Upload) SetCategory(v string) *Upload {
 21691  	s.Category = &v
 21692  	return s
 21693  }
 21694  
 21695  // SetContentType sets the ContentType field's value.
 21696  func (s *Upload) SetContentType(v string) *Upload {
 21697  	s.ContentType = &v
 21698  	return s
 21699  }
 21700  
 21701  // SetCreated sets the Created field's value.
 21702  func (s *Upload) SetCreated(v time.Time) *Upload {
 21703  	s.Created = &v
 21704  	return s
 21705  }
 21706  
 21707  // SetMessage sets the Message field's value.
 21708  func (s *Upload) SetMessage(v string) *Upload {
 21709  	s.Message = &v
 21710  	return s
 21711  }
 21712  
 21713  // SetMetadata sets the Metadata field's value.
 21714  func (s *Upload) SetMetadata(v string) *Upload {
 21715  	s.Metadata = &v
 21716  	return s
 21717  }
 21718  
 21719  // SetName sets the Name field's value.
 21720  func (s *Upload) SetName(v string) *Upload {
 21721  	s.Name = &v
 21722  	return s
 21723  }
 21724  
 21725  // SetStatus sets the Status field's value.
 21726  func (s *Upload) SetStatus(v string) *Upload {
 21727  	s.Status = &v
 21728  	return s
 21729  }
 21730  
 21731  // SetType sets the Type field's value.
 21732  func (s *Upload) SetType(v string) *Upload {
 21733  	s.Type = &v
 21734  	return s
 21735  }
 21736  
 21737  // SetUrl sets the Url field's value.
 21738  func (s *Upload) SetUrl(v string) *Upload {
 21739  	s.Url = &v
 21740  	return s
 21741  }
 21742  
 21743  // Represents an Amazon Virtual Private Cloud (VPC) endpoint configuration.
 21744  type VPCEConfiguration struct {
 21745  	_ struct{} `type:"structure"`
 21746  
 21747  	// The Amazon Resource Name (ARN) of the VPC endpoint configuration.
 21748  	Arn *string `locationName:"arn" min:"32" type:"string"`
 21749  
 21750  	// The DNS name that maps to the private IP address of the service you want
 21751  	// to access.
 21752  	ServiceDnsName *string `locationName:"serviceDnsName" type:"string"`
 21753  
 21754  	// An optional description that provides details about your VPC endpoint configuration.
 21755  	VpceConfigurationDescription *string `locationName:"vpceConfigurationDescription" type:"string"`
 21756  
 21757  	// The friendly name you give to your VPC endpoint configuration to manage your
 21758  	// configurations more easily.
 21759  	VpceConfigurationName *string `locationName:"vpceConfigurationName" type:"string"`
 21760  
 21761  	// The name of the VPC endpoint service running in your AWS account that you
 21762  	// want Device Farm to test.
 21763  	VpceServiceName *string `locationName:"vpceServiceName" type:"string"`
 21764  }
 21765  
 21766  // String returns the string representation.
 21767  //
 21768  // API parameter values that are decorated as "sensitive" in the API will not
 21769  // be included in the string output. The member name will be present, but the
 21770  // value will be replaced with "sensitive".
 21771  func (s VPCEConfiguration) String() string {
 21772  	return awsutil.Prettify(s)
 21773  }
 21774  
 21775  // GoString returns the string representation.
 21776  //
 21777  // API parameter values that are decorated as "sensitive" in the API will not
 21778  // be included in the string output. The member name will be present, but the
 21779  // value will be replaced with "sensitive".
 21780  func (s VPCEConfiguration) GoString() string {
 21781  	return s.String()
 21782  }
 21783  
 21784  // SetArn sets the Arn field's value.
 21785  func (s *VPCEConfiguration) SetArn(v string) *VPCEConfiguration {
 21786  	s.Arn = &v
 21787  	return s
 21788  }
 21789  
 21790  // SetServiceDnsName sets the ServiceDnsName field's value.
 21791  func (s *VPCEConfiguration) SetServiceDnsName(v string) *VPCEConfiguration {
 21792  	s.ServiceDnsName = &v
 21793  	return s
 21794  }
 21795  
 21796  // SetVpceConfigurationDescription sets the VpceConfigurationDescription field's value.
 21797  func (s *VPCEConfiguration) SetVpceConfigurationDescription(v string) *VPCEConfiguration {
 21798  	s.VpceConfigurationDescription = &v
 21799  	return s
 21800  }
 21801  
 21802  // SetVpceConfigurationName sets the VpceConfigurationName field's value.
 21803  func (s *VPCEConfiguration) SetVpceConfigurationName(v string) *VPCEConfiguration {
 21804  	s.VpceConfigurationName = &v
 21805  	return s
 21806  }
 21807  
 21808  // SetVpceServiceName sets the VpceServiceName field's value.
 21809  func (s *VPCEConfiguration) SetVpceServiceName(v string) *VPCEConfiguration {
 21810  	s.VpceServiceName = &v
 21811  	return s
 21812  }
 21813  
 21814  const (
 21815  	// ArtifactCategoryScreenshot is a ArtifactCategory enum value
 21816  	ArtifactCategoryScreenshot = "SCREENSHOT"
 21817  
 21818  	// ArtifactCategoryFile is a ArtifactCategory enum value
 21819  	ArtifactCategoryFile = "FILE"
 21820  
 21821  	// ArtifactCategoryLog is a ArtifactCategory enum value
 21822  	ArtifactCategoryLog = "LOG"
 21823  )
 21824  
 21825  // ArtifactCategory_Values returns all elements of the ArtifactCategory enum
 21826  func ArtifactCategory_Values() []string {
 21827  	return []string{
 21828  		ArtifactCategoryScreenshot,
 21829  		ArtifactCategoryFile,
 21830  		ArtifactCategoryLog,
 21831  	}
 21832  }
 21833  
 21834  const (
 21835  	// ArtifactTypeUnknown is a ArtifactType enum value
 21836  	ArtifactTypeUnknown = "UNKNOWN"
 21837  
 21838  	// ArtifactTypeScreenshot is a ArtifactType enum value
 21839  	ArtifactTypeScreenshot = "SCREENSHOT"
 21840  
 21841  	// ArtifactTypeDeviceLog is a ArtifactType enum value
 21842  	ArtifactTypeDeviceLog = "DEVICE_LOG"
 21843  
 21844  	// ArtifactTypeMessageLog is a ArtifactType enum value
 21845  	ArtifactTypeMessageLog = "MESSAGE_LOG"
 21846  
 21847  	// ArtifactTypeVideoLog is a ArtifactType enum value
 21848  	ArtifactTypeVideoLog = "VIDEO_LOG"
 21849  
 21850  	// ArtifactTypeResultLog is a ArtifactType enum value
 21851  	ArtifactTypeResultLog = "RESULT_LOG"
 21852  
 21853  	// ArtifactTypeServiceLog is a ArtifactType enum value
 21854  	ArtifactTypeServiceLog = "SERVICE_LOG"
 21855  
 21856  	// ArtifactTypeWebkitLog is a ArtifactType enum value
 21857  	ArtifactTypeWebkitLog = "WEBKIT_LOG"
 21858  
 21859  	// ArtifactTypeInstrumentationOutput is a ArtifactType enum value
 21860  	ArtifactTypeInstrumentationOutput = "INSTRUMENTATION_OUTPUT"
 21861  
 21862  	// ArtifactTypeExerciserMonkeyOutput is a ArtifactType enum value
 21863  	ArtifactTypeExerciserMonkeyOutput = "EXERCISER_MONKEY_OUTPUT"
 21864  
 21865  	// ArtifactTypeCalabashJsonOutput is a ArtifactType enum value
 21866  	ArtifactTypeCalabashJsonOutput = "CALABASH_JSON_OUTPUT"
 21867  
 21868  	// ArtifactTypeCalabashPrettyOutput is a ArtifactType enum value
 21869  	ArtifactTypeCalabashPrettyOutput = "CALABASH_PRETTY_OUTPUT"
 21870  
 21871  	// ArtifactTypeCalabashStandardOutput is a ArtifactType enum value
 21872  	ArtifactTypeCalabashStandardOutput = "CALABASH_STANDARD_OUTPUT"
 21873  
 21874  	// ArtifactTypeCalabashJavaXmlOutput is a ArtifactType enum value
 21875  	ArtifactTypeCalabashJavaXmlOutput = "CALABASH_JAVA_XML_OUTPUT"
 21876  
 21877  	// ArtifactTypeAutomationOutput is a ArtifactType enum value
 21878  	ArtifactTypeAutomationOutput = "AUTOMATION_OUTPUT"
 21879  
 21880  	// ArtifactTypeAppiumServerOutput is a ArtifactType enum value
 21881  	ArtifactTypeAppiumServerOutput = "APPIUM_SERVER_OUTPUT"
 21882  
 21883  	// ArtifactTypeAppiumJavaOutput is a ArtifactType enum value
 21884  	ArtifactTypeAppiumJavaOutput = "APPIUM_JAVA_OUTPUT"
 21885  
 21886  	// ArtifactTypeAppiumJavaXmlOutput is a ArtifactType enum value
 21887  	ArtifactTypeAppiumJavaXmlOutput = "APPIUM_JAVA_XML_OUTPUT"
 21888  
 21889  	// ArtifactTypeAppiumPythonOutput is a ArtifactType enum value
 21890  	ArtifactTypeAppiumPythonOutput = "APPIUM_PYTHON_OUTPUT"
 21891  
 21892  	// ArtifactTypeAppiumPythonXmlOutput is a ArtifactType enum value
 21893  	ArtifactTypeAppiumPythonXmlOutput = "APPIUM_PYTHON_XML_OUTPUT"
 21894  
 21895  	// ArtifactTypeExplorerEventLog is a ArtifactType enum value
 21896  	ArtifactTypeExplorerEventLog = "EXPLORER_EVENT_LOG"
 21897  
 21898  	// ArtifactTypeExplorerSummaryLog is a ArtifactType enum value
 21899  	ArtifactTypeExplorerSummaryLog = "EXPLORER_SUMMARY_LOG"
 21900  
 21901  	// ArtifactTypeApplicationCrashReport is a ArtifactType enum value
 21902  	ArtifactTypeApplicationCrashReport = "APPLICATION_CRASH_REPORT"
 21903  
 21904  	// ArtifactTypeXctestLog is a ArtifactType enum value
 21905  	ArtifactTypeXctestLog = "XCTEST_LOG"
 21906  
 21907  	// ArtifactTypeVideo is a ArtifactType enum value
 21908  	ArtifactTypeVideo = "VIDEO"
 21909  
 21910  	// ArtifactTypeCustomerArtifact is a ArtifactType enum value
 21911  	ArtifactTypeCustomerArtifact = "CUSTOMER_ARTIFACT"
 21912  
 21913  	// ArtifactTypeCustomerArtifactLog is a ArtifactType enum value
 21914  	ArtifactTypeCustomerArtifactLog = "CUSTOMER_ARTIFACT_LOG"
 21915  
 21916  	// ArtifactTypeTestspecOutput is a ArtifactType enum value
 21917  	ArtifactTypeTestspecOutput = "TESTSPEC_OUTPUT"
 21918  )
 21919  
 21920  // ArtifactType_Values returns all elements of the ArtifactType enum
 21921  func ArtifactType_Values() []string {
 21922  	return []string{
 21923  		ArtifactTypeUnknown,
 21924  		ArtifactTypeScreenshot,
 21925  		ArtifactTypeDeviceLog,
 21926  		ArtifactTypeMessageLog,
 21927  		ArtifactTypeVideoLog,
 21928  		ArtifactTypeResultLog,
 21929  		ArtifactTypeServiceLog,
 21930  		ArtifactTypeWebkitLog,
 21931  		ArtifactTypeInstrumentationOutput,
 21932  		ArtifactTypeExerciserMonkeyOutput,
 21933  		ArtifactTypeCalabashJsonOutput,
 21934  		ArtifactTypeCalabashPrettyOutput,
 21935  		ArtifactTypeCalabashStandardOutput,
 21936  		ArtifactTypeCalabashJavaXmlOutput,
 21937  		ArtifactTypeAutomationOutput,
 21938  		ArtifactTypeAppiumServerOutput,
 21939  		ArtifactTypeAppiumJavaOutput,
 21940  		ArtifactTypeAppiumJavaXmlOutput,
 21941  		ArtifactTypeAppiumPythonOutput,
 21942  		ArtifactTypeAppiumPythonXmlOutput,
 21943  		ArtifactTypeExplorerEventLog,
 21944  		ArtifactTypeExplorerSummaryLog,
 21945  		ArtifactTypeApplicationCrashReport,
 21946  		ArtifactTypeXctestLog,
 21947  		ArtifactTypeVideo,
 21948  		ArtifactTypeCustomerArtifact,
 21949  		ArtifactTypeCustomerArtifactLog,
 21950  		ArtifactTypeTestspecOutput,
 21951  	}
 21952  }
 21953  
 21954  const (
 21955  	// BillingMethodMetered is a BillingMethod enum value
 21956  	BillingMethodMetered = "METERED"
 21957  
 21958  	// BillingMethodUnmetered is a BillingMethod enum value
 21959  	BillingMethodUnmetered = "UNMETERED"
 21960  )
 21961  
 21962  // BillingMethod_Values returns all elements of the BillingMethod enum
 21963  func BillingMethod_Values() []string {
 21964  	return []string{
 21965  		BillingMethodMetered,
 21966  		BillingMethodUnmetered,
 21967  	}
 21968  }
 21969  
 21970  const (
 21971  	// CurrencyCodeUsd is a CurrencyCode enum value
 21972  	CurrencyCodeUsd = "USD"
 21973  )
 21974  
 21975  // CurrencyCode_Values returns all elements of the CurrencyCode enum
 21976  func CurrencyCode_Values() []string {
 21977  	return []string{
 21978  		CurrencyCodeUsd,
 21979  	}
 21980  }
 21981  
 21982  const (
 21983  	// DeviceAttributeArn is a DeviceAttribute enum value
 21984  	DeviceAttributeArn = "ARN"
 21985  
 21986  	// DeviceAttributePlatform is a DeviceAttribute enum value
 21987  	DeviceAttributePlatform = "PLATFORM"
 21988  
 21989  	// DeviceAttributeFormFactor is a DeviceAttribute enum value
 21990  	DeviceAttributeFormFactor = "FORM_FACTOR"
 21991  
 21992  	// DeviceAttributeManufacturer is a DeviceAttribute enum value
 21993  	DeviceAttributeManufacturer = "MANUFACTURER"
 21994  
 21995  	// DeviceAttributeRemoteAccessEnabled is a DeviceAttribute enum value
 21996  	DeviceAttributeRemoteAccessEnabled = "REMOTE_ACCESS_ENABLED"
 21997  
 21998  	// DeviceAttributeRemoteDebugEnabled is a DeviceAttribute enum value
 21999  	DeviceAttributeRemoteDebugEnabled = "REMOTE_DEBUG_ENABLED"
 22000  
 22001  	// DeviceAttributeAppiumVersion is a DeviceAttribute enum value
 22002  	DeviceAttributeAppiumVersion = "APPIUM_VERSION"
 22003  
 22004  	// DeviceAttributeInstanceArn is a DeviceAttribute enum value
 22005  	DeviceAttributeInstanceArn = "INSTANCE_ARN"
 22006  
 22007  	// DeviceAttributeInstanceLabels is a DeviceAttribute enum value
 22008  	DeviceAttributeInstanceLabels = "INSTANCE_LABELS"
 22009  
 22010  	// DeviceAttributeFleetType is a DeviceAttribute enum value
 22011  	DeviceAttributeFleetType = "FLEET_TYPE"
 22012  
 22013  	// DeviceAttributeOsVersion is a DeviceAttribute enum value
 22014  	DeviceAttributeOsVersion = "OS_VERSION"
 22015  
 22016  	// DeviceAttributeModel is a DeviceAttribute enum value
 22017  	DeviceAttributeModel = "MODEL"
 22018  
 22019  	// DeviceAttributeAvailability is a DeviceAttribute enum value
 22020  	DeviceAttributeAvailability = "AVAILABILITY"
 22021  )
 22022  
 22023  // DeviceAttribute_Values returns all elements of the DeviceAttribute enum
 22024  func DeviceAttribute_Values() []string {
 22025  	return []string{
 22026  		DeviceAttributeArn,
 22027  		DeviceAttributePlatform,
 22028  		DeviceAttributeFormFactor,
 22029  		DeviceAttributeManufacturer,
 22030  		DeviceAttributeRemoteAccessEnabled,
 22031  		DeviceAttributeRemoteDebugEnabled,
 22032  		DeviceAttributeAppiumVersion,
 22033  		DeviceAttributeInstanceArn,
 22034  		DeviceAttributeInstanceLabels,
 22035  		DeviceAttributeFleetType,
 22036  		DeviceAttributeOsVersion,
 22037  		DeviceAttributeModel,
 22038  		DeviceAttributeAvailability,
 22039  	}
 22040  }
 22041  
 22042  const (
 22043  	// DeviceAvailabilityTemporaryNotAvailable is a DeviceAvailability enum value
 22044  	DeviceAvailabilityTemporaryNotAvailable = "TEMPORARY_NOT_AVAILABLE"
 22045  
 22046  	// DeviceAvailabilityBusy is a DeviceAvailability enum value
 22047  	DeviceAvailabilityBusy = "BUSY"
 22048  
 22049  	// DeviceAvailabilityAvailable is a DeviceAvailability enum value
 22050  	DeviceAvailabilityAvailable = "AVAILABLE"
 22051  
 22052  	// DeviceAvailabilityHighlyAvailable is a DeviceAvailability enum value
 22053  	DeviceAvailabilityHighlyAvailable = "HIGHLY_AVAILABLE"
 22054  )
 22055  
 22056  // DeviceAvailability_Values returns all elements of the DeviceAvailability enum
 22057  func DeviceAvailability_Values() []string {
 22058  	return []string{
 22059  		DeviceAvailabilityTemporaryNotAvailable,
 22060  		DeviceAvailabilityBusy,
 22061  		DeviceAvailabilityAvailable,
 22062  		DeviceAvailabilityHighlyAvailable,
 22063  	}
 22064  }
 22065  
 22066  const (
 22067  	// DeviceFilterAttributeArn is a DeviceFilterAttribute enum value
 22068  	DeviceFilterAttributeArn = "ARN"
 22069  
 22070  	// DeviceFilterAttributePlatform is a DeviceFilterAttribute enum value
 22071  	DeviceFilterAttributePlatform = "PLATFORM"
 22072  
 22073  	// DeviceFilterAttributeOsVersion is a DeviceFilterAttribute enum value
 22074  	DeviceFilterAttributeOsVersion = "OS_VERSION"
 22075  
 22076  	// DeviceFilterAttributeModel is a DeviceFilterAttribute enum value
 22077  	DeviceFilterAttributeModel = "MODEL"
 22078  
 22079  	// DeviceFilterAttributeAvailability is a DeviceFilterAttribute enum value
 22080  	DeviceFilterAttributeAvailability = "AVAILABILITY"
 22081  
 22082  	// DeviceFilterAttributeFormFactor is a DeviceFilterAttribute enum value
 22083  	DeviceFilterAttributeFormFactor = "FORM_FACTOR"
 22084  
 22085  	// DeviceFilterAttributeManufacturer is a DeviceFilterAttribute enum value
 22086  	DeviceFilterAttributeManufacturer = "MANUFACTURER"
 22087  
 22088  	// DeviceFilterAttributeRemoteAccessEnabled is a DeviceFilterAttribute enum value
 22089  	DeviceFilterAttributeRemoteAccessEnabled = "REMOTE_ACCESS_ENABLED"
 22090  
 22091  	// DeviceFilterAttributeRemoteDebugEnabled is a DeviceFilterAttribute enum value
 22092  	DeviceFilterAttributeRemoteDebugEnabled = "REMOTE_DEBUG_ENABLED"
 22093  
 22094  	// DeviceFilterAttributeInstanceArn is a DeviceFilterAttribute enum value
 22095  	DeviceFilterAttributeInstanceArn = "INSTANCE_ARN"
 22096  
 22097  	// DeviceFilterAttributeInstanceLabels is a DeviceFilterAttribute enum value
 22098  	DeviceFilterAttributeInstanceLabels = "INSTANCE_LABELS"
 22099  
 22100  	// DeviceFilterAttributeFleetType is a DeviceFilterAttribute enum value
 22101  	DeviceFilterAttributeFleetType = "FLEET_TYPE"
 22102  )
 22103  
 22104  // DeviceFilterAttribute_Values returns all elements of the DeviceFilterAttribute enum
 22105  func DeviceFilterAttribute_Values() []string {
 22106  	return []string{
 22107  		DeviceFilterAttributeArn,
 22108  		DeviceFilterAttributePlatform,
 22109  		DeviceFilterAttributeOsVersion,
 22110  		DeviceFilterAttributeModel,
 22111  		DeviceFilterAttributeAvailability,
 22112  		DeviceFilterAttributeFormFactor,
 22113  		DeviceFilterAttributeManufacturer,
 22114  		DeviceFilterAttributeRemoteAccessEnabled,
 22115  		DeviceFilterAttributeRemoteDebugEnabled,
 22116  		DeviceFilterAttributeInstanceArn,
 22117  		DeviceFilterAttributeInstanceLabels,
 22118  		DeviceFilterAttributeFleetType,
 22119  	}
 22120  }
 22121  
 22122  const (
 22123  	// DeviceFormFactorPhone is a DeviceFormFactor enum value
 22124  	DeviceFormFactorPhone = "PHONE"
 22125  
 22126  	// DeviceFormFactorTablet is a DeviceFormFactor enum value
 22127  	DeviceFormFactorTablet = "TABLET"
 22128  )
 22129  
 22130  // DeviceFormFactor_Values returns all elements of the DeviceFormFactor enum
 22131  func DeviceFormFactor_Values() []string {
 22132  	return []string{
 22133  		DeviceFormFactorPhone,
 22134  		DeviceFormFactorTablet,
 22135  	}
 22136  }
 22137  
 22138  const (
 22139  	// DevicePlatformAndroid is a DevicePlatform enum value
 22140  	DevicePlatformAndroid = "ANDROID"
 22141  
 22142  	// DevicePlatformIos is a DevicePlatform enum value
 22143  	DevicePlatformIos = "IOS"
 22144  )
 22145  
 22146  // DevicePlatform_Values returns all elements of the DevicePlatform enum
 22147  func DevicePlatform_Values() []string {
 22148  	return []string{
 22149  		DevicePlatformAndroid,
 22150  		DevicePlatformIos,
 22151  	}
 22152  }
 22153  
 22154  const (
 22155  	// DevicePoolTypeCurated is a DevicePoolType enum value
 22156  	DevicePoolTypeCurated = "CURATED"
 22157  
 22158  	// DevicePoolTypePrivate is a DevicePoolType enum value
 22159  	DevicePoolTypePrivate = "PRIVATE"
 22160  )
 22161  
 22162  // DevicePoolType_Values returns all elements of the DevicePoolType enum
 22163  func DevicePoolType_Values() []string {
 22164  	return []string{
 22165  		DevicePoolTypeCurated,
 22166  		DevicePoolTypePrivate,
 22167  	}
 22168  }
 22169  
 22170  const (
 22171  	// ExecutionResultPending is a ExecutionResult enum value
 22172  	ExecutionResultPending = "PENDING"
 22173  
 22174  	// ExecutionResultPassed is a ExecutionResult enum value
 22175  	ExecutionResultPassed = "PASSED"
 22176  
 22177  	// ExecutionResultWarned is a ExecutionResult enum value
 22178  	ExecutionResultWarned = "WARNED"
 22179  
 22180  	// ExecutionResultFailed is a ExecutionResult enum value
 22181  	ExecutionResultFailed = "FAILED"
 22182  
 22183  	// ExecutionResultSkipped is a ExecutionResult enum value
 22184  	ExecutionResultSkipped = "SKIPPED"
 22185  
 22186  	// ExecutionResultErrored is a ExecutionResult enum value
 22187  	ExecutionResultErrored = "ERRORED"
 22188  
 22189  	// ExecutionResultStopped is a ExecutionResult enum value
 22190  	ExecutionResultStopped = "STOPPED"
 22191  )
 22192  
 22193  // ExecutionResult_Values returns all elements of the ExecutionResult enum
 22194  func ExecutionResult_Values() []string {
 22195  	return []string{
 22196  		ExecutionResultPending,
 22197  		ExecutionResultPassed,
 22198  		ExecutionResultWarned,
 22199  		ExecutionResultFailed,
 22200  		ExecutionResultSkipped,
 22201  		ExecutionResultErrored,
 22202  		ExecutionResultStopped,
 22203  	}
 22204  }
 22205  
 22206  const (
 22207  	// ExecutionResultCodeParsingFailed is a ExecutionResultCode enum value
 22208  	ExecutionResultCodeParsingFailed = "PARSING_FAILED"
 22209  
 22210  	// ExecutionResultCodeVpcEndpointSetupFailed is a ExecutionResultCode enum value
 22211  	ExecutionResultCodeVpcEndpointSetupFailed = "VPC_ENDPOINT_SETUP_FAILED"
 22212  )
 22213  
 22214  // ExecutionResultCode_Values returns all elements of the ExecutionResultCode enum
 22215  func ExecutionResultCode_Values() []string {
 22216  	return []string{
 22217  		ExecutionResultCodeParsingFailed,
 22218  		ExecutionResultCodeVpcEndpointSetupFailed,
 22219  	}
 22220  }
 22221  
 22222  const (
 22223  	// ExecutionStatusPending is a ExecutionStatus enum value
 22224  	ExecutionStatusPending = "PENDING"
 22225  
 22226  	// ExecutionStatusPendingConcurrency is a ExecutionStatus enum value
 22227  	ExecutionStatusPendingConcurrency = "PENDING_CONCURRENCY"
 22228  
 22229  	// ExecutionStatusPendingDevice is a ExecutionStatus enum value
 22230  	ExecutionStatusPendingDevice = "PENDING_DEVICE"
 22231  
 22232  	// ExecutionStatusProcessing is a ExecutionStatus enum value
 22233  	ExecutionStatusProcessing = "PROCESSING"
 22234  
 22235  	// ExecutionStatusScheduling is a ExecutionStatus enum value
 22236  	ExecutionStatusScheduling = "SCHEDULING"
 22237  
 22238  	// ExecutionStatusPreparing is a ExecutionStatus enum value
 22239  	ExecutionStatusPreparing = "PREPARING"
 22240  
 22241  	// ExecutionStatusRunning is a ExecutionStatus enum value
 22242  	ExecutionStatusRunning = "RUNNING"
 22243  
 22244  	// ExecutionStatusCompleted is a ExecutionStatus enum value
 22245  	ExecutionStatusCompleted = "COMPLETED"
 22246  
 22247  	// ExecutionStatusStopping is a ExecutionStatus enum value
 22248  	ExecutionStatusStopping = "STOPPING"
 22249  )
 22250  
 22251  // ExecutionStatus_Values returns all elements of the ExecutionStatus enum
 22252  func ExecutionStatus_Values() []string {
 22253  	return []string{
 22254  		ExecutionStatusPending,
 22255  		ExecutionStatusPendingConcurrency,
 22256  		ExecutionStatusPendingDevice,
 22257  		ExecutionStatusProcessing,
 22258  		ExecutionStatusScheduling,
 22259  		ExecutionStatusPreparing,
 22260  		ExecutionStatusRunning,
 22261  		ExecutionStatusCompleted,
 22262  		ExecutionStatusStopping,
 22263  	}
 22264  }
 22265  
 22266  const (
 22267  	// InstanceStatusInUse is a InstanceStatus enum value
 22268  	InstanceStatusInUse = "IN_USE"
 22269  
 22270  	// InstanceStatusPreparing is a InstanceStatus enum value
 22271  	InstanceStatusPreparing = "PREPARING"
 22272  
 22273  	// InstanceStatusAvailable is a InstanceStatus enum value
 22274  	InstanceStatusAvailable = "AVAILABLE"
 22275  
 22276  	// InstanceStatusNotAvailable is a InstanceStatus enum value
 22277  	InstanceStatusNotAvailable = "NOT_AVAILABLE"
 22278  )
 22279  
 22280  // InstanceStatus_Values returns all elements of the InstanceStatus enum
 22281  func InstanceStatus_Values() []string {
 22282  	return []string{
 22283  		InstanceStatusInUse,
 22284  		InstanceStatusPreparing,
 22285  		InstanceStatusAvailable,
 22286  		InstanceStatusNotAvailable,
 22287  	}
 22288  }
 22289  
 22290  const (
 22291  	// InteractionModeInteractive is a InteractionMode enum value
 22292  	InteractionModeInteractive = "INTERACTIVE"
 22293  
 22294  	// InteractionModeNoVideo is a InteractionMode enum value
 22295  	InteractionModeNoVideo = "NO_VIDEO"
 22296  
 22297  	// InteractionModeVideoOnly is a InteractionMode enum value
 22298  	InteractionModeVideoOnly = "VIDEO_ONLY"
 22299  )
 22300  
 22301  // InteractionMode_Values returns all elements of the InteractionMode enum
 22302  func InteractionMode_Values() []string {
 22303  	return []string{
 22304  		InteractionModeInteractive,
 22305  		InteractionModeNoVideo,
 22306  		InteractionModeVideoOnly,
 22307  	}
 22308  }
 22309  
 22310  const (
 22311  	// NetworkProfileTypeCurated is a NetworkProfileType enum value
 22312  	NetworkProfileTypeCurated = "CURATED"
 22313  
 22314  	// NetworkProfileTypePrivate is a NetworkProfileType enum value
 22315  	NetworkProfileTypePrivate = "PRIVATE"
 22316  )
 22317  
 22318  // NetworkProfileType_Values returns all elements of the NetworkProfileType enum
 22319  func NetworkProfileType_Values() []string {
 22320  	return []string{
 22321  		NetworkProfileTypeCurated,
 22322  		NetworkProfileTypePrivate,
 22323  	}
 22324  }
 22325  
 22326  const (
 22327  	// OfferingTransactionTypePurchase is a OfferingTransactionType enum value
 22328  	OfferingTransactionTypePurchase = "PURCHASE"
 22329  
 22330  	// OfferingTransactionTypeRenew is a OfferingTransactionType enum value
 22331  	OfferingTransactionTypeRenew = "RENEW"
 22332  
 22333  	// OfferingTransactionTypeSystem is a OfferingTransactionType enum value
 22334  	OfferingTransactionTypeSystem = "SYSTEM"
 22335  )
 22336  
 22337  // OfferingTransactionType_Values returns all elements of the OfferingTransactionType enum
 22338  func OfferingTransactionType_Values() []string {
 22339  	return []string{
 22340  		OfferingTransactionTypePurchase,
 22341  		OfferingTransactionTypeRenew,
 22342  		OfferingTransactionTypeSystem,
 22343  	}
 22344  }
 22345  
 22346  const (
 22347  	// OfferingTypeRecurring is a OfferingType enum value
 22348  	OfferingTypeRecurring = "RECURRING"
 22349  )
 22350  
 22351  // OfferingType_Values returns all elements of the OfferingType enum
 22352  func OfferingType_Values() []string {
 22353  	return []string{
 22354  		OfferingTypeRecurring,
 22355  	}
 22356  }
 22357  
 22358  const (
 22359  	// RecurringChargeFrequencyMonthly is a RecurringChargeFrequency enum value
 22360  	RecurringChargeFrequencyMonthly = "MONTHLY"
 22361  )
 22362  
 22363  // RecurringChargeFrequency_Values returns all elements of the RecurringChargeFrequency enum
 22364  func RecurringChargeFrequency_Values() []string {
 22365  	return []string{
 22366  		RecurringChargeFrequencyMonthly,
 22367  	}
 22368  }
 22369  
 22370  const (
 22371  	// RuleOperatorEquals is a RuleOperator enum value
 22372  	RuleOperatorEquals = "EQUALS"
 22373  
 22374  	// RuleOperatorLessThan is a RuleOperator enum value
 22375  	RuleOperatorLessThan = "LESS_THAN"
 22376  
 22377  	// RuleOperatorLessThanOrEquals is a RuleOperator enum value
 22378  	RuleOperatorLessThanOrEquals = "LESS_THAN_OR_EQUALS"
 22379  
 22380  	// RuleOperatorGreaterThan is a RuleOperator enum value
 22381  	RuleOperatorGreaterThan = "GREATER_THAN"
 22382  
 22383  	// RuleOperatorGreaterThanOrEquals is a RuleOperator enum value
 22384  	RuleOperatorGreaterThanOrEquals = "GREATER_THAN_OR_EQUALS"
 22385  
 22386  	// RuleOperatorIn is a RuleOperator enum value
 22387  	RuleOperatorIn = "IN"
 22388  
 22389  	// RuleOperatorNotIn is a RuleOperator enum value
 22390  	RuleOperatorNotIn = "NOT_IN"
 22391  
 22392  	// RuleOperatorContains is a RuleOperator enum value
 22393  	RuleOperatorContains = "CONTAINS"
 22394  )
 22395  
 22396  // RuleOperator_Values returns all elements of the RuleOperator enum
 22397  func RuleOperator_Values() []string {
 22398  	return []string{
 22399  		RuleOperatorEquals,
 22400  		RuleOperatorLessThan,
 22401  		RuleOperatorLessThanOrEquals,
 22402  		RuleOperatorGreaterThan,
 22403  		RuleOperatorGreaterThanOrEquals,
 22404  		RuleOperatorIn,
 22405  		RuleOperatorNotIn,
 22406  		RuleOperatorContains,
 22407  	}
 22408  }
 22409  
 22410  const (
 22411  	// SampleTypeCpu is a SampleType enum value
 22412  	SampleTypeCpu = "CPU"
 22413  
 22414  	// SampleTypeMemory is a SampleType enum value
 22415  	SampleTypeMemory = "MEMORY"
 22416  
 22417  	// SampleTypeThreads is a SampleType enum value
 22418  	SampleTypeThreads = "THREADS"
 22419  
 22420  	// SampleTypeRxRate is a SampleType enum value
 22421  	SampleTypeRxRate = "RX_RATE"
 22422  
 22423  	// SampleTypeTxRate is a SampleType enum value
 22424  	SampleTypeTxRate = "TX_RATE"
 22425  
 22426  	// SampleTypeRx is a SampleType enum value
 22427  	SampleTypeRx = "RX"
 22428  
 22429  	// SampleTypeTx is a SampleType enum value
 22430  	SampleTypeTx = "TX"
 22431  
 22432  	// SampleTypeNativeFrames is a SampleType enum value
 22433  	SampleTypeNativeFrames = "NATIVE_FRAMES"
 22434  
 22435  	// SampleTypeNativeFps is a SampleType enum value
 22436  	SampleTypeNativeFps = "NATIVE_FPS"
 22437  
 22438  	// SampleTypeNativeMinDrawtime is a SampleType enum value
 22439  	SampleTypeNativeMinDrawtime = "NATIVE_MIN_DRAWTIME"
 22440  
 22441  	// SampleTypeNativeAvgDrawtime is a SampleType enum value
 22442  	SampleTypeNativeAvgDrawtime = "NATIVE_AVG_DRAWTIME"
 22443  
 22444  	// SampleTypeNativeMaxDrawtime is a SampleType enum value
 22445  	SampleTypeNativeMaxDrawtime = "NATIVE_MAX_DRAWTIME"
 22446  
 22447  	// SampleTypeOpenglFrames is a SampleType enum value
 22448  	SampleTypeOpenglFrames = "OPENGL_FRAMES"
 22449  
 22450  	// SampleTypeOpenglFps is a SampleType enum value
 22451  	SampleTypeOpenglFps = "OPENGL_FPS"
 22452  
 22453  	// SampleTypeOpenglMinDrawtime is a SampleType enum value
 22454  	SampleTypeOpenglMinDrawtime = "OPENGL_MIN_DRAWTIME"
 22455  
 22456  	// SampleTypeOpenglAvgDrawtime is a SampleType enum value
 22457  	SampleTypeOpenglAvgDrawtime = "OPENGL_AVG_DRAWTIME"
 22458  
 22459  	// SampleTypeOpenglMaxDrawtime is a SampleType enum value
 22460  	SampleTypeOpenglMaxDrawtime = "OPENGL_MAX_DRAWTIME"
 22461  )
 22462  
 22463  // SampleType_Values returns all elements of the SampleType enum
 22464  func SampleType_Values() []string {
 22465  	return []string{
 22466  		SampleTypeCpu,
 22467  		SampleTypeMemory,
 22468  		SampleTypeThreads,
 22469  		SampleTypeRxRate,
 22470  		SampleTypeTxRate,
 22471  		SampleTypeRx,
 22472  		SampleTypeTx,
 22473  		SampleTypeNativeFrames,
 22474  		SampleTypeNativeFps,
 22475  		SampleTypeNativeMinDrawtime,
 22476  		SampleTypeNativeAvgDrawtime,
 22477  		SampleTypeNativeMaxDrawtime,
 22478  		SampleTypeOpenglFrames,
 22479  		SampleTypeOpenglFps,
 22480  		SampleTypeOpenglMinDrawtime,
 22481  		SampleTypeOpenglAvgDrawtime,
 22482  		SampleTypeOpenglMaxDrawtime,
 22483  	}
 22484  }
 22485  
 22486  const (
 22487  	// TestGridSessionArtifactCategoryVideo is a TestGridSessionArtifactCategory enum value
 22488  	TestGridSessionArtifactCategoryVideo = "VIDEO"
 22489  
 22490  	// TestGridSessionArtifactCategoryLog is a TestGridSessionArtifactCategory enum value
 22491  	TestGridSessionArtifactCategoryLog = "LOG"
 22492  )
 22493  
 22494  // TestGridSessionArtifactCategory_Values returns all elements of the TestGridSessionArtifactCategory enum
 22495  func TestGridSessionArtifactCategory_Values() []string {
 22496  	return []string{
 22497  		TestGridSessionArtifactCategoryVideo,
 22498  		TestGridSessionArtifactCategoryLog,
 22499  	}
 22500  }
 22501  
 22502  const (
 22503  	// TestGridSessionArtifactTypeUnknown is a TestGridSessionArtifactType enum value
 22504  	TestGridSessionArtifactTypeUnknown = "UNKNOWN"
 22505  
 22506  	// TestGridSessionArtifactTypeVideo is a TestGridSessionArtifactType enum value
 22507  	TestGridSessionArtifactTypeVideo = "VIDEO"
 22508  
 22509  	// TestGridSessionArtifactTypeSeleniumLog is a TestGridSessionArtifactType enum value
 22510  	TestGridSessionArtifactTypeSeleniumLog = "SELENIUM_LOG"
 22511  )
 22512  
 22513  // TestGridSessionArtifactType_Values returns all elements of the TestGridSessionArtifactType enum
 22514  func TestGridSessionArtifactType_Values() []string {
 22515  	return []string{
 22516  		TestGridSessionArtifactTypeUnknown,
 22517  		TestGridSessionArtifactTypeVideo,
 22518  		TestGridSessionArtifactTypeSeleniumLog,
 22519  	}
 22520  }
 22521  
 22522  const (
 22523  	// TestGridSessionStatusActive is a TestGridSessionStatus enum value
 22524  	TestGridSessionStatusActive = "ACTIVE"
 22525  
 22526  	// TestGridSessionStatusClosed is a TestGridSessionStatus enum value
 22527  	TestGridSessionStatusClosed = "CLOSED"
 22528  
 22529  	// TestGridSessionStatusErrored is a TestGridSessionStatus enum value
 22530  	TestGridSessionStatusErrored = "ERRORED"
 22531  )
 22532  
 22533  // TestGridSessionStatus_Values returns all elements of the TestGridSessionStatus enum
 22534  func TestGridSessionStatus_Values() []string {
 22535  	return []string{
 22536  		TestGridSessionStatusActive,
 22537  		TestGridSessionStatusClosed,
 22538  		TestGridSessionStatusErrored,
 22539  	}
 22540  }
 22541  
 22542  const (
 22543  	// TestTypeBuiltinFuzz is a TestType enum value
 22544  	TestTypeBuiltinFuzz = "BUILTIN_FUZZ"
 22545  
 22546  	// TestTypeBuiltinExplorer is a TestType enum value
 22547  	TestTypeBuiltinExplorer = "BUILTIN_EXPLORER"
 22548  
 22549  	// TestTypeWebPerformanceProfile is a TestType enum value
 22550  	TestTypeWebPerformanceProfile = "WEB_PERFORMANCE_PROFILE"
 22551  
 22552  	// TestTypeAppiumJavaJunit is a TestType enum value
 22553  	TestTypeAppiumJavaJunit = "APPIUM_JAVA_JUNIT"
 22554  
 22555  	// TestTypeAppiumJavaTestng is a TestType enum value
 22556  	TestTypeAppiumJavaTestng = "APPIUM_JAVA_TESTNG"
 22557  
 22558  	// TestTypeAppiumPython is a TestType enum value
 22559  	TestTypeAppiumPython = "APPIUM_PYTHON"
 22560  
 22561  	// TestTypeAppiumNode is a TestType enum value
 22562  	TestTypeAppiumNode = "APPIUM_NODE"
 22563  
 22564  	// TestTypeAppiumRuby is a TestType enum value
 22565  	TestTypeAppiumRuby = "APPIUM_RUBY"
 22566  
 22567  	// TestTypeAppiumWebJavaJunit is a TestType enum value
 22568  	TestTypeAppiumWebJavaJunit = "APPIUM_WEB_JAVA_JUNIT"
 22569  
 22570  	// TestTypeAppiumWebJavaTestng is a TestType enum value
 22571  	TestTypeAppiumWebJavaTestng = "APPIUM_WEB_JAVA_TESTNG"
 22572  
 22573  	// TestTypeAppiumWebPython is a TestType enum value
 22574  	TestTypeAppiumWebPython = "APPIUM_WEB_PYTHON"
 22575  
 22576  	// TestTypeAppiumWebNode is a TestType enum value
 22577  	TestTypeAppiumWebNode = "APPIUM_WEB_NODE"
 22578  
 22579  	// TestTypeAppiumWebRuby is a TestType enum value
 22580  	TestTypeAppiumWebRuby = "APPIUM_WEB_RUBY"
 22581  
 22582  	// TestTypeCalabash is a TestType enum value
 22583  	TestTypeCalabash = "CALABASH"
 22584  
 22585  	// TestTypeInstrumentation is a TestType enum value
 22586  	TestTypeInstrumentation = "INSTRUMENTATION"
 22587  
 22588  	// TestTypeUiautomation is a TestType enum value
 22589  	TestTypeUiautomation = "UIAUTOMATION"
 22590  
 22591  	// TestTypeUiautomator is a TestType enum value
 22592  	TestTypeUiautomator = "UIAUTOMATOR"
 22593  
 22594  	// TestTypeXctest is a TestType enum value
 22595  	TestTypeXctest = "XCTEST"
 22596  
 22597  	// TestTypeXctestUi is a TestType enum value
 22598  	TestTypeXctestUi = "XCTEST_UI"
 22599  
 22600  	// TestTypeRemoteAccessRecord is a TestType enum value
 22601  	TestTypeRemoteAccessRecord = "REMOTE_ACCESS_RECORD"
 22602  
 22603  	// TestTypeRemoteAccessReplay is a TestType enum value
 22604  	TestTypeRemoteAccessReplay = "REMOTE_ACCESS_REPLAY"
 22605  )
 22606  
 22607  // TestType_Values returns all elements of the TestType enum
 22608  func TestType_Values() []string {
 22609  	return []string{
 22610  		TestTypeBuiltinFuzz,
 22611  		TestTypeBuiltinExplorer,
 22612  		TestTypeWebPerformanceProfile,
 22613  		TestTypeAppiumJavaJunit,
 22614  		TestTypeAppiumJavaTestng,
 22615  		TestTypeAppiumPython,
 22616  		TestTypeAppiumNode,
 22617  		TestTypeAppiumRuby,
 22618  		TestTypeAppiumWebJavaJunit,
 22619  		TestTypeAppiumWebJavaTestng,
 22620  		TestTypeAppiumWebPython,
 22621  		TestTypeAppiumWebNode,
 22622  		TestTypeAppiumWebRuby,
 22623  		TestTypeCalabash,
 22624  		TestTypeInstrumentation,
 22625  		TestTypeUiautomation,
 22626  		TestTypeUiautomator,
 22627  		TestTypeXctest,
 22628  		TestTypeXctestUi,
 22629  		TestTypeRemoteAccessRecord,
 22630  		TestTypeRemoteAccessReplay,
 22631  	}
 22632  }
 22633  
 22634  const (
 22635  	// UploadCategoryCurated is a UploadCategory enum value
 22636  	UploadCategoryCurated = "CURATED"
 22637  
 22638  	// UploadCategoryPrivate is a UploadCategory enum value
 22639  	UploadCategoryPrivate = "PRIVATE"
 22640  )
 22641  
 22642  // UploadCategory_Values returns all elements of the UploadCategory enum
 22643  func UploadCategory_Values() []string {
 22644  	return []string{
 22645  		UploadCategoryCurated,
 22646  		UploadCategoryPrivate,
 22647  	}
 22648  }
 22649  
 22650  const (
 22651  	// UploadStatusInitialized is a UploadStatus enum value
 22652  	UploadStatusInitialized = "INITIALIZED"
 22653  
 22654  	// UploadStatusProcessing is a UploadStatus enum value
 22655  	UploadStatusProcessing = "PROCESSING"
 22656  
 22657  	// UploadStatusSucceeded is a UploadStatus enum value
 22658  	UploadStatusSucceeded = "SUCCEEDED"
 22659  
 22660  	// UploadStatusFailed is a UploadStatus enum value
 22661  	UploadStatusFailed = "FAILED"
 22662  )
 22663  
 22664  // UploadStatus_Values returns all elements of the UploadStatus enum
 22665  func UploadStatus_Values() []string {
 22666  	return []string{
 22667  		UploadStatusInitialized,
 22668  		UploadStatusProcessing,
 22669  		UploadStatusSucceeded,
 22670  		UploadStatusFailed,
 22671  	}
 22672  }
 22673  
 22674  const (
 22675  	// UploadTypeAndroidApp is a UploadType enum value
 22676  	UploadTypeAndroidApp = "ANDROID_APP"
 22677  
 22678  	// UploadTypeIosApp is a UploadType enum value
 22679  	UploadTypeIosApp = "IOS_APP"
 22680  
 22681  	// UploadTypeWebApp is a UploadType enum value
 22682  	UploadTypeWebApp = "WEB_APP"
 22683  
 22684  	// UploadTypeExternalData is a UploadType enum value
 22685  	UploadTypeExternalData = "EXTERNAL_DATA"
 22686  
 22687  	// UploadTypeAppiumJavaJunitTestPackage is a UploadType enum value
 22688  	UploadTypeAppiumJavaJunitTestPackage = "APPIUM_JAVA_JUNIT_TEST_PACKAGE"
 22689  
 22690  	// UploadTypeAppiumJavaTestngTestPackage is a UploadType enum value
 22691  	UploadTypeAppiumJavaTestngTestPackage = "APPIUM_JAVA_TESTNG_TEST_PACKAGE"
 22692  
 22693  	// UploadTypeAppiumPythonTestPackage is a UploadType enum value
 22694  	UploadTypeAppiumPythonTestPackage = "APPIUM_PYTHON_TEST_PACKAGE"
 22695  
 22696  	// UploadTypeAppiumNodeTestPackage is a UploadType enum value
 22697  	UploadTypeAppiumNodeTestPackage = "APPIUM_NODE_TEST_PACKAGE"
 22698  
 22699  	// UploadTypeAppiumRubyTestPackage is a UploadType enum value
 22700  	UploadTypeAppiumRubyTestPackage = "APPIUM_RUBY_TEST_PACKAGE"
 22701  
 22702  	// UploadTypeAppiumWebJavaJunitTestPackage is a UploadType enum value
 22703  	UploadTypeAppiumWebJavaJunitTestPackage = "APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE"
 22704  
 22705  	// UploadTypeAppiumWebJavaTestngTestPackage is a UploadType enum value
 22706  	UploadTypeAppiumWebJavaTestngTestPackage = "APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE"
 22707  
 22708  	// UploadTypeAppiumWebPythonTestPackage is a UploadType enum value
 22709  	UploadTypeAppiumWebPythonTestPackage = "APPIUM_WEB_PYTHON_TEST_PACKAGE"
 22710  
 22711  	// UploadTypeAppiumWebNodeTestPackage is a UploadType enum value
 22712  	UploadTypeAppiumWebNodeTestPackage = "APPIUM_WEB_NODE_TEST_PACKAGE"
 22713  
 22714  	// UploadTypeAppiumWebRubyTestPackage is a UploadType enum value
 22715  	UploadTypeAppiumWebRubyTestPackage = "APPIUM_WEB_RUBY_TEST_PACKAGE"
 22716  
 22717  	// UploadTypeCalabashTestPackage is a UploadType enum value
 22718  	UploadTypeCalabashTestPackage = "CALABASH_TEST_PACKAGE"
 22719  
 22720  	// UploadTypeInstrumentationTestPackage is a UploadType enum value
 22721  	UploadTypeInstrumentationTestPackage = "INSTRUMENTATION_TEST_PACKAGE"
 22722  
 22723  	// UploadTypeUiautomationTestPackage is a UploadType enum value
 22724  	UploadTypeUiautomationTestPackage = "UIAUTOMATION_TEST_PACKAGE"
 22725  
 22726  	// UploadTypeUiautomatorTestPackage is a UploadType enum value
 22727  	UploadTypeUiautomatorTestPackage = "UIAUTOMATOR_TEST_PACKAGE"
 22728  
 22729  	// UploadTypeXctestTestPackage is a UploadType enum value
 22730  	UploadTypeXctestTestPackage = "XCTEST_TEST_PACKAGE"
 22731  
 22732  	// UploadTypeXctestUiTestPackage is a UploadType enum value
 22733  	UploadTypeXctestUiTestPackage = "XCTEST_UI_TEST_PACKAGE"
 22734  
 22735  	// UploadTypeAppiumJavaJunitTestSpec is a UploadType enum value
 22736  	UploadTypeAppiumJavaJunitTestSpec = "APPIUM_JAVA_JUNIT_TEST_SPEC"
 22737  
 22738  	// UploadTypeAppiumJavaTestngTestSpec is a UploadType enum value
 22739  	UploadTypeAppiumJavaTestngTestSpec = "APPIUM_JAVA_TESTNG_TEST_SPEC"
 22740  
 22741  	// UploadTypeAppiumPythonTestSpec is a UploadType enum value
 22742  	UploadTypeAppiumPythonTestSpec = "APPIUM_PYTHON_TEST_SPEC"
 22743  
 22744  	// UploadTypeAppiumNodeTestSpec is a UploadType enum value
 22745  	UploadTypeAppiumNodeTestSpec = "APPIUM_NODE_TEST_SPEC"
 22746  
 22747  	// UploadTypeAppiumRubyTestSpec is a UploadType enum value
 22748  	UploadTypeAppiumRubyTestSpec = "APPIUM_RUBY_TEST_SPEC"
 22749  
 22750  	// UploadTypeAppiumWebJavaJunitTestSpec is a UploadType enum value
 22751  	UploadTypeAppiumWebJavaJunitTestSpec = "APPIUM_WEB_JAVA_JUNIT_TEST_SPEC"
 22752  
 22753  	// UploadTypeAppiumWebJavaTestngTestSpec is a UploadType enum value
 22754  	UploadTypeAppiumWebJavaTestngTestSpec = "APPIUM_WEB_JAVA_TESTNG_TEST_SPEC"
 22755  
 22756  	// UploadTypeAppiumWebPythonTestSpec is a UploadType enum value
 22757  	UploadTypeAppiumWebPythonTestSpec = "APPIUM_WEB_PYTHON_TEST_SPEC"
 22758  
 22759  	// UploadTypeAppiumWebNodeTestSpec is a UploadType enum value
 22760  	UploadTypeAppiumWebNodeTestSpec = "APPIUM_WEB_NODE_TEST_SPEC"
 22761  
 22762  	// UploadTypeAppiumWebRubyTestSpec is a UploadType enum value
 22763  	UploadTypeAppiumWebRubyTestSpec = "APPIUM_WEB_RUBY_TEST_SPEC"
 22764  
 22765  	// UploadTypeInstrumentationTestSpec is a UploadType enum value
 22766  	UploadTypeInstrumentationTestSpec = "INSTRUMENTATION_TEST_SPEC"
 22767  
 22768  	// UploadTypeXctestUiTestSpec is a UploadType enum value
 22769  	UploadTypeXctestUiTestSpec = "XCTEST_UI_TEST_SPEC"
 22770  )
 22771  
 22772  // UploadType_Values returns all elements of the UploadType enum
 22773  func UploadType_Values() []string {
 22774  	return []string{
 22775  		UploadTypeAndroidApp,
 22776  		UploadTypeIosApp,
 22777  		UploadTypeWebApp,
 22778  		UploadTypeExternalData,
 22779  		UploadTypeAppiumJavaJunitTestPackage,
 22780  		UploadTypeAppiumJavaTestngTestPackage,
 22781  		UploadTypeAppiumPythonTestPackage,
 22782  		UploadTypeAppiumNodeTestPackage,
 22783  		UploadTypeAppiumRubyTestPackage,
 22784  		UploadTypeAppiumWebJavaJunitTestPackage,
 22785  		UploadTypeAppiumWebJavaTestngTestPackage,
 22786  		UploadTypeAppiumWebPythonTestPackage,
 22787  		UploadTypeAppiumWebNodeTestPackage,
 22788  		UploadTypeAppiumWebRubyTestPackage,
 22789  		UploadTypeCalabashTestPackage,
 22790  		UploadTypeInstrumentationTestPackage,
 22791  		UploadTypeUiautomationTestPackage,
 22792  		UploadTypeUiautomatorTestPackage,
 22793  		UploadTypeXctestTestPackage,
 22794  		UploadTypeXctestUiTestPackage,
 22795  		UploadTypeAppiumJavaJunitTestSpec,
 22796  		UploadTypeAppiumJavaTestngTestSpec,
 22797  		UploadTypeAppiumPythonTestSpec,
 22798  		UploadTypeAppiumNodeTestSpec,
 22799  		UploadTypeAppiumRubyTestSpec,
 22800  		UploadTypeAppiumWebJavaJunitTestSpec,
 22801  		UploadTypeAppiumWebJavaTestngTestSpec,
 22802  		UploadTypeAppiumWebPythonTestSpec,
 22803  		UploadTypeAppiumWebNodeTestSpec,
 22804  		UploadTypeAppiumWebRubyTestSpec,
 22805  		UploadTypeInstrumentationTestSpec,
 22806  		UploadTypeXctestUiTestSpec,
 22807  	}
 22808  }