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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package appstream
     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 opAssociateFleet = "AssociateFleet"
    17  
    18  // AssociateFleetRequest generates a "aws/request.Request" representing the
    19  // client's request for the AssociateFleet 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 AssociateFleet for more information on using the AssociateFleet
    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 AssociateFleetRequest method.
    34  //    req, resp := client.AssociateFleetRequest(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/appstream-2016-12-01/AssociateFleet
    42  func (c *AppStream) AssociateFleetRequest(input *AssociateFleetInput) (req *request.Request, output *AssociateFleetOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAssociateFleet,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AssociateFleetInput{}
    51  	}
    52  
    53  	output = &AssociateFleetOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	return
    57  }
    58  
    59  // AssociateFleet API operation for Amazon AppStream.
    60  //
    61  // Associates the specified fleet with the specified stack.
    62  //
    63  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    64  // with awserr.Error's Code and Message methods to get detailed information about
    65  // the error.
    66  //
    67  // See the AWS API reference guide for Amazon AppStream's
    68  // API operation AssociateFleet for usage and error information.
    69  //
    70  // Returned Error Types:
    71  //   * LimitExceededException
    72  //   The requested limit exceeds the permitted limit for an account.
    73  //
    74  //   * InvalidAccountStatusException
    75  //   The resource cannot be created because your AWS account is suspended. For
    76  //   assistance, contact AWS Support.
    77  //
    78  //   * ResourceNotFoundException
    79  //   The specified resource was not found.
    80  //
    81  //   * ConcurrentModificationException
    82  //   An API error occurred. Wait a few minutes and try again.
    83  //
    84  //   * IncompatibleImageException
    85  //   The image can't be updated because it's not compatible for updates.
    86  //
    87  //   * OperationNotPermittedException
    88  //   The attempted operation is not permitted.
    89  //
    90  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AssociateFleet
    91  func (c *AppStream) AssociateFleet(input *AssociateFleetInput) (*AssociateFleetOutput, error) {
    92  	req, out := c.AssociateFleetRequest(input)
    93  	return out, req.Send()
    94  }
    95  
    96  // AssociateFleetWithContext is the same as AssociateFleet with the addition of
    97  // the ability to pass a context and additional request options.
    98  //
    99  // See AssociateFleet for details on how to use this API operation.
   100  //
   101  // The context must be non-nil and will be used for request cancellation. If
   102  // the context is nil a panic will occur. In the future the SDK may create
   103  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   104  // for more information on using Contexts.
   105  func (c *AppStream) AssociateFleetWithContext(ctx aws.Context, input *AssociateFleetInput, opts ...request.Option) (*AssociateFleetOutput, error) {
   106  	req, out := c.AssociateFleetRequest(input)
   107  	req.SetContext(ctx)
   108  	req.ApplyOptions(opts...)
   109  	return out, req.Send()
   110  }
   111  
   112  const opBatchAssociateUserStack = "BatchAssociateUserStack"
   113  
   114  // BatchAssociateUserStackRequest generates a "aws/request.Request" representing the
   115  // client's request for the BatchAssociateUserStack operation. The "output" return
   116  // value will be populated with the request's response once the request completes
   117  // successfully.
   118  //
   119  // Use "Send" method on the returned Request to send the API call to the service.
   120  // the "output" return value is not valid until after Send returns without error.
   121  //
   122  // See BatchAssociateUserStack for more information on using the BatchAssociateUserStack
   123  // API call, and error handling.
   124  //
   125  // This method is useful when you want to inject custom logic or configuration
   126  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   127  //
   128  //
   129  //    // Example sending a request using the BatchAssociateUserStackRequest method.
   130  //    req, resp := client.BatchAssociateUserStackRequest(params)
   131  //
   132  //    err := req.Send()
   133  //    if err == nil { // resp is now filled
   134  //        fmt.Println(resp)
   135  //    }
   136  //
   137  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/BatchAssociateUserStack
   138  func (c *AppStream) BatchAssociateUserStackRequest(input *BatchAssociateUserStackInput) (req *request.Request, output *BatchAssociateUserStackOutput) {
   139  	op := &request.Operation{
   140  		Name:       opBatchAssociateUserStack,
   141  		HTTPMethod: "POST",
   142  		HTTPPath:   "/",
   143  	}
   144  
   145  	if input == nil {
   146  		input = &BatchAssociateUserStackInput{}
   147  	}
   148  
   149  	output = &BatchAssociateUserStackOutput{}
   150  	req = c.newRequest(op, input, output)
   151  	return
   152  }
   153  
   154  // BatchAssociateUserStack API operation for Amazon AppStream.
   155  //
   156  // Associates the specified users with the specified stacks. Users in a user
   157  // pool cannot be assigned to stacks with fleets that are joined to an Active
   158  // Directory domain.
   159  //
   160  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   161  // with awserr.Error's Code and Message methods to get detailed information about
   162  // the error.
   163  //
   164  // See the AWS API reference guide for Amazon AppStream's
   165  // API operation BatchAssociateUserStack for usage and error information.
   166  //
   167  // Returned Error Types:
   168  //   * OperationNotPermittedException
   169  //   The attempted operation is not permitted.
   170  //
   171  //   * InvalidParameterCombinationException
   172  //   Indicates an incorrect combination of parameters, or a missing parameter.
   173  //
   174  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/BatchAssociateUserStack
   175  func (c *AppStream) BatchAssociateUserStack(input *BatchAssociateUserStackInput) (*BatchAssociateUserStackOutput, error) {
   176  	req, out := c.BatchAssociateUserStackRequest(input)
   177  	return out, req.Send()
   178  }
   179  
   180  // BatchAssociateUserStackWithContext is the same as BatchAssociateUserStack with the addition of
   181  // the ability to pass a context and additional request options.
   182  //
   183  // See BatchAssociateUserStack for details on how to use this API operation.
   184  //
   185  // The context must be non-nil and will be used for request cancellation. If
   186  // the context is nil a panic will occur. In the future the SDK may create
   187  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   188  // for more information on using Contexts.
   189  func (c *AppStream) BatchAssociateUserStackWithContext(ctx aws.Context, input *BatchAssociateUserStackInput, opts ...request.Option) (*BatchAssociateUserStackOutput, error) {
   190  	req, out := c.BatchAssociateUserStackRequest(input)
   191  	req.SetContext(ctx)
   192  	req.ApplyOptions(opts...)
   193  	return out, req.Send()
   194  }
   195  
   196  const opBatchDisassociateUserStack = "BatchDisassociateUserStack"
   197  
   198  // BatchDisassociateUserStackRequest generates a "aws/request.Request" representing the
   199  // client's request for the BatchDisassociateUserStack operation. The "output" return
   200  // value will be populated with the request's response once the request completes
   201  // successfully.
   202  //
   203  // Use "Send" method on the returned Request to send the API call to the service.
   204  // the "output" return value is not valid until after Send returns without error.
   205  //
   206  // See BatchDisassociateUserStack for more information on using the BatchDisassociateUserStack
   207  // API call, and error handling.
   208  //
   209  // This method is useful when you want to inject custom logic or configuration
   210  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   211  //
   212  //
   213  //    // Example sending a request using the BatchDisassociateUserStackRequest method.
   214  //    req, resp := client.BatchDisassociateUserStackRequest(params)
   215  //
   216  //    err := req.Send()
   217  //    if err == nil { // resp is now filled
   218  //        fmt.Println(resp)
   219  //    }
   220  //
   221  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/BatchDisassociateUserStack
   222  func (c *AppStream) BatchDisassociateUserStackRequest(input *BatchDisassociateUserStackInput) (req *request.Request, output *BatchDisassociateUserStackOutput) {
   223  	op := &request.Operation{
   224  		Name:       opBatchDisassociateUserStack,
   225  		HTTPMethod: "POST",
   226  		HTTPPath:   "/",
   227  	}
   228  
   229  	if input == nil {
   230  		input = &BatchDisassociateUserStackInput{}
   231  	}
   232  
   233  	output = &BatchDisassociateUserStackOutput{}
   234  	req = c.newRequest(op, input, output)
   235  	return
   236  }
   237  
   238  // BatchDisassociateUserStack API operation for Amazon AppStream.
   239  //
   240  // Disassociates the specified users from the specified stacks.
   241  //
   242  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   243  // with awserr.Error's Code and Message methods to get detailed information about
   244  // the error.
   245  //
   246  // See the AWS API reference guide for Amazon AppStream's
   247  // API operation BatchDisassociateUserStack for usage and error information.
   248  //
   249  // Returned Error Types:
   250  //   * OperationNotPermittedException
   251  //   The attempted operation is not permitted.
   252  //
   253  //   * InvalidParameterCombinationException
   254  //   Indicates an incorrect combination of parameters, or a missing parameter.
   255  //
   256  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/BatchDisassociateUserStack
   257  func (c *AppStream) BatchDisassociateUserStack(input *BatchDisassociateUserStackInput) (*BatchDisassociateUserStackOutput, error) {
   258  	req, out := c.BatchDisassociateUserStackRequest(input)
   259  	return out, req.Send()
   260  }
   261  
   262  // BatchDisassociateUserStackWithContext is the same as BatchDisassociateUserStack with the addition of
   263  // the ability to pass a context and additional request options.
   264  //
   265  // See BatchDisassociateUserStack for details on how to use this API operation.
   266  //
   267  // The context must be non-nil and will be used for request cancellation. If
   268  // the context is nil a panic will occur. In the future the SDK may create
   269  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   270  // for more information on using Contexts.
   271  func (c *AppStream) BatchDisassociateUserStackWithContext(ctx aws.Context, input *BatchDisassociateUserStackInput, opts ...request.Option) (*BatchDisassociateUserStackOutput, error) {
   272  	req, out := c.BatchDisassociateUserStackRequest(input)
   273  	req.SetContext(ctx)
   274  	req.ApplyOptions(opts...)
   275  	return out, req.Send()
   276  }
   277  
   278  const opCopyImage = "CopyImage"
   279  
   280  // CopyImageRequest generates a "aws/request.Request" representing the
   281  // client's request for the CopyImage operation. The "output" return
   282  // value will be populated with the request's response once the request completes
   283  // successfully.
   284  //
   285  // Use "Send" method on the returned Request to send the API call to the service.
   286  // the "output" return value is not valid until after Send returns without error.
   287  //
   288  // See CopyImage for more information on using the CopyImage
   289  // API call, and error handling.
   290  //
   291  // This method is useful when you want to inject custom logic or configuration
   292  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   293  //
   294  //
   295  //    // Example sending a request using the CopyImageRequest method.
   296  //    req, resp := client.CopyImageRequest(params)
   297  //
   298  //    err := req.Send()
   299  //    if err == nil { // resp is now filled
   300  //        fmt.Println(resp)
   301  //    }
   302  //
   303  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CopyImage
   304  func (c *AppStream) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
   305  	op := &request.Operation{
   306  		Name:       opCopyImage,
   307  		HTTPMethod: "POST",
   308  		HTTPPath:   "/",
   309  	}
   310  
   311  	if input == nil {
   312  		input = &CopyImageInput{}
   313  	}
   314  
   315  	output = &CopyImageOutput{}
   316  	req = c.newRequest(op, input, output)
   317  	return
   318  }
   319  
   320  // CopyImage API operation for Amazon AppStream.
   321  //
   322  // Copies the image within the same region or to a new region within the same
   323  // AWS account. Note that any tags you added to the image will not be copied.
   324  //
   325  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   326  // with awserr.Error's Code and Message methods to get detailed information about
   327  // the error.
   328  //
   329  // See the AWS API reference guide for Amazon AppStream's
   330  // API operation CopyImage for usage and error information.
   331  //
   332  // Returned Error Types:
   333  //   * ResourceAlreadyExistsException
   334  //   The specified resource already exists.
   335  //
   336  //   * ResourceNotFoundException
   337  //   The specified resource was not found.
   338  //
   339  //   * ResourceNotAvailableException
   340  //   The specified resource exists and is not in use, but isn't available.
   341  //
   342  //   * LimitExceededException
   343  //   The requested limit exceeds the permitted limit for an account.
   344  //
   345  //   * InvalidAccountStatusException
   346  //   The resource cannot be created because your AWS account is suspended. For
   347  //   assistance, contact AWS Support.
   348  //
   349  //   * IncompatibleImageException
   350  //   The image can't be updated because it's not compatible for updates.
   351  //
   352  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CopyImage
   353  func (c *AppStream) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
   354  	req, out := c.CopyImageRequest(input)
   355  	return out, req.Send()
   356  }
   357  
   358  // CopyImageWithContext is the same as CopyImage with the addition of
   359  // the ability to pass a context and additional request options.
   360  //
   361  // See CopyImage for details on how to use this API operation.
   362  //
   363  // The context must be non-nil and will be used for request cancellation. If
   364  // the context is nil a panic will occur. In the future the SDK may create
   365  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   366  // for more information on using Contexts.
   367  func (c *AppStream) CopyImageWithContext(ctx aws.Context, input *CopyImageInput, opts ...request.Option) (*CopyImageOutput, error) {
   368  	req, out := c.CopyImageRequest(input)
   369  	req.SetContext(ctx)
   370  	req.ApplyOptions(opts...)
   371  	return out, req.Send()
   372  }
   373  
   374  const opCreateDirectoryConfig = "CreateDirectoryConfig"
   375  
   376  // CreateDirectoryConfigRequest generates a "aws/request.Request" representing the
   377  // client's request for the CreateDirectoryConfig operation. The "output" return
   378  // value will be populated with the request's response once the request completes
   379  // successfully.
   380  //
   381  // Use "Send" method on the returned Request to send the API call to the service.
   382  // the "output" return value is not valid until after Send returns without error.
   383  //
   384  // See CreateDirectoryConfig for more information on using the CreateDirectoryConfig
   385  // API call, and error handling.
   386  //
   387  // This method is useful when you want to inject custom logic or configuration
   388  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   389  //
   390  //
   391  //    // Example sending a request using the CreateDirectoryConfigRequest method.
   392  //    req, resp := client.CreateDirectoryConfigRequest(params)
   393  //
   394  //    err := req.Send()
   395  //    if err == nil { // resp is now filled
   396  //        fmt.Println(resp)
   397  //    }
   398  //
   399  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateDirectoryConfig
   400  func (c *AppStream) CreateDirectoryConfigRequest(input *CreateDirectoryConfigInput) (req *request.Request, output *CreateDirectoryConfigOutput) {
   401  	op := &request.Operation{
   402  		Name:       opCreateDirectoryConfig,
   403  		HTTPMethod: "POST",
   404  		HTTPPath:   "/",
   405  	}
   406  
   407  	if input == nil {
   408  		input = &CreateDirectoryConfigInput{}
   409  	}
   410  
   411  	output = &CreateDirectoryConfigOutput{}
   412  	req = c.newRequest(op, input, output)
   413  	return
   414  }
   415  
   416  // CreateDirectoryConfig API operation for Amazon AppStream.
   417  //
   418  // Creates a Directory Config object in AppStream 2.0. This object includes
   419  // the configuration information required to join fleets and image builders
   420  // to Microsoft Active Directory domains.
   421  //
   422  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   423  // with awserr.Error's Code and Message methods to get detailed information about
   424  // the error.
   425  //
   426  // See the AWS API reference guide for Amazon AppStream's
   427  // API operation CreateDirectoryConfig for usage and error information.
   428  //
   429  // Returned Error Types:
   430  //   * ResourceNotFoundException
   431  //   The specified resource was not found.
   432  //
   433  //   * ResourceAlreadyExistsException
   434  //   The specified resource already exists.
   435  //
   436  //   * LimitExceededException
   437  //   The requested limit exceeds the permitted limit for an account.
   438  //
   439  //   * InvalidAccountStatusException
   440  //   The resource cannot be created because your AWS account is suspended. For
   441  //   assistance, contact AWS Support.
   442  //
   443  //   * OperationNotPermittedException
   444  //   The attempted operation is not permitted.
   445  //
   446  //   * InvalidRoleException
   447  //   The specified role is invalid.
   448  //
   449  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateDirectoryConfig
   450  func (c *AppStream) CreateDirectoryConfig(input *CreateDirectoryConfigInput) (*CreateDirectoryConfigOutput, error) {
   451  	req, out := c.CreateDirectoryConfigRequest(input)
   452  	return out, req.Send()
   453  }
   454  
   455  // CreateDirectoryConfigWithContext is the same as CreateDirectoryConfig with the addition of
   456  // the ability to pass a context and additional request options.
   457  //
   458  // See CreateDirectoryConfig for details on how to use this API operation.
   459  //
   460  // The context must be non-nil and will be used for request cancellation. If
   461  // the context is nil a panic will occur. In the future the SDK may create
   462  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   463  // for more information on using Contexts.
   464  func (c *AppStream) CreateDirectoryConfigWithContext(ctx aws.Context, input *CreateDirectoryConfigInput, opts ...request.Option) (*CreateDirectoryConfigOutput, error) {
   465  	req, out := c.CreateDirectoryConfigRequest(input)
   466  	req.SetContext(ctx)
   467  	req.ApplyOptions(opts...)
   468  	return out, req.Send()
   469  }
   470  
   471  const opCreateFleet = "CreateFleet"
   472  
   473  // CreateFleetRequest generates a "aws/request.Request" representing the
   474  // client's request for the CreateFleet operation. The "output" return
   475  // value will be populated with the request's response once the request completes
   476  // successfully.
   477  //
   478  // Use "Send" method on the returned Request to send the API call to the service.
   479  // the "output" return value is not valid until after Send returns without error.
   480  //
   481  // See CreateFleet for more information on using the CreateFleet
   482  // API call, and error handling.
   483  //
   484  // This method is useful when you want to inject custom logic or configuration
   485  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   486  //
   487  //
   488  //    // Example sending a request using the CreateFleetRequest method.
   489  //    req, resp := client.CreateFleetRequest(params)
   490  //
   491  //    err := req.Send()
   492  //    if err == nil { // resp is now filled
   493  //        fmt.Println(resp)
   494  //    }
   495  //
   496  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateFleet
   497  func (c *AppStream) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
   498  	op := &request.Operation{
   499  		Name:       opCreateFleet,
   500  		HTTPMethod: "POST",
   501  		HTTPPath:   "/",
   502  	}
   503  
   504  	if input == nil {
   505  		input = &CreateFleetInput{}
   506  	}
   507  
   508  	output = &CreateFleetOutput{}
   509  	req = c.newRequest(op, input, output)
   510  	return
   511  }
   512  
   513  // CreateFleet API operation for Amazon AppStream.
   514  //
   515  // Creates a fleet. A fleet consists of streaming instances that run a specified
   516  // image.
   517  //
   518  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   519  // with awserr.Error's Code and Message methods to get detailed information about
   520  // the error.
   521  //
   522  // See the AWS API reference guide for Amazon AppStream's
   523  // API operation CreateFleet for usage and error information.
   524  //
   525  // Returned Error Types:
   526  //   * ResourceAlreadyExistsException
   527  //   The specified resource already exists.
   528  //
   529  //   * ResourceNotAvailableException
   530  //   The specified resource exists and is not in use, but isn't available.
   531  //
   532  //   * ResourceNotFoundException
   533  //   The specified resource was not found.
   534  //
   535  //   * LimitExceededException
   536  //   The requested limit exceeds the permitted limit for an account.
   537  //
   538  //   * RequestLimitExceededException
   539  //   AppStream 2.0 can’t process the request right now because the Describe
   540  //   calls from your AWS account are being throttled by Amazon EC2. Try again
   541  //   later.
   542  //
   543  //   * InvalidAccountStatusException
   544  //   The resource cannot be created because your AWS account is suspended. For
   545  //   assistance, contact AWS Support.
   546  //
   547  //   * InvalidRoleException
   548  //   The specified role is invalid.
   549  //
   550  //   * ConcurrentModificationException
   551  //   An API error occurred. Wait a few minutes and try again.
   552  //
   553  //   * InvalidParameterCombinationException
   554  //   Indicates an incorrect combination of parameters, or a missing parameter.
   555  //
   556  //   * IncompatibleImageException
   557  //   The image can't be updated because it's not compatible for updates.
   558  //
   559  //   * OperationNotPermittedException
   560  //   The attempted operation is not permitted.
   561  //
   562  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateFleet
   563  func (c *AppStream) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
   564  	req, out := c.CreateFleetRequest(input)
   565  	return out, req.Send()
   566  }
   567  
   568  // CreateFleetWithContext is the same as CreateFleet with the addition of
   569  // the ability to pass a context and additional request options.
   570  //
   571  // See CreateFleet for details on how to use this API operation.
   572  //
   573  // The context must be non-nil and will be used for request cancellation. If
   574  // the context is nil a panic will occur. In the future the SDK may create
   575  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   576  // for more information on using Contexts.
   577  func (c *AppStream) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
   578  	req, out := c.CreateFleetRequest(input)
   579  	req.SetContext(ctx)
   580  	req.ApplyOptions(opts...)
   581  	return out, req.Send()
   582  }
   583  
   584  const opCreateImageBuilder = "CreateImageBuilder"
   585  
   586  // CreateImageBuilderRequest generates a "aws/request.Request" representing the
   587  // client's request for the CreateImageBuilder operation. The "output" return
   588  // value will be populated with the request's response once the request completes
   589  // successfully.
   590  //
   591  // Use "Send" method on the returned Request to send the API call to the service.
   592  // the "output" return value is not valid until after Send returns without error.
   593  //
   594  // See CreateImageBuilder for more information on using the CreateImageBuilder
   595  // API call, and error handling.
   596  //
   597  // This method is useful when you want to inject custom logic or configuration
   598  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   599  //
   600  //
   601  //    // Example sending a request using the CreateImageBuilderRequest method.
   602  //    req, resp := client.CreateImageBuilderRequest(params)
   603  //
   604  //    err := req.Send()
   605  //    if err == nil { // resp is now filled
   606  //        fmt.Println(resp)
   607  //    }
   608  //
   609  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilder
   610  func (c *AppStream) CreateImageBuilderRequest(input *CreateImageBuilderInput) (req *request.Request, output *CreateImageBuilderOutput) {
   611  	op := &request.Operation{
   612  		Name:       opCreateImageBuilder,
   613  		HTTPMethod: "POST",
   614  		HTTPPath:   "/",
   615  	}
   616  
   617  	if input == nil {
   618  		input = &CreateImageBuilderInput{}
   619  	}
   620  
   621  	output = &CreateImageBuilderOutput{}
   622  	req = c.newRequest(op, input, output)
   623  	return
   624  }
   625  
   626  // CreateImageBuilder API operation for Amazon AppStream.
   627  //
   628  // Creates an image builder. An image builder is a virtual machine that is used
   629  // to create an image.
   630  //
   631  // The initial state of the builder is PENDING. When it is ready, the state
   632  // is RUNNING.
   633  //
   634  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   635  // with awserr.Error's Code and Message methods to get detailed information about
   636  // the error.
   637  //
   638  // See the AWS API reference guide for Amazon AppStream's
   639  // API operation CreateImageBuilder for usage and error information.
   640  //
   641  // Returned Error Types:
   642  //   * LimitExceededException
   643  //   The requested limit exceeds the permitted limit for an account.
   644  //
   645  //   * RequestLimitExceededException
   646  //   AppStream 2.0 can’t process the request right now because the Describe
   647  //   calls from your AWS account are being throttled by Amazon EC2. Try again
   648  //   later.
   649  //
   650  //   * InvalidAccountStatusException
   651  //   The resource cannot be created because your AWS account is suspended. For
   652  //   assistance, contact AWS Support.
   653  //
   654  //   * ResourceAlreadyExistsException
   655  //   The specified resource already exists.
   656  //
   657  //   * ResourceNotAvailableException
   658  //   The specified resource exists and is not in use, but isn't available.
   659  //
   660  //   * ResourceNotFoundException
   661  //   The specified resource was not found.
   662  //
   663  //   * InvalidRoleException
   664  //   The specified role is invalid.
   665  //
   666  //   * ConcurrentModificationException
   667  //   An API error occurred. Wait a few minutes and try again.
   668  //
   669  //   * InvalidParameterCombinationException
   670  //   Indicates an incorrect combination of parameters, or a missing parameter.
   671  //
   672  //   * IncompatibleImageException
   673  //   The image can't be updated because it's not compatible for updates.
   674  //
   675  //   * OperationNotPermittedException
   676  //   The attempted operation is not permitted.
   677  //
   678  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilder
   679  func (c *AppStream) CreateImageBuilder(input *CreateImageBuilderInput) (*CreateImageBuilderOutput, error) {
   680  	req, out := c.CreateImageBuilderRequest(input)
   681  	return out, req.Send()
   682  }
   683  
   684  // CreateImageBuilderWithContext is the same as CreateImageBuilder with the addition of
   685  // the ability to pass a context and additional request options.
   686  //
   687  // See CreateImageBuilder for details on how to use this API operation.
   688  //
   689  // The context must be non-nil and will be used for request cancellation. If
   690  // the context is nil a panic will occur. In the future the SDK may create
   691  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   692  // for more information on using Contexts.
   693  func (c *AppStream) CreateImageBuilderWithContext(ctx aws.Context, input *CreateImageBuilderInput, opts ...request.Option) (*CreateImageBuilderOutput, error) {
   694  	req, out := c.CreateImageBuilderRequest(input)
   695  	req.SetContext(ctx)
   696  	req.ApplyOptions(opts...)
   697  	return out, req.Send()
   698  }
   699  
   700  const opCreateImageBuilderStreamingURL = "CreateImageBuilderStreamingURL"
   701  
   702  // CreateImageBuilderStreamingURLRequest generates a "aws/request.Request" representing the
   703  // client's request for the CreateImageBuilderStreamingURL operation. The "output" return
   704  // value will be populated with the request's response once the request completes
   705  // successfully.
   706  //
   707  // Use "Send" method on the returned Request to send the API call to the service.
   708  // the "output" return value is not valid until after Send returns without error.
   709  //
   710  // See CreateImageBuilderStreamingURL for more information on using the CreateImageBuilderStreamingURL
   711  // API call, and error handling.
   712  //
   713  // This method is useful when you want to inject custom logic or configuration
   714  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   715  //
   716  //
   717  //    // Example sending a request using the CreateImageBuilderStreamingURLRequest method.
   718  //    req, resp := client.CreateImageBuilderStreamingURLRequest(params)
   719  //
   720  //    err := req.Send()
   721  //    if err == nil { // resp is now filled
   722  //        fmt.Println(resp)
   723  //    }
   724  //
   725  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilderStreamingURL
   726  func (c *AppStream) CreateImageBuilderStreamingURLRequest(input *CreateImageBuilderStreamingURLInput) (req *request.Request, output *CreateImageBuilderStreamingURLOutput) {
   727  	op := &request.Operation{
   728  		Name:       opCreateImageBuilderStreamingURL,
   729  		HTTPMethod: "POST",
   730  		HTTPPath:   "/",
   731  	}
   732  
   733  	if input == nil {
   734  		input = &CreateImageBuilderStreamingURLInput{}
   735  	}
   736  
   737  	output = &CreateImageBuilderStreamingURLOutput{}
   738  	req = c.newRequest(op, input, output)
   739  	return
   740  }
   741  
   742  // CreateImageBuilderStreamingURL API operation for Amazon AppStream.
   743  //
   744  // Creates a URL to start an image builder streaming session.
   745  //
   746  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   747  // with awserr.Error's Code and Message methods to get detailed information about
   748  // the error.
   749  //
   750  // See the AWS API reference guide for Amazon AppStream's
   751  // API operation CreateImageBuilderStreamingURL for usage and error information.
   752  //
   753  // Returned Error Types:
   754  //   * OperationNotPermittedException
   755  //   The attempted operation is not permitted.
   756  //
   757  //   * ResourceNotFoundException
   758  //   The specified resource was not found.
   759  //
   760  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilderStreamingURL
   761  func (c *AppStream) CreateImageBuilderStreamingURL(input *CreateImageBuilderStreamingURLInput) (*CreateImageBuilderStreamingURLOutput, error) {
   762  	req, out := c.CreateImageBuilderStreamingURLRequest(input)
   763  	return out, req.Send()
   764  }
   765  
   766  // CreateImageBuilderStreamingURLWithContext is the same as CreateImageBuilderStreamingURL with the addition of
   767  // the ability to pass a context and additional request options.
   768  //
   769  // See CreateImageBuilderStreamingURL for details on how to use this API operation.
   770  //
   771  // The context must be non-nil and will be used for request cancellation. If
   772  // the context is nil a panic will occur. In the future the SDK may create
   773  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   774  // for more information on using Contexts.
   775  func (c *AppStream) CreateImageBuilderStreamingURLWithContext(ctx aws.Context, input *CreateImageBuilderStreamingURLInput, opts ...request.Option) (*CreateImageBuilderStreamingURLOutput, error) {
   776  	req, out := c.CreateImageBuilderStreamingURLRequest(input)
   777  	req.SetContext(ctx)
   778  	req.ApplyOptions(opts...)
   779  	return out, req.Send()
   780  }
   781  
   782  const opCreateStack = "CreateStack"
   783  
   784  // CreateStackRequest generates a "aws/request.Request" representing the
   785  // client's request for the CreateStack operation. The "output" return
   786  // value will be populated with the request's response once the request completes
   787  // successfully.
   788  //
   789  // Use "Send" method on the returned Request to send the API call to the service.
   790  // the "output" return value is not valid until after Send returns without error.
   791  //
   792  // See CreateStack for more information on using the CreateStack
   793  // API call, and error handling.
   794  //
   795  // This method is useful when you want to inject custom logic or configuration
   796  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   797  //
   798  //
   799  //    // Example sending a request using the CreateStackRequest method.
   800  //    req, resp := client.CreateStackRequest(params)
   801  //
   802  //    err := req.Send()
   803  //    if err == nil { // resp is now filled
   804  //        fmt.Println(resp)
   805  //    }
   806  //
   807  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateStack
   808  func (c *AppStream) CreateStackRequest(input *CreateStackInput) (req *request.Request, output *CreateStackOutput) {
   809  	op := &request.Operation{
   810  		Name:       opCreateStack,
   811  		HTTPMethod: "POST",
   812  		HTTPPath:   "/",
   813  	}
   814  
   815  	if input == nil {
   816  		input = &CreateStackInput{}
   817  	}
   818  
   819  	output = &CreateStackOutput{}
   820  	req = c.newRequest(op, input, output)
   821  	return
   822  }
   823  
   824  // CreateStack API operation for Amazon AppStream.
   825  //
   826  // Creates a stack to start streaming applications to users. A stack consists
   827  // of an associated fleet, user access policies, and storage configurations.
   828  //
   829  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   830  // with awserr.Error's Code and Message methods to get detailed information about
   831  // the error.
   832  //
   833  // See the AWS API reference guide for Amazon AppStream's
   834  // API operation CreateStack for usage and error information.
   835  //
   836  // Returned Error Types:
   837  //   * LimitExceededException
   838  //   The requested limit exceeds the permitted limit for an account.
   839  //
   840  //   * InvalidAccountStatusException
   841  //   The resource cannot be created because your AWS account is suspended. For
   842  //   assistance, contact AWS Support.
   843  //
   844  //   * ResourceAlreadyExistsException
   845  //   The specified resource already exists.
   846  //
   847  //   * ConcurrentModificationException
   848  //   An API error occurred. Wait a few minutes and try again.
   849  //
   850  //   * InvalidRoleException
   851  //   The specified role is invalid.
   852  //
   853  //   * ResourceNotFoundException
   854  //   The specified resource was not found.
   855  //
   856  //   * InvalidParameterCombinationException
   857  //   Indicates an incorrect combination of parameters, or a missing parameter.
   858  //
   859  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateStack
   860  func (c *AppStream) CreateStack(input *CreateStackInput) (*CreateStackOutput, error) {
   861  	req, out := c.CreateStackRequest(input)
   862  	return out, req.Send()
   863  }
   864  
   865  // CreateStackWithContext is the same as CreateStack with the addition of
   866  // the ability to pass a context and additional request options.
   867  //
   868  // See CreateStack for details on how to use this API operation.
   869  //
   870  // The context must be non-nil and will be used for request cancellation. If
   871  // the context is nil a panic will occur. In the future the SDK may create
   872  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   873  // for more information on using Contexts.
   874  func (c *AppStream) CreateStackWithContext(ctx aws.Context, input *CreateStackInput, opts ...request.Option) (*CreateStackOutput, error) {
   875  	req, out := c.CreateStackRequest(input)
   876  	req.SetContext(ctx)
   877  	req.ApplyOptions(opts...)
   878  	return out, req.Send()
   879  }
   880  
   881  const opCreateStreamingURL = "CreateStreamingURL"
   882  
   883  // CreateStreamingURLRequest generates a "aws/request.Request" representing the
   884  // client's request for the CreateStreamingURL operation. The "output" return
   885  // value will be populated with the request's response once the request completes
   886  // successfully.
   887  //
   888  // Use "Send" method on the returned Request to send the API call to the service.
   889  // the "output" return value is not valid until after Send returns without error.
   890  //
   891  // See CreateStreamingURL for more information on using the CreateStreamingURL
   892  // API call, and error handling.
   893  //
   894  // This method is useful when you want to inject custom logic or configuration
   895  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   896  //
   897  //
   898  //    // Example sending a request using the CreateStreamingURLRequest method.
   899  //    req, resp := client.CreateStreamingURLRequest(params)
   900  //
   901  //    err := req.Send()
   902  //    if err == nil { // resp is now filled
   903  //        fmt.Println(resp)
   904  //    }
   905  //
   906  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateStreamingURL
   907  func (c *AppStream) CreateStreamingURLRequest(input *CreateStreamingURLInput) (req *request.Request, output *CreateStreamingURLOutput) {
   908  	op := &request.Operation{
   909  		Name:       opCreateStreamingURL,
   910  		HTTPMethod: "POST",
   911  		HTTPPath:   "/",
   912  	}
   913  
   914  	if input == nil {
   915  		input = &CreateStreamingURLInput{}
   916  	}
   917  
   918  	output = &CreateStreamingURLOutput{}
   919  	req = c.newRequest(op, input, output)
   920  	return
   921  }
   922  
   923  // CreateStreamingURL API operation for Amazon AppStream.
   924  //
   925  // Creates a temporary URL to start an AppStream 2.0 streaming session for the
   926  // specified user. A streaming URL enables application streaming to be tested
   927  // without user setup.
   928  //
   929  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   930  // with awserr.Error's Code and Message methods to get detailed information about
   931  // the error.
   932  //
   933  // See the AWS API reference guide for Amazon AppStream's
   934  // API operation CreateStreamingURL for usage and error information.
   935  //
   936  // Returned Error Types:
   937  //   * ResourceNotFoundException
   938  //   The specified resource was not found.
   939  //
   940  //   * ResourceNotAvailableException
   941  //   The specified resource exists and is not in use, but isn't available.
   942  //
   943  //   * OperationNotPermittedException
   944  //   The attempted operation is not permitted.
   945  //
   946  //   * InvalidParameterCombinationException
   947  //   Indicates an incorrect combination of parameters, or a missing parameter.
   948  //
   949  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateStreamingURL
   950  func (c *AppStream) CreateStreamingURL(input *CreateStreamingURLInput) (*CreateStreamingURLOutput, error) {
   951  	req, out := c.CreateStreamingURLRequest(input)
   952  	return out, req.Send()
   953  }
   954  
   955  // CreateStreamingURLWithContext is the same as CreateStreamingURL with the addition of
   956  // the ability to pass a context and additional request options.
   957  //
   958  // See CreateStreamingURL for details on how to use this API operation.
   959  //
   960  // The context must be non-nil and will be used for request cancellation. If
   961  // the context is nil a panic will occur. In the future the SDK may create
   962  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   963  // for more information on using Contexts.
   964  func (c *AppStream) CreateStreamingURLWithContext(ctx aws.Context, input *CreateStreamingURLInput, opts ...request.Option) (*CreateStreamingURLOutput, error) {
   965  	req, out := c.CreateStreamingURLRequest(input)
   966  	req.SetContext(ctx)
   967  	req.ApplyOptions(opts...)
   968  	return out, req.Send()
   969  }
   970  
   971  const opCreateUpdatedImage = "CreateUpdatedImage"
   972  
   973  // CreateUpdatedImageRequest generates a "aws/request.Request" representing the
   974  // client's request for the CreateUpdatedImage operation. The "output" return
   975  // value will be populated with the request's response once the request completes
   976  // successfully.
   977  //
   978  // Use "Send" method on the returned Request to send the API call to the service.
   979  // the "output" return value is not valid until after Send returns without error.
   980  //
   981  // See CreateUpdatedImage for more information on using the CreateUpdatedImage
   982  // API call, and error handling.
   983  //
   984  // This method is useful when you want to inject custom logic or configuration
   985  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   986  //
   987  //
   988  //    // Example sending a request using the CreateUpdatedImageRequest method.
   989  //    req, resp := client.CreateUpdatedImageRequest(params)
   990  //
   991  //    err := req.Send()
   992  //    if err == nil { // resp is now filled
   993  //        fmt.Println(resp)
   994  //    }
   995  //
   996  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateUpdatedImage
   997  func (c *AppStream) CreateUpdatedImageRequest(input *CreateUpdatedImageInput) (req *request.Request, output *CreateUpdatedImageOutput) {
   998  	op := &request.Operation{
   999  		Name:       opCreateUpdatedImage,
  1000  		HTTPMethod: "POST",
  1001  		HTTPPath:   "/",
  1002  	}
  1003  
  1004  	if input == nil {
  1005  		input = &CreateUpdatedImageInput{}
  1006  	}
  1007  
  1008  	output = &CreateUpdatedImageOutput{}
  1009  	req = c.newRequest(op, input, output)
  1010  	return
  1011  }
  1012  
  1013  // CreateUpdatedImage API operation for Amazon AppStream.
  1014  //
  1015  // Creates a new image with the latest Windows operating system updates, driver
  1016  // updates, and AppStream 2.0 agent software.
  1017  //
  1018  // For more information, see the "Update an Image by Using Managed AppStream
  1019  // 2.0 Image Updates" section in Administer Your AppStream 2.0 Images (https://docs.aws.amazon.com/appstream2/latest/developerguide/administer-images.html),
  1020  // in the Amazon AppStream 2.0 Administration Guide.
  1021  //
  1022  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1023  // with awserr.Error's Code and Message methods to get detailed information about
  1024  // the error.
  1025  //
  1026  // See the AWS API reference guide for Amazon AppStream's
  1027  // API operation CreateUpdatedImage for usage and error information.
  1028  //
  1029  // Returned Error Types:
  1030  //   * LimitExceededException
  1031  //   The requested limit exceeds the permitted limit for an account.
  1032  //
  1033  //   * InvalidAccountStatusException
  1034  //   The resource cannot be created because your AWS account is suspended. For
  1035  //   assistance, contact AWS Support.
  1036  //
  1037  //   * OperationNotPermittedException
  1038  //   The attempted operation is not permitted.
  1039  //
  1040  //   * ResourceAlreadyExistsException
  1041  //   The specified resource already exists.
  1042  //
  1043  //   * ResourceNotFoundException
  1044  //   The specified resource was not found.
  1045  //
  1046  //   * ConcurrentModificationException
  1047  //   An API error occurred. Wait a few minutes and try again.
  1048  //
  1049  //   * IncompatibleImageException
  1050  //   The image can't be updated because it's not compatible for updates.
  1051  //
  1052  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateUpdatedImage
  1053  func (c *AppStream) CreateUpdatedImage(input *CreateUpdatedImageInput) (*CreateUpdatedImageOutput, error) {
  1054  	req, out := c.CreateUpdatedImageRequest(input)
  1055  	return out, req.Send()
  1056  }
  1057  
  1058  // CreateUpdatedImageWithContext is the same as CreateUpdatedImage with the addition of
  1059  // the ability to pass a context and additional request options.
  1060  //
  1061  // See CreateUpdatedImage for details on how to use this API operation.
  1062  //
  1063  // The context must be non-nil and will be used for request cancellation. If
  1064  // the context is nil a panic will occur. In the future the SDK may create
  1065  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1066  // for more information on using Contexts.
  1067  func (c *AppStream) CreateUpdatedImageWithContext(ctx aws.Context, input *CreateUpdatedImageInput, opts ...request.Option) (*CreateUpdatedImageOutput, error) {
  1068  	req, out := c.CreateUpdatedImageRequest(input)
  1069  	req.SetContext(ctx)
  1070  	req.ApplyOptions(opts...)
  1071  	return out, req.Send()
  1072  }
  1073  
  1074  const opCreateUsageReportSubscription = "CreateUsageReportSubscription"
  1075  
  1076  // CreateUsageReportSubscriptionRequest generates a "aws/request.Request" representing the
  1077  // client's request for the CreateUsageReportSubscription operation. The "output" return
  1078  // value will be populated with the request's response once the request completes
  1079  // successfully.
  1080  //
  1081  // Use "Send" method on the returned Request to send the API call to the service.
  1082  // the "output" return value is not valid until after Send returns without error.
  1083  //
  1084  // See CreateUsageReportSubscription for more information on using the CreateUsageReportSubscription
  1085  // API call, and error handling.
  1086  //
  1087  // This method is useful when you want to inject custom logic or configuration
  1088  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1089  //
  1090  //
  1091  //    // Example sending a request using the CreateUsageReportSubscriptionRequest method.
  1092  //    req, resp := client.CreateUsageReportSubscriptionRequest(params)
  1093  //
  1094  //    err := req.Send()
  1095  //    if err == nil { // resp is now filled
  1096  //        fmt.Println(resp)
  1097  //    }
  1098  //
  1099  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateUsageReportSubscription
  1100  func (c *AppStream) CreateUsageReportSubscriptionRequest(input *CreateUsageReportSubscriptionInput) (req *request.Request, output *CreateUsageReportSubscriptionOutput) {
  1101  	op := &request.Operation{
  1102  		Name:       opCreateUsageReportSubscription,
  1103  		HTTPMethod: "POST",
  1104  		HTTPPath:   "/",
  1105  	}
  1106  
  1107  	if input == nil {
  1108  		input = &CreateUsageReportSubscriptionInput{}
  1109  	}
  1110  
  1111  	output = &CreateUsageReportSubscriptionOutput{}
  1112  	req = c.newRequest(op, input, output)
  1113  	return
  1114  }
  1115  
  1116  // CreateUsageReportSubscription API operation for Amazon AppStream.
  1117  //
  1118  // Creates a usage report subscription. Usage reports are generated daily.
  1119  //
  1120  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1121  // with awserr.Error's Code and Message methods to get detailed information about
  1122  // the error.
  1123  //
  1124  // See the AWS API reference guide for Amazon AppStream's
  1125  // API operation CreateUsageReportSubscription for usage and error information.
  1126  //
  1127  // Returned Error Types:
  1128  //   * InvalidRoleException
  1129  //   The specified role is invalid.
  1130  //
  1131  //   * InvalidAccountStatusException
  1132  //   The resource cannot be created because your AWS account is suspended. For
  1133  //   assistance, contact AWS Support.
  1134  //
  1135  //   * LimitExceededException
  1136  //   The requested limit exceeds the permitted limit for an account.
  1137  //
  1138  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateUsageReportSubscription
  1139  func (c *AppStream) CreateUsageReportSubscription(input *CreateUsageReportSubscriptionInput) (*CreateUsageReportSubscriptionOutput, error) {
  1140  	req, out := c.CreateUsageReportSubscriptionRequest(input)
  1141  	return out, req.Send()
  1142  }
  1143  
  1144  // CreateUsageReportSubscriptionWithContext is the same as CreateUsageReportSubscription with the addition of
  1145  // the ability to pass a context and additional request options.
  1146  //
  1147  // See CreateUsageReportSubscription for details on how to use this API operation.
  1148  //
  1149  // The context must be non-nil and will be used for request cancellation. If
  1150  // the context is nil a panic will occur. In the future the SDK may create
  1151  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1152  // for more information on using Contexts.
  1153  func (c *AppStream) CreateUsageReportSubscriptionWithContext(ctx aws.Context, input *CreateUsageReportSubscriptionInput, opts ...request.Option) (*CreateUsageReportSubscriptionOutput, error) {
  1154  	req, out := c.CreateUsageReportSubscriptionRequest(input)
  1155  	req.SetContext(ctx)
  1156  	req.ApplyOptions(opts...)
  1157  	return out, req.Send()
  1158  }
  1159  
  1160  const opCreateUser = "CreateUser"
  1161  
  1162  // CreateUserRequest generates a "aws/request.Request" representing the
  1163  // client's request for the CreateUser operation. The "output" return
  1164  // value will be populated with the request's response once the request completes
  1165  // successfully.
  1166  //
  1167  // Use "Send" method on the returned Request to send the API call to the service.
  1168  // the "output" return value is not valid until after Send returns without error.
  1169  //
  1170  // See CreateUser for more information on using the CreateUser
  1171  // API call, and error handling.
  1172  //
  1173  // This method is useful when you want to inject custom logic or configuration
  1174  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1175  //
  1176  //
  1177  //    // Example sending a request using the CreateUserRequest method.
  1178  //    req, resp := client.CreateUserRequest(params)
  1179  //
  1180  //    err := req.Send()
  1181  //    if err == nil { // resp is now filled
  1182  //        fmt.Println(resp)
  1183  //    }
  1184  //
  1185  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateUser
  1186  func (c *AppStream) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) {
  1187  	op := &request.Operation{
  1188  		Name:       opCreateUser,
  1189  		HTTPMethod: "POST",
  1190  		HTTPPath:   "/",
  1191  	}
  1192  
  1193  	if input == nil {
  1194  		input = &CreateUserInput{}
  1195  	}
  1196  
  1197  	output = &CreateUserOutput{}
  1198  	req = c.newRequest(op, input, output)
  1199  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1200  	return
  1201  }
  1202  
  1203  // CreateUser API operation for Amazon AppStream.
  1204  //
  1205  // Creates a new user in the user pool.
  1206  //
  1207  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1208  // with awserr.Error's Code and Message methods to get detailed information about
  1209  // the error.
  1210  //
  1211  // See the AWS API reference guide for Amazon AppStream's
  1212  // API operation CreateUser for usage and error information.
  1213  //
  1214  // Returned Error Types:
  1215  //   * ResourceAlreadyExistsException
  1216  //   The specified resource already exists.
  1217  //
  1218  //   * InvalidAccountStatusException
  1219  //   The resource cannot be created because your AWS account is suspended. For
  1220  //   assistance, contact AWS Support.
  1221  //
  1222  //   * InvalidParameterCombinationException
  1223  //   Indicates an incorrect combination of parameters, or a missing parameter.
  1224  //
  1225  //   * LimitExceededException
  1226  //   The requested limit exceeds the permitted limit for an account.
  1227  //
  1228  //   * OperationNotPermittedException
  1229  //   The attempted operation is not permitted.
  1230  //
  1231  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateUser
  1232  func (c *AppStream) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) {
  1233  	req, out := c.CreateUserRequest(input)
  1234  	return out, req.Send()
  1235  }
  1236  
  1237  // CreateUserWithContext is the same as CreateUser with the addition of
  1238  // the ability to pass a context and additional request options.
  1239  //
  1240  // See CreateUser for details on how to use this API operation.
  1241  //
  1242  // The context must be non-nil and will be used for request cancellation. If
  1243  // the context is nil a panic will occur. In the future the SDK may create
  1244  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1245  // for more information on using Contexts.
  1246  func (c *AppStream) CreateUserWithContext(ctx aws.Context, input *CreateUserInput, opts ...request.Option) (*CreateUserOutput, error) {
  1247  	req, out := c.CreateUserRequest(input)
  1248  	req.SetContext(ctx)
  1249  	req.ApplyOptions(opts...)
  1250  	return out, req.Send()
  1251  }
  1252  
  1253  const opDeleteDirectoryConfig = "DeleteDirectoryConfig"
  1254  
  1255  // DeleteDirectoryConfigRequest generates a "aws/request.Request" representing the
  1256  // client's request for the DeleteDirectoryConfig operation. The "output" return
  1257  // value will be populated with the request's response once the request completes
  1258  // successfully.
  1259  //
  1260  // Use "Send" method on the returned Request to send the API call to the service.
  1261  // the "output" return value is not valid until after Send returns without error.
  1262  //
  1263  // See DeleteDirectoryConfig for more information on using the DeleteDirectoryConfig
  1264  // API call, and error handling.
  1265  //
  1266  // This method is useful when you want to inject custom logic or configuration
  1267  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1268  //
  1269  //
  1270  //    // Example sending a request using the DeleteDirectoryConfigRequest method.
  1271  //    req, resp := client.DeleteDirectoryConfigRequest(params)
  1272  //
  1273  //    err := req.Send()
  1274  //    if err == nil { // resp is now filled
  1275  //        fmt.Println(resp)
  1276  //    }
  1277  //
  1278  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteDirectoryConfig
  1279  func (c *AppStream) DeleteDirectoryConfigRequest(input *DeleteDirectoryConfigInput) (req *request.Request, output *DeleteDirectoryConfigOutput) {
  1280  	op := &request.Operation{
  1281  		Name:       opDeleteDirectoryConfig,
  1282  		HTTPMethod: "POST",
  1283  		HTTPPath:   "/",
  1284  	}
  1285  
  1286  	if input == nil {
  1287  		input = &DeleteDirectoryConfigInput{}
  1288  	}
  1289  
  1290  	output = &DeleteDirectoryConfigOutput{}
  1291  	req = c.newRequest(op, input, output)
  1292  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1293  	return
  1294  }
  1295  
  1296  // DeleteDirectoryConfig API operation for Amazon AppStream.
  1297  //
  1298  // Deletes the specified Directory Config object from AppStream 2.0. This object
  1299  // includes the information required to join streaming instances to an Active
  1300  // Directory domain.
  1301  //
  1302  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1303  // with awserr.Error's Code and Message methods to get detailed information about
  1304  // the error.
  1305  //
  1306  // See the AWS API reference guide for Amazon AppStream's
  1307  // API operation DeleteDirectoryConfig for usage and error information.
  1308  //
  1309  // Returned Error Types:
  1310  //   * ResourceInUseException
  1311  //   The specified resource is in use.
  1312  //
  1313  //   * ResourceNotFoundException
  1314  //   The specified resource was not found.
  1315  //
  1316  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteDirectoryConfig
  1317  func (c *AppStream) DeleteDirectoryConfig(input *DeleteDirectoryConfigInput) (*DeleteDirectoryConfigOutput, error) {
  1318  	req, out := c.DeleteDirectoryConfigRequest(input)
  1319  	return out, req.Send()
  1320  }
  1321  
  1322  // DeleteDirectoryConfigWithContext is the same as DeleteDirectoryConfig with the addition of
  1323  // the ability to pass a context and additional request options.
  1324  //
  1325  // See DeleteDirectoryConfig for details on how to use this API operation.
  1326  //
  1327  // The context must be non-nil and will be used for request cancellation. If
  1328  // the context is nil a panic will occur. In the future the SDK may create
  1329  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1330  // for more information on using Contexts.
  1331  func (c *AppStream) DeleteDirectoryConfigWithContext(ctx aws.Context, input *DeleteDirectoryConfigInput, opts ...request.Option) (*DeleteDirectoryConfigOutput, error) {
  1332  	req, out := c.DeleteDirectoryConfigRequest(input)
  1333  	req.SetContext(ctx)
  1334  	req.ApplyOptions(opts...)
  1335  	return out, req.Send()
  1336  }
  1337  
  1338  const opDeleteFleet = "DeleteFleet"
  1339  
  1340  // DeleteFleetRequest generates a "aws/request.Request" representing the
  1341  // client's request for the DeleteFleet operation. The "output" return
  1342  // value will be populated with the request's response once the request completes
  1343  // successfully.
  1344  //
  1345  // Use "Send" method on the returned Request to send the API call to the service.
  1346  // the "output" return value is not valid until after Send returns without error.
  1347  //
  1348  // See DeleteFleet for more information on using the DeleteFleet
  1349  // API call, and error handling.
  1350  //
  1351  // This method is useful when you want to inject custom logic or configuration
  1352  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1353  //
  1354  //
  1355  //    // Example sending a request using the DeleteFleetRequest method.
  1356  //    req, resp := client.DeleteFleetRequest(params)
  1357  //
  1358  //    err := req.Send()
  1359  //    if err == nil { // resp is now filled
  1360  //        fmt.Println(resp)
  1361  //    }
  1362  //
  1363  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteFleet
  1364  func (c *AppStream) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Request, output *DeleteFleetOutput) {
  1365  	op := &request.Operation{
  1366  		Name:       opDeleteFleet,
  1367  		HTTPMethod: "POST",
  1368  		HTTPPath:   "/",
  1369  	}
  1370  
  1371  	if input == nil {
  1372  		input = &DeleteFleetInput{}
  1373  	}
  1374  
  1375  	output = &DeleteFleetOutput{}
  1376  	req = c.newRequest(op, input, output)
  1377  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1378  	return
  1379  }
  1380  
  1381  // DeleteFleet API operation for Amazon AppStream.
  1382  //
  1383  // Deletes the specified fleet.
  1384  //
  1385  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1386  // with awserr.Error's Code and Message methods to get detailed information about
  1387  // the error.
  1388  //
  1389  // See the AWS API reference guide for Amazon AppStream's
  1390  // API operation DeleteFleet for usage and error information.
  1391  //
  1392  // Returned Error Types:
  1393  //   * ResourceInUseException
  1394  //   The specified resource is in use.
  1395  //
  1396  //   * ResourceNotFoundException
  1397  //   The specified resource was not found.
  1398  //
  1399  //   * ConcurrentModificationException
  1400  //   An API error occurred. Wait a few minutes and try again.
  1401  //
  1402  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteFleet
  1403  func (c *AppStream) DeleteFleet(input *DeleteFleetInput) (*DeleteFleetOutput, error) {
  1404  	req, out := c.DeleteFleetRequest(input)
  1405  	return out, req.Send()
  1406  }
  1407  
  1408  // DeleteFleetWithContext is the same as DeleteFleet with the addition of
  1409  // the ability to pass a context and additional request options.
  1410  //
  1411  // See DeleteFleet for details on how to use this API operation.
  1412  //
  1413  // The context must be non-nil and will be used for request cancellation. If
  1414  // the context is nil a panic will occur. In the future the SDK may create
  1415  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1416  // for more information on using Contexts.
  1417  func (c *AppStream) DeleteFleetWithContext(ctx aws.Context, input *DeleteFleetInput, opts ...request.Option) (*DeleteFleetOutput, error) {
  1418  	req, out := c.DeleteFleetRequest(input)
  1419  	req.SetContext(ctx)
  1420  	req.ApplyOptions(opts...)
  1421  	return out, req.Send()
  1422  }
  1423  
  1424  const opDeleteImage = "DeleteImage"
  1425  
  1426  // DeleteImageRequest generates a "aws/request.Request" representing the
  1427  // client's request for the DeleteImage operation. The "output" return
  1428  // value will be populated with the request's response once the request completes
  1429  // successfully.
  1430  //
  1431  // Use "Send" method on the returned Request to send the API call to the service.
  1432  // the "output" return value is not valid until after Send returns without error.
  1433  //
  1434  // See DeleteImage for more information on using the DeleteImage
  1435  // API call, and error handling.
  1436  //
  1437  // This method is useful when you want to inject custom logic or configuration
  1438  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1439  //
  1440  //
  1441  //    // Example sending a request using the DeleteImageRequest method.
  1442  //    req, resp := client.DeleteImageRequest(params)
  1443  //
  1444  //    err := req.Send()
  1445  //    if err == nil { // resp is now filled
  1446  //        fmt.Println(resp)
  1447  //    }
  1448  //
  1449  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImage
  1450  func (c *AppStream) DeleteImageRequest(input *DeleteImageInput) (req *request.Request, output *DeleteImageOutput) {
  1451  	op := &request.Operation{
  1452  		Name:       opDeleteImage,
  1453  		HTTPMethod: "POST",
  1454  		HTTPPath:   "/",
  1455  	}
  1456  
  1457  	if input == nil {
  1458  		input = &DeleteImageInput{}
  1459  	}
  1460  
  1461  	output = &DeleteImageOutput{}
  1462  	req = c.newRequest(op, input, output)
  1463  	return
  1464  }
  1465  
  1466  // DeleteImage API operation for Amazon AppStream.
  1467  //
  1468  // Deletes the specified image. You cannot delete an image when it is in use.
  1469  // After you delete an image, you cannot provision new capacity using the image.
  1470  //
  1471  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1472  // with awserr.Error's Code and Message methods to get detailed information about
  1473  // the error.
  1474  //
  1475  // See the AWS API reference guide for Amazon AppStream's
  1476  // API operation DeleteImage for usage and error information.
  1477  //
  1478  // Returned Error Types:
  1479  //   * ResourceInUseException
  1480  //   The specified resource is in use.
  1481  //
  1482  //   * ResourceNotFoundException
  1483  //   The specified resource was not found.
  1484  //
  1485  //   * OperationNotPermittedException
  1486  //   The attempted operation is not permitted.
  1487  //
  1488  //   * ConcurrentModificationException
  1489  //   An API error occurred. Wait a few minutes and try again.
  1490  //
  1491  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImage
  1492  func (c *AppStream) DeleteImage(input *DeleteImageInput) (*DeleteImageOutput, error) {
  1493  	req, out := c.DeleteImageRequest(input)
  1494  	return out, req.Send()
  1495  }
  1496  
  1497  // DeleteImageWithContext is the same as DeleteImage with the addition of
  1498  // the ability to pass a context and additional request options.
  1499  //
  1500  // See DeleteImage for details on how to use this API operation.
  1501  //
  1502  // The context must be non-nil and will be used for request cancellation. If
  1503  // the context is nil a panic will occur. In the future the SDK may create
  1504  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1505  // for more information on using Contexts.
  1506  func (c *AppStream) DeleteImageWithContext(ctx aws.Context, input *DeleteImageInput, opts ...request.Option) (*DeleteImageOutput, error) {
  1507  	req, out := c.DeleteImageRequest(input)
  1508  	req.SetContext(ctx)
  1509  	req.ApplyOptions(opts...)
  1510  	return out, req.Send()
  1511  }
  1512  
  1513  const opDeleteImageBuilder = "DeleteImageBuilder"
  1514  
  1515  // DeleteImageBuilderRequest generates a "aws/request.Request" representing the
  1516  // client's request for the DeleteImageBuilder operation. The "output" return
  1517  // value will be populated with the request's response once the request completes
  1518  // successfully.
  1519  //
  1520  // Use "Send" method on the returned Request to send the API call to the service.
  1521  // the "output" return value is not valid until after Send returns without error.
  1522  //
  1523  // See DeleteImageBuilder for more information on using the DeleteImageBuilder
  1524  // API call, and error handling.
  1525  //
  1526  // This method is useful when you want to inject custom logic or configuration
  1527  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1528  //
  1529  //
  1530  //    // Example sending a request using the DeleteImageBuilderRequest method.
  1531  //    req, resp := client.DeleteImageBuilderRequest(params)
  1532  //
  1533  //    err := req.Send()
  1534  //    if err == nil { // resp is now filled
  1535  //        fmt.Println(resp)
  1536  //    }
  1537  //
  1538  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImageBuilder
  1539  func (c *AppStream) DeleteImageBuilderRequest(input *DeleteImageBuilderInput) (req *request.Request, output *DeleteImageBuilderOutput) {
  1540  	op := &request.Operation{
  1541  		Name:       opDeleteImageBuilder,
  1542  		HTTPMethod: "POST",
  1543  		HTTPPath:   "/",
  1544  	}
  1545  
  1546  	if input == nil {
  1547  		input = &DeleteImageBuilderInput{}
  1548  	}
  1549  
  1550  	output = &DeleteImageBuilderOutput{}
  1551  	req = c.newRequest(op, input, output)
  1552  	return
  1553  }
  1554  
  1555  // DeleteImageBuilder API operation for Amazon AppStream.
  1556  //
  1557  // Deletes the specified image builder and releases the capacity.
  1558  //
  1559  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1560  // with awserr.Error's Code and Message methods to get detailed information about
  1561  // the error.
  1562  //
  1563  // See the AWS API reference guide for Amazon AppStream's
  1564  // API operation DeleteImageBuilder for usage and error information.
  1565  //
  1566  // Returned Error Types:
  1567  //   * ResourceNotFoundException
  1568  //   The specified resource was not found.
  1569  //
  1570  //   * OperationNotPermittedException
  1571  //   The attempted operation is not permitted.
  1572  //
  1573  //   * ConcurrentModificationException
  1574  //   An API error occurred. Wait a few minutes and try again.
  1575  //
  1576  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImageBuilder
  1577  func (c *AppStream) DeleteImageBuilder(input *DeleteImageBuilderInput) (*DeleteImageBuilderOutput, error) {
  1578  	req, out := c.DeleteImageBuilderRequest(input)
  1579  	return out, req.Send()
  1580  }
  1581  
  1582  // DeleteImageBuilderWithContext is the same as DeleteImageBuilder with the addition of
  1583  // the ability to pass a context and additional request options.
  1584  //
  1585  // See DeleteImageBuilder for details on how to use this API operation.
  1586  //
  1587  // The context must be non-nil and will be used for request cancellation. If
  1588  // the context is nil a panic will occur. In the future the SDK may create
  1589  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1590  // for more information on using Contexts.
  1591  func (c *AppStream) DeleteImageBuilderWithContext(ctx aws.Context, input *DeleteImageBuilderInput, opts ...request.Option) (*DeleteImageBuilderOutput, error) {
  1592  	req, out := c.DeleteImageBuilderRequest(input)
  1593  	req.SetContext(ctx)
  1594  	req.ApplyOptions(opts...)
  1595  	return out, req.Send()
  1596  }
  1597  
  1598  const opDeleteImagePermissions = "DeleteImagePermissions"
  1599  
  1600  // DeleteImagePermissionsRequest generates a "aws/request.Request" representing the
  1601  // client's request for the DeleteImagePermissions operation. The "output" return
  1602  // value will be populated with the request's response once the request completes
  1603  // successfully.
  1604  //
  1605  // Use "Send" method on the returned Request to send the API call to the service.
  1606  // the "output" return value is not valid until after Send returns without error.
  1607  //
  1608  // See DeleteImagePermissions for more information on using the DeleteImagePermissions
  1609  // API call, and error handling.
  1610  //
  1611  // This method is useful when you want to inject custom logic or configuration
  1612  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1613  //
  1614  //
  1615  //    // Example sending a request using the DeleteImagePermissionsRequest method.
  1616  //    req, resp := client.DeleteImagePermissionsRequest(params)
  1617  //
  1618  //    err := req.Send()
  1619  //    if err == nil { // resp is now filled
  1620  //        fmt.Println(resp)
  1621  //    }
  1622  //
  1623  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImagePermissions
  1624  func (c *AppStream) DeleteImagePermissionsRequest(input *DeleteImagePermissionsInput) (req *request.Request, output *DeleteImagePermissionsOutput) {
  1625  	op := &request.Operation{
  1626  		Name:       opDeleteImagePermissions,
  1627  		HTTPMethod: "POST",
  1628  		HTTPPath:   "/",
  1629  	}
  1630  
  1631  	if input == nil {
  1632  		input = &DeleteImagePermissionsInput{}
  1633  	}
  1634  
  1635  	output = &DeleteImagePermissionsOutput{}
  1636  	req = c.newRequest(op, input, output)
  1637  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1638  	return
  1639  }
  1640  
  1641  // DeleteImagePermissions API operation for Amazon AppStream.
  1642  //
  1643  // Deletes permissions for the specified private image. After you delete permissions
  1644  // for an image, AWS accounts to which you previously granted these permissions
  1645  // can no longer use the image.
  1646  //
  1647  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1648  // with awserr.Error's Code and Message methods to get detailed information about
  1649  // the error.
  1650  //
  1651  // See the AWS API reference guide for Amazon AppStream's
  1652  // API operation DeleteImagePermissions for usage and error information.
  1653  //
  1654  // Returned Error Types:
  1655  //   * ResourceNotAvailableException
  1656  //   The specified resource exists and is not in use, but isn't available.
  1657  //
  1658  //   * ResourceNotFoundException
  1659  //   The specified resource was not found.
  1660  //
  1661  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImagePermissions
  1662  func (c *AppStream) DeleteImagePermissions(input *DeleteImagePermissionsInput) (*DeleteImagePermissionsOutput, error) {
  1663  	req, out := c.DeleteImagePermissionsRequest(input)
  1664  	return out, req.Send()
  1665  }
  1666  
  1667  // DeleteImagePermissionsWithContext is the same as DeleteImagePermissions with the addition of
  1668  // the ability to pass a context and additional request options.
  1669  //
  1670  // See DeleteImagePermissions for details on how to use this API operation.
  1671  //
  1672  // The context must be non-nil and will be used for request cancellation. If
  1673  // the context is nil a panic will occur. In the future the SDK may create
  1674  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1675  // for more information on using Contexts.
  1676  func (c *AppStream) DeleteImagePermissionsWithContext(ctx aws.Context, input *DeleteImagePermissionsInput, opts ...request.Option) (*DeleteImagePermissionsOutput, error) {
  1677  	req, out := c.DeleteImagePermissionsRequest(input)
  1678  	req.SetContext(ctx)
  1679  	req.ApplyOptions(opts...)
  1680  	return out, req.Send()
  1681  }
  1682  
  1683  const opDeleteStack = "DeleteStack"
  1684  
  1685  // DeleteStackRequest generates a "aws/request.Request" representing the
  1686  // client's request for the DeleteStack operation. The "output" return
  1687  // value will be populated with the request's response once the request completes
  1688  // successfully.
  1689  //
  1690  // Use "Send" method on the returned Request to send the API call to the service.
  1691  // the "output" return value is not valid until after Send returns without error.
  1692  //
  1693  // See DeleteStack for more information on using the DeleteStack
  1694  // API call, and error handling.
  1695  //
  1696  // This method is useful when you want to inject custom logic or configuration
  1697  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1698  //
  1699  //
  1700  //    // Example sending a request using the DeleteStackRequest method.
  1701  //    req, resp := client.DeleteStackRequest(params)
  1702  //
  1703  //    err := req.Send()
  1704  //    if err == nil { // resp is now filled
  1705  //        fmt.Println(resp)
  1706  //    }
  1707  //
  1708  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteStack
  1709  func (c *AppStream) DeleteStackRequest(input *DeleteStackInput) (req *request.Request, output *DeleteStackOutput) {
  1710  	op := &request.Operation{
  1711  		Name:       opDeleteStack,
  1712  		HTTPMethod: "POST",
  1713  		HTTPPath:   "/",
  1714  	}
  1715  
  1716  	if input == nil {
  1717  		input = &DeleteStackInput{}
  1718  	}
  1719  
  1720  	output = &DeleteStackOutput{}
  1721  	req = c.newRequest(op, input, output)
  1722  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1723  	return
  1724  }
  1725  
  1726  // DeleteStack API operation for Amazon AppStream.
  1727  //
  1728  // Deletes the specified stack. After the stack is deleted, the application
  1729  // streaming environment provided by the stack is no longer available to users.
  1730  // Also, any reservations made for application streaming sessions for the stack
  1731  // are released.
  1732  //
  1733  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1734  // with awserr.Error's Code and Message methods to get detailed information about
  1735  // the error.
  1736  //
  1737  // See the AWS API reference guide for Amazon AppStream's
  1738  // API operation DeleteStack for usage and error information.
  1739  //
  1740  // Returned Error Types:
  1741  //   * ResourceInUseException
  1742  //   The specified resource is in use.
  1743  //
  1744  //   * ResourceNotFoundException
  1745  //   The specified resource was not found.
  1746  //
  1747  //   * ConcurrentModificationException
  1748  //   An API error occurred. Wait a few minutes and try again.
  1749  //
  1750  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteStack
  1751  func (c *AppStream) DeleteStack(input *DeleteStackInput) (*DeleteStackOutput, error) {
  1752  	req, out := c.DeleteStackRequest(input)
  1753  	return out, req.Send()
  1754  }
  1755  
  1756  // DeleteStackWithContext is the same as DeleteStack with the addition of
  1757  // the ability to pass a context and additional request options.
  1758  //
  1759  // See DeleteStack for details on how to use this API operation.
  1760  //
  1761  // The context must be non-nil and will be used for request cancellation. If
  1762  // the context is nil a panic will occur. In the future the SDK may create
  1763  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1764  // for more information on using Contexts.
  1765  func (c *AppStream) DeleteStackWithContext(ctx aws.Context, input *DeleteStackInput, opts ...request.Option) (*DeleteStackOutput, error) {
  1766  	req, out := c.DeleteStackRequest(input)
  1767  	req.SetContext(ctx)
  1768  	req.ApplyOptions(opts...)
  1769  	return out, req.Send()
  1770  }
  1771  
  1772  const opDeleteUsageReportSubscription = "DeleteUsageReportSubscription"
  1773  
  1774  // DeleteUsageReportSubscriptionRequest generates a "aws/request.Request" representing the
  1775  // client's request for the DeleteUsageReportSubscription operation. The "output" return
  1776  // value will be populated with the request's response once the request completes
  1777  // successfully.
  1778  //
  1779  // Use "Send" method on the returned Request to send the API call to the service.
  1780  // the "output" return value is not valid until after Send returns without error.
  1781  //
  1782  // See DeleteUsageReportSubscription for more information on using the DeleteUsageReportSubscription
  1783  // API call, and error handling.
  1784  //
  1785  // This method is useful when you want to inject custom logic or configuration
  1786  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1787  //
  1788  //
  1789  //    // Example sending a request using the DeleteUsageReportSubscriptionRequest method.
  1790  //    req, resp := client.DeleteUsageReportSubscriptionRequest(params)
  1791  //
  1792  //    err := req.Send()
  1793  //    if err == nil { // resp is now filled
  1794  //        fmt.Println(resp)
  1795  //    }
  1796  //
  1797  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteUsageReportSubscription
  1798  func (c *AppStream) DeleteUsageReportSubscriptionRequest(input *DeleteUsageReportSubscriptionInput) (req *request.Request, output *DeleteUsageReportSubscriptionOutput) {
  1799  	op := &request.Operation{
  1800  		Name:       opDeleteUsageReportSubscription,
  1801  		HTTPMethod: "POST",
  1802  		HTTPPath:   "/",
  1803  	}
  1804  
  1805  	if input == nil {
  1806  		input = &DeleteUsageReportSubscriptionInput{}
  1807  	}
  1808  
  1809  	output = &DeleteUsageReportSubscriptionOutput{}
  1810  	req = c.newRequest(op, input, output)
  1811  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1812  	return
  1813  }
  1814  
  1815  // DeleteUsageReportSubscription API operation for Amazon AppStream.
  1816  //
  1817  // Disables usage report generation.
  1818  //
  1819  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1820  // with awserr.Error's Code and Message methods to get detailed information about
  1821  // the error.
  1822  //
  1823  // See the AWS API reference guide for Amazon AppStream's
  1824  // API operation DeleteUsageReportSubscription for usage and error information.
  1825  //
  1826  // Returned Error Types:
  1827  //   * InvalidAccountStatusException
  1828  //   The resource cannot be created because your AWS account is suspended. For
  1829  //   assistance, contact AWS Support.
  1830  //
  1831  //   * ResourceNotFoundException
  1832  //   The specified resource was not found.
  1833  //
  1834  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteUsageReportSubscription
  1835  func (c *AppStream) DeleteUsageReportSubscription(input *DeleteUsageReportSubscriptionInput) (*DeleteUsageReportSubscriptionOutput, error) {
  1836  	req, out := c.DeleteUsageReportSubscriptionRequest(input)
  1837  	return out, req.Send()
  1838  }
  1839  
  1840  // DeleteUsageReportSubscriptionWithContext is the same as DeleteUsageReportSubscription with the addition of
  1841  // the ability to pass a context and additional request options.
  1842  //
  1843  // See DeleteUsageReportSubscription for details on how to use this API operation.
  1844  //
  1845  // The context must be non-nil and will be used for request cancellation. If
  1846  // the context is nil a panic will occur. In the future the SDK may create
  1847  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1848  // for more information on using Contexts.
  1849  func (c *AppStream) DeleteUsageReportSubscriptionWithContext(ctx aws.Context, input *DeleteUsageReportSubscriptionInput, opts ...request.Option) (*DeleteUsageReportSubscriptionOutput, error) {
  1850  	req, out := c.DeleteUsageReportSubscriptionRequest(input)
  1851  	req.SetContext(ctx)
  1852  	req.ApplyOptions(opts...)
  1853  	return out, req.Send()
  1854  }
  1855  
  1856  const opDeleteUser = "DeleteUser"
  1857  
  1858  // DeleteUserRequest generates a "aws/request.Request" representing the
  1859  // client's request for the DeleteUser operation. The "output" return
  1860  // value will be populated with the request's response once the request completes
  1861  // successfully.
  1862  //
  1863  // Use "Send" method on the returned Request to send the API call to the service.
  1864  // the "output" return value is not valid until after Send returns without error.
  1865  //
  1866  // See DeleteUser for more information on using the DeleteUser
  1867  // API call, and error handling.
  1868  //
  1869  // This method is useful when you want to inject custom logic or configuration
  1870  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1871  //
  1872  //
  1873  //    // Example sending a request using the DeleteUserRequest method.
  1874  //    req, resp := client.DeleteUserRequest(params)
  1875  //
  1876  //    err := req.Send()
  1877  //    if err == nil { // resp is now filled
  1878  //        fmt.Println(resp)
  1879  //    }
  1880  //
  1881  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteUser
  1882  func (c *AppStream) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) {
  1883  	op := &request.Operation{
  1884  		Name:       opDeleteUser,
  1885  		HTTPMethod: "POST",
  1886  		HTTPPath:   "/",
  1887  	}
  1888  
  1889  	if input == nil {
  1890  		input = &DeleteUserInput{}
  1891  	}
  1892  
  1893  	output = &DeleteUserOutput{}
  1894  	req = c.newRequest(op, input, output)
  1895  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1896  	return
  1897  }
  1898  
  1899  // DeleteUser API operation for Amazon AppStream.
  1900  //
  1901  // Deletes a user from the user pool.
  1902  //
  1903  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1904  // with awserr.Error's Code and Message methods to get detailed information about
  1905  // the error.
  1906  //
  1907  // See the AWS API reference guide for Amazon AppStream's
  1908  // API operation DeleteUser for usage and error information.
  1909  //
  1910  // Returned Error Types:
  1911  //   * ResourceNotFoundException
  1912  //   The specified resource was not found.
  1913  //
  1914  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteUser
  1915  func (c *AppStream) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) {
  1916  	req, out := c.DeleteUserRequest(input)
  1917  	return out, req.Send()
  1918  }
  1919  
  1920  // DeleteUserWithContext is the same as DeleteUser with the addition of
  1921  // the ability to pass a context and additional request options.
  1922  //
  1923  // See DeleteUser for details on how to use this API operation.
  1924  //
  1925  // The context must be non-nil and will be used for request cancellation. If
  1926  // the context is nil a panic will occur. In the future the SDK may create
  1927  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1928  // for more information on using Contexts.
  1929  func (c *AppStream) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) {
  1930  	req, out := c.DeleteUserRequest(input)
  1931  	req.SetContext(ctx)
  1932  	req.ApplyOptions(opts...)
  1933  	return out, req.Send()
  1934  }
  1935  
  1936  const opDescribeDirectoryConfigs = "DescribeDirectoryConfigs"
  1937  
  1938  // DescribeDirectoryConfigsRequest generates a "aws/request.Request" representing the
  1939  // client's request for the DescribeDirectoryConfigs operation. The "output" return
  1940  // value will be populated with the request's response once the request completes
  1941  // successfully.
  1942  //
  1943  // Use "Send" method on the returned Request to send the API call to the service.
  1944  // the "output" return value is not valid until after Send returns without error.
  1945  //
  1946  // See DescribeDirectoryConfigs for more information on using the DescribeDirectoryConfigs
  1947  // API call, and error handling.
  1948  //
  1949  // This method is useful when you want to inject custom logic or configuration
  1950  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1951  //
  1952  //
  1953  //    // Example sending a request using the DescribeDirectoryConfigsRequest method.
  1954  //    req, resp := client.DescribeDirectoryConfigsRequest(params)
  1955  //
  1956  //    err := req.Send()
  1957  //    if err == nil { // resp is now filled
  1958  //        fmt.Println(resp)
  1959  //    }
  1960  //
  1961  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeDirectoryConfigs
  1962  func (c *AppStream) DescribeDirectoryConfigsRequest(input *DescribeDirectoryConfigsInput) (req *request.Request, output *DescribeDirectoryConfigsOutput) {
  1963  	op := &request.Operation{
  1964  		Name:       opDescribeDirectoryConfigs,
  1965  		HTTPMethod: "POST",
  1966  		HTTPPath:   "/",
  1967  	}
  1968  
  1969  	if input == nil {
  1970  		input = &DescribeDirectoryConfigsInput{}
  1971  	}
  1972  
  1973  	output = &DescribeDirectoryConfigsOutput{}
  1974  	req = c.newRequest(op, input, output)
  1975  	return
  1976  }
  1977  
  1978  // DescribeDirectoryConfigs API operation for Amazon AppStream.
  1979  //
  1980  // Retrieves a list that describes one or more specified Directory Config objects
  1981  // for AppStream 2.0, if the names for these objects are provided. Otherwise,
  1982  // all Directory Config objects in the account are described. These objects
  1983  // include the configuration information required to join fleets and image builders
  1984  // to Microsoft Active Directory domains.
  1985  //
  1986  // Although the response syntax in this topic includes the account password,
  1987  // this password is not returned in the actual response.
  1988  //
  1989  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1990  // with awserr.Error's Code and Message methods to get detailed information about
  1991  // the error.
  1992  //
  1993  // See the AWS API reference guide for Amazon AppStream's
  1994  // API operation DescribeDirectoryConfigs for usage and error information.
  1995  //
  1996  // Returned Error Types:
  1997  //   * ResourceNotFoundException
  1998  //   The specified resource was not found.
  1999  //
  2000  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeDirectoryConfigs
  2001  func (c *AppStream) DescribeDirectoryConfigs(input *DescribeDirectoryConfigsInput) (*DescribeDirectoryConfigsOutput, error) {
  2002  	req, out := c.DescribeDirectoryConfigsRequest(input)
  2003  	return out, req.Send()
  2004  }
  2005  
  2006  // DescribeDirectoryConfigsWithContext is the same as DescribeDirectoryConfigs with the addition of
  2007  // the ability to pass a context and additional request options.
  2008  //
  2009  // See DescribeDirectoryConfigs for details on how to use this API operation.
  2010  //
  2011  // The context must be non-nil and will be used for request cancellation. If
  2012  // the context is nil a panic will occur. In the future the SDK may create
  2013  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2014  // for more information on using Contexts.
  2015  func (c *AppStream) DescribeDirectoryConfigsWithContext(ctx aws.Context, input *DescribeDirectoryConfigsInput, opts ...request.Option) (*DescribeDirectoryConfigsOutput, error) {
  2016  	req, out := c.DescribeDirectoryConfigsRequest(input)
  2017  	req.SetContext(ctx)
  2018  	req.ApplyOptions(opts...)
  2019  	return out, req.Send()
  2020  }
  2021  
  2022  const opDescribeFleets = "DescribeFleets"
  2023  
  2024  // DescribeFleetsRequest generates a "aws/request.Request" representing the
  2025  // client's request for the DescribeFleets operation. The "output" return
  2026  // value will be populated with the request's response once the request completes
  2027  // successfully.
  2028  //
  2029  // Use "Send" method on the returned Request to send the API call to the service.
  2030  // the "output" return value is not valid until after Send returns without error.
  2031  //
  2032  // See DescribeFleets for more information on using the DescribeFleets
  2033  // API call, and error handling.
  2034  //
  2035  // This method is useful when you want to inject custom logic or configuration
  2036  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2037  //
  2038  //
  2039  //    // Example sending a request using the DescribeFleetsRequest method.
  2040  //    req, resp := client.DescribeFleetsRequest(params)
  2041  //
  2042  //    err := req.Send()
  2043  //    if err == nil { // resp is now filled
  2044  //        fmt.Println(resp)
  2045  //    }
  2046  //
  2047  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeFleets
  2048  func (c *AppStream) DescribeFleetsRequest(input *DescribeFleetsInput) (req *request.Request, output *DescribeFleetsOutput) {
  2049  	op := &request.Operation{
  2050  		Name:       opDescribeFleets,
  2051  		HTTPMethod: "POST",
  2052  		HTTPPath:   "/",
  2053  	}
  2054  
  2055  	if input == nil {
  2056  		input = &DescribeFleetsInput{}
  2057  	}
  2058  
  2059  	output = &DescribeFleetsOutput{}
  2060  	req = c.newRequest(op, input, output)
  2061  	return
  2062  }
  2063  
  2064  // DescribeFleets API operation for Amazon AppStream.
  2065  //
  2066  // Retrieves a list that describes one or more specified fleets, if the fleet
  2067  // names are provided. Otherwise, all fleets in the account are described.
  2068  //
  2069  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2070  // with awserr.Error's Code and Message methods to get detailed information about
  2071  // the error.
  2072  //
  2073  // See the AWS API reference guide for Amazon AppStream's
  2074  // API operation DescribeFleets for usage and error information.
  2075  //
  2076  // Returned Error Types:
  2077  //   * ResourceNotFoundException
  2078  //   The specified resource was not found.
  2079  //
  2080  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeFleets
  2081  func (c *AppStream) DescribeFleets(input *DescribeFleetsInput) (*DescribeFleetsOutput, error) {
  2082  	req, out := c.DescribeFleetsRequest(input)
  2083  	return out, req.Send()
  2084  }
  2085  
  2086  // DescribeFleetsWithContext is the same as DescribeFleets with the addition of
  2087  // the ability to pass a context and additional request options.
  2088  //
  2089  // See DescribeFleets for details on how to use this API operation.
  2090  //
  2091  // The context must be non-nil and will be used for request cancellation. If
  2092  // the context is nil a panic will occur. In the future the SDK may create
  2093  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2094  // for more information on using Contexts.
  2095  func (c *AppStream) DescribeFleetsWithContext(ctx aws.Context, input *DescribeFleetsInput, opts ...request.Option) (*DescribeFleetsOutput, error) {
  2096  	req, out := c.DescribeFleetsRequest(input)
  2097  	req.SetContext(ctx)
  2098  	req.ApplyOptions(opts...)
  2099  	return out, req.Send()
  2100  }
  2101  
  2102  const opDescribeImageBuilders = "DescribeImageBuilders"
  2103  
  2104  // DescribeImageBuildersRequest generates a "aws/request.Request" representing the
  2105  // client's request for the DescribeImageBuilders operation. The "output" return
  2106  // value will be populated with the request's response once the request completes
  2107  // successfully.
  2108  //
  2109  // Use "Send" method on the returned Request to send the API call to the service.
  2110  // the "output" return value is not valid until after Send returns without error.
  2111  //
  2112  // See DescribeImageBuilders for more information on using the DescribeImageBuilders
  2113  // API call, and error handling.
  2114  //
  2115  // This method is useful when you want to inject custom logic or configuration
  2116  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2117  //
  2118  //
  2119  //    // Example sending a request using the DescribeImageBuildersRequest method.
  2120  //    req, resp := client.DescribeImageBuildersRequest(params)
  2121  //
  2122  //    err := req.Send()
  2123  //    if err == nil { // resp is now filled
  2124  //        fmt.Println(resp)
  2125  //    }
  2126  //
  2127  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImageBuilders
  2128  func (c *AppStream) DescribeImageBuildersRequest(input *DescribeImageBuildersInput) (req *request.Request, output *DescribeImageBuildersOutput) {
  2129  	op := &request.Operation{
  2130  		Name:       opDescribeImageBuilders,
  2131  		HTTPMethod: "POST",
  2132  		HTTPPath:   "/",
  2133  	}
  2134  
  2135  	if input == nil {
  2136  		input = &DescribeImageBuildersInput{}
  2137  	}
  2138  
  2139  	output = &DescribeImageBuildersOutput{}
  2140  	req = c.newRequest(op, input, output)
  2141  	return
  2142  }
  2143  
  2144  // DescribeImageBuilders API operation for Amazon AppStream.
  2145  //
  2146  // Retrieves a list that describes one or more specified image builders, if
  2147  // the image builder names are provided. Otherwise, all image builders in the
  2148  // account are described.
  2149  //
  2150  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2151  // with awserr.Error's Code and Message methods to get detailed information about
  2152  // the error.
  2153  //
  2154  // See the AWS API reference guide for Amazon AppStream's
  2155  // API operation DescribeImageBuilders for usage and error information.
  2156  //
  2157  // Returned Error Types:
  2158  //   * ResourceNotFoundException
  2159  //   The specified resource was not found.
  2160  //
  2161  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImageBuilders
  2162  func (c *AppStream) DescribeImageBuilders(input *DescribeImageBuildersInput) (*DescribeImageBuildersOutput, error) {
  2163  	req, out := c.DescribeImageBuildersRequest(input)
  2164  	return out, req.Send()
  2165  }
  2166  
  2167  // DescribeImageBuildersWithContext is the same as DescribeImageBuilders with the addition of
  2168  // the ability to pass a context and additional request options.
  2169  //
  2170  // See DescribeImageBuilders for details on how to use this API operation.
  2171  //
  2172  // The context must be non-nil and will be used for request cancellation. If
  2173  // the context is nil a panic will occur. In the future the SDK may create
  2174  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2175  // for more information on using Contexts.
  2176  func (c *AppStream) DescribeImageBuildersWithContext(ctx aws.Context, input *DescribeImageBuildersInput, opts ...request.Option) (*DescribeImageBuildersOutput, error) {
  2177  	req, out := c.DescribeImageBuildersRequest(input)
  2178  	req.SetContext(ctx)
  2179  	req.ApplyOptions(opts...)
  2180  	return out, req.Send()
  2181  }
  2182  
  2183  const opDescribeImagePermissions = "DescribeImagePermissions"
  2184  
  2185  // DescribeImagePermissionsRequest generates a "aws/request.Request" representing the
  2186  // client's request for the DescribeImagePermissions operation. The "output" return
  2187  // value will be populated with the request's response once the request completes
  2188  // successfully.
  2189  //
  2190  // Use "Send" method on the returned Request to send the API call to the service.
  2191  // the "output" return value is not valid until after Send returns without error.
  2192  //
  2193  // See DescribeImagePermissions for more information on using the DescribeImagePermissions
  2194  // API call, and error handling.
  2195  //
  2196  // This method is useful when you want to inject custom logic or configuration
  2197  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2198  //
  2199  //
  2200  //    // Example sending a request using the DescribeImagePermissionsRequest method.
  2201  //    req, resp := client.DescribeImagePermissionsRequest(params)
  2202  //
  2203  //    err := req.Send()
  2204  //    if err == nil { // resp is now filled
  2205  //        fmt.Println(resp)
  2206  //    }
  2207  //
  2208  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImagePermissions
  2209  func (c *AppStream) DescribeImagePermissionsRequest(input *DescribeImagePermissionsInput) (req *request.Request, output *DescribeImagePermissionsOutput) {
  2210  	op := &request.Operation{
  2211  		Name:       opDescribeImagePermissions,
  2212  		HTTPMethod: "POST",
  2213  		HTTPPath:   "/",
  2214  		Paginator: &request.Paginator{
  2215  			InputTokens:     []string{"NextToken"},
  2216  			OutputTokens:    []string{"NextToken"},
  2217  			LimitToken:      "MaxResults",
  2218  			TruncationToken: "",
  2219  		},
  2220  	}
  2221  
  2222  	if input == nil {
  2223  		input = &DescribeImagePermissionsInput{}
  2224  	}
  2225  
  2226  	output = &DescribeImagePermissionsOutput{}
  2227  	req = c.newRequest(op, input, output)
  2228  	return
  2229  }
  2230  
  2231  // DescribeImagePermissions API operation for Amazon AppStream.
  2232  //
  2233  // Retrieves a list that describes the permissions for shared AWS account IDs
  2234  // on a private image that you own.
  2235  //
  2236  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2237  // with awserr.Error's Code and Message methods to get detailed information about
  2238  // the error.
  2239  //
  2240  // See the AWS API reference guide for Amazon AppStream's
  2241  // API operation DescribeImagePermissions for usage and error information.
  2242  //
  2243  // Returned Error Types:
  2244  //   * ResourceNotFoundException
  2245  //   The specified resource was not found.
  2246  //
  2247  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImagePermissions
  2248  func (c *AppStream) DescribeImagePermissions(input *DescribeImagePermissionsInput) (*DescribeImagePermissionsOutput, error) {
  2249  	req, out := c.DescribeImagePermissionsRequest(input)
  2250  	return out, req.Send()
  2251  }
  2252  
  2253  // DescribeImagePermissionsWithContext is the same as DescribeImagePermissions with the addition of
  2254  // the ability to pass a context and additional request options.
  2255  //
  2256  // See DescribeImagePermissions for details on how to use this API operation.
  2257  //
  2258  // The context must be non-nil and will be used for request cancellation. If
  2259  // the context is nil a panic will occur. In the future the SDK may create
  2260  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2261  // for more information on using Contexts.
  2262  func (c *AppStream) DescribeImagePermissionsWithContext(ctx aws.Context, input *DescribeImagePermissionsInput, opts ...request.Option) (*DescribeImagePermissionsOutput, error) {
  2263  	req, out := c.DescribeImagePermissionsRequest(input)
  2264  	req.SetContext(ctx)
  2265  	req.ApplyOptions(opts...)
  2266  	return out, req.Send()
  2267  }
  2268  
  2269  // DescribeImagePermissionsPages iterates over the pages of a DescribeImagePermissions operation,
  2270  // calling the "fn" function with the response data for each page. To stop
  2271  // iterating, return false from the fn function.
  2272  //
  2273  // See DescribeImagePermissions method for more information on how to use this operation.
  2274  //
  2275  // Note: This operation can generate multiple requests to a service.
  2276  //
  2277  //    // Example iterating over at most 3 pages of a DescribeImagePermissions operation.
  2278  //    pageNum := 0
  2279  //    err := client.DescribeImagePermissionsPages(params,
  2280  //        func(page *appstream.DescribeImagePermissionsOutput, lastPage bool) bool {
  2281  //            pageNum++
  2282  //            fmt.Println(page)
  2283  //            return pageNum <= 3
  2284  //        })
  2285  //
  2286  func (c *AppStream) DescribeImagePermissionsPages(input *DescribeImagePermissionsInput, fn func(*DescribeImagePermissionsOutput, bool) bool) error {
  2287  	return c.DescribeImagePermissionsPagesWithContext(aws.BackgroundContext(), input, fn)
  2288  }
  2289  
  2290  // DescribeImagePermissionsPagesWithContext same as DescribeImagePermissionsPages except
  2291  // it takes a Context and allows setting request options on the pages.
  2292  //
  2293  // The context must be non-nil and will be used for request cancellation. If
  2294  // the context is nil a panic will occur. In the future the SDK may create
  2295  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2296  // for more information on using Contexts.
  2297  func (c *AppStream) DescribeImagePermissionsPagesWithContext(ctx aws.Context, input *DescribeImagePermissionsInput, fn func(*DescribeImagePermissionsOutput, bool) bool, opts ...request.Option) error {
  2298  	p := request.Pagination{
  2299  		NewRequest: func() (*request.Request, error) {
  2300  			var inCpy *DescribeImagePermissionsInput
  2301  			if input != nil {
  2302  				tmp := *input
  2303  				inCpy = &tmp
  2304  			}
  2305  			req, _ := c.DescribeImagePermissionsRequest(inCpy)
  2306  			req.SetContext(ctx)
  2307  			req.ApplyOptions(opts...)
  2308  			return req, nil
  2309  		},
  2310  	}
  2311  
  2312  	for p.Next() {
  2313  		if !fn(p.Page().(*DescribeImagePermissionsOutput), !p.HasNextPage()) {
  2314  			break
  2315  		}
  2316  	}
  2317  
  2318  	return p.Err()
  2319  }
  2320  
  2321  const opDescribeImages = "DescribeImages"
  2322  
  2323  // DescribeImagesRequest generates a "aws/request.Request" representing the
  2324  // client's request for the DescribeImages operation. The "output" return
  2325  // value will be populated with the request's response once the request completes
  2326  // successfully.
  2327  //
  2328  // Use "Send" method on the returned Request to send the API call to the service.
  2329  // the "output" return value is not valid until after Send returns without error.
  2330  //
  2331  // See DescribeImages for more information on using the DescribeImages
  2332  // API call, and error handling.
  2333  //
  2334  // This method is useful when you want to inject custom logic or configuration
  2335  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2336  //
  2337  //
  2338  //    // Example sending a request using the DescribeImagesRequest method.
  2339  //    req, resp := client.DescribeImagesRequest(params)
  2340  //
  2341  //    err := req.Send()
  2342  //    if err == nil { // resp is now filled
  2343  //        fmt.Println(resp)
  2344  //    }
  2345  //
  2346  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImages
  2347  func (c *AppStream) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
  2348  	op := &request.Operation{
  2349  		Name:       opDescribeImages,
  2350  		HTTPMethod: "POST",
  2351  		HTTPPath:   "/",
  2352  		Paginator: &request.Paginator{
  2353  			InputTokens:     []string{"NextToken"},
  2354  			OutputTokens:    []string{"NextToken"},
  2355  			LimitToken:      "MaxResults",
  2356  			TruncationToken: "",
  2357  		},
  2358  	}
  2359  
  2360  	if input == nil {
  2361  		input = &DescribeImagesInput{}
  2362  	}
  2363  
  2364  	output = &DescribeImagesOutput{}
  2365  	req = c.newRequest(op, input, output)
  2366  	return
  2367  }
  2368  
  2369  // DescribeImages API operation for Amazon AppStream.
  2370  //
  2371  // Retrieves a list that describes one or more specified images, if the image
  2372  // names or image ARNs are provided. Otherwise, all images in the account are
  2373  // described.
  2374  //
  2375  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2376  // with awserr.Error's Code and Message methods to get detailed information about
  2377  // the error.
  2378  //
  2379  // See the AWS API reference guide for Amazon AppStream's
  2380  // API operation DescribeImages for usage and error information.
  2381  //
  2382  // Returned Error Types:
  2383  //   * InvalidParameterCombinationException
  2384  //   Indicates an incorrect combination of parameters, or a missing parameter.
  2385  //
  2386  //   * ResourceNotFoundException
  2387  //   The specified resource was not found.
  2388  //
  2389  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImages
  2390  func (c *AppStream) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
  2391  	req, out := c.DescribeImagesRequest(input)
  2392  	return out, req.Send()
  2393  }
  2394  
  2395  // DescribeImagesWithContext is the same as DescribeImages with the addition of
  2396  // the ability to pass a context and additional request options.
  2397  //
  2398  // See DescribeImages for details on how to use this API operation.
  2399  //
  2400  // The context must be non-nil and will be used for request cancellation. If
  2401  // the context is nil a panic will occur. In the future the SDK may create
  2402  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2403  // for more information on using Contexts.
  2404  func (c *AppStream) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
  2405  	req, out := c.DescribeImagesRequest(input)
  2406  	req.SetContext(ctx)
  2407  	req.ApplyOptions(opts...)
  2408  	return out, req.Send()
  2409  }
  2410  
  2411  // DescribeImagesPages iterates over the pages of a DescribeImages operation,
  2412  // calling the "fn" function with the response data for each page. To stop
  2413  // iterating, return false from the fn function.
  2414  //
  2415  // See DescribeImages method for more information on how to use this operation.
  2416  //
  2417  // Note: This operation can generate multiple requests to a service.
  2418  //
  2419  //    // Example iterating over at most 3 pages of a DescribeImages operation.
  2420  //    pageNum := 0
  2421  //    err := client.DescribeImagesPages(params,
  2422  //        func(page *appstream.DescribeImagesOutput, lastPage bool) bool {
  2423  //            pageNum++
  2424  //            fmt.Println(page)
  2425  //            return pageNum <= 3
  2426  //        })
  2427  //
  2428  func (c *AppStream) DescribeImagesPages(input *DescribeImagesInput, fn func(*DescribeImagesOutput, bool) bool) error {
  2429  	return c.DescribeImagesPagesWithContext(aws.BackgroundContext(), input, fn)
  2430  }
  2431  
  2432  // DescribeImagesPagesWithContext same as DescribeImagesPages except
  2433  // it takes a Context and allows setting request options on the pages.
  2434  //
  2435  // The context must be non-nil and will be used for request cancellation. If
  2436  // the context is nil a panic will occur. In the future the SDK may create
  2437  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2438  // for more information on using Contexts.
  2439  func (c *AppStream) DescribeImagesPagesWithContext(ctx aws.Context, input *DescribeImagesInput, fn func(*DescribeImagesOutput, bool) bool, opts ...request.Option) error {
  2440  	p := request.Pagination{
  2441  		NewRequest: func() (*request.Request, error) {
  2442  			var inCpy *DescribeImagesInput
  2443  			if input != nil {
  2444  				tmp := *input
  2445  				inCpy = &tmp
  2446  			}
  2447  			req, _ := c.DescribeImagesRequest(inCpy)
  2448  			req.SetContext(ctx)
  2449  			req.ApplyOptions(opts...)
  2450  			return req, nil
  2451  		},
  2452  	}
  2453  
  2454  	for p.Next() {
  2455  		if !fn(p.Page().(*DescribeImagesOutput), !p.HasNextPage()) {
  2456  			break
  2457  		}
  2458  	}
  2459  
  2460  	return p.Err()
  2461  }
  2462  
  2463  const opDescribeSessions = "DescribeSessions"
  2464  
  2465  // DescribeSessionsRequest generates a "aws/request.Request" representing the
  2466  // client's request for the DescribeSessions operation. The "output" return
  2467  // value will be populated with the request's response once the request completes
  2468  // successfully.
  2469  //
  2470  // Use "Send" method on the returned Request to send the API call to the service.
  2471  // the "output" return value is not valid until after Send returns without error.
  2472  //
  2473  // See DescribeSessions for more information on using the DescribeSessions
  2474  // API call, and error handling.
  2475  //
  2476  // This method is useful when you want to inject custom logic or configuration
  2477  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2478  //
  2479  //
  2480  //    // Example sending a request using the DescribeSessionsRequest method.
  2481  //    req, resp := client.DescribeSessionsRequest(params)
  2482  //
  2483  //    err := req.Send()
  2484  //    if err == nil { // resp is now filled
  2485  //        fmt.Println(resp)
  2486  //    }
  2487  //
  2488  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeSessions
  2489  func (c *AppStream) DescribeSessionsRequest(input *DescribeSessionsInput) (req *request.Request, output *DescribeSessionsOutput) {
  2490  	op := &request.Operation{
  2491  		Name:       opDescribeSessions,
  2492  		HTTPMethod: "POST",
  2493  		HTTPPath:   "/",
  2494  	}
  2495  
  2496  	if input == nil {
  2497  		input = &DescribeSessionsInput{}
  2498  	}
  2499  
  2500  	output = &DescribeSessionsOutput{}
  2501  	req = c.newRequest(op, input, output)
  2502  	return
  2503  }
  2504  
  2505  // DescribeSessions API operation for Amazon AppStream.
  2506  //
  2507  // Retrieves a list that describes the streaming sessions for a specified stack
  2508  // and fleet. If a UserId is provided for the stack and fleet, only streaming
  2509  // sessions for that user are described. If an authentication type is not provided,
  2510  // the default is to authenticate users using a streaming URL.
  2511  //
  2512  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2513  // with awserr.Error's Code and Message methods to get detailed information about
  2514  // the error.
  2515  //
  2516  // See the AWS API reference guide for Amazon AppStream's
  2517  // API operation DescribeSessions for usage and error information.
  2518  //
  2519  // Returned Error Types:
  2520  //   * InvalidParameterCombinationException
  2521  //   Indicates an incorrect combination of parameters, or a missing parameter.
  2522  //
  2523  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeSessions
  2524  func (c *AppStream) DescribeSessions(input *DescribeSessionsInput) (*DescribeSessionsOutput, error) {
  2525  	req, out := c.DescribeSessionsRequest(input)
  2526  	return out, req.Send()
  2527  }
  2528  
  2529  // DescribeSessionsWithContext is the same as DescribeSessions with the addition of
  2530  // the ability to pass a context and additional request options.
  2531  //
  2532  // See DescribeSessions for details on how to use this API operation.
  2533  //
  2534  // The context must be non-nil and will be used for request cancellation. If
  2535  // the context is nil a panic will occur. In the future the SDK may create
  2536  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2537  // for more information on using Contexts.
  2538  func (c *AppStream) DescribeSessionsWithContext(ctx aws.Context, input *DescribeSessionsInput, opts ...request.Option) (*DescribeSessionsOutput, error) {
  2539  	req, out := c.DescribeSessionsRequest(input)
  2540  	req.SetContext(ctx)
  2541  	req.ApplyOptions(opts...)
  2542  	return out, req.Send()
  2543  }
  2544  
  2545  const opDescribeStacks = "DescribeStacks"
  2546  
  2547  // DescribeStacksRequest generates a "aws/request.Request" representing the
  2548  // client's request for the DescribeStacks operation. The "output" return
  2549  // value will be populated with the request's response once the request completes
  2550  // successfully.
  2551  //
  2552  // Use "Send" method on the returned Request to send the API call to the service.
  2553  // the "output" return value is not valid until after Send returns without error.
  2554  //
  2555  // See DescribeStacks for more information on using the DescribeStacks
  2556  // API call, and error handling.
  2557  //
  2558  // This method is useful when you want to inject custom logic or configuration
  2559  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2560  //
  2561  //
  2562  //    // Example sending a request using the DescribeStacksRequest method.
  2563  //    req, resp := client.DescribeStacksRequest(params)
  2564  //
  2565  //    err := req.Send()
  2566  //    if err == nil { // resp is now filled
  2567  //        fmt.Println(resp)
  2568  //    }
  2569  //
  2570  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeStacks
  2571  func (c *AppStream) DescribeStacksRequest(input *DescribeStacksInput) (req *request.Request, output *DescribeStacksOutput) {
  2572  	op := &request.Operation{
  2573  		Name:       opDescribeStacks,
  2574  		HTTPMethod: "POST",
  2575  		HTTPPath:   "/",
  2576  	}
  2577  
  2578  	if input == nil {
  2579  		input = &DescribeStacksInput{}
  2580  	}
  2581  
  2582  	output = &DescribeStacksOutput{}
  2583  	req = c.newRequest(op, input, output)
  2584  	return
  2585  }
  2586  
  2587  // DescribeStacks API operation for Amazon AppStream.
  2588  //
  2589  // Retrieves a list that describes one or more specified stacks, if the stack
  2590  // names are provided. Otherwise, all stacks in the account are described.
  2591  //
  2592  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2593  // with awserr.Error's Code and Message methods to get detailed information about
  2594  // the error.
  2595  //
  2596  // See the AWS API reference guide for Amazon AppStream's
  2597  // API operation DescribeStacks for usage and error information.
  2598  //
  2599  // Returned Error Types:
  2600  //   * ResourceNotFoundException
  2601  //   The specified resource was not found.
  2602  //
  2603  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeStacks
  2604  func (c *AppStream) DescribeStacks(input *DescribeStacksInput) (*DescribeStacksOutput, error) {
  2605  	req, out := c.DescribeStacksRequest(input)
  2606  	return out, req.Send()
  2607  }
  2608  
  2609  // DescribeStacksWithContext is the same as DescribeStacks with the addition of
  2610  // the ability to pass a context and additional request options.
  2611  //
  2612  // See DescribeStacks for details on how to use this API operation.
  2613  //
  2614  // The context must be non-nil and will be used for request cancellation. If
  2615  // the context is nil a panic will occur. In the future the SDK may create
  2616  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2617  // for more information on using Contexts.
  2618  func (c *AppStream) DescribeStacksWithContext(ctx aws.Context, input *DescribeStacksInput, opts ...request.Option) (*DescribeStacksOutput, error) {
  2619  	req, out := c.DescribeStacksRequest(input)
  2620  	req.SetContext(ctx)
  2621  	req.ApplyOptions(opts...)
  2622  	return out, req.Send()
  2623  }
  2624  
  2625  const opDescribeUsageReportSubscriptions = "DescribeUsageReportSubscriptions"
  2626  
  2627  // DescribeUsageReportSubscriptionsRequest generates a "aws/request.Request" representing the
  2628  // client's request for the DescribeUsageReportSubscriptions operation. The "output" return
  2629  // value will be populated with the request's response once the request completes
  2630  // successfully.
  2631  //
  2632  // Use "Send" method on the returned Request to send the API call to the service.
  2633  // the "output" return value is not valid until after Send returns without error.
  2634  //
  2635  // See DescribeUsageReportSubscriptions for more information on using the DescribeUsageReportSubscriptions
  2636  // API call, and error handling.
  2637  //
  2638  // This method is useful when you want to inject custom logic or configuration
  2639  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2640  //
  2641  //
  2642  //    // Example sending a request using the DescribeUsageReportSubscriptionsRequest method.
  2643  //    req, resp := client.DescribeUsageReportSubscriptionsRequest(params)
  2644  //
  2645  //    err := req.Send()
  2646  //    if err == nil { // resp is now filled
  2647  //        fmt.Println(resp)
  2648  //    }
  2649  //
  2650  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUsageReportSubscriptions
  2651  func (c *AppStream) DescribeUsageReportSubscriptionsRequest(input *DescribeUsageReportSubscriptionsInput) (req *request.Request, output *DescribeUsageReportSubscriptionsOutput) {
  2652  	op := &request.Operation{
  2653  		Name:       opDescribeUsageReportSubscriptions,
  2654  		HTTPMethod: "POST",
  2655  		HTTPPath:   "/",
  2656  	}
  2657  
  2658  	if input == nil {
  2659  		input = &DescribeUsageReportSubscriptionsInput{}
  2660  	}
  2661  
  2662  	output = &DescribeUsageReportSubscriptionsOutput{}
  2663  	req = c.newRequest(op, input, output)
  2664  	return
  2665  }
  2666  
  2667  // DescribeUsageReportSubscriptions API operation for Amazon AppStream.
  2668  //
  2669  // Retrieves a list that describes one or more usage report subscriptions.
  2670  //
  2671  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2672  // with awserr.Error's Code and Message methods to get detailed information about
  2673  // the error.
  2674  //
  2675  // See the AWS API reference guide for Amazon AppStream's
  2676  // API operation DescribeUsageReportSubscriptions for usage and error information.
  2677  //
  2678  // Returned Error Types:
  2679  //   * ResourceNotFoundException
  2680  //   The specified resource was not found.
  2681  //
  2682  //   * InvalidAccountStatusException
  2683  //   The resource cannot be created because your AWS account is suspended. For
  2684  //   assistance, contact AWS Support.
  2685  //
  2686  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUsageReportSubscriptions
  2687  func (c *AppStream) DescribeUsageReportSubscriptions(input *DescribeUsageReportSubscriptionsInput) (*DescribeUsageReportSubscriptionsOutput, error) {
  2688  	req, out := c.DescribeUsageReportSubscriptionsRequest(input)
  2689  	return out, req.Send()
  2690  }
  2691  
  2692  // DescribeUsageReportSubscriptionsWithContext is the same as DescribeUsageReportSubscriptions with the addition of
  2693  // the ability to pass a context and additional request options.
  2694  //
  2695  // See DescribeUsageReportSubscriptions for details on how to use this API operation.
  2696  //
  2697  // The context must be non-nil and will be used for request cancellation. If
  2698  // the context is nil a panic will occur. In the future the SDK may create
  2699  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2700  // for more information on using Contexts.
  2701  func (c *AppStream) DescribeUsageReportSubscriptionsWithContext(ctx aws.Context, input *DescribeUsageReportSubscriptionsInput, opts ...request.Option) (*DescribeUsageReportSubscriptionsOutput, error) {
  2702  	req, out := c.DescribeUsageReportSubscriptionsRequest(input)
  2703  	req.SetContext(ctx)
  2704  	req.ApplyOptions(opts...)
  2705  	return out, req.Send()
  2706  }
  2707  
  2708  const opDescribeUserStackAssociations = "DescribeUserStackAssociations"
  2709  
  2710  // DescribeUserStackAssociationsRequest generates a "aws/request.Request" representing the
  2711  // client's request for the DescribeUserStackAssociations operation. The "output" return
  2712  // value will be populated with the request's response once the request completes
  2713  // successfully.
  2714  //
  2715  // Use "Send" method on the returned Request to send the API call to the service.
  2716  // the "output" return value is not valid until after Send returns without error.
  2717  //
  2718  // See DescribeUserStackAssociations for more information on using the DescribeUserStackAssociations
  2719  // API call, and error handling.
  2720  //
  2721  // This method is useful when you want to inject custom logic or configuration
  2722  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2723  //
  2724  //
  2725  //    // Example sending a request using the DescribeUserStackAssociationsRequest method.
  2726  //    req, resp := client.DescribeUserStackAssociationsRequest(params)
  2727  //
  2728  //    err := req.Send()
  2729  //    if err == nil { // resp is now filled
  2730  //        fmt.Println(resp)
  2731  //    }
  2732  //
  2733  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUserStackAssociations
  2734  func (c *AppStream) DescribeUserStackAssociationsRequest(input *DescribeUserStackAssociationsInput) (req *request.Request, output *DescribeUserStackAssociationsOutput) {
  2735  	op := &request.Operation{
  2736  		Name:       opDescribeUserStackAssociations,
  2737  		HTTPMethod: "POST",
  2738  		HTTPPath:   "/",
  2739  	}
  2740  
  2741  	if input == nil {
  2742  		input = &DescribeUserStackAssociationsInput{}
  2743  	}
  2744  
  2745  	output = &DescribeUserStackAssociationsOutput{}
  2746  	req = c.newRequest(op, input, output)
  2747  	return
  2748  }
  2749  
  2750  // DescribeUserStackAssociations API operation for Amazon AppStream.
  2751  //
  2752  // Retrieves a list that describes the UserStackAssociation objects. You must
  2753  // specify either or both of the following:
  2754  //
  2755  //    * The stack name
  2756  //
  2757  //    * The user name (email address of the user associated with the stack)
  2758  //    and the authentication type for the user
  2759  //
  2760  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2761  // with awserr.Error's Code and Message methods to get detailed information about
  2762  // the error.
  2763  //
  2764  // See the AWS API reference guide for Amazon AppStream's
  2765  // API operation DescribeUserStackAssociations for usage and error information.
  2766  //
  2767  // Returned Error Types:
  2768  //   * InvalidParameterCombinationException
  2769  //   Indicates an incorrect combination of parameters, or a missing parameter.
  2770  //
  2771  //   * OperationNotPermittedException
  2772  //   The attempted operation is not permitted.
  2773  //
  2774  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUserStackAssociations
  2775  func (c *AppStream) DescribeUserStackAssociations(input *DescribeUserStackAssociationsInput) (*DescribeUserStackAssociationsOutput, error) {
  2776  	req, out := c.DescribeUserStackAssociationsRequest(input)
  2777  	return out, req.Send()
  2778  }
  2779  
  2780  // DescribeUserStackAssociationsWithContext is the same as DescribeUserStackAssociations with the addition of
  2781  // the ability to pass a context and additional request options.
  2782  //
  2783  // See DescribeUserStackAssociations for details on how to use this API operation.
  2784  //
  2785  // The context must be non-nil and will be used for request cancellation. If
  2786  // the context is nil a panic will occur. In the future the SDK may create
  2787  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2788  // for more information on using Contexts.
  2789  func (c *AppStream) DescribeUserStackAssociationsWithContext(ctx aws.Context, input *DescribeUserStackAssociationsInput, opts ...request.Option) (*DescribeUserStackAssociationsOutput, error) {
  2790  	req, out := c.DescribeUserStackAssociationsRequest(input)
  2791  	req.SetContext(ctx)
  2792  	req.ApplyOptions(opts...)
  2793  	return out, req.Send()
  2794  }
  2795  
  2796  const opDescribeUsers = "DescribeUsers"
  2797  
  2798  // DescribeUsersRequest generates a "aws/request.Request" representing the
  2799  // client's request for the DescribeUsers operation. The "output" return
  2800  // value will be populated with the request's response once the request completes
  2801  // successfully.
  2802  //
  2803  // Use "Send" method on the returned Request to send the API call to the service.
  2804  // the "output" return value is not valid until after Send returns without error.
  2805  //
  2806  // See DescribeUsers for more information on using the DescribeUsers
  2807  // API call, and error handling.
  2808  //
  2809  // This method is useful when you want to inject custom logic or configuration
  2810  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2811  //
  2812  //
  2813  //    // Example sending a request using the DescribeUsersRequest method.
  2814  //    req, resp := client.DescribeUsersRequest(params)
  2815  //
  2816  //    err := req.Send()
  2817  //    if err == nil { // resp is now filled
  2818  //        fmt.Println(resp)
  2819  //    }
  2820  //
  2821  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUsers
  2822  func (c *AppStream) DescribeUsersRequest(input *DescribeUsersInput) (req *request.Request, output *DescribeUsersOutput) {
  2823  	op := &request.Operation{
  2824  		Name:       opDescribeUsers,
  2825  		HTTPMethod: "POST",
  2826  		HTTPPath:   "/",
  2827  	}
  2828  
  2829  	if input == nil {
  2830  		input = &DescribeUsersInput{}
  2831  	}
  2832  
  2833  	output = &DescribeUsersOutput{}
  2834  	req = c.newRequest(op, input, output)
  2835  	return
  2836  }
  2837  
  2838  // DescribeUsers API operation for Amazon AppStream.
  2839  //
  2840  // Retrieves a list that describes one or more specified users in the user pool.
  2841  //
  2842  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2843  // with awserr.Error's Code and Message methods to get detailed information about
  2844  // the error.
  2845  //
  2846  // See the AWS API reference guide for Amazon AppStream's
  2847  // API operation DescribeUsers for usage and error information.
  2848  //
  2849  // Returned Error Types:
  2850  //   * ResourceNotFoundException
  2851  //   The specified resource was not found.
  2852  //
  2853  //   * InvalidParameterCombinationException
  2854  //   Indicates an incorrect combination of parameters, or a missing parameter.
  2855  //
  2856  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUsers
  2857  func (c *AppStream) DescribeUsers(input *DescribeUsersInput) (*DescribeUsersOutput, error) {
  2858  	req, out := c.DescribeUsersRequest(input)
  2859  	return out, req.Send()
  2860  }
  2861  
  2862  // DescribeUsersWithContext is the same as DescribeUsers with the addition of
  2863  // the ability to pass a context and additional request options.
  2864  //
  2865  // See DescribeUsers for details on how to use this API operation.
  2866  //
  2867  // The context must be non-nil and will be used for request cancellation. If
  2868  // the context is nil a panic will occur. In the future the SDK may create
  2869  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2870  // for more information on using Contexts.
  2871  func (c *AppStream) DescribeUsersWithContext(ctx aws.Context, input *DescribeUsersInput, opts ...request.Option) (*DescribeUsersOutput, error) {
  2872  	req, out := c.DescribeUsersRequest(input)
  2873  	req.SetContext(ctx)
  2874  	req.ApplyOptions(opts...)
  2875  	return out, req.Send()
  2876  }
  2877  
  2878  const opDisableUser = "DisableUser"
  2879  
  2880  // DisableUserRequest generates a "aws/request.Request" representing the
  2881  // client's request for the DisableUser operation. The "output" return
  2882  // value will be populated with the request's response once the request completes
  2883  // successfully.
  2884  //
  2885  // Use "Send" method on the returned Request to send the API call to the service.
  2886  // the "output" return value is not valid until after Send returns without error.
  2887  //
  2888  // See DisableUser for more information on using the DisableUser
  2889  // API call, and error handling.
  2890  //
  2891  // This method is useful when you want to inject custom logic or configuration
  2892  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2893  //
  2894  //
  2895  //    // Example sending a request using the DisableUserRequest method.
  2896  //    req, resp := client.DisableUserRequest(params)
  2897  //
  2898  //    err := req.Send()
  2899  //    if err == nil { // resp is now filled
  2900  //        fmt.Println(resp)
  2901  //    }
  2902  //
  2903  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisableUser
  2904  func (c *AppStream) DisableUserRequest(input *DisableUserInput) (req *request.Request, output *DisableUserOutput) {
  2905  	op := &request.Operation{
  2906  		Name:       opDisableUser,
  2907  		HTTPMethod: "POST",
  2908  		HTTPPath:   "/",
  2909  	}
  2910  
  2911  	if input == nil {
  2912  		input = &DisableUserInput{}
  2913  	}
  2914  
  2915  	output = &DisableUserOutput{}
  2916  	req = c.newRequest(op, input, output)
  2917  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2918  	return
  2919  }
  2920  
  2921  // DisableUser API operation for Amazon AppStream.
  2922  //
  2923  // Disables the specified user in the user pool. Users can't sign in to AppStream
  2924  // 2.0 until they are re-enabled. This action does not delete the user.
  2925  //
  2926  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2927  // with awserr.Error's Code and Message methods to get detailed information about
  2928  // the error.
  2929  //
  2930  // See the AWS API reference guide for Amazon AppStream's
  2931  // API operation DisableUser for usage and error information.
  2932  //
  2933  // Returned Error Types:
  2934  //   * ResourceNotFoundException
  2935  //   The specified resource was not found.
  2936  //
  2937  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisableUser
  2938  func (c *AppStream) DisableUser(input *DisableUserInput) (*DisableUserOutput, error) {
  2939  	req, out := c.DisableUserRequest(input)
  2940  	return out, req.Send()
  2941  }
  2942  
  2943  // DisableUserWithContext is the same as DisableUser with the addition of
  2944  // the ability to pass a context and additional request options.
  2945  //
  2946  // See DisableUser for details on how to use this API operation.
  2947  //
  2948  // The context must be non-nil and will be used for request cancellation. If
  2949  // the context is nil a panic will occur. In the future the SDK may create
  2950  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2951  // for more information on using Contexts.
  2952  func (c *AppStream) DisableUserWithContext(ctx aws.Context, input *DisableUserInput, opts ...request.Option) (*DisableUserOutput, error) {
  2953  	req, out := c.DisableUserRequest(input)
  2954  	req.SetContext(ctx)
  2955  	req.ApplyOptions(opts...)
  2956  	return out, req.Send()
  2957  }
  2958  
  2959  const opDisassociateFleet = "DisassociateFleet"
  2960  
  2961  // DisassociateFleetRequest generates a "aws/request.Request" representing the
  2962  // client's request for the DisassociateFleet operation. The "output" return
  2963  // value will be populated with the request's response once the request completes
  2964  // successfully.
  2965  //
  2966  // Use "Send" method on the returned Request to send the API call to the service.
  2967  // the "output" return value is not valid until after Send returns without error.
  2968  //
  2969  // See DisassociateFleet for more information on using the DisassociateFleet
  2970  // API call, and error handling.
  2971  //
  2972  // This method is useful when you want to inject custom logic or configuration
  2973  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2974  //
  2975  //
  2976  //    // Example sending a request using the DisassociateFleetRequest method.
  2977  //    req, resp := client.DisassociateFleetRequest(params)
  2978  //
  2979  //    err := req.Send()
  2980  //    if err == nil { // resp is now filled
  2981  //        fmt.Println(resp)
  2982  //    }
  2983  //
  2984  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateFleet
  2985  func (c *AppStream) DisassociateFleetRequest(input *DisassociateFleetInput) (req *request.Request, output *DisassociateFleetOutput) {
  2986  	op := &request.Operation{
  2987  		Name:       opDisassociateFleet,
  2988  		HTTPMethod: "POST",
  2989  		HTTPPath:   "/",
  2990  	}
  2991  
  2992  	if input == nil {
  2993  		input = &DisassociateFleetInput{}
  2994  	}
  2995  
  2996  	output = &DisassociateFleetOutput{}
  2997  	req = c.newRequest(op, input, output)
  2998  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2999  	return
  3000  }
  3001  
  3002  // DisassociateFleet API operation for Amazon AppStream.
  3003  //
  3004  // Disassociates the specified fleet from the specified stack.
  3005  //
  3006  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3007  // with awserr.Error's Code and Message methods to get detailed information about
  3008  // the error.
  3009  //
  3010  // See the AWS API reference guide for Amazon AppStream's
  3011  // API operation DisassociateFleet for usage and error information.
  3012  //
  3013  // Returned Error Types:
  3014  //   * ResourceInUseException
  3015  //   The specified resource is in use.
  3016  //
  3017  //   * ResourceNotFoundException
  3018  //   The specified resource was not found.
  3019  //
  3020  //   * ConcurrentModificationException
  3021  //   An API error occurred. Wait a few minutes and try again.
  3022  //
  3023  //   * OperationNotPermittedException
  3024  //   The attempted operation is not permitted.
  3025  //
  3026  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateFleet
  3027  func (c *AppStream) DisassociateFleet(input *DisassociateFleetInput) (*DisassociateFleetOutput, error) {
  3028  	req, out := c.DisassociateFleetRequest(input)
  3029  	return out, req.Send()
  3030  }
  3031  
  3032  // DisassociateFleetWithContext is the same as DisassociateFleet with the addition of
  3033  // the ability to pass a context and additional request options.
  3034  //
  3035  // See DisassociateFleet for details on how to use this API operation.
  3036  //
  3037  // The context must be non-nil and will be used for request cancellation. If
  3038  // the context is nil a panic will occur. In the future the SDK may create
  3039  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3040  // for more information on using Contexts.
  3041  func (c *AppStream) DisassociateFleetWithContext(ctx aws.Context, input *DisassociateFleetInput, opts ...request.Option) (*DisassociateFleetOutput, error) {
  3042  	req, out := c.DisassociateFleetRequest(input)
  3043  	req.SetContext(ctx)
  3044  	req.ApplyOptions(opts...)
  3045  	return out, req.Send()
  3046  }
  3047  
  3048  const opEnableUser = "EnableUser"
  3049  
  3050  // EnableUserRequest generates a "aws/request.Request" representing the
  3051  // client's request for the EnableUser operation. The "output" return
  3052  // value will be populated with the request's response once the request completes
  3053  // successfully.
  3054  //
  3055  // Use "Send" method on the returned Request to send the API call to the service.
  3056  // the "output" return value is not valid until after Send returns without error.
  3057  //
  3058  // See EnableUser for more information on using the EnableUser
  3059  // API call, and error handling.
  3060  //
  3061  // This method is useful when you want to inject custom logic or configuration
  3062  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3063  //
  3064  //
  3065  //    // Example sending a request using the EnableUserRequest method.
  3066  //    req, resp := client.EnableUserRequest(params)
  3067  //
  3068  //    err := req.Send()
  3069  //    if err == nil { // resp is now filled
  3070  //        fmt.Println(resp)
  3071  //    }
  3072  //
  3073  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EnableUser
  3074  func (c *AppStream) EnableUserRequest(input *EnableUserInput) (req *request.Request, output *EnableUserOutput) {
  3075  	op := &request.Operation{
  3076  		Name:       opEnableUser,
  3077  		HTTPMethod: "POST",
  3078  		HTTPPath:   "/",
  3079  	}
  3080  
  3081  	if input == nil {
  3082  		input = &EnableUserInput{}
  3083  	}
  3084  
  3085  	output = &EnableUserOutput{}
  3086  	req = c.newRequest(op, input, output)
  3087  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3088  	return
  3089  }
  3090  
  3091  // EnableUser API operation for Amazon AppStream.
  3092  //
  3093  // Enables a user in the user pool. After being enabled, users can sign in to
  3094  // AppStream 2.0 and open applications from the stacks to which they are assigned.
  3095  //
  3096  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3097  // with awserr.Error's Code and Message methods to get detailed information about
  3098  // the error.
  3099  //
  3100  // See the AWS API reference guide for Amazon AppStream's
  3101  // API operation EnableUser for usage and error information.
  3102  //
  3103  // Returned Error Types:
  3104  //   * ResourceNotFoundException
  3105  //   The specified resource was not found.
  3106  //
  3107  //   * InvalidAccountStatusException
  3108  //   The resource cannot be created because your AWS account is suspended. For
  3109  //   assistance, contact AWS Support.
  3110  //
  3111  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EnableUser
  3112  func (c *AppStream) EnableUser(input *EnableUserInput) (*EnableUserOutput, error) {
  3113  	req, out := c.EnableUserRequest(input)
  3114  	return out, req.Send()
  3115  }
  3116  
  3117  // EnableUserWithContext is the same as EnableUser with the addition of
  3118  // the ability to pass a context and additional request options.
  3119  //
  3120  // See EnableUser for details on how to use this API operation.
  3121  //
  3122  // The context must be non-nil and will be used for request cancellation. If
  3123  // the context is nil a panic will occur. In the future the SDK may create
  3124  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3125  // for more information on using Contexts.
  3126  func (c *AppStream) EnableUserWithContext(ctx aws.Context, input *EnableUserInput, opts ...request.Option) (*EnableUserOutput, error) {
  3127  	req, out := c.EnableUserRequest(input)
  3128  	req.SetContext(ctx)
  3129  	req.ApplyOptions(opts...)
  3130  	return out, req.Send()
  3131  }
  3132  
  3133  const opExpireSession = "ExpireSession"
  3134  
  3135  // ExpireSessionRequest generates a "aws/request.Request" representing the
  3136  // client's request for the ExpireSession operation. The "output" return
  3137  // value will be populated with the request's response once the request completes
  3138  // successfully.
  3139  //
  3140  // Use "Send" method on the returned Request to send the API call to the service.
  3141  // the "output" return value is not valid until after Send returns without error.
  3142  //
  3143  // See ExpireSession for more information on using the ExpireSession
  3144  // API call, and error handling.
  3145  //
  3146  // This method is useful when you want to inject custom logic or configuration
  3147  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3148  //
  3149  //
  3150  //    // Example sending a request using the ExpireSessionRequest method.
  3151  //    req, resp := client.ExpireSessionRequest(params)
  3152  //
  3153  //    err := req.Send()
  3154  //    if err == nil { // resp is now filled
  3155  //        fmt.Println(resp)
  3156  //    }
  3157  //
  3158  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ExpireSession
  3159  func (c *AppStream) ExpireSessionRequest(input *ExpireSessionInput) (req *request.Request, output *ExpireSessionOutput) {
  3160  	op := &request.Operation{
  3161  		Name:       opExpireSession,
  3162  		HTTPMethod: "POST",
  3163  		HTTPPath:   "/",
  3164  	}
  3165  
  3166  	if input == nil {
  3167  		input = &ExpireSessionInput{}
  3168  	}
  3169  
  3170  	output = &ExpireSessionOutput{}
  3171  	req = c.newRequest(op, input, output)
  3172  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3173  	return
  3174  }
  3175  
  3176  // ExpireSession API operation for Amazon AppStream.
  3177  //
  3178  // Immediately stops the specified streaming session.
  3179  //
  3180  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3181  // with awserr.Error's Code and Message methods to get detailed information about
  3182  // the error.
  3183  //
  3184  // See the AWS API reference guide for Amazon AppStream's
  3185  // API operation ExpireSession for usage and error information.
  3186  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ExpireSession
  3187  func (c *AppStream) ExpireSession(input *ExpireSessionInput) (*ExpireSessionOutput, error) {
  3188  	req, out := c.ExpireSessionRequest(input)
  3189  	return out, req.Send()
  3190  }
  3191  
  3192  // ExpireSessionWithContext is the same as ExpireSession with the addition of
  3193  // the ability to pass a context and additional request options.
  3194  //
  3195  // See ExpireSession for details on how to use this API operation.
  3196  //
  3197  // The context must be non-nil and will be used for request cancellation. If
  3198  // the context is nil a panic will occur. In the future the SDK may create
  3199  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3200  // for more information on using Contexts.
  3201  func (c *AppStream) ExpireSessionWithContext(ctx aws.Context, input *ExpireSessionInput, opts ...request.Option) (*ExpireSessionOutput, error) {
  3202  	req, out := c.ExpireSessionRequest(input)
  3203  	req.SetContext(ctx)
  3204  	req.ApplyOptions(opts...)
  3205  	return out, req.Send()
  3206  }
  3207  
  3208  const opListAssociatedFleets = "ListAssociatedFleets"
  3209  
  3210  // ListAssociatedFleetsRequest generates a "aws/request.Request" representing the
  3211  // client's request for the ListAssociatedFleets operation. The "output" return
  3212  // value will be populated with the request's response once the request completes
  3213  // successfully.
  3214  //
  3215  // Use "Send" method on the returned Request to send the API call to the service.
  3216  // the "output" return value is not valid until after Send returns without error.
  3217  //
  3218  // See ListAssociatedFleets for more information on using the ListAssociatedFleets
  3219  // API call, and error handling.
  3220  //
  3221  // This method is useful when you want to inject custom logic or configuration
  3222  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3223  //
  3224  //
  3225  //    // Example sending a request using the ListAssociatedFleetsRequest method.
  3226  //    req, resp := client.ListAssociatedFleetsRequest(params)
  3227  //
  3228  //    err := req.Send()
  3229  //    if err == nil { // resp is now filled
  3230  //        fmt.Println(resp)
  3231  //    }
  3232  //
  3233  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListAssociatedFleets
  3234  func (c *AppStream) ListAssociatedFleetsRequest(input *ListAssociatedFleetsInput) (req *request.Request, output *ListAssociatedFleetsOutput) {
  3235  	op := &request.Operation{
  3236  		Name:       opListAssociatedFleets,
  3237  		HTTPMethod: "POST",
  3238  		HTTPPath:   "/",
  3239  	}
  3240  
  3241  	if input == nil {
  3242  		input = &ListAssociatedFleetsInput{}
  3243  	}
  3244  
  3245  	output = &ListAssociatedFleetsOutput{}
  3246  	req = c.newRequest(op, input, output)
  3247  	return
  3248  }
  3249  
  3250  // ListAssociatedFleets API operation for Amazon AppStream.
  3251  //
  3252  // Retrieves the name of the fleet that is associated with the specified stack.
  3253  //
  3254  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3255  // with awserr.Error's Code and Message methods to get detailed information about
  3256  // the error.
  3257  //
  3258  // See the AWS API reference guide for Amazon AppStream's
  3259  // API operation ListAssociatedFleets for usage and error information.
  3260  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListAssociatedFleets
  3261  func (c *AppStream) ListAssociatedFleets(input *ListAssociatedFleetsInput) (*ListAssociatedFleetsOutput, error) {
  3262  	req, out := c.ListAssociatedFleetsRequest(input)
  3263  	return out, req.Send()
  3264  }
  3265  
  3266  // ListAssociatedFleetsWithContext is the same as ListAssociatedFleets with the addition of
  3267  // the ability to pass a context and additional request options.
  3268  //
  3269  // See ListAssociatedFleets for details on how to use this API operation.
  3270  //
  3271  // The context must be non-nil and will be used for request cancellation. If
  3272  // the context is nil a panic will occur. In the future the SDK may create
  3273  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3274  // for more information on using Contexts.
  3275  func (c *AppStream) ListAssociatedFleetsWithContext(ctx aws.Context, input *ListAssociatedFleetsInput, opts ...request.Option) (*ListAssociatedFleetsOutput, error) {
  3276  	req, out := c.ListAssociatedFleetsRequest(input)
  3277  	req.SetContext(ctx)
  3278  	req.ApplyOptions(opts...)
  3279  	return out, req.Send()
  3280  }
  3281  
  3282  const opListAssociatedStacks = "ListAssociatedStacks"
  3283  
  3284  // ListAssociatedStacksRequest generates a "aws/request.Request" representing the
  3285  // client's request for the ListAssociatedStacks operation. The "output" return
  3286  // value will be populated with the request's response once the request completes
  3287  // successfully.
  3288  //
  3289  // Use "Send" method on the returned Request to send the API call to the service.
  3290  // the "output" return value is not valid until after Send returns without error.
  3291  //
  3292  // See ListAssociatedStacks for more information on using the ListAssociatedStacks
  3293  // API call, and error handling.
  3294  //
  3295  // This method is useful when you want to inject custom logic or configuration
  3296  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3297  //
  3298  //
  3299  //    // Example sending a request using the ListAssociatedStacksRequest method.
  3300  //    req, resp := client.ListAssociatedStacksRequest(params)
  3301  //
  3302  //    err := req.Send()
  3303  //    if err == nil { // resp is now filled
  3304  //        fmt.Println(resp)
  3305  //    }
  3306  //
  3307  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListAssociatedStacks
  3308  func (c *AppStream) ListAssociatedStacksRequest(input *ListAssociatedStacksInput) (req *request.Request, output *ListAssociatedStacksOutput) {
  3309  	op := &request.Operation{
  3310  		Name:       opListAssociatedStacks,
  3311  		HTTPMethod: "POST",
  3312  		HTTPPath:   "/",
  3313  	}
  3314  
  3315  	if input == nil {
  3316  		input = &ListAssociatedStacksInput{}
  3317  	}
  3318  
  3319  	output = &ListAssociatedStacksOutput{}
  3320  	req = c.newRequest(op, input, output)
  3321  	return
  3322  }
  3323  
  3324  // ListAssociatedStacks API operation for Amazon AppStream.
  3325  //
  3326  // Retrieves the name of the stack with which the specified fleet is associated.
  3327  //
  3328  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3329  // with awserr.Error's Code and Message methods to get detailed information about
  3330  // the error.
  3331  //
  3332  // See the AWS API reference guide for Amazon AppStream's
  3333  // API operation ListAssociatedStacks for usage and error information.
  3334  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListAssociatedStacks
  3335  func (c *AppStream) ListAssociatedStacks(input *ListAssociatedStacksInput) (*ListAssociatedStacksOutput, error) {
  3336  	req, out := c.ListAssociatedStacksRequest(input)
  3337  	return out, req.Send()
  3338  }
  3339  
  3340  // ListAssociatedStacksWithContext is the same as ListAssociatedStacks with the addition of
  3341  // the ability to pass a context and additional request options.
  3342  //
  3343  // See ListAssociatedStacks for details on how to use this API operation.
  3344  //
  3345  // The context must be non-nil and will be used for request cancellation. If
  3346  // the context is nil a panic will occur. In the future the SDK may create
  3347  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3348  // for more information on using Contexts.
  3349  func (c *AppStream) ListAssociatedStacksWithContext(ctx aws.Context, input *ListAssociatedStacksInput, opts ...request.Option) (*ListAssociatedStacksOutput, error) {
  3350  	req, out := c.ListAssociatedStacksRequest(input)
  3351  	req.SetContext(ctx)
  3352  	req.ApplyOptions(opts...)
  3353  	return out, req.Send()
  3354  }
  3355  
  3356  const opListTagsForResource = "ListTagsForResource"
  3357  
  3358  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  3359  // client's request for the ListTagsForResource operation. The "output" return
  3360  // value will be populated with the request's response once the request completes
  3361  // successfully.
  3362  //
  3363  // Use "Send" method on the returned Request to send the API call to the service.
  3364  // the "output" return value is not valid until after Send returns without error.
  3365  //
  3366  // See ListTagsForResource for more information on using the ListTagsForResource
  3367  // API call, and error handling.
  3368  //
  3369  // This method is useful when you want to inject custom logic or configuration
  3370  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3371  //
  3372  //
  3373  //    // Example sending a request using the ListTagsForResourceRequest method.
  3374  //    req, resp := client.ListTagsForResourceRequest(params)
  3375  //
  3376  //    err := req.Send()
  3377  //    if err == nil { // resp is now filled
  3378  //        fmt.Println(resp)
  3379  //    }
  3380  //
  3381  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListTagsForResource
  3382  func (c *AppStream) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  3383  	op := &request.Operation{
  3384  		Name:       opListTagsForResource,
  3385  		HTTPMethod: "POST",
  3386  		HTTPPath:   "/",
  3387  	}
  3388  
  3389  	if input == nil {
  3390  		input = &ListTagsForResourceInput{}
  3391  	}
  3392  
  3393  	output = &ListTagsForResourceOutput{}
  3394  	req = c.newRequest(op, input, output)
  3395  	return
  3396  }
  3397  
  3398  // ListTagsForResource API operation for Amazon AppStream.
  3399  //
  3400  // Retrieves a list of all tags for the specified AppStream 2.0 resource. You
  3401  // can tag AppStream 2.0 image builders, images, fleets, and stacks.
  3402  //
  3403  // For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
  3404  // in the Amazon AppStream 2.0 Administration Guide.
  3405  //
  3406  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3407  // with awserr.Error's Code and Message methods to get detailed information about
  3408  // the error.
  3409  //
  3410  // See the AWS API reference guide for Amazon AppStream's
  3411  // API operation ListTagsForResource for usage and error information.
  3412  //
  3413  // Returned Error Types:
  3414  //   * ResourceNotFoundException
  3415  //   The specified resource was not found.
  3416  //
  3417  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListTagsForResource
  3418  func (c *AppStream) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  3419  	req, out := c.ListTagsForResourceRequest(input)
  3420  	return out, req.Send()
  3421  }
  3422  
  3423  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  3424  // the ability to pass a context and additional request options.
  3425  //
  3426  // See ListTagsForResource for details on how to use this API operation.
  3427  //
  3428  // The context must be non-nil and will be used for request cancellation. If
  3429  // the context is nil a panic will occur. In the future the SDK may create
  3430  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3431  // for more information on using Contexts.
  3432  func (c *AppStream) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  3433  	req, out := c.ListTagsForResourceRequest(input)
  3434  	req.SetContext(ctx)
  3435  	req.ApplyOptions(opts...)
  3436  	return out, req.Send()
  3437  }
  3438  
  3439  const opStartFleet = "StartFleet"
  3440  
  3441  // StartFleetRequest generates a "aws/request.Request" representing the
  3442  // client's request for the StartFleet operation. The "output" return
  3443  // value will be populated with the request's response once the request completes
  3444  // successfully.
  3445  //
  3446  // Use "Send" method on the returned Request to send the API call to the service.
  3447  // the "output" return value is not valid until after Send returns without error.
  3448  //
  3449  // See StartFleet for more information on using the StartFleet
  3450  // API call, and error handling.
  3451  //
  3452  // This method is useful when you want to inject custom logic or configuration
  3453  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3454  //
  3455  //
  3456  //    // Example sending a request using the StartFleetRequest method.
  3457  //    req, resp := client.StartFleetRequest(params)
  3458  //
  3459  //    err := req.Send()
  3460  //    if err == nil { // resp is now filled
  3461  //        fmt.Println(resp)
  3462  //    }
  3463  //
  3464  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartFleet
  3465  func (c *AppStream) StartFleetRequest(input *StartFleetInput) (req *request.Request, output *StartFleetOutput) {
  3466  	op := &request.Operation{
  3467  		Name:       opStartFleet,
  3468  		HTTPMethod: "POST",
  3469  		HTTPPath:   "/",
  3470  	}
  3471  
  3472  	if input == nil {
  3473  		input = &StartFleetInput{}
  3474  	}
  3475  
  3476  	output = &StartFleetOutput{}
  3477  	req = c.newRequest(op, input, output)
  3478  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3479  	return
  3480  }
  3481  
  3482  // StartFleet API operation for Amazon AppStream.
  3483  //
  3484  // Starts the specified fleet.
  3485  //
  3486  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3487  // with awserr.Error's Code and Message methods to get detailed information about
  3488  // the error.
  3489  //
  3490  // See the AWS API reference guide for Amazon AppStream's
  3491  // API operation StartFleet for usage and error information.
  3492  //
  3493  // Returned Error Types:
  3494  //   * ResourceNotFoundException
  3495  //   The specified resource was not found.
  3496  //
  3497  //   * OperationNotPermittedException
  3498  //   The attempted operation is not permitted.
  3499  //
  3500  //   * LimitExceededException
  3501  //   The requested limit exceeds the permitted limit for an account.
  3502  //
  3503  //   * RequestLimitExceededException
  3504  //   AppStream 2.0 can’t process the request right now because the Describe
  3505  //   calls from your AWS account are being throttled by Amazon EC2. Try again
  3506  //   later.
  3507  //
  3508  //   * InvalidAccountStatusException
  3509  //   The resource cannot be created because your AWS account is suspended. For
  3510  //   assistance, contact AWS Support.
  3511  //
  3512  //   * ConcurrentModificationException
  3513  //   An API error occurred. Wait a few minutes and try again.
  3514  //
  3515  //   * ResourceNotAvailableException
  3516  //   The specified resource exists and is not in use, but isn't available.
  3517  //
  3518  //   * InvalidRoleException
  3519  //   The specified role is invalid.
  3520  //
  3521  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartFleet
  3522  func (c *AppStream) StartFleet(input *StartFleetInput) (*StartFleetOutput, error) {
  3523  	req, out := c.StartFleetRequest(input)
  3524  	return out, req.Send()
  3525  }
  3526  
  3527  // StartFleetWithContext is the same as StartFleet with the addition of
  3528  // the ability to pass a context and additional request options.
  3529  //
  3530  // See StartFleet for details on how to use this API operation.
  3531  //
  3532  // The context must be non-nil and will be used for request cancellation. If
  3533  // the context is nil a panic will occur. In the future the SDK may create
  3534  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3535  // for more information on using Contexts.
  3536  func (c *AppStream) StartFleetWithContext(ctx aws.Context, input *StartFleetInput, opts ...request.Option) (*StartFleetOutput, error) {
  3537  	req, out := c.StartFleetRequest(input)
  3538  	req.SetContext(ctx)
  3539  	req.ApplyOptions(opts...)
  3540  	return out, req.Send()
  3541  }
  3542  
  3543  const opStartImageBuilder = "StartImageBuilder"
  3544  
  3545  // StartImageBuilderRequest generates a "aws/request.Request" representing the
  3546  // client's request for the StartImageBuilder operation. The "output" return
  3547  // value will be populated with the request's response once the request completes
  3548  // successfully.
  3549  //
  3550  // Use "Send" method on the returned Request to send the API call to the service.
  3551  // the "output" return value is not valid until after Send returns without error.
  3552  //
  3553  // See StartImageBuilder for more information on using the StartImageBuilder
  3554  // API call, and error handling.
  3555  //
  3556  // This method is useful when you want to inject custom logic or configuration
  3557  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3558  //
  3559  //
  3560  //    // Example sending a request using the StartImageBuilderRequest method.
  3561  //    req, resp := client.StartImageBuilderRequest(params)
  3562  //
  3563  //    err := req.Send()
  3564  //    if err == nil { // resp is now filled
  3565  //        fmt.Println(resp)
  3566  //    }
  3567  //
  3568  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartImageBuilder
  3569  func (c *AppStream) StartImageBuilderRequest(input *StartImageBuilderInput) (req *request.Request, output *StartImageBuilderOutput) {
  3570  	op := &request.Operation{
  3571  		Name:       opStartImageBuilder,
  3572  		HTTPMethod: "POST",
  3573  		HTTPPath:   "/",
  3574  	}
  3575  
  3576  	if input == nil {
  3577  		input = &StartImageBuilderInput{}
  3578  	}
  3579  
  3580  	output = &StartImageBuilderOutput{}
  3581  	req = c.newRequest(op, input, output)
  3582  	return
  3583  }
  3584  
  3585  // StartImageBuilder API operation for Amazon AppStream.
  3586  //
  3587  // Starts the specified image builder.
  3588  //
  3589  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3590  // with awserr.Error's Code and Message methods to get detailed information about
  3591  // the error.
  3592  //
  3593  // See the AWS API reference guide for Amazon AppStream's
  3594  // API operation StartImageBuilder for usage and error information.
  3595  //
  3596  // Returned Error Types:
  3597  //   * ResourceNotAvailableException
  3598  //   The specified resource exists and is not in use, but isn't available.
  3599  //
  3600  //   * ResourceNotFoundException
  3601  //   The specified resource was not found.
  3602  //
  3603  //   * ConcurrentModificationException
  3604  //   An API error occurred. Wait a few minutes and try again.
  3605  //
  3606  //   * InvalidAccountStatusException
  3607  //   The resource cannot be created because your AWS account is suspended. For
  3608  //   assistance, contact AWS Support.
  3609  //
  3610  //   * IncompatibleImageException
  3611  //   The image can't be updated because it's not compatible for updates.
  3612  //
  3613  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartImageBuilder
  3614  func (c *AppStream) StartImageBuilder(input *StartImageBuilderInput) (*StartImageBuilderOutput, error) {
  3615  	req, out := c.StartImageBuilderRequest(input)
  3616  	return out, req.Send()
  3617  }
  3618  
  3619  // StartImageBuilderWithContext is the same as StartImageBuilder with the addition of
  3620  // the ability to pass a context and additional request options.
  3621  //
  3622  // See StartImageBuilder for details on how to use this API operation.
  3623  //
  3624  // The context must be non-nil and will be used for request cancellation. If
  3625  // the context is nil a panic will occur. In the future the SDK may create
  3626  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3627  // for more information on using Contexts.
  3628  func (c *AppStream) StartImageBuilderWithContext(ctx aws.Context, input *StartImageBuilderInput, opts ...request.Option) (*StartImageBuilderOutput, error) {
  3629  	req, out := c.StartImageBuilderRequest(input)
  3630  	req.SetContext(ctx)
  3631  	req.ApplyOptions(opts...)
  3632  	return out, req.Send()
  3633  }
  3634  
  3635  const opStopFleet = "StopFleet"
  3636  
  3637  // StopFleetRequest generates a "aws/request.Request" representing the
  3638  // client's request for the StopFleet operation. The "output" return
  3639  // value will be populated with the request's response once the request completes
  3640  // successfully.
  3641  //
  3642  // Use "Send" method on the returned Request to send the API call to the service.
  3643  // the "output" return value is not valid until after Send returns without error.
  3644  //
  3645  // See StopFleet for more information on using the StopFleet
  3646  // API call, and error handling.
  3647  //
  3648  // This method is useful when you want to inject custom logic or configuration
  3649  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3650  //
  3651  //
  3652  //    // Example sending a request using the StopFleetRequest method.
  3653  //    req, resp := client.StopFleetRequest(params)
  3654  //
  3655  //    err := req.Send()
  3656  //    if err == nil { // resp is now filled
  3657  //        fmt.Println(resp)
  3658  //    }
  3659  //
  3660  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopFleet
  3661  func (c *AppStream) StopFleetRequest(input *StopFleetInput) (req *request.Request, output *StopFleetOutput) {
  3662  	op := &request.Operation{
  3663  		Name:       opStopFleet,
  3664  		HTTPMethod: "POST",
  3665  		HTTPPath:   "/",
  3666  	}
  3667  
  3668  	if input == nil {
  3669  		input = &StopFleetInput{}
  3670  	}
  3671  
  3672  	output = &StopFleetOutput{}
  3673  	req = c.newRequest(op, input, output)
  3674  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3675  	return
  3676  }
  3677  
  3678  // StopFleet API operation for Amazon AppStream.
  3679  //
  3680  // Stops the specified fleet.
  3681  //
  3682  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3683  // with awserr.Error's Code and Message methods to get detailed information about
  3684  // the error.
  3685  //
  3686  // See the AWS API reference guide for Amazon AppStream's
  3687  // API operation StopFleet for usage and error information.
  3688  //
  3689  // Returned Error Types:
  3690  //   * ResourceNotFoundException
  3691  //   The specified resource was not found.
  3692  //
  3693  //   * ConcurrentModificationException
  3694  //   An API error occurred. Wait a few minutes and try again.
  3695  //
  3696  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopFleet
  3697  func (c *AppStream) StopFleet(input *StopFleetInput) (*StopFleetOutput, error) {
  3698  	req, out := c.StopFleetRequest(input)
  3699  	return out, req.Send()
  3700  }
  3701  
  3702  // StopFleetWithContext is the same as StopFleet with the addition of
  3703  // the ability to pass a context and additional request options.
  3704  //
  3705  // See StopFleet for details on how to use this API operation.
  3706  //
  3707  // The context must be non-nil and will be used for request cancellation. If
  3708  // the context is nil a panic will occur. In the future the SDK may create
  3709  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3710  // for more information on using Contexts.
  3711  func (c *AppStream) StopFleetWithContext(ctx aws.Context, input *StopFleetInput, opts ...request.Option) (*StopFleetOutput, error) {
  3712  	req, out := c.StopFleetRequest(input)
  3713  	req.SetContext(ctx)
  3714  	req.ApplyOptions(opts...)
  3715  	return out, req.Send()
  3716  }
  3717  
  3718  const opStopImageBuilder = "StopImageBuilder"
  3719  
  3720  // StopImageBuilderRequest generates a "aws/request.Request" representing the
  3721  // client's request for the StopImageBuilder operation. The "output" return
  3722  // value will be populated with the request's response once the request completes
  3723  // successfully.
  3724  //
  3725  // Use "Send" method on the returned Request to send the API call to the service.
  3726  // the "output" return value is not valid until after Send returns without error.
  3727  //
  3728  // See StopImageBuilder for more information on using the StopImageBuilder
  3729  // API call, and error handling.
  3730  //
  3731  // This method is useful when you want to inject custom logic or configuration
  3732  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3733  //
  3734  //
  3735  //    // Example sending a request using the StopImageBuilderRequest method.
  3736  //    req, resp := client.StopImageBuilderRequest(params)
  3737  //
  3738  //    err := req.Send()
  3739  //    if err == nil { // resp is now filled
  3740  //        fmt.Println(resp)
  3741  //    }
  3742  //
  3743  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopImageBuilder
  3744  func (c *AppStream) StopImageBuilderRequest(input *StopImageBuilderInput) (req *request.Request, output *StopImageBuilderOutput) {
  3745  	op := &request.Operation{
  3746  		Name:       opStopImageBuilder,
  3747  		HTTPMethod: "POST",
  3748  		HTTPPath:   "/",
  3749  	}
  3750  
  3751  	if input == nil {
  3752  		input = &StopImageBuilderInput{}
  3753  	}
  3754  
  3755  	output = &StopImageBuilderOutput{}
  3756  	req = c.newRequest(op, input, output)
  3757  	return
  3758  }
  3759  
  3760  // StopImageBuilder API operation for Amazon AppStream.
  3761  //
  3762  // Stops the specified image builder.
  3763  //
  3764  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3765  // with awserr.Error's Code and Message methods to get detailed information about
  3766  // the error.
  3767  //
  3768  // See the AWS API reference guide for Amazon AppStream's
  3769  // API operation StopImageBuilder for usage and error information.
  3770  //
  3771  // Returned Error Types:
  3772  //   * ResourceNotFoundException
  3773  //   The specified resource was not found.
  3774  //
  3775  //   * OperationNotPermittedException
  3776  //   The attempted operation is not permitted.
  3777  //
  3778  //   * ConcurrentModificationException
  3779  //   An API error occurred. Wait a few minutes and try again.
  3780  //
  3781  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopImageBuilder
  3782  func (c *AppStream) StopImageBuilder(input *StopImageBuilderInput) (*StopImageBuilderOutput, error) {
  3783  	req, out := c.StopImageBuilderRequest(input)
  3784  	return out, req.Send()
  3785  }
  3786  
  3787  // StopImageBuilderWithContext is the same as StopImageBuilder with the addition of
  3788  // the ability to pass a context and additional request options.
  3789  //
  3790  // See StopImageBuilder for details on how to use this API operation.
  3791  //
  3792  // The context must be non-nil and will be used for request cancellation. If
  3793  // the context is nil a panic will occur. In the future the SDK may create
  3794  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3795  // for more information on using Contexts.
  3796  func (c *AppStream) StopImageBuilderWithContext(ctx aws.Context, input *StopImageBuilderInput, opts ...request.Option) (*StopImageBuilderOutput, error) {
  3797  	req, out := c.StopImageBuilderRequest(input)
  3798  	req.SetContext(ctx)
  3799  	req.ApplyOptions(opts...)
  3800  	return out, req.Send()
  3801  }
  3802  
  3803  const opTagResource = "TagResource"
  3804  
  3805  // TagResourceRequest generates a "aws/request.Request" representing the
  3806  // client's request for the TagResource operation. The "output" return
  3807  // value will be populated with the request's response once the request completes
  3808  // successfully.
  3809  //
  3810  // Use "Send" method on the returned Request to send the API call to the service.
  3811  // the "output" return value is not valid until after Send returns without error.
  3812  //
  3813  // See TagResource for more information on using the TagResource
  3814  // API call, and error handling.
  3815  //
  3816  // This method is useful when you want to inject custom logic or configuration
  3817  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3818  //
  3819  //
  3820  //    // Example sending a request using the TagResourceRequest method.
  3821  //    req, resp := client.TagResourceRequest(params)
  3822  //
  3823  //    err := req.Send()
  3824  //    if err == nil { // resp is now filled
  3825  //        fmt.Println(resp)
  3826  //    }
  3827  //
  3828  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/TagResource
  3829  func (c *AppStream) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  3830  	op := &request.Operation{
  3831  		Name:       opTagResource,
  3832  		HTTPMethod: "POST",
  3833  		HTTPPath:   "/",
  3834  	}
  3835  
  3836  	if input == nil {
  3837  		input = &TagResourceInput{}
  3838  	}
  3839  
  3840  	output = &TagResourceOutput{}
  3841  	req = c.newRequest(op, input, output)
  3842  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3843  	return
  3844  }
  3845  
  3846  // TagResource API operation for Amazon AppStream.
  3847  //
  3848  // Adds or overwrites one or more tags for the specified AppStream 2.0 resource.
  3849  // You can tag AppStream 2.0 image builders, images, fleets, and stacks.
  3850  //
  3851  // Each tag consists of a key and an optional value. If a resource already has
  3852  // a tag with the same key, this operation updates its value.
  3853  //
  3854  // To list the current tags for your resources, use ListTagsForResource. To
  3855  // disassociate tags from your resources, use UntagResource.
  3856  //
  3857  // For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
  3858  // in the Amazon AppStream 2.0 Administration Guide.
  3859  //
  3860  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3861  // with awserr.Error's Code and Message methods to get detailed information about
  3862  // the error.
  3863  //
  3864  // See the AWS API reference guide for Amazon AppStream's
  3865  // API operation TagResource for usage and error information.
  3866  //
  3867  // Returned Error Types:
  3868  //   * LimitExceededException
  3869  //   The requested limit exceeds the permitted limit for an account.
  3870  //
  3871  //   * InvalidAccountStatusException
  3872  //   The resource cannot be created because your AWS account is suspended. For
  3873  //   assistance, contact AWS Support.
  3874  //
  3875  //   * ResourceNotFoundException
  3876  //   The specified resource was not found.
  3877  //
  3878  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/TagResource
  3879  func (c *AppStream) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  3880  	req, out := c.TagResourceRequest(input)
  3881  	return out, req.Send()
  3882  }
  3883  
  3884  // TagResourceWithContext is the same as TagResource with the addition of
  3885  // the ability to pass a context and additional request options.
  3886  //
  3887  // See TagResource for details on how to use this API operation.
  3888  //
  3889  // The context must be non-nil and will be used for request cancellation. If
  3890  // the context is nil a panic will occur. In the future the SDK may create
  3891  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3892  // for more information on using Contexts.
  3893  func (c *AppStream) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  3894  	req, out := c.TagResourceRequest(input)
  3895  	req.SetContext(ctx)
  3896  	req.ApplyOptions(opts...)
  3897  	return out, req.Send()
  3898  }
  3899  
  3900  const opUntagResource = "UntagResource"
  3901  
  3902  // UntagResourceRequest generates a "aws/request.Request" representing the
  3903  // client's request for the UntagResource operation. The "output" return
  3904  // value will be populated with the request's response once the request completes
  3905  // successfully.
  3906  //
  3907  // Use "Send" method on the returned Request to send the API call to the service.
  3908  // the "output" return value is not valid until after Send returns without error.
  3909  //
  3910  // See UntagResource for more information on using the UntagResource
  3911  // API call, and error handling.
  3912  //
  3913  // This method is useful when you want to inject custom logic or configuration
  3914  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3915  //
  3916  //
  3917  //    // Example sending a request using the UntagResourceRequest method.
  3918  //    req, resp := client.UntagResourceRequest(params)
  3919  //
  3920  //    err := req.Send()
  3921  //    if err == nil { // resp is now filled
  3922  //        fmt.Println(resp)
  3923  //    }
  3924  //
  3925  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UntagResource
  3926  func (c *AppStream) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  3927  	op := &request.Operation{
  3928  		Name:       opUntagResource,
  3929  		HTTPMethod: "POST",
  3930  		HTTPPath:   "/",
  3931  	}
  3932  
  3933  	if input == nil {
  3934  		input = &UntagResourceInput{}
  3935  	}
  3936  
  3937  	output = &UntagResourceOutput{}
  3938  	req = c.newRequest(op, input, output)
  3939  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3940  	return
  3941  }
  3942  
  3943  // UntagResource API operation for Amazon AppStream.
  3944  //
  3945  // Disassociates one or more specified tags from the specified AppStream 2.0
  3946  // resource.
  3947  //
  3948  // To list the current tags for your resources, use ListTagsForResource.
  3949  //
  3950  // For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
  3951  // in the Amazon AppStream 2.0 Administration Guide.
  3952  //
  3953  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3954  // with awserr.Error's Code and Message methods to get detailed information about
  3955  // the error.
  3956  //
  3957  // See the AWS API reference guide for Amazon AppStream's
  3958  // API operation UntagResource for usage and error information.
  3959  //
  3960  // Returned Error Types:
  3961  //   * ResourceNotFoundException
  3962  //   The specified resource was not found.
  3963  //
  3964  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UntagResource
  3965  func (c *AppStream) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  3966  	req, out := c.UntagResourceRequest(input)
  3967  	return out, req.Send()
  3968  }
  3969  
  3970  // UntagResourceWithContext is the same as UntagResource with the addition of
  3971  // the ability to pass a context and additional request options.
  3972  //
  3973  // See UntagResource for details on how to use this API operation.
  3974  //
  3975  // The context must be non-nil and will be used for request cancellation. If
  3976  // the context is nil a panic will occur. In the future the SDK may create
  3977  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3978  // for more information on using Contexts.
  3979  func (c *AppStream) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  3980  	req, out := c.UntagResourceRequest(input)
  3981  	req.SetContext(ctx)
  3982  	req.ApplyOptions(opts...)
  3983  	return out, req.Send()
  3984  }
  3985  
  3986  const opUpdateDirectoryConfig = "UpdateDirectoryConfig"
  3987  
  3988  // UpdateDirectoryConfigRequest generates a "aws/request.Request" representing the
  3989  // client's request for the UpdateDirectoryConfig operation. The "output" return
  3990  // value will be populated with the request's response once the request completes
  3991  // successfully.
  3992  //
  3993  // Use "Send" method on the returned Request to send the API call to the service.
  3994  // the "output" return value is not valid until after Send returns without error.
  3995  //
  3996  // See UpdateDirectoryConfig for more information on using the UpdateDirectoryConfig
  3997  // API call, and error handling.
  3998  //
  3999  // This method is useful when you want to inject custom logic or configuration
  4000  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4001  //
  4002  //
  4003  //    // Example sending a request using the UpdateDirectoryConfigRequest method.
  4004  //    req, resp := client.UpdateDirectoryConfigRequest(params)
  4005  //
  4006  //    err := req.Send()
  4007  //    if err == nil { // resp is now filled
  4008  //        fmt.Println(resp)
  4009  //    }
  4010  //
  4011  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateDirectoryConfig
  4012  func (c *AppStream) UpdateDirectoryConfigRequest(input *UpdateDirectoryConfigInput) (req *request.Request, output *UpdateDirectoryConfigOutput) {
  4013  	op := &request.Operation{
  4014  		Name:       opUpdateDirectoryConfig,
  4015  		HTTPMethod: "POST",
  4016  		HTTPPath:   "/",
  4017  	}
  4018  
  4019  	if input == nil {
  4020  		input = &UpdateDirectoryConfigInput{}
  4021  	}
  4022  
  4023  	output = &UpdateDirectoryConfigOutput{}
  4024  	req = c.newRequest(op, input, output)
  4025  	return
  4026  }
  4027  
  4028  // UpdateDirectoryConfig API operation for Amazon AppStream.
  4029  //
  4030  // Updates the specified Directory Config object in AppStream 2.0. This object
  4031  // includes the configuration information required to join fleets and image
  4032  // builders to Microsoft Active Directory domains.
  4033  //
  4034  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4035  // with awserr.Error's Code and Message methods to get detailed information about
  4036  // the error.
  4037  //
  4038  // See the AWS API reference guide for Amazon AppStream's
  4039  // API operation UpdateDirectoryConfig for usage and error information.
  4040  //
  4041  // Returned Error Types:
  4042  //   * ResourceInUseException
  4043  //   The specified resource is in use.
  4044  //
  4045  //   * ResourceNotFoundException
  4046  //   The specified resource was not found.
  4047  //
  4048  //   * ConcurrentModificationException
  4049  //   An API error occurred. Wait a few minutes and try again.
  4050  //
  4051  //   * OperationNotPermittedException
  4052  //   The attempted operation is not permitted.
  4053  //
  4054  //   * InvalidRoleException
  4055  //   The specified role is invalid.
  4056  //
  4057  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateDirectoryConfig
  4058  func (c *AppStream) UpdateDirectoryConfig(input *UpdateDirectoryConfigInput) (*UpdateDirectoryConfigOutput, error) {
  4059  	req, out := c.UpdateDirectoryConfigRequest(input)
  4060  	return out, req.Send()
  4061  }
  4062  
  4063  // UpdateDirectoryConfigWithContext is the same as UpdateDirectoryConfig with the addition of
  4064  // the ability to pass a context and additional request options.
  4065  //
  4066  // See UpdateDirectoryConfig for details on how to use this API operation.
  4067  //
  4068  // The context must be non-nil and will be used for request cancellation. If
  4069  // the context is nil a panic will occur. In the future the SDK may create
  4070  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4071  // for more information on using Contexts.
  4072  func (c *AppStream) UpdateDirectoryConfigWithContext(ctx aws.Context, input *UpdateDirectoryConfigInput, opts ...request.Option) (*UpdateDirectoryConfigOutput, error) {
  4073  	req, out := c.UpdateDirectoryConfigRequest(input)
  4074  	req.SetContext(ctx)
  4075  	req.ApplyOptions(opts...)
  4076  	return out, req.Send()
  4077  }
  4078  
  4079  const opUpdateFleet = "UpdateFleet"
  4080  
  4081  // UpdateFleetRequest generates a "aws/request.Request" representing the
  4082  // client's request for the UpdateFleet operation. The "output" return
  4083  // value will be populated with the request's response once the request completes
  4084  // successfully.
  4085  //
  4086  // Use "Send" method on the returned Request to send the API call to the service.
  4087  // the "output" return value is not valid until after Send returns without error.
  4088  //
  4089  // See UpdateFleet for more information on using the UpdateFleet
  4090  // API call, and error handling.
  4091  //
  4092  // This method is useful when you want to inject custom logic or configuration
  4093  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4094  //
  4095  //
  4096  //    // Example sending a request using the UpdateFleetRequest method.
  4097  //    req, resp := client.UpdateFleetRequest(params)
  4098  //
  4099  //    err := req.Send()
  4100  //    if err == nil { // resp is now filled
  4101  //        fmt.Println(resp)
  4102  //    }
  4103  //
  4104  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateFleet
  4105  func (c *AppStream) UpdateFleetRequest(input *UpdateFleetInput) (req *request.Request, output *UpdateFleetOutput) {
  4106  	op := &request.Operation{
  4107  		Name:       opUpdateFleet,
  4108  		HTTPMethod: "POST",
  4109  		HTTPPath:   "/",
  4110  	}
  4111  
  4112  	if input == nil {
  4113  		input = &UpdateFleetInput{}
  4114  	}
  4115  
  4116  	output = &UpdateFleetOutput{}
  4117  	req = c.newRequest(op, input, output)
  4118  	return
  4119  }
  4120  
  4121  // UpdateFleet API operation for Amazon AppStream.
  4122  //
  4123  // Updates the specified fleet.
  4124  //
  4125  // If the fleet is in the STOPPED state, you can update any attribute except
  4126  // the fleet name. If the fleet is in the RUNNING state, you can update the
  4127  // DisplayName, ComputeCapacity, ImageARN, ImageName, IdleDisconnectTimeoutInSeconds,
  4128  // and DisconnectTimeoutInSeconds attributes. If the fleet is in the STARTING
  4129  // or STOPPING state, you can't update it.
  4130  //
  4131  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4132  // with awserr.Error's Code and Message methods to get detailed information about
  4133  // the error.
  4134  //
  4135  // See the AWS API reference guide for Amazon AppStream's
  4136  // API operation UpdateFleet for usage and error information.
  4137  //
  4138  // Returned Error Types:
  4139  //   * ResourceInUseException
  4140  //   The specified resource is in use.
  4141  //
  4142  //   * LimitExceededException
  4143  //   The requested limit exceeds the permitted limit for an account.
  4144  //
  4145  //   * RequestLimitExceededException
  4146  //   AppStream 2.0 can’t process the request right now because the Describe
  4147  //   calls from your AWS account are being throttled by Amazon EC2. Try again
  4148  //   later.
  4149  //
  4150  //   * InvalidAccountStatusException
  4151  //   The resource cannot be created because your AWS account is suspended. For
  4152  //   assistance, contact AWS Support.
  4153  //
  4154  //   * InvalidRoleException
  4155  //   The specified role is invalid.
  4156  //
  4157  //   * ResourceNotFoundException
  4158  //   The specified resource was not found.
  4159  //
  4160  //   * ResourceNotAvailableException
  4161  //   The specified resource exists and is not in use, but isn't available.
  4162  //
  4163  //   * InvalidParameterCombinationException
  4164  //   Indicates an incorrect combination of parameters, or a missing parameter.
  4165  //
  4166  //   * ConcurrentModificationException
  4167  //   An API error occurred. Wait a few minutes and try again.
  4168  //
  4169  //   * IncompatibleImageException
  4170  //   The image can't be updated because it's not compatible for updates.
  4171  //
  4172  //   * OperationNotPermittedException
  4173  //   The attempted operation is not permitted.
  4174  //
  4175  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateFleet
  4176  func (c *AppStream) UpdateFleet(input *UpdateFleetInput) (*UpdateFleetOutput, error) {
  4177  	req, out := c.UpdateFleetRequest(input)
  4178  	return out, req.Send()
  4179  }
  4180  
  4181  // UpdateFleetWithContext is the same as UpdateFleet with the addition of
  4182  // the ability to pass a context and additional request options.
  4183  //
  4184  // See UpdateFleet for details on how to use this API operation.
  4185  //
  4186  // The context must be non-nil and will be used for request cancellation. If
  4187  // the context is nil a panic will occur. In the future the SDK may create
  4188  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4189  // for more information on using Contexts.
  4190  func (c *AppStream) UpdateFleetWithContext(ctx aws.Context, input *UpdateFleetInput, opts ...request.Option) (*UpdateFleetOutput, error) {
  4191  	req, out := c.UpdateFleetRequest(input)
  4192  	req.SetContext(ctx)
  4193  	req.ApplyOptions(opts...)
  4194  	return out, req.Send()
  4195  }
  4196  
  4197  const opUpdateImagePermissions = "UpdateImagePermissions"
  4198  
  4199  // UpdateImagePermissionsRequest generates a "aws/request.Request" representing the
  4200  // client's request for the UpdateImagePermissions operation. The "output" return
  4201  // value will be populated with the request's response once the request completes
  4202  // successfully.
  4203  //
  4204  // Use "Send" method on the returned Request to send the API call to the service.
  4205  // the "output" return value is not valid until after Send returns without error.
  4206  //
  4207  // See UpdateImagePermissions for more information on using the UpdateImagePermissions
  4208  // API call, and error handling.
  4209  //
  4210  // This method is useful when you want to inject custom logic or configuration
  4211  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4212  //
  4213  //
  4214  //    // Example sending a request using the UpdateImagePermissionsRequest method.
  4215  //    req, resp := client.UpdateImagePermissionsRequest(params)
  4216  //
  4217  //    err := req.Send()
  4218  //    if err == nil { // resp is now filled
  4219  //        fmt.Println(resp)
  4220  //    }
  4221  //
  4222  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateImagePermissions
  4223  func (c *AppStream) UpdateImagePermissionsRequest(input *UpdateImagePermissionsInput) (req *request.Request, output *UpdateImagePermissionsOutput) {
  4224  	op := &request.Operation{
  4225  		Name:       opUpdateImagePermissions,
  4226  		HTTPMethod: "POST",
  4227  		HTTPPath:   "/",
  4228  	}
  4229  
  4230  	if input == nil {
  4231  		input = &UpdateImagePermissionsInput{}
  4232  	}
  4233  
  4234  	output = &UpdateImagePermissionsOutput{}
  4235  	req = c.newRequest(op, input, output)
  4236  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4237  	return
  4238  }
  4239  
  4240  // UpdateImagePermissions API operation for Amazon AppStream.
  4241  //
  4242  // Adds or updates permissions for the specified private image.
  4243  //
  4244  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4245  // with awserr.Error's Code and Message methods to get detailed information about
  4246  // the error.
  4247  //
  4248  // See the AWS API reference guide for Amazon AppStream's
  4249  // API operation UpdateImagePermissions for usage and error information.
  4250  //
  4251  // Returned Error Types:
  4252  //   * ResourceNotFoundException
  4253  //   The specified resource was not found.
  4254  //
  4255  //   * ResourceNotAvailableException
  4256  //   The specified resource exists and is not in use, but isn't available.
  4257  //
  4258  //   * LimitExceededException
  4259  //   The requested limit exceeds the permitted limit for an account.
  4260  //
  4261  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateImagePermissions
  4262  func (c *AppStream) UpdateImagePermissions(input *UpdateImagePermissionsInput) (*UpdateImagePermissionsOutput, error) {
  4263  	req, out := c.UpdateImagePermissionsRequest(input)
  4264  	return out, req.Send()
  4265  }
  4266  
  4267  // UpdateImagePermissionsWithContext is the same as UpdateImagePermissions with the addition of
  4268  // the ability to pass a context and additional request options.
  4269  //
  4270  // See UpdateImagePermissions for details on how to use this API operation.
  4271  //
  4272  // The context must be non-nil and will be used for request cancellation. If
  4273  // the context is nil a panic will occur. In the future the SDK may create
  4274  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4275  // for more information on using Contexts.
  4276  func (c *AppStream) UpdateImagePermissionsWithContext(ctx aws.Context, input *UpdateImagePermissionsInput, opts ...request.Option) (*UpdateImagePermissionsOutput, error) {
  4277  	req, out := c.UpdateImagePermissionsRequest(input)
  4278  	req.SetContext(ctx)
  4279  	req.ApplyOptions(opts...)
  4280  	return out, req.Send()
  4281  }
  4282  
  4283  const opUpdateStack = "UpdateStack"
  4284  
  4285  // UpdateStackRequest generates a "aws/request.Request" representing the
  4286  // client's request for the UpdateStack operation. The "output" return
  4287  // value will be populated with the request's response once the request completes
  4288  // successfully.
  4289  //
  4290  // Use "Send" method on the returned Request to send the API call to the service.
  4291  // the "output" return value is not valid until after Send returns without error.
  4292  //
  4293  // See UpdateStack for more information on using the UpdateStack
  4294  // API call, and error handling.
  4295  //
  4296  // This method is useful when you want to inject custom logic or configuration
  4297  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4298  //
  4299  //
  4300  //    // Example sending a request using the UpdateStackRequest method.
  4301  //    req, resp := client.UpdateStackRequest(params)
  4302  //
  4303  //    err := req.Send()
  4304  //    if err == nil { // resp is now filled
  4305  //        fmt.Println(resp)
  4306  //    }
  4307  //
  4308  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateStack
  4309  func (c *AppStream) UpdateStackRequest(input *UpdateStackInput) (req *request.Request, output *UpdateStackOutput) {
  4310  	op := &request.Operation{
  4311  		Name:       opUpdateStack,
  4312  		HTTPMethod: "POST",
  4313  		HTTPPath:   "/",
  4314  	}
  4315  
  4316  	if input == nil {
  4317  		input = &UpdateStackInput{}
  4318  	}
  4319  
  4320  	output = &UpdateStackOutput{}
  4321  	req = c.newRequest(op, input, output)
  4322  	return
  4323  }
  4324  
  4325  // UpdateStack API operation for Amazon AppStream.
  4326  //
  4327  // Updates the specified fields for the specified stack.
  4328  //
  4329  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4330  // with awserr.Error's Code and Message methods to get detailed information about
  4331  // the error.
  4332  //
  4333  // See the AWS API reference guide for Amazon AppStream's
  4334  // API operation UpdateStack for usage and error information.
  4335  //
  4336  // Returned Error Types:
  4337  //   * ResourceNotFoundException
  4338  //   The specified resource was not found.
  4339  //
  4340  //   * ResourceInUseException
  4341  //   The specified resource is in use.
  4342  //
  4343  //   * InvalidRoleException
  4344  //   The specified role is invalid.
  4345  //
  4346  //   * InvalidParameterCombinationException
  4347  //   Indicates an incorrect combination of parameters, or a missing parameter.
  4348  //
  4349  //   * LimitExceededException
  4350  //   The requested limit exceeds the permitted limit for an account.
  4351  //
  4352  //   * InvalidAccountStatusException
  4353  //   The resource cannot be created because your AWS account is suspended. For
  4354  //   assistance, contact AWS Support.
  4355  //
  4356  //   * IncompatibleImageException
  4357  //   The image can't be updated because it's not compatible for updates.
  4358  //
  4359  //   * OperationNotPermittedException
  4360  //   The attempted operation is not permitted.
  4361  //
  4362  //   * ConcurrentModificationException
  4363  //   An API error occurred. Wait a few minutes and try again.
  4364  //
  4365  // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateStack
  4366  func (c *AppStream) UpdateStack(input *UpdateStackInput) (*UpdateStackOutput, error) {
  4367  	req, out := c.UpdateStackRequest(input)
  4368  	return out, req.Send()
  4369  }
  4370  
  4371  // UpdateStackWithContext is the same as UpdateStack with the addition of
  4372  // the ability to pass a context and additional request options.
  4373  //
  4374  // See UpdateStack for details on how to use this API operation.
  4375  //
  4376  // The context must be non-nil and will be used for request cancellation. If
  4377  // the context is nil a panic will occur. In the future the SDK may create
  4378  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4379  // for more information on using Contexts.
  4380  func (c *AppStream) UpdateStackWithContext(ctx aws.Context, input *UpdateStackInput, opts ...request.Option) (*UpdateStackOutput, error) {
  4381  	req, out := c.UpdateStackRequest(input)
  4382  	req.SetContext(ctx)
  4383  	req.ApplyOptions(opts...)
  4384  	return out, req.Send()
  4385  }
  4386  
  4387  // Describes an interface VPC endpoint (interface endpoint) that lets you create
  4388  // a private connection between the virtual private cloud (VPC) that you specify
  4389  // and AppStream 2.0. When you specify an interface endpoint for a stack, users
  4390  // of the stack can connect to AppStream 2.0 only through that endpoint. When
  4391  // you specify an interface endpoint for an image builder, administrators can
  4392  // connect to the image builder only through that endpoint.
  4393  type AccessEndpoint struct {
  4394  	_ struct{} `type:"structure"`
  4395  
  4396  	// The type of interface endpoint.
  4397  	//
  4398  	// EndpointType is a required field
  4399  	EndpointType *string `type:"string" required:"true" enum:"AccessEndpointType"`
  4400  
  4401  	// The identifier (ID) of the VPC in which the interface endpoint is used.
  4402  	VpceId *string `min:"1" type:"string"`
  4403  }
  4404  
  4405  // String returns the string representation.
  4406  //
  4407  // API parameter values that are decorated as "sensitive" in the API will not
  4408  // be included in the string output. The member name will be present, but the
  4409  // value will be replaced with "sensitive".
  4410  func (s AccessEndpoint) String() string {
  4411  	return awsutil.Prettify(s)
  4412  }
  4413  
  4414  // GoString returns the string representation.
  4415  //
  4416  // API parameter values that are decorated as "sensitive" in the API will not
  4417  // be included in the string output. The member name will be present, but the
  4418  // value will be replaced with "sensitive".
  4419  func (s AccessEndpoint) GoString() string {
  4420  	return s.String()
  4421  }
  4422  
  4423  // Validate inspects the fields of the type to determine if they are valid.
  4424  func (s *AccessEndpoint) Validate() error {
  4425  	invalidParams := request.ErrInvalidParams{Context: "AccessEndpoint"}
  4426  	if s.EndpointType == nil {
  4427  		invalidParams.Add(request.NewErrParamRequired("EndpointType"))
  4428  	}
  4429  	if s.VpceId != nil && len(*s.VpceId) < 1 {
  4430  		invalidParams.Add(request.NewErrParamMinLen("VpceId", 1))
  4431  	}
  4432  
  4433  	if invalidParams.Len() > 0 {
  4434  		return invalidParams
  4435  	}
  4436  	return nil
  4437  }
  4438  
  4439  // SetEndpointType sets the EndpointType field's value.
  4440  func (s *AccessEndpoint) SetEndpointType(v string) *AccessEndpoint {
  4441  	s.EndpointType = &v
  4442  	return s
  4443  }
  4444  
  4445  // SetVpceId sets the VpceId field's value.
  4446  func (s *AccessEndpoint) SetVpceId(v string) *AccessEndpoint {
  4447  	s.VpceId = &v
  4448  	return s
  4449  }
  4450  
  4451  // Describes an application in the application catalog.
  4452  type Application struct {
  4453  	_ struct{} `type:"structure"`
  4454  
  4455  	// The application name to display.
  4456  	DisplayName *string `min:"1" type:"string"`
  4457  
  4458  	// If there is a problem, the application can be disabled after image creation.
  4459  	Enabled *bool `type:"boolean"`
  4460  
  4461  	// The URL for the application icon. This URL might be time-limited.
  4462  	IconURL *string `min:"1" type:"string"`
  4463  
  4464  	// The arguments that are passed to the application at launch.
  4465  	LaunchParameters *string `min:"1" type:"string"`
  4466  
  4467  	// The path to the application executable in the instance.
  4468  	LaunchPath *string `min:"1" type:"string"`
  4469  
  4470  	// Additional attributes that describe the application.
  4471  	Metadata map[string]*string `type:"map"`
  4472  
  4473  	// The name of the application.
  4474  	Name *string `min:"1" type:"string"`
  4475  }
  4476  
  4477  // String returns the string representation.
  4478  //
  4479  // API parameter values that are decorated as "sensitive" in the API will not
  4480  // be included in the string output. The member name will be present, but the
  4481  // value will be replaced with "sensitive".
  4482  func (s Application) String() string {
  4483  	return awsutil.Prettify(s)
  4484  }
  4485  
  4486  // GoString returns the string representation.
  4487  //
  4488  // API parameter values that are decorated as "sensitive" in the API will not
  4489  // be included in the string output. The member name will be present, but the
  4490  // value will be replaced with "sensitive".
  4491  func (s Application) GoString() string {
  4492  	return s.String()
  4493  }
  4494  
  4495  // SetDisplayName sets the DisplayName field's value.
  4496  func (s *Application) SetDisplayName(v string) *Application {
  4497  	s.DisplayName = &v
  4498  	return s
  4499  }
  4500  
  4501  // SetEnabled sets the Enabled field's value.
  4502  func (s *Application) SetEnabled(v bool) *Application {
  4503  	s.Enabled = &v
  4504  	return s
  4505  }
  4506  
  4507  // SetIconURL sets the IconURL field's value.
  4508  func (s *Application) SetIconURL(v string) *Application {
  4509  	s.IconURL = &v
  4510  	return s
  4511  }
  4512  
  4513  // SetLaunchParameters sets the LaunchParameters field's value.
  4514  func (s *Application) SetLaunchParameters(v string) *Application {
  4515  	s.LaunchParameters = &v
  4516  	return s
  4517  }
  4518  
  4519  // SetLaunchPath sets the LaunchPath field's value.
  4520  func (s *Application) SetLaunchPath(v string) *Application {
  4521  	s.LaunchPath = &v
  4522  	return s
  4523  }
  4524  
  4525  // SetMetadata sets the Metadata field's value.
  4526  func (s *Application) SetMetadata(v map[string]*string) *Application {
  4527  	s.Metadata = v
  4528  	return s
  4529  }
  4530  
  4531  // SetName sets the Name field's value.
  4532  func (s *Application) SetName(v string) *Application {
  4533  	s.Name = &v
  4534  	return s
  4535  }
  4536  
  4537  // The persistent application settings for users of a stack.
  4538  type ApplicationSettings struct {
  4539  	_ struct{} `type:"structure"`
  4540  
  4541  	// Enables or disables persistent application settings for users during their
  4542  	// streaming sessions.
  4543  	//
  4544  	// Enabled is a required field
  4545  	Enabled *bool `type:"boolean" required:"true"`
  4546  
  4547  	// The path prefix for the S3 bucket where users’ persistent application settings
  4548  	// are stored. You can allow the same persistent application settings to be
  4549  	// used across multiple stacks by specifying the same settings group for each
  4550  	// stack.
  4551  	SettingsGroup *string `type:"string"`
  4552  }
  4553  
  4554  // String returns the string representation.
  4555  //
  4556  // API parameter values that are decorated as "sensitive" in the API will not
  4557  // be included in the string output. The member name will be present, but the
  4558  // value will be replaced with "sensitive".
  4559  func (s ApplicationSettings) String() string {
  4560  	return awsutil.Prettify(s)
  4561  }
  4562  
  4563  // GoString returns the string representation.
  4564  //
  4565  // API parameter values that are decorated as "sensitive" in the API will not
  4566  // be included in the string output. The member name will be present, but the
  4567  // value will be replaced with "sensitive".
  4568  func (s ApplicationSettings) GoString() string {
  4569  	return s.String()
  4570  }
  4571  
  4572  // Validate inspects the fields of the type to determine if they are valid.
  4573  func (s *ApplicationSettings) Validate() error {
  4574  	invalidParams := request.ErrInvalidParams{Context: "ApplicationSettings"}
  4575  	if s.Enabled == nil {
  4576  		invalidParams.Add(request.NewErrParamRequired("Enabled"))
  4577  	}
  4578  
  4579  	if invalidParams.Len() > 0 {
  4580  		return invalidParams
  4581  	}
  4582  	return nil
  4583  }
  4584  
  4585  // SetEnabled sets the Enabled field's value.
  4586  func (s *ApplicationSettings) SetEnabled(v bool) *ApplicationSettings {
  4587  	s.Enabled = &v
  4588  	return s
  4589  }
  4590  
  4591  // SetSettingsGroup sets the SettingsGroup field's value.
  4592  func (s *ApplicationSettings) SetSettingsGroup(v string) *ApplicationSettings {
  4593  	s.SettingsGroup = &v
  4594  	return s
  4595  }
  4596  
  4597  // Describes the persistent application settings for users of a stack.
  4598  type ApplicationSettingsResponse struct {
  4599  	_ struct{} `type:"structure"`
  4600  
  4601  	// Specifies whether persistent application settings are enabled for users during
  4602  	// their streaming sessions.
  4603  	Enabled *bool `type:"boolean"`
  4604  
  4605  	// The S3 bucket where users’ persistent application settings are stored.
  4606  	// When persistent application settings are enabled for the first time for an
  4607  	// account in an AWS Region, an S3 bucket is created. The bucket is unique to
  4608  	// the AWS account and the Region.
  4609  	S3BucketName *string `min:"1" type:"string"`
  4610  
  4611  	// The path prefix for the S3 bucket where users’ persistent application settings
  4612  	// are stored.
  4613  	SettingsGroup *string `type:"string"`
  4614  }
  4615  
  4616  // String returns the string representation.
  4617  //
  4618  // API parameter values that are decorated as "sensitive" in the API will not
  4619  // be included in the string output. The member name will be present, but the
  4620  // value will be replaced with "sensitive".
  4621  func (s ApplicationSettingsResponse) String() string {
  4622  	return awsutil.Prettify(s)
  4623  }
  4624  
  4625  // GoString returns the string representation.
  4626  //
  4627  // API parameter values that are decorated as "sensitive" in the API will not
  4628  // be included in the string output. The member name will be present, but the
  4629  // value will be replaced with "sensitive".
  4630  func (s ApplicationSettingsResponse) GoString() string {
  4631  	return s.String()
  4632  }
  4633  
  4634  // SetEnabled sets the Enabled field's value.
  4635  func (s *ApplicationSettingsResponse) SetEnabled(v bool) *ApplicationSettingsResponse {
  4636  	s.Enabled = &v
  4637  	return s
  4638  }
  4639  
  4640  // SetS3BucketName sets the S3BucketName field's value.
  4641  func (s *ApplicationSettingsResponse) SetS3BucketName(v string) *ApplicationSettingsResponse {
  4642  	s.S3BucketName = &v
  4643  	return s
  4644  }
  4645  
  4646  // SetSettingsGroup sets the SettingsGroup field's value.
  4647  func (s *ApplicationSettingsResponse) SetSettingsGroup(v string) *ApplicationSettingsResponse {
  4648  	s.SettingsGroup = &v
  4649  	return s
  4650  }
  4651  
  4652  type AssociateFleetInput struct {
  4653  	_ struct{} `type:"structure"`
  4654  
  4655  	// The name of the fleet.
  4656  	//
  4657  	// FleetName is a required field
  4658  	FleetName *string `min:"1" type:"string" required:"true"`
  4659  
  4660  	// The name of the stack.
  4661  	//
  4662  	// StackName is a required field
  4663  	StackName *string `min:"1" type:"string" required:"true"`
  4664  }
  4665  
  4666  // String returns the string representation.
  4667  //
  4668  // API parameter values that are decorated as "sensitive" in the API will not
  4669  // be included in the string output. The member name will be present, but the
  4670  // value will be replaced with "sensitive".
  4671  func (s AssociateFleetInput) String() string {
  4672  	return awsutil.Prettify(s)
  4673  }
  4674  
  4675  // GoString returns the string representation.
  4676  //
  4677  // API parameter values that are decorated as "sensitive" in the API will not
  4678  // be included in the string output. The member name will be present, but the
  4679  // value will be replaced with "sensitive".
  4680  func (s AssociateFleetInput) GoString() string {
  4681  	return s.String()
  4682  }
  4683  
  4684  // Validate inspects the fields of the type to determine if they are valid.
  4685  func (s *AssociateFleetInput) Validate() error {
  4686  	invalidParams := request.ErrInvalidParams{Context: "AssociateFleetInput"}
  4687  	if s.FleetName == nil {
  4688  		invalidParams.Add(request.NewErrParamRequired("FleetName"))
  4689  	}
  4690  	if s.FleetName != nil && len(*s.FleetName) < 1 {
  4691  		invalidParams.Add(request.NewErrParamMinLen("FleetName", 1))
  4692  	}
  4693  	if s.StackName == nil {
  4694  		invalidParams.Add(request.NewErrParamRequired("StackName"))
  4695  	}
  4696  	if s.StackName != nil && len(*s.StackName) < 1 {
  4697  		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  4698  	}
  4699  
  4700  	if invalidParams.Len() > 0 {
  4701  		return invalidParams
  4702  	}
  4703  	return nil
  4704  }
  4705  
  4706  // SetFleetName sets the FleetName field's value.
  4707  func (s *AssociateFleetInput) SetFleetName(v string) *AssociateFleetInput {
  4708  	s.FleetName = &v
  4709  	return s
  4710  }
  4711  
  4712  // SetStackName sets the StackName field's value.
  4713  func (s *AssociateFleetInput) SetStackName(v string) *AssociateFleetInput {
  4714  	s.StackName = &v
  4715  	return s
  4716  }
  4717  
  4718  type AssociateFleetOutput struct {
  4719  	_ struct{} `type:"structure"`
  4720  }
  4721  
  4722  // String returns the string representation.
  4723  //
  4724  // API parameter values that are decorated as "sensitive" in the API will not
  4725  // be included in the string output. The member name will be present, but the
  4726  // value will be replaced with "sensitive".
  4727  func (s AssociateFleetOutput) String() string {
  4728  	return awsutil.Prettify(s)
  4729  }
  4730  
  4731  // GoString returns the string representation.
  4732  //
  4733  // API parameter values that are decorated as "sensitive" in the API will not
  4734  // be included in the string output. The member name will be present, but the
  4735  // value will be replaced with "sensitive".
  4736  func (s AssociateFleetOutput) GoString() string {
  4737  	return s.String()
  4738  }
  4739  
  4740  type BatchAssociateUserStackInput struct {
  4741  	_ struct{} `type:"structure"`
  4742  
  4743  	// The list of UserStackAssociation objects.
  4744  	//
  4745  	// UserStackAssociations is a required field
  4746  	UserStackAssociations []*UserStackAssociation `min:"1" type:"list" required:"true"`
  4747  }
  4748  
  4749  // String returns the string representation.
  4750  //
  4751  // API parameter values that are decorated as "sensitive" in the API will not
  4752  // be included in the string output. The member name will be present, but the
  4753  // value will be replaced with "sensitive".
  4754  func (s BatchAssociateUserStackInput) String() string {
  4755  	return awsutil.Prettify(s)
  4756  }
  4757  
  4758  // GoString returns the string representation.
  4759  //
  4760  // API parameter values that are decorated as "sensitive" in the API will not
  4761  // be included in the string output. The member name will be present, but the
  4762  // value will be replaced with "sensitive".
  4763  func (s BatchAssociateUserStackInput) GoString() string {
  4764  	return s.String()
  4765  }
  4766  
  4767  // Validate inspects the fields of the type to determine if they are valid.
  4768  func (s *BatchAssociateUserStackInput) Validate() error {
  4769  	invalidParams := request.ErrInvalidParams{Context: "BatchAssociateUserStackInput"}
  4770  	if s.UserStackAssociations == nil {
  4771  		invalidParams.Add(request.NewErrParamRequired("UserStackAssociations"))
  4772  	}
  4773  	if s.UserStackAssociations != nil && len(s.UserStackAssociations) < 1 {
  4774  		invalidParams.Add(request.NewErrParamMinLen("UserStackAssociations", 1))
  4775  	}
  4776  	if s.UserStackAssociations != nil {
  4777  		for i, v := range s.UserStackAssociations {
  4778  			if v == nil {
  4779  				continue
  4780  			}
  4781  			if err := v.Validate(); err != nil {
  4782  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserStackAssociations", i), err.(request.ErrInvalidParams))
  4783  			}
  4784  		}
  4785  	}
  4786  
  4787  	if invalidParams.Len() > 0 {
  4788  		return invalidParams
  4789  	}
  4790  	return nil
  4791  }
  4792  
  4793  // SetUserStackAssociations sets the UserStackAssociations field's value.
  4794  func (s *BatchAssociateUserStackInput) SetUserStackAssociations(v []*UserStackAssociation) *BatchAssociateUserStackInput {
  4795  	s.UserStackAssociations = v
  4796  	return s
  4797  }
  4798  
  4799  type BatchAssociateUserStackOutput struct {
  4800  	_ struct{} `type:"structure"`
  4801  
  4802  	// The list of UserStackAssociationError objects.
  4803  	Errors []*UserStackAssociationError `locationName:"errors" type:"list"`
  4804  }
  4805  
  4806  // String returns the string representation.
  4807  //
  4808  // API parameter values that are decorated as "sensitive" in the API will not
  4809  // be included in the string output. The member name will be present, but the
  4810  // value will be replaced with "sensitive".
  4811  func (s BatchAssociateUserStackOutput) String() string {
  4812  	return awsutil.Prettify(s)
  4813  }
  4814  
  4815  // GoString returns the string representation.
  4816  //
  4817  // API parameter values that are decorated as "sensitive" in the API will not
  4818  // be included in the string output. The member name will be present, but the
  4819  // value will be replaced with "sensitive".
  4820  func (s BatchAssociateUserStackOutput) GoString() string {
  4821  	return s.String()
  4822  }
  4823  
  4824  // SetErrors sets the Errors field's value.
  4825  func (s *BatchAssociateUserStackOutput) SetErrors(v []*UserStackAssociationError) *BatchAssociateUserStackOutput {
  4826  	s.Errors = v
  4827  	return s
  4828  }
  4829  
  4830  type BatchDisassociateUserStackInput struct {
  4831  	_ struct{} `type:"structure"`
  4832  
  4833  	// The list of UserStackAssociation objects.
  4834  	//
  4835  	// UserStackAssociations is a required field
  4836  	UserStackAssociations []*UserStackAssociation `min:"1" type:"list" required:"true"`
  4837  }
  4838  
  4839  // String returns the string representation.
  4840  //
  4841  // API parameter values that are decorated as "sensitive" in the API will not
  4842  // be included in the string output. The member name will be present, but the
  4843  // value will be replaced with "sensitive".
  4844  func (s BatchDisassociateUserStackInput) String() string {
  4845  	return awsutil.Prettify(s)
  4846  }
  4847  
  4848  // GoString returns the string representation.
  4849  //
  4850  // API parameter values that are decorated as "sensitive" in the API will not
  4851  // be included in the string output. The member name will be present, but the
  4852  // value will be replaced with "sensitive".
  4853  func (s BatchDisassociateUserStackInput) GoString() string {
  4854  	return s.String()
  4855  }
  4856  
  4857  // Validate inspects the fields of the type to determine if they are valid.
  4858  func (s *BatchDisassociateUserStackInput) Validate() error {
  4859  	invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateUserStackInput"}
  4860  	if s.UserStackAssociations == nil {
  4861  		invalidParams.Add(request.NewErrParamRequired("UserStackAssociations"))
  4862  	}
  4863  	if s.UserStackAssociations != nil && len(s.UserStackAssociations) < 1 {
  4864  		invalidParams.Add(request.NewErrParamMinLen("UserStackAssociations", 1))
  4865  	}
  4866  	if s.UserStackAssociations != nil {
  4867  		for i, v := range s.UserStackAssociations {
  4868  			if v == nil {
  4869  				continue
  4870  			}
  4871  			if err := v.Validate(); err != nil {
  4872  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserStackAssociations", i), err.(request.ErrInvalidParams))
  4873  			}
  4874  		}
  4875  	}
  4876  
  4877  	if invalidParams.Len() > 0 {
  4878  		return invalidParams
  4879  	}
  4880  	return nil
  4881  }
  4882  
  4883  // SetUserStackAssociations sets the UserStackAssociations field's value.
  4884  func (s *BatchDisassociateUserStackInput) SetUserStackAssociations(v []*UserStackAssociation) *BatchDisassociateUserStackInput {
  4885  	s.UserStackAssociations = v
  4886  	return s
  4887  }
  4888  
  4889  type BatchDisassociateUserStackOutput struct {
  4890  	_ struct{} `type:"structure"`
  4891  
  4892  	// The list of UserStackAssociationError objects.
  4893  	Errors []*UserStackAssociationError `locationName:"errors" type:"list"`
  4894  }
  4895  
  4896  // String returns the string representation.
  4897  //
  4898  // API parameter values that are decorated as "sensitive" in the API will not
  4899  // be included in the string output. The member name will be present, but the
  4900  // value will be replaced with "sensitive".
  4901  func (s BatchDisassociateUserStackOutput) String() string {
  4902  	return awsutil.Prettify(s)
  4903  }
  4904  
  4905  // GoString returns the string representation.
  4906  //
  4907  // API parameter values that are decorated as "sensitive" in the API will not
  4908  // be included in the string output. The member name will be present, but the
  4909  // value will be replaced with "sensitive".
  4910  func (s BatchDisassociateUserStackOutput) GoString() string {
  4911  	return s.String()
  4912  }
  4913  
  4914  // SetErrors sets the Errors field's value.
  4915  func (s *BatchDisassociateUserStackOutput) SetErrors(v []*UserStackAssociationError) *BatchDisassociateUserStackOutput {
  4916  	s.Errors = v
  4917  	return s
  4918  }
  4919  
  4920  // Describes the capacity for a fleet.
  4921  type ComputeCapacity struct {
  4922  	_ struct{} `type:"structure"`
  4923  
  4924  	// The desired number of streaming instances.
  4925  	//
  4926  	// DesiredInstances is a required field
  4927  	DesiredInstances *int64 `type:"integer" required:"true"`
  4928  }
  4929  
  4930  // String returns the string representation.
  4931  //
  4932  // API parameter values that are decorated as "sensitive" in the API will not
  4933  // be included in the string output. The member name will be present, but the
  4934  // value will be replaced with "sensitive".
  4935  func (s ComputeCapacity) String() string {
  4936  	return awsutil.Prettify(s)
  4937  }
  4938  
  4939  // GoString returns the string representation.
  4940  //
  4941  // API parameter values that are decorated as "sensitive" in the API will not
  4942  // be included in the string output. The member name will be present, but the
  4943  // value will be replaced with "sensitive".
  4944  func (s ComputeCapacity) GoString() string {
  4945  	return s.String()
  4946  }
  4947  
  4948  // Validate inspects the fields of the type to determine if they are valid.
  4949  func (s *ComputeCapacity) Validate() error {
  4950  	invalidParams := request.ErrInvalidParams{Context: "ComputeCapacity"}
  4951  	if s.DesiredInstances == nil {
  4952  		invalidParams.Add(request.NewErrParamRequired("DesiredInstances"))
  4953  	}
  4954  
  4955  	if invalidParams.Len() > 0 {
  4956  		return invalidParams
  4957  	}
  4958  	return nil
  4959  }
  4960  
  4961  // SetDesiredInstances sets the DesiredInstances field's value.
  4962  func (s *ComputeCapacity) SetDesiredInstances(v int64) *ComputeCapacity {
  4963  	s.DesiredInstances = &v
  4964  	return s
  4965  }
  4966  
  4967  // Describes the capacity status for a fleet.
  4968  type ComputeCapacityStatus struct {
  4969  	_ struct{} `type:"structure"`
  4970  
  4971  	// The number of currently available instances that can be used to stream sessions.
  4972  	Available *int64 `type:"integer"`
  4973  
  4974  	// The desired number of streaming instances.
  4975  	//
  4976  	// Desired is a required field
  4977  	Desired *int64 `type:"integer" required:"true"`
  4978  
  4979  	// The number of instances in use for streaming.
  4980  	InUse *int64 `type:"integer"`
  4981  
  4982  	// The total number of simultaneous streaming instances that are running.
  4983  	Running *int64 `type:"integer"`
  4984  }
  4985  
  4986  // String returns the string representation.
  4987  //
  4988  // API parameter values that are decorated as "sensitive" in the API will not
  4989  // be included in the string output. The member name will be present, but the
  4990  // value will be replaced with "sensitive".
  4991  func (s ComputeCapacityStatus) String() string {
  4992  	return awsutil.Prettify(s)
  4993  }
  4994  
  4995  // GoString returns the string representation.
  4996  //
  4997  // API parameter values that are decorated as "sensitive" in the API will not
  4998  // be included in the string output. The member name will be present, but the
  4999  // value will be replaced with "sensitive".
  5000  func (s ComputeCapacityStatus) GoString() string {
  5001  	return s.String()
  5002  }
  5003  
  5004  // SetAvailable sets the Available field's value.
  5005  func (s *ComputeCapacityStatus) SetAvailable(v int64) *ComputeCapacityStatus {
  5006  	s.Available = &v
  5007  	return s
  5008  }
  5009  
  5010  // SetDesired sets the Desired field's value.
  5011  func (s *ComputeCapacityStatus) SetDesired(v int64) *ComputeCapacityStatus {
  5012  	s.Desired = &v
  5013  	return s
  5014  }
  5015  
  5016  // SetInUse sets the InUse field's value.
  5017  func (s *ComputeCapacityStatus) SetInUse(v int64) *ComputeCapacityStatus {
  5018  	s.InUse = &v
  5019  	return s
  5020  }
  5021  
  5022  // SetRunning sets the Running field's value.
  5023  func (s *ComputeCapacityStatus) SetRunning(v int64) *ComputeCapacityStatus {
  5024  	s.Running = &v
  5025  	return s
  5026  }
  5027  
  5028  // An API error occurred. Wait a few minutes and try again.
  5029  type ConcurrentModificationException struct {
  5030  	_            struct{}                  `type:"structure"`
  5031  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5032  
  5033  	// The error message in the exception.
  5034  	Message_ *string `locationName:"Message" type:"string"`
  5035  }
  5036  
  5037  // String returns the string representation.
  5038  //
  5039  // API parameter values that are decorated as "sensitive" in the API will not
  5040  // be included in the string output. The member name will be present, but the
  5041  // value will be replaced with "sensitive".
  5042  func (s ConcurrentModificationException) String() string {
  5043  	return awsutil.Prettify(s)
  5044  }
  5045  
  5046  // GoString returns the string representation.
  5047  //
  5048  // API parameter values that are decorated as "sensitive" in the API will not
  5049  // be included in the string output. The member name will be present, but the
  5050  // value will be replaced with "sensitive".
  5051  func (s ConcurrentModificationException) GoString() string {
  5052  	return s.String()
  5053  }
  5054  
  5055  func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
  5056  	return &ConcurrentModificationException{
  5057  		RespMetadata: v,
  5058  	}
  5059  }
  5060  
  5061  // Code returns the exception type name.
  5062  func (s *ConcurrentModificationException) Code() string {
  5063  	return "ConcurrentModificationException"
  5064  }
  5065  
  5066  // Message returns the exception's message.
  5067  func (s *ConcurrentModificationException) Message() string {
  5068  	if s.Message_ != nil {
  5069  		return *s.Message_
  5070  	}
  5071  	return ""
  5072  }
  5073  
  5074  // OrigErr always returns nil, satisfies awserr.Error interface.
  5075  func (s *ConcurrentModificationException) OrigErr() error {
  5076  	return nil
  5077  }
  5078  
  5079  func (s *ConcurrentModificationException) Error() string {
  5080  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5081  }
  5082  
  5083  // Status code returns the HTTP status code for the request's response error.
  5084  func (s *ConcurrentModificationException) StatusCode() int {
  5085  	return s.RespMetadata.StatusCode
  5086  }
  5087  
  5088  // RequestID returns the service's response RequestID for request.
  5089  func (s *ConcurrentModificationException) RequestID() string {
  5090  	return s.RespMetadata.RequestID
  5091  }
  5092  
  5093  type CopyImageInput struct {
  5094  	_ struct{} `type:"structure"`
  5095  
  5096  	// The description that the image will have when it is copied to the destination.
  5097  	DestinationImageDescription *string `type:"string"`
  5098  
  5099  	// The name that the image will have when it is copied to the destination.
  5100  	//
  5101  	// DestinationImageName is a required field
  5102  	DestinationImageName *string `type:"string" required:"true"`
  5103  
  5104  	// The destination region to which the image will be copied. This parameter
  5105  	// is required, even if you are copying an image within the same region.
  5106  	//
  5107  	// DestinationRegion is a required field
  5108  	DestinationRegion *string `min:"1" type:"string" required:"true"`
  5109  
  5110  	// The name of the image to copy.
  5111  	//
  5112  	// SourceImageName is a required field
  5113  	SourceImageName *string `type:"string" required:"true"`
  5114  }
  5115  
  5116  // String returns the string representation.
  5117  //
  5118  // API parameter values that are decorated as "sensitive" in the API will not
  5119  // be included in the string output. The member name will be present, but the
  5120  // value will be replaced with "sensitive".
  5121  func (s CopyImageInput) String() string {
  5122  	return awsutil.Prettify(s)
  5123  }
  5124  
  5125  // GoString returns the string representation.
  5126  //
  5127  // API parameter values that are decorated as "sensitive" in the API will not
  5128  // be included in the string output. The member name will be present, but the
  5129  // value will be replaced with "sensitive".
  5130  func (s CopyImageInput) GoString() string {
  5131  	return s.String()
  5132  }
  5133  
  5134  // Validate inspects the fields of the type to determine if they are valid.
  5135  func (s *CopyImageInput) Validate() error {
  5136  	invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
  5137  	if s.DestinationImageName == nil {
  5138  		invalidParams.Add(request.NewErrParamRequired("DestinationImageName"))
  5139  	}
  5140  	if s.DestinationRegion == nil {
  5141  		invalidParams.Add(request.NewErrParamRequired("DestinationRegion"))
  5142  	}
  5143  	if s.DestinationRegion != nil && len(*s.DestinationRegion) < 1 {
  5144  		invalidParams.Add(request.NewErrParamMinLen("DestinationRegion", 1))
  5145  	}
  5146  	if s.SourceImageName == nil {
  5147  		invalidParams.Add(request.NewErrParamRequired("SourceImageName"))
  5148  	}
  5149  
  5150  	if invalidParams.Len() > 0 {
  5151  		return invalidParams
  5152  	}
  5153  	return nil
  5154  }
  5155  
  5156  // SetDestinationImageDescription sets the DestinationImageDescription field's value.
  5157  func (s *CopyImageInput) SetDestinationImageDescription(v string) *CopyImageInput {
  5158  	s.DestinationImageDescription = &v
  5159  	return s
  5160  }
  5161  
  5162  // SetDestinationImageName sets the DestinationImageName field's value.
  5163  func (s *CopyImageInput) SetDestinationImageName(v string) *CopyImageInput {
  5164  	s.DestinationImageName = &v
  5165  	return s
  5166  }
  5167  
  5168  // SetDestinationRegion sets the DestinationRegion field's value.
  5169  func (s *CopyImageInput) SetDestinationRegion(v string) *CopyImageInput {
  5170  	s.DestinationRegion = &v
  5171  	return s
  5172  }
  5173  
  5174  // SetSourceImageName sets the SourceImageName field's value.
  5175  func (s *CopyImageInput) SetSourceImageName(v string) *CopyImageInput {
  5176  	s.SourceImageName = &v
  5177  	return s
  5178  }
  5179  
  5180  type CopyImageOutput struct {
  5181  	_ struct{} `type:"structure"`
  5182  
  5183  	// The name of the destination image.
  5184  	DestinationImageName *string `type:"string"`
  5185  }
  5186  
  5187  // String returns the string representation.
  5188  //
  5189  // API parameter values that are decorated as "sensitive" in the API will not
  5190  // be included in the string output. The member name will be present, but the
  5191  // value will be replaced with "sensitive".
  5192  func (s CopyImageOutput) String() string {
  5193  	return awsutil.Prettify(s)
  5194  }
  5195  
  5196  // GoString returns the string representation.
  5197  //
  5198  // API parameter values that are decorated as "sensitive" in the API will not
  5199  // be included in the string output. The member name will be present, but the
  5200  // value will be replaced with "sensitive".
  5201  func (s CopyImageOutput) GoString() string {
  5202  	return s.String()
  5203  }
  5204  
  5205  // SetDestinationImageName sets the DestinationImageName field's value.
  5206  func (s *CopyImageOutput) SetDestinationImageName(v string) *CopyImageOutput {
  5207  	s.DestinationImageName = &v
  5208  	return s
  5209  }
  5210  
  5211  type CreateDirectoryConfigInput struct {
  5212  	_ struct{} `type:"structure"`
  5213  
  5214  	// The fully qualified name of the directory (for example, corp.example.com).
  5215  	//
  5216  	// DirectoryName is a required field
  5217  	DirectoryName *string `type:"string" required:"true"`
  5218  
  5219  	// The distinguished names of the organizational units for computer accounts.
  5220  	//
  5221  	// OrganizationalUnitDistinguishedNames is a required field
  5222  	OrganizationalUnitDistinguishedNames []*string `type:"list" required:"true"`
  5223  
  5224  	// The credentials for the service account used by the fleet or image builder
  5225  	// to connect to the directory.
  5226  	ServiceAccountCredentials *ServiceAccountCredentials `type:"structure"`
  5227  }
  5228  
  5229  // String returns the string representation.
  5230  //
  5231  // API parameter values that are decorated as "sensitive" in the API will not
  5232  // be included in the string output. The member name will be present, but the
  5233  // value will be replaced with "sensitive".
  5234  func (s CreateDirectoryConfigInput) String() string {
  5235  	return awsutil.Prettify(s)
  5236  }
  5237  
  5238  // GoString returns the string representation.
  5239  //
  5240  // API parameter values that are decorated as "sensitive" in the API will not
  5241  // be included in the string output. The member name will be present, but the
  5242  // value will be replaced with "sensitive".
  5243  func (s CreateDirectoryConfigInput) GoString() string {
  5244  	return s.String()
  5245  }
  5246  
  5247  // Validate inspects the fields of the type to determine if they are valid.
  5248  func (s *CreateDirectoryConfigInput) Validate() error {
  5249  	invalidParams := request.ErrInvalidParams{Context: "CreateDirectoryConfigInput"}
  5250  	if s.DirectoryName == nil {
  5251  		invalidParams.Add(request.NewErrParamRequired("DirectoryName"))
  5252  	}
  5253  	if s.OrganizationalUnitDistinguishedNames == nil {
  5254  		invalidParams.Add(request.NewErrParamRequired("OrganizationalUnitDistinguishedNames"))
  5255  	}
  5256  	if s.ServiceAccountCredentials != nil {
  5257  		if err := s.ServiceAccountCredentials.Validate(); err != nil {
  5258  			invalidParams.AddNested("ServiceAccountCredentials", err.(request.ErrInvalidParams))
  5259  		}
  5260  	}
  5261  
  5262  	if invalidParams.Len() > 0 {
  5263  		return invalidParams
  5264  	}
  5265  	return nil
  5266  }
  5267  
  5268  // SetDirectoryName sets the DirectoryName field's value.
  5269  func (s *CreateDirectoryConfigInput) SetDirectoryName(v string) *CreateDirectoryConfigInput {
  5270  	s.DirectoryName = &v
  5271  	return s
  5272  }
  5273  
  5274  // SetOrganizationalUnitDistinguishedNames sets the OrganizationalUnitDistinguishedNames field's value.
  5275  func (s *CreateDirectoryConfigInput) SetOrganizationalUnitDistinguishedNames(v []*string) *CreateDirectoryConfigInput {
  5276  	s.OrganizationalUnitDistinguishedNames = v
  5277  	return s
  5278  }
  5279  
  5280  // SetServiceAccountCredentials sets the ServiceAccountCredentials field's value.
  5281  func (s *CreateDirectoryConfigInput) SetServiceAccountCredentials(v *ServiceAccountCredentials) *CreateDirectoryConfigInput {
  5282  	s.ServiceAccountCredentials = v
  5283  	return s
  5284  }
  5285  
  5286  type CreateDirectoryConfigOutput struct {
  5287  	_ struct{} `type:"structure"`
  5288  
  5289  	// Information about the directory configuration.
  5290  	DirectoryConfig *DirectoryConfig `type:"structure"`
  5291  }
  5292  
  5293  // String returns the string representation.
  5294  //
  5295  // API parameter values that are decorated as "sensitive" in the API will not
  5296  // be included in the string output. The member name will be present, but the
  5297  // value will be replaced with "sensitive".
  5298  func (s CreateDirectoryConfigOutput) String() string {
  5299  	return awsutil.Prettify(s)
  5300  }
  5301  
  5302  // GoString returns the string representation.
  5303  //
  5304  // API parameter values that are decorated as "sensitive" in the API will not
  5305  // be included in the string output. The member name will be present, but the
  5306  // value will be replaced with "sensitive".
  5307  func (s CreateDirectoryConfigOutput) GoString() string {
  5308  	return s.String()
  5309  }
  5310  
  5311  // SetDirectoryConfig sets the DirectoryConfig field's value.
  5312  func (s *CreateDirectoryConfigOutput) SetDirectoryConfig(v *DirectoryConfig) *CreateDirectoryConfigOutput {
  5313  	s.DirectoryConfig = v
  5314  	return s
  5315  }
  5316  
  5317  type CreateFleetInput struct {
  5318  	_ struct{} `type:"structure"`
  5319  
  5320  	// The desired capacity for the fleet.
  5321  	//
  5322  	// ComputeCapacity is a required field
  5323  	ComputeCapacity *ComputeCapacity `type:"structure" required:"true"`
  5324  
  5325  	// The description to display.
  5326  	Description *string `type:"string"`
  5327  
  5328  	// The amount of time that a streaming session remains active after users disconnect.
  5329  	// If users try to reconnect to the streaming session after a disconnection
  5330  	// or network interruption within this time interval, they are connected to
  5331  	// their previous session. Otherwise, they are connected to a new session with
  5332  	// a new streaming instance.
  5333  	//
  5334  	// Specify a value between 60 and 360000.
  5335  	DisconnectTimeoutInSeconds *int64 `type:"integer"`
  5336  
  5337  	// The fleet name to display.
  5338  	DisplayName *string `type:"string"`
  5339  
  5340  	// The name of the directory and organizational unit (OU) to use to join the
  5341  	// fleet to a Microsoft Active Directory domain.
  5342  	DomainJoinInfo *DomainJoinInfo `type:"structure"`
  5343  
  5344  	// Enables or disables default internet access for the fleet.
  5345  	EnableDefaultInternetAccess *bool `type:"boolean"`
  5346  
  5347  	// The fleet type.
  5348  	//
  5349  	// ALWAYS_ON
  5350  	//
  5351  	// Provides users with instant-on access to their apps. You are charged for
  5352  	// all running instances in your fleet, even if no users are streaming apps.
  5353  	//
  5354  	// ON_DEMAND
  5355  	//
  5356  	// Provide users with access to applications after they connect, which takes
  5357  	// one to two minutes. You are charged for instance streaming when users are
  5358  	// connected and a small hourly fee for instances that are not streaming apps.
  5359  	FleetType *string `type:"string" enum:"FleetType"`
  5360  
  5361  	// The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To
  5362  	// assume a role, a fleet instance calls the AWS Security Token Service (STS)
  5363  	// AssumeRole API operation and passes the ARN of the role to use. The operation
  5364  	// creates a new session with temporary credentials. AppStream 2.0 retrieves
  5365  	// the temporary credentials and creates the appstream_machine_role credential
  5366  	// profile on the instance.
  5367  	//
  5368  	// For more information, see Using an IAM Role to Grant Permissions to Applications
  5369  	// and Scripts Running on AppStream 2.0 Streaming Instances (https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html)
  5370  	// in the Amazon AppStream 2.0 Administration Guide.
  5371  	IamRoleArn *string `type:"string"`
  5372  
  5373  	// The amount of time that users can be idle (inactive) before they are disconnected
  5374  	// from their streaming session and the DisconnectTimeoutInSeconds time interval
  5375  	// begins. Users are notified before they are disconnected due to inactivity.
  5376  	// If they try to reconnect to the streaming session before the time interval
  5377  	// specified in DisconnectTimeoutInSeconds elapses, they are connected to their
  5378  	// previous session. Users are considered idle when they stop providing keyboard
  5379  	// or mouse input during their streaming session. File uploads and downloads,
  5380  	// audio in, audio out, and pixels changing do not qualify as user activity.
  5381  	// If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds
  5382  	// elapses, they are disconnected.
  5383  	//
  5384  	// To prevent users from being disconnected due to inactivity, specify a value
  5385  	// of 0. Otherwise, specify a value between 60 and 3600. The default value is
  5386  	// 0.
  5387  	//
  5388  	// If you enable this feature, we recommend that you specify a value that corresponds
  5389  	// exactly to a whole number of minutes (for example, 60, 120, and 180). If
  5390  	// you don't do this, the value is rounded to the nearest minute. For example,
  5391  	// if you specify a value of 70, users are disconnected after 1 minute of inactivity.
  5392  	// If you specify a value that is at the midpoint between two different minutes,
  5393  	// the value is rounded up. For example, if you specify a value of 90, users
  5394  	// are disconnected after 2 minutes of inactivity.
  5395  	IdleDisconnectTimeoutInSeconds *int64 `type:"integer"`
  5396  
  5397  	// The ARN of the public, private, or shared image to use.
  5398  	ImageArn *string `type:"string"`
  5399  
  5400  	// The name of the image used to create the fleet.
  5401  	ImageName *string `min:"1" type:"string"`
  5402  
  5403  	// The instance type to use when launching fleet instances. The following instance
  5404  	// types are available:
  5405  	//
  5406  	//    * stream.standard.small
  5407  	//
  5408  	//    * stream.standard.medium
  5409  	//
  5410  	//    * stream.standard.large
  5411  	//
  5412  	//    * stream.compute.large
  5413  	//
  5414  	//    * stream.compute.xlarge
  5415  	//
  5416  	//    * stream.compute.2xlarge
  5417  	//
  5418  	//    * stream.compute.4xlarge
  5419  	//
  5420  	//    * stream.compute.8xlarge
  5421  	//
  5422  	//    * stream.memory.large
  5423  	//
  5424  	//    * stream.memory.xlarge
  5425  	//
  5426  	//    * stream.memory.2xlarge
  5427  	//
  5428  	//    * stream.memory.4xlarge
  5429  	//
  5430  	//    * stream.memory.8xlarge
  5431  	//
  5432  	//    * stream.memory.z1d.large
  5433  	//
  5434  	//    * stream.memory.z1d.xlarge
  5435  	//
  5436  	//    * stream.memory.z1d.2xlarge
  5437  	//
  5438  	//    * stream.memory.z1d.3xlarge
  5439  	//
  5440  	//    * stream.memory.z1d.6xlarge
  5441  	//
  5442  	//    * stream.memory.z1d.12xlarge
  5443  	//
  5444  	//    * stream.graphics-design.large
  5445  	//
  5446  	//    * stream.graphics-design.xlarge
  5447  	//
  5448  	//    * stream.graphics-design.2xlarge
  5449  	//
  5450  	//    * stream.graphics-design.4xlarge
  5451  	//
  5452  	//    * stream.graphics-desktop.2xlarge
  5453  	//
  5454  	//    * stream.graphics.g4dn.xlarge
  5455  	//
  5456  	//    * stream.graphics.g4dn.2xlarge
  5457  	//
  5458  	//    * stream.graphics.g4dn.4xlarge
  5459  	//
  5460  	//    * stream.graphics.g4dn.8xlarge
  5461  	//
  5462  	//    * stream.graphics.g4dn.12xlarge
  5463  	//
  5464  	//    * stream.graphics.g4dn.16xlarge
  5465  	//
  5466  	//    * stream.graphics-pro.4xlarge
  5467  	//
  5468  	//    * stream.graphics-pro.8xlarge
  5469  	//
  5470  	//    * stream.graphics-pro.16xlarge
  5471  	//
  5472  	// InstanceType is a required field
  5473  	InstanceType *string `min:"1" type:"string" required:"true"`
  5474  
  5475  	// The maximum amount of time that a streaming session can remain active, in
  5476  	// seconds. If users are still connected to a streaming instance five minutes
  5477  	// before this limit is reached, they are prompted to save any open documents
  5478  	// before being disconnected. After this time elapses, the instance is terminated
  5479  	// and replaced by a new instance.
  5480  	//
  5481  	// Specify a value between 600 and 360000.
  5482  	MaxUserDurationInSeconds *int64 `type:"integer"`
  5483  
  5484  	// A unique name for the fleet.
  5485  	//
  5486  	// Name is a required field
  5487  	Name *string `type:"string" required:"true"`
  5488  
  5489  	// The AppStream 2.0 view that is displayed to your users when they stream from
  5490  	// the fleet. When APP is specified, only the windows of applications opened
  5491  	// by users display. When DESKTOP is specified, the standard desktop that is
  5492  	// provided by the operating system displays.
  5493  	//
  5494  	// The default value is APP.
  5495  	StreamView *string `type:"string" enum:"StreamView"`
  5496  
  5497  	// The tags to associate with the fleet. A tag is a key-value pair, and the
  5498  	// value is optional. For example, Environment=Test. If you do not specify a
  5499  	// value, Environment=.
  5500  	//
  5501  	// If you do not specify a value, the value is set to an empty string.
  5502  	//
  5503  	// Generally allowed characters are: letters, numbers, and spaces representable
  5504  	// in UTF-8, and the following special characters:
  5505  	//
  5506  	// _ . : / = + \ - @
  5507  	//
  5508  	// For more information, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
  5509  	// in the Amazon AppStream 2.0 Administration Guide.
  5510  	Tags map[string]*string `min:"1" type:"map"`
  5511  
  5512  	// The VPC configuration for the fleet.
  5513  	VpcConfig *VpcConfig `type:"structure"`
  5514  }
  5515  
  5516  // String returns the string representation.
  5517  //
  5518  // API parameter values that are decorated as "sensitive" in the API will not
  5519  // be included in the string output. The member name will be present, but the
  5520  // value will be replaced with "sensitive".
  5521  func (s CreateFleetInput) String() string {
  5522  	return awsutil.Prettify(s)
  5523  }
  5524  
  5525  // GoString returns the string representation.
  5526  //
  5527  // API parameter values that are decorated as "sensitive" in the API will not
  5528  // be included in the string output. The member name will be present, but the
  5529  // value will be replaced with "sensitive".
  5530  func (s CreateFleetInput) GoString() string {
  5531  	return s.String()
  5532  }
  5533  
  5534  // Validate inspects the fields of the type to determine if they are valid.
  5535  func (s *CreateFleetInput) Validate() error {
  5536  	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
  5537  	if s.ComputeCapacity == nil {
  5538  		invalidParams.Add(request.NewErrParamRequired("ComputeCapacity"))
  5539  	}
  5540  	if s.ImageName != nil && len(*s.ImageName) < 1 {
  5541  		invalidParams.Add(request.NewErrParamMinLen("ImageName", 1))
  5542  	}
  5543  	if s.InstanceType == nil {
  5544  		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  5545  	}
  5546  	if s.InstanceType != nil && len(*s.InstanceType) < 1 {
  5547  		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1))
  5548  	}
  5549  	if s.Name == nil {
  5550  		invalidParams.Add(request.NewErrParamRequired("Name"))
  5551  	}
  5552  	if s.Tags != nil && len(s.Tags) < 1 {
  5553  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  5554  	}
  5555  	if s.ComputeCapacity != nil {
  5556  		if err := s.ComputeCapacity.Validate(); err != nil {
  5557  			invalidParams.AddNested("ComputeCapacity", err.(request.ErrInvalidParams))
  5558  		}
  5559  	}
  5560  
  5561  	if invalidParams.Len() > 0 {
  5562  		return invalidParams
  5563  	}
  5564  	return nil
  5565  }
  5566  
  5567  // SetComputeCapacity sets the ComputeCapacity field's value.
  5568  func (s *CreateFleetInput) SetComputeCapacity(v *ComputeCapacity) *CreateFleetInput {
  5569  	s.ComputeCapacity = v
  5570  	return s
  5571  }
  5572  
  5573  // SetDescription sets the Description field's value.
  5574  func (s *CreateFleetInput) SetDescription(v string) *CreateFleetInput {
  5575  	s.Description = &v
  5576  	return s
  5577  }
  5578  
  5579  // SetDisconnectTimeoutInSeconds sets the DisconnectTimeoutInSeconds field's value.
  5580  func (s *CreateFleetInput) SetDisconnectTimeoutInSeconds(v int64) *CreateFleetInput {
  5581  	s.DisconnectTimeoutInSeconds = &v
  5582  	return s
  5583  }
  5584  
  5585  // SetDisplayName sets the DisplayName field's value.
  5586  func (s *CreateFleetInput) SetDisplayName(v string) *CreateFleetInput {
  5587  	s.DisplayName = &v
  5588  	return s
  5589  }
  5590  
  5591  // SetDomainJoinInfo sets the DomainJoinInfo field's value.
  5592  func (s *CreateFleetInput) SetDomainJoinInfo(v *DomainJoinInfo) *CreateFleetInput {
  5593  	s.DomainJoinInfo = v
  5594  	return s
  5595  }
  5596  
  5597  // SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
  5598  func (s *CreateFleetInput) SetEnableDefaultInternetAccess(v bool) *CreateFleetInput {
  5599  	s.EnableDefaultInternetAccess = &v
  5600  	return s
  5601  }
  5602  
  5603  // SetFleetType sets the FleetType field's value.
  5604  func (s *CreateFleetInput) SetFleetType(v string) *CreateFleetInput {
  5605  	s.FleetType = &v
  5606  	return s
  5607  }
  5608  
  5609  // SetIamRoleArn sets the IamRoleArn field's value.
  5610  func (s *CreateFleetInput) SetIamRoleArn(v string) *CreateFleetInput {
  5611  	s.IamRoleArn = &v
  5612  	return s
  5613  }
  5614  
  5615  // SetIdleDisconnectTimeoutInSeconds sets the IdleDisconnectTimeoutInSeconds field's value.
  5616  func (s *CreateFleetInput) SetIdleDisconnectTimeoutInSeconds(v int64) *CreateFleetInput {
  5617  	s.IdleDisconnectTimeoutInSeconds = &v
  5618  	return s
  5619  }
  5620  
  5621  // SetImageArn sets the ImageArn field's value.
  5622  func (s *CreateFleetInput) SetImageArn(v string) *CreateFleetInput {
  5623  	s.ImageArn = &v
  5624  	return s
  5625  }
  5626  
  5627  // SetImageName sets the ImageName field's value.
  5628  func (s *CreateFleetInput) SetImageName(v string) *CreateFleetInput {
  5629  	s.ImageName = &v
  5630  	return s
  5631  }
  5632  
  5633  // SetInstanceType sets the InstanceType field's value.
  5634  func (s *CreateFleetInput) SetInstanceType(v string) *CreateFleetInput {
  5635  	s.InstanceType = &v
  5636  	return s
  5637  }
  5638  
  5639  // SetMaxUserDurationInSeconds sets the MaxUserDurationInSeconds field's value.
  5640  func (s *CreateFleetInput) SetMaxUserDurationInSeconds(v int64) *CreateFleetInput {
  5641  	s.MaxUserDurationInSeconds = &v
  5642  	return s
  5643  }
  5644  
  5645  // SetName sets the Name field's value.
  5646  func (s *CreateFleetInput) SetName(v string) *CreateFleetInput {
  5647  	s.Name = &v
  5648  	return s
  5649  }
  5650  
  5651  // SetStreamView sets the StreamView field's value.
  5652  func (s *CreateFleetInput) SetStreamView(v string) *CreateFleetInput {
  5653  	s.StreamView = &v
  5654  	return s
  5655  }
  5656  
  5657  // SetTags sets the Tags field's value.
  5658  func (s *CreateFleetInput) SetTags(v map[string]*string) *CreateFleetInput {
  5659  	s.Tags = v
  5660  	return s
  5661  }
  5662  
  5663  // SetVpcConfig sets the VpcConfig field's value.
  5664  func (s *CreateFleetInput) SetVpcConfig(v *VpcConfig) *CreateFleetInput {
  5665  	s.VpcConfig = v
  5666  	return s
  5667  }
  5668  
  5669  type CreateFleetOutput struct {
  5670  	_ struct{} `type:"structure"`
  5671  
  5672  	// Information about the fleet.
  5673  	Fleet *Fleet `type:"structure"`
  5674  }
  5675  
  5676  // String returns the string representation.
  5677  //
  5678  // API parameter values that are decorated as "sensitive" in the API will not
  5679  // be included in the string output. The member name will be present, but the
  5680  // value will be replaced with "sensitive".
  5681  func (s CreateFleetOutput) String() string {
  5682  	return awsutil.Prettify(s)
  5683  }
  5684  
  5685  // GoString returns the string representation.
  5686  //
  5687  // API parameter values that are decorated as "sensitive" in the API will not
  5688  // be included in the string output. The member name will be present, but the
  5689  // value will be replaced with "sensitive".
  5690  func (s CreateFleetOutput) GoString() string {
  5691  	return s.String()
  5692  }
  5693  
  5694  // SetFleet sets the Fleet field's value.
  5695  func (s *CreateFleetOutput) SetFleet(v *Fleet) *CreateFleetOutput {
  5696  	s.Fleet = v
  5697  	return s
  5698  }
  5699  
  5700  type CreateImageBuilderInput struct {
  5701  	_ struct{} `type:"structure"`
  5702  
  5703  	// The list of interface VPC endpoint (interface endpoint) objects. Administrators
  5704  	// can connect to the image builder only through the specified endpoints.
  5705  	AccessEndpoints []*AccessEndpoint `min:"1" type:"list"`
  5706  
  5707  	// The version of the AppStream 2.0 agent to use for this image builder. To
  5708  	// use the latest version of the AppStream 2.0 agent, specify [LATEST].
  5709  	AppstreamAgentVersion *string `min:"1" type:"string"`
  5710  
  5711  	// The description to display.
  5712  	Description *string `type:"string"`
  5713  
  5714  	// The image builder name to display.
  5715  	DisplayName *string `type:"string"`
  5716  
  5717  	// The name of the directory and organizational unit (OU) to use to join the
  5718  	// image builder to a Microsoft Active Directory domain.
  5719  	DomainJoinInfo *DomainJoinInfo `type:"structure"`
  5720  
  5721  	// Enables or disables default internet access for the image builder.
  5722  	EnableDefaultInternetAccess *bool `type:"boolean"`
  5723  
  5724  	// The Amazon Resource Name (ARN) of the IAM role to apply to the image builder.
  5725  	// To assume a role, the image builder calls the AWS Security Token Service
  5726  	// (STS) AssumeRole API operation and passes the ARN of the role to use. The
  5727  	// operation creates a new session with temporary credentials. AppStream 2.0
  5728  	// retrieves the temporary credentials and creates the appstream_machine_role
  5729  	// credential profile on the instance.
  5730  	//
  5731  	// For more information, see Using an IAM Role to Grant Permissions to Applications
  5732  	// and Scripts Running on AppStream 2.0 Streaming Instances (https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html)
  5733  	// in the Amazon AppStream 2.0 Administration Guide.
  5734  	IamRoleArn *string `type:"string"`
  5735  
  5736  	// The ARN of the public, private, or shared image to use.
  5737  	ImageArn *string `type:"string"`
  5738  
  5739  	// The name of the image used to create the image builder.
  5740  	ImageName *string `min:"1" type:"string"`
  5741  
  5742  	// The instance type to use when launching the image builder. The following
  5743  	// instance types are available:
  5744  	//
  5745  	//    * stream.standard.small
  5746  	//
  5747  	//    * stream.standard.medium
  5748  	//
  5749  	//    * stream.standard.large
  5750  	//
  5751  	//    * stream.compute.large
  5752  	//
  5753  	//    * stream.compute.xlarge
  5754  	//
  5755  	//    * stream.compute.2xlarge
  5756  	//
  5757  	//    * stream.compute.4xlarge
  5758  	//
  5759  	//    * stream.compute.8xlarge
  5760  	//
  5761  	//    * stream.memory.large
  5762  	//
  5763  	//    * stream.memory.xlarge
  5764  	//
  5765  	//    * stream.memory.2xlarge
  5766  	//
  5767  	//    * stream.memory.4xlarge
  5768  	//
  5769  	//    * stream.memory.8xlarge
  5770  	//
  5771  	//    * stream.memory.z1d.large
  5772  	//
  5773  	//    * stream.memory.z1d.xlarge
  5774  	//
  5775  	//    * stream.memory.z1d.2xlarge
  5776  	//
  5777  	//    * stream.memory.z1d.3xlarge
  5778  	//
  5779  	//    * stream.memory.z1d.6xlarge
  5780  	//
  5781  	//    * stream.memory.z1d.12xlarge
  5782  	//
  5783  	//    * stream.graphics-design.large
  5784  	//
  5785  	//    * stream.graphics-design.xlarge
  5786  	//
  5787  	//    * stream.graphics-design.2xlarge
  5788  	//
  5789  	//    * stream.graphics-design.4xlarge
  5790  	//
  5791  	//    * stream.graphics-desktop.2xlarge
  5792  	//
  5793  	//    * stream.graphics.g4dn.xlarge
  5794  	//
  5795  	//    * stream.graphics.g4dn.2xlarge
  5796  	//
  5797  	//    * stream.graphics.g4dn.4xlarge
  5798  	//
  5799  	//    * stream.graphics.g4dn.8xlarge
  5800  	//
  5801  	//    * stream.graphics.g4dn.12xlarge
  5802  	//
  5803  	//    * stream.graphics.g4dn.16xlarge
  5804  	//
  5805  	//    * stream.graphics-pro.4xlarge
  5806  	//
  5807  	//    * stream.graphics-pro.8xlarge
  5808  	//
  5809  	//    * stream.graphics-pro.16xlarge
  5810  	//
  5811  	// InstanceType is a required field
  5812  	InstanceType *string `min:"1" type:"string" required:"true"`
  5813  
  5814  	// A unique name for the image builder.
  5815  	//
  5816  	// Name is a required field
  5817  	Name *string `type:"string" required:"true"`
  5818  
  5819  	// The tags to associate with the image builder. A tag is a key-value pair,
  5820  	// and the value is optional. For example, Environment=Test. If you do not specify
  5821  	// a value, Environment=.
  5822  	//
  5823  	// Generally allowed characters are: letters, numbers, and spaces representable
  5824  	// in UTF-8, and the following special characters:
  5825  	//
  5826  	// _ . : / = + \ - @
  5827  	//
  5828  	// If you do not specify a value, the value is set to an empty string.
  5829  	//
  5830  	// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
  5831  	// in the Amazon AppStream 2.0 Administration Guide.
  5832  	Tags map[string]*string `min:"1" type:"map"`
  5833  
  5834  	// The VPC configuration for the image builder. You can specify only one subnet.
  5835  	VpcConfig *VpcConfig `type:"structure"`
  5836  }
  5837  
  5838  // String returns the string representation.
  5839  //
  5840  // API parameter values that are decorated as "sensitive" in the API will not
  5841  // be included in the string output. The member name will be present, but the
  5842  // value will be replaced with "sensitive".
  5843  func (s CreateImageBuilderInput) String() string {
  5844  	return awsutil.Prettify(s)
  5845  }
  5846  
  5847  // GoString returns the string representation.
  5848  //
  5849  // API parameter values that are decorated as "sensitive" in the API will not
  5850  // be included in the string output. The member name will be present, but the
  5851  // value will be replaced with "sensitive".
  5852  func (s CreateImageBuilderInput) GoString() string {
  5853  	return s.String()
  5854  }
  5855  
  5856  // Validate inspects the fields of the type to determine if they are valid.
  5857  func (s *CreateImageBuilderInput) Validate() error {
  5858  	invalidParams := request.ErrInvalidParams{Context: "CreateImageBuilderInput"}
  5859  	if s.AccessEndpoints != nil && len(s.AccessEndpoints) < 1 {
  5860  		invalidParams.Add(request.NewErrParamMinLen("AccessEndpoints", 1))
  5861  	}
  5862  	if s.AppstreamAgentVersion != nil && len(*s.AppstreamAgentVersion) < 1 {
  5863  		invalidParams.Add(request.NewErrParamMinLen("AppstreamAgentVersion", 1))
  5864  	}
  5865  	if s.ImageName != nil && len(*s.ImageName) < 1 {
  5866  		invalidParams.Add(request.NewErrParamMinLen("ImageName", 1))
  5867  	}
  5868  	if s.InstanceType == nil {
  5869  		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  5870  	}
  5871  	if s.InstanceType != nil && len(*s.InstanceType) < 1 {
  5872  		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1))
  5873  	}
  5874  	if s.Name == nil {
  5875  		invalidParams.Add(request.NewErrParamRequired("Name"))
  5876  	}
  5877  	if s.Tags != nil && len(s.Tags) < 1 {
  5878  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  5879  	}
  5880  	if s.AccessEndpoints != nil {
  5881  		for i, v := range s.AccessEndpoints {
  5882  			if v == nil {
  5883  				continue
  5884  			}
  5885  			if err := v.Validate(); err != nil {
  5886  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessEndpoints", i), err.(request.ErrInvalidParams))
  5887  			}
  5888  		}
  5889  	}
  5890  
  5891  	if invalidParams.Len() > 0 {
  5892  		return invalidParams
  5893  	}
  5894  	return nil
  5895  }
  5896  
  5897  // SetAccessEndpoints sets the AccessEndpoints field's value.
  5898  func (s *CreateImageBuilderInput) SetAccessEndpoints(v []*AccessEndpoint) *CreateImageBuilderInput {
  5899  	s.AccessEndpoints = v
  5900  	return s
  5901  }
  5902  
  5903  // SetAppstreamAgentVersion sets the AppstreamAgentVersion field's value.
  5904  func (s *CreateImageBuilderInput) SetAppstreamAgentVersion(v string) *CreateImageBuilderInput {
  5905  	s.AppstreamAgentVersion = &v
  5906  	return s
  5907  }
  5908  
  5909  // SetDescription sets the Description field's value.
  5910  func (s *CreateImageBuilderInput) SetDescription(v string) *CreateImageBuilderInput {
  5911  	s.Description = &v
  5912  	return s
  5913  }
  5914  
  5915  // SetDisplayName sets the DisplayName field's value.
  5916  func (s *CreateImageBuilderInput) SetDisplayName(v string) *CreateImageBuilderInput {
  5917  	s.DisplayName = &v
  5918  	return s
  5919  }
  5920  
  5921  // SetDomainJoinInfo sets the DomainJoinInfo field's value.
  5922  func (s *CreateImageBuilderInput) SetDomainJoinInfo(v *DomainJoinInfo) *CreateImageBuilderInput {
  5923  	s.DomainJoinInfo = v
  5924  	return s
  5925  }
  5926  
  5927  // SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
  5928  func (s *CreateImageBuilderInput) SetEnableDefaultInternetAccess(v bool) *CreateImageBuilderInput {
  5929  	s.EnableDefaultInternetAccess = &v
  5930  	return s
  5931  }
  5932  
  5933  // SetIamRoleArn sets the IamRoleArn field's value.
  5934  func (s *CreateImageBuilderInput) SetIamRoleArn(v string) *CreateImageBuilderInput {
  5935  	s.IamRoleArn = &v
  5936  	return s
  5937  }
  5938  
  5939  // SetImageArn sets the ImageArn field's value.
  5940  func (s *CreateImageBuilderInput) SetImageArn(v string) *CreateImageBuilderInput {
  5941  	s.ImageArn = &v
  5942  	return s
  5943  }
  5944  
  5945  // SetImageName sets the ImageName field's value.
  5946  func (s *CreateImageBuilderInput) SetImageName(v string) *CreateImageBuilderInput {
  5947  	s.ImageName = &v
  5948  	return s
  5949  }
  5950  
  5951  // SetInstanceType sets the InstanceType field's value.
  5952  func (s *CreateImageBuilderInput) SetInstanceType(v string) *CreateImageBuilderInput {
  5953  	s.InstanceType = &v
  5954  	return s
  5955  }
  5956  
  5957  // SetName sets the Name field's value.
  5958  func (s *CreateImageBuilderInput) SetName(v string) *CreateImageBuilderInput {
  5959  	s.Name = &v
  5960  	return s
  5961  }
  5962  
  5963  // SetTags sets the Tags field's value.
  5964  func (s *CreateImageBuilderInput) SetTags(v map[string]*string) *CreateImageBuilderInput {
  5965  	s.Tags = v
  5966  	return s
  5967  }
  5968  
  5969  // SetVpcConfig sets the VpcConfig field's value.
  5970  func (s *CreateImageBuilderInput) SetVpcConfig(v *VpcConfig) *CreateImageBuilderInput {
  5971  	s.VpcConfig = v
  5972  	return s
  5973  }
  5974  
  5975  type CreateImageBuilderOutput struct {
  5976  	_ struct{} `type:"structure"`
  5977  
  5978  	// Information about the image builder.
  5979  	ImageBuilder *ImageBuilder `type:"structure"`
  5980  }
  5981  
  5982  // String returns the string representation.
  5983  //
  5984  // API parameter values that are decorated as "sensitive" in the API will not
  5985  // be included in the string output. The member name will be present, but the
  5986  // value will be replaced with "sensitive".
  5987  func (s CreateImageBuilderOutput) String() string {
  5988  	return awsutil.Prettify(s)
  5989  }
  5990  
  5991  // GoString returns the string representation.
  5992  //
  5993  // API parameter values that are decorated as "sensitive" in the API will not
  5994  // be included in the string output. The member name will be present, but the
  5995  // value will be replaced with "sensitive".
  5996  func (s CreateImageBuilderOutput) GoString() string {
  5997  	return s.String()
  5998  }
  5999  
  6000  // SetImageBuilder sets the ImageBuilder field's value.
  6001  func (s *CreateImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *CreateImageBuilderOutput {
  6002  	s.ImageBuilder = v
  6003  	return s
  6004  }
  6005  
  6006  type CreateImageBuilderStreamingURLInput struct {
  6007  	_ struct{} `type:"structure"`
  6008  
  6009  	// The name of the image builder.
  6010  	//
  6011  	// Name is a required field
  6012  	Name *string `min:"1" type:"string" required:"true"`
  6013  
  6014  	// The time that the streaming URL will be valid, in seconds. Specify a value
  6015  	// between 1 and 604800 seconds. The default is 3600 seconds.
  6016  	Validity *int64 `type:"long"`
  6017  }
  6018  
  6019  // String returns the string representation.
  6020  //
  6021  // API parameter values that are decorated as "sensitive" in the API will not
  6022  // be included in the string output. The member name will be present, but the
  6023  // value will be replaced with "sensitive".
  6024  func (s CreateImageBuilderStreamingURLInput) String() string {
  6025  	return awsutil.Prettify(s)
  6026  }
  6027  
  6028  // GoString returns the string representation.
  6029  //
  6030  // API parameter values that are decorated as "sensitive" in the API will not
  6031  // be included in the string output. The member name will be present, but the
  6032  // value will be replaced with "sensitive".
  6033  func (s CreateImageBuilderStreamingURLInput) GoString() string {
  6034  	return s.String()
  6035  }
  6036  
  6037  // Validate inspects the fields of the type to determine if they are valid.
  6038  func (s *CreateImageBuilderStreamingURLInput) Validate() error {
  6039  	invalidParams := request.ErrInvalidParams{Context: "CreateImageBuilderStreamingURLInput"}
  6040  	if s.Name == nil {
  6041  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6042  	}
  6043  	if s.Name != nil && len(*s.Name) < 1 {
  6044  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6045  	}
  6046  
  6047  	if invalidParams.Len() > 0 {
  6048  		return invalidParams
  6049  	}
  6050  	return nil
  6051  }
  6052  
  6053  // SetName sets the Name field's value.
  6054  func (s *CreateImageBuilderStreamingURLInput) SetName(v string) *CreateImageBuilderStreamingURLInput {
  6055  	s.Name = &v
  6056  	return s
  6057  }
  6058  
  6059  // SetValidity sets the Validity field's value.
  6060  func (s *CreateImageBuilderStreamingURLInput) SetValidity(v int64) *CreateImageBuilderStreamingURLInput {
  6061  	s.Validity = &v
  6062  	return s
  6063  }
  6064  
  6065  type CreateImageBuilderStreamingURLOutput struct {
  6066  	_ struct{} `type:"structure"`
  6067  
  6068  	// The elapsed time, in seconds after the Unix epoch, when this URL expires.
  6069  	Expires *time.Time `type:"timestamp"`
  6070  
  6071  	// The URL to start the AppStream 2.0 streaming session.
  6072  	StreamingURL *string `min:"1" type:"string"`
  6073  }
  6074  
  6075  // String returns the string representation.
  6076  //
  6077  // API parameter values that are decorated as "sensitive" in the API will not
  6078  // be included in the string output. The member name will be present, but the
  6079  // value will be replaced with "sensitive".
  6080  func (s CreateImageBuilderStreamingURLOutput) String() string {
  6081  	return awsutil.Prettify(s)
  6082  }
  6083  
  6084  // GoString returns the string representation.
  6085  //
  6086  // API parameter values that are decorated as "sensitive" in the API will not
  6087  // be included in the string output. The member name will be present, but the
  6088  // value will be replaced with "sensitive".
  6089  func (s CreateImageBuilderStreamingURLOutput) GoString() string {
  6090  	return s.String()
  6091  }
  6092  
  6093  // SetExpires sets the Expires field's value.
  6094  func (s *CreateImageBuilderStreamingURLOutput) SetExpires(v time.Time) *CreateImageBuilderStreamingURLOutput {
  6095  	s.Expires = &v
  6096  	return s
  6097  }
  6098  
  6099  // SetStreamingURL sets the StreamingURL field's value.
  6100  func (s *CreateImageBuilderStreamingURLOutput) SetStreamingURL(v string) *CreateImageBuilderStreamingURLOutput {
  6101  	s.StreamingURL = &v
  6102  	return s
  6103  }
  6104  
  6105  type CreateStackInput struct {
  6106  	_ struct{} `type:"structure"`
  6107  
  6108  	// The list of interface VPC endpoint (interface endpoint) objects. Users of
  6109  	// the stack can connect to AppStream 2.0 only through the specified endpoints.
  6110  	AccessEndpoints []*AccessEndpoint `min:"1" type:"list"`
  6111  
  6112  	// The persistent application settings for users of a stack. When these settings
  6113  	// are enabled, changes that users make to applications and Windows settings
  6114  	// are automatically saved after each session and applied to the next session.
  6115  	ApplicationSettings *ApplicationSettings `type:"structure"`
  6116  
  6117  	// The description to display.
  6118  	Description *string `type:"string"`
  6119  
  6120  	// The stack name to display.
  6121  	DisplayName *string `type:"string"`
  6122  
  6123  	// The domains where AppStream 2.0 streaming sessions can be embedded in an
  6124  	// iframe. You must approve the domains that you want to host embedded AppStream
  6125  	// 2.0 streaming sessions.
  6126  	EmbedHostDomains []*string `min:"1" type:"list"`
  6127  
  6128  	// The URL that users are redirected to after they click the Send Feedback link.
  6129  	// If no URL is specified, no Send Feedback link is displayed.
  6130  	FeedbackURL *string `type:"string"`
  6131  
  6132  	// The name of the stack.
  6133  	//
  6134  	// Name is a required field
  6135  	Name *string `type:"string" required:"true"`
  6136  
  6137  	// The URL that users are redirected to after their streaming session ends.
  6138  	RedirectURL *string `type:"string"`
  6139  
  6140  	// The storage connectors to enable.
  6141  	StorageConnectors []*StorageConnector `type:"list"`
  6142  
  6143  	// The tags to associate with the stack. A tag is a key-value pair, and the
  6144  	// value is optional. For example, Environment=Test. If you do not specify a
  6145  	// value, Environment=.
  6146  	//
  6147  	// If you do not specify a value, the value is set to an empty string.
  6148  	//
  6149  	// Generally allowed characters are: letters, numbers, and spaces representable
  6150  	// in UTF-8, and the following special characters:
  6151  	//
  6152  	// _ . : / = + \ - @
  6153  	//
  6154  	// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
  6155  	// in the Amazon AppStream 2.0 Administration Guide.
  6156  	Tags map[string]*string `min:"1" type:"map"`
  6157  
  6158  	// The actions that are enabled or disabled for users during their streaming
  6159  	// sessions. By default, these actions are enabled.
  6160  	UserSettings []*UserSetting `min:"1" type:"list"`
  6161  }
  6162  
  6163  // String returns the string representation.
  6164  //
  6165  // API parameter values that are decorated as "sensitive" in the API will not
  6166  // be included in the string output. The member name will be present, but the
  6167  // value will be replaced with "sensitive".
  6168  func (s CreateStackInput) String() string {
  6169  	return awsutil.Prettify(s)
  6170  }
  6171  
  6172  // GoString returns the string representation.
  6173  //
  6174  // API parameter values that are decorated as "sensitive" in the API will not
  6175  // be included in the string output. The member name will be present, but the
  6176  // value will be replaced with "sensitive".
  6177  func (s CreateStackInput) GoString() string {
  6178  	return s.String()
  6179  }
  6180  
  6181  // Validate inspects the fields of the type to determine if they are valid.
  6182  func (s *CreateStackInput) Validate() error {
  6183  	invalidParams := request.ErrInvalidParams{Context: "CreateStackInput"}
  6184  	if s.AccessEndpoints != nil && len(s.AccessEndpoints) < 1 {
  6185  		invalidParams.Add(request.NewErrParamMinLen("AccessEndpoints", 1))
  6186  	}
  6187  	if s.EmbedHostDomains != nil && len(s.EmbedHostDomains) < 1 {
  6188  		invalidParams.Add(request.NewErrParamMinLen("EmbedHostDomains", 1))
  6189  	}
  6190  	if s.Name == nil {
  6191  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6192  	}
  6193  	if s.Tags != nil && len(s.Tags) < 1 {
  6194  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  6195  	}
  6196  	if s.UserSettings != nil && len(s.UserSettings) < 1 {
  6197  		invalidParams.Add(request.NewErrParamMinLen("UserSettings", 1))
  6198  	}
  6199  	if s.AccessEndpoints != nil {
  6200  		for i, v := range s.AccessEndpoints {
  6201  			if v == nil {
  6202  				continue
  6203  			}
  6204  			if err := v.Validate(); err != nil {
  6205  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessEndpoints", i), err.(request.ErrInvalidParams))
  6206  			}
  6207  		}
  6208  	}
  6209  	if s.ApplicationSettings != nil {
  6210  		if err := s.ApplicationSettings.Validate(); err != nil {
  6211  			invalidParams.AddNested("ApplicationSettings", err.(request.ErrInvalidParams))
  6212  		}
  6213  	}
  6214  	if s.StorageConnectors != nil {
  6215  		for i, v := range s.StorageConnectors {
  6216  			if v == nil {
  6217  				continue
  6218  			}
  6219  			if err := v.Validate(); err != nil {
  6220  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StorageConnectors", i), err.(request.ErrInvalidParams))
  6221  			}
  6222  		}
  6223  	}
  6224  	if s.UserSettings != nil {
  6225  		for i, v := range s.UserSettings {
  6226  			if v == nil {
  6227  				continue
  6228  			}
  6229  			if err := v.Validate(); err != nil {
  6230  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserSettings", i), err.(request.ErrInvalidParams))
  6231  			}
  6232  		}
  6233  	}
  6234  
  6235  	if invalidParams.Len() > 0 {
  6236  		return invalidParams
  6237  	}
  6238  	return nil
  6239  }
  6240  
  6241  // SetAccessEndpoints sets the AccessEndpoints field's value.
  6242  func (s *CreateStackInput) SetAccessEndpoints(v []*AccessEndpoint) *CreateStackInput {
  6243  	s.AccessEndpoints = v
  6244  	return s
  6245  }
  6246  
  6247  // SetApplicationSettings sets the ApplicationSettings field's value.
  6248  func (s *CreateStackInput) SetApplicationSettings(v *ApplicationSettings) *CreateStackInput {
  6249  	s.ApplicationSettings = v
  6250  	return s
  6251  }
  6252  
  6253  // SetDescription sets the Description field's value.
  6254  func (s *CreateStackInput) SetDescription(v string) *CreateStackInput {
  6255  	s.Description = &v
  6256  	return s
  6257  }
  6258  
  6259  // SetDisplayName sets the DisplayName field's value.
  6260  func (s *CreateStackInput) SetDisplayName(v string) *CreateStackInput {
  6261  	s.DisplayName = &v
  6262  	return s
  6263  }
  6264  
  6265  // SetEmbedHostDomains sets the EmbedHostDomains field's value.
  6266  func (s *CreateStackInput) SetEmbedHostDomains(v []*string) *CreateStackInput {
  6267  	s.EmbedHostDomains = v
  6268  	return s
  6269  }
  6270  
  6271  // SetFeedbackURL sets the FeedbackURL field's value.
  6272  func (s *CreateStackInput) SetFeedbackURL(v string) *CreateStackInput {
  6273  	s.FeedbackURL = &v
  6274  	return s
  6275  }
  6276  
  6277  // SetName sets the Name field's value.
  6278  func (s *CreateStackInput) SetName(v string) *CreateStackInput {
  6279  	s.Name = &v
  6280  	return s
  6281  }
  6282  
  6283  // SetRedirectURL sets the RedirectURL field's value.
  6284  func (s *CreateStackInput) SetRedirectURL(v string) *CreateStackInput {
  6285  	s.RedirectURL = &v
  6286  	return s
  6287  }
  6288  
  6289  // SetStorageConnectors sets the StorageConnectors field's value.
  6290  func (s *CreateStackInput) SetStorageConnectors(v []*StorageConnector) *CreateStackInput {
  6291  	s.StorageConnectors = v
  6292  	return s
  6293  }
  6294  
  6295  // SetTags sets the Tags field's value.
  6296  func (s *CreateStackInput) SetTags(v map[string]*string) *CreateStackInput {
  6297  	s.Tags = v
  6298  	return s
  6299  }
  6300  
  6301  // SetUserSettings sets the UserSettings field's value.
  6302  func (s *CreateStackInput) SetUserSettings(v []*UserSetting) *CreateStackInput {
  6303  	s.UserSettings = v
  6304  	return s
  6305  }
  6306  
  6307  type CreateStackOutput struct {
  6308  	_ struct{} `type:"structure"`
  6309  
  6310  	// Information about the stack.
  6311  	Stack *Stack `type:"structure"`
  6312  }
  6313  
  6314  // String returns the string representation.
  6315  //
  6316  // API parameter values that are decorated as "sensitive" in the API will not
  6317  // be included in the string output. The member name will be present, but the
  6318  // value will be replaced with "sensitive".
  6319  func (s CreateStackOutput) String() string {
  6320  	return awsutil.Prettify(s)
  6321  }
  6322  
  6323  // GoString returns the string representation.
  6324  //
  6325  // API parameter values that are decorated as "sensitive" in the API will not
  6326  // be included in the string output. The member name will be present, but the
  6327  // value will be replaced with "sensitive".
  6328  func (s CreateStackOutput) GoString() string {
  6329  	return s.String()
  6330  }
  6331  
  6332  // SetStack sets the Stack field's value.
  6333  func (s *CreateStackOutput) SetStack(v *Stack) *CreateStackOutput {
  6334  	s.Stack = v
  6335  	return s
  6336  }
  6337  
  6338  type CreateStreamingURLInput struct {
  6339  	_ struct{} `type:"structure"`
  6340  
  6341  	// The name of the application to launch after the session starts. This is the
  6342  	// name that you specified as Name in the Image Assistant. If your fleet is
  6343  	// enabled for the Desktop stream view, you can also choose to launch directly
  6344  	// to the operating system desktop. To do so, specify Desktop.
  6345  	ApplicationId *string `min:"1" type:"string"`
  6346  
  6347  	// The name of the fleet.
  6348  	//
  6349  	// FleetName is a required field
  6350  	FleetName *string `min:"1" type:"string" required:"true"`
  6351  
  6352  	// The session context. For more information, see Session Context (https://docs.aws.amazon.com/appstream2/latest/developerguide/managing-stacks-fleets.html#managing-stacks-fleets-parameters)
  6353  	// in the Amazon AppStream 2.0 Administration Guide.
  6354  	SessionContext *string `min:"1" type:"string"`
  6355  
  6356  	// The name of the stack.
  6357  	//
  6358  	// StackName is a required field
  6359  	StackName *string `min:"1" type:"string" required:"true"`
  6360  
  6361  	// The identifier of the user.
  6362  	//
  6363  	// UserId is a required field
  6364  	UserId *string `min:"2" type:"string" required:"true"`
  6365  
  6366  	// The time that the streaming URL will be valid, in seconds. Specify a value
  6367  	// between 1 and 604800 seconds. The default is 60 seconds.
  6368  	Validity *int64 `type:"long"`
  6369  }
  6370  
  6371  // String returns the string representation.
  6372  //
  6373  // API parameter values that are decorated as "sensitive" in the API will not
  6374  // be included in the string output. The member name will be present, but the
  6375  // value will be replaced with "sensitive".
  6376  func (s CreateStreamingURLInput) String() string {
  6377  	return awsutil.Prettify(s)
  6378  }
  6379  
  6380  // GoString returns the string representation.
  6381  //
  6382  // API parameter values that are decorated as "sensitive" in the API will not
  6383  // be included in the string output. The member name will be present, but the
  6384  // value will be replaced with "sensitive".
  6385  func (s CreateStreamingURLInput) GoString() string {
  6386  	return s.String()
  6387  }
  6388  
  6389  // Validate inspects the fields of the type to determine if they are valid.
  6390  func (s *CreateStreamingURLInput) Validate() error {
  6391  	invalidParams := request.ErrInvalidParams{Context: "CreateStreamingURLInput"}
  6392  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  6393  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  6394  	}
  6395  	if s.FleetName == nil {
  6396  		invalidParams.Add(request.NewErrParamRequired("FleetName"))
  6397  	}
  6398  	if s.FleetName != nil && len(*s.FleetName) < 1 {
  6399  		invalidParams.Add(request.NewErrParamMinLen("FleetName", 1))
  6400  	}
  6401  	if s.SessionContext != nil && len(*s.SessionContext) < 1 {
  6402  		invalidParams.Add(request.NewErrParamMinLen("SessionContext", 1))
  6403  	}
  6404  	if s.StackName == nil {
  6405  		invalidParams.Add(request.NewErrParamRequired("StackName"))
  6406  	}
  6407  	if s.StackName != nil && len(*s.StackName) < 1 {
  6408  		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  6409  	}
  6410  	if s.UserId == nil {
  6411  		invalidParams.Add(request.NewErrParamRequired("UserId"))
  6412  	}
  6413  	if s.UserId != nil && len(*s.UserId) < 2 {
  6414  		invalidParams.Add(request.NewErrParamMinLen("UserId", 2))
  6415  	}
  6416  
  6417  	if invalidParams.Len() > 0 {
  6418  		return invalidParams
  6419  	}
  6420  	return nil
  6421  }
  6422  
  6423  // SetApplicationId sets the ApplicationId field's value.
  6424  func (s *CreateStreamingURLInput) SetApplicationId(v string) *CreateStreamingURLInput {
  6425  	s.ApplicationId = &v
  6426  	return s
  6427  }
  6428  
  6429  // SetFleetName sets the FleetName field's value.
  6430  func (s *CreateStreamingURLInput) SetFleetName(v string) *CreateStreamingURLInput {
  6431  	s.FleetName = &v
  6432  	return s
  6433  }
  6434  
  6435  // SetSessionContext sets the SessionContext field's value.
  6436  func (s *CreateStreamingURLInput) SetSessionContext(v string) *CreateStreamingURLInput {
  6437  	s.SessionContext = &v
  6438  	return s
  6439  }
  6440  
  6441  // SetStackName sets the StackName field's value.
  6442  func (s *CreateStreamingURLInput) SetStackName(v string) *CreateStreamingURLInput {
  6443  	s.StackName = &v
  6444  	return s
  6445  }
  6446  
  6447  // SetUserId sets the UserId field's value.
  6448  func (s *CreateStreamingURLInput) SetUserId(v string) *CreateStreamingURLInput {
  6449  	s.UserId = &v
  6450  	return s
  6451  }
  6452  
  6453  // SetValidity sets the Validity field's value.
  6454  func (s *CreateStreamingURLInput) SetValidity(v int64) *CreateStreamingURLInput {
  6455  	s.Validity = &v
  6456  	return s
  6457  }
  6458  
  6459  type CreateStreamingURLOutput struct {
  6460  	_ struct{} `type:"structure"`
  6461  
  6462  	// The elapsed time, in seconds after the Unix epoch, when this URL expires.
  6463  	Expires *time.Time `type:"timestamp"`
  6464  
  6465  	// The URL to start the AppStream 2.0 streaming session.
  6466  	StreamingURL *string `min:"1" type:"string"`
  6467  }
  6468  
  6469  // String returns the string representation.
  6470  //
  6471  // API parameter values that are decorated as "sensitive" in the API will not
  6472  // be included in the string output. The member name will be present, but the
  6473  // value will be replaced with "sensitive".
  6474  func (s CreateStreamingURLOutput) String() string {
  6475  	return awsutil.Prettify(s)
  6476  }
  6477  
  6478  // GoString returns the string representation.
  6479  //
  6480  // API parameter values that are decorated as "sensitive" in the API will not
  6481  // be included in the string output. The member name will be present, but the
  6482  // value will be replaced with "sensitive".
  6483  func (s CreateStreamingURLOutput) GoString() string {
  6484  	return s.String()
  6485  }
  6486  
  6487  // SetExpires sets the Expires field's value.
  6488  func (s *CreateStreamingURLOutput) SetExpires(v time.Time) *CreateStreamingURLOutput {
  6489  	s.Expires = &v
  6490  	return s
  6491  }
  6492  
  6493  // SetStreamingURL sets the StreamingURL field's value.
  6494  func (s *CreateStreamingURLOutput) SetStreamingURL(v string) *CreateStreamingURLOutput {
  6495  	s.StreamingURL = &v
  6496  	return s
  6497  }
  6498  
  6499  type CreateUpdatedImageInput struct {
  6500  	_ struct{} `type:"structure"`
  6501  
  6502  	// Indicates whether to display the status of image update availability before
  6503  	// AppStream 2.0 initiates the process of creating a new updated image. If this
  6504  	// value is set to true, AppStream 2.0 displays whether image updates are available.
  6505  	// If this value is set to false, AppStream 2.0 initiates the process of creating
  6506  	// a new updated image without displaying whether image updates are available.
  6507  	DryRun *bool `locationName:"dryRun" type:"boolean"`
  6508  
  6509  	// The name of the image to update.
  6510  	//
  6511  	// ExistingImageName is a required field
  6512  	ExistingImageName *string `locationName:"existingImageName" type:"string" required:"true"`
  6513  
  6514  	// The description to display for the new image.
  6515  	NewImageDescription *string `locationName:"newImageDescription" type:"string"`
  6516  
  6517  	// The name to display for the new image.
  6518  	NewImageDisplayName *string `locationName:"newImageDisplayName" type:"string"`
  6519  
  6520  	// The name of the new image. The name must be unique within the AWS account
  6521  	// and Region.
  6522  	//
  6523  	// NewImageName is a required field
  6524  	NewImageName *string `locationName:"newImageName" type:"string" required:"true"`
  6525  
  6526  	// The tags to associate with the new image. A tag is a key-value pair, and
  6527  	// the value is optional. For example, Environment=Test. If you do not specify
  6528  	// a value, Environment=.
  6529  	//
  6530  	// Generally allowed characters are: letters, numbers, and spaces representable
  6531  	// in UTF-8, and the following special characters:
  6532  	//
  6533  	// _ . : / = + \ - @
  6534  	//
  6535  	// If you do not specify a value, the value is set to an empty string.
  6536  	//
  6537  	// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
  6538  	// in the Amazon AppStream 2.0 Administration Guide.
  6539  	NewImageTags map[string]*string `locationName:"newImageTags" min:"1" type:"map"`
  6540  }
  6541  
  6542  // String returns the string representation.
  6543  //
  6544  // API parameter values that are decorated as "sensitive" in the API will not
  6545  // be included in the string output. The member name will be present, but the
  6546  // value will be replaced with "sensitive".
  6547  func (s CreateUpdatedImageInput) String() string {
  6548  	return awsutil.Prettify(s)
  6549  }
  6550  
  6551  // GoString returns the string representation.
  6552  //
  6553  // API parameter values that are decorated as "sensitive" in the API will not
  6554  // be included in the string output. The member name will be present, but the
  6555  // value will be replaced with "sensitive".
  6556  func (s CreateUpdatedImageInput) GoString() string {
  6557  	return s.String()
  6558  }
  6559  
  6560  // Validate inspects the fields of the type to determine if they are valid.
  6561  func (s *CreateUpdatedImageInput) Validate() error {
  6562  	invalidParams := request.ErrInvalidParams{Context: "CreateUpdatedImageInput"}
  6563  	if s.ExistingImageName == nil {
  6564  		invalidParams.Add(request.NewErrParamRequired("ExistingImageName"))
  6565  	}
  6566  	if s.NewImageName == nil {
  6567  		invalidParams.Add(request.NewErrParamRequired("NewImageName"))
  6568  	}
  6569  	if s.NewImageTags != nil && len(s.NewImageTags) < 1 {
  6570  		invalidParams.Add(request.NewErrParamMinLen("NewImageTags", 1))
  6571  	}
  6572  
  6573  	if invalidParams.Len() > 0 {
  6574  		return invalidParams
  6575  	}
  6576  	return nil
  6577  }
  6578  
  6579  // SetDryRun sets the DryRun field's value.
  6580  func (s *CreateUpdatedImageInput) SetDryRun(v bool) *CreateUpdatedImageInput {
  6581  	s.DryRun = &v
  6582  	return s
  6583  }
  6584  
  6585  // SetExistingImageName sets the ExistingImageName field's value.
  6586  func (s *CreateUpdatedImageInput) SetExistingImageName(v string) *CreateUpdatedImageInput {
  6587  	s.ExistingImageName = &v
  6588  	return s
  6589  }
  6590  
  6591  // SetNewImageDescription sets the NewImageDescription field's value.
  6592  func (s *CreateUpdatedImageInput) SetNewImageDescription(v string) *CreateUpdatedImageInput {
  6593  	s.NewImageDescription = &v
  6594  	return s
  6595  }
  6596  
  6597  // SetNewImageDisplayName sets the NewImageDisplayName field's value.
  6598  func (s *CreateUpdatedImageInput) SetNewImageDisplayName(v string) *CreateUpdatedImageInput {
  6599  	s.NewImageDisplayName = &v
  6600  	return s
  6601  }
  6602  
  6603  // SetNewImageName sets the NewImageName field's value.
  6604  func (s *CreateUpdatedImageInput) SetNewImageName(v string) *CreateUpdatedImageInput {
  6605  	s.NewImageName = &v
  6606  	return s
  6607  }
  6608  
  6609  // SetNewImageTags sets the NewImageTags field's value.
  6610  func (s *CreateUpdatedImageInput) SetNewImageTags(v map[string]*string) *CreateUpdatedImageInput {
  6611  	s.NewImageTags = v
  6612  	return s
  6613  }
  6614  
  6615  type CreateUpdatedImageOutput struct {
  6616  	_ struct{} `type:"structure"`
  6617  
  6618  	// Indicates whether a new image can be created.
  6619  	CanUpdateImage *bool `locationName:"canUpdateImage" type:"boolean"`
  6620  
  6621  	// Describes an image.
  6622  	Image *Image `locationName:"image" type:"structure"`
  6623  }
  6624  
  6625  // String returns the string representation.
  6626  //
  6627  // API parameter values that are decorated as "sensitive" in the API will not
  6628  // be included in the string output. The member name will be present, but the
  6629  // value will be replaced with "sensitive".
  6630  func (s CreateUpdatedImageOutput) String() string {
  6631  	return awsutil.Prettify(s)
  6632  }
  6633  
  6634  // GoString returns the string representation.
  6635  //
  6636  // API parameter values that are decorated as "sensitive" in the API will not
  6637  // be included in the string output. The member name will be present, but the
  6638  // value will be replaced with "sensitive".
  6639  func (s CreateUpdatedImageOutput) GoString() string {
  6640  	return s.String()
  6641  }
  6642  
  6643  // SetCanUpdateImage sets the CanUpdateImage field's value.
  6644  func (s *CreateUpdatedImageOutput) SetCanUpdateImage(v bool) *CreateUpdatedImageOutput {
  6645  	s.CanUpdateImage = &v
  6646  	return s
  6647  }
  6648  
  6649  // SetImage sets the Image field's value.
  6650  func (s *CreateUpdatedImageOutput) SetImage(v *Image) *CreateUpdatedImageOutput {
  6651  	s.Image = v
  6652  	return s
  6653  }
  6654  
  6655  type CreateUsageReportSubscriptionInput struct {
  6656  	_ struct{} `type:"structure"`
  6657  }
  6658  
  6659  // String returns the string representation.
  6660  //
  6661  // API parameter values that are decorated as "sensitive" in the API will not
  6662  // be included in the string output. The member name will be present, but the
  6663  // value will be replaced with "sensitive".
  6664  func (s CreateUsageReportSubscriptionInput) String() string {
  6665  	return awsutil.Prettify(s)
  6666  }
  6667  
  6668  // GoString returns the string representation.
  6669  //
  6670  // API parameter values that are decorated as "sensitive" in the API will not
  6671  // be included in the string output. The member name will be present, but the
  6672  // value will be replaced with "sensitive".
  6673  func (s CreateUsageReportSubscriptionInput) GoString() string {
  6674  	return s.String()
  6675  }
  6676  
  6677  type CreateUsageReportSubscriptionOutput struct {
  6678  	_ struct{} `type:"structure"`
  6679  
  6680  	// The Amazon S3 bucket where generated reports are stored.
  6681  	//
  6682  	// If you enabled on-instance session scripts and Amazon S3 logging for your
  6683  	// session script configuration, AppStream 2.0 created an S3 bucket to store
  6684  	// the script output. The bucket is unique to your account and Region. When
  6685  	// you enable usage reporting in this case, AppStream 2.0 uses the same bucket
  6686  	// to store your usage reports. If you haven't already enabled on-instance session
  6687  	// scripts, when you enable usage reports, AppStream 2.0 creates a new S3 bucket.
  6688  	S3BucketName *string `min:"1" type:"string"`
  6689  
  6690  	// The schedule for generating usage reports.
  6691  	Schedule *string `type:"string" enum:"UsageReportSchedule"`
  6692  }
  6693  
  6694  // String returns the string representation.
  6695  //
  6696  // API parameter values that are decorated as "sensitive" in the API will not
  6697  // be included in the string output. The member name will be present, but the
  6698  // value will be replaced with "sensitive".
  6699  func (s CreateUsageReportSubscriptionOutput) String() string {
  6700  	return awsutil.Prettify(s)
  6701  }
  6702  
  6703  // GoString returns the string representation.
  6704  //
  6705  // API parameter values that are decorated as "sensitive" in the API will not
  6706  // be included in the string output. The member name will be present, but the
  6707  // value will be replaced with "sensitive".
  6708  func (s CreateUsageReportSubscriptionOutput) GoString() string {
  6709  	return s.String()
  6710  }
  6711  
  6712  // SetS3BucketName sets the S3BucketName field's value.
  6713  func (s *CreateUsageReportSubscriptionOutput) SetS3BucketName(v string) *CreateUsageReportSubscriptionOutput {
  6714  	s.S3BucketName = &v
  6715  	return s
  6716  }
  6717  
  6718  // SetSchedule sets the Schedule field's value.
  6719  func (s *CreateUsageReportSubscriptionOutput) SetSchedule(v string) *CreateUsageReportSubscriptionOutput {
  6720  	s.Schedule = &v
  6721  	return s
  6722  }
  6723  
  6724  type CreateUserInput struct {
  6725  	_ struct{} `type:"structure"`
  6726  
  6727  	// The authentication type for the user. You must specify USERPOOL.
  6728  	//
  6729  	// AuthenticationType is a required field
  6730  	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
  6731  
  6732  	// The first name, or given name, of the user.
  6733  	//
  6734  	// FirstName is a sensitive parameter and its value will be
  6735  	// replaced with "sensitive" in string returned by CreateUserInput's
  6736  	// String and GoString methods.
  6737  	FirstName *string `type:"string" sensitive:"true"`
  6738  
  6739  	// The last name, or surname, of the user.
  6740  	//
  6741  	// LastName is a sensitive parameter and its value will be
  6742  	// replaced with "sensitive" in string returned by CreateUserInput's
  6743  	// String and GoString methods.
  6744  	LastName *string `type:"string" sensitive:"true"`
  6745  
  6746  	// The action to take for the welcome email that is sent to a user after the
  6747  	// user is created in the user pool. If you specify SUPPRESS, no email is sent.
  6748  	// If you specify RESEND, do not specify the first name or last name of the
  6749  	// user. If the value is null, the email is sent.
  6750  	//
  6751  	// The temporary password in the welcome email is valid for only 7 days. If
  6752  	// users don’t set their passwords within 7 days, you must send them a new
  6753  	// welcome email.
  6754  	MessageAction *string `type:"string" enum:"MessageAction"`
  6755  
  6756  	// The email address of the user.
  6757  	//
  6758  	// Users' email addresses are case-sensitive. During login, if they specify
  6759  	// an email address that doesn't use the same capitalization as the email address
  6760  	// specified when their user pool account was created, a "user does not exist"
  6761  	// error message displays.
  6762  	//
  6763  	// UserName is a sensitive parameter and its value will be
  6764  	// replaced with "sensitive" in string returned by CreateUserInput's
  6765  	// String and GoString methods.
  6766  	//
  6767  	// UserName is a required field
  6768  	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
  6769  }
  6770  
  6771  // String returns the string representation.
  6772  //
  6773  // API parameter values that are decorated as "sensitive" in the API will not
  6774  // be included in the string output. The member name will be present, but the
  6775  // value will be replaced with "sensitive".
  6776  func (s CreateUserInput) String() string {
  6777  	return awsutil.Prettify(s)
  6778  }
  6779  
  6780  // GoString returns the string representation.
  6781  //
  6782  // API parameter values that are decorated as "sensitive" in the API will not
  6783  // be included in the string output. The member name will be present, but the
  6784  // value will be replaced with "sensitive".
  6785  func (s CreateUserInput) GoString() string {
  6786  	return s.String()
  6787  }
  6788  
  6789  // Validate inspects the fields of the type to determine if they are valid.
  6790  func (s *CreateUserInput) Validate() error {
  6791  	invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"}
  6792  	if s.AuthenticationType == nil {
  6793  		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
  6794  	}
  6795  	if s.UserName == nil {
  6796  		invalidParams.Add(request.NewErrParamRequired("UserName"))
  6797  	}
  6798  	if s.UserName != nil && len(*s.UserName) < 1 {
  6799  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  6800  	}
  6801  
  6802  	if invalidParams.Len() > 0 {
  6803  		return invalidParams
  6804  	}
  6805  	return nil
  6806  }
  6807  
  6808  // SetAuthenticationType sets the AuthenticationType field's value.
  6809  func (s *CreateUserInput) SetAuthenticationType(v string) *CreateUserInput {
  6810  	s.AuthenticationType = &v
  6811  	return s
  6812  }
  6813  
  6814  // SetFirstName sets the FirstName field's value.
  6815  func (s *CreateUserInput) SetFirstName(v string) *CreateUserInput {
  6816  	s.FirstName = &v
  6817  	return s
  6818  }
  6819  
  6820  // SetLastName sets the LastName field's value.
  6821  func (s *CreateUserInput) SetLastName(v string) *CreateUserInput {
  6822  	s.LastName = &v
  6823  	return s
  6824  }
  6825  
  6826  // SetMessageAction sets the MessageAction field's value.
  6827  func (s *CreateUserInput) SetMessageAction(v string) *CreateUserInput {
  6828  	s.MessageAction = &v
  6829  	return s
  6830  }
  6831  
  6832  // SetUserName sets the UserName field's value.
  6833  func (s *CreateUserInput) SetUserName(v string) *CreateUserInput {
  6834  	s.UserName = &v
  6835  	return s
  6836  }
  6837  
  6838  type CreateUserOutput struct {
  6839  	_ struct{} `type:"structure"`
  6840  }
  6841  
  6842  // String returns the string representation.
  6843  //
  6844  // API parameter values that are decorated as "sensitive" in the API will not
  6845  // be included in the string output. The member name will be present, but the
  6846  // value will be replaced with "sensitive".
  6847  func (s CreateUserOutput) String() string {
  6848  	return awsutil.Prettify(s)
  6849  }
  6850  
  6851  // GoString returns the string representation.
  6852  //
  6853  // API parameter values that are decorated as "sensitive" in the API will not
  6854  // be included in the string output. The member name will be present, but the
  6855  // value will be replaced with "sensitive".
  6856  func (s CreateUserOutput) GoString() string {
  6857  	return s.String()
  6858  }
  6859  
  6860  type DeleteDirectoryConfigInput struct {
  6861  	_ struct{} `type:"structure"`
  6862  
  6863  	// The name of the directory configuration.
  6864  	//
  6865  	// DirectoryName is a required field
  6866  	DirectoryName *string `type:"string" required:"true"`
  6867  }
  6868  
  6869  // String returns the string representation.
  6870  //
  6871  // API parameter values that are decorated as "sensitive" in the API will not
  6872  // be included in the string output. The member name will be present, but the
  6873  // value will be replaced with "sensitive".
  6874  func (s DeleteDirectoryConfigInput) String() string {
  6875  	return awsutil.Prettify(s)
  6876  }
  6877  
  6878  // GoString returns the string representation.
  6879  //
  6880  // API parameter values that are decorated as "sensitive" in the API will not
  6881  // be included in the string output. The member name will be present, but the
  6882  // value will be replaced with "sensitive".
  6883  func (s DeleteDirectoryConfigInput) GoString() string {
  6884  	return s.String()
  6885  }
  6886  
  6887  // Validate inspects the fields of the type to determine if they are valid.
  6888  func (s *DeleteDirectoryConfigInput) Validate() error {
  6889  	invalidParams := request.ErrInvalidParams{Context: "DeleteDirectoryConfigInput"}
  6890  	if s.DirectoryName == nil {
  6891  		invalidParams.Add(request.NewErrParamRequired("DirectoryName"))
  6892  	}
  6893  
  6894  	if invalidParams.Len() > 0 {
  6895  		return invalidParams
  6896  	}
  6897  	return nil
  6898  }
  6899  
  6900  // SetDirectoryName sets the DirectoryName field's value.
  6901  func (s *DeleteDirectoryConfigInput) SetDirectoryName(v string) *DeleteDirectoryConfigInput {
  6902  	s.DirectoryName = &v
  6903  	return s
  6904  }
  6905  
  6906  type DeleteDirectoryConfigOutput struct {
  6907  	_ struct{} `type:"structure"`
  6908  }
  6909  
  6910  // String returns the string representation.
  6911  //
  6912  // API parameter values that are decorated as "sensitive" in the API will not
  6913  // be included in the string output. The member name will be present, but the
  6914  // value will be replaced with "sensitive".
  6915  func (s DeleteDirectoryConfigOutput) String() string {
  6916  	return awsutil.Prettify(s)
  6917  }
  6918  
  6919  // GoString returns the string representation.
  6920  //
  6921  // API parameter values that are decorated as "sensitive" in the API will not
  6922  // be included in the string output. The member name will be present, but the
  6923  // value will be replaced with "sensitive".
  6924  func (s DeleteDirectoryConfigOutput) GoString() string {
  6925  	return s.String()
  6926  }
  6927  
  6928  type DeleteFleetInput struct {
  6929  	_ struct{} `type:"structure"`
  6930  
  6931  	// The name of the fleet.
  6932  	//
  6933  	// Name is a required field
  6934  	Name *string `min:"1" type:"string" required:"true"`
  6935  }
  6936  
  6937  // String returns the string representation.
  6938  //
  6939  // API parameter values that are decorated as "sensitive" in the API will not
  6940  // be included in the string output. The member name will be present, but the
  6941  // value will be replaced with "sensitive".
  6942  func (s DeleteFleetInput) String() string {
  6943  	return awsutil.Prettify(s)
  6944  }
  6945  
  6946  // GoString returns the string representation.
  6947  //
  6948  // API parameter values that are decorated as "sensitive" in the API will not
  6949  // be included in the string output. The member name will be present, but the
  6950  // value will be replaced with "sensitive".
  6951  func (s DeleteFleetInput) GoString() string {
  6952  	return s.String()
  6953  }
  6954  
  6955  // Validate inspects the fields of the type to determine if they are valid.
  6956  func (s *DeleteFleetInput) Validate() error {
  6957  	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetInput"}
  6958  	if s.Name == nil {
  6959  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6960  	}
  6961  	if s.Name != nil && len(*s.Name) < 1 {
  6962  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6963  	}
  6964  
  6965  	if invalidParams.Len() > 0 {
  6966  		return invalidParams
  6967  	}
  6968  	return nil
  6969  }
  6970  
  6971  // SetName sets the Name field's value.
  6972  func (s *DeleteFleetInput) SetName(v string) *DeleteFleetInput {
  6973  	s.Name = &v
  6974  	return s
  6975  }
  6976  
  6977  type DeleteFleetOutput struct {
  6978  	_ struct{} `type:"structure"`
  6979  }
  6980  
  6981  // String returns the string representation.
  6982  //
  6983  // API parameter values that are decorated as "sensitive" in the API will not
  6984  // be included in the string output. The member name will be present, but the
  6985  // value will be replaced with "sensitive".
  6986  func (s DeleteFleetOutput) String() string {
  6987  	return awsutil.Prettify(s)
  6988  }
  6989  
  6990  // GoString returns the string representation.
  6991  //
  6992  // API parameter values that are decorated as "sensitive" in the API will not
  6993  // be included in the string output. The member name will be present, but the
  6994  // value will be replaced with "sensitive".
  6995  func (s DeleteFleetOutput) GoString() string {
  6996  	return s.String()
  6997  }
  6998  
  6999  type DeleteImageBuilderInput struct {
  7000  	_ struct{} `type:"structure"`
  7001  
  7002  	// The name of the image builder.
  7003  	//
  7004  	// Name is a required field
  7005  	Name *string `type:"string" required:"true"`
  7006  }
  7007  
  7008  // String returns the string representation.
  7009  //
  7010  // API parameter values that are decorated as "sensitive" in the API will not
  7011  // be included in the string output. The member name will be present, but the
  7012  // value will be replaced with "sensitive".
  7013  func (s DeleteImageBuilderInput) String() string {
  7014  	return awsutil.Prettify(s)
  7015  }
  7016  
  7017  // GoString returns the string representation.
  7018  //
  7019  // API parameter values that are decorated as "sensitive" in the API will not
  7020  // be included in the string output. The member name will be present, but the
  7021  // value will be replaced with "sensitive".
  7022  func (s DeleteImageBuilderInput) GoString() string {
  7023  	return s.String()
  7024  }
  7025  
  7026  // Validate inspects the fields of the type to determine if they are valid.
  7027  func (s *DeleteImageBuilderInput) Validate() error {
  7028  	invalidParams := request.ErrInvalidParams{Context: "DeleteImageBuilderInput"}
  7029  	if s.Name == nil {
  7030  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7031  	}
  7032  
  7033  	if invalidParams.Len() > 0 {
  7034  		return invalidParams
  7035  	}
  7036  	return nil
  7037  }
  7038  
  7039  // SetName sets the Name field's value.
  7040  func (s *DeleteImageBuilderInput) SetName(v string) *DeleteImageBuilderInput {
  7041  	s.Name = &v
  7042  	return s
  7043  }
  7044  
  7045  type DeleteImageBuilderOutput struct {
  7046  	_ struct{} `type:"structure"`
  7047  
  7048  	// Information about the image builder.
  7049  	ImageBuilder *ImageBuilder `type:"structure"`
  7050  }
  7051  
  7052  // String returns the string representation.
  7053  //
  7054  // API parameter values that are decorated as "sensitive" in the API will not
  7055  // be included in the string output. The member name will be present, but the
  7056  // value will be replaced with "sensitive".
  7057  func (s DeleteImageBuilderOutput) String() string {
  7058  	return awsutil.Prettify(s)
  7059  }
  7060  
  7061  // GoString returns the string representation.
  7062  //
  7063  // API parameter values that are decorated as "sensitive" in the API will not
  7064  // be included in the string output. The member name will be present, but the
  7065  // value will be replaced with "sensitive".
  7066  func (s DeleteImageBuilderOutput) GoString() string {
  7067  	return s.String()
  7068  }
  7069  
  7070  // SetImageBuilder sets the ImageBuilder field's value.
  7071  func (s *DeleteImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *DeleteImageBuilderOutput {
  7072  	s.ImageBuilder = v
  7073  	return s
  7074  }
  7075  
  7076  type DeleteImageInput struct {
  7077  	_ struct{} `type:"structure"`
  7078  
  7079  	// The name of the image.
  7080  	//
  7081  	// Name is a required field
  7082  	Name *string `type:"string" required:"true"`
  7083  }
  7084  
  7085  // String returns the string representation.
  7086  //
  7087  // API parameter values that are decorated as "sensitive" in the API will not
  7088  // be included in the string output. The member name will be present, but the
  7089  // value will be replaced with "sensitive".
  7090  func (s DeleteImageInput) String() string {
  7091  	return awsutil.Prettify(s)
  7092  }
  7093  
  7094  // GoString returns the string representation.
  7095  //
  7096  // API parameter values that are decorated as "sensitive" in the API will not
  7097  // be included in the string output. The member name will be present, but the
  7098  // value will be replaced with "sensitive".
  7099  func (s DeleteImageInput) GoString() string {
  7100  	return s.String()
  7101  }
  7102  
  7103  // Validate inspects the fields of the type to determine if they are valid.
  7104  func (s *DeleteImageInput) Validate() error {
  7105  	invalidParams := request.ErrInvalidParams{Context: "DeleteImageInput"}
  7106  	if s.Name == nil {
  7107  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7108  	}
  7109  
  7110  	if invalidParams.Len() > 0 {
  7111  		return invalidParams
  7112  	}
  7113  	return nil
  7114  }
  7115  
  7116  // SetName sets the Name field's value.
  7117  func (s *DeleteImageInput) SetName(v string) *DeleteImageInput {
  7118  	s.Name = &v
  7119  	return s
  7120  }
  7121  
  7122  type DeleteImageOutput struct {
  7123  	_ struct{} `type:"structure"`
  7124  
  7125  	// Information about the image.
  7126  	Image *Image `type:"structure"`
  7127  }
  7128  
  7129  // String returns the string representation.
  7130  //
  7131  // API parameter values that are decorated as "sensitive" in the API will not
  7132  // be included in the string output. The member name will be present, but the
  7133  // value will be replaced with "sensitive".
  7134  func (s DeleteImageOutput) String() string {
  7135  	return awsutil.Prettify(s)
  7136  }
  7137  
  7138  // GoString returns the string representation.
  7139  //
  7140  // API parameter values that are decorated as "sensitive" in the API will not
  7141  // be included in the string output. The member name will be present, but the
  7142  // value will be replaced with "sensitive".
  7143  func (s DeleteImageOutput) GoString() string {
  7144  	return s.String()
  7145  }
  7146  
  7147  // SetImage sets the Image field's value.
  7148  func (s *DeleteImageOutput) SetImage(v *Image) *DeleteImageOutput {
  7149  	s.Image = v
  7150  	return s
  7151  }
  7152  
  7153  type DeleteImagePermissionsInput struct {
  7154  	_ struct{} `type:"structure"`
  7155  
  7156  	// The name of the private image.
  7157  	//
  7158  	// Name is a required field
  7159  	Name *string `type:"string" required:"true"`
  7160  
  7161  	// The 12-digit identifier of the AWS account for which to delete image permissions.
  7162  	//
  7163  	// SharedAccountId is a required field
  7164  	SharedAccountId *string `type:"string" required:"true"`
  7165  }
  7166  
  7167  // String returns the string representation.
  7168  //
  7169  // API parameter values that are decorated as "sensitive" in the API will not
  7170  // be included in the string output. The member name will be present, but the
  7171  // value will be replaced with "sensitive".
  7172  func (s DeleteImagePermissionsInput) String() string {
  7173  	return awsutil.Prettify(s)
  7174  }
  7175  
  7176  // GoString returns the string representation.
  7177  //
  7178  // API parameter values that are decorated as "sensitive" in the API will not
  7179  // be included in the string output. The member name will be present, but the
  7180  // value will be replaced with "sensitive".
  7181  func (s DeleteImagePermissionsInput) GoString() string {
  7182  	return s.String()
  7183  }
  7184  
  7185  // Validate inspects the fields of the type to determine if they are valid.
  7186  func (s *DeleteImagePermissionsInput) Validate() error {
  7187  	invalidParams := request.ErrInvalidParams{Context: "DeleteImagePermissionsInput"}
  7188  	if s.Name == nil {
  7189  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7190  	}
  7191  	if s.SharedAccountId == nil {
  7192  		invalidParams.Add(request.NewErrParamRequired("SharedAccountId"))
  7193  	}
  7194  
  7195  	if invalidParams.Len() > 0 {
  7196  		return invalidParams
  7197  	}
  7198  	return nil
  7199  }
  7200  
  7201  // SetName sets the Name field's value.
  7202  func (s *DeleteImagePermissionsInput) SetName(v string) *DeleteImagePermissionsInput {
  7203  	s.Name = &v
  7204  	return s
  7205  }
  7206  
  7207  // SetSharedAccountId sets the SharedAccountId field's value.
  7208  func (s *DeleteImagePermissionsInput) SetSharedAccountId(v string) *DeleteImagePermissionsInput {
  7209  	s.SharedAccountId = &v
  7210  	return s
  7211  }
  7212  
  7213  type DeleteImagePermissionsOutput struct {
  7214  	_ struct{} `type:"structure"`
  7215  }
  7216  
  7217  // String returns the string representation.
  7218  //
  7219  // API parameter values that are decorated as "sensitive" in the API will not
  7220  // be included in the string output. The member name will be present, but the
  7221  // value will be replaced with "sensitive".
  7222  func (s DeleteImagePermissionsOutput) String() string {
  7223  	return awsutil.Prettify(s)
  7224  }
  7225  
  7226  // GoString returns the string representation.
  7227  //
  7228  // API parameter values that are decorated as "sensitive" in the API will not
  7229  // be included in the string output. The member name will be present, but the
  7230  // value will be replaced with "sensitive".
  7231  func (s DeleteImagePermissionsOutput) GoString() string {
  7232  	return s.String()
  7233  }
  7234  
  7235  type DeleteStackInput struct {
  7236  	_ struct{} `type:"structure"`
  7237  
  7238  	// The name of the stack.
  7239  	//
  7240  	// Name is a required field
  7241  	Name *string `min:"1" type:"string" required:"true"`
  7242  }
  7243  
  7244  // String returns the string representation.
  7245  //
  7246  // API parameter values that are decorated as "sensitive" in the API will not
  7247  // be included in the string output. The member name will be present, but the
  7248  // value will be replaced with "sensitive".
  7249  func (s DeleteStackInput) String() string {
  7250  	return awsutil.Prettify(s)
  7251  }
  7252  
  7253  // GoString returns the string representation.
  7254  //
  7255  // API parameter values that are decorated as "sensitive" in the API will not
  7256  // be included in the string output. The member name will be present, but the
  7257  // value will be replaced with "sensitive".
  7258  func (s DeleteStackInput) GoString() string {
  7259  	return s.String()
  7260  }
  7261  
  7262  // Validate inspects the fields of the type to determine if they are valid.
  7263  func (s *DeleteStackInput) Validate() error {
  7264  	invalidParams := request.ErrInvalidParams{Context: "DeleteStackInput"}
  7265  	if s.Name == nil {
  7266  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7267  	}
  7268  	if s.Name != nil && len(*s.Name) < 1 {
  7269  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7270  	}
  7271  
  7272  	if invalidParams.Len() > 0 {
  7273  		return invalidParams
  7274  	}
  7275  	return nil
  7276  }
  7277  
  7278  // SetName sets the Name field's value.
  7279  func (s *DeleteStackInput) SetName(v string) *DeleteStackInput {
  7280  	s.Name = &v
  7281  	return s
  7282  }
  7283  
  7284  type DeleteStackOutput struct {
  7285  	_ struct{} `type:"structure"`
  7286  }
  7287  
  7288  // String returns the string representation.
  7289  //
  7290  // API parameter values that are decorated as "sensitive" in the API will not
  7291  // be included in the string output. The member name will be present, but the
  7292  // value will be replaced with "sensitive".
  7293  func (s DeleteStackOutput) String() string {
  7294  	return awsutil.Prettify(s)
  7295  }
  7296  
  7297  // GoString returns the string representation.
  7298  //
  7299  // API parameter values that are decorated as "sensitive" in the API will not
  7300  // be included in the string output. The member name will be present, but the
  7301  // value will be replaced with "sensitive".
  7302  func (s DeleteStackOutput) GoString() string {
  7303  	return s.String()
  7304  }
  7305  
  7306  type DeleteUsageReportSubscriptionInput struct {
  7307  	_ struct{} `type:"structure"`
  7308  }
  7309  
  7310  // String returns the string representation.
  7311  //
  7312  // API parameter values that are decorated as "sensitive" in the API will not
  7313  // be included in the string output. The member name will be present, but the
  7314  // value will be replaced with "sensitive".
  7315  func (s DeleteUsageReportSubscriptionInput) String() string {
  7316  	return awsutil.Prettify(s)
  7317  }
  7318  
  7319  // GoString returns the string representation.
  7320  //
  7321  // API parameter values that are decorated as "sensitive" in the API will not
  7322  // be included in the string output. The member name will be present, but the
  7323  // value will be replaced with "sensitive".
  7324  func (s DeleteUsageReportSubscriptionInput) GoString() string {
  7325  	return s.String()
  7326  }
  7327  
  7328  type DeleteUsageReportSubscriptionOutput struct {
  7329  	_ struct{} `type:"structure"`
  7330  }
  7331  
  7332  // String returns the string representation.
  7333  //
  7334  // API parameter values that are decorated as "sensitive" in the API will not
  7335  // be included in the string output. The member name will be present, but the
  7336  // value will be replaced with "sensitive".
  7337  func (s DeleteUsageReportSubscriptionOutput) String() string {
  7338  	return awsutil.Prettify(s)
  7339  }
  7340  
  7341  // GoString returns the string representation.
  7342  //
  7343  // API parameter values that are decorated as "sensitive" in the API will not
  7344  // be included in the string output. The member name will be present, but the
  7345  // value will be replaced with "sensitive".
  7346  func (s DeleteUsageReportSubscriptionOutput) GoString() string {
  7347  	return s.String()
  7348  }
  7349  
  7350  type DeleteUserInput struct {
  7351  	_ struct{} `type:"structure"`
  7352  
  7353  	// The authentication type for the user. You must specify USERPOOL.
  7354  	//
  7355  	// AuthenticationType is a required field
  7356  	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
  7357  
  7358  	// The email address of the user.
  7359  	//
  7360  	// Users' email addresses are case-sensitive.
  7361  	//
  7362  	// UserName is a sensitive parameter and its value will be
  7363  	// replaced with "sensitive" in string returned by DeleteUserInput's
  7364  	// String and GoString methods.
  7365  	//
  7366  	// UserName is a required field
  7367  	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
  7368  }
  7369  
  7370  // String returns the string representation.
  7371  //
  7372  // API parameter values that are decorated as "sensitive" in the API will not
  7373  // be included in the string output. The member name will be present, but the
  7374  // value will be replaced with "sensitive".
  7375  func (s DeleteUserInput) String() string {
  7376  	return awsutil.Prettify(s)
  7377  }
  7378  
  7379  // GoString returns the string representation.
  7380  //
  7381  // API parameter values that are decorated as "sensitive" in the API will not
  7382  // be included in the string output. The member name will be present, but the
  7383  // value will be replaced with "sensitive".
  7384  func (s DeleteUserInput) GoString() string {
  7385  	return s.String()
  7386  }
  7387  
  7388  // Validate inspects the fields of the type to determine if they are valid.
  7389  func (s *DeleteUserInput) Validate() error {
  7390  	invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
  7391  	if s.AuthenticationType == nil {
  7392  		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
  7393  	}
  7394  	if s.UserName == nil {
  7395  		invalidParams.Add(request.NewErrParamRequired("UserName"))
  7396  	}
  7397  	if s.UserName != nil && len(*s.UserName) < 1 {
  7398  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  7399  	}
  7400  
  7401  	if invalidParams.Len() > 0 {
  7402  		return invalidParams
  7403  	}
  7404  	return nil
  7405  }
  7406  
  7407  // SetAuthenticationType sets the AuthenticationType field's value.
  7408  func (s *DeleteUserInput) SetAuthenticationType(v string) *DeleteUserInput {
  7409  	s.AuthenticationType = &v
  7410  	return s
  7411  }
  7412  
  7413  // SetUserName sets the UserName field's value.
  7414  func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput {
  7415  	s.UserName = &v
  7416  	return s
  7417  }
  7418  
  7419  type DeleteUserOutput struct {
  7420  	_ struct{} `type:"structure"`
  7421  }
  7422  
  7423  // String returns the string representation.
  7424  //
  7425  // API parameter values that are decorated as "sensitive" in the API will not
  7426  // be included in the string output. The member name will be present, but the
  7427  // value will be replaced with "sensitive".
  7428  func (s DeleteUserOutput) String() string {
  7429  	return awsutil.Prettify(s)
  7430  }
  7431  
  7432  // GoString returns the string representation.
  7433  //
  7434  // API parameter values that are decorated as "sensitive" in the API will not
  7435  // be included in the string output. The member name will be present, but the
  7436  // value will be replaced with "sensitive".
  7437  func (s DeleteUserOutput) GoString() string {
  7438  	return s.String()
  7439  }
  7440  
  7441  type DescribeDirectoryConfigsInput struct {
  7442  	_ struct{} `type:"structure"`
  7443  
  7444  	// The directory names.
  7445  	DirectoryNames []*string `type:"list"`
  7446  
  7447  	// The maximum size of each page of results.
  7448  	MaxResults *int64 `type:"integer"`
  7449  
  7450  	// The pagination token to use to retrieve the next page of results for this
  7451  	// operation. If this value is null, it retrieves the first page.
  7452  	NextToken *string `min:"1" type:"string"`
  7453  }
  7454  
  7455  // String returns the string representation.
  7456  //
  7457  // API parameter values that are decorated as "sensitive" in the API will not
  7458  // be included in the string output. The member name will be present, but the
  7459  // value will be replaced with "sensitive".
  7460  func (s DescribeDirectoryConfigsInput) String() string {
  7461  	return awsutil.Prettify(s)
  7462  }
  7463  
  7464  // GoString returns the string representation.
  7465  //
  7466  // API parameter values that are decorated as "sensitive" in the API will not
  7467  // be included in the string output. The member name will be present, but the
  7468  // value will be replaced with "sensitive".
  7469  func (s DescribeDirectoryConfigsInput) GoString() string {
  7470  	return s.String()
  7471  }
  7472  
  7473  // Validate inspects the fields of the type to determine if they are valid.
  7474  func (s *DescribeDirectoryConfigsInput) Validate() error {
  7475  	invalidParams := request.ErrInvalidParams{Context: "DescribeDirectoryConfigsInput"}
  7476  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7477  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7478  	}
  7479  
  7480  	if invalidParams.Len() > 0 {
  7481  		return invalidParams
  7482  	}
  7483  	return nil
  7484  }
  7485  
  7486  // SetDirectoryNames sets the DirectoryNames field's value.
  7487  func (s *DescribeDirectoryConfigsInput) SetDirectoryNames(v []*string) *DescribeDirectoryConfigsInput {
  7488  	s.DirectoryNames = v
  7489  	return s
  7490  }
  7491  
  7492  // SetMaxResults sets the MaxResults field's value.
  7493  func (s *DescribeDirectoryConfigsInput) SetMaxResults(v int64) *DescribeDirectoryConfigsInput {
  7494  	s.MaxResults = &v
  7495  	return s
  7496  }
  7497  
  7498  // SetNextToken sets the NextToken field's value.
  7499  func (s *DescribeDirectoryConfigsInput) SetNextToken(v string) *DescribeDirectoryConfigsInput {
  7500  	s.NextToken = &v
  7501  	return s
  7502  }
  7503  
  7504  type DescribeDirectoryConfigsOutput struct {
  7505  	_ struct{} `type:"structure"`
  7506  
  7507  	// Information about the directory configurations. Note that although the response
  7508  	// syntax in this topic includes the account password, this password is not
  7509  	// returned in the actual response.
  7510  	DirectoryConfigs []*DirectoryConfig `type:"list"`
  7511  
  7512  	// The pagination token to use to retrieve the next page of results for this
  7513  	// operation. If there are no more pages, this value is null.
  7514  	NextToken *string `min:"1" type:"string"`
  7515  }
  7516  
  7517  // String returns the string representation.
  7518  //
  7519  // API parameter values that are decorated as "sensitive" in the API will not
  7520  // be included in the string output. The member name will be present, but the
  7521  // value will be replaced with "sensitive".
  7522  func (s DescribeDirectoryConfigsOutput) String() string {
  7523  	return awsutil.Prettify(s)
  7524  }
  7525  
  7526  // GoString returns the string representation.
  7527  //
  7528  // API parameter values that are decorated as "sensitive" in the API will not
  7529  // be included in the string output. The member name will be present, but the
  7530  // value will be replaced with "sensitive".
  7531  func (s DescribeDirectoryConfigsOutput) GoString() string {
  7532  	return s.String()
  7533  }
  7534  
  7535  // SetDirectoryConfigs sets the DirectoryConfigs field's value.
  7536  func (s *DescribeDirectoryConfigsOutput) SetDirectoryConfigs(v []*DirectoryConfig) *DescribeDirectoryConfigsOutput {
  7537  	s.DirectoryConfigs = v
  7538  	return s
  7539  }
  7540  
  7541  // SetNextToken sets the NextToken field's value.
  7542  func (s *DescribeDirectoryConfigsOutput) SetNextToken(v string) *DescribeDirectoryConfigsOutput {
  7543  	s.NextToken = &v
  7544  	return s
  7545  }
  7546  
  7547  type DescribeFleetsInput struct {
  7548  	_ struct{} `type:"structure"`
  7549  
  7550  	// The names of the fleets to describe.
  7551  	Names []*string `type:"list"`
  7552  
  7553  	// The pagination token to use to retrieve the next page of results for this
  7554  	// operation. If this value is null, it retrieves the first page.
  7555  	NextToken *string `min:"1" type:"string"`
  7556  }
  7557  
  7558  // String returns the string representation.
  7559  //
  7560  // API parameter values that are decorated as "sensitive" in the API will not
  7561  // be included in the string output. The member name will be present, but the
  7562  // value will be replaced with "sensitive".
  7563  func (s DescribeFleetsInput) String() string {
  7564  	return awsutil.Prettify(s)
  7565  }
  7566  
  7567  // GoString returns the string representation.
  7568  //
  7569  // API parameter values that are decorated as "sensitive" in the API will not
  7570  // be included in the string output. The member name will be present, but the
  7571  // value will be replaced with "sensitive".
  7572  func (s DescribeFleetsInput) GoString() string {
  7573  	return s.String()
  7574  }
  7575  
  7576  // Validate inspects the fields of the type to determine if they are valid.
  7577  func (s *DescribeFleetsInput) Validate() error {
  7578  	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetsInput"}
  7579  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7580  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7581  	}
  7582  
  7583  	if invalidParams.Len() > 0 {
  7584  		return invalidParams
  7585  	}
  7586  	return nil
  7587  }
  7588  
  7589  // SetNames sets the Names field's value.
  7590  func (s *DescribeFleetsInput) SetNames(v []*string) *DescribeFleetsInput {
  7591  	s.Names = v
  7592  	return s
  7593  }
  7594  
  7595  // SetNextToken sets the NextToken field's value.
  7596  func (s *DescribeFleetsInput) SetNextToken(v string) *DescribeFleetsInput {
  7597  	s.NextToken = &v
  7598  	return s
  7599  }
  7600  
  7601  type DescribeFleetsOutput struct {
  7602  	_ struct{} `type:"structure"`
  7603  
  7604  	// Information about the fleets.
  7605  	Fleets []*Fleet `type:"list"`
  7606  
  7607  	// The pagination token to use to retrieve the next page of results for this
  7608  	// operation. If there are no more pages, this value is null.
  7609  	NextToken *string `min:"1" type:"string"`
  7610  }
  7611  
  7612  // String returns the string representation.
  7613  //
  7614  // API parameter values that are decorated as "sensitive" in the API will not
  7615  // be included in the string output. The member name will be present, but the
  7616  // value will be replaced with "sensitive".
  7617  func (s DescribeFleetsOutput) String() string {
  7618  	return awsutil.Prettify(s)
  7619  }
  7620  
  7621  // GoString returns the string representation.
  7622  //
  7623  // API parameter values that are decorated as "sensitive" in the API will not
  7624  // be included in the string output. The member name will be present, but the
  7625  // value will be replaced with "sensitive".
  7626  func (s DescribeFleetsOutput) GoString() string {
  7627  	return s.String()
  7628  }
  7629  
  7630  // SetFleets sets the Fleets field's value.
  7631  func (s *DescribeFleetsOutput) SetFleets(v []*Fleet) *DescribeFleetsOutput {
  7632  	s.Fleets = v
  7633  	return s
  7634  }
  7635  
  7636  // SetNextToken sets the NextToken field's value.
  7637  func (s *DescribeFleetsOutput) SetNextToken(v string) *DescribeFleetsOutput {
  7638  	s.NextToken = &v
  7639  	return s
  7640  }
  7641  
  7642  type DescribeImageBuildersInput struct {
  7643  	_ struct{} `type:"structure"`
  7644  
  7645  	// The maximum size of each page of results.
  7646  	MaxResults *int64 `type:"integer"`
  7647  
  7648  	// The names of the image builders to describe.
  7649  	Names []*string `type:"list"`
  7650  
  7651  	// The pagination token to use to retrieve the next page of results for this
  7652  	// operation. If this value is null, it retrieves the first page.
  7653  	NextToken *string `min:"1" type:"string"`
  7654  }
  7655  
  7656  // String returns the string representation.
  7657  //
  7658  // API parameter values that are decorated as "sensitive" in the API will not
  7659  // be included in the string output. The member name will be present, but the
  7660  // value will be replaced with "sensitive".
  7661  func (s DescribeImageBuildersInput) String() string {
  7662  	return awsutil.Prettify(s)
  7663  }
  7664  
  7665  // GoString returns the string representation.
  7666  //
  7667  // API parameter values that are decorated as "sensitive" in the API will not
  7668  // be included in the string output. The member name will be present, but the
  7669  // value will be replaced with "sensitive".
  7670  func (s DescribeImageBuildersInput) GoString() string {
  7671  	return s.String()
  7672  }
  7673  
  7674  // Validate inspects the fields of the type to determine if they are valid.
  7675  func (s *DescribeImageBuildersInput) Validate() error {
  7676  	invalidParams := request.ErrInvalidParams{Context: "DescribeImageBuildersInput"}
  7677  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7678  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7679  	}
  7680  
  7681  	if invalidParams.Len() > 0 {
  7682  		return invalidParams
  7683  	}
  7684  	return nil
  7685  }
  7686  
  7687  // SetMaxResults sets the MaxResults field's value.
  7688  func (s *DescribeImageBuildersInput) SetMaxResults(v int64) *DescribeImageBuildersInput {
  7689  	s.MaxResults = &v
  7690  	return s
  7691  }
  7692  
  7693  // SetNames sets the Names field's value.
  7694  func (s *DescribeImageBuildersInput) SetNames(v []*string) *DescribeImageBuildersInput {
  7695  	s.Names = v
  7696  	return s
  7697  }
  7698  
  7699  // SetNextToken sets the NextToken field's value.
  7700  func (s *DescribeImageBuildersInput) SetNextToken(v string) *DescribeImageBuildersInput {
  7701  	s.NextToken = &v
  7702  	return s
  7703  }
  7704  
  7705  type DescribeImageBuildersOutput struct {
  7706  	_ struct{} `type:"structure"`
  7707  
  7708  	// Information about the image builders.
  7709  	ImageBuilders []*ImageBuilder `type:"list"`
  7710  
  7711  	// The pagination token to use to retrieve the next page of results for this
  7712  	// operation. If there are no more pages, this value is null.
  7713  	NextToken *string `min:"1" type:"string"`
  7714  }
  7715  
  7716  // String returns the string representation.
  7717  //
  7718  // API parameter values that are decorated as "sensitive" in the API will not
  7719  // be included in the string output. The member name will be present, but the
  7720  // value will be replaced with "sensitive".
  7721  func (s DescribeImageBuildersOutput) String() string {
  7722  	return awsutil.Prettify(s)
  7723  }
  7724  
  7725  // GoString returns the string representation.
  7726  //
  7727  // API parameter values that are decorated as "sensitive" in the API will not
  7728  // be included in the string output. The member name will be present, but the
  7729  // value will be replaced with "sensitive".
  7730  func (s DescribeImageBuildersOutput) GoString() string {
  7731  	return s.String()
  7732  }
  7733  
  7734  // SetImageBuilders sets the ImageBuilders field's value.
  7735  func (s *DescribeImageBuildersOutput) SetImageBuilders(v []*ImageBuilder) *DescribeImageBuildersOutput {
  7736  	s.ImageBuilders = v
  7737  	return s
  7738  }
  7739  
  7740  // SetNextToken sets the NextToken field's value.
  7741  func (s *DescribeImageBuildersOutput) SetNextToken(v string) *DescribeImageBuildersOutput {
  7742  	s.NextToken = &v
  7743  	return s
  7744  }
  7745  
  7746  type DescribeImagePermissionsInput struct {
  7747  	_ struct{} `type:"structure"`
  7748  
  7749  	// The maximum size of each page of results.
  7750  	MaxResults *int64 `type:"integer"`
  7751  
  7752  	// The name of the private image for which to describe permissions. The image
  7753  	// must be one that you own.
  7754  	//
  7755  	// Name is a required field
  7756  	Name *string `type:"string" required:"true"`
  7757  
  7758  	// The pagination token to use to retrieve the next page of results for this
  7759  	// operation. If this value is null, it retrieves the first page.
  7760  	NextToken *string `min:"1" type:"string"`
  7761  
  7762  	// The 12-digit identifier of one or more AWS accounts with which the image
  7763  	// is shared.
  7764  	SharedAwsAccountIds []*string `min:"1" type:"list"`
  7765  }
  7766  
  7767  // String returns the string representation.
  7768  //
  7769  // API parameter values that are decorated as "sensitive" in the API will not
  7770  // be included in the string output. The member name will be present, but the
  7771  // value will be replaced with "sensitive".
  7772  func (s DescribeImagePermissionsInput) String() string {
  7773  	return awsutil.Prettify(s)
  7774  }
  7775  
  7776  // GoString returns the string representation.
  7777  //
  7778  // API parameter values that are decorated as "sensitive" in the API will not
  7779  // be included in the string output. The member name will be present, but the
  7780  // value will be replaced with "sensitive".
  7781  func (s DescribeImagePermissionsInput) GoString() string {
  7782  	return s.String()
  7783  }
  7784  
  7785  // Validate inspects the fields of the type to determine if they are valid.
  7786  func (s *DescribeImagePermissionsInput) Validate() error {
  7787  	invalidParams := request.ErrInvalidParams{Context: "DescribeImagePermissionsInput"}
  7788  	if s.Name == nil {
  7789  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7790  	}
  7791  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7792  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7793  	}
  7794  	if s.SharedAwsAccountIds != nil && len(s.SharedAwsAccountIds) < 1 {
  7795  		invalidParams.Add(request.NewErrParamMinLen("SharedAwsAccountIds", 1))
  7796  	}
  7797  
  7798  	if invalidParams.Len() > 0 {
  7799  		return invalidParams
  7800  	}
  7801  	return nil
  7802  }
  7803  
  7804  // SetMaxResults sets the MaxResults field's value.
  7805  func (s *DescribeImagePermissionsInput) SetMaxResults(v int64) *DescribeImagePermissionsInput {
  7806  	s.MaxResults = &v
  7807  	return s
  7808  }
  7809  
  7810  // SetName sets the Name field's value.
  7811  func (s *DescribeImagePermissionsInput) SetName(v string) *DescribeImagePermissionsInput {
  7812  	s.Name = &v
  7813  	return s
  7814  }
  7815  
  7816  // SetNextToken sets the NextToken field's value.
  7817  func (s *DescribeImagePermissionsInput) SetNextToken(v string) *DescribeImagePermissionsInput {
  7818  	s.NextToken = &v
  7819  	return s
  7820  }
  7821  
  7822  // SetSharedAwsAccountIds sets the SharedAwsAccountIds field's value.
  7823  func (s *DescribeImagePermissionsInput) SetSharedAwsAccountIds(v []*string) *DescribeImagePermissionsInput {
  7824  	s.SharedAwsAccountIds = v
  7825  	return s
  7826  }
  7827  
  7828  type DescribeImagePermissionsOutput struct {
  7829  	_ struct{} `type:"structure"`
  7830  
  7831  	// The name of the private image.
  7832  	Name *string `type:"string"`
  7833  
  7834  	// The pagination token to use to retrieve the next page of results for this
  7835  	// operation. If there are no more pages, this value is null.
  7836  	NextToken *string `min:"1" type:"string"`
  7837  
  7838  	// The permissions for a private image that you own.
  7839  	SharedImagePermissionsList []*SharedImagePermissions `type:"list"`
  7840  }
  7841  
  7842  // String returns the string representation.
  7843  //
  7844  // API parameter values that are decorated as "sensitive" in the API will not
  7845  // be included in the string output. The member name will be present, but the
  7846  // value will be replaced with "sensitive".
  7847  func (s DescribeImagePermissionsOutput) String() string {
  7848  	return awsutil.Prettify(s)
  7849  }
  7850  
  7851  // GoString returns the string representation.
  7852  //
  7853  // API parameter values that are decorated as "sensitive" in the API will not
  7854  // be included in the string output. The member name will be present, but the
  7855  // value will be replaced with "sensitive".
  7856  func (s DescribeImagePermissionsOutput) GoString() string {
  7857  	return s.String()
  7858  }
  7859  
  7860  // SetName sets the Name field's value.
  7861  func (s *DescribeImagePermissionsOutput) SetName(v string) *DescribeImagePermissionsOutput {
  7862  	s.Name = &v
  7863  	return s
  7864  }
  7865  
  7866  // SetNextToken sets the NextToken field's value.
  7867  func (s *DescribeImagePermissionsOutput) SetNextToken(v string) *DescribeImagePermissionsOutput {
  7868  	s.NextToken = &v
  7869  	return s
  7870  }
  7871  
  7872  // SetSharedImagePermissionsList sets the SharedImagePermissionsList field's value.
  7873  func (s *DescribeImagePermissionsOutput) SetSharedImagePermissionsList(v []*SharedImagePermissions) *DescribeImagePermissionsOutput {
  7874  	s.SharedImagePermissionsList = v
  7875  	return s
  7876  }
  7877  
  7878  type DescribeImagesInput struct {
  7879  	_ struct{} `type:"structure"`
  7880  
  7881  	// The ARNs of the public, private, and shared images to describe.
  7882  	Arns []*string `type:"list"`
  7883  
  7884  	// The maximum size of each page of results.
  7885  	MaxResults *int64 `type:"integer"`
  7886  
  7887  	// The names of the public or private images to describe.
  7888  	Names []*string `type:"list"`
  7889  
  7890  	// The pagination token to use to retrieve the next page of results for this
  7891  	// operation. If this value is null, it retrieves the first page.
  7892  	NextToken *string `min:"1" type:"string"`
  7893  
  7894  	// The type of image (public, private, or shared) to describe.
  7895  	Type *string `type:"string" enum:"VisibilityType"`
  7896  }
  7897  
  7898  // String returns the string representation.
  7899  //
  7900  // API parameter values that are decorated as "sensitive" in the API will not
  7901  // be included in the string output. The member name will be present, but the
  7902  // value will be replaced with "sensitive".
  7903  func (s DescribeImagesInput) String() string {
  7904  	return awsutil.Prettify(s)
  7905  }
  7906  
  7907  // GoString returns the string representation.
  7908  //
  7909  // API parameter values that are decorated as "sensitive" in the API will not
  7910  // be included in the string output. The member name will be present, but the
  7911  // value will be replaced with "sensitive".
  7912  func (s DescribeImagesInput) GoString() string {
  7913  	return s.String()
  7914  }
  7915  
  7916  // Validate inspects the fields of the type to determine if they are valid.
  7917  func (s *DescribeImagesInput) Validate() error {
  7918  	invalidParams := request.ErrInvalidParams{Context: "DescribeImagesInput"}
  7919  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7920  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7921  	}
  7922  
  7923  	if invalidParams.Len() > 0 {
  7924  		return invalidParams
  7925  	}
  7926  	return nil
  7927  }
  7928  
  7929  // SetArns sets the Arns field's value.
  7930  func (s *DescribeImagesInput) SetArns(v []*string) *DescribeImagesInput {
  7931  	s.Arns = v
  7932  	return s
  7933  }
  7934  
  7935  // SetMaxResults sets the MaxResults field's value.
  7936  func (s *DescribeImagesInput) SetMaxResults(v int64) *DescribeImagesInput {
  7937  	s.MaxResults = &v
  7938  	return s
  7939  }
  7940  
  7941  // SetNames sets the Names field's value.
  7942  func (s *DescribeImagesInput) SetNames(v []*string) *DescribeImagesInput {
  7943  	s.Names = v
  7944  	return s
  7945  }
  7946  
  7947  // SetNextToken sets the NextToken field's value.
  7948  func (s *DescribeImagesInput) SetNextToken(v string) *DescribeImagesInput {
  7949  	s.NextToken = &v
  7950  	return s
  7951  }
  7952  
  7953  // SetType sets the Type field's value.
  7954  func (s *DescribeImagesInput) SetType(v string) *DescribeImagesInput {
  7955  	s.Type = &v
  7956  	return s
  7957  }
  7958  
  7959  type DescribeImagesOutput struct {
  7960  	_ struct{} `type:"structure"`
  7961  
  7962  	// Information about the images.
  7963  	Images []*Image `type:"list"`
  7964  
  7965  	// The pagination token to use to retrieve the next page of results for this
  7966  	// operation. If there are no more pages, this value is null.
  7967  	NextToken *string `min:"1" type:"string"`
  7968  }
  7969  
  7970  // String returns the string representation.
  7971  //
  7972  // API parameter values that are decorated as "sensitive" in the API will not
  7973  // be included in the string output. The member name will be present, but the
  7974  // value will be replaced with "sensitive".
  7975  func (s DescribeImagesOutput) String() string {
  7976  	return awsutil.Prettify(s)
  7977  }
  7978  
  7979  // GoString returns the string representation.
  7980  //
  7981  // API parameter values that are decorated as "sensitive" in the API will not
  7982  // be included in the string output. The member name will be present, but the
  7983  // value will be replaced with "sensitive".
  7984  func (s DescribeImagesOutput) GoString() string {
  7985  	return s.String()
  7986  }
  7987  
  7988  // SetImages sets the Images field's value.
  7989  func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
  7990  	s.Images = v
  7991  	return s
  7992  }
  7993  
  7994  // SetNextToken sets the NextToken field's value.
  7995  func (s *DescribeImagesOutput) SetNextToken(v string) *DescribeImagesOutput {
  7996  	s.NextToken = &v
  7997  	return s
  7998  }
  7999  
  8000  type DescribeSessionsInput struct {
  8001  	_ struct{} `type:"structure"`
  8002  
  8003  	// The authentication method. Specify API for a user authenticated using a streaming
  8004  	// URL or SAML for a SAML federated user. The default is to authenticate users
  8005  	// using a streaming URL.
  8006  	AuthenticationType *string `type:"string" enum:"AuthenticationType"`
  8007  
  8008  	// The name of the fleet. This value is case-sensitive.
  8009  	//
  8010  	// FleetName is a required field
  8011  	FleetName *string `min:"1" type:"string" required:"true"`
  8012  
  8013  	// The size of each page of results. The default value is 20 and the maximum
  8014  	// value is 50.
  8015  	Limit *int64 `type:"integer"`
  8016  
  8017  	// The pagination token to use to retrieve the next page of results for this
  8018  	// operation. If this value is null, it retrieves the first page.
  8019  	NextToken *string `min:"1" type:"string"`
  8020  
  8021  	// The name of the stack. This value is case-sensitive.
  8022  	//
  8023  	// StackName is a required field
  8024  	StackName *string `min:"1" type:"string" required:"true"`
  8025  
  8026  	// The user identifier (ID). If you specify a user ID, you must also specify
  8027  	// the authentication type.
  8028  	UserId *string `min:"2" type:"string"`
  8029  }
  8030  
  8031  // String returns the string representation.
  8032  //
  8033  // API parameter values that are decorated as "sensitive" in the API will not
  8034  // be included in the string output. The member name will be present, but the
  8035  // value will be replaced with "sensitive".
  8036  func (s DescribeSessionsInput) String() string {
  8037  	return awsutil.Prettify(s)
  8038  }
  8039  
  8040  // GoString returns the string representation.
  8041  //
  8042  // API parameter values that are decorated as "sensitive" in the API will not
  8043  // be included in the string output. The member name will be present, but the
  8044  // value will be replaced with "sensitive".
  8045  func (s DescribeSessionsInput) GoString() string {
  8046  	return s.String()
  8047  }
  8048  
  8049  // Validate inspects the fields of the type to determine if they are valid.
  8050  func (s *DescribeSessionsInput) Validate() error {
  8051  	invalidParams := request.ErrInvalidParams{Context: "DescribeSessionsInput"}
  8052  	if s.FleetName == nil {
  8053  		invalidParams.Add(request.NewErrParamRequired("FleetName"))
  8054  	}
  8055  	if s.FleetName != nil && len(*s.FleetName) < 1 {
  8056  		invalidParams.Add(request.NewErrParamMinLen("FleetName", 1))
  8057  	}
  8058  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8059  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8060  	}
  8061  	if s.StackName == nil {
  8062  		invalidParams.Add(request.NewErrParamRequired("StackName"))
  8063  	}
  8064  	if s.StackName != nil && len(*s.StackName) < 1 {
  8065  		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  8066  	}
  8067  	if s.UserId != nil && len(*s.UserId) < 2 {
  8068  		invalidParams.Add(request.NewErrParamMinLen("UserId", 2))
  8069  	}
  8070  
  8071  	if invalidParams.Len() > 0 {
  8072  		return invalidParams
  8073  	}
  8074  	return nil
  8075  }
  8076  
  8077  // SetAuthenticationType sets the AuthenticationType field's value.
  8078  func (s *DescribeSessionsInput) SetAuthenticationType(v string) *DescribeSessionsInput {
  8079  	s.AuthenticationType = &v
  8080  	return s
  8081  }
  8082  
  8083  // SetFleetName sets the FleetName field's value.
  8084  func (s *DescribeSessionsInput) SetFleetName(v string) *DescribeSessionsInput {
  8085  	s.FleetName = &v
  8086  	return s
  8087  }
  8088  
  8089  // SetLimit sets the Limit field's value.
  8090  func (s *DescribeSessionsInput) SetLimit(v int64) *DescribeSessionsInput {
  8091  	s.Limit = &v
  8092  	return s
  8093  }
  8094  
  8095  // SetNextToken sets the NextToken field's value.
  8096  func (s *DescribeSessionsInput) SetNextToken(v string) *DescribeSessionsInput {
  8097  	s.NextToken = &v
  8098  	return s
  8099  }
  8100  
  8101  // SetStackName sets the StackName field's value.
  8102  func (s *DescribeSessionsInput) SetStackName(v string) *DescribeSessionsInput {
  8103  	s.StackName = &v
  8104  	return s
  8105  }
  8106  
  8107  // SetUserId sets the UserId field's value.
  8108  func (s *DescribeSessionsInput) SetUserId(v string) *DescribeSessionsInput {
  8109  	s.UserId = &v
  8110  	return s
  8111  }
  8112  
  8113  type DescribeSessionsOutput struct {
  8114  	_ struct{} `type:"structure"`
  8115  
  8116  	// The pagination token to use to retrieve the next page of results for this
  8117  	// operation. If there are no more pages, this value is null.
  8118  	NextToken *string `min:"1" type:"string"`
  8119  
  8120  	// Information about the streaming sessions.
  8121  	Sessions []*Session `type:"list"`
  8122  }
  8123  
  8124  // String returns the string representation.
  8125  //
  8126  // API parameter values that are decorated as "sensitive" in the API will not
  8127  // be included in the string output. The member name will be present, but the
  8128  // value will be replaced with "sensitive".
  8129  func (s DescribeSessionsOutput) String() string {
  8130  	return awsutil.Prettify(s)
  8131  }
  8132  
  8133  // GoString returns the string representation.
  8134  //
  8135  // API parameter values that are decorated as "sensitive" in the API will not
  8136  // be included in the string output. The member name will be present, but the
  8137  // value will be replaced with "sensitive".
  8138  func (s DescribeSessionsOutput) GoString() string {
  8139  	return s.String()
  8140  }
  8141  
  8142  // SetNextToken sets the NextToken field's value.
  8143  func (s *DescribeSessionsOutput) SetNextToken(v string) *DescribeSessionsOutput {
  8144  	s.NextToken = &v
  8145  	return s
  8146  }
  8147  
  8148  // SetSessions sets the Sessions field's value.
  8149  func (s *DescribeSessionsOutput) SetSessions(v []*Session) *DescribeSessionsOutput {
  8150  	s.Sessions = v
  8151  	return s
  8152  }
  8153  
  8154  type DescribeStacksInput struct {
  8155  	_ struct{} `type:"structure"`
  8156  
  8157  	// The names of the stacks to describe.
  8158  	Names []*string `type:"list"`
  8159  
  8160  	// The pagination token to use to retrieve the next page of results for this
  8161  	// operation. If this value is null, it retrieves the first page.
  8162  	NextToken *string `min:"1" type:"string"`
  8163  }
  8164  
  8165  // String returns the string representation.
  8166  //
  8167  // API parameter values that are decorated as "sensitive" in the API will not
  8168  // be included in the string output. The member name will be present, but the
  8169  // value will be replaced with "sensitive".
  8170  func (s DescribeStacksInput) String() string {
  8171  	return awsutil.Prettify(s)
  8172  }
  8173  
  8174  // GoString returns the string representation.
  8175  //
  8176  // API parameter values that are decorated as "sensitive" in the API will not
  8177  // be included in the string output. The member name will be present, but the
  8178  // value will be replaced with "sensitive".
  8179  func (s DescribeStacksInput) GoString() string {
  8180  	return s.String()
  8181  }
  8182  
  8183  // Validate inspects the fields of the type to determine if they are valid.
  8184  func (s *DescribeStacksInput) Validate() error {
  8185  	invalidParams := request.ErrInvalidParams{Context: "DescribeStacksInput"}
  8186  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8187  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8188  	}
  8189  
  8190  	if invalidParams.Len() > 0 {
  8191  		return invalidParams
  8192  	}
  8193  	return nil
  8194  }
  8195  
  8196  // SetNames sets the Names field's value.
  8197  func (s *DescribeStacksInput) SetNames(v []*string) *DescribeStacksInput {
  8198  	s.Names = v
  8199  	return s
  8200  }
  8201  
  8202  // SetNextToken sets the NextToken field's value.
  8203  func (s *DescribeStacksInput) SetNextToken(v string) *DescribeStacksInput {
  8204  	s.NextToken = &v
  8205  	return s
  8206  }
  8207  
  8208  type DescribeStacksOutput struct {
  8209  	_ struct{} `type:"structure"`
  8210  
  8211  	// The pagination token to use to retrieve the next page of results for this
  8212  	// operation. If there are no more pages, this value is null.
  8213  	NextToken *string `min:"1" type:"string"`
  8214  
  8215  	// Information about the stacks.
  8216  	Stacks []*Stack `type:"list"`
  8217  }
  8218  
  8219  // String returns the string representation.
  8220  //
  8221  // API parameter values that are decorated as "sensitive" in the API will not
  8222  // be included in the string output. The member name will be present, but the
  8223  // value will be replaced with "sensitive".
  8224  func (s DescribeStacksOutput) String() string {
  8225  	return awsutil.Prettify(s)
  8226  }
  8227  
  8228  // GoString returns the string representation.
  8229  //
  8230  // API parameter values that are decorated as "sensitive" in the API will not
  8231  // be included in the string output. The member name will be present, but the
  8232  // value will be replaced with "sensitive".
  8233  func (s DescribeStacksOutput) GoString() string {
  8234  	return s.String()
  8235  }
  8236  
  8237  // SetNextToken sets the NextToken field's value.
  8238  func (s *DescribeStacksOutput) SetNextToken(v string) *DescribeStacksOutput {
  8239  	s.NextToken = &v
  8240  	return s
  8241  }
  8242  
  8243  // SetStacks sets the Stacks field's value.
  8244  func (s *DescribeStacksOutput) SetStacks(v []*Stack) *DescribeStacksOutput {
  8245  	s.Stacks = v
  8246  	return s
  8247  }
  8248  
  8249  type DescribeUsageReportSubscriptionsInput struct {
  8250  	_ struct{} `type:"structure"`
  8251  
  8252  	// The maximum size of each page of results.
  8253  	MaxResults *int64 `type:"integer"`
  8254  
  8255  	// The pagination token to use to retrieve the next page of results for this
  8256  	// operation. If this value is null, it retrieves the first page.
  8257  	NextToken *string `min:"1" type:"string"`
  8258  }
  8259  
  8260  // String returns the string representation.
  8261  //
  8262  // API parameter values that are decorated as "sensitive" in the API will not
  8263  // be included in the string output. The member name will be present, but the
  8264  // value will be replaced with "sensitive".
  8265  func (s DescribeUsageReportSubscriptionsInput) String() string {
  8266  	return awsutil.Prettify(s)
  8267  }
  8268  
  8269  // GoString returns the string representation.
  8270  //
  8271  // API parameter values that are decorated as "sensitive" in the API will not
  8272  // be included in the string output. The member name will be present, but the
  8273  // value will be replaced with "sensitive".
  8274  func (s DescribeUsageReportSubscriptionsInput) GoString() string {
  8275  	return s.String()
  8276  }
  8277  
  8278  // Validate inspects the fields of the type to determine if they are valid.
  8279  func (s *DescribeUsageReportSubscriptionsInput) Validate() error {
  8280  	invalidParams := request.ErrInvalidParams{Context: "DescribeUsageReportSubscriptionsInput"}
  8281  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8282  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8283  	}
  8284  
  8285  	if invalidParams.Len() > 0 {
  8286  		return invalidParams
  8287  	}
  8288  	return nil
  8289  }
  8290  
  8291  // SetMaxResults sets the MaxResults field's value.
  8292  func (s *DescribeUsageReportSubscriptionsInput) SetMaxResults(v int64) *DescribeUsageReportSubscriptionsInput {
  8293  	s.MaxResults = &v
  8294  	return s
  8295  }
  8296  
  8297  // SetNextToken sets the NextToken field's value.
  8298  func (s *DescribeUsageReportSubscriptionsInput) SetNextToken(v string) *DescribeUsageReportSubscriptionsInput {
  8299  	s.NextToken = &v
  8300  	return s
  8301  }
  8302  
  8303  type DescribeUsageReportSubscriptionsOutput struct {
  8304  	_ struct{} `type:"structure"`
  8305  
  8306  	// The pagination token to use to retrieve the next page of results for this
  8307  	// operation. If there are no more pages, this value is null.
  8308  	NextToken *string `min:"1" type:"string"`
  8309  
  8310  	// Information about the usage report subscription.
  8311  	UsageReportSubscriptions []*UsageReportSubscription `type:"list"`
  8312  }
  8313  
  8314  // String returns the string representation.
  8315  //
  8316  // API parameter values that are decorated as "sensitive" in the API will not
  8317  // be included in the string output. The member name will be present, but the
  8318  // value will be replaced with "sensitive".
  8319  func (s DescribeUsageReportSubscriptionsOutput) String() string {
  8320  	return awsutil.Prettify(s)
  8321  }
  8322  
  8323  // GoString returns the string representation.
  8324  //
  8325  // API parameter values that are decorated as "sensitive" in the API will not
  8326  // be included in the string output. The member name will be present, but the
  8327  // value will be replaced with "sensitive".
  8328  func (s DescribeUsageReportSubscriptionsOutput) GoString() string {
  8329  	return s.String()
  8330  }
  8331  
  8332  // SetNextToken sets the NextToken field's value.
  8333  func (s *DescribeUsageReportSubscriptionsOutput) SetNextToken(v string) *DescribeUsageReportSubscriptionsOutput {
  8334  	s.NextToken = &v
  8335  	return s
  8336  }
  8337  
  8338  // SetUsageReportSubscriptions sets the UsageReportSubscriptions field's value.
  8339  func (s *DescribeUsageReportSubscriptionsOutput) SetUsageReportSubscriptions(v []*UsageReportSubscription) *DescribeUsageReportSubscriptionsOutput {
  8340  	s.UsageReportSubscriptions = v
  8341  	return s
  8342  }
  8343  
  8344  type DescribeUserStackAssociationsInput struct {
  8345  	_ struct{} `type:"structure"`
  8346  
  8347  	// The authentication type for the user who is associated with the stack. You
  8348  	// must specify USERPOOL.
  8349  	AuthenticationType *string `type:"string" enum:"AuthenticationType"`
  8350  
  8351  	// The maximum size of each page of results.
  8352  	MaxResults *int64 `type:"integer"`
  8353  
  8354  	// The pagination token to use to retrieve the next page of results for this
  8355  	// operation. If this value is null, it retrieves the first page.
  8356  	NextToken *string `min:"1" type:"string"`
  8357  
  8358  	// The name of the stack that is associated with the user.
  8359  	StackName *string `min:"1" type:"string"`
  8360  
  8361  	// The email address of the user who is associated with the stack.
  8362  	//
  8363  	// Users' email addresses are case-sensitive.
  8364  	//
  8365  	// UserName is a sensitive parameter and its value will be
  8366  	// replaced with "sensitive" in string returned by DescribeUserStackAssociationsInput's
  8367  	// String and GoString methods.
  8368  	UserName *string `min:"1" type:"string" sensitive:"true"`
  8369  }
  8370  
  8371  // String returns the string representation.
  8372  //
  8373  // API parameter values that are decorated as "sensitive" in the API will not
  8374  // be included in the string output. The member name will be present, but the
  8375  // value will be replaced with "sensitive".
  8376  func (s DescribeUserStackAssociationsInput) String() string {
  8377  	return awsutil.Prettify(s)
  8378  }
  8379  
  8380  // GoString returns the string representation.
  8381  //
  8382  // API parameter values that are decorated as "sensitive" in the API will not
  8383  // be included in the string output. The member name will be present, but the
  8384  // value will be replaced with "sensitive".
  8385  func (s DescribeUserStackAssociationsInput) GoString() string {
  8386  	return s.String()
  8387  }
  8388  
  8389  // Validate inspects the fields of the type to determine if they are valid.
  8390  func (s *DescribeUserStackAssociationsInput) Validate() error {
  8391  	invalidParams := request.ErrInvalidParams{Context: "DescribeUserStackAssociationsInput"}
  8392  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8393  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8394  	}
  8395  	if s.StackName != nil && len(*s.StackName) < 1 {
  8396  		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  8397  	}
  8398  	if s.UserName != nil && len(*s.UserName) < 1 {
  8399  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  8400  	}
  8401  
  8402  	if invalidParams.Len() > 0 {
  8403  		return invalidParams
  8404  	}
  8405  	return nil
  8406  }
  8407  
  8408  // SetAuthenticationType sets the AuthenticationType field's value.
  8409  func (s *DescribeUserStackAssociationsInput) SetAuthenticationType(v string) *DescribeUserStackAssociationsInput {
  8410  	s.AuthenticationType = &v
  8411  	return s
  8412  }
  8413  
  8414  // SetMaxResults sets the MaxResults field's value.
  8415  func (s *DescribeUserStackAssociationsInput) SetMaxResults(v int64) *DescribeUserStackAssociationsInput {
  8416  	s.MaxResults = &v
  8417  	return s
  8418  }
  8419  
  8420  // SetNextToken sets the NextToken field's value.
  8421  func (s *DescribeUserStackAssociationsInput) SetNextToken(v string) *DescribeUserStackAssociationsInput {
  8422  	s.NextToken = &v
  8423  	return s
  8424  }
  8425  
  8426  // SetStackName sets the StackName field's value.
  8427  func (s *DescribeUserStackAssociationsInput) SetStackName(v string) *DescribeUserStackAssociationsInput {
  8428  	s.StackName = &v
  8429  	return s
  8430  }
  8431  
  8432  // SetUserName sets the UserName field's value.
  8433  func (s *DescribeUserStackAssociationsInput) SetUserName(v string) *DescribeUserStackAssociationsInput {
  8434  	s.UserName = &v
  8435  	return s
  8436  }
  8437  
  8438  type DescribeUserStackAssociationsOutput struct {
  8439  	_ struct{} `type:"structure"`
  8440  
  8441  	// The pagination token to use to retrieve the next page of results for this
  8442  	// operation. If there are no more pages, this value is null.
  8443  	NextToken *string `min:"1" type:"string"`
  8444  
  8445  	// The UserStackAssociation objects.
  8446  	UserStackAssociations []*UserStackAssociation `min:"1" type:"list"`
  8447  }
  8448  
  8449  // String returns the string representation.
  8450  //
  8451  // API parameter values that are decorated as "sensitive" in the API will not
  8452  // be included in the string output. The member name will be present, but the
  8453  // value will be replaced with "sensitive".
  8454  func (s DescribeUserStackAssociationsOutput) String() string {
  8455  	return awsutil.Prettify(s)
  8456  }
  8457  
  8458  // GoString returns the string representation.
  8459  //
  8460  // API parameter values that are decorated as "sensitive" in the API will not
  8461  // be included in the string output. The member name will be present, but the
  8462  // value will be replaced with "sensitive".
  8463  func (s DescribeUserStackAssociationsOutput) GoString() string {
  8464  	return s.String()
  8465  }
  8466  
  8467  // SetNextToken sets the NextToken field's value.
  8468  func (s *DescribeUserStackAssociationsOutput) SetNextToken(v string) *DescribeUserStackAssociationsOutput {
  8469  	s.NextToken = &v
  8470  	return s
  8471  }
  8472  
  8473  // SetUserStackAssociations sets the UserStackAssociations field's value.
  8474  func (s *DescribeUserStackAssociationsOutput) SetUserStackAssociations(v []*UserStackAssociation) *DescribeUserStackAssociationsOutput {
  8475  	s.UserStackAssociations = v
  8476  	return s
  8477  }
  8478  
  8479  type DescribeUsersInput struct {
  8480  	_ struct{} `type:"structure"`
  8481  
  8482  	// The authentication type for the users in the user pool to describe. You must
  8483  	// specify USERPOOL.
  8484  	//
  8485  	// AuthenticationType is a required field
  8486  	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
  8487  
  8488  	// The maximum size of each page of results.
  8489  	MaxResults *int64 `type:"integer"`
  8490  
  8491  	// The pagination token to use to retrieve the next page of results for this
  8492  	// operation. If this value is null, it retrieves the first page.
  8493  	NextToken *string `min:"1" type:"string"`
  8494  }
  8495  
  8496  // String returns the string representation.
  8497  //
  8498  // API parameter values that are decorated as "sensitive" in the API will not
  8499  // be included in the string output. The member name will be present, but the
  8500  // value will be replaced with "sensitive".
  8501  func (s DescribeUsersInput) String() string {
  8502  	return awsutil.Prettify(s)
  8503  }
  8504  
  8505  // GoString returns the string representation.
  8506  //
  8507  // API parameter values that are decorated as "sensitive" in the API will not
  8508  // be included in the string output. The member name will be present, but the
  8509  // value will be replaced with "sensitive".
  8510  func (s DescribeUsersInput) GoString() string {
  8511  	return s.String()
  8512  }
  8513  
  8514  // Validate inspects the fields of the type to determine if they are valid.
  8515  func (s *DescribeUsersInput) Validate() error {
  8516  	invalidParams := request.ErrInvalidParams{Context: "DescribeUsersInput"}
  8517  	if s.AuthenticationType == nil {
  8518  		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
  8519  	}
  8520  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8521  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8522  	}
  8523  
  8524  	if invalidParams.Len() > 0 {
  8525  		return invalidParams
  8526  	}
  8527  	return nil
  8528  }
  8529  
  8530  // SetAuthenticationType sets the AuthenticationType field's value.
  8531  func (s *DescribeUsersInput) SetAuthenticationType(v string) *DescribeUsersInput {
  8532  	s.AuthenticationType = &v
  8533  	return s
  8534  }
  8535  
  8536  // SetMaxResults sets the MaxResults field's value.
  8537  func (s *DescribeUsersInput) SetMaxResults(v int64) *DescribeUsersInput {
  8538  	s.MaxResults = &v
  8539  	return s
  8540  }
  8541  
  8542  // SetNextToken sets the NextToken field's value.
  8543  func (s *DescribeUsersInput) SetNextToken(v string) *DescribeUsersInput {
  8544  	s.NextToken = &v
  8545  	return s
  8546  }
  8547  
  8548  type DescribeUsersOutput struct {
  8549  	_ struct{} `type:"structure"`
  8550  
  8551  	// The pagination token to use to retrieve the next page of results for this
  8552  	// operation. If there are no more pages, this value is null.
  8553  	NextToken *string `min:"1" type:"string"`
  8554  
  8555  	// Information about users in the user pool.
  8556  	Users []*User `type:"list"`
  8557  }
  8558  
  8559  // String returns the string representation.
  8560  //
  8561  // API parameter values that are decorated as "sensitive" in the API will not
  8562  // be included in the string output. The member name will be present, but the
  8563  // value will be replaced with "sensitive".
  8564  func (s DescribeUsersOutput) String() string {
  8565  	return awsutil.Prettify(s)
  8566  }
  8567  
  8568  // GoString returns the string representation.
  8569  //
  8570  // API parameter values that are decorated as "sensitive" in the API will not
  8571  // be included in the string output. The member name will be present, but the
  8572  // value will be replaced with "sensitive".
  8573  func (s DescribeUsersOutput) GoString() string {
  8574  	return s.String()
  8575  }
  8576  
  8577  // SetNextToken sets the NextToken field's value.
  8578  func (s *DescribeUsersOutput) SetNextToken(v string) *DescribeUsersOutput {
  8579  	s.NextToken = &v
  8580  	return s
  8581  }
  8582  
  8583  // SetUsers sets the Users field's value.
  8584  func (s *DescribeUsersOutput) SetUsers(v []*User) *DescribeUsersOutput {
  8585  	s.Users = v
  8586  	return s
  8587  }
  8588  
  8589  // Describes the configuration information required to join fleets and image
  8590  // builders to Microsoft Active Directory domains.
  8591  type DirectoryConfig struct {
  8592  	_ struct{} `type:"structure"`
  8593  
  8594  	// The time the directory configuration was created.
  8595  	CreatedTime *time.Time `type:"timestamp"`
  8596  
  8597  	// The fully qualified name of the directory (for example, corp.example.com).
  8598  	//
  8599  	// DirectoryName is a required field
  8600  	DirectoryName *string `type:"string" required:"true"`
  8601  
  8602  	// The distinguished names of the organizational units for computer accounts.
  8603  	OrganizationalUnitDistinguishedNames []*string `type:"list"`
  8604  
  8605  	// The credentials for the service account used by the fleet or image builder
  8606  	// to connect to the directory.
  8607  	ServiceAccountCredentials *ServiceAccountCredentials `type:"structure"`
  8608  }
  8609  
  8610  // String returns the string representation.
  8611  //
  8612  // API parameter values that are decorated as "sensitive" in the API will not
  8613  // be included in the string output. The member name will be present, but the
  8614  // value will be replaced with "sensitive".
  8615  func (s DirectoryConfig) String() string {
  8616  	return awsutil.Prettify(s)
  8617  }
  8618  
  8619  // GoString returns the string representation.
  8620  //
  8621  // API parameter values that are decorated as "sensitive" in the API will not
  8622  // be included in the string output. The member name will be present, but the
  8623  // value will be replaced with "sensitive".
  8624  func (s DirectoryConfig) GoString() string {
  8625  	return s.String()
  8626  }
  8627  
  8628  // SetCreatedTime sets the CreatedTime field's value.
  8629  func (s *DirectoryConfig) SetCreatedTime(v time.Time) *DirectoryConfig {
  8630  	s.CreatedTime = &v
  8631  	return s
  8632  }
  8633  
  8634  // SetDirectoryName sets the DirectoryName field's value.
  8635  func (s *DirectoryConfig) SetDirectoryName(v string) *DirectoryConfig {
  8636  	s.DirectoryName = &v
  8637  	return s
  8638  }
  8639  
  8640  // SetOrganizationalUnitDistinguishedNames sets the OrganizationalUnitDistinguishedNames field's value.
  8641  func (s *DirectoryConfig) SetOrganizationalUnitDistinguishedNames(v []*string) *DirectoryConfig {
  8642  	s.OrganizationalUnitDistinguishedNames = v
  8643  	return s
  8644  }
  8645  
  8646  // SetServiceAccountCredentials sets the ServiceAccountCredentials field's value.
  8647  func (s *DirectoryConfig) SetServiceAccountCredentials(v *ServiceAccountCredentials) *DirectoryConfig {
  8648  	s.ServiceAccountCredentials = v
  8649  	return s
  8650  }
  8651  
  8652  type DisableUserInput struct {
  8653  	_ struct{} `type:"structure"`
  8654  
  8655  	// The authentication type for the user. You must specify USERPOOL.
  8656  	//
  8657  	// AuthenticationType is a required field
  8658  	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
  8659  
  8660  	// The email address of the user.
  8661  	//
  8662  	// Users' email addresses are case-sensitive.
  8663  	//
  8664  	// UserName is a sensitive parameter and its value will be
  8665  	// replaced with "sensitive" in string returned by DisableUserInput's
  8666  	// String and GoString methods.
  8667  	//
  8668  	// UserName is a required field
  8669  	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
  8670  }
  8671  
  8672  // String returns the string representation.
  8673  //
  8674  // API parameter values that are decorated as "sensitive" in the API will not
  8675  // be included in the string output. The member name will be present, but the
  8676  // value will be replaced with "sensitive".
  8677  func (s DisableUserInput) String() string {
  8678  	return awsutil.Prettify(s)
  8679  }
  8680  
  8681  // GoString returns the string representation.
  8682  //
  8683  // API parameter values that are decorated as "sensitive" in the API will not
  8684  // be included in the string output. The member name will be present, but the
  8685  // value will be replaced with "sensitive".
  8686  func (s DisableUserInput) GoString() string {
  8687  	return s.String()
  8688  }
  8689  
  8690  // Validate inspects the fields of the type to determine if they are valid.
  8691  func (s *DisableUserInput) Validate() error {
  8692  	invalidParams := request.ErrInvalidParams{Context: "DisableUserInput"}
  8693  	if s.AuthenticationType == nil {
  8694  		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
  8695  	}
  8696  	if s.UserName == nil {
  8697  		invalidParams.Add(request.NewErrParamRequired("UserName"))
  8698  	}
  8699  	if s.UserName != nil && len(*s.UserName) < 1 {
  8700  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  8701  	}
  8702  
  8703  	if invalidParams.Len() > 0 {
  8704  		return invalidParams
  8705  	}
  8706  	return nil
  8707  }
  8708  
  8709  // SetAuthenticationType sets the AuthenticationType field's value.
  8710  func (s *DisableUserInput) SetAuthenticationType(v string) *DisableUserInput {
  8711  	s.AuthenticationType = &v
  8712  	return s
  8713  }
  8714  
  8715  // SetUserName sets the UserName field's value.
  8716  func (s *DisableUserInput) SetUserName(v string) *DisableUserInput {
  8717  	s.UserName = &v
  8718  	return s
  8719  }
  8720  
  8721  type DisableUserOutput struct {
  8722  	_ struct{} `type:"structure"`
  8723  }
  8724  
  8725  // String returns the string representation.
  8726  //
  8727  // API parameter values that are decorated as "sensitive" in the API will not
  8728  // be included in the string output. The member name will be present, but the
  8729  // value will be replaced with "sensitive".
  8730  func (s DisableUserOutput) String() string {
  8731  	return awsutil.Prettify(s)
  8732  }
  8733  
  8734  // GoString returns the string representation.
  8735  //
  8736  // API parameter values that are decorated as "sensitive" in the API will not
  8737  // be included in the string output. The member name will be present, but the
  8738  // value will be replaced with "sensitive".
  8739  func (s DisableUserOutput) GoString() string {
  8740  	return s.String()
  8741  }
  8742  
  8743  type DisassociateFleetInput struct {
  8744  	_ struct{} `type:"structure"`
  8745  
  8746  	// The name of the fleet.
  8747  	//
  8748  	// FleetName is a required field
  8749  	FleetName *string `min:"1" type:"string" required:"true"`
  8750  
  8751  	// The name of the stack.
  8752  	//
  8753  	// StackName is a required field
  8754  	StackName *string `min:"1" type:"string" required:"true"`
  8755  }
  8756  
  8757  // String returns the string representation.
  8758  //
  8759  // API parameter values that are decorated as "sensitive" in the API will not
  8760  // be included in the string output. The member name will be present, but the
  8761  // value will be replaced with "sensitive".
  8762  func (s DisassociateFleetInput) String() string {
  8763  	return awsutil.Prettify(s)
  8764  }
  8765  
  8766  // GoString returns the string representation.
  8767  //
  8768  // API parameter values that are decorated as "sensitive" in the API will not
  8769  // be included in the string output. The member name will be present, but the
  8770  // value will be replaced with "sensitive".
  8771  func (s DisassociateFleetInput) GoString() string {
  8772  	return s.String()
  8773  }
  8774  
  8775  // Validate inspects the fields of the type to determine if they are valid.
  8776  func (s *DisassociateFleetInput) Validate() error {
  8777  	invalidParams := request.ErrInvalidParams{Context: "DisassociateFleetInput"}
  8778  	if s.FleetName == nil {
  8779  		invalidParams.Add(request.NewErrParamRequired("FleetName"))
  8780  	}
  8781  	if s.FleetName != nil && len(*s.FleetName) < 1 {
  8782  		invalidParams.Add(request.NewErrParamMinLen("FleetName", 1))
  8783  	}
  8784  	if s.StackName == nil {
  8785  		invalidParams.Add(request.NewErrParamRequired("StackName"))
  8786  	}
  8787  	if s.StackName != nil && len(*s.StackName) < 1 {
  8788  		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
  8789  	}
  8790  
  8791  	if invalidParams.Len() > 0 {
  8792  		return invalidParams
  8793  	}
  8794  	return nil
  8795  }
  8796  
  8797  // SetFleetName sets the FleetName field's value.
  8798  func (s *DisassociateFleetInput) SetFleetName(v string) *DisassociateFleetInput {
  8799  	s.FleetName = &v
  8800  	return s
  8801  }
  8802  
  8803  // SetStackName sets the StackName field's value.
  8804  func (s *DisassociateFleetInput) SetStackName(v string) *DisassociateFleetInput {
  8805  	s.StackName = &v
  8806  	return s
  8807  }
  8808  
  8809  type DisassociateFleetOutput struct {
  8810  	_ struct{} `type:"structure"`
  8811  }
  8812  
  8813  // String returns the string representation.
  8814  //
  8815  // API parameter values that are decorated as "sensitive" in the API will not
  8816  // be included in the string output. The member name will be present, but the
  8817  // value will be replaced with "sensitive".
  8818  func (s DisassociateFleetOutput) String() string {
  8819  	return awsutil.Prettify(s)
  8820  }
  8821  
  8822  // GoString returns the string representation.
  8823  //
  8824  // API parameter values that are decorated as "sensitive" in the API will not
  8825  // be included in the string output. The member name will be present, but the
  8826  // value will be replaced with "sensitive".
  8827  func (s DisassociateFleetOutput) GoString() string {
  8828  	return s.String()
  8829  }
  8830  
  8831  // Describes the configuration information required to join fleets and image
  8832  // builders to Microsoft Active Directory domains.
  8833  type DomainJoinInfo struct {
  8834  	_ struct{} `type:"structure"`
  8835  
  8836  	// The fully qualified name of the directory (for example, corp.example.com).
  8837  	DirectoryName *string `type:"string"`
  8838  
  8839  	// The distinguished name of the organizational unit for computer accounts.
  8840  	OrganizationalUnitDistinguishedName *string `type:"string"`
  8841  }
  8842  
  8843  // String returns the string representation.
  8844  //
  8845  // API parameter values that are decorated as "sensitive" in the API will not
  8846  // be included in the string output. The member name will be present, but the
  8847  // value will be replaced with "sensitive".
  8848  func (s DomainJoinInfo) String() string {
  8849  	return awsutil.Prettify(s)
  8850  }
  8851  
  8852  // GoString returns the string representation.
  8853  //
  8854  // API parameter values that are decorated as "sensitive" in the API will not
  8855  // be included in the string output. The member name will be present, but the
  8856  // value will be replaced with "sensitive".
  8857  func (s DomainJoinInfo) GoString() string {
  8858  	return s.String()
  8859  }
  8860  
  8861  // SetDirectoryName sets the DirectoryName field's value.
  8862  func (s *DomainJoinInfo) SetDirectoryName(v string) *DomainJoinInfo {
  8863  	s.DirectoryName = &v
  8864  	return s
  8865  }
  8866  
  8867  // SetOrganizationalUnitDistinguishedName sets the OrganizationalUnitDistinguishedName field's value.
  8868  func (s *DomainJoinInfo) SetOrganizationalUnitDistinguishedName(v string) *DomainJoinInfo {
  8869  	s.OrganizationalUnitDistinguishedName = &v
  8870  	return s
  8871  }
  8872  
  8873  type EnableUserInput struct {
  8874  	_ struct{} `type:"structure"`
  8875  
  8876  	// The authentication type for the user. You must specify USERPOOL.
  8877  	//
  8878  	// AuthenticationType is a required field
  8879  	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
  8880  
  8881  	// The email address of the user.
  8882  	//
  8883  	// Users' email addresses are case-sensitive. During login, if they specify
  8884  	// an email address that doesn't use the same capitalization as the email address
  8885  	// specified when their user pool account was created, a "user does not exist"
  8886  	// error message displays.
  8887  	//
  8888  	// UserName is a sensitive parameter and its value will be
  8889  	// replaced with "sensitive" in string returned by EnableUserInput's
  8890  	// String and GoString methods.
  8891  	//
  8892  	// UserName is a required field
  8893  	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
  8894  }
  8895  
  8896  // String returns the string representation.
  8897  //
  8898  // API parameter values that are decorated as "sensitive" in the API will not
  8899  // be included in the string output. The member name will be present, but the
  8900  // value will be replaced with "sensitive".
  8901  func (s EnableUserInput) String() string {
  8902  	return awsutil.Prettify(s)
  8903  }
  8904  
  8905  // GoString returns the string representation.
  8906  //
  8907  // API parameter values that are decorated as "sensitive" in the API will not
  8908  // be included in the string output. The member name will be present, but the
  8909  // value will be replaced with "sensitive".
  8910  func (s EnableUserInput) GoString() string {
  8911  	return s.String()
  8912  }
  8913  
  8914  // Validate inspects the fields of the type to determine if they are valid.
  8915  func (s *EnableUserInput) Validate() error {
  8916  	invalidParams := request.ErrInvalidParams{Context: "EnableUserInput"}
  8917  	if s.AuthenticationType == nil {
  8918  		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
  8919  	}
  8920  	if s.UserName == nil {
  8921  		invalidParams.Add(request.NewErrParamRequired("UserName"))
  8922  	}
  8923  	if s.UserName != nil && len(*s.UserName) < 1 {
  8924  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  8925  	}
  8926  
  8927  	if invalidParams.Len() > 0 {
  8928  		return invalidParams
  8929  	}
  8930  	return nil
  8931  }
  8932  
  8933  // SetAuthenticationType sets the AuthenticationType field's value.
  8934  func (s *EnableUserInput) SetAuthenticationType(v string) *EnableUserInput {
  8935  	s.AuthenticationType = &v
  8936  	return s
  8937  }
  8938  
  8939  // SetUserName sets the UserName field's value.
  8940  func (s *EnableUserInput) SetUserName(v string) *EnableUserInput {
  8941  	s.UserName = &v
  8942  	return s
  8943  }
  8944  
  8945  type EnableUserOutput struct {
  8946  	_ struct{} `type:"structure"`
  8947  }
  8948  
  8949  // String returns the string representation.
  8950  //
  8951  // API parameter values that are decorated as "sensitive" in the API will not
  8952  // be included in the string output. The member name will be present, but the
  8953  // value will be replaced with "sensitive".
  8954  func (s EnableUserOutput) String() string {
  8955  	return awsutil.Prettify(s)
  8956  }
  8957  
  8958  // GoString returns the string representation.
  8959  //
  8960  // API parameter values that are decorated as "sensitive" in the API will not
  8961  // be included in the string output. The member name will be present, but the
  8962  // value will be replaced with "sensitive".
  8963  func (s EnableUserOutput) GoString() string {
  8964  	return s.String()
  8965  }
  8966  
  8967  type ExpireSessionInput struct {
  8968  	_ struct{} `type:"structure"`
  8969  
  8970  	// The identifier of the streaming session.
  8971  	//
  8972  	// SessionId is a required field
  8973  	SessionId *string `min:"1" type:"string" required:"true"`
  8974  }
  8975  
  8976  // String returns the string representation.
  8977  //
  8978  // API parameter values that are decorated as "sensitive" in the API will not
  8979  // be included in the string output. The member name will be present, but the
  8980  // value will be replaced with "sensitive".
  8981  func (s ExpireSessionInput) String() string {
  8982  	return awsutil.Prettify(s)
  8983  }
  8984  
  8985  // GoString returns the string representation.
  8986  //
  8987  // API parameter values that are decorated as "sensitive" in the API will not
  8988  // be included in the string output. The member name will be present, but the
  8989  // value will be replaced with "sensitive".
  8990  func (s ExpireSessionInput) GoString() string {
  8991  	return s.String()
  8992  }
  8993  
  8994  // Validate inspects the fields of the type to determine if they are valid.
  8995  func (s *ExpireSessionInput) Validate() error {
  8996  	invalidParams := request.ErrInvalidParams{Context: "ExpireSessionInput"}
  8997  	if s.SessionId == nil {
  8998  		invalidParams.Add(request.NewErrParamRequired("SessionId"))
  8999  	}
  9000  	if s.SessionId != nil && len(*s.SessionId) < 1 {
  9001  		invalidParams.Add(request.NewErrParamMinLen("SessionId", 1))
  9002  	}
  9003  
  9004  	if invalidParams.Len() > 0 {
  9005  		return invalidParams
  9006  	}
  9007  	return nil
  9008  }
  9009  
  9010  // SetSessionId sets the SessionId field's value.
  9011  func (s *ExpireSessionInput) SetSessionId(v string) *ExpireSessionInput {
  9012  	s.SessionId = &v
  9013  	return s
  9014  }
  9015  
  9016  type ExpireSessionOutput struct {
  9017  	_ struct{} `type:"structure"`
  9018  }
  9019  
  9020  // String returns the string representation.
  9021  //
  9022  // API parameter values that are decorated as "sensitive" in the API will not
  9023  // be included in the string output. The member name will be present, but the
  9024  // value will be replaced with "sensitive".
  9025  func (s ExpireSessionOutput) String() string {
  9026  	return awsutil.Prettify(s)
  9027  }
  9028  
  9029  // GoString returns the string representation.
  9030  //
  9031  // API parameter values that are decorated as "sensitive" in the API will not
  9032  // be included in the string output. The member name will be present, but the
  9033  // value will be replaced with "sensitive".
  9034  func (s ExpireSessionOutput) GoString() string {
  9035  	return s.String()
  9036  }
  9037  
  9038  // Describes a fleet.
  9039  type Fleet struct {
  9040  	_ struct{} `type:"structure"`
  9041  
  9042  	// The Amazon Resource Name (ARN) for the fleet.
  9043  	//
  9044  	// Arn is a required field
  9045  	Arn *string `type:"string" required:"true"`
  9046  
  9047  	// The capacity status for the fleet.
  9048  	//
  9049  	// ComputeCapacityStatus is a required field
  9050  	ComputeCapacityStatus *ComputeCapacityStatus `type:"structure" required:"true"`
  9051  
  9052  	// The time the fleet was created.
  9053  	CreatedTime *time.Time `type:"timestamp"`
  9054  
  9055  	// The description to display.
  9056  	Description *string `min:"1" type:"string"`
  9057  
  9058  	// The amount of time that a streaming session remains active after users disconnect.
  9059  	// If they try to reconnect to the streaming session after a disconnection or
  9060  	// network interruption within this time interval, they are connected to their
  9061  	// previous session. Otherwise, they are connected to a new session with a new
  9062  	// streaming instance.
  9063  	//
  9064  	// Specify a value between 60 and 360000.
  9065  	DisconnectTimeoutInSeconds *int64 `type:"integer"`
  9066  
  9067  	// The fleet name to display.
  9068  	DisplayName *string `min:"1" type:"string"`
  9069  
  9070  	// The name of the directory and organizational unit (OU) to use to join the
  9071  	// fleet to a Microsoft Active Directory domain.
  9072  	DomainJoinInfo *DomainJoinInfo `type:"structure"`
  9073  
  9074  	// Indicates whether default internet access is enabled for the fleet.
  9075  	EnableDefaultInternetAccess *bool `type:"boolean"`
  9076  
  9077  	// The fleet errors.
  9078  	FleetErrors []*FleetError `type:"list"`
  9079  
  9080  	// The fleet type.
  9081  	//
  9082  	// ALWAYS_ON
  9083  	//
  9084  	// Provides users with instant-on access to their apps. You are charged for
  9085  	// all running instances in your fleet, even if no users are streaming apps.
  9086  	//
  9087  	// ON_DEMAND
  9088  	//
  9089  	// Provide users with access to applications after they connect, which takes
  9090  	// one to two minutes. You are charged for instance streaming when users are
  9091  	// connected and a small hourly fee for instances that are not streaming apps.
  9092  	FleetType *string `type:"string" enum:"FleetType"`
  9093  
  9094  	// The ARN of the IAM role that is applied to the fleet. To assume a role, the
  9095  	// fleet instance calls the AWS Security Token Service (STS) AssumeRole API
  9096  	// operation and passes the ARN of the role to use. The operation creates a
  9097  	// new session with temporary credentials. AppStream 2.0 retrieves the temporary
  9098  	// credentials and creates the appstream_machine_role credential profile on
  9099  	// the instance.
  9100  	//
  9101  	// For more information, see Using an IAM Role to Grant Permissions to Applications
  9102  	// and Scripts Running on AppStream 2.0 Streaming Instances (https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html)
  9103  	// in the Amazon AppStream 2.0 Administration Guide.
  9104  	IamRoleArn *string `type:"string"`
  9105  
  9106  	// The amount of time that users can be idle (inactive) before they are disconnected
  9107  	// from their streaming session and the DisconnectTimeoutInSeconds time interval
  9108  	// begins. Users are notified before they are disconnected due to inactivity.
  9109  	// If users try to reconnect to the streaming session before the time interval
  9110  	// specified in DisconnectTimeoutInSeconds elapses, they are connected to their
  9111  	// previous session. Users are considered idle when they stop providing keyboard
  9112  	// or mouse input during their streaming session. File uploads and downloads,
  9113  	// audio in, audio out, and pixels changing do not qualify as user activity.
  9114  	// If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds
  9115  	// elapses, they are disconnected.
  9116  	//
  9117  	// To prevent users from being disconnected due to inactivity, specify a value
  9118  	// of 0. Otherwise, specify a value between 60 and 3600. The default value is
  9119  	// 0.
  9120  	//
  9121  	// If you enable this feature, we recommend that you specify a value that corresponds
  9122  	// exactly to a whole number of minutes (for example, 60, 120, and 180). If
  9123  	// you don't do this, the value is rounded to the nearest minute. For example,
  9124  	// if you specify a value of 70, users are disconnected after 1 minute of inactivity.
  9125  	// If you specify a value that is at the midpoint between two different minutes,
  9126  	// the value is rounded up. For example, if you specify a value of 90, users
  9127  	// are disconnected after 2 minutes of inactivity.
  9128  	IdleDisconnectTimeoutInSeconds *int64 `type:"integer"`
  9129  
  9130  	// The ARN for the public, private, or shared image.
  9131  	ImageArn *string `type:"string"`
  9132  
  9133  	// The name of the image used to create the fleet.
  9134  	ImageName *string `min:"1" type:"string"`
  9135  
  9136  	// The instance type to use when launching fleet instances. The following instance
  9137  	// types are available:
  9138  	//
  9139  	//    * stream.standard.small
  9140  	//
  9141  	//    * stream.standard.medium
  9142  	//
  9143  	//    * stream.standard.large
  9144  	//
  9145  	//    * stream.compute.large
  9146  	//
  9147  	//    * stream.compute.xlarge
  9148  	//
  9149  	//    * stream.compute.2xlarge
  9150  	//
  9151  	//    * stream.compute.4xlarge
  9152  	//
  9153  	//    * stream.compute.8xlarge
  9154  	//
  9155  	//    * stream.memory.large
  9156  	//
  9157  	//    * stream.memory.xlarge
  9158  	//
  9159  	//    * stream.memory.2xlarge
  9160  	//
  9161  	//    * stream.memory.4xlarge
  9162  	//
  9163  	//    * stream.memory.8xlarge
  9164  	//
  9165  	//    * stream.memory.z1d.large
  9166  	//
  9167  	//    * stream.memory.z1d.xlarge
  9168  	//
  9169  	//    * stream.memory.z1d.2xlarge
  9170  	//
  9171  	//    * stream.memory.z1d.3xlarge
  9172  	//
  9173  	//    * stream.memory.z1d.6xlarge
  9174  	//
  9175  	//    * stream.memory.z1d.12xlarge
  9176  	//
  9177  	//    * stream.graphics-design.large
  9178  	//
  9179  	//    * stream.graphics-design.xlarge
  9180  	//
  9181  	//    * stream.graphics-design.2xlarge
  9182  	//
  9183  	//    * stream.graphics-design.4xlarge
  9184  	//
  9185  	//    * stream.graphics-desktop.2xlarge
  9186  	//
  9187  	//    * stream.graphics.g4dn.xlarge
  9188  	//
  9189  	//    * stream.graphics.g4dn.2xlarge
  9190  	//
  9191  	//    * stream.graphics.g4dn.4xlarge
  9192  	//
  9193  	//    * stream.graphics.g4dn.8xlarge
  9194  	//
  9195  	//    * stream.graphics.g4dn.12xlarge
  9196  	//
  9197  	//    * stream.graphics.g4dn.16xlarge
  9198  	//
  9199  	//    * stream.graphics-pro.4xlarge
  9200  	//
  9201  	//    * stream.graphics-pro.8xlarge
  9202  	//
  9203  	//    * stream.graphics-pro.16xlarge
  9204  	//
  9205  	// InstanceType is a required field
  9206  	InstanceType *string `min:"1" type:"string" required:"true"`
  9207  
  9208  	// The maximum amount of time that a streaming session can remain active, in
  9209  	// seconds. If users are still connected to a streaming instance five minutes
  9210  	// before this limit is reached, they are prompted to save any open documents
  9211  	// before being disconnected. After this time elapses, the instance is terminated
  9212  	// and replaced by a new instance.
  9213  	//
  9214  	// Specify a value between 600 and 360000.
  9215  	MaxUserDurationInSeconds *int64 `type:"integer"`
  9216  
  9217  	// The name of the fleet.
  9218  	//
  9219  	// Name is a required field
  9220  	Name *string `min:"1" type:"string" required:"true"`
  9221  
  9222  	// The current state for the fleet.
  9223  	//
  9224  	// State is a required field
  9225  	State *string `type:"string" required:"true" enum:"FleetState"`
  9226  
  9227  	// The AppStream 2.0 view that is displayed to your users when they stream from
  9228  	// the fleet. When APP is specified, only the windows of applications opened
  9229  	// by users display. When DESKTOP is specified, the standard desktop that is
  9230  	// provided by the operating system displays.
  9231  	//
  9232  	// The default value is APP.
  9233  	StreamView *string `type:"string" enum:"StreamView"`
  9234  
  9235  	// The VPC configuration for the fleet.
  9236  	VpcConfig *VpcConfig `type:"structure"`
  9237  }
  9238  
  9239  // String returns the string representation.
  9240  //
  9241  // API parameter values that are decorated as "sensitive" in the API will not
  9242  // be included in the string output. The member name will be present, but the
  9243  // value will be replaced with "sensitive".
  9244  func (s Fleet) String() string {
  9245  	return awsutil.Prettify(s)
  9246  }
  9247  
  9248  // GoString returns the string representation.
  9249  //
  9250  // API parameter values that are decorated as "sensitive" in the API will not
  9251  // be included in the string output. The member name will be present, but the
  9252  // value will be replaced with "sensitive".
  9253  func (s Fleet) GoString() string {
  9254  	return s.String()
  9255  }
  9256  
  9257  // SetArn sets the Arn field's value.
  9258  func (s *Fleet) SetArn(v string) *Fleet {
  9259  	s.Arn = &v
  9260  	return s
  9261  }
  9262  
  9263  // SetComputeCapacityStatus sets the ComputeCapacityStatus field's value.
  9264  func (s *Fleet) SetComputeCapacityStatus(v *ComputeCapacityStatus) *Fleet {
  9265  	s.ComputeCapacityStatus = v
  9266  	return s
  9267  }
  9268  
  9269  // SetCreatedTime sets the CreatedTime field's value.
  9270  func (s *Fleet) SetCreatedTime(v time.Time) *Fleet {
  9271  	s.CreatedTime = &v
  9272  	return s
  9273  }
  9274  
  9275  // SetDescription sets the Description field's value.
  9276  func (s *Fleet) SetDescription(v string) *Fleet {
  9277  	s.Description = &v
  9278  	return s
  9279  }
  9280  
  9281  // SetDisconnectTimeoutInSeconds sets the DisconnectTimeoutInSeconds field's value.
  9282  func (s *Fleet) SetDisconnectTimeoutInSeconds(v int64) *Fleet {
  9283  	s.DisconnectTimeoutInSeconds = &v
  9284  	return s
  9285  }
  9286  
  9287  // SetDisplayName sets the DisplayName field's value.
  9288  func (s *Fleet) SetDisplayName(v string) *Fleet {
  9289  	s.DisplayName = &v
  9290  	return s
  9291  }
  9292  
  9293  // SetDomainJoinInfo sets the DomainJoinInfo field's value.
  9294  func (s *Fleet) SetDomainJoinInfo(v *DomainJoinInfo) *Fleet {
  9295  	s.DomainJoinInfo = v
  9296  	return s
  9297  }
  9298  
  9299  // SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
  9300  func (s *Fleet) SetEnableDefaultInternetAccess(v bool) *Fleet {
  9301  	s.EnableDefaultInternetAccess = &v
  9302  	return s
  9303  }
  9304  
  9305  // SetFleetErrors sets the FleetErrors field's value.
  9306  func (s *Fleet) SetFleetErrors(v []*FleetError) *Fleet {
  9307  	s.FleetErrors = v
  9308  	return s
  9309  }
  9310  
  9311  // SetFleetType sets the FleetType field's value.
  9312  func (s *Fleet) SetFleetType(v string) *Fleet {
  9313  	s.FleetType = &v
  9314  	return s
  9315  }
  9316  
  9317  // SetIamRoleArn sets the IamRoleArn field's value.
  9318  func (s *Fleet) SetIamRoleArn(v string) *Fleet {
  9319  	s.IamRoleArn = &v
  9320  	return s
  9321  }
  9322  
  9323  // SetIdleDisconnectTimeoutInSeconds sets the IdleDisconnectTimeoutInSeconds field's value.
  9324  func (s *Fleet) SetIdleDisconnectTimeoutInSeconds(v int64) *Fleet {
  9325  	s.IdleDisconnectTimeoutInSeconds = &v
  9326  	return s
  9327  }
  9328  
  9329  // SetImageArn sets the ImageArn field's value.
  9330  func (s *Fleet) SetImageArn(v string) *Fleet {
  9331  	s.ImageArn = &v
  9332  	return s
  9333  }
  9334  
  9335  // SetImageName sets the ImageName field's value.
  9336  func (s *Fleet) SetImageName(v string) *Fleet {
  9337  	s.ImageName = &v
  9338  	return s
  9339  }
  9340  
  9341  // SetInstanceType sets the InstanceType field's value.
  9342  func (s *Fleet) SetInstanceType(v string) *Fleet {
  9343  	s.InstanceType = &v
  9344  	return s
  9345  }
  9346  
  9347  // SetMaxUserDurationInSeconds sets the MaxUserDurationInSeconds field's value.
  9348  func (s *Fleet) SetMaxUserDurationInSeconds(v int64) *Fleet {
  9349  	s.MaxUserDurationInSeconds = &v
  9350  	return s
  9351  }
  9352  
  9353  // SetName sets the Name field's value.
  9354  func (s *Fleet) SetName(v string) *Fleet {
  9355  	s.Name = &v
  9356  	return s
  9357  }
  9358  
  9359  // SetState sets the State field's value.
  9360  func (s *Fleet) SetState(v string) *Fleet {
  9361  	s.State = &v
  9362  	return s
  9363  }
  9364  
  9365  // SetStreamView sets the StreamView field's value.
  9366  func (s *Fleet) SetStreamView(v string) *Fleet {
  9367  	s.StreamView = &v
  9368  	return s
  9369  }
  9370  
  9371  // SetVpcConfig sets the VpcConfig field's value.
  9372  func (s *Fleet) SetVpcConfig(v *VpcConfig) *Fleet {
  9373  	s.VpcConfig = v
  9374  	return s
  9375  }
  9376  
  9377  // Describes a fleet error.
  9378  type FleetError struct {
  9379  	_ struct{} `type:"structure"`
  9380  
  9381  	// The error code.
  9382  	ErrorCode *string `type:"string" enum:"FleetErrorCode"`
  9383  
  9384  	// The error message.
  9385  	ErrorMessage *string `min:"1" type:"string"`
  9386  }
  9387  
  9388  // String returns the string representation.
  9389  //
  9390  // API parameter values that are decorated as "sensitive" in the API will not
  9391  // be included in the string output. The member name will be present, but the
  9392  // value will be replaced with "sensitive".
  9393  func (s FleetError) String() string {
  9394  	return awsutil.Prettify(s)
  9395  }
  9396  
  9397  // GoString returns the string representation.
  9398  //
  9399  // API parameter values that are decorated as "sensitive" in the API will not
  9400  // be included in the string output. The member name will be present, but the
  9401  // value will be replaced with "sensitive".
  9402  func (s FleetError) GoString() string {
  9403  	return s.String()
  9404  }
  9405  
  9406  // SetErrorCode sets the ErrorCode field's value.
  9407  func (s *FleetError) SetErrorCode(v string) *FleetError {
  9408  	s.ErrorCode = &v
  9409  	return s
  9410  }
  9411  
  9412  // SetErrorMessage sets the ErrorMessage field's value.
  9413  func (s *FleetError) SetErrorMessage(v string) *FleetError {
  9414  	s.ErrorMessage = &v
  9415  	return s
  9416  }
  9417  
  9418  // Describes an image.
  9419  type Image struct {
  9420  	_ struct{} `type:"structure"`
  9421  
  9422  	// The applications associated with the image.
  9423  	Applications []*Application `type:"list"`
  9424  
  9425  	// The version of the AppStream 2.0 agent to use for instances that are launched
  9426  	// from this image.
  9427  	AppstreamAgentVersion *string `min:"1" type:"string"`
  9428  
  9429  	// The ARN of the image.
  9430  	Arn *string `type:"string"`
  9431  
  9432  	// The ARN of the image from which this image was created.
  9433  	BaseImageArn *string `type:"string"`
  9434  
  9435  	// The time the image was created.
  9436  	CreatedTime *time.Time `type:"timestamp"`
  9437  
  9438  	// The description to display.
  9439  	Description *string `min:"1" type:"string"`
  9440  
  9441  	// The image name to display.
  9442  	DisplayName *string `min:"1" type:"string"`
  9443  
  9444  	// The name of the image builder that was used to create the private image.
  9445  	// If the image is shared, this value is null.
  9446  	ImageBuilderName *string `min:"1" type:"string"`
  9447  
  9448  	// Indicates whether an image builder can be launched from this image.
  9449  	ImageBuilderSupported *bool `type:"boolean"`
  9450  
  9451  	// Describes the errors that are returned when a new image can't be created.
  9452  	ImageErrors []*ResourceError `type:"list"`
  9453  
  9454  	// The permissions to provide to the destination AWS account for the specified
  9455  	// image.
  9456  	ImagePermissions *ImagePermissions `type:"structure"`
  9457  
  9458  	// The name of the image.
  9459  	//
  9460  	// Name is a required field
  9461  	Name *string `min:"1" type:"string" required:"true"`
  9462  
  9463  	// The operating system platform of the image.
  9464  	Platform *string `type:"string" enum:"PlatformType"`
  9465  
  9466  	// The release date of the public base image. For private images, this date
  9467  	// is the release date of the base image from which the image was created.
  9468  	PublicBaseImageReleasedDate *time.Time `type:"timestamp"`
  9469  
  9470  	// The image starts in the PENDING state. If image creation succeeds, the state
  9471  	// is AVAILABLE. If image creation fails, the state is FAILED.
  9472  	State *string `type:"string" enum:"ImageState"`
  9473  
  9474  	// The reason why the last state change occurred.
  9475  	StateChangeReason *ImageStateChangeReason `type:"structure"`
  9476  
  9477  	// Indicates whether the image is public or private.
  9478  	Visibility *string `type:"string" enum:"VisibilityType"`
  9479  }
  9480  
  9481  // String returns the string representation.
  9482  //
  9483  // API parameter values that are decorated as "sensitive" in the API will not
  9484  // be included in the string output. The member name will be present, but the
  9485  // value will be replaced with "sensitive".
  9486  func (s Image) String() string {
  9487  	return awsutil.Prettify(s)
  9488  }
  9489  
  9490  // GoString returns the string representation.
  9491  //
  9492  // API parameter values that are decorated as "sensitive" in the API will not
  9493  // be included in the string output. The member name will be present, but the
  9494  // value will be replaced with "sensitive".
  9495  func (s Image) GoString() string {
  9496  	return s.String()
  9497  }
  9498  
  9499  // SetApplications sets the Applications field's value.
  9500  func (s *Image) SetApplications(v []*Application) *Image {
  9501  	s.Applications = v
  9502  	return s
  9503  }
  9504  
  9505  // SetAppstreamAgentVersion sets the AppstreamAgentVersion field's value.
  9506  func (s *Image) SetAppstreamAgentVersion(v string) *Image {
  9507  	s.AppstreamAgentVersion = &v
  9508  	return s
  9509  }
  9510  
  9511  // SetArn sets the Arn field's value.
  9512  func (s *Image) SetArn(v string) *Image {
  9513  	s.Arn = &v
  9514  	return s
  9515  }
  9516  
  9517  // SetBaseImageArn sets the BaseImageArn field's value.
  9518  func (s *Image) SetBaseImageArn(v string) *Image {
  9519  	s.BaseImageArn = &v
  9520  	return s
  9521  }
  9522  
  9523  // SetCreatedTime sets the CreatedTime field's value.
  9524  func (s *Image) SetCreatedTime(v time.Time) *Image {
  9525  	s.CreatedTime = &v
  9526  	return s
  9527  }
  9528  
  9529  // SetDescription sets the Description field's value.
  9530  func (s *Image) SetDescription(v string) *Image {
  9531  	s.Description = &v
  9532  	return s
  9533  }
  9534  
  9535  // SetDisplayName sets the DisplayName field's value.
  9536  func (s *Image) SetDisplayName(v string) *Image {
  9537  	s.DisplayName = &v
  9538  	return s
  9539  }
  9540  
  9541  // SetImageBuilderName sets the ImageBuilderName field's value.
  9542  func (s *Image) SetImageBuilderName(v string) *Image {
  9543  	s.ImageBuilderName = &v
  9544  	return s
  9545  }
  9546  
  9547  // SetImageBuilderSupported sets the ImageBuilderSupported field's value.
  9548  func (s *Image) SetImageBuilderSupported(v bool) *Image {
  9549  	s.ImageBuilderSupported = &v
  9550  	return s
  9551  }
  9552  
  9553  // SetImageErrors sets the ImageErrors field's value.
  9554  func (s *Image) SetImageErrors(v []*ResourceError) *Image {
  9555  	s.ImageErrors = v
  9556  	return s
  9557  }
  9558  
  9559  // SetImagePermissions sets the ImagePermissions field's value.
  9560  func (s *Image) SetImagePermissions(v *ImagePermissions) *Image {
  9561  	s.ImagePermissions = v
  9562  	return s
  9563  }
  9564  
  9565  // SetName sets the Name field's value.
  9566  func (s *Image) SetName(v string) *Image {
  9567  	s.Name = &v
  9568  	return s
  9569  }
  9570  
  9571  // SetPlatform sets the Platform field's value.
  9572  func (s *Image) SetPlatform(v string) *Image {
  9573  	s.Platform = &v
  9574  	return s
  9575  }
  9576  
  9577  // SetPublicBaseImageReleasedDate sets the PublicBaseImageReleasedDate field's value.
  9578  func (s *Image) SetPublicBaseImageReleasedDate(v time.Time) *Image {
  9579  	s.PublicBaseImageReleasedDate = &v
  9580  	return s
  9581  }
  9582  
  9583  // SetState sets the State field's value.
  9584  func (s *Image) SetState(v string) *Image {
  9585  	s.State = &v
  9586  	return s
  9587  }
  9588  
  9589  // SetStateChangeReason sets the StateChangeReason field's value.
  9590  func (s *Image) SetStateChangeReason(v *ImageStateChangeReason) *Image {
  9591  	s.StateChangeReason = v
  9592  	return s
  9593  }
  9594  
  9595  // SetVisibility sets the Visibility field's value.
  9596  func (s *Image) SetVisibility(v string) *Image {
  9597  	s.Visibility = &v
  9598  	return s
  9599  }
  9600  
  9601  // Describes a virtual machine that is used to create an image.
  9602  type ImageBuilder struct {
  9603  	_ struct{} `type:"structure"`
  9604  
  9605  	// The list of virtual private cloud (VPC) interface endpoint objects. Administrators
  9606  	// can connect to the image builder only through the specified endpoints.
  9607  	AccessEndpoints []*AccessEndpoint `min:"1" type:"list"`
  9608  
  9609  	// The version of the AppStream 2.0 agent that is currently being used by the
  9610  	// image builder.
  9611  	AppstreamAgentVersion *string `min:"1" type:"string"`
  9612  
  9613  	// The ARN for the image builder.
  9614  	Arn *string `type:"string"`
  9615  
  9616  	// The time stamp when the image builder was created.
  9617  	CreatedTime *time.Time `type:"timestamp"`
  9618  
  9619  	// The description to display.
  9620  	Description *string `min:"1" type:"string"`
  9621  
  9622  	// The image builder name to display.
  9623  	DisplayName *string `min:"1" type:"string"`
  9624  
  9625  	// The name of the directory and organizational unit (OU) to use to join the
  9626  	// image builder to a Microsoft Active Directory domain.
  9627  	DomainJoinInfo *DomainJoinInfo `type:"structure"`
  9628  
  9629  	// Enables or disables default internet access for the image builder.
  9630  	EnableDefaultInternetAccess *bool `type:"boolean"`
  9631  
  9632  	// The ARN of the IAM role that is applied to the image builder. To assume a
  9633  	// role, the image builder calls the AWS Security Token Service (STS) AssumeRole
  9634  	// API operation and passes the ARN of the role to use. The operation creates
  9635  	// a new session with temporary credentials. AppStream 2.0 retrieves the temporary
  9636  	// credentials and creates the appstream_machine_role credential profile on
  9637  	// the instance.
  9638  	//
  9639  	// For more information, see Using an IAM Role to Grant Permissions to Applications
  9640  	// and Scripts Running on AppStream 2.0 Streaming Instances (https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html)
  9641  	// in the Amazon AppStream 2.0 Administration Guide.
  9642  	IamRoleArn *string `type:"string"`
  9643  
  9644  	// The ARN of the image from which this builder was created.
  9645  	ImageArn *string `type:"string"`
  9646  
  9647  	// The image builder errors.
  9648  	ImageBuilderErrors []*ResourceError `type:"list"`
  9649  
  9650  	// The instance type for the image builder. The following instance types are
  9651  	// available:
  9652  	//
  9653  	//    * stream.standard.small
  9654  	//
  9655  	//    * stream.standard.medium
  9656  	//
  9657  	//    * stream.standard.large
  9658  	//
  9659  	//    * stream.compute.large
  9660  	//
  9661  	//    * stream.compute.xlarge
  9662  	//
  9663  	//    * stream.compute.2xlarge
  9664  	//
  9665  	//    * stream.compute.4xlarge
  9666  	//
  9667  	//    * stream.compute.8xlarge
  9668  	//
  9669  	//    * stream.memory.large
  9670  	//
  9671  	//    * stream.memory.xlarge
  9672  	//
  9673  	//    * stream.memory.2xlarge
  9674  	//
  9675  	//    * stream.memory.4xlarge
  9676  	//
  9677  	//    * stream.memory.8xlarge
  9678  	//
  9679  	//    * stream.memory.z1d.large
  9680  	//
  9681  	//    * stream.memory.z1d.xlarge
  9682  	//
  9683  	//    * stream.memory.z1d.2xlarge
  9684  	//
  9685  	//    * stream.memory.z1d.3xlarge
  9686  	//
  9687  	//    * stream.memory.z1d.6xlarge
  9688  	//
  9689  	//    * stream.memory.z1d.12xlarge
  9690  	//
  9691  	//    * stream.graphics-design.large
  9692  	//
  9693  	//    * stream.graphics-design.xlarge
  9694  	//
  9695  	//    * stream.graphics-design.2xlarge
  9696  	//
  9697  	//    * stream.graphics-design.4xlarge
  9698  	//
  9699  	//    * stream.graphics-desktop.2xlarge
  9700  	//
  9701  	//    * stream.graphics.g4dn.xlarge
  9702  	//
  9703  	//    * stream.graphics.g4dn.2xlarge
  9704  	//
  9705  	//    * stream.graphics.g4dn.4xlarge
  9706  	//
  9707  	//    * stream.graphics.g4dn.8xlarge
  9708  	//
  9709  	//    * stream.graphics.g4dn.12xlarge
  9710  	//
  9711  	//    * stream.graphics.g4dn.16xlarge
  9712  	//
  9713  	//    * stream.graphics-pro.4xlarge
  9714  	//
  9715  	//    * stream.graphics-pro.8xlarge
  9716  	//
  9717  	//    * stream.graphics-pro.16xlarge
  9718  	InstanceType *string `min:"1" type:"string"`
  9719  
  9720  	// The name of the image builder.
  9721  	//
  9722  	// Name is a required field
  9723  	Name *string `min:"1" type:"string" required:"true"`
  9724  
  9725  	// Describes the network details of the fleet or image builder instance.
  9726  	NetworkAccessConfiguration *NetworkAccessConfiguration `type:"structure"`
  9727  
  9728  	// The operating system platform of the image builder.
  9729  	Platform *string `type:"string" enum:"PlatformType"`
  9730  
  9731  	// The state of the image builder.
  9732  	State *string `type:"string" enum:"ImageBuilderState"`
  9733  
  9734  	// The reason why the last state change occurred.
  9735  	StateChangeReason *ImageBuilderStateChangeReason `type:"structure"`
  9736  
  9737  	// The VPC configuration of the image builder.
  9738  	VpcConfig *VpcConfig `type:"structure"`
  9739  }
  9740  
  9741  // String returns the string representation.
  9742  //
  9743  // API parameter values that are decorated as "sensitive" in the API will not
  9744  // be included in the string output. The member name will be present, but the
  9745  // value will be replaced with "sensitive".
  9746  func (s ImageBuilder) String() string {
  9747  	return awsutil.Prettify(s)
  9748  }
  9749  
  9750  // GoString returns the string representation.
  9751  //
  9752  // API parameter values that are decorated as "sensitive" in the API will not
  9753  // be included in the string output. The member name will be present, but the
  9754  // value will be replaced with "sensitive".
  9755  func (s ImageBuilder) GoString() string {
  9756  	return s.String()
  9757  }
  9758  
  9759  // SetAccessEndpoints sets the AccessEndpoints field's value.
  9760  func (s *ImageBuilder) SetAccessEndpoints(v []*AccessEndpoint) *ImageBuilder {
  9761  	s.AccessEndpoints = v
  9762  	return s
  9763  }
  9764  
  9765  // SetAppstreamAgentVersion sets the AppstreamAgentVersion field's value.
  9766  func (s *ImageBuilder) SetAppstreamAgentVersion(v string) *ImageBuilder {
  9767  	s.AppstreamAgentVersion = &v
  9768  	return s
  9769  }
  9770  
  9771  // SetArn sets the Arn field's value.
  9772  func (s *ImageBuilder) SetArn(v string) *ImageBuilder {
  9773  	s.Arn = &v
  9774  	return s
  9775  }
  9776  
  9777  // SetCreatedTime sets the CreatedTime field's value.
  9778  func (s *ImageBuilder) SetCreatedTime(v time.Time) *ImageBuilder {
  9779  	s.CreatedTime = &v
  9780  	return s
  9781  }
  9782  
  9783  // SetDescription sets the Description field's value.
  9784  func (s *ImageBuilder) SetDescription(v string) *ImageBuilder {
  9785  	s.Description = &v
  9786  	return s
  9787  }
  9788  
  9789  // SetDisplayName sets the DisplayName field's value.
  9790  func (s *ImageBuilder) SetDisplayName(v string) *ImageBuilder {
  9791  	s.DisplayName = &v
  9792  	return s
  9793  }
  9794  
  9795  // SetDomainJoinInfo sets the DomainJoinInfo field's value.
  9796  func (s *ImageBuilder) SetDomainJoinInfo(v *DomainJoinInfo) *ImageBuilder {
  9797  	s.DomainJoinInfo = v
  9798  	return s
  9799  }
  9800  
  9801  // SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
  9802  func (s *ImageBuilder) SetEnableDefaultInternetAccess(v bool) *ImageBuilder {
  9803  	s.EnableDefaultInternetAccess = &v
  9804  	return s
  9805  }
  9806  
  9807  // SetIamRoleArn sets the IamRoleArn field's value.
  9808  func (s *ImageBuilder) SetIamRoleArn(v string) *ImageBuilder {
  9809  	s.IamRoleArn = &v
  9810  	return s
  9811  }
  9812  
  9813  // SetImageArn sets the ImageArn field's value.
  9814  func (s *ImageBuilder) SetImageArn(v string) *ImageBuilder {
  9815  	s.ImageArn = &v
  9816  	return s
  9817  }
  9818  
  9819  // SetImageBuilderErrors sets the ImageBuilderErrors field's value.
  9820  func (s *ImageBuilder) SetImageBuilderErrors(v []*ResourceError) *ImageBuilder {
  9821  	s.ImageBuilderErrors = v
  9822  	return s
  9823  }
  9824  
  9825  // SetInstanceType sets the InstanceType field's value.
  9826  func (s *ImageBuilder) SetInstanceType(v string) *ImageBuilder {
  9827  	s.InstanceType = &v
  9828  	return s
  9829  }
  9830  
  9831  // SetName sets the Name field's value.
  9832  func (s *ImageBuilder) SetName(v string) *ImageBuilder {
  9833  	s.Name = &v
  9834  	return s
  9835  }
  9836  
  9837  // SetNetworkAccessConfiguration sets the NetworkAccessConfiguration field's value.
  9838  func (s *ImageBuilder) SetNetworkAccessConfiguration(v *NetworkAccessConfiguration) *ImageBuilder {
  9839  	s.NetworkAccessConfiguration = v
  9840  	return s
  9841  }
  9842  
  9843  // SetPlatform sets the Platform field's value.
  9844  func (s *ImageBuilder) SetPlatform(v string) *ImageBuilder {
  9845  	s.Platform = &v
  9846  	return s
  9847  }
  9848  
  9849  // SetState sets the State field's value.
  9850  func (s *ImageBuilder) SetState(v string) *ImageBuilder {
  9851  	s.State = &v
  9852  	return s
  9853  }
  9854  
  9855  // SetStateChangeReason sets the StateChangeReason field's value.
  9856  func (s *ImageBuilder) SetStateChangeReason(v *ImageBuilderStateChangeReason) *ImageBuilder {
  9857  	s.StateChangeReason = v
  9858  	return s
  9859  }
  9860  
  9861  // SetVpcConfig sets the VpcConfig field's value.
  9862  func (s *ImageBuilder) SetVpcConfig(v *VpcConfig) *ImageBuilder {
  9863  	s.VpcConfig = v
  9864  	return s
  9865  }
  9866  
  9867  // Describes the reason why the last image builder state change occurred.
  9868  type ImageBuilderStateChangeReason struct {
  9869  	_ struct{} `type:"structure"`
  9870  
  9871  	// The state change reason code.
  9872  	Code *string `type:"string" enum:"ImageBuilderStateChangeReasonCode"`
  9873  
  9874  	// The state change reason message.
  9875  	Message *string `min:"1" type:"string"`
  9876  }
  9877  
  9878  // String returns the string representation.
  9879  //
  9880  // API parameter values that are decorated as "sensitive" in the API will not
  9881  // be included in the string output. The member name will be present, but the
  9882  // value will be replaced with "sensitive".
  9883  func (s ImageBuilderStateChangeReason) String() string {
  9884  	return awsutil.Prettify(s)
  9885  }
  9886  
  9887  // GoString 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 ImageBuilderStateChangeReason) GoString() string {
  9893  	return s.String()
  9894  }
  9895  
  9896  // SetCode sets the Code field's value.
  9897  func (s *ImageBuilderStateChangeReason) SetCode(v string) *ImageBuilderStateChangeReason {
  9898  	s.Code = &v
  9899  	return s
  9900  }
  9901  
  9902  // SetMessage sets the Message field's value.
  9903  func (s *ImageBuilderStateChangeReason) SetMessage(v string) *ImageBuilderStateChangeReason {
  9904  	s.Message = &v
  9905  	return s
  9906  }
  9907  
  9908  // Describes the permissions for an image.
  9909  type ImagePermissions struct {
  9910  	_ struct{} `type:"structure"`
  9911  
  9912  	// Indicates whether the image can be used for a fleet.
  9913  	AllowFleet *bool `locationName:"allowFleet" type:"boolean"`
  9914  
  9915  	// Indicates whether the image can be used for an image builder.
  9916  	AllowImageBuilder *bool `locationName:"allowImageBuilder" type:"boolean"`
  9917  }
  9918  
  9919  // String returns the string representation.
  9920  //
  9921  // API parameter values that are decorated as "sensitive" in the API will not
  9922  // be included in the string output. The member name will be present, but the
  9923  // value will be replaced with "sensitive".
  9924  func (s ImagePermissions) String() string {
  9925  	return awsutil.Prettify(s)
  9926  }
  9927  
  9928  // GoString returns the string representation.
  9929  //
  9930  // API parameter values that are decorated as "sensitive" in the API will not
  9931  // be included in the string output. The member name will be present, but the
  9932  // value will be replaced with "sensitive".
  9933  func (s ImagePermissions) GoString() string {
  9934  	return s.String()
  9935  }
  9936  
  9937  // SetAllowFleet sets the AllowFleet field's value.
  9938  func (s *ImagePermissions) SetAllowFleet(v bool) *ImagePermissions {
  9939  	s.AllowFleet = &v
  9940  	return s
  9941  }
  9942  
  9943  // SetAllowImageBuilder sets the AllowImageBuilder field's value.
  9944  func (s *ImagePermissions) SetAllowImageBuilder(v bool) *ImagePermissions {
  9945  	s.AllowImageBuilder = &v
  9946  	return s
  9947  }
  9948  
  9949  // Describes the reason why the last image state change occurred.
  9950  type ImageStateChangeReason struct {
  9951  	_ struct{} `type:"structure"`
  9952  
  9953  	// The state change reason code.
  9954  	Code *string `type:"string" enum:"ImageStateChangeReasonCode"`
  9955  
  9956  	// The state change reason message.
  9957  	Message *string `min:"1" type:"string"`
  9958  }
  9959  
  9960  // String returns the string representation.
  9961  //
  9962  // API parameter values that are decorated as "sensitive" in the API will not
  9963  // be included in the string output. The member name will be present, but the
  9964  // value will be replaced with "sensitive".
  9965  func (s ImageStateChangeReason) String() string {
  9966  	return awsutil.Prettify(s)
  9967  }
  9968  
  9969  // GoString returns the string representation.
  9970  //
  9971  // API parameter values that are decorated as "sensitive" in the API will not
  9972  // be included in the string output. The member name will be present, but the
  9973  // value will be replaced with "sensitive".
  9974  func (s ImageStateChangeReason) GoString() string {
  9975  	return s.String()
  9976  }
  9977  
  9978  // SetCode sets the Code field's value.
  9979  func (s *ImageStateChangeReason) SetCode(v string) *ImageStateChangeReason {
  9980  	s.Code = &v
  9981  	return s
  9982  }
  9983  
  9984  // SetMessage sets the Message field's value.
  9985  func (s *ImageStateChangeReason) SetMessage(v string) *ImageStateChangeReason {
  9986  	s.Message = &v
  9987  	return s
  9988  }
  9989  
  9990  // The image can't be updated because it's not compatible for updates.
  9991  type IncompatibleImageException struct {
  9992  	_            struct{}                  `type:"structure"`
  9993  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9994  
  9995  	// The error message in the exception.
  9996  	Message_ *string `locationName:"Message" type:"string"`
  9997  }
  9998  
  9999  // String returns the string representation.
 10000  //
 10001  // API parameter values that are decorated as "sensitive" in the API will not
 10002  // be included in the string output. The member name will be present, but the
 10003  // value will be replaced with "sensitive".
 10004  func (s IncompatibleImageException) String() string {
 10005  	return awsutil.Prettify(s)
 10006  }
 10007  
 10008  // GoString returns the string representation.
 10009  //
 10010  // API parameter values that are decorated as "sensitive" in the API will not
 10011  // be included in the string output. The member name will be present, but the
 10012  // value will be replaced with "sensitive".
 10013  func (s IncompatibleImageException) GoString() string {
 10014  	return s.String()
 10015  }
 10016  
 10017  func newErrorIncompatibleImageException(v protocol.ResponseMetadata) error {
 10018  	return &IncompatibleImageException{
 10019  		RespMetadata: v,
 10020  	}
 10021  }
 10022  
 10023  // Code returns the exception type name.
 10024  func (s *IncompatibleImageException) Code() string {
 10025  	return "IncompatibleImageException"
 10026  }
 10027  
 10028  // Message returns the exception's message.
 10029  func (s *IncompatibleImageException) Message() string {
 10030  	if s.Message_ != nil {
 10031  		return *s.Message_
 10032  	}
 10033  	return ""
 10034  }
 10035  
 10036  // OrigErr always returns nil, satisfies awserr.Error interface.
 10037  func (s *IncompatibleImageException) OrigErr() error {
 10038  	return nil
 10039  }
 10040  
 10041  func (s *IncompatibleImageException) Error() string {
 10042  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10043  }
 10044  
 10045  // Status code returns the HTTP status code for the request's response error.
 10046  func (s *IncompatibleImageException) StatusCode() int {
 10047  	return s.RespMetadata.StatusCode
 10048  }
 10049  
 10050  // RequestID returns the service's response RequestID for request.
 10051  func (s *IncompatibleImageException) RequestID() string {
 10052  	return s.RespMetadata.RequestID
 10053  }
 10054  
 10055  // The resource cannot be created because your AWS account is suspended. For
 10056  // assistance, contact AWS Support.
 10057  type InvalidAccountStatusException struct {
 10058  	_            struct{}                  `type:"structure"`
 10059  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10060  
 10061  	// The error message in the exception.
 10062  	Message_ *string `locationName:"Message" type:"string"`
 10063  }
 10064  
 10065  // String returns the string representation.
 10066  //
 10067  // API parameter values that are decorated as "sensitive" in the API will not
 10068  // be included in the string output. The member name will be present, but the
 10069  // value will be replaced with "sensitive".
 10070  func (s InvalidAccountStatusException) String() string {
 10071  	return awsutil.Prettify(s)
 10072  }
 10073  
 10074  // GoString returns the string representation.
 10075  //
 10076  // API parameter values that are decorated as "sensitive" in the API will not
 10077  // be included in the string output. The member name will be present, but the
 10078  // value will be replaced with "sensitive".
 10079  func (s InvalidAccountStatusException) GoString() string {
 10080  	return s.String()
 10081  }
 10082  
 10083  func newErrorInvalidAccountStatusException(v protocol.ResponseMetadata) error {
 10084  	return &InvalidAccountStatusException{
 10085  		RespMetadata: v,
 10086  	}
 10087  }
 10088  
 10089  // Code returns the exception type name.
 10090  func (s *InvalidAccountStatusException) Code() string {
 10091  	return "InvalidAccountStatusException"
 10092  }
 10093  
 10094  // Message returns the exception's message.
 10095  func (s *InvalidAccountStatusException) Message() string {
 10096  	if s.Message_ != nil {
 10097  		return *s.Message_
 10098  	}
 10099  	return ""
 10100  }
 10101  
 10102  // OrigErr always returns nil, satisfies awserr.Error interface.
 10103  func (s *InvalidAccountStatusException) OrigErr() error {
 10104  	return nil
 10105  }
 10106  
 10107  func (s *InvalidAccountStatusException) Error() string {
 10108  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10109  }
 10110  
 10111  // Status code returns the HTTP status code for the request's response error.
 10112  func (s *InvalidAccountStatusException) StatusCode() int {
 10113  	return s.RespMetadata.StatusCode
 10114  }
 10115  
 10116  // RequestID returns the service's response RequestID for request.
 10117  func (s *InvalidAccountStatusException) RequestID() string {
 10118  	return s.RespMetadata.RequestID
 10119  }
 10120  
 10121  // Indicates an incorrect combination of parameters, or a missing parameter.
 10122  type InvalidParameterCombinationException struct {
 10123  	_            struct{}                  `type:"structure"`
 10124  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10125  
 10126  	// The error message in the exception.
 10127  	Message_ *string `locationName:"Message" type:"string"`
 10128  }
 10129  
 10130  // String returns the string representation.
 10131  //
 10132  // API parameter values that are decorated as "sensitive" in the API will not
 10133  // be included in the string output. The member name will be present, but the
 10134  // value will be replaced with "sensitive".
 10135  func (s InvalidParameterCombinationException) String() string {
 10136  	return awsutil.Prettify(s)
 10137  }
 10138  
 10139  // GoString returns the string representation.
 10140  //
 10141  // API parameter values that are decorated as "sensitive" in the API will not
 10142  // be included in the string output. The member name will be present, but the
 10143  // value will be replaced with "sensitive".
 10144  func (s InvalidParameterCombinationException) GoString() string {
 10145  	return s.String()
 10146  }
 10147  
 10148  func newErrorInvalidParameterCombinationException(v protocol.ResponseMetadata) error {
 10149  	return &InvalidParameterCombinationException{
 10150  		RespMetadata: v,
 10151  	}
 10152  }
 10153  
 10154  // Code returns the exception type name.
 10155  func (s *InvalidParameterCombinationException) Code() string {
 10156  	return "InvalidParameterCombinationException"
 10157  }
 10158  
 10159  // Message returns the exception's message.
 10160  func (s *InvalidParameterCombinationException) Message() string {
 10161  	if s.Message_ != nil {
 10162  		return *s.Message_
 10163  	}
 10164  	return ""
 10165  }
 10166  
 10167  // OrigErr always returns nil, satisfies awserr.Error interface.
 10168  func (s *InvalidParameterCombinationException) OrigErr() error {
 10169  	return nil
 10170  }
 10171  
 10172  func (s *InvalidParameterCombinationException) Error() string {
 10173  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10174  }
 10175  
 10176  // Status code returns the HTTP status code for the request's response error.
 10177  func (s *InvalidParameterCombinationException) StatusCode() int {
 10178  	return s.RespMetadata.StatusCode
 10179  }
 10180  
 10181  // RequestID returns the service's response RequestID for request.
 10182  func (s *InvalidParameterCombinationException) RequestID() string {
 10183  	return s.RespMetadata.RequestID
 10184  }
 10185  
 10186  // The specified role is invalid.
 10187  type InvalidRoleException struct {
 10188  	_            struct{}                  `type:"structure"`
 10189  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10190  
 10191  	// The error message in the exception.
 10192  	Message_ *string `locationName:"Message" type:"string"`
 10193  }
 10194  
 10195  // String returns the string representation.
 10196  //
 10197  // API parameter values that are decorated as "sensitive" in the API will not
 10198  // be included in the string output. The member name will be present, but the
 10199  // value will be replaced with "sensitive".
 10200  func (s InvalidRoleException) String() string {
 10201  	return awsutil.Prettify(s)
 10202  }
 10203  
 10204  // GoString returns the string representation.
 10205  //
 10206  // API parameter values that are decorated as "sensitive" in the API will not
 10207  // be included in the string output. The member name will be present, but the
 10208  // value will be replaced with "sensitive".
 10209  func (s InvalidRoleException) GoString() string {
 10210  	return s.String()
 10211  }
 10212  
 10213  func newErrorInvalidRoleException(v protocol.ResponseMetadata) error {
 10214  	return &InvalidRoleException{
 10215  		RespMetadata: v,
 10216  	}
 10217  }
 10218  
 10219  // Code returns the exception type name.
 10220  func (s *InvalidRoleException) Code() string {
 10221  	return "InvalidRoleException"
 10222  }
 10223  
 10224  // Message returns the exception's message.
 10225  func (s *InvalidRoleException) Message() string {
 10226  	if s.Message_ != nil {
 10227  		return *s.Message_
 10228  	}
 10229  	return ""
 10230  }
 10231  
 10232  // OrigErr always returns nil, satisfies awserr.Error interface.
 10233  func (s *InvalidRoleException) OrigErr() error {
 10234  	return nil
 10235  }
 10236  
 10237  func (s *InvalidRoleException) Error() string {
 10238  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10239  }
 10240  
 10241  // Status code returns the HTTP status code for the request's response error.
 10242  func (s *InvalidRoleException) StatusCode() int {
 10243  	return s.RespMetadata.StatusCode
 10244  }
 10245  
 10246  // RequestID returns the service's response RequestID for request.
 10247  func (s *InvalidRoleException) RequestID() string {
 10248  	return s.RespMetadata.RequestID
 10249  }
 10250  
 10251  // Describes the error that is returned when a usage report can't be generated.
 10252  type LastReportGenerationExecutionError struct {
 10253  	_ struct{} `type:"structure"`
 10254  
 10255  	// The error code for the error that is returned when a usage report can't be
 10256  	// generated.
 10257  	ErrorCode *string `type:"string" enum:"UsageReportExecutionErrorCode"`
 10258  
 10259  	// The error message for the error that is returned when a usage report can't
 10260  	// be generated.
 10261  	ErrorMessage *string `min:"1" type:"string"`
 10262  }
 10263  
 10264  // String returns the string representation.
 10265  //
 10266  // API parameter values that are decorated as "sensitive" in the API will not
 10267  // be included in the string output. The member name will be present, but the
 10268  // value will be replaced with "sensitive".
 10269  func (s LastReportGenerationExecutionError) String() string {
 10270  	return awsutil.Prettify(s)
 10271  }
 10272  
 10273  // GoString returns the string representation.
 10274  //
 10275  // API parameter values that are decorated as "sensitive" in the API will not
 10276  // be included in the string output. The member name will be present, but the
 10277  // value will be replaced with "sensitive".
 10278  func (s LastReportGenerationExecutionError) GoString() string {
 10279  	return s.String()
 10280  }
 10281  
 10282  // SetErrorCode sets the ErrorCode field's value.
 10283  func (s *LastReportGenerationExecutionError) SetErrorCode(v string) *LastReportGenerationExecutionError {
 10284  	s.ErrorCode = &v
 10285  	return s
 10286  }
 10287  
 10288  // SetErrorMessage sets the ErrorMessage field's value.
 10289  func (s *LastReportGenerationExecutionError) SetErrorMessage(v string) *LastReportGenerationExecutionError {
 10290  	s.ErrorMessage = &v
 10291  	return s
 10292  }
 10293  
 10294  // The requested limit exceeds the permitted limit for an account.
 10295  type LimitExceededException struct {
 10296  	_            struct{}                  `type:"structure"`
 10297  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10298  
 10299  	// The error message in the exception.
 10300  	Message_ *string `locationName:"Message" type:"string"`
 10301  }
 10302  
 10303  // String 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 LimitExceededException) String() string {
 10309  	return awsutil.Prettify(s)
 10310  }
 10311  
 10312  // GoString returns the string representation.
 10313  //
 10314  // API parameter values that are decorated as "sensitive" in the API will not
 10315  // be included in the string output. The member name will be present, but the
 10316  // value will be replaced with "sensitive".
 10317  func (s LimitExceededException) GoString() string {
 10318  	return s.String()
 10319  }
 10320  
 10321  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 10322  	return &LimitExceededException{
 10323  		RespMetadata: v,
 10324  	}
 10325  }
 10326  
 10327  // Code returns the exception type name.
 10328  func (s *LimitExceededException) Code() string {
 10329  	return "LimitExceededException"
 10330  }
 10331  
 10332  // Message returns the exception's message.
 10333  func (s *LimitExceededException) Message() string {
 10334  	if s.Message_ != nil {
 10335  		return *s.Message_
 10336  	}
 10337  	return ""
 10338  }
 10339  
 10340  // OrigErr always returns nil, satisfies awserr.Error interface.
 10341  func (s *LimitExceededException) OrigErr() error {
 10342  	return nil
 10343  }
 10344  
 10345  func (s *LimitExceededException) Error() string {
 10346  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10347  }
 10348  
 10349  // Status code returns the HTTP status code for the request's response error.
 10350  func (s *LimitExceededException) StatusCode() int {
 10351  	return s.RespMetadata.StatusCode
 10352  }
 10353  
 10354  // RequestID returns the service's response RequestID for request.
 10355  func (s *LimitExceededException) RequestID() string {
 10356  	return s.RespMetadata.RequestID
 10357  }
 10358  
 10359  type ListAssociatedFleetsInput struct {
 10360  	_ struct{} `type:"structure"`
 10361  
 10362  	// The pagination token to use to retrieve the next page of results for this
 10363  	// operation. If this value is null, it retrieves the first page.
 10364  	NextToken *string `min:"1" type:"string"`
 10365  
 10366  	// The name of the stack.
 10367  	//
 10368  	// StackName is a required field
 10369  	StackName *string `min:"1" type:"string" required:"true"`
 10370  }
 10371  
 10372  // String returns the string representation.
 10373  //
 10374  // API parameter values that are decorated as "sensitive" in the API will not
 10375  // be included in the string output. The member name will be present, but the
 10376  // value will be replaced with "sensitive".
 10377  func (s ListAssociatedFleetsInput) String() string {
 10378  	return awsutil.Prettify(s)
 10379  }
 10380  
 10381  // GoString returns the string representation.
 10382  //
 10383  // API parameter values that are decorated as "sensitive" in the API will not
 10384  // be included in the string output. The member name will be present, but the
 10385  // value will be replaced with "sensitive".
 10386  func (s ListAssociatedFleetsInput) GoString() string {
 10387  	return s.String()
 10388  }
 10389  
 10390  // Validate inspects the fields of the type to determine if they are valid.
 10391  func (s *ListAssociatedFleetsInput) Validate() error {
 10392  	invalidParams := request.ErrInvalidParams{Context: "ListAssociatedFleetsInput"}
 10393  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 10394  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 10395  	}
 10396  	if s.StackName == nil {
 10397  		invalidParams.Add(request.NewErrParamRequired("StackName"))
 10398  	}
 10399  	if s.StackName != nil && len(*s.StackName) < 1 {
 10400  		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
 10401  	}
 10402  
 10403  	if invalidParams.Len() > 0 {
 10404  		return invalidParams
 10405  	}
 10406  	return nil
 10407  }
 10408  
 10409  // SetNextToken sets the NextToken field's value.
 10410  func (s *ListAssociatedFleetsInput) SetNextToken(v string) *ListAssociatedFleetsInput {
 10411  	s.NextToken = &v
 10412  	return s
 10413  }
 10414  
 10415  // SetStackName sets the StackName field's value.
 10416  func (s *ListAssociatedFleetsInput) SetStackName(v string) *ListAssociatedFleetsInput {
 10417  	s.StackName = &v
 10418  	return s
 10419  }
 10420  
 10421  type ListAssociatedFleetsOutput struct {
 10422  	_ struct{} `type:"structure"`
 10423  
 10424  	// The name of the fleet.
 10425  	Names []*string `type:"list"`
 10426  
 10427  	// The pagination token to use to retrieve the next page of results for this
 10428  	// operation. If there are no more pages, this value is null.
 10429  	NextToken *string `min:"1" type:"string"`
 10430  }
 10431  
 10432  // String returns the string representation.
 10433  //
 10434  // API parameter values that are decorated as "sensitive" in the API will not
 10435  // be included in the string output. The member name will be present, but the
 10436  // value will be replaced with "sensitive".
 10437  func (s ListAssociatedFleetsOutput) String() string {
 10438  	return awsutil.Prettify(s)
 10439  }
 10440  
 10441  // GoString returns the string representation.
 10442  //
 10443  // API parameter values that are decorated as "sensitive" in the API will not
 10444  // be included in the string output. The member name will be present, but the
 10445  // value will be replaced with "sensitive".
 10446  func (s ListAssociatedFleetsOutput) GoString() string {
 10447  	return s.String()
 10448  }
 10449  
 10450  // SetNames sets the Names field's value.
 10451  func (s *ListAssociatedFleetsOutput) SetNames(v []*string) *ListAssociatedFleetsOutput {
 10452  	s.Names = v
 10453  	return s
 10454  }
 10455  
 10456  // SetNextToken sets the NextToken field's value.
 10457  func (s *ListAssociatedFleetsOutput) SetNextToken(v string) *ListAssociatedFleetsOutput {
 10458  	s.NextToken = &v
 10459  	return s
 10460  }
 10461  
 10462  type ListAssociatedStacksInput struct {
 10463  	_ struct{} `type:"structure"`
 10464  
 10465  	// The name of the fleet.
 10466  	//
 10467  	// FleetName is a required field
 10468  	FleetName *string `min:"1" type:"string" required:"true"`
 10469  
 10470  	// The pagination token to use to retrieve the next page of results for this
 10471  	// operation. If this value is null, it retrieves the first page.
 10472  	NextToken *string `min:"1" type:"string"`
 10473  }
 10474  
 10475  // String returns the string representation.
 10476  //
 10477  // API parameter values that are decorated as "sensitive" in the API will not
 10478  // be included in the string output. The member name will be present, but the
 10479  // value will be replaced with "sensitive".
 10480  func (s ListAssociatedStacksInput) String() string {
 10481  	return awsutil.Prettify(s)
 10482  }
 10483  
 10484  // GoString returns the string representation.
 10485  //
 10486  // API parameter values that are decorated as "sensitive" in the API will not
 10487  // be included in the string output. The member name will be present, but the
 10488  // value will be replaced with "sensitive".
 10489  func (s ListAssociatedStacksInput) GoString() string {
 10490  	return s.String()
 10491  }
 10492  
 10493  // Validate inspects the fields of the type to determine if they are valid.
 10494  func (s *ListAssociatedStacksInput) Validate() error {
 10495  	invalidParams := request.ErrInvalidParams{Context: "ListAssociatedStacksInput"}
 10496  	if s.FleetName == nil {
 10497  		invalidParams.Add(request.NewErrParamRequired("FleetName"))
 10498  	}
 10499  	if s.FleetName != nil && len(*s.FleetName) < 1 {
 10500  		invalidParams.Add(request.NewErrParamMinLen("FleetName", 1))
 10501  	}
 10502  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 10503  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 10504  	}
 10505  
 10506  	if invalidParams.Len() > 0 {
 10507  		return invalidParams
 10508  	}
 10509  	return nil
 10510  }
 10511  
 10512  // SetFleetName sets the FleetName field's value.
 10513  func (s *ListAssociatedStacksInput) SetFleetName(v string) *ListAssociatedStacksInput {
 10514  	s.FleetName = &v
 10515  	return s
 10516  }
 10517  
 10518  // SetNextToken sets the NextToken field's value.
 10519  func (s *ListAssociatedStacksInput) SetNextToken(v string) *ListAssociatedStacksInput {
 10520  	s.NextToken = &v
 10521  	return s
 10522  }
 10523  
 10524  type ListAssociatedStacksOutput struct {
 10525  	_ struct{} `type:"structure"`
 10526  
 10527  	// The name of the stack.
 10528  	Names []*string `type:"list"`
 10529  
 10530  	// The pagination token to use to retrieve the next page of results for this
 10531  	// operation. If there are no more pages, this value is null.
 10532  	NextToken *string `min:"1" type:"string"`
 10533  }
 10534  
 10535  // String returns the string representation.
 10536  //
 10537  // API parameter values that are decorated as "sensitive" in the API will not
 10538  // be included in the string output. The member name will be present, but the
 10539  // value will be replaced with "sensitive".
 10540  func (s ListAssociatedStacksOutput) String() string {
 10541  	return awsutil.Prettify(s)
 10542  }
 10543  
 10544  // GoString returns the string representation.
 10545  //
 10546  // API parameter values that are decorated as "sensitive" in the API will not
 10547  // be included in the string output. The member name will be present, but the
 10548  // value will be replaced with "sensitive".
 10549  func (s ListAssociatedStacksOutput) GoString() string {
 10550  	return s.String()
 10551  }
 10552  
 10553  // SetNames sets the Names field's value.
 10554  func (s *ListAssociatedStacksOutput) SetNames(v []*string) *ListAssociatedStacksOutput {
 10555  	s.Names = v
 10556  	return s
 10557  }
 10558  
 10559  // SetNextToken sets the NextToken field's value.
 10560  func (s *ListAssociatedStacksOutput) SetNextToken(v string) *ListAssociatedStacksOutput {
 10561  	s.NextToken = &v
 10562  	return s
 10563  }
 10564  
 10565  type ListTagsForResourceInput struct {
 10566  	_ struct{} `type:"structure"`
 10567  
 10568  	// The Amazon Resource Name (ARN) of the resource.
 10569  	//
 10570  	// ResourceArn is a required field
 10571  	ResourceArn *string `type:"string" required:"true"`
 10572  }
 10573  
 10574  // String returns the string representation.
 10575  //
 10576  // API parameter values that are decorated as "sensitive" in the API will not
 10577  // be included in the string output. The member name will be present, but the
 10578  // value will be replaced with "sensitive".
 10579  func (s ListTagsForResourceInput) String() string {
 10580  	return awsutil.Prettify(s)
 10581  }
 10582  
 10583  // GoString returns the string representation.
 10584  //
 10585  // API parameter values that are decorated as "sensitive" in the API will not
 10586  // be included in the string output. The member name will be present, but the
 10587  // value will be replaced with "sensitive".
 10588  func (s ListTagsForResourceInput) GoString() string {
 10589  	return s.String()
 10590  }
 10591  
 10592  // Validate inspects the fields of the type to determine if they are valid.
 10593  func (s *ListTagsForResourceInput) Validate() error {
 10594  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 10595  	if s.ResourceArn == nil {
 10596  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 10597  	}
 10598  
 10599  	if invalidParams.Len() > 0 {
 10600  		return invalidParams
 10601  	}
 10602  	return nil
 10603  }
 10604  
 10605  // SetResourceArn sets the ResourceArn field's value.
 10606  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 10607  	s.ResourceArn = &v
 10608  	return s
 10609  }
 10610  
 10611  type ListTagsForResourceOutput struct {
 10612  	_ struct{} `type:"structure"`
 10613  
 10614  	// The information about the tags.
 10615  	Tags map[string]*string `min:"1" type:"map"`
 10616  }
 10617  
 10618  // String returns the string representation.
 10619  //
 10620  // API parameter values that are decorated as "sensitive" in the API will not
 10621  // be included in the string output. The member name will be present, but the
 10622  // value will be replaced with "sensitive".
 10623  func (s ListTagsForResourceOutput) String() string {
 10624  	return awsutil.Prettify(s)
 10625  }
 10626  
 10627  // GoString returns the string representation.
 10628  //
 10629  // API parameter values that are decorated as "sensitive" in the API will not
 10630  // be included in the string output. The member name will be present, but the
 10631  // value will be replaced with "sensitive".
 10632  func (s ListTagsForResourceOutput) GoString() string {
 10633  	return s.String()
 10634  }
 10635  
 10636  // SetTags sets the Tags field's value.
 10637  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
 10638  	s.Tags = v
 10639  	return s
 10640  }
 10641  
 10642  // Describes the network details of the fleet or image builder instance.
 10643  type NetworkAccessConfiguration struct {
 10644  	_ struct{} `type:"structure"`
 10645  
 10646  	// The resource identifier of the elastic network interface that is attached
 10647  	// to instances in your VPC. All network interfaces have the eni-xxxxxxxx resource
 10648  	// identifier.
 10649  	EniId *string `min:"1" type:"string"`
 10650  
 10651  	// The private IP address of the elastic network interface that is attached
 10652  	// to instances in your VPC.
 10653  	EniPrivateIpAddress *string `min:"1" type:"string"`
 10654  }
 10655  
 10656  // String returns the string representation.
 10657  //
 10658  // API parameter values that are decorated as "sensitive" in the API will not
 10659  // be included in the string output. The member name will be present, but the
 10660  // value will be replaced with "sensitive".
 10661  func (s NetworkAccessConfiguration) String() string {
 10662  	return awsutil.Prettify(s)
 10663  }
 10664  
 10665  // GoString returns the string representation.
 10666  //
 10667  // API parameter values that are decorated as "sensitive" in the API will not
 10668  // be included in the string output. The member name will be present, but the
 10669  // value will be replaced with "sensitive".
 10670  func (s NetworkAccessConfiguration) GoString() string {
 10671  	return s.String()
 10672  }
 10673  
 10674  // SetEniId sets the EniId field's value.
 10675  func (s *NetworkAccessConfiguration) SetEniId(v string) *NetworkAccessConfiguration {
 10676  	s.EniId = &v
 10677  	return s
 10678  }
 10679  
 10680  // SetEniPrivateIpAddress sets the EniPrivateIpAddress field's value.
 10681  func (s *NetworkAccessConfiguration) SetEniPrivateIpAddress(v string) *NetworkAccessConfiguration {
 10682  	s.EniPrivateIpAddress = &v
 10683  	return s
 10684  }
 10685  
 10686  // The attempted operation is not permitted.
 10687  type OperationNotPermittedException struct {
 10688  	_            struct{}                  `type:"structure"`
 10689  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10690  
 10691  	// The error message in the exception.
 10692  	Message_ *string `locationName:"Message" type:"string"`
 10693  }
 10694  
 10695  // String returns the string representation.
 10696  //
 10697  // API parameter values that are decorated as "sensitive" in the API will not
 10698  // be included in the string output. The member name will be present, but the
 10699  // value will be replaced with "sensitive".
 10700  func (s OperationNotPermittedException) String() string {
 10701  	return awsutil.Prettify(s)
 10702  }
 10703  
 10704  // GoString returns the string representation.
 10705  //
 10706  // API parameter values that are decorated as "sensitive" in the API will not
 10707  // be included in the string output. The member name will be present, but the
 10708  // value will be replaced with "sensitive".
 10709  func (s OperationNotPermittedException) GoString() string {
 10710  	return s.String()
 10711  }
 10712  
 10713  func newErrorOperationNotPermittedException(v protocol.ResponseMetadata) error {
 10714  	return &OperationNotPermittedException{
 10715  		RespMetadata: v,
 10716  	}
 10717  }
 10718  
 10719  // Code returns the exception type name.
 10720  func (s *OperationNotPermittedException) Code() string {
 10721  	return "OperationNotPermittedException"
 10722  }
 10723  
 10724  // Message returns the exception's message.
 10725  func (s *OperationNotPermittedException) Message() string {
 10726  	if s.Message_ != nil {
 10727  		return *s.Message_
 10728  	}
 10729  	return ""
 10730  }
 10731  
 10732  // OrigErr always returns nil, satisfies awserr.Error interface.
 10733  func (s *OperationNotPermittedException) OrigErr() error {
 10734  	return nil
 10735  }
 10736  
 10737  func (s *OperationNotPermittedException) Error() string {
 10738  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10739  }
 10740  
 10741  // Status code returns the HTTP status code for the request's response error.
 10742  func (s *OperationNotPermittedException) StatusCode() int {
 10743  	return s.RespMetadata.StatusCode
 10744  }
 10745  
 10746  // RequestID returns the service's response RequestID for request.
 10747  func (s *OperationNotPermittedException) RequestID() string {
 10748  	return s.RespMetadata.RequestID
 10749  }
 10750  
 10751  // AppStream 2.0 can’t process the request right now because the Describe
 10752  // calls from your AWS account are being throttled by Amazon EC2. Try again
 10753  // later.
 10754  type RequestLimitExceededException struct {
 10755  	_            struct{}                  `type:"structure"`
 10756  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10757  
 10758  	// The error message in the exception.
 10759  	Message_ *string `locationName:"Message" type:"string"`
 10760  }
 10761  
 10762  // String returns the string representation.
 10763  //
 10764  // API parameter values that are decorated as "sensitive" in the API will not
 10765  // be included in the string output. The member name will be present, but the
 10766  // value will be replaced with "sensitive".
 10767  func (s RequestLimitExceededException) String() string {
 10768  	return awsutil.Prettify(s)
 10769  }
 10770  
 10771  // GoString returns the string representation.
 10772  //
 10773  // API parameter values that are decorated as "sensitive" in the API will not
 10774  // be included in the string output. The member name will be present, but the
 10775  // value will be replaced with "sensitive".
 10776  func (s RequestLimitExceededException) GoString() string {
 10777  	return s.String()
 10778  }
 10779  
 10780  func newErrorRequestLimitExceededException(v protocol.ResponseMetadata) error {
 10781  	return &RequestLimitExceededException{
 10782  		RespMetadata: v,
 10783  	}
 10784  }
 10785  
 10786  // Code returns the exception type name.
 10787  func (s *RequestLimitExceededException) Code() string {
 10788  	return "RequestLimitExceededException"
 10789  }
 10790  
 10791  // Message returns the exception's message.
 10792  func (s *RequestLimitExceededException) Message() string {
 10793  	if s.Message_ != nil {
 10794  		return *s.Message_
 10795  	}
 10796  	return ""
 10797  }
 10798  
 10799  // OrigErr always returns nil, satisfies awserr.Error interface.
 10800  func (s *RequestLimitExceededException) OrigErr() error {
 10801  	return nil
 10802  }
 10803  
 10804  func (s *RequestLimitExceededException) Error() string {
 10805  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10806  }
 10807  
 10808  // Status code returns the HTTP status code for the request's response error.
 10809  func (s *RequestLimitExceededException) StatusCode() int {
 10810  	return s.RespMetadata.StatusCode
 10811  }
 10812  
 10813  // RequestID returns the service's response RequestID for request.
 10814  func (s *RequestLimitExceededException) RequestID() string {
 10815  	return s.RespMetadata.RequestID
 10816  }
 10817  
 10818  // The specified resource already exists.
 10819  type ResourceAlreadyExistsException struct {
 10820  	_            struct{}                  `type:"structure"`
 10821  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10822  
 10823  	// The error message in the exception.
 10824  	Message_ *string `locationName:"Message" type:"string"`
 10825  }
 10826  
 10827  // String returns the string representation.
 10828  //
 10829  // API parameter values that are decorated as "sensitive" in the API will not
 10830  // be included in the string output. The member name will be present, but the
 10831  // value will be replaced with "sensitive".
 10832  func (s ResourceAlreadyExistsException) String() string {
 10833  	return awsutil.Prettify(s)
 10834  }
 10835  
 10836  // GoString returns the string representation.
 10837  //
 10838  // API parameter values that are decorated as "sensitive" in the API will not
 10839  // be included in the string output. The member name will be present, but the
 10840  // value will be replaced with "sensitive".
 10841  func (s ResourceAlreadyExistsException) GoString() string {
 10842  	return s.String()
 10843  }
 10844  
 10845  func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
 10846  	return &ResourceAlreadyExistsException{
 10847  		RespMetadata: v,
 10848  	}
 10849  }
 10850  
 10851  // Code returns the exception type name.
 10852  func (s *ResourceAlreadyExistsException) Code() string {
 10853  	return "ResourceAlreadyExistsException"
 10854  }
 10855  
 10856  // Message returns the exception's message.
 10857  func (s *ResourceAlreadyExistsException) Message() string {
 10858  	if s.Message_ != nil {
 10859  		return *s.Message_
 10860  	}
 10861  	return ""
 10862  }
 10863  
 10864  // OrigErr always returns nil, satisfies awserr.Error interface.
 10865  func (s *ResourceAlreadyExistsException) OrigErr() error {
 10866  	return nil
 10867  }
 10868  
 10869  func (s *ResourceAlreadyExistsException) Error() string {
 10870  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10871  }
 10872  
 10873  // Status code returns the HTTP status code for the request's response error.
 10874  func (s *ResourceAlreadyExistsException) StatusCode() int {
 10875  	return s.RespMetadata.StatusCode
 10876  }
 10877  
 10878  // RequestID returns the service's response RequestID for request.
 10879  func (s *ResourceAlreadyExistsException) RequestID() string {
 10880  	return s.RespMetadata.RequestID
 10881  }
 10882  
 10883  // Describes a resource error.
 10884  type ResourceError struct {
 10885  	_ struct{} `type:"structure"`
 10886  
 10887  	// The error code.
 10888  	ErrorCode *string `type:"string" enum:"FleetErrorCode"`
 10889  
 10890  	// The error message.
 10891  	ErrorMessage *string `min:"1" type:"string"`
 10892  
 10893  	// The time the error occurred.
 10894  	ErrorTimestamp *time.Time `type:"timestamp"`
 10895  }
 10896  
 10897  // String returns the string representation.
 10898  //
 10899  // API parameter values that are decorated as "sensitive" in the API will not
 10900  // be included in the string output. The member name will be present, but the
 10901  // value will be replaced with "sensitive".
 10902  func (s ResourceError) String() string {
 10903  	return awsutil.Prettify(s)
 10904  }
 10905  
 10906  // GoString returns the string representation.
 10907  //
 10908  // API parameter values that are decorated as "sensitive" in the API will not
 10909  // be included in the string output. The member name will be present, but the
 10910  // value will be replaced with "sensitive".
 10911  func (s ResourceError) GoString() string {
 10912  	return s.String()
 10913  }
 10914  
 10915  // SetErrorCode sets the ErrorCode field's value.
 10916  func (s *ResourceError) SetErrorCode(v string) *ResourceError {
 10917  	s.ErrorCode = &v
 10918  	return s
 10919  }
 10920  
 10921  // SetErrorMessage sets the ErrorMessage field's value.
 10922  func (s *ResourceError) SetErrorMessage(v string) *ResourceError {
 10923  	s.ErrorMessage = &v
 10924  	return s
 10925  }
 10926  
 10927  // SetErrorTimestamp sets the ErrorTimestamp field's value.
 10928  func (s *ResourceError) SetErrorTimestamp(v time.Time) *ResourceError {
 10929  	s.ErrorTimestamp = &v
 10930  	return s
 10931  }
 10932  
 10933  // The specified resource is in use.
 10934  type ResourceInUseException struct {
 10935  	_            struct{}                  `type:"structure"`
 10936  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10937  
 10938  	// The error message in the exception.
 10939  	Message_ *string `locationName:"Message" type:"string"`
 10940  }
 10941  
 10942  // String returns the string representation.
 10943  //
 10944  // API parameter values that are decorated as "sensitive" in the API will not
 10945  // be included in the string output. The member name will be present, but the
 10946  // value will be replaced with "sensitive".
 10947  func (s ResourceInUseException) String() string {
 10948  	return awsutil.Prettify(s)
 10949  }
 10950  
 10951  // GoString returns the string representation.
 10952  //
 10953  // API parameter values that are decorated as "sensitive" in the API will not
 10954  // be included in the string output. The member name will be present, but the
 10955  // value will be replaced with "sensitive".
 10956  func (s ResourceInUseException) GoString() string {
 10957  	return s.String()
 10958  }
 10959  
 10960  func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
 10961  	return &ResourceInUseException{
 10962  		RespMetadata: v,
 10963  	}
 10964  }
 10965  
 10966  // Code returns the exception type name.
 10967  func (s *ResourceInUseException) Code() string {
 10968  	return "ResourceInUseException"
 10969  }
 10970  
 10971  // Message returns the exception's message.
 10972  func (s *ResourceInUseException) Message() string {
 10973  	if s.Message_ != nil {
 10974  		return *s.Message_
 10975  	}
 10976  	return ""
 10977  }
 10978  
 10979  // OrigErr always returns nil, satisfies awserr.Error interface.
 10980  func (s *ResourceInUseException) OrigErr() error {
 10981  	return nil
 10982  }
 10983  
 10984  func (s *ResourceInUseException) Error() string {
 10985  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10986  }
 10987  
 10988  // Status code returns the HTTP status code for the request's response error.
 10989  func (s *ResourceInUseException) StatusCode() int {
 10990  	return s.RespMetadata.StatusCode
 10991  }
 10992  
 10993  // RequestID returns the service's response RequestID for request.
 10994  func (s *ResourceInUseException) RequestID() string {
 10995  	return s.RespMetadata.RequestID
 10996  }
 10997  
 10998  // The specified resource exists and is not in use, but isn't available.
 10999  type ResourceNotAvailableException struct {
 11000  	_            struct{}                  `type:"structure"`
 11001  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11002  
 11003  	// The error message in the exception.
 11004  	Message_ *string `locationName:"Message" type:"string"`
 11005  }
 11006  
 11007  // String returns the string representation.
 11008  //
 11009  // API parameter values that are decorated as "sensitive" in the API will not
 11010  // be included in the string output. The member name will be present, but the
 11011  // value will be replaced with "sensitive".
 11012  func (s ResourceNotAvailableException) String() string {
 11013  	return awsutil.Prettify(s)
 11014  }
 11015  
 11016  // GoString returns the string representation.
 11017  //
 11018  // API parameter values that are decorated as "sensitive" in the API will not
 11019  // be included in the string output. The member name will be present, but the
 11020  // value will be replaced with "sensitive".
 11021  func (s ResourceNotAvailableException) GoString() string {
 11022  	return s.String()
 11023  }
 11024  
 11025  func newErrorResourceNotAvailableException(v protocol.ResponseMetadata) error {
 11026  	return &ResourceNotAvailableException{
 11027  		RespMetadata: v,
 11028  	}
 11029  }
 11030  
 11031  // Code returns the exception type name.
 11032  func (s *ResourceNotAvailableException) Code() string {
 11033  	return "ResourceNotAvailableException"
 11034  }
 11035  
 11036  // Message returns the exception's message.
 11037  func (s *ResourceNotAvailableException) Message() string {
 11038  	if s.Message_ != nil {
 11039  		return *s.Message_
 11040  	}
 11041  	return ""
 11042  }
 11043  
 11044  // OrigErr always returns nil, satisfies awserr.Error interface.
 11045  func (s *ResourceNotAvailableException) OrigErr() error {
 11046  	return nil
 11047  }
 11048  
 11049  func (s *ResourceNotAvailableException) Error() string {
 11050  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11051  }
 11052  
 11053  // Status code returns the HTTP status code for the request's response error.
 11054  func (s *ResourceNotAvailableException) StatusCode() int {
 11055  	return s.RespMetadata.StatusCode
 11056  }
 11057  
 11058  // RequestID returns the service's response RequestID for request.
 11059  func (s *ResourceNotAvailableException) RequestID() string {
 11060  	return s.RespMetadata.RequestID
 11061  }
 11062  
 11063  // The specified resource was not found.
 11064  type ResourceNotFoundException struct {
 11065  	_            struct{}                  `type:"structure"`
 11066  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11067  
 11068  	// The error message in the exception.
 11069  	Message_ *string `locationName:"Message" type:"string"`
 11070  }
 11071  
 11072  // String returns the string representation.
 11073  //
 11074  // API parameter values that are decorated as "sensitive" in the API will not
 11075  // be included in the string output. The member name will be present, but the
 11076  // value will be replaced with "sensitive".
 11077  func (s ResourceNotFoundException) String() string {
 11078  	return awsutil.Prettify(s)
 11079  }
 11080  
 11081  // GoString returns the string representation.
 11082  //
 11083  // API parameter values that are decorated as "sensitive" in the API will not
 11084  // be included in the string output. The member name will be present, but the
 11085  // value will be replaced with "sensitive".
 11086  func (s ResourceNotFoundException) GoString() string {
 11087  	return s.String()
 11088  }
 11089  
 11090  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 11091  	return &ResourceNotFoundException{
 11092  		RespMetadata: v,
 11093  	}
 11094  }
 11095  
 11096  // Code returns the exception type name.
 11097  func (s *ResourceNotFoundException) Code() string {
 11098  	return "ResourceNotFoundException"
 11099  }
 11100  
 11101  // Message returns the exception's message.
 11102  func (s *ResourceNotFoundException) Message() string {
 11103  	if s.Message_ != nil {
 11104  		return *s.Message_
 11105  	}
 11106  	return ""
 11107  }
 11108  
 11109  // OrigErr always returns nil, satisfies awserr.Error interface.
 11110  func (s *ResourceNotFoundException) OrigErr() error {
 11111  	return nil
 11112  }
 11113  
 11114  func (s *ResourceNotFoundException) Error() string {
 11115  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11116  }
 11117  
 11118  // Status code returns the HTTP status code for the request's response error.
 11119  func (s *ResourceNotFoundException) StatusCode() int {
 11120  	return s.RespMetadata.StatusCode
 11121  }
 11122  
 11123  // RequestID returns the service's response RequestID for request.
 11124  func (s *ResourceNotFoundException) RequestID() string {
 11125  	return s.RespMetadata.RequestID
 11126  }
 11127  
 11128  // Describes the credentials for the service account used by the fleet or image
 11129  // builder to connect to the directory.
 11130  type ServiceAccountCredentials struct {
 11131  	_ struct{} `type:"structure"`
 11132  
 11133  	// The user name of the account. This account must have the following privileges:
 11134  	// create computer objects, join computers to the domain, and change/reset the
 11135  	// password on descendant computer objects for the organizational units specified.
 11136  	//
 11137  	// AccountName is a sensitive parameter and its value will be
 11138  	// replaced with "sensitive" in string returned by ServiceAccountCredentials's
 11139  	// String and GoString methods.
 11140  	//
 11141  	// AccountName is a required field
 11142  	AccountName *string `min:"1" type:"string" required:"true" sensitive:"true"`
 11143  
 11144  	// The password for the account.
 11145  	//
 11146  	// AccountPassword is a sensitive parameter and its value will be
 11147  	// replaced with "sensitive" in string returned by ServiceAccountCredentials's
 11148  	// String and GoString methods.
 11149  	//
 11150  	// AccountPassword is a required field
 11151  	AccountPassword *string `min:"1" type:"string" required:"true" sensitive:"true"`
 11152  }
 11153  
 11154  // String returns the string representation.
 11155  //
 11156  // API parameter values that are decorated as "sensitive" in the API will not
 11157  // be included in the string output. The member name will be present, but the
 11158  // value will be replaced with "sensitive".
 11159  func (s ServiceAccountCredentials) String() string {
 11160  	return awsutil.Prettify(s)
 11161  }
 11162  
 11163  // GoString returns the string representation.
 11164  //
 11165  // API parameter values that are decorated as "sensitive" in the API will not
 11166  // be included in the string output. The member name will be present, but the
 11167  // value will be replaced with "sensitive".
 11168  func (s ServiceAccountCredentials) GoString() string {
 11169  	return s.String()
 11170  }
 11171  
 11172  // Validate inspects the fields of the type to determine if they are valid.
 11173  func (s *ServiceAccountCredentials) Validate() error {
 11174  	invalidParams := request.ErrInvalidParams{Context: "ServiceAccountCredentials"}
 11175  	if s.AccountName == nil {
 11176  		invalidParams.Add(request.NewErrParamRequired("AccountName"))
 11177  	}
 11178  	if s.AccountName != nil && len(*s.AccountName) < 1 {
 11179  		invalidParams.Add(request.NewErrParamMinLen("AccountName", 1))
 11180  	}
 11181  	if s.AccountPassword == nil {
 11182  		invalidParams.Add(request.NewErrParamRequired("AccountPassword"))
 11183  	}
 11184  	if s.AccountPassword != nil && len(*s.AccountPassword) < 1 {
 11185  		invalidParams.Add(request.NewErrParamMinLen("AccountPassword", 1))
 11186  	}
 11187  
 11188  	if invalidParams.Len() > 0 {
 11189  		return invalidParams
 11190  	}
 11191  	return nil
 11192  }
 11193  
 11194  // SetAccountName sets the AccountName field's value.
 11195  func (s *ServiceAccountCredentials) SetAccountName(v string) *ServiceAccountCredentials {
 11196  	s.AccountName = &v
 11197  	return s
 11198  }
 11199  
 11200  // SetAccountPassword sets the AccountPassword field's value.
 11201  func (s *ServiceAccountCredentials) SetAccountPassword(v string) *ServiceAccountCredentials {
 11202  	s.AccountPassword = &v
 11203  	return s
 11204  }
 11205  
 11206  // Describes a streaming session.
 11207  type Session struct {
 11208  	_ struct{} `type:"structure"`
 11209  
 11210  	// The authentication method. The user is authenticated using a streaming URL
 11211  	// (API) or SAML 2.0 federation (SAML).
 11212  	AuthenticationType *string `type:"string" enum:"AuthenticationType"`
 11213  
 11214  	// Specifies whether a user is connected to the streaming session.
 11215  	ConnectionState *string `type:"string" enum:"SessionConnectionState"`
 11216  
 11217  	// The name of the fleet for the streaming session.
 11218  	//
 11219  	// FleetName is a required field
 11220  	FleetName *string `min:"1" type:"string" required:"true"`
 11221  
 11222  	// The identifier of the streaming session.
 11223  	//
 11224  	// Id is a required field
 11225  	Id *string `min:"1" type:"string" required:"true"`
 11226  
 11227  	// The time when the streaming session is set to expire. This time is based
 11228  	// on the MaxUserDurationinSeconds value, which determines the maximum length
 11229  	// of time that a streaming session can run. A streaming session might end earlier
 11230  	// than the time specified in SessionMaxExpirationTime, when the DisconnectTimeOutInSeconds
 11231  	// elapses or the user chooses to end his or her session. If the DisconnectTimeOutInSeconds
 11232  	// elapses, or the user chooses to end his or her session, the streaming instance
 11233  	// is terminated and the streaming session ends.
 11234  	MaxExpirationTime *time.Time `type:"timestamp"`
 11235  
 11236  	// The network details for the streaming session.
 11237  	NetworkAccessConfiguration *NetworkAccessConfiguration `type:"structure"`
 11238  
 11239  	// The name of the stack for the streaming session.
 11240  	//
 11241  	// StackName is a required field
 11242  	StackName *string `min:"1" type:"string" required:"true"`
 11243  
 11244  	// The time when a streaming instance is dedicated for the user.
 11245  	StartTime *time.Time `type:"timestamp"`
 11246  
 11247  	// The current state of the streaming session.
 11248  	//
 11249  	// State is a required field
 11250  	State *string `type:"string" required:"true" enum:"SessionState"`
 11251  
 11252  	// The identifier of the user for whom the session was created.
 11253  	//
 11254  	// UserId is a required field
 11255  	UserId *string `min:"2" type:"string" required:"true"`
 11256  }
 11257  
 11258  // String returns the string representation.
 11259  //
 11260  // API parameter values that are decorated as "sensitive" in the API will not
 11261  // be included in the string output. The member name will be present, but the
 11262  // value will be replaced with "sensitive".
 11263  func (s Session) String() string {
 11264  	return awsutil.Prettify(s)
 11265  }
 11266  
 11267  // GoString returns the string representation.
 11268  //
 11269  // API parameter values that are decorated as "sensitive" in the API will not
 11270  // be included in the string output. The member name will be present, but the
 11271  // value will be replaced with "sensitive".
 11272  func (s Session) GoString() string {
 11273  	return s.String()
 11274  }
 11275  
 11276  // SetAuthenticationType sets the AuthenticationType field's value.
 11277  func (s *Session) SetAuthenticationType(v string) *Session {
 11278  	s.AuthenticationType = &v
 11279  	return s
 11280  }
 11281  
 11282  // SetConnectionState sets the ConnectionState field's value.
 11283  func (s *Session) SetConnectionState(v string) *Session {
 11284  	s.ConnectionState = &v
 11285  	return s
 11286  }
 11287  
 11288  // SetFleetName sets the FleetName field's value.
 11289  func (s *Session) SetFleetName(v string) *Session {
 11290  	s.FleetName = &v
 11291  	return s
 11292  }
 11293  
 11294  // SetId sets the Id field's value.
 11295  func (s *Session) SetId(v string) *Session {
 11296  	s.Id = &v
 11297  	return s
 11298  }
 11299  
 11300  // SetMaxExpirationTime sets the MaxExpirationTime field's value.
 11301  func (s *Session) SetMaxExpirationTime(v time.Time) *Session {
 11302  	s.MaxExpirationTime = &v
 11303  	return s
 11304  }
 11305  
 11306  // SetNetworkAccessConfiguration sets the NetworkAccessConfiguration field's value.
 11307  func (s *Session) SetNetworkAccessConfiguration(v *NetworkAccessConfiguration) *Session {
 11308  	s.NetworkAccessConfiguration = v
 11309  	return s
 11310  }
 11311  
 11312  // SetStackName sets the StackName field's value.
 11313  func (s *Session) SetStackName(v string) *Session {
 11314  	s.StackName = &v
 11315  	return s
 11316  }
 11317  
 11318  // SetStartTime sets the StartTime field's value.
 11319  func (s *Session) SetStartTime(v time.Time) *Session {
 11320  	s.StartTime = &v
 11321  	return s
 11322  }
 11323  
 11324  // SetState sets the State field's value.
 11325  func (s *Session) SetState(v string) *Session {
 11326  	s.State = &v
 11327  	return s
 11328  }
 11329  
 11330  // SetUserId sets the UserId field's value.
 11331  func (s *Session) SetUserId(v string) *Session {
 11332  	s.UserId = &v
 11333  	return s
 11334  }
 11335  
 11336  // Describes the permissions that are available to the specified AWS account
 11337  // for a shared image.
 11338  type SharedImagePermissions struct {
 11339  	_ struct{} `type:"structure"`
 11340  
 11341  	// Describes the permissions for a shared image.
 11342  	//
 11343  	// ImagePermissions is a required field
 11344  	ImagePermissions *ImagePermissions `locationName:"imagePermissions" type:"structure" required:"true"`
 11345  
 11346  	// The 12-digit identifier of the AWS account with which the image is shared.
 11347  	//
 11348  	// SharedAccountId is a required field
 11349  	SharedAccountId *string `locationName:"sharedAccountId" type:"string" required:"true"`
 11350  }
 11351  
 11352  // String returns the string representation.
 11353  //
 11354  // API parameter values that are decorated as "sensitive" in the API will not
 11355  // be included in the string output. The member name will be present, but the
 11356  // value will be replaced with "sensitive".
 11357  func (s SharedImagePermissions) String() string {
 11358  	return awsutil.Prettify(s)
 11359  }
 11360  
 11361  // GoString returns the string representation.
 11362  //
 11363  // API parameter values that are decorated as "sensitive" in the API will not
 11364  // be included in the string output. The member name will be present, but the
 11365  // value will be replaced with "sensitive".
 11366  func (s SharedImagePermissions) GoString() string {
 11367  	return s.String()
 11368  }
 11369  
 11370  // SetImagePermissions sets the ImagePermissions field's value.
 11371  func (s *SharedImagePermissions) SetImagePermissions(v *ImagePermissions) *SharedImagePermissions {
 11372  	s.ImagePermissions = v
 11373  	return s
 11374  }
 11375  
 11376  // SetSharedAccountId sets the SharedAccountId field's value.
 11377  func (s *SharedImagePermissions) SetSharedAccountId(v string) *SharedImagePermissions {
 11378  	s.SharedAccountId = &v
 11379  	return s
 11380  }
 11381  
 11382  // Describes a stack.
 11383  type Stack struct {
 11384  	_ struct{} `type:"structure"`
 11385  
 11386  	// The list of virtual private cloud (VPC) interface endpoint objects. Users
 11387  	// of the stack can connect to AppStream 2.0 only through the specified endpoints.
 11388  	AccessEndpoints []*AccessEndpoint `min:"1" type:"list"`
 11389  
 11390  	// The persistent application settings for users of the stack.
 11391  	ApplicationSettings *ApplicationSettingsResponse `type:"structure"`
 11392  
 11393  	// The ARN of the stack.
 11394  	Arn *string `type:"string"`
 11395  
 11396  	// The time the stack was created.
 11397  	CreatedTime *time.Time `type:"timestamp"`
 11398  
 11399  	// The description to display.
 11400  	Description *string `min:"1" type:"string"`
 11401  
 11402  	// The stack name to display.
 11403  	DisplayName *string `min:"1" type:"string"`
 11404  
 11405  	// The domains where AppStream 2.0 streaming sessions can be embedded in an
 11406  	// iframe. You must approve the domains that you want to host embedded AppStream
 11407  	// 2.0 streaming sessions.
 11408  	EmbedHostDomains []*string `min:"1" type:"list"`
 11409  
 11410  	// The URL that users are redirected to after they click the Send Feedback link.
 11411  	// If no URL is specified, no Send Feedback link is displayed.
 11412  	FeedbackURL *string `type:"string"`
 11413  
 11414  	// The name of the stack.
 11415  	//
 11416  	// Name is a required field
 11417  	Name *string `min:"1" type:"string" required:"true"`
 11418  
 11419  	// The URL that users are redirected to after their streaming session ends.
 11420  	RedirectURL *string `type:"string"`
 11421  
 11422  	// The errors for the stack.
 11423  	StackErrors []*StackError `type:"list"`
 11424  
 11425  	// The storage connectors to enable.
 11426  	StorageConnectors []*StorageConnector `type:"list"`
 11427  
 11428  	// The actions that are enabled or disabled for users during their streaming
 11429  	// sessions. By default these actions are enabled.
 11430  	UserSettings []*UserSetting `min:"1" type:"list"`
 11431  }
 11432  
 11433  // String returns the string representation.
 11434  //
 11435  // API parameter values that are decorated as "sensitive" in the API will not
 11436  // be included in the string output. The member name will be present, but the
 11437  // value will be replaced with "sensitive".
 11438  func (s Stack) String() string {
 11439  	return awsutil.Prettify(s)
 11440  }
 11441  
 11442  // GoString returns the string representation.
 11443  //
 11444  // API parameter values that are decorated as "sensitive" in the API will not
 11445  // be included in the string output. The member name will be present, but the
 11446  // value will be replaced with "sensitive".
 11447  func (s Stack) GoString() string {
 11448  	return s.String()
 11449  }
 11450  
 11451  // SetAccessEndpoints sets the AccessEndpoints field's value.
 11452  func (s *Stack) SetAccessEndpoints(v []*AccessEndpoint) *Stack {
 11453  	s.AccessEndpoints = v
 11454  	return s
 11455  }
 11456  
 11457  // SetApplicationSettings sets the ApplicationSettings field's value.
 11458  func (s *Stack) SetApplicationSettings(v *ApplicationSettingsResponse) *Stack {
 11459  	s.ApplicationSettings = v
 11460  	return s
 11461  }
 11462  
 11463  // SetArn sets the Arn field's value.
 11464  func (s *Stack) SetArn(v string) *Stack {
 11465  	s.Arn = &v
 11466  	return s
 11467  }
 11468  
 11469  // SetCreatedTime sets the CreatedTime field's value.
 11470  func (s *Stack) SetCreatedTime(v time.Time) *Stack {
 11471  	s.CreatedTime = &v
 11472  	return s
 11473  }
 11474  
 11475  // SetDescription sets the Description field's value.
 11476  func (s *Stack) SetDescription(v string) *Stack {
 11477  	s.Description = &v
 11478  	return s
 11479  }
 11480  
 11481  // SetDisplayName sets the DisplayName field's value.
 11482  func (s *Stack) SetDisplayName(v string) *Stack {
 11483  	s.DisplayName = &v
 11484  	return s
 11485  }
 11486  
 11487  // SetEmbedHostDomains sets the EmbedHostDomains field's value.
 11488  func (s *Stack) SetEmbedHostDomains(v []*string) *Stack {
 11489  	s.EmbedHostDomains = v
 11490  	return s
 11491  }
 11492  
 11493  // SetFeedbackURL sets the FeedbackURL field's value.
 11494  func (s *Stack) SetFeedbackURL(v string) *Stack {
 11495  	s.FeedbackURL = &v
 11496  	return s
 11497  }
 11498  
 11499  // SetName sets the Name field's value.
 11500  func (s *Stack) SetName(v string) *Stack {
 11501  	s.Name = &v
 11502  	return s
 11503  }
 11504  
 11505  // SetRedirectURL sets the RedirectURL field's value.
 11506  func (s *Stack) SetRedirectURL(v string) *Stack {
 11507  	s.RedirectURL = &v
 11508  	return s
 11509  }
 11510  
 11511  // SetStackErrors sets the StackErrors field's value.
 11512  func (s *Stack) SetStackErrors(v []*StackError) *Stack {
 11513  	s.StackErrors = v
 11514  	return s
 11515  }
 11516  
 11517  // SetStorageConnectors sets the StorageConnectors field's value.
 11518  func (s *Stack) SetStorageConnectors(v []*StorageConnector) *Stack {
 11519  	s.StorageConnectors = v
 11520  	return s
 11521  }
 11522  
 11523  // SetUserSettings sets the UserSettings field's value.
 11524  func (s *Stack) SetUserSettings(v []*UserSetting) *Stack {
 11525  	s.UserSettings = v
 11526  	return s
 11527  }
 11528  
 11529  // Describes a stack error.
 11530  type StackError struct {
 11531  	_ struct{} `type:"structure"`
 11532  
 11533  	// The error code.
 11534  	ErrorCode *string `type:"string" enum:"StackErrorCode"`
 11535  
 11536  	// The error message.
 11537  	ErrorMessage *string `min:"1" type:"string"`
 11538  }
 11539  
 11540  // String returns the string representation.
 11541  //
 11542  // API parameter values that are decorated as "sensitive" in the API will not
 11543  // be included in the string output. The member name will be present, but the
 11544  // value will be replaced with "sensitive".
 11545  func (s StackError) String() string {
 11546  	return awsutil.Prettify(s)
 11547  }
 11548  
 11549  // GoString returns the string representation.
 11550  //
 11551  // API parameter values that are decorated as "sensitive" in the API will not
 11552  // be included in the string output. The member name will be present, but the
 11553  // value will be replaced with "sensitive".
 11554  func (s StackError) GoString() string {
 11555  	return s.String()
 11556  }
 11557  
 11558  // SetErrorCode sets the ErrorCode field's value.
 11559  func (s *StackError) SetErrorCode(v string) *StackError {
 11560  	s.ErrorCode = &v
 11561  	return s
 11562  }
 11563  
 11564  // SetErrorMessage sets the ErrorMessage field's value.
 11565  func (s *StackError) SetErrorMessage(v string) *StackError {
 11566  	s.ErrorMessage = &v
 11567  	return s
 11568  }
 11569  
 11570  type StartFleetInput struct {
 11571  	_ struct{} `type:"structure"`
 11572  
 11573  	// The name of the fleet.
 11574  	//
 11575  	// Name is a required field
 11576  	Name *string `min:"1" type:"string" required:"true"`
 11577  }
 11578  
 11579  // String 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 StartFleetInput) String() string {
 11585  	return awsutil.Prettify(s)
 11586  }
 11587  
 11588  // GoString returns the string representation.
 11589  //
 11590  // API parameter values that are decorated as "sensitive" in the API will not
 11591  // be included in the string output. The member name will be present, but the
 11592  // value will be replaced with "sensitive".
 11593  func (s StartFleetInput) GoString() string {
 11594  	return s.String()
 11595  }
 11596  
 11597  // Validate inspects the fields of the type to determine if they are valid.
 11598  func (s *StartFleetInput) Validate() error {
 11599  	invalidParams := request.ErrInvalidParams{Context: "StartFleetInput"}
 11600  	if s.Name == nil {
 11601  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11602  	}
 11603  	if s.Name != nil && len(*s.Name) < 1 {
 11604  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11605  	}
 11606  
 11607  	if invalidParams.Len() > 0 {
 11608  		return invalidParams
 11609  	}
 11610  	return nil
 11611  }
 11612  
 11613  // SetName sets the Name field's value.
 11614  func (s *StartFleetInput) SetName(v string) *StartFleetInput {
 11615  	s.Name = &v
 11616  	return s
 11617  }
 11618  
 11619  type StartFleetOutput struct {
 11620  	_ struct{} `type:"structure"`
 11621  }
 11622  
 11623  // String returns the string representation.
 11624  //
 11625  // API parameter values that are decorated as "sensitive" in the API will not
 11626  // be included in the string output. The member name will be present, but the
 11627  // value will be replaced with "sensitive".
 11628  func (s StartFleetOutput) String() string {
 11629  	return awsutil.Prettify(s)
 11630  }
 11631  
 11632  // GoString returns the string representation.
 11633  //
 11634  // API parameter values that are decorated as "sensitive" in the API will not
 11635  // be included in the string output. The member name will be present, but the
 11636  // value will be replaced with "sensitive".
 11637  func (s StartFleetOutput) GoString() string {
 11638  	return s.String()
 11639  }
 11640  
 11641  type StartImageBuilderInput struct {
 11642  	_ struct{} `type:"structure"`
 11643  
 11644  	// The version of the AppStream 2.0 agent to use for this image builder. To
 11645  	// use the latest version of the AppStream 2.0 agent, specify [LATEST].
 11646  	AppstreamAgentVersion *string `min:"1" type:"string"`
 11647  
 11648  	// The name of the image builder.
 11649  	//
 11650  	// Name is a required field
 11651  	Name *string `min:"1" type:"string" required:"true"`
 11652  }
 11653  
 11654  // String returns the string representation.
 11655  //
 11656  // API parameter values that are decorated as "sensitive" in the API will not
 11657  // be included in the string output. The member name will be present, but the
 11658  // value will be replaced with "sensitive".
 11659  func (s StartImageBuilderInput) String() string {
 11660  	return awsutil.Prettify(s)
 11661  }
 11662  
 11663  // GoString returns the string representation.
 11664  //
 11665  // API parameter values that are decorated as "sensitive" in the API will not
 11666  // be included in the string output. The member name will be present, but the
 11667  // value will be replaced with "sensitive".
 11668  func (s StartImageBuilderInput) GoString() string {
 11669  	return s.String()
 11670  }
 11671  
 11672  // Validate inspects the fields of the type to determine if they are valid.
 11673  func (s *StartImageBuilderInput) Validate() error {
 11674  	invalidParams := request.ErrInvalidParams{Context: "StartImageBuilderInput"}
 11675  	if s.AppstreamAgentVersion != nil && len(*s.AppstreamAgentVersion) < 1 {
 11676  		invalidParams.Add(request.NewErrParamMinLen("AppstreamAgentVersion", 1))
 11677  	}
 11678  	if s.Name == nil {
 11679  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11680  	}
 11681  	if s.Name != nil && len(*s.Name) < 1 {
 11682  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11683  	}
 11684  
 11685  	if invalidParams.Len() > 0 {
 11686  		return invalidParams
 11687  	}
 11688  	return nil
 11689  }
 11690  
 11691  // SetAppstreamAgentVersion sets the AppstreamAgentVersion field's value.
 11692  func (s *StartImageBuilderInput) SetAppstreamAgentVersion(v string) *StartImageBuilderInput {
 11693  	s.AppstreamAgentVersion = &v
 11694  	return s
 11695  }
 11696  
 11697  // SetName sets the Name field's value.
 11698  func (s *StartImageBuilderInput) SetName(v string) *StartImageBuilderInput {
 11699  	s.Name = &v
 11700  	return s
 11701  }
 11702  
 11703  type StartImageBuilderOutput struct {
 11704  	_ struct{} `type:"structure"`
 11705  
 11706  	// Information about the image builder.
 11707  	ImageBuilder *ImageBuilder `type:"structure"`
 11708  }
 11709  
 11710  // String returns the string representation.
 11711  //
 11712  // API parameter values that are decorated as "sensitive" in the API will not
 11713  // be included in the string output. The member name will be present, but the
 11714  // value will be replaced with "sensitive".
 11715  func (s StartImageBuilderOutput) String() string {
 11716  	return awsutil.Prettify(s)
 11717  }
 11718  
 11719  // GoString returns the string representation.
 11720  //
 11721  // API parameter values that are decorated as "sensitive" in the API will not
 11722  // be included in the string output. The member name will be present, but the
 11723  // value will be replaced with "sensitive".
 11724  func (s StartImageBuilderOutput) GoString() string {
 11725  	return s.String()
 11726  }
 11727  
 11728  // SetImageBuilder sets the ImageBuilder field's value.
 11729  func (s *StartImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *StartImageBuilderOutput {
 11730  	s.ImageBuilder = v
 11731  	return s
 11732  }
 11733  
 11734  type StopFleetInput struct {
 11735  	_ struct{} `type:"structure"`
 11736  
 11737  	// The name of the fleet.
 11738  	//
 11739  	// Name is a required field
 11740  	Name *string `min:"1" type:"string" required:"true"`
 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 StopFleetInput) 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 StopFleetInput) GoString() string {
 11758  	return s.String()
 11759  }
 11760  
 11761  // Validate inspects the fields of the type to determine if they are valid.
 11762  func (s *StopFleetInput) Validate() error {
 11763  	invalidParams := request.ErrInvalidParams{Context: "StopFleetInput"}
 11764  	if s.Name == nil {
 11765  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11766  	}
 11767  	if s.Name != nil && len(*s.Name) < 1 {
 11768  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11769  	}
 11770  
 11771  	if invalidParams.Len() > 0 {
 11772  		return invalidParams
 11773  	}
 11774  	return nil
 11775  }
 11776  
 11777  // SetName sets the Name field's value.
 11778  func (s *StopFleetInput) SetName(v string) *StopFleetInput {
 11779  	s.Name = &v
 11780  	return s
 11781  }
 11782  
 11783  type StopFleetOutput struct {
 11784  	_ struct{} `type:"structure"`
 11785  }
 11786  
 11787  // String returns the string representation.
 11788  //
 11789  // API parameter values that are decorated as "sensitive" in the API will not
 11790  // be included in the string output. The member name will be present, but the
 11791  // value will be replaced with "sensitive".
 11792  func (s StopFleetOutput) String() string {
 11793  	return awsutil.Prettify(s)
 11794  }
 11795  
 11796  // GoString returns the string representation.
 11797  //
 11798  // API parameter values that are decorated as "sensitive" in the API will not
 11799  // be included in the string output. The member name will be present, but the
 11800  // value will be replaced with "sensitive".
 11801  func (s StopFleetOutput) GoString() string {
 11802  	return s.String()
 11803  }
 11804  
 11805  type StopImageBuilderInput struct {
 11806  	_ struct{} `type:"structure"`
 11807  
 11808  	// The name of the image builder.
 11809  	//
 11810  	// Name is a required field
 11811  	Name *string `min:"1" type:"string" required:"true"`
 11812  }
 11813  
 11814  // String returns the string representation.
 11815  //
 11816  // API parameter values that are decorated as "sensitive" in the API will not
 11817  // be included in the string output. The member name will be present, but the
 11818  // value will be replaced with "sensitive".
 11819  func (s StopImageBuilderInput) String() string {
 11820  	return awsutil.Prettify(s)
 11821  }
 11822  
 11823  // GoString returns the string representation.
 11824  //
 11825  // API parameter values that are decorated as "sensitive" in the API will not
 11826  // be included in the string output. The member name will be present, but the
 11827  // value will be replaced with "sensitive".
 11828  func (s StopImageBuilderInput) GoString() string {
 11829  	return s.String()
 11830  }
 11831  
 11832  // Validate inspects the fields of the type to determine if they are valid.
 11833  func (s *StopImageBuilderInput) Validate() error {
 11834  	invalidParams := request.ErrInvalidParams{Context: "StopImageBuilderInput"}
 11835  	if s.Name == nil {
 11836  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11837  	}
 11838  	if s.Name != nil && len(*s.Name) < 1 {
 11839  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11840  	}
 11841  
 11842  	if invalidParams.Len() > 0 {
 11843  		return invalidParams
 11844  	}
 11845  	return nil
 11846  }
 11847  
 11848  // SetName sets the Name field's value.
 11849  func (s *StopImageBuilderInput) SetName(v string) *StopImageBuilderInput {
 11850  	s.Name = &v
 11851  	return s
 11852  }
 11853  
 11854  type StopImageBuilderOutput struct {
 11855  	_ struct{} `type:"structure"`
 11856  
 11857  	// Information about the image builder.
 11858  	ImageBuilder *ImageBuilder `type:"structure"`
 11859  }
 11860  
 11861  // String returns the string representation.
 11862  //
 11863  // API parameter values that are decorated as "sensitive" in the API will not
 11864  // be included in the string output. The member name will be present, but the
 11865  // value will be replaced with "sensitive".
 11866  func (s StopImageBuilderOutput) String() string {
 11867  	return awsutil.Prettify(s)
 11868  }
 11869  
 11870  // GoString returns the string representation.
 11871  //
 11872  // API parameter values that are decorated as "sensitive" in the API will not
 11873  // be included in the string output. The member name will be present, but the
 11874  // value will be replaced with "sensitive".
 11875  func (s StopImageBuilderOutput) GoString() string {
 11876  	return s.String()
 11877  }
 11878  
 11879  // SetImageBuilder sets the ImageBuilder field's value.
 11880  func (s *StopImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *StopImageBuilderOutput {
 11881  	s.ImageBuilder = v
 11882  	return s
 11883  }
 11884  
 11885  // Describes a connector that enables persistent storage for users.
 11886  type StorageConnector struct {
 11887  	_ struct{} `type:"structure"`
 11888  
 11889  	// The type of storage connector.
 11890  	//
 11891  	// ConnectorType is a required field
 11892  	ConnectorType *string `type:"string" required:"true" enum:"StorageConnectorType"`
 11893  
 11894  	// The names of the domains for the account.
 11895  	Domains []*string `type:"list"`
 11896  
 11897  	// The ARN of the storage connector.
 11898  	ResourceIdentifier *string `min:"1" type:"string"`
 11899  }
 11900  
 11901  // String returns the string representation.
 11902  //
 11903  // API parameter values that are decorated as "sensitive" in the API will not
 11904  // be included in the string output. The member name will be present, but the
 11905  // value will be replaced with "sensitive".
 11906  func (s StorageConnector) String() string {
 11907  	return awsutil.Prettify(s)
 11908  }
 11909  
 11910  // GoString returns the string representation.
 11911  //
 11912  // API parameter values that are decorated as "sensitive" in the API will not
 11913  // be included in the string output. The member name will be present, but the
 11914  // value will be replaced with "sensitive".
 11915  func (s StorageConnector) GoString() string {
 11916  	return s.String()
 11917  }
 11918  
 11919  // Validate inspects the fields of the type to determine if they are valid.
 11920  func (s *StorageConnector) Validate() error {
 11921  	invalidParams := request.ErrInvalidParams{Context: "StorageConnector"}
 11922  	if s.ConnectorType == nil {
 11923  		invalidParams.Add(request.NewErrParamRequired("ConnectorType"))
 11924  	}
 11925  	if s.ResourceIdentifier != nil && len(*s.ResourceIdentifier) < 1 {
 11926  		invalidParams.Add(request.NewErrParamMinLen("ResourceIdentifier", 1))
 11927  	}
 11928  
 11929  	if invalidParams.Len() > 0 {
 11930  		return invalidParams
 11931  	}
 11932  	return nil
 11933  }
 11934  
 11935  // SetConnectorType sets the ConnectorType field's value.
 11936  func (s *StorageConnector) SetConnectorType(v string) *StorageConnector {
 11937  	s.ConnectorType = &v
 11938  	return s
 11939  }
 11940  
 11941  // SetDomains sets the Domains field's value.
 11942  func (s *StorageConnector) SetDomains(v []*string) *StorageConnector {
 11943  	s.Domains = v
 11944  	return s
 11945  }
 11946  
 11947  // SetResourceIdentifier sets the ResourceIdentifier field's value.
 11948  func (s *StorageConnector) SetResourceIdentifier(v string) *StorageConnector {
 11949  	s.ResourceIdentifier = &v
 11950  	return s
 11951  }
 11952  
 11953  type TagResourceInput struct {
 11954  	_ struct{} `type:"structure"`
 11955  
 11956  	// The Amazon Resource Name (ARN) of the resource.
 11957  	//
 11958  	// ResourceArn is a required field
 11959  	ResourceArn *string `type:"string" required:"true"`
 11960  
 11961  	// The tags to associate. A tag is a key-value pair, and the value is optional.
 11962  	// For example, Environment=Test. If you do not specify a value, Environment=.
 11963  	//
 11964  	// If you do not specify a value, the value is set to an empty string.
 11965  	//
 11966  	// Generally allowed characters are: letters, numbers, and spaces representable
 11967  	// in UTF-8, and the following special characters:
 11968  	//
 11969  	// _ . : / = + \ - @
 11970  	//
 11971  	// Tags is a required field
 11972  	Tags map[string]*string `min:"1" type:"map" required:"true"`
 11973  }
 11974  
 11975  // String returns the string representation.
 11976  //
 11977  // API parameter values that are decorated as "sensitive" in the API will not
 11978  // be included in the string output. The member name will be present, but the
 11979  // value will be replaced with "sensitive".
 11980  func (s TagResourceInput) String() string {
 11981  	return awsutil.Prettify(s)
 11982  }
 11983  
 11984  // GoString returns the string representation.
 11985  //
 11986  // API parameter values that are decorated as "sensitive" in the API will not
 11987  // be included in the string output. The member name will be present, but the
 11988  // value will be replaced with "sensitive".
 11989  func (s TagResourceInput) GoString() string {
 11990  	return s.String()
 11991  }
 11992  
 11993  // Validate inspects the fields of the type to determine if they are valid.
 11994  func (s *TagResourceInput) Validate() error {
 11995  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 11996  	if s.ResourceArn == nil {
 11997  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 11998  	}
 11999  	if s.Tags == nil {
 12000  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 12001  	}
 12002  	if s.Tags != nil && len(s.Tags) < 1 {
 12003  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 12004  	}
 12005  
 12006  	if invalidParams.Len() > 0 {
 12007  		return invalidParams
 12008  	}
 12009  	return nil
 12010  }
 12011  
 12012  // SetResourceArn sets the ResourceArn field's value.
 12013  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 12014  	s.ResourceArn = &v
 12015  	return s
 12016  }
 12017  
 12018  // SetTags sets the Tags field's value.
 12019  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 12020  	s.Tags = v
 12021  	return s
 12022  }
 12023  
 12024  type TagResourceOutput struct {
 12025  	_ struct{} `type:"structure"`
 12026  }
 12027  
 12028  // String returns the string representation.
 12029  //
 12030  // API parameter values that are decorated as "sensitive" in the API will not
 12031  // be included in the string output. The member name will be present, but the
 12032  // value will be replaced with "sensitive".
 12033  func (s TagResourceOutput) String() string {
 12034  	return awsutil.Prettify(s)
 12035  }
 12036  
 12037  // GoString returns the string representation.
 12038  //
 12039  // API parameter values that are decorated as "sensitive" in the API will not
 12040  // be included in the string output. The member name will be present, but the
 12041  // value will be replaced with "sensitive".
 12042  func (s TagResourceOutput) GoString() string {
 12043  	return s.String()
 12044  }
 12045  
 12046  type UntagResourceInput struct {
 12047  	_ struct{} `type:"structure"`
 12048  
 12049  	// The Amazon Resource Name (ARN) of the resource.
 12050  	//
 12051  	// ResourceArn is a required field
 12052  	ResourceArn *string `type:"string" required:"true"`
 12053  
 12054  	// The tag keys for the tags to disassociate.
 12055  	//
 12056  	// TagKeys is a required field
 12057  	TagKeys []*string `min:"1" type:"list" required:"true"`
 12058  }
 12059  
 12060  // String returns the string representation.
 12061  //
 12062  // API parameter values that are decorated as "sensitive" in the API will not
 12063  // be included in the string output. The member name will be present, but the
 12064  // value will be replaced with "sensitive".
 12065  func (s UntagResourceInput) String() string {
 12066  	return awsutil.Prettify(s)
 12067  }
 12068  
 12069  // GoString returns the string representation.
 12070  //
 12071  // API parameter values that are decorated as "sensitive" in the API will not
 12072  // be included in the string output. The member name will be present, but the
 12073  // value will be replaced with "sensitive".
 12074  func (s UntagResourceInput) GoString() string {
 12075  	return s.String()
 12076  }
 12077  
 12078  // Validate inspects the fields of the type to determine if they are valid.
 12079  func (s *UntagResourceInput) Validate() error {
 12080  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 12081  	if s.ResourceArn == nil {
 12082  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 12083  	}
 12084  	if s.TagKeys == nil {
 12085  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 12086  	}
 12087  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
 12088  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
 12089  	}
 12090  
 12091  	if invalidParams.Len() > 0 {
 12092  		return invalidParams
 12093  	}
 12094  	return nil
 12095  }
 12096  
 12097  // SetResourceArn sets the ResourceArn field's value.
 12098  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 12099  	s.ResourceArn = &v
 12100  	return s
 12101  }
 12102  
 12103  // SetTagKeys sets the TagKeys field's value.
 12104  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 12105  	s.TagKeys = v
 12106  	return s
 12107  }
 12108  
 12109  type UntagResourceOutput struct {
 12110  	_ struct{} `type:"structure"`
 12111  }
 12112  
 12113  // String returns the string representation.
 12114  //
 12115  // API parameter values that are decorated as "sensitive" in the API will not
 12116  // be included in the string output. The member name will be present, but the
 12117  // value will be replaced with "sensitive".
 12118  func (s UntagResourceOutput) String() string {
 12119  	return awsutil.Prettify(s)
 12120  }
 12121  
 12122  // GoString returns the string representation.
 12123  //
 12124  // API parameter values that are decorated as "sensitive" in the API will not
 12125  // be included in the string output. The member name will be present, but the
 12126  // value will be replaced with "sensitive".
 12127  func (s UntagResourceOutput) GoString() string {
 12128  	return s.String()
 12129  }
 12130  
 12131  type UpdateDirectoryConfigInput struct {
 12132  	_ struct{} `type:"structure"`
 12133  
 12134  	// The name of the Directory Config object.
 12135  	//
 12136  	// DirectoryName is a required field
 12137  	DirectoryName *string `type:"string" required:"true"`
 12138  
 12139  	// The distinguished names of the organizational units for computer accounts.
 12140  	OrganizationalUnitDistinguishedNames []*string `type:"list"`
 12141  
 12142  	// The credentials for the service account used by the fleet or image builder
 12143  	// to connect to the directory.
 12144  	ServiceAccountCredentials *ServiceAccountCredentials `type:"structure"`
 12145  }
 12146  
 12147  // String returns the string representation.
 12148  //
 12149  // API parameter values that are decorated as "sensitive" in the API will not
 12150  // be included in the string output. The member name will be present, but the
 12151  // value will be replaced with "sensitive".
 12152  func (s UpdateDirectoryConfigInput) String() string {
 12153  	return awsutil.Prettify(s)
 12154  }
 12155  
 12156  // GoString returns the string representation.
 12157  //
 12158  // API parameter values that are decorated as "sensitive" in the API will not
 12159  // be included in the string output. The member name will be present, but the
 12160  // value will be replaced with "sensitive".
 12161  func (s UpdateDirectoryConfigInput) GoString() string {
 12162  	return s.String()
 12163  }
 12164  
 12165  // Validate inspects the fields of the type to determine if they are valid.
 12166  func (s *UpdateDirectoryConfigInput) Validate() error {
 12167  	invalidParams := request.ErrInvalidParams{Context: "UpdateDirectoryConfigInput"}
 12168  	if s.DirectoryName == nil {
 12169  		invalidParams.Add(request.NewErrParamRequired("DirectoryName"))
 12170  	}
 12171  	if s.ServiceAccountCredentials != nil {
 12172  		if err := s.ServiceAccountCredentials.Validate(); err != nil {
 12173  			invalidParams.AddNested("ServiceAccountCredentials", err.(request.ErrInvalidParams))
 12174  		}
 12175  	}
 12176  
 12177  	if invalidParams.Len() > 0 {
 12178  		return invalidParams
 12179  	}
 12180  	return nil
 12181  }
 12182  
 12183  // SetDirectoryName sets the DirectoryName field's value.
 12184  func (s *UpdateDirectoryConfigInput) SetDirectoryName(v string) *UpdateDirectoryConfigInput {
 12185  	s.DirectoryName = &v
 12186  	return s
 12187  }
 12188  
 12189  // SetOrganizationalUnitDistinguishedNames sets the OrganizationalUnitDistinguishedNames field's value.
 12190  func (s *UpdateDirectoryConfigInput) SetOrganizationalUnitDistinguishedNames(v []*string) *UpdateDirectoryConfigInput {
 12191  	s.OrganizationalUnitDistinguishedNames = v
 12192  	return s
 12193  }
 12194  
 12195  // SetServiceAccountCredentials sets the ServiceAccountCredentials field's value.
 12196  func (s *UpdateDirectoryConfigInput) SetServiceAccountCredentials(v *ServiceAccountCredentials) *UpdateDirectoryConfigInput {
 12197  	s.ServiceAccountCredentials = v
 12198  	return s
 12199  }
 12200  
 12201  type UpdateDirectoryConfigOutput struct {
 12202  	_ struct{} `type:"structure"`
 12203  
 12204  	// Information about the Directory Config object.
 12205  	DirectoryConfig *DirectoryConfig `type:"structure"`
 12206  }
 12207  
 12208  // String returns the string representation.
 12209  //
 12210  // API parameter values that are decorated as "sensitive" in the API will not
 12211  // be included in the string output. The member name will be present, but the
 12212  // value will be replaced with "sensitive".
 12213  func (s UpdateDirectoryConfigOutput) String() string {
 12214  	return awsutil.Prettify(s)
 12215  }
 12216  
 12217  // GoString returns the string representation.
 12218  //
 12219  // API parameter values that are decorated as "sensitive" in the API will not
 12220  // be included in the string output. The member name will be present, but the
 12221  // value will be replaced with "sensitive".
 12222  func (s UpdateDirectoryConfigOutput) GoString() string {
 12223  	return s.String()
 12224  }
 12225  
 12226  // SetDirectoryConfig sets the DirectoryConfig field's value.
 12227  func (s *UpdateDirectoryConfigOutput) SetDirectoryConfig(v *DirectoryConfig) *UpdateDirectoryConfigOutput {
 12228  	s.DirectoryConfig = v
 12229  	return s
 12230  }
 12231  
 12232  type UpdateFleetInput struct {
 12233  	_ struct{} `type:"structure"`
 12234  
 12235  	// The fleet attributes to delete.
 12236  	AttributesToDelete []*string `type:"list"`
 12237  
 12238  	// The desired capacity for the fleet.
 12239  	ComputeCapacity *ComputeCapacity `type:"structure"`
 12240  
 12241  	// Deletes the VPC association for the specified fleet.
 12242  	//
 12243  	// Deprecated: DeleteVpcConfig has been deprecated
 12244  	DeleteVpcConfig *bool `deprecated:"true" type:"boolean"`
 12245  
 12246  	// The description to display.
 12247  	Description *string `type:"string"`
 12248  
 12249  	// The amount of time that a streaming session remains active after users disconnect.
 12250  	// If users try to reconnect to the streaming session after a disconnection
 12251  	// or network interruption within this time interval, they are connected to
 12252  	// their previous session. Otherwise, they are connected to a new session with
 12253  	// a new streaming instance.
 12254  	//
 12255  	// Specify a value between 60 and 360000.
 12256  	DisconnectTimeoutInSeconds *int64 `type:"integer"`
 12257  
 12258  	// The fleet name to display.
 12259  	DisplayName *string `type:"string"`
 12260  
 12261  	// The name of the directory and organizational unit (OU) to use to join the
 12262  	// fleet to a Microsoft Active Directory domain.
 12263  	DomainJoinInfo *DomainJoinInfo `type:"structure"`
 12264  
 12265  	// Enables or disables default internet access for the fleet.
 12266  	EnableDefaultInternetAccess *bool `type:"boolean"`
 12267  
 12268  	// The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To
 12269  	// assume a role, a fleet instance calls the AWS Security Token Service (STS)
 12270  	// AssumeRole API operation and passes the ARN of the role to use. The operation
 12271  	// creates a new session with temporary credentials. AppStream 2.0 retrieves
 12272  	// the temporary credentials and creates the appstream_machine_role credential
 12273  	// profile on the instance.
 12274  	//
 12275  	// For more information, see Using an IAM Role to Grant Permissions to Applications
 12276  	// and Scripts Running on AppStream 2.0 Streaming Instances (https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html)
 12277  	// in the Amazon AppStream 2.0 Administration Guide.
 12278  	IamRoleArn *string `type:"string"`
 12279  
 12280  	// The amount of time that users can be idle (inactive) before they are disconnected
 12281  	// from their streaming session and the DisconnectTimeoutInSeconds time interval
 12282  	// begins. Users are notified before they are disconnected due to inactivity.
 12283  	// If users try to reconnect to the streaming session before the time interval
 12284  	// specified in DisconnectTimeoutInSeconds elapses, they are connected to their
 12285  	// previous session. Users are considered idle when they stop providing keyboard
 12286  	// or mouse input during their streaming session. File uploads and downloads,
 12287  	// audio in, audio out, and pixels changing do not qualify as user activity.
 12288  	// If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds
 12289  	// elapses, they are disconnected.
 12290  	//
 12291  	// To prevent users from being disconnected due to inactivity, specify a value
 12292  	// of 0. Otherwise, specify a value between 60 and 3600. The default value is
 12293  	// 0.
 12294  	//
 12295  	// If you enable this feature, we recommend that you specify a value that corresponds
 12296  	// exactly to a whole number of minutes (for example, 60, 120, and 180). If
 12297  	// you don't do this, the value is rounded to the nearest minute. For example,
 12298  	// if you specify a value of 70, users are disconnected after 1 minute of inactivity.
 12299  	// If you specify a value that is at the midpoint between two different minutes,
 12300  	// the value is rounded up. For example, if you specify a value of 90, users
 12301  	// are disconnected after 2 minutes of inactivity.
 12302  	IdleDisconnectTimeoutInSeconds *int64 `type:"integer"`
 12303  
 12304  	// The ARN of the public, private, or shared image to use.
 12305  	ImageArn *string `type:"string"`
 12306  
 12307  	// The name of the image used to create the fleet.
 12308  	ImageName *string `min:"1" type:"string"`
 12309  
 12310  	// The instance type to use when launching fleet instances. The following instance
 12311  	// types are available:
 12312  	//
 12313  	//    * stream.standard.small
 12314  	//
 12315  	//    * stream.standard.medium
 12316  	//
 12317  	//    * stream.standard.large
 12318  	//
 12319  	//    * stream.compute.large
 12320  	//
 12321  	//    * stream.compute.xlarge
 12322  	//
 12323  	//    * stream.compute.2xlarge
 12324  	//
 12325  	//    * stream.compute.4xlarge
 12326  	//
 12327  	//    * stream.compute.8xlarge
 12328  	//
 12329  	//    * stream.memory.large
 12330  	//
 12331  	//    * stream.memory.xlarge
 12332  	//
 12333  	//    * stream.memory.2xlarge
 12334  	//
 12335  	//    * stream.memory.4xlarge
 12336  	//
 12337  	//    * stream.memory.8xlarge
 12338  	//
 12339  	//    * stream.memory.z1d.large
 12340  	//
 12341  	//    * stream.memory.z1d.xlarge
 12342  	//
 12343  	//    * stream.memory.z1d.2xlarge
 12344  	//
 12345  	//    * stream.memory.z1d.3xlarge
 12346  	//
 12347  	//    * stream.memory.z1d.6xlarge
 12348  	//
 12349  	//    * stream.memory.z1d.12xlarge
 12350  	//
 12351  	//    * stream.graphics-design.large
 12352  	//
 12353  	//    * stream.graphics-design.xlarge
 12354  	//
 12355  	//    * stream.graphics-design.2xlarge
 12356  	//
 12357  	//    * stream.graphics-design.4xlarge
 12358  	//
 12359  	//    * stream.graphics-desktop.2xlarge
 12360  	//
 12361  	//    * stream.graphics.g4dn.xlarge
 12362  	//
 12363  	//    * stream.graphics.g4dn.2xlarge
 12364  	//
 12365  	//    * stream.graphics.g4dn.4xlarge
 12366  	//
 12367  	//    * stream.graphics.g4dn.8xlarge
 12368  	//
 12369  	//    * stream.graphics.g4dn.12xlarge
 12370  	//
 12371  	//    * stream.graphics.g4dn.16xlarge
 12372  	//
 12373  	//    * stream.graphics-pro.4xlarge
 12374  	//
 12375  	//    * stream.graphics-pro.8xlarge
 12376  	//
 12377  	//    * stream.graphics-pro.16xlarge
 12378  	InstanceType *string `min:"1" type:"string"`
 12379  
 12380  	// The maximum amount of time that a streaming session can remain active, in
 12381  	// seconds. If users are still connected to a streaming instance five minutes
 12382  	// before this limit is reached, they are prompted to save any open documents
 12383  	// before being disconnected. After this time elapses, the instance is terminated
 12384  	// and replaced by a new instance.
 12385  	//
 12386  	// Specify a value between 600 and 360000.
 12387  	MaxUserDurationInSeconds *int64 `type:"integer"`
 12388  
 12389  	// A unique name for the fleet.
 12390  	Name *string `min:"1" type:"string"`
 12391  
 12392  	// The AppStream 2.0 view that is displayed to your users when they stream from
 12393  	// the fleet. When APP is specified, only the windows of applications opened
 12394  	// by users display. When DESKTOP is specified, the standard desktop that is
 12395  	// provided by the operating system displays.
 12396  	//
 12397  	// The default value is APP.
 12398  	StreamView *string `type:"string" enum:"StreamView"`
 12399  
 12400  	// The VPC configuration for the fleet.
 12401  	VpcConfig *VpcConfig `type:"structure"`
 12402  }
 12403  
 12404  // String returns the string representation.
 12405  //
 12406  // API parameter values that are decorated as "sensitive" in the API will not
 12407  // be included in the string output. The member name will be present, but the
 12408  // value will be replaced with "sensitive".
 12409  func (s UpdateFleetInput) String() string {
 12410  	return awsutil.Prettify(s)
 12411  }
 12412  
 12413  // GoString returns the string representation.
 12414  //
 12415  // API parameter values that are decorated as "sensitive" in the API will not
 12416  // be included in the string output. The member name will be present, but the
 12417  // value will be replaced with "sensitive".
 12418  func (s UpdateFleetInput) GoString() string {
 12419  	return s.String()
 12420  }
 12421  
 12422  // Validate inspects the fields of the type to determine if they are valid.
 12423  func (s *UpdateFleetInput) Validate() error {
 12424  	invalidParams := request.ErrInvalidParams{Context: "UpdateFleetInput"}
 12425  	if s.ImageName != nil && len(*s.ImageName) < 1 {
 12426  		invalidParams.Add(request.NewErrParamMinLen("ImageName", 1))
 12427  	}
 12428  	if s.InstanceType != nil && len(*s.InstanceType) < 1 {
 12429  		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1))
 12430  	}
 12431  	if s.Name != nil && len(*s.Name) < 1 {
 12432  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 12433  	}
 12434  	if s.ComputeCapacity != nil {
 12435  		if err := s.ComputeCapacity.Validate(); err != nil {
 12436  			invalidParams.AddNested("ComputeCapacity", err.(request.ErrInvalidParams))
 12437  		}
 12438  	}
 12439  
 12440  	if invalidParams.Len() > 0 {
 12441  		return invalidParams
 12442  	}
 12443  	return nil
 12444  }
 12445  
 12446  // SetAttributesToDelete sets the AttributesToDelete field's value.
 12447  func (s *UpdateFleetInput) SetAttributesToDelete(v []*string) *UpdateFleetInput {
 12448  	s.AttributesToDelete = v
 12449  	return s
 12450  }
 12451  
 12452  // SetComputeCapacity sets the ComputeCapacity field's value.
 12453  func (s *UpdateFleetInput) SetComputeCapacity(v *ComputeCapacity) *UpdateFleetInput {
 12454  	s.ComputeCapacity = v
 12455  	return s
 12456  }
 12457  
 12458  // SetDeleteVpcConfig sets the DeleteVpcConfig field's value.
 12459  func (s *UpdateFleetInput) SetDeleteVpcConfig(v bool) *UpdateFleetInput {
 12460  	s.DeleteVpcConfig = &v
 12461  	return s
 12462  }
 12463  
 12464  // SetDescription sets the Description field's value.
 12465  func (s *UpdateFleetInput) SetDescription(v string) *UpdateFleetInput {
 12466  	s.Description = &v
 12467  	return s
 12468  }
 12469  
 12470  // SetDisconnectTimeoutInSeconds sets the DisconnectTimeoutInSeconds field's value.
 12471  func (s *UpdateFleetInput) SetDisconnectTimeoutInSeconds(v int64) *UpdateFleetInput {
 12472  	s.DisconnectTimeoutInSeconds = &v
 12473  	return s
 12474  }
 12475  
 12476  // SetDisplayName sets the DisplayName field's value.
 12477  func (s *UpdateFleetInput) SetDisplayName(v string) *UpdateFleetInput {
 12478  	s.DisplayName = &v
 12479  	return s
 12480  }
 12481  
 12482  // SetDomainJoinInfo sets the DomainJoinInfo field's value.
 12483  func (s *UpdateFleetInput) SetDomainJoinInfo(v *DomainJoinInfo) *UpdateFleetInput {
 12484  	s.DomainJoinInfo = v
 12485  	return s
 12486  }
 12487  
 12488  // SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
 12489  func (s *UpdateFleetInput) SetEnableDefaultInternetAccess(v bool) *UpdateFleetInput {
 12490  	s.EnableDefaultInternetAccess = &v
 12491  	return s
 12492  }
 12493  
 12494  // SetIamRoleArn sets the IamRoleArn field's value.
 12495  func (s *UpdateFleetInput) SetIamRoleArn(v string) *UpdateFleetInput {
 12496  	s.IamRoleArn = &v
 12497  	return s
 12498  }
 12499  
 12500  // SetIdleDisconnectTimeoutInSeconds sets the IdleDisconnectTimeoutInSeconds field's value.
 12501  func (s *UpdateFleetInput) SetIdleDisconnectTimeoutInSeconds(v int64) *UpdateFleetInput {
 12502  	s.IdleDisconnectTimeoutInSeconds = &v
 12503  	return s
 12504  }
 12505  
 12506  // SetImageArn sets the ImageArn field's value.
 12507  func (s *UpdateFleetInput) SetImageArn(v string) *UpdateFleetInput {
 12508  	s.ImageArn = &v
 12509  	return s
 12510  }
 12511  
 12512  // SetImageName sets the ImageName field's value.
 12513  func (s *UpdateFleetInput) SetImageName(v string) *UpdateFleetInput {
 12514  	s.ImageName = &v
 12515  	return s
 12516  }
 12517  
 12518  // SetInstanceType sets the InstanceType field's value.
 12519  func (s *UpdateFleetInput) SetInstanceType(v string) *UpdateFleetInput {
 12520  	s.InstanceType = &v
 12521  	return s
 12522  }
 12523  
 12524  // SetMaxUserDurationInSeconds sets the MaxUserDurationInSeconds field's value.
 12525  func (s *UpdateFleetInput) SetMaxUserDurationInSeconds(v int64) *UpdateFleetInput {
 12526  	s.MaxUserDurationInSeconds = &v
 12527  	return s
 12528  }
 12529  
 12530  // SetName sets the Name field's value.
 12531  func (s *UpdateFleetInput) SetName(v string) *UpdateFleetInput {
 12532  	s.Name = &v
 12533  	return s
 12534  }
 12535  
 12536  // SetStreamView sets the StreamView field's value.
 12537  func (s *UpdateFleetInput) SetStreamView(v string) *UpdateFleetInput {
 12538  	s.StreamView = &v
 12539  	return s
 12540  }
 12541  
 12542  // SetVpcConfig sets the VpcConfig field's value.
 12543  func (s *UpdateFleetInput) SetVpcConfig(v *VpcConfig) *UpdateFleetInput {
 12544  	s.VpcConfig = v
 12545  	return s
 12546  }
 12547  
 12548  type UpdateFleetOutput struct {
 12549  	_ struct{} `type:"structure"`
 12550  
 12551  	// Information about the fleet.
 12552  	Fleet *Fleet `type:"structure"`
 12553  }
 12554  
 12555  // String returns the string representation.
 12556  //
 12557  // API parameter values that are decorated as "sensitive" in the API will not
 12558  // be included in the string output. The member name will be present, but the
 12559  // value will be replaced with "sensitive".
 12560  func (s UpdateFleetOutput) String() string {
 12561  	return awsutil.Prettify(s)
 12562  }
 12563  
 12564  // GoString returns the string representation.
 12565  //
 12566  // API parameter values that are decorated as "sensitive" in the API will not
 12567  // be included in the string output. The member name will be present, but the
 12568  // value will be replaced with "sensitive".
 12569  func (s UpdateFleetOutput) GoString() string {
 12570  	return s.String()
 12571  }
 12572  
 12573  // SetFleet sets the Fleet field's value.
 12574  func (s *UpdateFleetOutput) SetFleet(v *Fleet) *UpdateFleetOutput {
 12575  	s.Fleet = v
 12576  	return s
 12577  }
 12578  
 12579  type UpdateImagePermissionsInput struct {
 12580  	_ struct{} `type:"structure"`
 12581  
 12582  	// The permissions for the image.
 12583  	//
 12584  	// ImagePermissions is a required field
 12585  	ImagePermissions *ImagePermissions `type:"structure" required:"true"`
 12586  
 12587  	// The name of the private image.
 12588  	//
 12589  	// Name is a required field
 12590  	Name *string `type:"string" required:"true"`
 12591  
 12592  	// The 12-digit identifier of the AWS account for which you want add or update
 12593  	// image permissions.
 12594  	//
 12595  	// SharedAccountId is a required field
 12596  	SharedAccountId *string `type:"string" required:"true"`
 12597  }
 12598  
 12599  // String returns the string representation.
 12600  //
 12601  // API parameter values that are decorated as "sensitive" in the API will not
 12602  // be included in the string output. The member name will be present, but the
 12603  // value will be replaced with "sensitive".
 12604  func (s UpdateImagePermissionsInput) String() string {
 12605  	return awsutil.Prettify(s)
 12606  }
 12607  
 12608  // GoString returns the string representation.
 12609  //
 12610  // API parameter values that are decorated as "sensitive" in the API will not
 12611  // be included in the string output. The member name will be present, but the
 12612  // value will be replaced with "sensitive".
 12613  func (s UpdateImagePermissionsInput) GoString() string {
 12614  	return s.String()
 12615  }
 12616  
 12617  // Validate inspects the fields of the type to determine if they are valid.
 12618  func (s *UpdateImagePermissionsInput) Validate() error {
 12619  	invalidParams := request.ErrInvalidParams{Context: "UpdateImagePermissionsInput"}
 12620  	if s.ImagePermissions == nil {
 12621  		invalidParams.Add(request.NewErrParamRequired("ImagePermissions"))
 12622  	}
 12623  	if s.Name == nil {
 12624  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12625  	}
 12626  	if s.SharedAccountId == nil {
 12627  		invalidParams.Add(request.NewErrParamRequired("SharedAccountId"))
 12628  	}
 12629  
 12630  	if invalidParams.Len() > 0 {
 12631  		return invalidParams
 12632  	}
 12633  	return nil
 12634  }
 12635  
 12636  // SetImagePermissions sets the ImagePermissions field's value.
 12637  func (s *UpdateImagePermissionsInput) SetImagePermissions(v *ImagePermissions) *UpdateImagePermissionsInput {
 12638  	s.ImagePermissions = v
 12639  	return s
 12640  }
 12641  
 12642  // SetName sets the Name field's value.
 12643  func (s *UpdateImagePermissionsInput) SetName(v string) *UpdateImagePermissionsInput {
 12644  	s.Name = &v
 12645  	return s
 12646  }
 12647  
 12648  // SetSharedAccountId sets the SharedAccountId field's value.
 12649  func (s *UpdateImagePermissionsInput) SetSharedAccountId(v string) *UpdateImagePermissionsInput {
 12650  	s.SharedAccountId = &v
 12651  	return s
 12652  }
 12653  
 12654  type UpdateImagePermissionsOutput struct {
 12655  	_ struct{} `type:"structure"`
 12656  }
 12657  
 12658  // String returns the string representation.
 12659  //
 12660  // API parameter values that are decorated as "sensitive" in the API will not
 12661  // be included in the string output. The member name will be present, but the
 12662  // value will be replaced with "sensitive".
 12663  func (s UpdateImagePermissionsOutput) String() string {
 12664  	return awsutil.Prettify(s)
 12665  }
 12666  
 12667  // GoString returns the string representation.
 12668  //
 12669  // API parameter values that are decorated as "sensitive" in the API will not
 12670  // be included in the string output. The member name will be present, but the
 12671  // value will be replaced with "sensitive".
 12672  func (s UpdateImagePermissionsOutput) GoString() string {
 12673  	return s.String()
 12674  }
 12675  
 12676  type UpdateStackInput struct {
 12677  	_ struct{} `type:"structure"`
 12678  
 12679  	// The list of interface VPC endpoint (interface endpoint) objects. Users of
 12680  	// the stack can connect to AppStream 2.0 only through the specified endpoints.
 12681  	AccessEndpoints []*AccessEndpoint `min:"1" type:"list"`
 12682  
 12683  	// The persistent application settings for users of a stack. When these settings
 12684  	// are enabled, changes that users make to applications and Windows settings
 12685  	// are automatically saved after each session and applied to the next session.
 12686  	ApplicationSettings *ApplicationSettings `type:"structure"`
 12687  
 12688  	// The stack attributes to delete.
 12689  	AttributesToDelete []*string `type:"list"`
 12690  
 12691  	// Deletes the storage connectors currently enabled for the stack.
 12692  	//
 12693  	// Deprecated: DeleteStorageConnectors has been deprecated
 12694  	DeleteStorageConnectors *bool `deprecated:"true" type:"boolean"`
 12695  
 12696  	// The description to display.
 12697  	Description *string `type:"string"`
 12698  
 12699  	// The stack name to display.
 12700  	DisplayName *string `type:"string"`
 12701  
 12702  	// The domains where AppStream 2.0 streaming sessions can be embedded in an
 12703  	// iframe. You must approve the domains that you want to host embedded AppStream
 12704  	// 2.0 streaming sessions.
 12705  	EmbedHostDomains []*string `min:"1" type:"list"`
 12706  
 12707  	// The URL that users are redirected to after they choose the Send Feedback
 12708  	// link. If no URL is specified, no Send Feedback link is displayed.
 12709  	FeedbackURL *string `type:"string"`
 12710  
 12711  	// The name of the stack.
 12712  	//
 12713  	// Name is a required field
 12714  	Name *string `min:"1" type:"string" required:"true"`
 12715  
 12716  	// The URL that users are redirected to after their streaming session ends.
 12717  	RedirectURL *string `type:"string"`
 12718  
 12719  	// The storage connectors to enable.
 12720  	StorageConnectors []*StorageConnector `type:"list"`
 12721  
 12722  	// The actions that are enabled or disabled for users during their streaming
 12723  	// sessions. By default, these actions are enabled.
 12724  	UserSettings []*UserSetting `min:"1" type:"list"`
 12725  }
 12726  
 12727  // String returns the string representation.
 12728  //
 12729  // API parameter values that are decorated as "sensitive" in the API will not
 12730  // be included in the string output. The member name will be present, but the
 12731  // value will be replaced with "sensitive".
 12732  func (s UpdateStackInput) String() string {
 12733  	return awsutil.Prettify(s)
 12734  }
 12735  
 12736  // GoString returns the string representation.
 12737  //
 12738  // API parameter values that are decorated as "sensitive" in the API will not
 12739  // be included in the string output. The member name will be present, but the
 12740  // value will be replaced with "sensitive".
 12741  func (s UpdateStackInput) GoString() string {
 12742  	return s.String()
 12743  }
 12744  
 12745  // Validate inspects the fields of the type to determine if they are valid.
 12746  func (s *UpdateStackInput) Validate() error {
 12747  	invalidParams := request.ErrInvalidParams{Context: "UpdateStackInput"}
 12748  	if s.AccessEndpoints != nil && len(s.AccessEndpoints) < 1 {
 12749  		invalidParams.Add(request.NewErrParamMinLen("AccessEndpoints", 1))
 12750  	}
 12751  	if s.EmbedHostDomains != nil && len(s.EmbedHostDomains) < 1 {
 12752  		invalidParams.Add(request.NewErrParamMinLen("EmbedHostDomains", 1))
 12753  	}
 12754  	if s.Name == nil {
 12755  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12756  	}
 12757  	if s.Name != nil && len(*s.Name) < 1 {
 12758  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 12759  	}
 12760  	if s.UserSettings != nil && len(s.UserSettings) < 1 {
 12761  		invalidParams.Add(request.NewErrParamMinLen("UserSettings", 1))
 12762  	}
 12763  	if s.AccessEndpoints != nil {
 12764  		for i, v := range s.AccessEndpoints {
 12765  			if v == nil {
 12766  				continue
 12767  			}
 12768  			if err := v.Validate(); err != nil {
 12769  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessEndpoints", i), err.(request.ErrInvalidParams))
 12770  			}
 12771  		}
 12772  	}
 12773  	if s.ApplicationSettings != nil {
 12774  		if err := s.ApplicationSettings.Validate(); err != nil {
 12775  			invalidParams.AddNested("ApplicationSettings", err.(request.ErrInvalidParams))
 12776  		}
 12777  	}
 12778  	if s.StorageConnectors != nil {
 12779  		for i, v := range s.StorageConnectors {
 12780  			if v == nil {
 12781  				continue
 12782  			}
 12783  			if err := v.Validate(); err != nil {
 12784  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StorageConnectors", i), err.(request.ErrInvalidParams))
 12785  			}
 12786  		}
 12787  	}
 12788  	if s.UserSettings != nil {
 12789  		for i, v := range s.UserSettings {
 12790  			if v == nil {
 12791  				continue
 12792  			}
 12793  			if err := v.Validate(); err != nil {
 12794  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserSettings", i), err.(request.ErrInvalidParams))
 12795  			}
 12796  		}
 12797  	}
 12798  
 12799  	if invalidParams.Len() > 0 {
 12800  		return invalidParams
 12801  	}
 12802  	return nil
 12803  }
 12804  
 12805  // SetAccessEndpoints sets the AccessEndpoints field's value.
 12806  func (s *UpdateStackInput) SetAccessEndpoints(v []*AccessEndpoint) *UpdateStackInput {
 12807  	s.AccessEndpoints = v
 12808  	return s
 12809  }
 12810  
 12811  // SetApplicationSettings sets the ApplicationSettings field's value.
 12812  func (s *UpdateStackInput) SetApplicationSettings(v *ApplicationSettings) *UpdateStackInput {
 12813  	s.ApplicationSettings = v
 12814  	return s
 12815  }
 12816  
 12817  // SetAttributesToDelete sets the AttributesToDelete field's value.
 12818  func (s *UpdateStackInput) SetAttributesToDelete(v []*string) *UpdateStackInput {
 12819  	s.AttributesToDelete = v
 12820  	return s
 12821  }
 12822  
 12823  // SetDeleteStorageConnectors sets the DeleteStorageConnectors field's value.
 12824  func (s *UpdateStackInput) SetDeleteStorageConnectors(v bool) *UpdateStackInput {
 12825  	s.DeleteStorageConnectors = &v
 12826  	return s
 12827  }
 12828  
 12829  // SetDescription sets the Description field's value.
 12830  func (s *UpdateStackInput) SetDescription(v string) *UpdateStackInput {
 12831  	s.Description = &v
 12832  	return s
 12833  }
 12834  
 12835  // SetDisplayName sets the DisplayName field's value.
 12836  func (s *UpdateStackInput) SetDisplayName(v string) *UpdateStackInput {
 12837  	s.DisplayName = &v
 12838  	return s
 12839  }
 12840  
 12841  // SetEmbedHostDomains sets the EmbedHostDomains field's value.
 12842  func (s *UpdateStackInput) SetEmbedHostDomains(v []*string) *UpdateStackInput {
 12843  	s.EmbedHostDomains = v
 12844  	return s
 12845  }
 12846  
 12847  // SetFeedbackURL sets the FeedbackURL field's value.
 12848  func (s *UpdateStackInput) SetFeedbackURL(v string) *UpdateStackInput {
 12849  	s.FeedbackURL = &v
 12850  	return s
 12851  }
 12852  
 12853  // SetName sets the Name field's value.
 12854  func (s *UpdateStackInput) SetName(v string) *UpdateStackInput {
 12855  	s.Name = &v
 12856  	return s
 12857  }
 12858  
 12859  // SetRedirectURL sets the RedirectURL field's value.
 12860  func (s *UpdateStackInput) SetRedirectURL(v string) *UpdateStackInput {
 12861  	s.RedirectURL = &v
 12862  	return s
 12863  }
 12864  
 12865  // SetStorageConnectors sets the StorageConnectors field's value.
 12866  func (s *UpdateStackInput) SetStorageConnectors(v []*StorageConnector) *UpdateStackInput {
 12867  	s.StorageConnectors = v
 12868  	return s
 12869  }
 12870  
 12871  // SetUserSettings sets the UserSettings field's value.
 12872  func (s *UpdateStackInput) SetUserSettings(v []*UserSetting) *UpdateStackInput {
 12873  	s.UserSettings = v
 12874  	return s
 12875  }
 12876  
 12877  type UpdateStackOutput struct {
 12878  	_ struct{} `type:"structure"`
 12879  
 12880  	// Information about the stack.
 12881  	Stack *Stack `type:"structure"`
 12882  }
 12883  
 12884  // String returns the string representation.
 12885  //
 12886  // API parameter values that are decorated as "sensitive" in the API will not
 12887  // be included in the string output. The member name will be present, but the
 12888  // value will be replaced with "sensitive".
 12889  func (s UpdateStackOutput) String() string {
 12890  	return awsutil.Prettify(s)
 12891  }
 12892  
 12893  // GoString returns the string representation.
 12894  //
 12895  // API parameter values that are decorated as "sensitive" in the API will not
 12896  // be included in the string output. The member name will be present, but the
 12897  // value will be replaced with "sensitive".
 12898  func (s UpdateStackOutput) GoString() string {
 12899  	return s.String()
 12900  }
 12901  
 12902  // SetStack sets the Stack field's value.
 12903  func (s *UpdateStackOutput) SetStack(v *Stack) *UpdateStackOutput {
 12904  	s.Stack = v
 12905  	return s
 12906  }
 12907  
 12908  // Describes information about the usage report subscription.
 12909  type UsageReportSubscription struct {
 12910  	_ struct{} `type:"structure"`
 12911  
 12912  	// The time when the last usage report was generated.
 12913  	LastGeneratedReportDate *time.Time `type:"timestamp"`
 12914  
 12915  	// The Amazon S3 bucket where generated reports are stored.
 12916  	//
 12917  	// If you enabled on-instance session scripts and Amazon S3 logging for your
 12918  	// session script configuration, AppStream 2.0 created an S3 bucket to store
 12919  	// the script output. The bucket is unique to your account and Region. When
 12920  	// you enable usage reporting in this case, AppStream 2.0 uses the same bucket
 12921  	// to store your usage reports. If you haven't already enabled on-instance session
 12922  	// scripts, when you enable usage reports, AppStream 2.0 creates a new S3 bucket.
 12923  	S3BucketName *string `min:"1" type:"string"`
 12924  
 12925  	// The schedule for generating usage reports.
 12926  	Schedule *string `type:"string" enum:"UsageReportSchedule"`
 12927  
 12928  	// The errors that were returned if usage reports couldn't be generated.
 12929  	SubscriptionErrors []*LastReportGenerationExecutionError `type:"list"`
 12930  }
 12931  
 12932  // String returns the string representation.
 12933  //
 12934  // API parameter values that are decorated as "sensitive" in the API will not
 12935  // be included in the string output. The member name will be present, but the
 12936  // value will be replaced with "sensitive".
 12937  func (s UsageReportSubscription) String() string {
 12938  	return awsutil.Prettify(s)
 12939  }
 12940  
 12941  // GoString returns the string representation.
 12942  //
 12943  // API parameter values that are decorated as "sensitive" in the API will not
 12944  // be included in the string output. The member name will be present, but the
 12945  // value will be replaced with "sensitive".
 12946  func (s UsageReportSubscription) GoString() string {
 12947  	return s.String()
 12948  }
 12949  
 12950  // SetLastGeneratedReportDate sets the LastGeneratedReportDate field's value.
 12951  func (s *UsageReportSubscription) SetLastGeneratedReportDate(v time.Time) *UsageReportSubscription {
 12952  	s.LastGeneratedReportDate = &v
 12953  	return s
 12954  }
 12955  
 12956  // SetS3BucketName sets the S3BucketName field's value.
 12957  func (s *UsageReportSubscription) SetS3BucketName(v string) *UsageReportSubscription {
 12958  	s.S3BucketName = &v
 12959  	return s
 12960  }
 12961  
 12962  // SetSchedule sets the Schedule field's value.
 12963  func (s *UsageReportSubscription) SetSchedule(v string) *UsageReportSubscription {
 12964  	s.Schedule = &v
 12965  	return s
 12966  }
 12967  
 12968  // SetSubscriptionErrors sets the SubscriptionErrors field's value.
 12969  func (s *UsageReportSubscription) SetSubscriptionErrors(v []*LastReportGenerationExecutionError) *UsageReportSubscription {
 12970  	s.SubscriptionErrors = v
 12971  	return s
 12972  }
 12973  
 12974  // Describes a user in the user pool.
 12975  type User struct {
 12976  	_ struct{} `type:"structure"`
 12977  
 12978  	// The ARN of the user.
 12979  	Arn *string `type:"string"`
 12980  
 12981  	// The authentication type for the user.
 12982  	//
 12983  	// AuthenticationType is a required field
 12984  	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
 12985  
 12986  	// The date and time the user was created in the user pool.
 12987  	CreatedTime *time.Time `type:"timestamp"`
 12988  
 12989  	// Specifies whether the user in the user pool is enabled.
 12990  	Enabled *bool `type:"boolean"`
 12991  
 12992  	// The first name, or given name, of the user.
 12993  	//
 12994  	// FirstName is a sensitive parameter and its value will be
 12995  	// replaced with "sensitive" in string returned by User's
 12996  	// String and GoString methods.
 12997  	FirstName *string `type:"string" sensitive:"true"`
 12998  
 12999  	// The last name, or surname, of the user.
 13000  	//
 13001  	// LastName is a sensitive parameter and its value will be
 13002  	// replaced with "sensitive" in string returned by User's
 13003  	// String and GoString methods.
 13004  	LastName *string `type:"string" sensitive:"true"`
 13005  
 13006  	// The status of the user in the user pool. The status can be one of the following:
 13007  	//
 13008  	//    * UNCONFIRMED – The user is created but not confirmed.
 13009  	//
 13010  	//    * CONFIRMED – The user is confirmed.
 13011  	//
 13012  	//    * ARCHIVED – The user is no longer active.
 13013  	//
 13014  	//    * COMPROMISED – The user is disabled because of a potential security
 13015  	//    threat.
 13016  	//
 13017  	//    * UNKNOWN – The user status is not known.
 13018  	Status *string `min:"1" type:"string"`
 13019  
 13020  	// The email address of the user.
 13021  	//
 13022  	// Users' email addresses are case-sensitive.
 13023  	//
 13024  	// UserName is a sensitive parameter and its value will be
 13025  	// replaced with "sensitive" in string returned by User's
 13026  	// String and GoString methods.
 13027  	UserName *string `min:"1" type:"string" sensitive:"true"`
 13028  }
 13029  
 13030  // String returns the string representation.
 13031  //
 13032  // API parameter values that are decorated as "sensitive" in the API will not
 13033  // be included in the string output. The member name will be present, but the
 13034  // value will be replaced with "sensitive".
 13035  func (s User) String() string {
 13036  	return awsutil.Prettify(s)
 13037  }
 13038  
 13039  // GoString returns the string representation.
 13040  //
 13041  // API parameter values that are decorated as "sensitive" in the API will not
 13042  // be included in the string output. The member name will be present, but the
 13043  // value will be replaced with "sensitive".
 13044  func (s User) GoString() string {
 13045  	return s.String()
 13046  }
 13047  
 13048  // SetArn sets the Arn field's value.
 13049  func (s *User) SetArn(v string) *User {
 13050  	s.Arn = &v
 13051  	return s
 13052  }
 13053  
 13054  // SetAuthenticationType sets the AuthenticationType field's value.
 13055  func (s *User) SetAuthenticationType(v string) *User {
 13056  	s.AuthenticationType = &v
 13057  	return s
 13058  }
 13059  
 13060  // SetCreatedTime sets the CreatedTime field's value.
 13061  func (s *User) SetCreatedTime(v time.Time) *User {
 13062  	s.CreatedTime = &v
 13063  	return s
 13064  }
 13065  
 13066  // SetEnabled sets the Enabled field's value.
 13067  func (s *User) SetEnabled(v bool) *User {
 13068  	s.Enabled = &v
 13069  	return s
 13070  }
 13071  
 13072  // SetFirstName sets the FirstName field's value.
 13073  func (s *User) SetFirstName(v string) *User {
 13074  	s.FirstName = &v
 13075  	return s
 13076  }
 13077  
 13078  // SetLastName sets the LastName field's value.
 13079  func (s *User) SetLastName(v string) *User {
 13080  	s.LastName = &v
 13081  	return s
 13082  }
 13083  
 13084  // SetStatus sets the Status field's value.
 13085  func (s *User) SetStatus(v string) *User {
 13086  	s.Status = &v
 13087  	return s
 13088  }
 13089  
 13090  // SetUserName sets the UserName field's value.
 13091  func (s *User) SetUserName(v string) *User {
 13092  	s.UserName = &v
 13093  	return s
 13094  }
 13095  
 13096  // Describes an action and whether the action is enabled or disabled for users
 13097  // during their streaming sessions.
 13098  type UserSetting struct {
 13099  	_ struct{} `type:"structure"`
 13100  
 13101  	// The action that is enabled or disabled.
 13102  	//
 13103  	// Action is a required field
 13104  	Action *string `type:"string" required:"true" enum:"Action"`
 13105  
 13106  	// Indicates whether the action is enabled or disabled.
 13107  	//
 13108  	// Permission is a required field
 13109  	Permission *string `type:"string" required:"true" enum:"Permission"`
 13110  }
 13111  
 13112  // String returns the string representation.
 13113  //
 13114  // API parameter values that are decorated as "sensitive" in the API will not
 13115  // be included in the string output. The member name will be present, but the
 13116  // value will be replaced with "sensitive".
 13117  func (s UserSetting) String() string {
 13118  	return awsutil.Prettify(s)
 13119  }
 13120  
 13121  // GoString returns the string representation.
 13122  //
 13123  // API parameter values that are decorated as "sensitive" in the API will not
 13124  // be included in the string output. The member name will be present, but the
 13125  // value will be replaced with "sensitive".
 13126  func (s UserSetting) GoString() string {
 13127  	return s.String()
 13128  }
 13129  
 13130  // Validate inspects the fields of the type to determine if they are valid.
 13131  func (s *UserSetting) Validate() error {
 13132  	invalidParams := request.ErrInvalidParams{Context: "UserSetting"}
 13133  	if s.Action == nil {
 13134  		invalidParams.Add(request.NewErrParamRequired("Action"))
 13135  	}
 13136  	if s.Permission == nil {
 13137  		invalidParams.Add(request.NewErrParamRequired("Permission"))
 13138  	}
 13139  
 13140  	if invalidParams.Len() > 0 {
 13141  		return invalidParams
 13142  	}
 13143  	return nil
 13144  }
 13145  
 13146  // SetAction sets the Action field's value.
 13147  func (s *UserSetting) SetAction(v string) *UserSetting {
 13148  	s.Action = &v
 13149  	return s
 13150  }
 13151  
 13152  // SetPermission sets the Permission field's value.
 13153  func (s *UserSetting) SetPermission(v string) *UserSetting {
 13154  	s.Permission = &v
 13155  	return s
 13156  }
 13157  
 13158  // Describes a user in the user pool and the associated stack.
 13159  type UserStackAssociation struct {
 13160  	_ struct{} `type:"structure"`
 13161  
 13162  	// The authentication type for the user.
 13163  	//
 13164  	// AuthenticationType is a required field
 13165  	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
 13166  
 13167  	// Specifies whether a welcome email is sent to a user after the user is created
 13168  	// in the user pool.
 13169  	SendEmailNotification *bool `type:"boolean"`
 13170  
 13171  	// The name of the stack that is associated with the user.
 13172  	//
 13173  	// StackName is a required field
 13174  	StackName *string `min:"1" type:"string" required:"true"`
 13175  
 13176  	// The email address of the user who is associated with the stack.
 13177  	//
 13178  	// Users' email addresses are case-sensitive.
 13179  	//
 13180  	// UserName is a sensitive parameter and its value will be
 13181  	// replaced with "sensitive" in string returned by UserStackAssociation's
 13182  	// String and GoString methods.
 13183  	//
 13184  	// UserName is a required field
 13185  	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
 13186  }
 13187  
 13188  // String returns the string representation.
 13189  //
 13190  // API parameter values that are decorated as "sensitive" in the API will not
 13191  // be included in the string output. The member name will be present, but the
 13192  // value will be replaced with "sensitive".
 13193  func (s UserStackAssociation) String() string {
 13194  	return awsutil.Prettify(s)
 13195  }
 13196  
 13197  // GoString returns the string representation.
 13198  //
 13199  // API parameter values that are decorated as "sensitive" in the API will not
 13200  // be included in the string output. The member name will be present, but the
 13201  // value will be replaced with "sensitive".
 13202  func (s UserStackAssociation) GoString() string {
 13203  	return s.String()
 13204  }
 13205  
 13206  // Validate inspects the fields of the type to determine if they are valid.
 13207  func (s *UserStackAssociation) Validate() error {
 13208  	invalidParams := request.ErrInvalidParams{Context: "UserStackAssociation"}
 13209  	if s.AuthenticationType == nil {
 13210  		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
 13211  	}
 13212  	if s.StackName == nil {
 13213  		invalidParams.Add(request.NewErrParamRequired("StackName"))
 13214  	}
 13215  	if s.StackName != nil && len(*s.StackName) < 1 {
 13216  		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
 13217  	}
 13218  	if s.UserName == nil {
 13219  		invalidParams.Add(request.NewErrParamRequired("UserName"))
 13220  	}
 13221  	if s.UserName != nil && len(*s.UserName) < 1 {
 13222  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
 13223  	}
 13224  
 13225  	if invalidParams.Len() > 0 {
 13226  		return invalidParams
 13227  	}
 13228  	return nil
 13229  }
 13230  
 13231  // SetAuthenticationType sets the AuthenticationType field's value.
 13232  func (s *UserStackAssociation) SetAuthenticationType(v string) *UserStackAssociation {
 13233  	s.AuthenticationType = &v
 13234  	return s
 13235  }
 13236  
 13237  // SetSendEmailNotification sets the SendEmailNotification field's value.
 13238  func (s *UserStackAssociation) SetSendEmailNotification(v bool) *UserStackAssociation {
 13239  	s.SendEmailNotification = &v
 13240  	return s
 13241  }
 13242  
 13243  // SetStackName sets the StackName field's value.
 13244  func (s *UserStackAssociation) SetStackName(v string) *UserStackAssociation {
 13245  	s.StackName = &v
 13246  	return s
 13247  }
 13248  
 13249  // SetUserName sets the UserName field's value.
 13250  func (s *UserStackAssociation) SetUserName(v string) *UserStackAssociation {
 13251  	s.UserName = &v
 13252  	return s
 13253  }
 13254  
 13255  // Describes the error that is returned when a user can’t be associated with
 13256  // or disassociated from a stack.
 13257  type UserStackAssociationError struct {
 13258  	_ struct{} `type:"structure"`
 13259  
 13260  	// The error code for the error that is returned when a user can’t be associated
 13261  	// with or disassociated from a stack.
 13262  	ErrorCode *string `type:"string" enum:"UserStackAssociationErrorCode"`
 13263  
 13264  	// The error message for the error that is returned when a user can’t be associated
 13265  	// with or disassociated from a stack.
 13266  	ErrorMessage *string `min:"1" type:"string"`
 13267  
 13268  	// Information about the user and associated stack.
 13269  	UserStackAssociation *UserStackAssociation `type:"structure"`
 13270  }
 13271  
 13272  // String returns the string representation.
 13273  //
 13274  // API parameter values that are decorated as "sensitive" in the API will not
 13275  // be included in the string output. The member name will be present, but the
 13276  // value will be replaced with "sensitive".
 13277  func (s UserStackAssociationError) String() string {
 13278  	return awsutil.Prettify(s)
 13279  }
 13280  
 13281  // GoString returns the string representation.
 13282  //
 13283  // API parameter values that are decorated as "sensitive" in the API will not
 13284  // be included in the string output. The member name will be present, but the
 13285  // value will be replaced with "sensitive".
 13286  func (s UserStackAssociationError) GoString() string {
 13287  	return s.String()
 13288  }
 13289  
 13290  // SetErrorCode sets the ErrorCode field's value.
 13291  func (s *UserStackAssociationError) SetErrorCode(v string) *UserStackAssociationError {
 13292  	s.ErrorCode = &v
 13293  	return s
 13294  }
 13295  
 13296  // SetErrorMessage sets the ErrorMessage field's value.
 13297  func (s *UserStackAssociationError) SetErrorMessage(v string) *UserStackAssociationError {
 13298  	s.ErrorMessage = &v
 13299  	return s
 13300  }
 13301  
 13302  // SetUserStackAssociation sets the UserStackAssociation field's value.
 13303  func (s *UserStackAssociationError) SetUserStackAssociation(v *UserStackAssociation) *UserStackAssociationError {
 13304  	s.UserStackAssociation = v
 13305  	return s
 13306  }
 13307  
 13308  // Describes VPC configuration information for fleets and image builders.
 13309  type VpcConfig struct {
 13310  	_ struct{} `type:"structure"`
 13311  
 13312  	// The identifiers of the security groups for the fleet or image builder.
 13313  	SecurityGroupIds []*string `type:"list"`
 13314  
 13315  	// The identifiers of the subnets to which a network interface is attached from
 13316  	// the fleet instance or image builder instance. Fleet instances use one or
 13317  	// more subnets. Image builder instances use one subnet.
 13318  	SubnetIds []*string `type:"list"`
 13319  }
 13320  
 13321  // String returns the string representation.
 13322  //
 13323  // API parameter values that are decorated as "sensitive" in the API will not
 13324  // be included in the string output. The member name will be present, but the
 13325  // value will be replaced with "sensitive".
 13326  func (s VpcConfig) String() string {
 13327  	return awsutil.Prettify(s)
 13328  }
 13329  
 13330  // GoString 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 VpcConfig) GoString() string {
 13336  	return s.String()
 13337  }
 13338  
 13339  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 13340  func (s *VpcConfig) SetSecurityGroupIds(v []*string) *VpcConfig {
 13341  	s.SecurityGroupIds = v
 13342  	return s
 13343  }
 13344  
 13345  // SetSubnetIds sets the SubnetIds field's value.
 13346  func (s *VpcConfig) SetSubnetIds(v []*string) *VpcConfig {
 13347  	s.SubnetIds = v
 13348  	return s
 13349  }
 13350  
 13351  const (
 13352  	// AccessEndpointTypeStreaming is a AccessEndpointType enum value
 13353  	AccessEndpointTypeStreaming = "STREAMING"
 13354  )
 13355  
 13356  // AccessEndpointType_Values returns all elements of the AccessEndpointType enum
 13357  func AccessEndpointType_Values() []string {
 13358  	return []string{
 13359  		AccessEndpointTypeStreaming,
 13360  	}
 13361  }
 13362  
 13363  const (
 13364  	// ActionClipboardCopyFromLocalDevice is a Action enum value
 13365  	ActionClipboardCopyFromLocalDevice = "CLIPBOARD_COPY_FROM_LOCAL_DEVICE"
 13366  
 13367  	// ActionClipboardCopyToLocalDevice is a Action enum value
 13368  	ActionClipboardCopyToLocalDevice = "CLIPBOARD_COPY_TO_LOCAL_DEVICE"
 13369  
 13370  	// ActionFileUpload is a Action enum value
 13371  	ActionFileUpload = "FILE_UPLOAD"
 13372  
 13373  	// ActionFileDownload is a Action enum value
 13374  	ActionFileDownload = "FILE_DOWNLOAD"
 13375  
 13376  	// ActionPrintingToLocalDevice is a Action enum value
 13377  	ActionPrintingToLocalDevice = "PRINTING_TO_LOCAL_DEVICE"
 13378  
 13379  	// ActionDomainPasswordSignin is a Action enum value
 13380  	ActionDomainPasswordSignin = "DOMAIN_PASSWORD_SIGNIN"
 13381  
 13382  	// ActionDomainSmartCardSignin is a Action enum value
 13383  	ActionDomainSmartCardSignin = "DOMAIN_SMART_CARD_SIGNIN"
 13384  )
 13385  
 13386  // Action_Values returns all elements of the Action enum
 13387  func Action_Values() []string {
 13388  	return []string{
 13389  		ActionClipboardCopyFromLocalDevice,
 13390  		ActionClipboardCopyToLocalDevice,
 13391  		ActionFileUpload,
 13392  		ActionFileDownload,
 13393  		ActionPrintingToLocalDevice,
 13394  		ActionDomainPasswordSignin,
 13395  		ActionDomainSmartCardSignin,
 13396  	}
 13397  }
 13398  
 13399  const (
 13400  	// AuthenticationTypeApi is a AuthenticationType enum value
 13401  	AuthenticationTypeApi = "API"
 13402  
 13403  	// AuthenticationTypeSaml is a AuthenticationType enum value
 13404  	AuthenticationTypeSaml = "SAML"
 13405  
 13406  	// AuthenticationTypeUserpool is a AuthenticationType enum value
 13407  	AuthenticationTypeUserpool = "USERPOOL"
 13408  )
 13409  
 13410  // AuthenticationType_Values returns all elements of the AuthenticationType enum
 13411  func AuthenticationType_Values() []string {
 13412  	return []string{
 13413  		AuthenticationTypeApi,
 13414  		AuthenticationTypeSaml,
 13415  		AuthenticationTypeUserpool,
 13416  	}
 13417  }
 13418  
 13419  // The fleet attribute.
 13420  const (
 13421  	// FleetAttributeVpcConfiguration is a FleetAttribute enum value
 13422  	FleetAttributeVpcConfiguration = "VPC_CONFIGURATION"
 13423  
 13424  	// FleetAttributeVpcConfigurationSecurityGroupIds is a FleetAttribute enum value
 13425  	FleetAttributeVpcConfigurationSecurityGroupIds = "VPC_CONFIGURATION_SECURITY_GROUP_IDS"
 13426  
 13427  	// FleetAttributeDomainJoinInfo is a FleetAttribute enum value
 13428  	FleetAttributeDomainJoinInfo = "DOMAIN_JOIN_INFO"
 13429  
 13430  	// FleetAttributeIamRoleArn is a FleetAttribute enum value
 13431  	FleetAttributeIamRoleArn = "IAM_ROLE_ARN"
 13432  )
 13433  
 13434  // FleetAttribute_Values returns all elements of the FleetAttribute enum
 13435  func FleetAttribute_Values() []string {
 13436  	return []string{
 13437  		FleetAttributeVpcConfiguration,
 13438  		FleetAttributeVpcConfigurationSecurityGroupIds,
 13439  		FleetAttributeDomainJoinInfo,
 13440  		FleetAttributeIamRoleArn,
 13441  	}
 13442  }
 13443  
 13444  const (
 13445  	// FleetErrorCodeIamServiceRoleMissingEniDescribeAction is a FleetErrorCode enum value
 13446  	FleetErrorCodeIamServiceRoleMissingEniDescribeAction = "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION"
 13447  
 13448  	// FleetErrorCodeIamServiceRoleMissingEniCreateAction is a FleetErrorCode enum value
 13449  	FleetErrorCodeIamServiceRoleMissingEniCreateAction = "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION"
 13450  
 13451  	// FleetErrorCodeIamServiceRoleMissingEniDeleteAction is a FleetErrorCode enum value
 13452  	FleetErrorCodeIamServiceRoleMissingEniDeleteAction = "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION"
 13453  
 13454  	// FleetErrorCodeNetworkInterfaceLimitExceeded is a FleetErrorCode enum value
 13455  	FleetErrorCodeNetworkInterfaceLimitExceeded = "NETWORK_INTERFACE_LIMIT_EXCEEDED"
 13456  
 13457  	// FleetErrorCodeInternalServiceError is a FleetErrorCode enum value
 13458  	FleetErrorCodeInternalServiceError = "INTERNAL_SERVICE_ERROR"
 13459  
 13460  	// FleetErrorCodeIamServiceRoleIsMissing is a FleetErrorCode enum value
 13461  	FleetErrorCodeIamServiceRoleIsMissing = "IAM_SERVICE_ROLE_IS_MISSING"
 13462  
 13463  	// FleetErrorCodeMachineRoleIsMissing is a FleetErrorCode enum value
 13464  	FleetErrorCodeMachineRoleIsMissing = "MACHINE_ROLE_IS_MISSING"
 13465  
 13466  	// FleetErrorCodeStsDisabledInRegion is a FleetErrorCode enum value
 13467  	FleetErrorCodeStsDisabledInRegion = "STS_DISABLED_IN_REGION"
 13468  
 13469  	// FleetErrorCodeSubnetHasInsufficientIpAddresses is a FleetErrorCode enum value
 13470  	FleetErrorCodeSubnetHasInsufficientIpAddresses = "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES"
 13471  
 13472  	// FleetErrorCodeIamServiceRoleMissingDescribeSubnetAction is a FleetErrorCode enum value
 13473  	FleetErrorCodeIamServiceRoleMissingDescribeSubnetAction = "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION"
 13474  
 13475  	// FleetErrorCodeSubnetNotFound is a FleetErrorCode enum value
 13476  	FleetErrorCodeSubnetNotFound = "SUBNET_NOT_FOUND"
 13477  
 13478  	// FleetErrorCodeImageNotFound is a FleetErrorCode enum value
 13479  	FleetErrorCodeImageNotFound = "IMAGE_NOT_FOUND"
 13480  
 13481  	// FleetErrorCodeInvalidSubnetConfiguration is a FleetErrorCode enum value
 13482  	FleetErrorCodeInvalidSubnetConfiguration = "INVALID_SUBNET_CONFIGURATION"
 13483  
 13484  	// FleetErrorCodeSecurityGroupsNotFound is a FleetErrorCode enum value
 13485  	FleetErrorCodeSecurityGroupsNotFound = "SECURITY_GROUPS_NOT_FOUND"
 13486  
 13487  	// FleetErrorCodeIgwNotAttached is a FleetErrorCode enum value
 13488  	FleetErrorCodeIgwNotAttached = "IGW_NOT_ATTACHED"
 13489  
 13490  	// FleetErrorCodeIamServiceRoleMissingDescribeSecurityGroupsAction is a FleetErrorCode enum value
 13491  	FleetErrorCodeIamServiceRoleMissingDescribeSecurityGroupsAction = "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION"
 13492  
 13493  	// FleetErrorCodeFleetStopped is a FleetErrorCode enum value
 13494  	FleetErrorCodeFleetStopped = "FLEET_STOPPED"
 13495  
 13496  	// FleetErrorCodeFleetInstanceProvisioningFailure is a FleetErrorCode enum value
 13497  	FleetErrorCodeFleetInstanceProvisioningFailure = "FLEET_INSTANCE_PROVISIONING_FAILURE"
 13498  
 13499  	// FleetErrorCodeDomainJoinErrorFileNotFound is a FleetErrorCode enum value
 13500  	FleetErrorCodeDomainJoinErrorFileNotFound = "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND"
 13501  
 13502  	// FleetErrorCodeDomainJoinErrorAccessDenied is a FleetErrorCode enum value
 13503  	FleetErrorCodeDomainJoinErrorAccessDenied = "DOMAIN_JOIN_ERROR_ACCESS_DENIED"
 13504  
 13505  	// FleetErrorCodeDomainJoinErrorLogonFailure is a FleetErrorCode enum value
 13506  	FleetErrorCodeDomainJoinErrorLogonFailure = "DOMAIN_JOIN_ERROR_LOGON_FAILURE"
 13507  
 13508  	// FleetErrorCodeDomainJoinErrorInvalidParameter is a FleetErrorCode enum value
 13509  	FleetErrorCodeDomainJoinErrorInvalidParameter = "DOMAIN_JOIN_ERROR_INVALID_PARAMETER"
 13510  
 13511  	// FleetErrorCodeDomainJoinErrorMoreData is a FleetErrorCode enum value
 13512  	FleetErrorCodeDomainJoinErrorMoreData = "DOMAIN_JOIN_ERROR_MORE_DATA"
 13513  
 13514  	// FleetErrorCodeDomainJoinErrorNoSuchDomain is a FleetErrorCode enum value
 13515  	FleetErrorCodeDomainJoinErrorNoSuchDomain = "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN"
 13516  
 13517  	// FleetErrorCodeDomainJoinErrorNotSupported is a FleetErrorCode enum value
 13518  	FleetErrorCodeDomainJoinErrorNotSupported = "DOMAIN_JOIN_ERROR_NOT_SUPPORTED"
 13519  
 13520  	// FleetErrorCodeDomainJoinNerrInvalidWorkgroupName is a FleetErrorCode enum value
 13521  	FleetErrorCodeDomainJoinNerrInvalidWorkgroupName = "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME"
 13522  
 13523  	// FleetErrorCodeDomainJoinNerrWorkstationNotStarted is a FleetErrorCode enum value
 13524  	FleetErrorCodeDomainJoinNerrWorkstationNotStarted = "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED"
 13525  
 13526  	// FleetErrorCodeDomainJoinErrorDsMachineAccountQuotaExceeded is a FleetErrorCode enum value
 13527  	FleetErrorCodeDomainJoinErrorDsMachineAccountQuotaExceeded = "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED"
 13528  
 13529  	// FleetErrorCodeDomainJoinNerrPasswordExpired is a FleetErrorCode enum value
 13530  	FleetErrorCodeDomainJoinNerrPasswordExpired = "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED"
 13531  
 13532  	// FleetErrorCodeDomainJoinInternalServiceError is a FleetErrorCode enum value
 13533  	FleetErrorCodeDomainJoinInternalServiceError = "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR"
 13534  )
 13535  
 13536  // FleetErrorCode_Values returns all elements of the FleetErrorCode enum
 13537  func FleetErrorCode_Values() []string {
 13538  	return []string{
 13539  		FleetErrorCodeIamServiceRoleMissingEniDescribeAction,
 13540  		FleetErrorCodeIamServiceRoleMissingEniCreateAction,
 13541  		FleetErrorCodeIamServiceRoleMissingEniDeleteAction,
 13542  		FleetErrorCodeNetworkInterfaceLimitExceeded,
 13543  		FleetErrorCodeInternalServiceError,
 13544  		FleetErrorCodeIamServiceRoleIsMissing,
 13545  		FleetErrorCodeMachineRoleIsMissing,
 13546  		FleetErrorCodeStsDisabledInRegion,
 13547  		FleetErrorCodeSubnetHasInsufficientIpAddresses,
 13548  		FleetErrorCodeIamServiceRoleMissingDescribeSubnetAction,
 13549  		FleetErrorCodeSubnetNotFound,
 13550  		FleetErrorCodeImageNotFound,
 13551  		FleetErrorCodeInvalidSubnetConfiguration,
 13552  		FleetErrorCodeSecurityGroupsNotFound,
 13553  		FleetErrorCodeIgwNotAttached,
 13554  		FleetErrorCodeIamServiceRoleMissingDescribeSecurityGroupsAction,
 13555  		FleetErrorCodeFleetStopped,
 13556  		FleetErrorCodeFleetInstanceProvisioningFailure,
 13557  		FleetErrorCodeDomainJoinErrorFileNotFound,
 13558  		FleetErrorCodeDomainJoinErrorAccessDenied,
 13559  		FleetErrorCodeDomainJoinErrorLogonFailure,
 13560  		FleetErrorCodeDomainJoinErrorInvalidParameter,
 13561  		FleetErrorCodeDomainJoinErrorMoreData,
 13562  		FleetErrorCodeDomainJoinErrorNoSuchDomain,
 13563  		FleetErrorCodeDomainJoinErrorNotSupported,
 13564  		FleetErrorCodeDomainJoinNerrInvalidWorkgroupName,
 13565  		FleetErrorCodeDomainJoinNerrWorkstationNotStarted,
 13566  		FleetErrorCodeDomainJoinErrorDsMachineAccountQuotaExceeded,
 13567  		FleetErrorCodeDomainJoinNerrPasswordExpired,
 13568  		FleetErrorCodeDomainJoinInternalServiceError,
 13569  	}
 13570  }
 13571  
 13572  const (
 13573  	// FleetStateStarting is a FleetState enum value
 13574  	FleetStateStarting = "STARTING"
 13575  
 13576  	// FleetStateRunning is a FleetState enum value
 13577  	FleetStateRunning = "RUNNING"
 13578  
 13579  	// FleetStateStopping is a FleetState enum value
 13580  	FleetStateStopping = "STOPPING"
 13581  
 13582  	// FleetStateStopped is a FleetState enum value
 13583  	FleetStateStopped = "STOPPED"
 13584  )
 13585  
 13586  // FleetState_Values returns all elements of the FleetState enum
 13587  func FleetState_Values() []string {
 13588  	return []string{
 13589  		FleetStateStarting,
 13590  		FleetStateRunning,
 13591  		FleetStateStopping,
 13592  		FleetStateStopped,
 13593  	}
 13594  }
 13595  
 13596  const (
 13597  	// FleetTypeAlwaysOn is a FleetType enum value
 13598  	FleetTypeAlwaysOn = "ALWAYS_ON"
 13599  
 13600  	// FleetTypeOnDemand is a FleetType enum value
 13601  	FleetTypeOnDemand = "ON_DEMAND"
 13602  )
 13603  
 13604  // FleetType_Values returns all elements of the FleetType enum
 13605  func FleetType_Values() []string {
 13606  	return []string{
 13607  		FleetTypeAlwaysOn,
 13608  		FleetTypeOnDemand,
 13609  	}
 13610  }
 13611  
 13612  const (
 13613  	// ImageBuilderStatePending is a ImageBuilderState enum value
 13614  	ImageBuilderStatePending = "PENDING"
 13615  
 13616  	// ImageBuilderStateUpdatingAgent is a ImageBuilderState enum value
 13617  	ImageBuilderStateUpdatingAgent = "UPDATING_AGENT"
 13618  
 13619  	// ImageBuilderStateRunning is a ImageBuilderState enum value
 13620  	ImageBuilderStateRunning = "RUNNING"
 13621  
 13622  	// ImageBuilderStateStopping is a ImageBuilderState enum value
 13623  	ImageBuilderStateStopping = "STOPPING"
 13624  
 13625  	// ImageBuilderStateStopped is a ImageBuilderState enum value
 13626  	ImageBuilderStateStopped = "STOPPED"
 13627  
 13628  	// ImageBuilderStateRebooting is a ImageBuilderState enum value
 13629  	ImageBuilderStateRebooting = "REBOOTING"
 13630  
 13631  	// ImageBuilderStateSnapshotting is a ImageBuilderState enum value
 13632  	ImageBuilderStateSnapshotting = "SNAPSHOTTING"
 13633  
 13634  	// ImageBuilderStateDeleting is a ImageBuilderState enum value
 13635  	ImageBuilderStateDeleting = "DELETING"
 13636  
 13637  	// ImageBuilderStateFailed is a ImageBuilderState enum value
 13638  	ImageBuilderStateFailed = "FAILED"
 13639  
 13640  	// ImageBuilderStateUpdating is a ImageBuilderState enum value
 13641  	ImageBuilderStateUpdating = "UPDATING"
 13642  
 13643  	// ImageBuilderStatePendingQualification is a ImageBuilderState enum value
 13644  	ImageBuilderStatePendingQualification = "PENDING_QUALIFICATION"
 13645  )
 13646  
 13647  // ImageBuilderState_Values returns all elements of the ImageBuilderState enum
 13648  func ImageBuilderState_Values() []string {
 13649  	return []string{
 13650  		ImageBuilderStatePending,
 13651  		ImageBuilderStateUpdatingAgent,
 13652  		ImageBuilderStateRunning,
 13653  		ImageBuilderStateStopping,
 13654  		ImageBuilderStateStopped,
 13655  		ImageBuilderStateRebooting,
 13656  		ImageBuilderStateSnapshotting,
 13657  		ImageBuilderStateDeleting,
 13658  		ImageBuilderStateFailed,
 13659  		ImageBuilderStateUpdating,
 13660  		ImageBuilderStatePendingQualification,
 13661  	}
 13662  }
 13663  
 13664  const (
 13665  	// ImageBuilderStateChangeReasonCodeInternalError is a ImageBuilderStateChangeReasonCode enum value
 13666  	ImageBuilderStateChangeReasonCodeInternalError = "INTERNAL_ERROR"
 13667  
 13668  	// ImageBuilderStateChangeReasonCodeImageUnavailable is a ImageBuilderStateChangeReasonCode enum value
 13669  	ImageBuilderStateChangeReasonCodeImageUnavailable = "IMAGE_UNAVAILABLE"
 13670  )
 13671  
 13672  // ImageBuilderStateChangeReasonCode_Values returns all elements of the ImageBuilderStateChangeReasonCode enum
 13673  func ImageBuilderStateChangeReasonCode_Values() []string {
 13674  	return []string{
 13675  		ImageBuilderStateChangeReasonCodeInternalError,
 13676  		ImageBuilderStateChangeReasonCodeImageUnavailable,
 13677  	}
 13678  }
 13679  
 13680  const (
 13681  	// ImageStatePending is a ImageState enum value
 13682  	ImageStatePending = "PENDING"
 13683  
 13684  	// ImageStateAvailable is a ImageState enum value
 13685  	ImageStateAvailable = "AVAILABLE"
 13686  
 13687  	// ImageStateFailed is a ImageState enum value
 13688  	ImageStateFailed = "FAILED"
 13689  
 13690  	// ImageStateCopying is a ImageState enum value
 13691  	ImageStateCopying = "COPYING"
 13692  
 13693  	// ImageStateDeleting is a ImageState enum value
 13694  	ImageStateDeleting = "DELETING"
 13695  
 13696  	// ImageStateCreating is a ImageState enum value
 13697  	ImageStateCreating = "CREATING"
 13698  
 13699  	// ImageStateImporting is a ImageState enum value
 13700  	ImageStateImporting = "IMPORTING"
 13701  )
 13702  
 13703  // ImageState_Values returns all elements of the ImageState enum
 13704  func ImageState_Values() []string {
 13705  	return []string{
 13706  		ImageStatePending,
 13707  		ImageStateAvailable,
 13708  		ImageStateFailed,
 13709  		ImageStateCopying,
 13710  		ImageStateDeleting,
 13711  		ImageStateCreating,
 13712  		ImageStateImporting,
 13713  	}
 13714  }
 13715  
 13716  const (
 13717  	// ImageStateChangeReasonCodeInternalError is a ImageStateChangeReasonCode enum value
 13718  	ImageStateChangeReasonCodeInternalError = "INTERNAL_ERROR"
 13719  
 13720  	// ImageStateChangeReasonCodeImageBuilderNotAvailable is a ImageStateChangeReasonCode enum value
 13721  	ImageStateChangeReasonCodeImageBuilderNotAvailable = "IMAGE_BUILDER_NOT_AVAILABLE"
 13722  
 13723  	// ImageStateChangeReasonCodeImageCopyFailure is a ImageStateChangeReasonCode enum value
 13724  	ImageStateChangeReasonCodeImageCopyFailure = "IMAGE_COPY_FAILURE"
 13725  )
 13726  
 13727  // ImageStateChangeReasonCode_Values returns all elements of the ImageStateChangeReasonCode enum
 13728  func ImageStateChangeReasonCode_Values() []string {
 13729  	return []string{
 13730  		ImageStateChangeReasonCodeInternalError,
 13731  		ImageStateChangeReasonCodeImageBuilderNotAvailable,
 13732  		ImageStateChangeReasonCodeImageCopyFailure,
 13733  	}
 13734  }
 13735  
 13736  const (
 13737  	// MessageActionSuppress is a MessageAction enum value
 13738  	MessageActionSuppress = "SUPPRESS"
 13739  
 13740  	// MessageActionResend is a MessageAction enum value
 13741  	MessageActionResend = "RESEND"
 13742  )
 13743  
 13744  // MessageAction_Values returns all elements of the MessageAction enum
 13745  func MessageAction_Values() []string {
 13746  	return []string{
 13747  		MessageActionSuppress,
 13748  		MessageActionResend,
 13749  	}
 13750  }
 13751  
 13752  const (
 13753  	// PermissionEnabled is a Permission enum value
 13754  	PermissionEnabled = "ENABLED"
 13755  
 13756  	// PermissionDisabled is a Permission enum value
 13757  	PermissionDisabled = "DISABLED"
 13758  )
 13759  
 13760  // Permission_Values returns all elements of the Permission enum
 13761  func Permission_Values() []string {
 13762  	return []string{
 13763  		PermissionEnabled,
 13764  		PermissionDisabled,
 13765  	}
 13766  }
 13767  
 13768  const (
 13769  	// PlatformTypeWindows is a PlatformType enum value
 13770  	PlatformTypeWindows = "WINDOWS"
 13771  
 13772  	// PlatformTypeWindowsServer2016 is a PlatformType enum value
 13773  	PlatformTypeWindowsServer2016 = "WINDOWS_SERVER_2016"
 13774  
 13775  	// PlatformTypeWindowsServer2019 is a PlatformType enum value
 13776  	PlatformTypeWindowsServer2019 = "WINDOWS_SERVER_2019"
 13777  )
 13778  
 13779  // PlatformType_Values returns all elements of the PlatformType enum
 13780  func PlatformType_Values() []string {
 13781  	return []string{
 13782  		PlatformTypeWindows,
 13783  		PlatformTypeWindowsServer2016,
 13784  		PlatformTypeWindowsServer2019,
 13785  	}
 13786  }
 13787  
 13788  const (
 13789  	// SessionConnectionStateConnected is a SessionConnectionState enum value
 13790  	SessionConnectionStateConnected = "CONNECTED"
 13791  
 13792  	// SessionConnectionStateNotConnected is a SessionConnectionState enum value
 13793  	SessionConnectionStateNotConnected = "NOT_CONNECTED"
 13794  )
 13795  
 13796  // SessionConnectionState_Values returns all elements of the SessionConnectionState enum
 13797  func SessionConnectionState_Values() []string {
 13798  	return []string{
 13799  		SessionConnectionStateConnected,
 13800  		SessionConnectionStateNotConnected,
 13801  	}
 13802  }
 13803  
 13804  // Possible values for the state of a streaming session.
 13805  const (
 13806  	// SessionStateActive is a SessionState enum value
 13807  	SessionStateActive = "ACTIVE"
 13808  
 13809  	// SessionStatePending is a SessionState enum value
 13810  	SessionStatePending = "PENDING"
 13811  
 13812  	// SessionStateExpired is a SessionState enum value
 13813  	SessionStateExpired = "EXPIRED"
 13814  )
 13815  
 13816  // SessionState_Values returns all elements of the SessionState enum
 13817  func SessionState_Values() []string {
 13818  	return []string{
 13819  		SessionStateActive,
 13820  		SessionStatePending,
 13821  		SessionStateExpired,
 13822  	}
 13823  }
 13824  
 13825  const (
 13826  	// StackAttributeStorageConnectors is a StackAttribute enum value
 13827  	StackAttributeStorageConnectors = "STORAGE_CONNECTORS"
 13828  
 13829  	// StackAttributeStorageConnectorHomefolders is a StackAttribute enum value
 13830  	StackAttributeStorageConnectorHomefolders = "STORAGE_CONNECTOR_HOMEFOLDERS"
 13831  
 13832  	// StackAttributeStorageConnectorGoogleDrive is a StackAttribute enum value
 13833  	StackAttributeStorageConnectorGoogleDrive = "STORAGE_CONNECTOR_GOOGLE_DRIVE"
 13834  
 13835  	// StackAttributeStorageConnectorOneDrive is a StackAttribute enum value
 13836  	StackAttributeStorageConnectorOneDrive = "STORAGE_CONNECTOR_ONE_DRIVE"
 13837  
 13838  	// StackAttributeRedirectUrl is a StackAttribute enum value
 13839  	StackAttributeRedirectUrl = "REDIRECT_URL"
 13840  
 13841  	// StackAttributeFeedbackUrl is a StackAttribute enum value
 13842  	StackAttributeFeedbackUrl = "FEEDBACK_URL"
 13843  
 13844  	// StackAttributeThemeName is a StackAttribute enum value
 13845  	StackAttributeThemeName = "THEME_NAME"
 13846  
 13847  	// StackAttributeUserSettings is a StackAttribute enum value
 13848  	StackAttributeUserSettings = "USER_SETTINGS"
 13849  
 13850  	// StackAttributeEmbedHostDomains is a StackAttribute enum value
 13851  	StackAttributeEmbedHostDomains = "EMBED_HOST_DOMAINS"
 13852  
 13853  	// StackAttributeIamRoleArn is a StackAttribute enum value
 13854  	StackAttributeIamRoleArn = "IAM_ROLE_ARN"
 13855  
 13856  	// StackAttributeAccessEndpoints is a StackAttribute enum value
 13857  	StackAttributeAccessEndpoints = "ACCESS_ENDPOINTS"
 13858  )
 13859  
 13860  // StackAttribute_Values returns all elements of the StackAttribute enum
 13861  func StackAttribute_Values() []string {
 13862  	return []string{
 13863  		StackAttributeStorageConnectors,
 13864  		StackAttributeStorageConnectorHomefolders,
 13865  		StackAttributeStorageConnectorGoogleDrive,
 13866  		StackAttributeStorageConnectorOneDrive,
 13867  		StackAttributeRedirectUrl,
 13868  		StackAttributeFeedbackUrl,
 13869  		StackAttributeThemeName,
 13870  		StackAttributeUserSettings,
 13871  		StackAttributeEmbedHostDomains,
 13872  		StackAttributeIamRoleArn,
 13873  		StackAttributeAccessEndpoints,
 13874  	}
 13875  }
 13876  
 13877  const (
 13878  	// StackErrorCodeStorageConnectorError is a StackErrorCode enum value
 13879  	StackErrorCodeStorageConnectorError = "STORAGE_CONNECTOR_ERROR"
 13880  
 13881  	// StackErrorCodeInternalServiceError is a StackErrorCode enum value
 13882  	StackErrorCodeInternalServiceError = "INTERNAL_SERVICE_ERROR"
 13883  )
 13884  
 13885  // StackErrorCode_Values returns all elements of the StackErrorCode enum
 13886  func StackErrorCode_Values() []string {
 13887  	return []string{
 13888  		StackErrorCodeStorageConnectorError,
 13889  		StackErrorCodeInternalServiceError,
 13890  	}
 13891  }
 13892  
 13893  // The type of storage connector.
 13894  const (
 13895  	// StorageConnectorTypeHomefolders is a StorageConnectorType enum value
 13896  	StorageConnectorTypeHomefolders = "HOMEFOLDERS"
 13897  
 13898  	// StorageConnectorTypeGoogleDrive is a StorageConnectorType enum value
 13899  	StorageConnectorTypeGoogleDrive = "GOOGLE_DRIVE"
 13900  
 13901  	// StorageConnectorTypeOneDrive is a StorageConnectorType enum value
 13902  	StorageConnectorTypeOneDrive = "ONE_DRIVE"
 13903  )
 13904  
 13905  // StorageConnectorType_Values returns all elements of the StorageConnectorType enum
 13906  func StorageConnectorType_Values() []string {
 13907  	return []string{
 13908  		StorageConnectorTypeHomefolders,
 13909  		StorageConnectorTypeGoogleDrive,
 13910  		StorageConnectorTypeOneDrive,
 13911  	}
 13912  }
 13913  
 13914  const (
 13915  	// StreamViewApp is a StreamView enum value
 13916  	StreamViewApp = "APP"
 13917  
 13918  	// StreamViewDesktop is a StreamView enum value
 13919  	StreamViewDesktop = "DESKTOP"
 13920  )
 13921  
 13922  // StreamView_Values returns all elements of the StreamView enum
 13923  func StreamView_Values() []string {
 13924  	return []string{
 13925  		StreamViewApp,
 13926  		StreamViewDesktop,
 13927  	}
 13928  }
 13929  
 13930  const (
 13931  	// UsageReportExecutionErrorCodeResourceNotFound is a UsageReportExecutionErrorCode enum value
 13932  	UsageReportExecutionErrorCodeResourceNotFound = "RESOURCE_NOT_FOUND"
 13933  
 13934  	// UsageReportExecutionErrorCodeAccessDenied is a UsageReportExecutionErrorCode enum value
 13935  	UsageReportExecutionErrorCodeAccessDenied = "ACCESS_DENIED"
 13936  
 13937  	// UsageReportExecutionErrorCodeInternalServiceError is a UsageReportExecutionErrorCode enum value
 13938  	UsageReportExecutionErrorCodeInternalServiceError = "INTERNAL_SERVICE_ERROR"
 13939  )
 13940  
 13941  // UsageReportExecutionErrorCode_Values returns all elements of the UsageReportExecutionErrorCode enum
 13942  func UsageReportExecutionErrorCode_Values() []string {
 13943  	return []string{
 13944  		UsageReportExecutionErrorCodeResourceNotFound,
 13945  		UsageReportExecutionErrorCodeAccessDenied,
 13946  		UsageReportExecutionErrorCodeInternalServiceError,
 13947  	}
 13948  }
 13949  
 13950  const (
 13951  	// UsageReportScheduleDaily is a UsageReportSchedule enum value
 13952  	UsageReportScheduleDaily = "DAILY"
 13953  )
 13954  
 13955  // UsageReportSchedule_Values returns all elements of the UsageReportSchedule enum
 13956  func UsageReportSchedule_Values() []string {
 13957  	return []string{
 13958  		UsageReportScheduleDaily,
 13959  	}
 13960  }
 13961  
 13962  const (
 13963  	// UserStackAssociationErrorCodeStackNotFound is a UserStackAssociationErrorCode enum value
 13964  	UserStackAssociationErrorCodeStackNotFound = "STACK_NOT_FOUND"
 13965  
 13966  	// UserStackAssociationErrorCodeUserNameNotFound is a UserStackAssociationErrorCode enum value
 13967  	UserStackAssociationErrorCodeUserNameNotFound = "USER_NAME_NOT_FOUND"
 13968  
 13969  	// UserStackAssociationErrorCodeDirectoryNotFound is a UserStackAssociationErrorCode enum value
 13970  	UserStackAssociationErrorCodeDirectoryNotFound = "DIRECTORY_NOT_FOUND"
 13971  
 13972  	// UserStackAssociationErrorCodeInternalError is a UserStackAssociationErrorCode enum value
 13973  	UserStackAssociationErrorCodeInternalError = "INTERNAL_ERROR"
 13974  )
 13975  
 13976  // UserStackAssociationErrorCode_Values returns all elements of the UserStackAssociationErrorCode enum
 13977  func UserStackAssociationErrorCode_Values() []string {
 13978  	return []string{
 13979  		UserStackAssociationErrorCodeStackNotFound,
 13980  		UserStackAssociationErrorCodeUserNameNotFound,
 13981  		UserStackAssociationErrorCodeDirectoryNotFound,
 13982  		UserStackAssociationErrorCodeInternalError,
 13983  	}
 13984  }
 13985  
 13986  const (
 13987  	// VisibilityTypePublic is a VisibilityType enum value
 13988  	VisibilityTypePublic = "PUBLIC"
 13989  
 13990  	// VisibilityTypePrivate is a VisibilityType enum value
 13991  	VisibilityTypePrivate = "PRIVATE"
 13992  
 13993  	// VisibilityTypeShared is a VisibilityType enum value
 13994  	VisibilityTypeShared = "SHARED"
 13995  )
 13996  
 13997  // VisibilityType_Values returns all elements of the VisibilityType enum
 13998  func VisibilityType_Values() []string {
 13999  	return []string{
 14000  		VisibilityTypePublic,
 14001  		VisibilityTypePrivate,
 14002  		VisibilityTypeShared,
 14003  	}
 14004  }