1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package appstream
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const 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
42func (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
91func (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.
105func (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
112const 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
138func (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
175func (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.
189func (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
196const 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
222func (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
257func (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.
271func (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
278const 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
304func (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
353func (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.
367func (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
374const 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
400func (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
450func (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.
464func (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
471const 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
497func (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
563func (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.
577func (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
584const 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
610func (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
679func (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.
693func (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
700const 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
726func (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
761func (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.
775func (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
782const 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
808func (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
860func (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.
874func (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
881const 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
907func (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
950func (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.
964func (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
971const 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
997func (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
1053func (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.
1067func (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
1074const 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
1100func (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
1139func (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.
1153func (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
1160const 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
1186func (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
1232func (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.
1246func (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
1253const 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
1279func (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
1317func (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.
1331func (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
1338const 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
1364func (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
1403func (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.
1417func (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
1424const 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
1450func (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
1492func (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.
1506func (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
1513const 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
1539func (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
1577func (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.
1591func (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
1598const 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
1624func (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
1662func (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.
1676func (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
1683const 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
1709func (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
1751func (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.
1765func (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
1772const 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
1798func (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
1835func (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.
1849func (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
1856const 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
1882func (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
1915func (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.
1929func (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
1936const 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
1962func (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
2001func (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.
2015func (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
2022const 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
2048func (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
2081func (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.
2095func (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
2102const 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
2128func (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
2162func (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.
2176func (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
2183const 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
2209func (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
2248func (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.
2262func (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//
2286func (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.
2297func (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
2321const 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
2347func (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
2390func (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.
2404func (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//
2428func (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.
2439func (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
2463const 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
2489func (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
2524func (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.
2538func (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
2545const 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
2571func (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
2604func (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.
2618func (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
2625const 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
2651func (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
2687func (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.
2701func (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
2708const 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
2734func (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
2775func (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.
2789func (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
2796const 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
2822func (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
2857func (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.
2871func (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
2878const 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
2904func (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
2938func (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.
2952func (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
2959const 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
2985func (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
3027func (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.
3041func (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
3048const 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
3074func (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
3112func (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.
3126func (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
3133const 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
3159func (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
3187func (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.
3201func (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
3208const 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
3234func (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
3261func (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.
3275func (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
3282const 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
3308func (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
3335func (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.
3349func (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
3356const 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
3382func (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
3418func (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.
3432func (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
3439const 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
3465func (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
3522func (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.
3536func (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
3543const 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
3569func (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
3614func (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.
3628func (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
3635const 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
3661func (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
3697func (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.
3711func (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
3718const 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
3744func (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
3782func (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.
3796func (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
3803const 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
3829func (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
3879func (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.
3893func (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
3900const 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
3926func (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
3965func (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.
3979func (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
3986const 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
4012func (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
4058func (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.
4072func (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
4079const 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
4105func (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
4176func (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.
4190func (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
4197const 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
4223func (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
4262func (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.
4276func (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
4283const 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
4309func (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
4366func (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.
4380func (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.
4393type 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".
4410func (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".
4419func (s AccessEndpoint) GoString() string {
4420	return s.String()
4421}
4422
4423// Validate inspects the fields of the type to determine if they are valid.
4424func (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.
4440func (s *AccessEndpoint) SetEndpointType(v string) *AccessEndpoint {
4441	s.EndpointType = &v
4442	return s
4443}
4444
4445// SetVpceId sets the VpceId field's value.
4446func (s *AccessEndpoint) SetVpceId(v string) *AccessEndpoint {
4447	s.VpceId = &v
4448	return s
4449}
4450
4451// Describes an application in the application catalog.
4452type 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".
4482func (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".
4491func (s Application) GoString() string {
4492	return s.String()
4493}
4494
4495// SetDisplayName sets the DisplayName field's value.
4496func (s *Application) SetDisplayName(v string) *Application {
4497	s.DisplayName = &v
4498	return s
4499}
4500
4501// SetEnabled sets the Enabled field's value.
4502func (s *Application) SetEnabled(v bool) *Application {
4503	s.Enabled = &v
4504	return s
4505}
4506
4507// SetIconURL sets the IconURL field's value.
4508func (s *Application) SetIconURL(v string) *Application {
4509	s.IconURL = &v
4510	return s
4511}
4512
4513// SetLaunchParameters sets the LaunchParameters field's value.
4514func (s *Application) SetLaunchParameters(v string) *Application {
4515	s.LaunchParameters = &v
4516	return s
4517}
4518
4519// SetLaunchPath sets the LaunchPath field's value.
4520func (s *Application) SetLaunchPath(v string) *Application {
4521	s.LaunchPath = &v
4522	return s
4523}
4524
4525// SetMetadata sets the Metadata field's value.
4526func (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.
4532func (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.
4538type 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".
4559func (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".
4568func (s ApplicationSettings) GoString() string {
4569	return s.String()
4570}
4571
4572// Validate inspects the fields of the type to determine if they are valid.
4573func (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.
4586func (s *ApplicationSettings) SetEnabled(v bool) *ApplicationSettings {
4587	s.Enabled = &v
4588	return s
4589}
4590
4591// SetSettingsGroup sets the SettingsGroup field's value.
4592func (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.
4598type 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".
4621func (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".
4630func (s ApplicationSettingsResponse) GoString() string {
4631	return s.String()
4632}
4633
4634// SetEnabled sets the Enabled field's value.
4635func (s *ApplicationSettingsResponse) SetEnabled(v bool) *ApplicationSettingsResponse {
4636	s.Enabled = &v
4637	return s
4638}
4639
4640// SetS3BucketName sets the S3BucketName field's value.
4641func (s *ApplicationSettingsResponse) SetS3BucketName(v string) *ApplicationSettingsResponse {
4642	s.S3BucketName = &v
4643	return s
4644}
4645
4646// SetSettingsGroup sets the SettingsGroup field's value.
4647func (s *ApplicationSettingsResponse) SetSettingsGroup(v string) *ApplicationSettingsResponse {
4648	s.SettingsGroup = &v
4649	return s
4650}
4651
4652type 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".
4671func (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".
4680func (s AssociateFleetInput) GoString() string {
4681	return s.String()
4682}
4683
4684// Validate inspects the fields of the type to determine if they are valid.
4685func (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.
4707func (s *AssociateFleetInput) SetFleetName(v string) *AssociateFleetInput {
4708	s.FleetName = &v
4709	return s
4710}
4711
4712// SetStackName sets the StackName field's value.
4713func (s *AssociateFleetInput) SetStackName(v string) *AssociateFleetInput {
4714	s.StackName = &v
4715	return s
4716}
4717
4718type 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".
4727func (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".
4736func (s AssociateFleetOutput) GoString() string {
4737	return s.String()
4738}
4739
4740type 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".
4754func (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".
4763func (s BatchAssociateUserStackInput) GoString() string {
4764	return s.String()
4765}
4766
4767// Validate inspects the fields of the type to determine if they are valid.
4768func (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.
4794func (s *BatchAssociateUserStackInput) SetUserStackAssociations(v []*UserStackAssociation) *BatchAssociateUserStackInput {
4795	s.UserStackAssociations = v
4796	return s
4797}
4798
4799type 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".
4811func (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".
4820func (s BatchAssociateUserStackOutput) GoString() string {
4821	return s.String()
4822}
4823
4824// SetErrors sets the Errors field's value.
4825func (s *BatchAssociateUserStackOutput) SetErrors(v []*UserStackAssociationError) *BatchAssociateUserStackOutput {
4826	s.Errors = v
4827	return s
4828}
4829
4830type 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".
4844func (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".
4853func (s BatchDisassociateUserStackInput) GoString() string {
4854	return s.String()
4855}
4856
4857// Validate inspects the fields of the type to determine if they are valid.
4858func (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.
4884func (s *BatchDisassociateUserStackInput) SetUserStackAssociations(v []*UserStackAssociation) *BatchDisassociateUserStackInput {
4885	s.UserStackAssociations = v
4886	return s
4887}
4888
4889type 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".
4901func (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".
4910func (s BatchDisassociateUserStackOutput) GoString() string {
4911	return s.String()
4912}
4913
4914// SetErrors sets the Errors field's value.
4915func (s *BatchDisassociateUserStackOutput) SetErrors(v []*UserStackAssociationError) *BatchDisassociateUserStackOutput {
4916	s.Errors = v
4917	return s
4918}
4919
4920// Describes the capacity for a fleet.
4921type 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".
4935func (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".
4944func (s ComputeCapacity) GoString() string {
4945	return s.String()
4946}
4947
4948// Validate inspects the fields of the type to determine if they are valid.
4949func (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.
4962func (s *ComputeCapacity) SetDesiredInstances(v int64) *ComputeCapacity {
4963	s.DesiredInstances = &v
4964	return s
4965}
4966
4967// Describes the capacity status for a fleet.
4968type 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".
4991func (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".
5000func (s ComputeCapacityStatus) GoString() string {
5001	return s.String()
5002}
5003
5004// SetAvailable sets the Available field's value.
5005func (s *ComputeCapacityStatus) SetAvailable(v int64) *ComputeCapacityStatus {
5006	s.Available = &v
5007	return s
5008}
5009
5010// SetDesired sets the Desired field's value.
5011func (s *ComputeCapacityStatus) SetDesired(v int64) *ComputeCapacityStatus {
5012	s.Desired = &v
5013	return s
5014}
5015
5016// SetInUse sets the InUse field's value.
5017func (s *ComputeCapacityStatus) SetInUse(v int64) *ComputeCapacityStatus {
5018	s.InUse = &v
5019	return s
5020}
5021
5022// SetRunning sets the Running field's value.
5023func (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.
5029type 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".
5042func (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".
5051func (s ConcurrentModificationException) GoString() string {
5052	return s.String()
5053}
5054
5055func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
5056	return &ConcurrentModificationException{
5057		RespMetadata: v,
5058	}
5059}
5060
5061// Code returns the exception type name.
5062func (s *ConcurrentModificationException) Code() string {
5063	return "ConcurrentModificationException"
5064}
5065
5066// Message returns the exception's message.
5067func (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.
5075func (s *ConcurrentModificationException) OrigErr() error {
5076	return nil
5077}
5078
5079func (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.
5084func (s *ConcurrentModificationException) StatusCode() int {
5085	return s.RespMetadata.StatusCode
5086}
5087
5088// RequestID returns the service's response RequestID for request.
5089func (s *ConcurrentModificationException) RequestID() string {
5090	return s.RespMetadata.RequestID
5091}
5092
5093type 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".
5121func (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".
5130func (s CopyImageInput) GoString() string {
5131	return s.String()
5132}
5133
5134// Validate inspects the fields of the type to determine if they are valid.
5135func (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.
5157func (s *CopyImageInput) SetDestinationImageDescription(v string) *CopyImageInput {
5158	s.DestinationImageDescription = &v
5159	return s
5160}
5161
5162// SetDestinationImageName sets the DestinationImageName field's value.
5163func (s *CopyImageInput) SetDestinationImageName(v string) *CopyImageInput {
5164	s.DestinationImageName = &v
5165	return s
5166}
5167
5168// SetDestinationRegion sets the DestinationRegion field's value.
5169func (s *CopyImageInput) SetDestinationRegion(v string) *CopyImageInput {
5170	s.DestinationRegion = &v
5171	return s
5172}
5173
5174// SetSourceImageName sets the SourceImageName field's value.
5175func (s *CopyImageInput) SetSourceImageName(v string) *CopyImageInput {
5176	s.SourceImageName = &v
5177	return s
5178}
5179
5180type 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".
5192func (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".
5201func (s CopyImageOutput) GoString() string {
5202	return s.String()
5203}
5204
5205// SetDestinationImageName sets the DestinationImageName field's value.
5206func (s *CopyImageOutput) SetDestinationImageName(v string) *CopyImageOutput {
5207	s.DestinationImageName = &v
5208	return s
5209}
5210
5211type 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".
5234func (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".
5243func (s CreateDirectoryConfigInput) GoString() string {
5244	return s.String()
5245}
5246
5247// Validate inspects the fields of the type to determine if they are valid.
5248func (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.
5269func (s *CreateDirectoryConfigInput) SetDirectoryName(v string) *CreateDirectoryConfigInput {
5270	s.DirectoryName = &v
5271	return s
5272}
5273
5274// SetOrganizationalUnitDistinguishedNames sets the OrganizationalUnitDistinguishedNames field's value.
5275func (s *CreateDirectoryConfigInput) SetOrganizationalUnitDistinguishedNames(v []*string) *CreateDirectoryConfigInput {
5276	s.OrganizationalUnitDistinguishedNames = v
5277	return s
5278}
5279
5280// SetServiceAccountCredentials sets the ServiceAccountCredentials field's value.
5281func (s *CreateDirectoryConfigInput) SetServiceAccountCredentials(v *ServiceAccountCredentials) *CreateDirectoryConfigInput {
5282	s.ServiceAccountCredentials = v
5283	return s
5284}
5285
5286type 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".
5298func (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".
5307func (s CreateDirectoryConfigOutput) GoString() string {
5308	return s.String()
5309}
5310
5311// SetDirectoryConfig sets the DirectoryConfig field's value.
5312func (s *CreateDirectoryConfigOutput) SetDirectoryConfig(v *DirectoryConfig) *CreateDirectoryConfigOutput {
5313	s.DirectoryConfig = v
5314	return s
5315}
5316
5317type 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".
5521func (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".
5530func (s CreateFleetInput) GoString() string {
5531	return s.String()
5532}
5533
5534// Validate inspects the fields of the type to determine if they are valid.
5535func (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.
5568func (s *CreateFleetInput) SetComputeCapacity(v *ComputeCapacity) *CreateFleetInput {
5569	s.ComputeCapacity = v
5570	return s
5571}
5572
5573// SetDescription sets the Description field's value.
5574func (s *CreateFleetInput) SetDescription(v string) *CreateFleetInput {
5575	s.Description = &v
5576	return s
5577}
5578
5579// SetDisconnectTimeoutInSeconds sets the DisconnectTimeoutInSeconds field's value.
5580func (s *CreateFleetInput) SetDisconnectTimeoutInSeconds(v int64) *CreateFleetInput {
5581	s.DisconnectTimeoutInSeconds = &v
5582	return s
5583}
5584
5585// SetDisplayName sets the DisplayName field's value.
5586func (s *CreateFleetInput) SetDisplayName(v string) *CreateFleetInput {
5587	s.DisplayName = &v
5588	return s
5589}
5590
5591// SetDomainJoinInfo sets the DomainJoinInfo field's value.
5592func (s *CreateFleetInput) SetDomainJoinInfo(v *DomainJoinInfo) *CreateFleetInput {
5593	s.DomainJoinInfo = v
5594	return s
5595}
5596
5597// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
5598func (s *CreateFleetInput) SetEnableDefaultInternetAccess(v bool) *CreateFleetInput {
5599	s.EnableDefaultInternetAccess = &v
5600	return s
5601}
5602
5603// SetFleetType sets the FleetType field's value.
5604func (s *CreateFleetInput) SetFleetType(v string) *CreateFleetInput {
5605	s.FleetType = &v
5606	return s
5607}
5608
5609// SetIamRoleArn sets the IamRoleArn field's value.
5610func (s *CreateFleetInput) SetIamRoleArn(v string) *CreateFleetInput {
5611	s.IamRoleArn = &v
5612	return s
5613}
5614
5615// SetIdleDisconnectTimeoutInSeconds sets the IdleDisconnectTimeoutInSeconds field's value.
5616func (s *CreateFleetInput) SetIdleDisconnectTimeoutInSeconds(v int64) *CreateFleetInput {
5617	s.IdleDisconnectTimeoutInSeconds = &v
5618	return s
5619}
5620
5621// SetImageArn sets the ImageArn field's value.
5622func (s *CreateFleetInput) SetImageArn(v string) *CreateFleetInput {
5623	s.ImageArn = &v
5624	return s
5625}
5626
5627// SetImageName sets the ImageName field's value.
5628func (s *CreateFleetInput) SetImageName(v string) *CreateFleetInput {
5629	s.ImageName = &v
5630	return s
5631}
5632
5633// SetInstanceType sets the InstanceType field's value.
5634func (s *CreateFleetInput) SetInstanceType(v string) *CreateFleetInput {
5635	s.InstanceType = &v
5636	return s
5637}
5638
5639// SetMaxUserDurationInSeconds sets the MaxUserDurationInSeconds field's value.
5640func (s *CreateFleetInput) SetMaxUserDurationInSeconds(v int64) *CreateFleetInput {
5641	s.MaxUserDurationInSeconds = &v
5642	return s
5643}
5644
5645// SetName sets the Name field's value.
5646func (s *CreateFleetInput) SetName(v string) *CreateFleetInput {
5647	s.Name = &v
5648	return s
5649}
5650
5651// SetStreamView sets the StreamView field's value.
5652func (s *CreateFleetInput) SetStreamView(v string) *CreateFleetInput {
5653	s.StreamView = &v
5654	return s
5655}
5656
5657// SetTags sets the Tags field's value.
5658func (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.
5664func (s *CreateFleetInput) SetVpcConfig(v *VpcConfig) *CreateFleetInput {
5665	s.VpcConfig = v
5666	return s
5667}
5668
5669type 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".
5681func (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".
5690func (s CreateFleetOutput) GoString() string {
5691	return s.String()
5692}
5693
5694// SetFleet sets the Fleet field's value.
5695func (s *CreateFleetOutput) SetFleet(v *Fleet) *CreateFleetOutput {
5696	s.Fleet = v
5697	return s
5698}
5699
5700type 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".
5843func (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".
5852func (s CreateImageBuilderInput) GoString() string {
5853	return s.String()
5854}
5855
5856// Validate inspects the fields of the type to determine if they are valid.
5857func (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.
5898func (s *CreateImageBuilderInput) SetAccessEndpoints(v []*AccessEndpoint) *CreateImageBuilderInput {
5899	s.AccessEndpoints = v
5900	return s
5901}
5902
5903// SetAppstreamAgentVersion sets the AppstreamAgentVersion field's value.
5904func (s *CreateImageBuilderInput) SetAppstreamAgentVersion(v string) *CreateImageBuilderInput {
5905	s.AppstreamAgentVersion = &v
5906	return s
5907}
5908
5909// SetDescription sets the Description field's value.
5910func (s *CreateImageBuilderInput) SetDescription(v string) *CreateImageBuilderInput {
5911	s.Description = &v
5912	return s
5913}
5914
5915// SetDisplayName sets the DisplayName field's value.
5916func (s *CreateImageBuilderInput) SetDisplayName(v string) *CreateImageBuilderInput {
5917	s.DisplayName = &v
5918	return s
5919}
5920
5921// SetDomainJoinInfo sets the DomainJoinInfo field's value.
5922func (s *CreateImageBuilderInput) SetDomainJoinInfo(v *DomainJoinInfo) *CreateImageBuilderInput {
5923	s.DomainJoinInfo = v
5924	return s
5925}
5926
5927// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
5928func (s *CreateImageBuilderInput) SetEnableDefaultInternetAccess(v bool) *CreateImageBuilderInput {
5929	s.EnableDefaultInternetAccess = &v
5930	return s
5931}
5932
5933// SetIamRoleArn sets the IamRoleArn field's value.
5934func (s *CreateImageBuilderInput) SetIamRoleArn(v string) *CreateImageBuilderInput {
5935	s.IamRoleArn = &v
5936	return s
5937}
5938
5939// SetImageArn sets the ImageArn field's value.
5940func (s *CreateImageBuilderInput) SetImageArn(v string) *CreateImageBuilderInput {
5941	s.ImageArn = &v
5942	return s
5943}
5944
5945// SetImageName sets the ImageName field's value.
5946func (s *CreateImageBuilderInput) SetImageName(v string) *CreateImageBuilderInput {
5947	s.ImageName = &v
5948	return s
5949}
5950
5951// SetInstanceType sets the InstanceType field's value.
5952func (s *CreateImageBuilderInput) SetInstanceType(v string) *CreateImageBuilderInput {
5953	s.InstanceType = &v
5954	return s
5955}
5956
5957// SetName sets the Name field's value.
5958func (s *CreateImageBuilderInput) SetName(v string) *CreateImageBuilderInput {
5959	s.Name = &v
5960	return s
5961}
5962
5963// SetTags sets the Tags field's value.
5964func (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.
5970func (s *CreateImageBuilderInput) SetVpcConfig(v *VpcConfig) *CreateImageBuilderInput {
5971	s.VpcConfig = v
5972	return s
5973}
5974
5975type 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".
5987func (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".
5996func (s CreateImageBuilderOutput) GoString() string {
5997	return s.String()
5998}
5999
6000// SetImageBuilder sets the ImageBuilder field's value.
6001func (s *CreateImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *CreateImageBuilderOutput {
6002	s.ImageBuilder = v
6003	return s
6004}
6005
6006type 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".
6024func (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".
6033func (s CreateImageBuilderStreamingURLInput) GoString() string {
6034	return s.String()
6035}
6036
6037// Validate inspects the fields of the type to determine if they are valid.
6038func (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.
6054func (s *CreateImageBuilderStreamingURLInput) SetName(v string) *CreateImageBuilderStreamingURLInput {
6055	s.Name = &v
6056	return s
6057}
6058
6059// SetValidity sets the Validity field's value.
6060func (s *CreateImageBuilderStreamingURLInput) SetValidity(v int64) *CreateImageBuilderStreamingURLInput {
6061	s.Validity = &v
6062	return s
6063}
6064
6065type 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".
6080func (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".
6089func (s CreateImageBuilderStreamingURLOutput) GoString() string {
6090	return s.String()
6091}
6092
6093// SetExpires sets the Expires field's value.
6094func (s *CreateImageBuilderStreamingURLOutput) SetExpires(v time.Time) *CreateImageBuilderStreamingURLOutput {
6095	s.Expires = &v
6096	return s
6097}
6098
6099// SetStreamingURL sets the StreamingURL field's value.
6100func (s *CreateImageBuilderStreamingURLOutput) SetStreamingURL(v string) *CreateImageBuilderStreamingURLOutput {
6101	s.StreamingURL = &v
6102	return s
6103}
6104
6105type 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".
6168func (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".
6177func (s CreateStackInput) GoString() string {
6178	return s.String()
6179}
6180
6181// Validate inspects the fields of the type to determine if they are valid.
6182func (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.
6242func (s *CreateStackInput) SetAccessEndpoints(v []*AccessEndpoint) *CreateStackInput {
6243	s.AccessEndpoints = v
6244	return s
6245}
6246
6247// SetApplicationSettings sets the ApplicationSettings field's value.
6248func (s *CreateStackInput) SetApplicationSettings(v *ApplicationSettings) *CreateStackInput {
6249	s.ApplicationSettings = v
6250	return s
6251}
6252
6253// SetDescription sets the Description field's value.
6254func (s *CreateStackInput) SetDescription(v string) *CreateStackInput {
6255	s.Description = &v
6256	return s
6257}
6258
6259// SetDisplayName sets the DisplayName field's value.
6260func (s *CreateStackInput) SetDisplayName(v string) *CreateStackInput {
6261	s.DisplayName = &v
6262	return s
6263}
6264
6265// SetEmbedHostDomains sets the EmbedHostDomains field's value.
6266func (s *CreateStackInput) SetEmbedHostDomains(v []*string) *CreateStackInput {
6267	s.EmbedHostDomains = v
6268	return s
6269}
6270
6271// SetFeedbackURL sets the FeedbackURL field's value.
6272func (s *CreateStackInput) SetFeedbackURL(v string) *CreateStackInput {
6273	s.FeedbackURL = &v
6274	return s
6275}
6276
6277// SetName sets the Name field's value.
6278func (s *CreateStackInput) SetName(v string) *CreateStackInput {
6279	s.Name = &v
6280	return s
6281}
6282
6283// SetRedirectURL sets the RedirectURL field's value.
6284func (s *CreateStackInput) SetRedirectURL(v string) *CreateStackInput {
6285	s.RedirectURL = &v
6286	return s
6287}
6288
6289// SetStorageConnectors sets the StorageConnectors field's value.
6290func (s *CreateStackInput) SetStorageConnectors(v []*StorageConnector) *CreateStackInput {
6291	s.StorageConnectors = v
6292	return s
6293}
6294
6295// SetTags sets the Tags field's value.
6296func (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.
6302func (s *CreateStackInput) SetUserSettings(v []*UserSetting) *CreateStackInput {
6303	s.UserSettings = v
6304	return s
6305}
6306
6307type 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".
6319func (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".
6328func (s CreateStackOutput) GoString() string {
6329	return s.String()
6330}
6331
6332// SetStack sets the Stack field's value.
6333func (s *CreateStackOutput) SetStack(v *Stack) *CreateStackOutput {
6334	s.Stack = v
6335	return s
6336}
6337
6338type 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".
6376func (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".
6385func (s CreateStreamingURLInput) GoString() string {
6386	return s.String()
6387}
6388
6389// Validate inspects the fields of the type to determine if they are valid.
6390func (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.
6424func (s *CreateStreamingURLInput) SetApplicationId(v string) *CreateStreamingURLInput {
6425	s.ApplicationId = &v
6426	return s
6427}
6428
6429// SetFleetName sets the FleetName field's value.
6430func (s *CreateStreamingURLInput) SetFleetName(v string) *CreateStreamingURLInput {
6431	s.FleetName = &v
6432	return s
6433}
6434
6435// SetSessionContext sets the SessionContext field's value.
6436func (s *CreateStreamingURLInput) SetSessionContext(v string) *CreateStreamingURLInput {
6437	s.SessionContext = &v
6438	return s
6439}
6440
6441// SetStackName sets the StackName field's value.
6442func (s *CreateStreamingURLInput) SetStackName(v string) *CreateStreamingURLInput {
6443	s.StackName = &v
6444	return s
6445}
6446
6447// SetUserId sets the UserId field's value.
6448func (s *CreateStreamingURLInput) SetUserId(v string) *CreateStreamingURLInput {
6449	s.UserId = &v
6450	return s
6451}
6452
6453// SetValidity sets the Validity field's value.
6454func (s *CreateStreamingURLInput) SetValidity(v int64) *CreateStreamingURLInput {
6455	s.Validity = &v
6456	return s
6457}
6458
6459type 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".
6474func (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".
6483func (s CreateStreamingURLOutput) GoString() string {
6484	return s.String()
6485}
6486
6487// SetExpires sets the Expires field's value.
6488func (s *CreateStreamingURLOutput) SetExpires(v time.Time) *CreateStreamingURLOutput {
6489	s.Expires = &v
6490	return s
6491}
6492
6493// SetStreamingURL sets the StreamingURL field's value.
6494func (s *CreateStreamingURLOutput) SetStreamingURL(v string) *CreateStreamingURLOutput {
6495	s.StreamingURL = &v
6496	return s
6497}
6498
6499type 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".
6547func (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".
6556func (s CreateUpdatedImageInput) GoString() string {
6557	return s.String()
6558}
6559
6560// Validate inspects the fields of the type to determine if they are valid.
6561func (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.
6580func (s *CreateUpdatedImageInput) SetDryRun(v bool) *CreateUpdatedImageInput {
6581	s.DryRun = &v
6582	return s
6583}
6584
6585// SetExistingImageName sets the ExistingImageName field's value.
6586func (s *CreateUpdatedImageInput) SetExistingImageName(v string) *CreateUpdatedImageInput {
6587	s.ExistingImageName = &v
6588	return s
6589}
6590
6591// SetNewImageDescription sets the NewImageDescription field's value.
6592func (s *CreateUpdatedImageInput) SetNewImageDescription(v string) *CreateUpdatedImageInput {
6593	s.NewImageDescription = &v
6594	return s
6595}
6596
6597// SetNewImageDisplayName sets the NewImageDisplayName field's value.
6598func (s *CreateUpdatedImageInput) SetNewImageDisplayName(v string) *CreateUpdatedImageInput {
6599	s.NewImageDisplayName = &v
6600	return s
6601}
6602
6603// SetNewImageName sets the NewImageName field's value.
6604func (s *CreateUpdatedImageInput) SetNewImageName(v string) *CreateUpdatedImageInput {
6605	s.NewImageName = &v
6606	return s
6607}
6608
6609// SetNewImageTags sets the NewImageTags field's value.
6610func (s *CreateUpdatedImageInput) SetNewImageTags(v map[string]*string) *CreateUpdatedImageInput {
6611	s.NewImageTags = v
6612	return s
6613}
6614
6615type 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".
6630func (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".
6639func (s CreateUpdatedImageOutput) GoString() string {
6640	return s.String()
6641}
6642
6643// SetCanUpdateImage sets the CanUpdateImage field's value.
6644func (s *CreateUpdatedImageOutput) SetCanUpdateImage(v bool) *CreateUpdatedImageOutput {
6645	s.CanUpdateImage = &v
6646	return s
6647}
6648
6649// SetImage sets the Image field's value.
6650func (s *CreateUpdatedImageOutput) SetImage(v *Image) *CreateUpdatedImageOutput {
6651	s.Image = v
6652	return s
6653}
6654
6655type 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".
6664func (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".
6673func (s CreateUsageReportSubscriptionInput) GoString() string {
6674	return s.String()
6675}
6676
6677type 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".
6699func (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".
6708func (s CreateUsageReportSubscriptionOutput) GoString() string {
6709	return s.String()
6710}
6711
6712// SetS3BucketName sets the S3BucketName field's value.
6713func (s *CreateUsageReportSubscriptionOutput) SetS3BucketName(v string) *CreateUsageReportSubscriptionOutput {
6714	s.S3BucketName = &v
6715	return s
6716}
6717
6718// SetSchedule sets the Schedule field's value.
6719func (s *CreateUsageReportSubscriptionOutput) SetSchedule(v string) *CreateUsageReportSubscriptionOutput {
6720	s.Schedule = &v
6721	return s
6722}
6723
6724type 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".
6776func (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".
6785func (s CreateUserInput) GoString() string {
6786	return s.String()
6787}
6788
6789// Validate inspects the fields of the type to determine if they are valid.
6790func (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.
6809func (s *CreateUserInput) SetAuthenticationType(v string) *CreateUserInput {
6810	s.AuthenticationType = &v
6811	return s
6812}
6813
6814// SetFirstName sets the FirstName field's value.
6815func (s *CreateUserInput) SetFirstName(v string) *CreateUserInput {
6816	s.FirstName = &v
6817	return s
6818}
6819
6820// SetLastName sets the LastName field's value.
6821func (s *CreateUserInput) SetLastName(v string) *CreateUserInput {
6822	s.LastName = &v
6823	return s
6824}
6825
6826// SetMessageAction sets the MessageAction field's value.
6827func (s *CreateUserInput) SetMessageAction(v string) *CreateUserInput {
6828	s.MessageAction = &v
6829	return s
6830}
6831
6832// SetUserName sets the UserName field's value.
6833func (s *CreateUserInput) SetUserName(v string) *CreateUserInput {
6834	s.UserName = &v
6835	return s
6836}
6837
6838type 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".
6847func (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".
6856func (s CreateUserOutput) GoString() string {
6857	return s.String()
6858}
6859
6860type 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".
6874func (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".
6883func (s DeleteDirectoryConfigInput) GoString() string {
6884	return s.String()
6885}
6886
6887// Validate inspects the fields of the type to determine if they are valid.
6888func (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.
6901func (s *DeleteDirectoryConfigInput) SetDirectoryName(v string) *DeleteDirectoryConfigInput {
6902	s.DirectoryName = &v
6903	return s
6904}
6905
6906type 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".
6915func (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".
6924func (s DeleteDirectoryConfigOutput) GoString() string {
6925	return s.String()
6926}
6927
6928type 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".
6942func (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".
6951func (s DeleteFleetInput) GoString() string {
6952	return s.String()
6953}
6954
6955// Validate inspects the fields of the type to determine if they are valid.
6956func (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.
6972func (s *DeleteFleetInput) SetName(v string) *DeleteFleetInput {
6973	s.Name = &v
6974	return s
6975}
6976
6977type 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".
6986func (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".
6995func (s DeleteFleetOutput) GoString() string {
6996	return s.String()
6997}
6998
6999type 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".
7013func (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".
7022func (s DeleteImageBuilderInput) GoString() string {
7023	return s.String()
7024}
7025
7026// Validate inspects the fields of the type to determine if they are valid.
7027func (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.
7040func (s *DeleteImageBuilderInput) SetName(v string) *DeleteImageBuilderInput {
7041	s.Name = &v
7042	return s
7043}
7044
7045type 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".
7057func (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".
7066func (s DeleteImageBuilderOutput) GoString() string {
7067	return s.String()
7068}
7069
7070// SetImageBuilder sets the ImageBuilder field's value.
7071func (s *DeleteImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *DeleteImageBuilderOutput {
7072	s.ImageBuilder = v
7073	return s
7074}
7075
7076type 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".
7090func (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".
7099func (s DeleteImageInput) GoString() string {
7100	return s.String()
7101}
7102
7103// Validate inspects the fields of the type to determine if they are valid.
7104func (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.
7117func (s *DeleteImageInput) SetName(v string) *DeleteImageInput {
7118	s.Name = &v
7119	return s
7120}
7121
7122type 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".
7134func (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".
7143func (s DeleteImageOutput) GoString() string {
7144	return s.String()
7145}
7146
7147// SetImage sets the Image field's value.
7148func (s *DeleteImageOutput) SetImage(v *Image) *DeleteImageOutput {
7149	s.Image = v
7150	return s
7151}
7152
7153type 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".
7172func (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".
7181func (s DeleteImagePermissionsInput) GoString() string {
7182	return s.String()
7183}
7184
7185// Validate inspects the fields of the type to determine if they are valid.
7186func (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.
7202func (s *DeleteImagePermissionsInput) SetName(v string) *DeleteImagePermissionsInput {
7203	s.Name = &v
7204	return s
7205}
7206
7207// SetSharedAccountId sets the SharedAccountId field's value.
7208func (s *DeleteImagePermissionsInput) SetSharedAccountId(v string) *DeleteImagePermissionsInput {
7209	s.SharedAccountId = &v
7210	return s
7211}
7212
7213type 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".
7222func (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".
7231func (s DeleteImagePermissionsOutput) GoString() string {
7232	return s.String()
7233}
7234
7235type 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".
7249func (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".
7258func (s DeleteStackInput) GoString() string {
7259	return s.String()
7260}
7261
7262// Validate inspects the fields of the type to determine if they are valid.
7263func (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.
7279func (s *DeleteStackInput) SetName(v string) *DeleteStackInput {
7280	s.Name = &v
7281	return s
7282}
7283
7284type 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".
7293func (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".
7302func (s DeleteStackOutput) GoString() string {
7303	return s.String()
7304}
7305
7306type 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".
7315func (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".
7324func (s DeleteUsageReportSubscriptionInput) GoString() string {
7325	return s.String()
7326}
7327
7328type 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".
7337func (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".
7346func (s DeleteUsageReportSubscriptionOutput) GoString() string {
7347	return s.String()
7348}
7349
7350type 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".
7375func (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".
7384func (s DeleteUserInput) GoString() string {
7385	return s.String()
7386}
7387
7388// Validate inspects the fields of the type to determine if they are valid.
7389func (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.
7408func (s *DeleteUserInput) SetAuthenticationType(v string) *DeleteUserInput {
7409	s.AuthenticationType = &v
7410	return s
7411}
7412
7413// SetUserName sets the UserName field's value.
7414func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput {
7415	s.UserName = &v
7416	return s
7417}
7418
7419type 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".
7428func (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".
7437func (s DeleteUserOutput) GoString() string {
7438	return s.String()
7439}
7440
7441type 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".
7460func (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".
7469func (s DescribeDirectoryConfigsInput) GoString() string {
7470	return s.String()
7471}
7472
7473// Validate inspects the fields of the type to determine if they are valid.
7474func (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.
7487func (s *DescribeDirectoryConfigsInput) SetDirectoryNames(v []*string) *DescribeDirectoryConfigsInput {
7488	s.DirectoryNames = v
7489	return s
7490}
7491
7492// SetMaxResults sets the MaxResults field's value.
7493func (s *DescribeDirectoryConfigsInput) SetMaxResults(v int64) *DescribeDirectoryConfigsInput {
7494	s.MaxResults = &v
7495	return s
7496}
7497
7498// SetNextToken sets the NextToken field's value.
7499func (s *DescribeDirectoryConfigsInput) SetNextToken(v string) *DescribeDirectoryConfigsInput {
7500	s.NextToken = &v
7501	return s
7502}
7503
7504type 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".
7522func (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".
7531func (s DescribeDirectoryConfigsOutput) GoString() string {
7532	return s.String()
7533}
7534
7535// SetDirectoryConfigs sets the DirectoryConfigs field's value.
7536func (s *DescribeDirectoryConfigsOutput) SetDirectoryConfigs(v []*DirectoryConfig) *DescribeDirectoryConfigsOutput {
7537	s.DirectoryConfigs = v
7538	return s
7539}
7540
7541// SetNextToken sets the NextToken field's value.
7542func (s *DescribeDirectoryConfigsOutput) SetNextToken(v string) *DescribeDirectoryConfigsOutput {
7543	s.NextToken = &v
7544	return s
7545}
7546
7547type 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".
7563func (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".
7572func (s DescribeFleetsInput) GoString() string {
7573	return s.String()
7574}
7575
7576// Validate inspects the fields of the type to determine if they are valid.
7577func (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.
7590func (s *DescribeFleetsInput) SetNames(v []*string) *DescribeFleetsInput {
7591	s.Names = v
7592	return s
7593}
7594
7595// SetNextToken sets the NextToken field's value.
7596func (s *DescribeFleetsInput) SetNextToken(v string) *DescribeFleetsInput {
7597	s.NextToken = &v
7598	return s
7599}
7600
7601type 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".
7617func (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".
7626func (s DescribeFleetsOutput) GoString() string {
7627	return s.String()
7628}
7629
7630// SetFleets sets the Fleets field's value.
7631func (s *DescribeFleetsOutput) SetFleets(v []*Fleet) *DescribeFleetsOutput {
7632	s.Fleets = v
7633	return s
7634}
7635
7636// SetNextToken sets the NextToken field's value.
7637func (s *DescribeFleetsOutput) SetNextToken(v string) *DescribeFleetsOutput {
7638	s.NextToken = &v
7639	return s
7640}
7641
7642type 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".
7661func (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".
7670func (s DescribeImageBuildersInput) GoString() string {
7671	return s.String()
7672}
7673
7674// Validate inspects the fields of the type to determine if they are valid.
7675func (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.
7688func (s *DescribeImageBuildersInput) SetMaxResults(v int64) *DescribeImageBuildersInput {
7689	s.MaxResults = &v
7690	return s
7691}
7692
7693// SetNames sets the Names field's value.
7694func (s *DescribeImageBuildersInput) SetNames(v []*string) *DescribeImageBuildersInput {
7695	s.Names = v
7696	return s
7697}
7698
7699// SetNextToken sets the NextToken field's value.
7700func (s *DescribeImageBuildersInput) SetNextToken(v string) *DescribeImageBuildersInput {
7701	s.NextToken = &v
7702	return s
7703}
7704
7705type 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".
7721func (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".
7730func (s DescribeImageBuildersOutput) GoString() string {
7731	return s.String()
7732}
7733
7734// SetImageBuilders sets the ImageBuilders field's value.
7735func (s *DescribeImageBuildersOutput) SetImageBuilders(v []*ImageBuilder) *DescribeImageBuildersOutput {
7736	s.ImageBuilders = v
7737	return s
7738}
7739
7740// SetNextToken sets the NextToken field's value.
7741func (s *DescribeImageBuildersOutput) SetNextToken(v string) *DescribeImageBuildersOutput {
7742	s.NextToken = &v
7743	return s
7744}
7745
7746type 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".
7772func (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".
7781func (s DescribeImagePermissionsInput) GoString() string {
7782	return s.String()
7783}
7784
7785// Validate inspects the fields of the type to determine if they are valid.
7786func (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.
7805func (s *DescribeImagePermissionsInput) SetMaxResults(v int64) *DescribeImagePermissionsInput {
7806	s.MaxResults = &v
7807	return s
7808}
7809
7810// SetName sets the Name field's value.
7811func (s *DescribeImagePermissionsInput) SetName(v string) *DescribeImagePermissionsInput {
7812	s.Name = &v
7813	return s
7814}
7815
7816// SetNextToken sets the NextToken field's value.
7817func (s *DescribeImagePermissionsInput) SetNextToken(v string) *DescribeImagePermissionsInput {
7818	s.NextToken = &v
7819	return s
7820}
7821
7822// SetSharedAwsAccountIds sets the SharedAwsAccountIds field's value.
7823func (s *DescribeImagePermissionsInput) SetSharedAwsAccountIds(v []*string) *DescribeImagePermissionsInput {
7824	s.SharedAwsAccountIds = v
7825	return s
7826}
7827
7828type 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".
7847func (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".
7856func (s DescribeImagePermissionsOutput) GoString() string {
7857	return s.String()
7858}
7859
7860// SetName sets the Name field's value.
7861func (s *DescribeImagePermissionsOutput) SetName(v string) *DescribeImagePermissionsOutput {
7862	s.Name = &v
7863	return s
7864}
7865
7866// SetNextToken sets the NextToken field's value.
7867func (s *DescribeImagePermissionsOutput) SetNextToken(v string) *DescribeImagePermissionsOutput {
7868	s.NextToken = &v
7869	return s
7870}
7871
7872// SetSharedImagePermissionsList sets the SharedImagePermissionsList field's value.
7873func (s *DescribeImagePermissionsOutput) SetSharedImagePermissionsList(v []*SharedImagePermissions) *DescribeImagePermissionsOutput {
7874	s.SharedImagePermissionsList = v
7875	return s
7876}
7877
7878type 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".
7903func (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".
7912func (s DescribeImagesInput) GoString() string {
7913	return s.String()
7914}
7915
7916// Validate inspects the fields of the type to determine if they are valid.
7917func (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.
7930func (s *DescribeImagesInput) SetArns(v []*string) *DescribeImagesInput {
7931	s.Arns = v
7932	return s
7933}
7934
7935// SetMaxResults sets the MaxResults field's value.
7936func (s *DescribeImagesInput) SetMaxResults(v int64) *DescribeImagesInput {
7937	s.MaxResults = &v
7938	return s
7939}
7940
7941// SetNames sets the Names field's value.
7942func (s *DescribeImagesInput) SetNames(v []*string) *DescribeImagesInput {
7943	s.Names = v
7944	return s
7945}
7946
7947// SetNextToken sets the NextToken field's value.
7948func (s *DescribeImagesInput) SetNextToken(v string) *DescribeImagesInput {
7949	s.NextToken = &v
7950	return s
7951}
7952
7953// SetType sets the Type field's value.
7954func (s *DescribeImagesInput) SetType(v string) *DescribeImagesInput {
7955	s.Type = &v
7956	return s
7957}
7958
7959type 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".
7975func (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".
7984func (s DescribeImagesOutput) GoString() string {
7985	return s.String()
7986}
7987
7988// SetImages sets the Images field's value.
7989func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
7990	s.Images = v
7991	return s
7992}
7993
7994// SetNextToken sets the NextToken field's value.
7995func (s *DescribeImagesOutput) SetNextToken(v string) *DescribeImagesOutput {
7996	s.NextToken = &v
7997	return s
7998}
7999
8000type 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".
8036func (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".
8045func (s DescribeSessionsInput) GoString() string {
8046	return s.String()
8047}
8048
8049// Validate inspects the fields of the type to determine if they are valid.
8050func (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.
8078func (s *DescribeSessionsInput) SetAuthenticationType(v string) *DescribeSessionsInput {
8079	s.AuthenticationType = &v
8080	return s
8081}
8082
8083// SetFleetName sets the FleetName field's value.
8084func (s *DescribeSessionsInput) SetFleetName(v string) *DescribeSessionsInput {
8085	s.FleetName = &v
8086	return s
8087}
8088
8089// SetLimit sets the Limit field's value.
8090func (s *DescribeSessionsInput) SetLimit(v int64) *DescribeSessionsInput {
8091	s.Limit = &v
8092	return s
8093}
8094
8095// SetNextToken sets the NextToken field's value.
8096func (s *DescribeSessionsInput) SetNextToken(v string) *DescribeSessionsInput {
8097	s.NextToken = &v
8098	return s
8099}
8100
8101// SetStackName sets the StackName field's value.
8102func (s *DescribeSessionsInput) SetStackName(v string) *DescribeSessionsInput {
8103	s.StackName = &v
8104	return s
8105}
8106
8107// SetUserId sets the UserId field's value.
8108func (s *DescribeSessionsInput) SetUserId(v string) *DescribeSessionsInput {
8109	s.UserId = &v
8110	return s
8111}
8112
8113type 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".
8129func (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".
8138func (s DescribeSessionsOutput) GoString() string {
8139	return s.String()
8140}
8141
8142// SetNextToken sets the NextToken field's value.
8143func (s *DescribeSessionsOutput) SetNextToken(v string) *DescribeSessionsOutput {
8144	s.NextToken = &v
8145	return s
8146}
8147
8148// SetSessions sets the Sessions field's value.
8149func (s *DescribeSessionsOutput) SetSessions(v []*Session) *DescribeSessionsOutput {
8150	s.Sessions = v
8151	return s
8152}
8153
8154type 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".
8170func (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".
8179func (s DescribeStacksInput) GoString() string {
8180	return s.String()
8181}
8182
8183// Validate inspects the fields of the type to determine if they are valid.
8184func (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.
8197func (s *DescribeStacksInput) SetNames(v []*string) *DescribeStacksInput {
8198	s.Names = v
8199	return s
8200}
8201
8202// SetNextToken sets the NextToken field's value.
8203func (s *DescribeStacksInput) SetNextToken(v string) *DescribeStacksInput {
8204	s.NextToken = &v
8205	return s
8206}
8207
8208type 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".
8224func (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".
8233func (s DescribeStacksOutput) GoString() string {
8234	return s.String()
8235}
8236
8237// SetNextToken sets the NextToken field's value.
8238func (s *DescribeStacksOutput) SetNextToken(v string) *DescribeStacksOutput {
8239	s.NextToken = &v
8240	return s
8241}
8242
8243// SetStacks sets the Stacks field's value.
8244func (s *DescribeStacksOutput) SetStacks(v []*Stack) *DescribeStacksOutput {
8245	s.Stacks = v
8246	return s
8247}
8248
8249type 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".
8265func (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".
8274func (s DescribeUsageReportSubscriptionsInput) GoString() string {
8275	return s.String()
8276}
8277
8278// Validate inspects the fields of the type to determine if they are valid.
8279func (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.
8292func (s *DescribeUsageReportSubscriptionsInput) SetMaxResults(v int64) *DescribeUsageReportSubscriptionsInput {
8293	s.MaxResults = &v
8294	return s
8295}
8296
8297// SetNextToken sets the NextToken field's value.
8298func (s *DescribeUsageReportSubscriptionsInput) SetNextToken(v string) *DescribeUsageReportSubscriptionsInput {
8299	s.NextToken = &v
8300	return s
8301}
8302
8303type 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".
8319func (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".
8328func (s DescribeUsageReportSubscriptionsOutput) GoString() string {
8329	return s.String()
8330}
8331
8332// SetNextToken sets the NextToken field's value.
8333func (s *DescribeUsageReportSubscriptionsOutput) SetNextToken(v string) *DescribeUsageReportSubscriptionsOutput {
8334	s.NextToken = &v
8335	return s
8336}
8337
8338// SetUsageReportSubscriptions sets the UsageReportSubscriptions field's value.
8339func (s *DescribeUsageReportSubscriptionsOutput) SetUsageReportSubscriptions(v []*UsageReportSubscription) *DescribeUsageReportSubscriptionsOutput {
8340	s.UsageReportSubscriptions = v
8341	return s
8342}
8343
8344type 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".
8376func (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".
8385func (s DescribeUserStackAssociationsInput) GoString() string {
8386	return s.String()
8387}
8388
8389// Validate inspects the fields of the type to determine if they are valid.
8390func (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.
8409func (s *DescribeUserStackAssociationsInput) SetAuthenticationType(v string) *DescribeUserStackAssociationsInput {
8410	s.AuthenticationType = &v
8411	return s
8412}
8413
8414// SetMaxResults sets the MaxResults field's value.
8415func (s *DescribeUserStackAssociationsInput) SetMaxResults(v int64) *DescribeUserStackAssociationsInput {
8416	s.MaxResults = &v
8417	return s
8418}
8419
8420// SetNextToken sets the NextToken field's value.
8421func (s *DescribeUserStackAssociationsInput) SetNextToken(v string) *DescribeUserStackAssociationsInput {
8422	s.NextToken = &v
8423	return s
8424}
8425
8426// SetStackName sets the StackName field's value.
8427func (s *DescribeUserStackAssociationsInput) SetStackName(v string) *DescribeUserStackAssociationsInput {
8428	s.StackName = &v
8429	return s
8430}
8431
8432// SetUserName sets the UserName field's value.
8433func (s *DescribeUserStackAssociationsInput) SetUserName(v string) *DescribeUserStackAssociationsInput {
8434	s.UserName = &v
8435	return s
8436}
8437
8438type 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".
8454func (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".
8463func (s DescribeUserStackAssociationsOutput) GoString() string {
8464	return s.String()
8465}
8466
8467// SetNextToken sets the NextToken field's value.
8468func (s *DescribeUserStackAssociationsOutput) SetNextToken(v string) *DescribeUserStackAssociationsOutput {
8469	s.NextToken = &v
8470	return s
8471}
8472
8473// SetUserStackAssociations sets the UserStackAssociations field's value.
8474func (s *DescribeUserStackAssociationsOutput) SetUserStackAssociations(v []*UserStackAssociation) *DescribeUserStackAssociationsOutput {
8475	s.UserStackAssociations = v
8476	return s
8477}
8478
8479type 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".
8501func (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".
8510func (s DescribeUsersInput) GoString() string {
8511	return s.String()
8512}
8513
8514// Validate inspects the fields of the type to determine if they are valid.
8515func (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.
8531func (s *DescribeUsersInput) SetAuthenticationType(v string) *DescribeUsersInput {
8532	s.AuthenticationType = &v
8533	return s
8534}
8535
8536// SetMaxResults sets the MaxResults field's value.
8537func (s *DescribeUsersInput) SetMaxResults(v int64) *DescribeUsersInput {
8538	s.MaxResults = &v
8539	return s
8540}
8541
8542// SetNextToken sets the NextToken field's value.
8543func (s *DescribeUsersInput) SetNextToken(v string) *DescribeUsersInput {
8544	s.NextToken = &v
8545	return s
8546}
8547
8548type 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".
8564func (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".
8573func (s DescribeUsersOutput) GoString() string {
8574	return s.String()
8575}
8576
8577// SetNextToken sets the NextToken field's value.
8578func (s *DescribeUsersOutput) SetNextToken(v string) *DescribeUsersOutput {
8579	s.NextToken = &v
8580	return s
8581}
8582
8583// SetUsers sets the Users field's value.
8584func (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.
8591type 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".
8615func (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".
8624func (s DirectoryConfig) GoString() string {
8625	return s.String()
8626}
8627
8628// SetCreatedTime sets the CreatedTime field's value.
8629func (s *DirectoryConfig) SetCreatedTime(v time.Time) *DirectoryConfig {
8630	s.CreatedTime = &v
8631	return s
8632}
8633
8634// SetDirectoryName sets the DirectoryName field's value.
8635func (s *DirectoryConfig) SetDirectoryName(v string) *DirectoryConfig {
8636	s.DirectoryName = &v
8637	return s
8638}
8639
8640// SetOrganizationalUnitDistinguishedNames sets the OrganizationalUnitDistinguishedNames field's value.
8641func (s *DirectoryConfig) SetOrganizationalUnitDistinguishedNames(v []*string) *DirectoryConfig {
8642	s.OrganizationalUnitDistinguishedNames = v
8643	return s
8644}
8645
8646// SetServiceAccountCredentials sets the ServiceAccountCredentials field's value.
8647func (s *DirectoryConfig) SetServiceAccountCredentials(v *ServiceAccountCredentials) *DirectoryConfig {
8648	s.ServiceAccountCredentials = v
8649	return s
8650}
8651
8652type 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".
8677func (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".
8686func (s DisableUserInput) GoString() string {
8687	return s.String()
8688}
8689
8690// Validate inspects the fields of the type to determine if they are valid.
8691func (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.
8710func (s *DisableUserInput) SetAuthenticationType(v string) *DisableUserInput {
8711	s.AuthenticationType = &v
8712	return s
8713}
8714
8715// SetUserName sets the UserName field's value.
8716func (s *DisableUserInput) SetUserName(v string) *DisableUserInput {
8717	s.UserName = &v
8718	return s
8719}
8720
8721type 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".
8730func (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".
8739func (s DisableUserOutput) GoString() string {
8740	return s.String()
8741}
8742
8743type 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".
8762func (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".
8771func (s DisassociateFleetInput) GoString() string {
8772	return s.String()
8773}
8774
8775// Validate inspects the fields of the type to determine if they are valid.
8776func (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.
8798func (s *DisassociateFleetInput) SetFleetName(v string) *DisassociateFleetInput {
8799	s.FleetName = &v
8800	return s
8801}
8802
8803// SetStackName sets the StackName field's value.
8804func (s *DisassociateFleetInput) SetStackName(v string) *DisassociateFleetInput {
8805	s.StackName = &v
8806	return s
8807}
8808
8809type 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".
8818func (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".
8827func (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.
8833type 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".
8848func (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".
8857func (s DomainJoinInfo) GoString() string {
8858	return s.String()
8859}
8860
8861// SetDirectoryName sets the DirectoryName field's value.
8862func (s *DomainJoinInfo) SetDirectoryName(v string) *DomainJoinInfo {
8863	s.DirectoryName = &v
8864	return s
8865}
8866
8867// SetOrganizationalUnitDistinguishedName sets the OrganizationalUnitDistinguishedName field's value.
8868func (s *DomainJoinInfo) SetOrganizationalUnitDistinguishedName(v string) *DomainJoinInfo {
8869	s.OrganizationalUnitDistinguishedName = &v
8870	return s
8871}
8872
8873type 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".
8901func (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".
8910func (s EnableUserInput) GoString() string {
8911	return s.String()
8912}
8913
8914// Validate inspects the fields of the type to determine if they are valid.
8915func (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.
8934func (s *EnableUserInput) SetAuthenticationType(v string) *EnableUserInput {
8935	s.AuthenticationType = &v
8936	return s
8937}
8938
8939// SetUserName sets the UserName field's value.
8940func (s *EnableUserInput) SetUserName(v string) *EnableUserInput {
8941	s.UserName = &v
8942	return s
8943}
8944
8945type 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".
8954func (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".
8963func (s EnableUserOutput) GoString() string {
8964	return s.String()
8965}
8966
8967type 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".
8981func (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".
8990func (s ExpireSessionInput) GoString() string {
8991	return s.String()
8992}
8993
8994// Validate inspects the fields of the type to determine if they are valid.
8995func (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.
9011func (s *ExpireSessionInput) SetSessionId(v string) *ExpireSessionInput {
9012	s.SessionId = &v
9013	return s
9014}
9015
9016type 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".
9025func (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".
9034func (s ExpireSessionOutput) GoString() string {
9035	return s.String()
9036}
9037
9038// Describes a fleet.
9039type 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".
9244func (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".
9253func (s Fleet) GoString() string {
9254	return s.String()
9255}
9256
9257// SetArn sets the Arn field's value.
9258func (s *Fleet) SetArn(v string) *Fleet {
9259	s.Arn = &v
9260	return s
9261}
9262
9263// SetComputeCapacityStatus sets the ComputeCapacityStatus field's value.
9264func (s *Fleet) SetComputeCapacityStatus(v *ComputeCapacityStatus) *Fleet {
9265	s.ComputeCapacityStatus = v
9266	return s
9267}
9268
9269// SetCreatedTime sets the CreatedTime field's value.
9270func (s *Fleet) SetCreatedTime(v time.Time) *Fleet {
9271	s.CreatedTime = &v
9272	return s
9273}
9274
9275// SetDescription sets the Description field's value.
9276func (s *Fleet) SetDescription(v string) *Fleet {
9277	s.Description = &v
9278	return s
9279}
9280
9281// SetDisconnectTimeoutInSeconds sets the DisconnectTimeoutInSeconds field's value.
9282func (s *Fleet) SetDisconnectTimeoutInSeconds(v int64) *Fleet {
9283	s.DisconnectTimeoutInSeconds = &v
9284	return s
9285}
9286
9287// SetDisplayName sets the DisplayName field's value.
9288func (s *Fleet) SetDisplayName(v string) *Fleet {
9289	s.DisplayName = &v
9290	return s
9291}
9292
9293// SetDomainJoinInfo sets the DomainJoinInfo field's value.
9294func (s *Fleet) SetDomainJoinInfo(v *DomainJoinInfo) *Fleet {
9295	s.DomainJoinInfo = v
9296	return s
9297}
9298
9299// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
9300func (s *Fleet) SetEnableDefaultInternetAccess(v bool) *Fleet {
9301	s.EnableDefaultInternetAccess = &v
9302	return s
9303}
9304
9305// SetFleetErrors sets the FleetErrors field's value.
9306func (s *Fleet) SetFleetErrors(v []*FleetError) *Fleet {
9307	s.FleetErrors = v
9308	return s
9309}
9310
9311// SetFleetType sets the FleetType field's value.
9312func (s *Fleet) SetFleetType(v string) *Fleet {
9313	s.FleetType = &v
9314	return s
9315}
9316
9317// SetIamRoleArn sets the IamRoleArn field's value.
9318func (s *Fleet) SetIamRoleArn(v string) *Fleet {
9319	s.IamRoleArn = &v
9320	return s
9321}
9322
9323// SetIdleDisconnectTimeoutInSeconds sets the IdleDisconnectTimeoutInSeconds field's value.
9324func (s *Fleet) SetIdleDisconnectTimeoutInSeconds(v int64) *Fleet {
9325	s.IdleDisconnectTimeoutInSeconds = &v
9326	return s
9327}
9328
9329// SetImageArn sets the ImageArn field's value.
9330func (s *Fleet) SetImageArn(v string) *Fleet {
9331	s.ImageArn = &v
9332	return s
9333}
9334
9335// SetImageName sets the ImageName field's value.
9336func (s *Fleet) SetImageName(v string) *Fleet {
9337	s.ImageName = &v
9338	return s
9339}
9340
9341// SetInstanceType sets the InstanceType field's value.
9342func (s *Fleet) SetInstanceType(v string) *Fleet {
9343	s.InstanceType = &v
9344	return s
9345}
9346
9347// SetMaxUserDurationInSeconds sets the MaxUserDurationInSeconds field's value.
9348func (s *Fleet) SetMaxUserDurationInSeconds(v int64) *Fleet {
9349	s.MaxUserDurationInSeconds = &v
9350	return s
9351}
9352
9353// SetName sets the Name field's value.
9354func (s *Fleet) SetName(v string) *Fleet {
9355	s.Name = &v
9356	return s
9357}
9358
9359// SetState sets the State field's value.
9360func (s *Fleet) SetState(v string) *Fleet {
9361	s.State = &v
9362	return s
9363}
9364
9365// SetStreamView sets the StreamView field's value.
9366func (s *Fleet) SetStreamView(v string) *Fleet {
9367	s.StreamView = &v
9368	return s
9369}
9370
9371// SetVpcConfig sets the VpcConfig field's value.
9372func (s *Fleet) SetVpcConfig(v *VpcConfig) *Fleet {
9373	s.VpcConfig = v
9374	return s
9375}
9376
9377// Describes a fleet error.
9378type 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".
9393func (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".
9402func (s FleetError) GoString() string {
9403	return s.String()
9404}
9405
9406// SetErrorCode sets the ErrorCode field's value.
9407func (s *FleetError) SetErrorCode(v string) *FleetError {
9408	s.ErrorCode = &v
9409	return s
9410}
9411
9412// SetErrorMessage sets the ErrorMessage field's value.
9413func (s *FleetError) SetErrorMessage(v string) *FleetError {
9414	s.ErrorMessage = &v
9415	return s
9416}
9417
9418// Describes an image.
9419type 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".
9486func (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".
9495func (s Image) GoString() string {
9496	return s.String()
9497}
9498
9499// SetApplications sets the Applications field's value.
9500func (s *Image) SetApplications(v []*Application) *Image {
9501	s.Applications = v
9502	return s
9503}
9504
9505// SetAppstreamAgentVersion sets the AppstreamAgentVersion field's value.
9506func (s *Image) SetAppstreamAgentVersion(v string) *Image {
9507	s.AppstreamAgentVersion = &v
9508	return s
9509}
9510
9511// SetArn sets the Arn field's value.
9512func (s *Image) SetArn(v string) *Image {
9513	s.Arn = &v
9514	return s
9515}
9516
9517// SetBaseImageArn sets the BaseImageArn field's value.
9518func (s *Image) SetBaseImageArn(v string) *Image {
9519	s.BaseImageArn = &v
9520	return s
9521}
9522
9523// SetCreatedTime sets the CreatedTime field's value.
9524func (s *Image) SetCreatedTime(v time.Time) *Image {
9525	s.CreatedTime = &v
9526	return s
9527}
9528
9529// SetDescription sets the Description field's value.
9530func (s *Image) SetDescription(v string) *Image {
9531	s.Description = &v
9532	return s
9533}
9534
9535// SetDisplayName sets the DisplayName field's value.
9536func (s *Image) SetDisplayName(v string) *Image {
9537	s.DisplayName = &v
9538	return s
9539}
9540
9541// SetImageBuilderName sets the ImageBuilderName field's value.
9542func (s *Image) SetImageBuilderName(v string) *Image {
9543	s.ImageBuilderName = &v
9544	return s
9545}
9546
9547// SetImageBuilderSupported sets the ImageBuilderSupported field's value.
9548func (s *Image) SetImageBuilderSupported(v bool) *Image {
9549	s.ImageBuilderSupported = &v
9550	return s
9551}
9552
9553// SetImageErrors sets the ImageErrors field's value.
9554func (s *Image) SetImageErrors(v []*ResourceError) *Image {
9555	s.ImageErrors = v
9556	return s
9557}
9558
9559// SetImagePermissions sets the ImagePermissions field's value.
9560func (s *Image) SetImagePermissions(v *ImagePermissions) *Image {
9561	s.ImagePermissions = v
9562	return s
9563}
9564
9565// SetName sets the Name field's value.
9566func (s *Image) SetName(v string) *Image {
9567	s.Name = &v
9568	return s
9569}
9570
9571// SetPlatform sets the Platform field's value.
9572func (s *Image) SetPlatform(v string) *Image {
9573	s.Platform = &v
9574	return s
9575}
9576
9577// SetPublicBaseImageReleasedDate sets the PublicBaseImageReleasedDate field's value.
9578func (s *Image) SetPublicBaseImageReleasedDate(v time.Time) *Image {
9579	s.PublicBaseImageReleasedDate = &v
9580	return s
9581}
9582
9583// SetState sets the State field's value.
9584func (s *Image) SetState(v string) *Image {
9585	s.State = &v
9586	return s
9587}
9588
9589// SetStateChangeReason sets the StateChangeReason field's value.
9590func (s *Image) SetStateChangeReason(v *ImageStateChangeReason) *Image {
9591	s.StateChangeReason = v
9592	return s
9593}
9594
9595// SetVisibility sets the Visibility field's value.
9596func (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.
9602type 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".
9746func (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".
9755func (s ImageBuilder) GoString() string {
9756	return s.String()
9757}
9758
9759// SetAccessEndpoints sets the AccessEndpoints field's value.
9760func (s *ImageBuilder) SetAccessEndpoints(v []*AccessEndpoint) *ImageBuilder {
9761	s.AccessEndpoints = v
9762	return s
9763}
9764
9765// SetAppstreamAgentVersion sets the AppstreamAgentVersion field's value.
9766func (s *ImageBuilder) SetAppstreamAgentVersion(v string) *ImageBuilder {
9767	s.AppstreamAgentVersion = &v
9768	return s
9769}
9770
9771// SetArn sets the Arn field's value.
9772func (s *ImageBuilder) SetArn(v string) *ImageBuilder {
9773	s.Arn = &v
9774	return s
9775}
9776
9777// SetCreatedTime sets the CreatedTime field's value.
9778func (s *ImageBuilder) SetCreatedTime(v time.Time) *ImageBuilder {
9779	s.CreatedTime = &v
9780	return s
9781}
9782
9783// SetDescription sets the Description field's value.
9784func (s *ImageBuilder) SetDescription(v string) *ImageBuilder {
9785	s.Description = &v
9786	return s
9787}
9788
9789// SetDisplayName sets the DisplayName field's value.
9790func (s *ImageBuilder) SetDisplayName(v string) *ImageBuilder {
9791	s.DisplayName = &v
9792	return s
9793}
9794
9795// SetDomainJoinInfo sets the DomainJoinInfo field's value.
9796func (s *ImageBuilder) SetDomainJoinInfo(v *DomainJoinInfo) *ImageBuilder {
9797	s.DomainJoinInfo = v
9798	return s
9799}
9800
9801// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
9802func (s *ImageBuilder) SetEnableDefaultInternetAccess(v bool) *ImageBuilder {
9803	s.EnableDefaultInternetAccess = &v
9804	return s
9805}
9806
9807// SetIamRoleArn sets the IamRoleArn field's value.
9808func (s *ImageBuilder) SetIamRoleArn(v string) *ImageBuilder {
9809	s.IamRoleArn = &v
9810	return s
9811}
9812
9813// SetImageArn sets the ImageArn field's value.
9814func (s *ImageBuilder) SetImageArn(v string) *ImageBuilder {
9815	s.ImageArn = &v
9816	return s
9817}
9818
9819// SetImageBuilderErrors sets the ImageBuilderErrors field's value.
9820func (s *ImageBuilder) SetImageBuilderErrors(v []*ResourceError) *ImageBuilder {
9821	s.ImageBuilderErrors = v
9822	return s
9823}
9824
9825// SetInstanceType sets the InstanceType field's value.
9826func (s *ImageBuilder) SetInstanceType(v string) *ImageBuilder {
9827	s.InstanceType = &v
9828	return s
9829}
9830
9831// SetName sets the Name field's value.
9832func (s *ImageBuilder) SetName(v string) *ImageBuilder {
9833	s.Name = &v
9834	return s
9835}
9836
9837// SetNetworkAccessConfiguration sets the NetworkAccessConfiguration field's value.
9838func (s *ImageBuilder) SetNetworkAccessConfiguration(v *NetworkAccessConfiguration) *ImageBuilder {
9839	s.NetworkAccessConfiguration = v
9840	return s
9841}
9842
9843// SetPlatform sets the Platform field's value.
9844func (s *ImageBuilder) SetPlatform(v string) *ImageBuilder {
9845	s.Platform = &v
9846	return s
9847}
9848
9849// SetState sets the State field's value.
9850func (s *ImageBuilder) SetState(v string) *ImageBuilder {
9851	s.State = &v
9852	return s
9853}
9854
9855// SetStateChangeReason sets the StateChangeReason field's value.
9856func (s *ImageBuilder) SetStateChangeReason(v *ImageBuilderStateChangeReason) *ImageBuilder {
9857	s.StateChangeReason = v
9858	return s
9859}
9860
9861// SetVpcConfig sets the VpcConfig field's value.
9862func (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.
9868type 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".
9883func (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".
9892func (s ImageBuilderStateChangeReason) GoString() string {
9893	return s.String()
9894}
9895
9896// SetCode sets the Code field's value.
9897func (s *ImageBuilderStateChangeReason) SetCode(v string) *ImageBuilderStateChangeReason {
9898	s.Code = &v
9899	return s
9900}
9901
9902// SetMessage sets the Message field's value.
9903func (s *ImageBuilderStateChangeReason) SetMessage(v string) *ImageBuilderStateChangeReason {
9904	s.Message = &v
9905	return s
9906}
9907
9908// Describes the permissions for an image.
9909type 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".
9924func (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".
9933func (s ImagePermissions) GoString() string {
9934	return s.String()
9935}
9936
9937// SetAllowFleet sets the AllowFleet field's value.
9938func (s *ImagePermissions) SetAllowFleet(v bool) *ImagePermissions {
9939	s.AllowFleet = &v
9940	return s
9941}
9942
9943// SetAllowImageBuilder sets the AllowImageBuilder field's value.
9944func (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.
9950type 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".
9965func (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".
9974func (s ImageStateChangeReason) GoString() string {
9975	return s.String()
9976}
9977
9978// SetCode sets the Code field's value.
9979func (s *ImageStateChangeReason) SetCode(v string) *ImageStateChangeReason {
9980	s.Code = &v
9981	return s
9982}
9983
9984// SetMessage sets the Message field's value.
9985func (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.
9991type 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".
10004func (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".
10013func (s IncompatibleImageException) GoString() string {
10014	return s.String()
10015}
10016
10017func newErrorIncompatibleImageException(v protocol.ResponseMetadata) error {
10018	return &IncompatibleImageException{
10019		RespMetadata: v,
10020	}
10021}
10022
10023// Code returns the exception type name.
10024func (s *IncompatibleImageException) Code() string {
10025	return "IncompatibleImageException"
10026}
10027
10028// Message returns the exception's message.
10029func (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.
10037func (s *IncompatibleImageException) OrigErr() error {
10038	return nil
10039}
10040
10041func (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.
10046func (s *IncompatibleImageException) StatusCode() int {
10047	return s.RespMetadata.StatusCode
10048}
10049
10050// RequestID returns the service's response RequestID for request.
10051func (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.
10057type 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".
10070func (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".
10079func (s InvalidAccountStatusException) GoString() string {
10080	return s.String()
10081}
10082
10083func newErrorInvalidAccountStatusException(v protocol.ResponseMetadata) error {
10084	return &InvalidAccountStatusException{
10085		RespMetadata: v,
10086	}
10087}
10088
10089// Code returns the exception type name.
10090func (s *InvalidAccountStatusException) Code() string {
10091	return "InvalidAccountStatusException"
10092}
10093
10094// Message returns the exception's message.
10095func (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.
10103func (s *InvalidAccountStatusException) OrigErr() error {
10104	return nil
10105}
10106
10107func (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.
10112func (s *InvalidAccountStatusException) StatusCode() int {
10113	return s.RespMetadata.StatusCode
10114}
10115
10116// RequestID returns the service's response RequestID for request.
10117func (s *InvalidAccountStatusException) RequestID() string {
10118	return s.RespMetadata.RequestID
10119}
10120
10121// Indicates an incorrect combination of parameters, or a missing parameter.
10122type 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".
10135func (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".
10144func (s InvalidParameterCombinationException) GoString() string {
10145	return s.String()
10146}
10147
10148func newErrorInvalidParameterCombinationException(v protocol.ResponseMetadata) error {
10149	return &InvalidParameterCombinationException{
10150		RespMetadata: v,
10151	}
10152}
10153
10154// Code returns the exception type name.
10155func (s *InvalidParameterCombinationException) Code() string {
10156	return "InvalidParameterCombinationException"
10157}
10158
10159// Message returns the exception's message.
10160func (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.
10168func (s *InvalidParameterCombinationException) OrigErr() error {
10169	return nil
10170}
10171
10172func (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.
10177func (s *InvalidParameterCombinationException) StatusCode() int {
10178	return s.RespMetadata.StatusCode
10179}
10180
10181// RequestID returns the service's response RequestID for request.
10182func (s *InvalidParameterCombinationException) RequestID() string {
10183	return s.RespMetadata.RequestID
10184}
10185
10186// The specified role is invalid.
10187type 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".
10200func (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".
10209func (s InvalidRoleException) GoString() string {
10210	return s.String()
10211}
10212
10213func newErrorInvalidRoleException(v protocol.ResponseMetadata) error {
10214	return &InvalidRoleException{
10215		RespMetadata: v,
10216	}
10217}
10218
10219// Code returns the exception type name.
10220func (s *InvalidRoleException) Code() string {
10221	return "InvalidRoleException"
10222}
10223
10224// Message returns the exception's message.
10225func (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.
10233func (s *InvalidRoleException) OrigErr() error {
10234	return nil
10235}
10236
10237func (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.
10242func (s *InvalidRoleException) StatusCode() int {
10243	return s.RespMetadata.StatusCode
10244}
10245
10246// RequestID returns the service's response RequestID for request.
10247func (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.
10252type 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".
10269func (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".
10278func (s LastReportGenerationExecutionError) GoString() string {
10279	return s.String()
10280}
10281
10282// SetErrorCode sets the ErrorCode field's value.
10283func (s *LastReportGenerationExecutionError) SetErrorCode(v string) *LastReportGenerationExecutionError {
10284	s.ErrorCode = &v
10285	return s
10286}
10287
10288// SetErrorMessage sets the ErrorMessage field's value.
10289func (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.
10295type 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".
10308func (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".
10317func (s LimitExceededException) GoString() string {
10318	return s.String()
10319}
10320
10321func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
10322	return &LimitExceededException{
10323		RespMetadata: v,
10324	}
10325}
10326
10327// Code returns the exception type name.
10328func (s *LimitExceededException) Code() string {
10329	return "LimitExceededException"
10330}
10331
10332// Message returns the exception's message.
10333func (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.
10341func (s *LimitExceededException) OrigErr() error {
10342	return nil
10343}
10344
10345func (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.
10350func (s *LimitExceededException) StatusCode() int {
10351	return s.RespMetadata.StatusCode
10352}
10353
10354// RequestID returns the service's response RequestID for request.
10355func (s *LimitExceededException) RequestID() string {
10356	return s.RespMetadata.RequestID
10357}
10358
10359type 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".
10377func (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".
10386func (s ListAssociatedFleetsInput) GoString() string {
10387	return s.String()
10388}
10389
10390// Validate inspects the fields of the type to determine if they are valid.
10391func (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.
10410func (s *ListAssociatedFleetsInput) SetNextToken(v string) *ListAssociatedFleetsInput {
10411	s.NextToken = &v
10412	return s
10413}
10414
10415// SetStackName sets the StackName field's value.
10416func (s *ListAssociatedFleetsInput) SetStackName(v string) *ListAssociatedFleetsInput {
10417	s.StackName = &v
10418	return s
10419}
10420
10421type 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".
10437func (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".
10446func (s ListAssociatedFleetsOutput) GoString() string {
10447	return s.String()
10448}
10449
10450// SetNames sets the Names field's value.
10451func (s *ListAssociatedFleetsOutput) SetNames(v []*string) *ListAssociatedFleetsOutput {
10452	s.Names = v
10453	return s
10454}
10455
10456// SetNextToken sets the NextToken field's value.
10457func (s *ListAssociatedFleetsOutput) SetNextToken(v string) *ListAssociatedFleetsOutput {
10458	s.NextToken = &v
10459	return s
10460}
10461
10462type 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".
10480func (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".
10489func (s ListAssociatedStacksInput) GoString() string {
10490	return s.String()
10491}
10492
10493// Validate inspects the fields of the type to determine if they are valid.
10494func (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.
10513func (s *ListAssociatedStacksInput) SetFleetName(v string) *ListAssociatedStacksInput {
10514	s.FleetName = &v
10515	return s
10516}
10517
10518// SetNextToken sets the NextToken field's value.
10519func (s *ListAssociatedStacksInput) SetNextToken(v string) *ListAssociatedStacksInput {
10520	s.NextToken = &v
10521	return s
10522}
10523
10524type 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".
10540func (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".
10549func (s ListAssociatedStacksOutput) GoString() string {
10550	return s.String()
10551}
10552
10553// SetNames sets the Names field's value.
10554func (s *ListAssociatedStacksOutput) SetNames(v []*string) *ListAssociatedStacksOutput {
10555	s.Names = v
10556	return s
10557}
10558
10559// SetNextToken sets the NextToken field's value.
10560func (s *ListAssociatedStacksOutput) SetNextToken(v string) *ListAssociatedStacksOutput {
10561	s.NextToken = &v
10562	return s
10563}
10564
10565type 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".
10579func (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".
10588func (s ListTagsForResourceInput) GoString() string {
10589	return s.String()
10590}
10591
10592// Validate inspects the fields of the type to determine if they are valid.
10593func (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.
10606func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
10607	s.ResourceArn = &v
10608	return s
10609}
10610
10611type 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".
10623func (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".
10632func (s ListTagsForResourceOutput) GoString() string {
10633	return s.String()
10634}
10635
10636// SetTags sets the Tags field's value.
10637func (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.
10643type 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".
10661func (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".
10670func (s NetworkAccessConfiguration) GoString() string {
10671	return s.String()
10672}
10673
10674// SetEniId sets the EniId field's value.
10675func (s *NetworkAccessConfiguration) SetEniId(v string) *NetworkAccessConfiguration {
10676	s.EniId = &v
10677	return s
10678}
10679
10680// SetEniPrivateIpAddress sets the EniPrivateIpAddress field's value.
10681func (s *NetworkAccessConfiguration) SetEniPrivateIpAddress(v string) *NetworkAccessConfiguration {
10682	s.EniPrivateIpAddress = &v
10683	return s
10684}
10685
10686// The attempted operation is not permitted.
10687type 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".
10700func (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".
10709func (s OperationNotPermittedException) GoString() string {
10710	return s.String()
10711}
10712
10713func newErrorOperationNotPermittedException(v protocol.ResponseMetadata) error {
10714	return &OperationNotPermittedException{
10715		RespMetadata: v,
10716	}
10717}
10718
10719// Code returns the exception type name.
10720func (s *OperationNotPermittedException) Code() string {
10721	return "OperationNotPermittedException"
10722}
10723
10724// Message returns the exception's message.
10725func (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.
10733func (s *OperationNotPermittedException) OrigErr() error {
10734	return nil
10735}
10736
10737func (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.
10742func (s *OperationNotPermittedException) StatusCode() int {
10743	return s.RespMetadata.StatusCode
10744}
10745
10746// RequestID returns the service's response RequestID for request.
10747func (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.
10754type 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".
10767func (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".
10776func (s RequestLimitExceededException) GoString() string {
10777	return s.String()
10778}
10779
10780func newErrorRequestLimitExceededException(v protocol.ResponseMetadata) error {
10781	return &RequestLimitExceededException{
10782		RespMetadata: v,
10783	}
10784}
10785
10786// Code returns the exception type name.
10787func (s *RequestLimitExceededException) Code() string {
10788	return "RequestLimitExceededException"
10789}
10790
10791// Message returns the exception's message.
10792func (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.
10800func (s *RequestLimitExceededException) OrigErr() error {
10801	return nil
10802}
10803
10804func (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.
10809func (s *RequestLimitExceededException) StatusCode() int {
10810	return s.RespMetadata.StatusCode
10811}
10812
10813// RequestID returns the service's response RequestID for request.
10814func (s *RequestLimitExceededException) RequestID() string {
10815	return s.RespMetadata.RequestID
10816}
10817
10818// The specified resource already exists.
10819type 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".
10832func (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".
10841func (s ResourceAlreadyExistsException) GoString() string {
10842	return s.String()
10843}
10844
10845func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
10846	return &ResourceAlreadyExistsException{
10847		RespMetadata: v,
10848	}
10849}
10850
10851// Code returns the exception type name.
10852func (s *ResourceAlreadyExistsException) Code() string {
10853	return "ResourceAlreadyExistsException"
10854}
10855
10856// Message returns the exception's message.
10857func (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.
10865func (s *ResourceAlreadyExistsException) OrigErr() error {
10866	return nil
10867}
10868
10869func (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.
10874func (s *ResourceAlreadyExistsException) StatusCode() int {
10875	return s.RespMetadata.StatusCode
10876}
10877
10878// RequestID returns the service's response RequestID for request.
10879func (s *ResourceAlreadyExistsException) RequestID() string {
10880	return s.RespMetadata.RequestID
10881}
10882
10883// Describes a resource error.
10884type 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".
10902func (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".
10911func (s ResourceError) GoString() string {
10912	return s.String()
10913}
10914
10915// SetErrorCode sets the ErrorCode field's value.
10916func (s *ResourceError) SetErrorCode(v string) *ResourceError {
10917	s.ErrorCode = &v
10918	return s
10919}
10920
10921// SetErrorMessage sets the ErrorMessage field's value.
10922func (s *ResourceError) SetErrorMessage(v string) *ResourceError {
10923	s.ErrorMessage = &v
10924	return s
10925}
10926
10927// SetErrorTimestamp sets the ErrorTimestamp field's value.
10928func (s *ResourceError) SetErrorTimestamp(v time.Time) *ResourceError {
10929	s.ErrorTimestamp = &v
10930	return s
10931}
10932
10933// The specified resource is in use.
10934type 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".
10947func (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".
10956func (s ResourceInUseException) GoString() string {
10957	return s.String()
10958}
10959
10960func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
10961	return &ResourceInUseException{
10962		RespMetadata: v,
10963	}
10964}
10965
10966// Code returns the exception type name.
10967func (s *ResourceInUseException) Code() string {
10968	return "ResourceInUseException"
10969}
10970
10971// Message returns the exception's message.
10972func (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.
10980func (s *ResourceInUseException) OrigErr() error {
10981	return nil
10982}
10983
10984func (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.
10989func (s *ResourceInUseException) StatusCode() int {
10990	return s.RespMetadata.StatusCode
10991}
10992
10993// RequestID returns the service's response RequestID for request.
10994func (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.
10999type 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".
11012func (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".
11021func (s ResourceNotAvailableException) GoString() string {
11022	return s.String()
11023}
11024
11025func newErrorResourceNotAvailableException(v protocol.ResponseMetadata) error {
11026	return &ResourceNotAvailableException{
11027		RespMetadata: v,
11028	}
11029}
11030
11031// Code returns the exception type name.
11032func (s *ResourceNotAvailableException) Code() string {
11033	return "ResourceNotAvailableException"
11034}
11035
11036// Message returns the exception's message.
11037func (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.
11045func (s *ResourceNotAvailableException) OrigErr() error {
11046	return nil
11047}
11048
11049func (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.
11054func (s *ResourceNotAvailableException) StatusCode() int {
11055	return s.RespMetadata.StatusCode
11056}
11057
11058// RequestID returns the service's response RequestID for request.
11059func (s *ResourceNotAvailableException) RequestID() string {
11060	return s.RespMetadata.RequestID
11061}
11062
11063// The specified resource was not found.
11064type 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".
11077func (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".
11086func (s ResourceNotFoundException) GoString() string {
11087	return s.String()
11088}
11089
11090func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
11091	return &ResourceNotFoundException{
11092		RespMetadata: v,
11093	}
11094}
11095
11096// Code returns the exception type name.
11097func (s *ResourceNotFoundException) Code() string {
11098	return "ResourceNotFoundException"
11099}
11100
11101// Message returns the exception's message.
11102func (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.
11110func (s *ResourceNotFoundException) OrigErr() error {
11111	return nil
11112}
11113
11114func (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.
11119func (s *ResourceNotFoundException) StatusCode() int {
11120	return s.RespMetadata.StatusCode
11121}
11122
11123// RequestID returns the service's response RequestID for request.
11124func (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.
11130type 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".
11159func (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".
11168func (s ServiceAccountCredentials) GoString() string {
11169	return s.String()
11170}
11171
11172// Validate inspects the fields of the type to determine if they are valid.
11173func (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.
11195func (s *ServiceAccountCredentials) SetAccountName(v string) *ServiceAccountCredentials {
11196	s.AccountName = &v
11197	return s
11198}
11199
11200// SetAccountPassword sets the AccountPassword field's value.
11201func (s *ServiceAccountCredentials) SetAccountPassword(v string) *ServiceAccountCredentials {
11202	s.AccountPassword = &v
11203	return s
11204}
11205
11206// Describes a streaming session.
11207type 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".
11263func (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".
11272func (s Session) GoString() string {
11273	return s.String()
11274}
11275
11276// SetAuthenticationType sets the AuthenticationType field's value.
11277func (s *Session) SetAuthenticationType(v string) *Session {
11278	s.AuthenticationType = &v
11279	return s
11280}
11281
11282// SetConnectionState sets the ConnectionState field's value.
11283func (s *Session) SetConnectionState(v string) *Session {
11284	s.ConnectionState = &v
11285	return s
11286}
11287
11288// SetFleetName sets the FleetName field's value.
11289func (s *Session) SetFleetName(v string) *Session {
11290	s.FleetName = &v
11291	return s
11292}
11293
11294// SetId sets the Id field's value.
11295func (s *Session) SetId(v string) *Session {
11296	s.Id = &v
11297	return s
11298}
11299
11300// SetMaxExpirationTime sets the MaxExpirationTime field's value.
11301func (s *Session) SetMaxExpirationTime(v time.Time) *Session {
11302	s.MaxExpirationTime = &v
11303	return s
11304}
11305
11306// SetNetworkAccessConfiguration sets the NetworkAccessConfiguration field's value.
11307func (s *Session) SetNetworkAccessConfiguration(v *NetworkAccessConfiguration) *Session {
11308	s.NetworkAccessConfiguration = v
11309	return s
11310}
11311
11312// SetStackName sets the StackName field's value.
11313func (s *Session) SetStackName(v string) *Session {
11314	s.StackName = &v
11315	return s
11316}
11317
11318// SetStartTime sets the StartTime field's value.
11319func (s *Session) SetStartTime(v time.Time) *Session {
11320	s.StartTime = &v
11321	return s
11322}
11323
11324// SetState sets the State field's value.
11325func (s *Session) SetState(v string) *Session {
11326	s.State = &v
11327	return s
11328}
11329
11330// SetUserId sets the UserId field's value.
11331func (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.
11338type 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".
11357func (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".
11366func (s SharedImagePermissions) GoString() string {
11367	return s.String()
11368}
11369
11370// SetImagePermissions sets the ImagePermissions field's value.
11371func (s *SharedImagePermissions) SetImagePermissions(v *ImagePermissions) *SharedImagePermissions {
11372	s.ImagePermissions = v
11373	return s
11374}
11375
11376// SetSharedAccountId sets the SharedAccountId field's value.
11377func (s *SharedImagePermissions) SetSharedAccountId(v string) *SharedImagePermissions {
11378	s.SharedAccountId = &v
11379	return s
11380}
11381
11382// Describes a stack.
11383type 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".
11438func (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".
11447func (s Stack) GoString() string {
11448	return s.String()
11449}
11450
11451// SetAccessEndpoints sets the AccessEndpoints field's value.
11452func (s *Stack) SetAccessEndpoints(v []*AccessEndpoint) *Stack {
11453	s.AccessEndpoints = v
11454	return s
11455}
11456
11457// SetApplicationSettings sets the ApplicationSettings field's value.
11458func (s *Stack) SetApplicationSettings(v *ApplicationSettingsResponse) *Stack {
11459	s.ApplicationSettings = v
11460	return s
11461}
11462
11463// SetArn sets the Arn field's value.
11464func (s *Stack) SetArn(v string) *Stack {
11465	s.Arn = &v
11466	return s
11467}
11468
11469// SetCreatedTime sets the CreatedTime field's value.
11470func (s *Stack) SetCreatedTime(v time.Time) *Stack {
11471	s.CreatedTime = &v
11472	return s
11473}
11474
11475// SetDescription sets the Description field's value.
11476func (s *Stack) SetDescription(v string) *Stack {
11477	s.Description = &v
11478	return s
11479}
11480
11481// SetDisplayName sets the DisplayName field's value.
11482func (s *Stack) SetDisplayName(v string) *Stack {
11483	s.DisplayName = &v
11484	return s
11485}
11486
11487// SetEmbedHostDomains sets the EmbedHostDomains field's value.
11488func (s *Stack) SetEmbedHostDomains(v []*string) *Stack {
11489	s.EmbedHostDomains = v
11490	return s
11491}
11492
11493// SetFeedbackURL sets the FeedbackURL field's value.
11494func (s *Stack) SetFeedbackURL(v string) *Stack {
11495	s.FeedbackURL = &v
11496	return s
11497}
11498
11499// SetName sets the Name field's value.
11500func (s *Stack) SetName(v string) *Stack {
11501	s.Name = &v
11502	return s
11503}
11504
11505// SetRedirectURL sets the RedirectURL field's value.
11506func (s *Stack) SetRedirectURL(v string) *Stack {
11507	s.RedirectURL = &v
11508	return s
11509}
11510
11511// SetStackErrors sets the StackErrors field's value.
11512func (s *Stack) SetStackErrors(v []*StackError) *Stack {
11513	s.StackErrors = v
11514	return s
11515}
11516
11517// SetStorageConnectors sets the StorageConnectors field's value.
11518func (s *Stack) SetStorageConnectors(v []*StorageConnector) *Stack {
11519	s.StorageConnectors = v
11520	return s
11521}
11522
11523// SetUserSettings sets the UserSettings field's value.
11524func (s *Stack) SetUserSettings(v []*UserSetting) *Stack {
11525	s.UserSettings = v
11526	return s
11527}
11528
11529// Describes a stack error.
11530type 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".
11545func (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".
11554func (s StackError) GoString() string {
11555	return s.String()
11556}
11557
11558// SetErrorCode sets the ErrorCode field's value.
11559func (s *StackError) SetErrorCode(v string) *StackError {
11560	s.ErrorCode = &v
11561	return s
11562}
11563
11564// SetErrorMessage sets the ErrorMessage field's value.
11565func (s *StackError) SetErrorMessage(v string) *StackError {
11566	s.ErrorMessage = &v
11567	return s
11568}
11569
11570type 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".
11584func (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".
11593func (s StartFleetInput) GoString() string {
11594	return s.String()
11595}
11596
11597// Validate inspects the fields of the type to determine if they are valid.
11598func (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.
11614func (s *StartFleetInput) SetName(v string) *StartFleetInput {
11615	s.Name = &v
11616	return s
11617}
11618
11619type 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".
11628func (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".
11637func (s StartFleetOutput) GoString() string {
11638	return s.String()
11639}
11640
11641type 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".
11659func (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".
11668func (s StartImageBuilderInput) GoString() string {
11669	return s.String()
11670}
11671
11672// Validate inspects the fields of the type to determine if they are valid.
11673func (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.
11692func (s *StartImageBuilderInput) SetAppstreamAgentVersion(v string) *StartImageBuilderInput {
11693	s.AppstreamAgentVersion = &v
11694	return s
11695}
11696
11697// SetName sets the Name field's value.
11698func (s *StartImageBuilderInput) SetName(v string) *StartImageBuilderInput {
11699	s.Name = &v
11700	return s
11701}
11702
11703type 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".
11715func (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".
11724func (s StartImageBuilderOutput) GoString() string {
11725	return s.String()
11726}
11727
11728// SetImageBuilder sets the ImageBuilder field's value.
11729func (s *StartImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *StartImageBuilderOutput {
11730	s.ImageBuilder = v
11731	return s
11732}
11733
11734type 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".
11748func (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".
11757func (s StopFleetInput) GoString() string {
11758	return s.String()
11759}
11760
11761// Validate inspects the fields of the type to determine if they are valid.
11762func (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.
11778func (s *StopFleetInput) SetName(v string) *StopFleetInput {
11779	s.Name = &v
11780	return s
11781}
11782
11783type 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".
11792func (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".
11801func (s StopFleetOutput) GoString() string {
11802	return s.String()
11803}
11804
11805type 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".
11819func (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".
11828func (s StopImageBuilderInput) GoString() string {
11829	return s.String()
11830}
11831
11832// Validate inspects the fields of the type to determine if they are valid.
11833func (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.
11849func (s *StopImageBuilderInput) SetName(v string) *StopImageBuilderInput {
11850	s.Name = &v
11851	return s
11852}
11853
11854type 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".
11866func (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".
11875func (s StopImageBuilderOutput) GoString() string {
11876	return s.String()
11877}
11878
11879// SetImageBuilder sets the ImageBuilder field's value.
11880func (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.
11886type 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".
11906func (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".
11915func (s StorageConnector) GoString() string {
11916	return s.String()
11917}
11918
11919// Validate inspects the fields of the type to determine if they are valid.
11920func (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.
11936func (s *StorageConnector) SetConnectorType(v string) *StorageConnector {
11937	s.ConnectorType = &v
11938	return s
11939}
11940
11941// SetDomains sets the Domains field's value.
11942func (s *StorageConnector) SetDomains(v []*string) *StorageConnector {
11943	s.Domains = v
11944	return s
11945}
11946
11947// SetResourceIdentifier sets the ResourceIdentifier field's value.
11948func (s *StorageConnector) SetResourceIdentifier(v string) *StorageConnector {
11949	s.ResourceIdentifier = &v
11950	return s
11951}
11952
11953type 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".
11980func (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".
11989func (s TagResourceInput) GoString() string {
11990	return s.String()
11991}
11992
11993// Validate inspects the fields of the type to determine if they are valid.
11994func (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.
12013func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
12014	s.ResourceArn = &v
12015	return s
12016}
12017
12018// SetTags sets the Tags field's value.
12019func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
12020	s.Tags = v
12021	return s
12022}
12023
12024type 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".
12033func (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".
12042func (s TagResourceOutput) GoString() string {
12043	return s.String()
12044}
12045
12046type 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".
12065func (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".
12074func (s UntagResourceInput) GoString() string {
12075	return s.String()
12076}
12077
12078// Validate inspects the fields of the type to determine if they are valid.
12079func (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.
12098func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
12099	s.ResourceArn = &v
12100	return s
12101}
12102
12103// SetTagKeys sets the TagKeys field's value.
12104func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
12105	s.TagKeys = v
12106	return s
12107}
12108
12109type 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".
12118func (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".
12127func (s UntagResourceOutput) GoString() string {
12128	return s.String()
12129}
12130
12131type 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".
12152func (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".
12161func (s UpdateDirectoryConfigInput) GoString() string {
12162	return s.String()
12163}
12164
12165// Validate inspects the fields of the type to determine if they are valid.
12166func (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.
12184func (s *UpdateDirectoryConfigInput) SetDirectoryName(v string) *UpdateDirectoryConfigInput {
12185	s.DirectoryName = &v
12186	return s
12187}
12188
12189// SetOrganizationalUnitDistinguishedNames sets the OrganizationalUnitDistinguishedNames field's value.
12190func (s *UpdateDirectoryConfigInput) SetOrganizationalUnitDistinguishedNames(v []*string) *UpdateDirectoryConfigInput {
12191	s.OrganizationalUnitDistinguishedNames = v
12192	return s
12193}
12194
12195// SetServiceAccountCredentials sets the ServiceAccountCredentials field's value.
12196func (s *UpdateDirectoryConfigInput) SetServiceAccountCredentials(v *ServiceAccountCredentials) *UpdateDirectoryConfigInput {
12197	s.ServiceAccountCredentials = v
12198	return s
12199}
12200
12201type 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".
12213func (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".
12222func (s UpdateDirectoryConfigOutput) GoString() string {
12223	return s.String()
12224}
12225
12226// SetDirectoryConfig sets the DirectoryConfig field's value.
12227func (s *UpdateDirectoryConfigOutput) SetDirectoryConfig(v *DirectoryConfig) *UpdateDirectoryConfigOutput {
12228	s.DirectoryConfig = v
12229	return s
12230}
12231
12232type 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".
12409func (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".
12418func (s UpdateFleetInput) GoString() string {
12419	return s.String()
12420}
12421
12422// Validate inspects the fields of the type to determine if they are valid.
12423func (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.
12447func (s *UpdateFleetInput) SetAttributesToDelete(v []*string) *UpdateFleetInput {
12448	s.AttributesToDelete = v
12449	return s
12450}
12451
12452// SetComputeCapacity sets the ComputeCapacity field's value.
12453func (s *UpdateFleetInput) SetComputeCapacity(v *ComputeCapacity) *UpdateFleetInput {
12454	s.ComputeCapacity = v
12455	return s
12456}
12457
12458// SetDeleteVpcConfig sets the DeleteVpcConfig field's value.
12459func (s *UpdateFleetInput) SetDeleteVpcConfig(v bool) *UpdateFleetInput {
12460	s.DeleteVpcConfig = &v
12461	return s
12462}
12463
12464// SetDescription sets the Description field's value.
12465func (s *UpdateFleetInput) SetDescription(v string) *UpdateFleetInput {
12466	s.Description = &v
12467	return s
12468}
12469
12470// SetDisconnectTimeoutInSeconds sets the DisconnectTimeoutInSeconds field's value.
12471func (s *UpdateFleetInput) SetDisconnectTimeoutInSeconds(v int64) *UpdateFleetInput {
12472	s.DisconnectTimeoutInSeconds = &v
12473	return s
12474}
12475
12476// SetDisplayName sets the DisplayName field's value.
12477func (s *UpdateFleetInput) SetDisplayName(v string) *UpdateFleetInput {
12478	s.DisplayName = &v
12479	return s
12480}
12481
12482// SetDomainJoinInfo sets the DomainJoinInfo field's value.
12483func (s *UpdateFleetInput) SetDomainJoinInfo(v *DomainJoinInfo) *UpdateFleetInput {
12484	s.DomainJoinInfo = v
12485	return s
12486}
12487
12488// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
12489func (s *UpdateFleetInput) SetEnableDefaultInternetAccess(v bool) *UpdateFleetInput {
12490	s.EnableDefaultInternetAccess = &v
12491	return s
12492}
12493
12494// SetIamRoleArn sets the IamRoleArn field's value.
12495func (s *UpdateFleetInput) SetIamRoleArn(v string) *UpdateFleetInput {
12496	s.IamRoleArn = &v
12497	return s
12498}
12499
12500// SetIdleDisconnectTimeoutInSeconds sets the IdleDisconnectTimeoutInSeconds field's value.
12501func (s *UpdateFleetInput) SetIdleDisconnectTimeoutInSeconds(v int64) *UpdateFleetInput {
12502	s.IdleDisconnectTimeoutInSeconds = &v
12503	return s
12504}
12505
12506// SetImageArn sets the ImageArn field's value.
12507func (s *UpdateFleetInput) SetImageArn(v string) *UpdateFleetInput {
12508	s.ImageArn = &v
12509	return s
12510}
12511
12512// SetImageName sets the ImageName field's value.
12513func (s *UpdateFleetInput) SetImageName(v string) *UpdateFleetInput {
12514	s.ImageName = &v
12515	return s
12516}
12517
12518// SetInstanceType sets the InstanceType field's value.
12519func (s *UpdateFleetInput) SetInstanceType(v string) *UpdateFleetInput {
12520	s.InstanceType = &v
12521	return s
12522}
12523
12524// SetMaxUserDurationInSeconds sets the MaxUserDurationInSeconds field's value.
12525func (s *UpdateFleetInput) SetMaxUserDurationInSeconds(v int64) *UpdateFleetInput {
12526	s.MaxUserDurationInSeconds = &v
12527	return s
12528}
12529
12530// SetName sets the Name field's value.
12531func (s *UpdateFleetInput) SetName(v string) *UpdateFleetInput {
12532	s.Name = &v
12533	return s
12534}
12535
12536// SetStreamView sets the StreamView field's value.
12537func (s *UpdateFleetInput) SetStreamView(v string) *UpdateFleetInput {
12538	s.StreamView = &v
12539	return s
12540}
12541
12542// SetVpcConfig sets the VpcConfig field's value.
12543func (s *UpdateFleetInput) SetVpcConfig(v *VpcConfig) *UpdateFleetInput {
12544	s.VpcConfig = v
12545	return s
12546}
12547
12548type 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".
12560func (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".
12569func (s UpdateFleetOutput) GoString() string {
12570	return s.String()
12571}
12572
12573// SetFleet sets the Fleet field's value.
12574func (s *UpdateFleetOutput) SetFleet(v *Fleet) *UpdateFleetOutput {
12575	s.Fleet = v
12576	return s
12577}
12578
12579type 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".
12604func (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".
12613func (s UpdateImagePermissionsInput) GoString() string {
12614	return s.String()
12615}
12616
12617// Validate inspects the fields of the type to determine if they are valid.
12618func (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.
12637func (s *UpdateImagePermissionsInput) SetImagePermissions(v *ImagePermissions) *UpdateImagePermissionsInput {
12638	s.ImagePermissions = v
12639	return s
12640}
12641
12642// SetName sets the Name field's value.
12643func (s *UpdateImagePermissionsInput) SetName(v string) *UpdateImagePermissionsInput {
12644	s.Name = &v
12645	return s
12646}
12647
12648// SetSharedAccountId sets the SharedAccountId field's value.
12649func (s *UpdateImagePermissionsInput) SetSharedAccountId(v string) *UpdateImagePermissionsInput {
12650	s.SharedAccountId = &v
12651	return s
12652}
12653
12654type 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".
12663func (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".
12672func (s UpdateImagePermissionsOutput) GoString() string {
12673	return s.String()
12674}
12675
12676type 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".
12732func (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".
12741func (s UpdateStackInput) GoString() string {
12742	return s.String()
12743}
12744
12745// Validate inspects the fields of the type to determine if they are valid.
12746func (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.
12806func (s *UpdateStackInput) SetAccessEndpoints(v []*AccessEndpoint) *UpdateStackInput {
12807	s.AccessEndpoints = v
12808	return s
12809}
12810
12811// SetApplicationSettings sets the ApplicationSettings field's value.
12812func (s *UpdateStackInput) SetApplicationSettings(v *ApplicationSettings) *UpdateStackInput {
12813	s.ApplicationSettings = v
12814	return s
12815}
12816
12817// SetAttributesToDelete sets the AttributesToDelete field's value.
12818func (s *UpdateStackInput) SetAttributesToDelete(v []*string) *UpdateStackInput {
12819	s.AttributesToDelete = v
12820	return s
12821}
12822
12823// SetDeleteStorageConnectors sets the DeleteStorageConnectors field's value.
12824func (s *UpdateStackInput) SetDeleteStorageConnectors(v bool) *UpdateStackInput {
12825	s.DeleteStorageConnectors = &v
12826	return s
12827}
12828
12829// SetDescription sets the Description field's value.
12830func (s *UpdateStackInput) SetDescription(v string) *UpdateStackInput {
12831	s.Description = &v
12832	return s
12833}
12834
12835// SetDisplayName sets the DisplayName field's value.
12836func (s *UpdateStackInput) SetDisplayName(v string) *UpdateStackInput {
12837	s.DisplayName = &v
12838	return s
12839}
12840
12841// SetEmbedHostDomains sets the EmbedHostDomains field's value.
12842func (s *UpdateStackInput) SetEmbedHostDomains(v []*string) *UpdateStackInput {
12843	s.EmbedHostDomains = v
12844	return s
12845}
12846
12847// SetFeedbackURL sets the FeedbackURL field's value.
12848func (s *UpdateStackInput) SetFeedbackURL(v string) *UpdateStackInput {
12849	s.FeedbackURL = &v
12850	return s
12851}
12852
12853// SetName sets the Name field's value.
12854func (s *UpdateStackInput) SetName(v string) *UpdateStackInput {
12855	s.Name = &v
12856	return s
12857}
12858
12859// SetRedirectURL sets the RedirectURL field's value.
12860func (s *UpdateStackInput) SetRedirectURL(v string) *UpdateStackInput {
12861	s.RedirectURL = &v
12862	return s
12863}
12864
12865// SetStorageConnectors sets the StorageConnectors field's value.
12866func (s *UpdateStackInput) SetStorageConnectors(v []*StorageConnector) *UpdateStackInput {
12867	s.StorageConnectors = v
12868	return s
12869}
12870
12871// SetUserSettings sets the UserSettings field's value.
12872func (s *UpdateStackInput) SetUserSettings(v []*UserSetting) *UpdateStackInput {
12873	s.UserSettings = v
12874	return s
12875}
12876
12877type 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".
12889func (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".
12898func (s UpdateStackOutput) GoString() string {
12899	return s.String()
12900}
12901
12902// SetStack sets the Stack field's value.
12903func (s *UpdateStackOutput) SetStack(v *Stack) *UpdateStackOutput {
12904	s.Stack = v
12905	return s
12906}
12907
12908// Describes information about the usage report subscription.
12909type 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".
12937func (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".
12946func (s UsageReportSubscription) GoString() string {
12947	return s.String()
12948}
12949
12950// SetLastGeneratedReportDate sets the LastGeneratedReportDate field's value.
12951func (s *UsageReportSubscription) SetLastGeneratedReportDate(v time.Time) *UsageReportSubscription {
12952	s.LastGeneratedReportDate = &v
12953	return s
12954}
12955
12956// SetS3BucketName sets the S3BucketName field's value.
12957func (s *UsageReportSubscription) SetS3BucketName(v string) *UsageReportSubscription {
12958	s.S3BucketName = &v
12959	return s
12960}
12961
12962// SetSchedule sets the Schedule field's value.
12963func (s *UsageReportSubscription) SetSchedule(v string) *UsageReportSubscription {
12964	s.Schedule = &v
12965	return s
12966}
12967
12968// SetSubscriptionErrors sets the SubscriptionErrors field's value.
12969func (s *UsageReportSubscription) SetSubscriptionErrors(v []*LastReportGenerationExecutionError) *UsageReportSubscription {
12970	s.SubscriptionErrors = v
12971	return s
12972}
12973
12974// Describes a user in the user pool.
12975type 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".
13035func (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".
13044func (s User) GoString() string {
13045	return s.String()
13046}
13047
13048// SetArn sets the Arn field's value.
13049func (s *User) SetArn(v string) *User {
13050	s.Arn = &v
13051	return s
13052}
13053
13054// SetAuthenticationType sets the AuthenticationType field's value.
13055func (s *User) SetAuthenticationType(v string) *User {
13056	s.AuthenticationType = &v
13057	return s
13058}
13059
13060// SetCreatedTime sets the CreatedTime field's value.
13061func (s *User) SetCreatedTime(v time.Time) *User {
13062	s.CreatedTime = &v
13063	return s
13064}
13065
13066// SetEnabled sets the Enabled field's value.
13067func (s *User) SetEnabled(v bool) *User {
13068	s.Enabled = &v
13069	return s
13070}
13071
13072// SetFirstName sets the FirstName field's value.
13073func (s *User) SetFirstName(v string) *User {
13074	s.FirstName = &v
13075	return s
13076}
13077
13078// SetLastName sets the LastName field's value.
13079func (s *User) SetLastName(v string) *User {
13080	s.LastName = &v
13081	return s
13082}
13083
13084// SetStatus sets the Status field's value.
13085func (s *User) SetStatus(v string) *User {
13086	s.Status = &v
13087	return s
13088}
13089
13090// SetUserName sets the UserName field's value.
13091func (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.
13098type 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".
13117func (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".
13126func (s UserSetting) GoString() string {
13127	return s.String()
13128}
13129
13130// Validate inspects the fields of the type to determine if they are valid.
13131func (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.
13147func (s *UserSetting) SetAction(v string) *UserSetting {
13148	s.Action = &v
13149	return s
13150}
13151
13152// SetPermission sets the Permission field's value.
13153func (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.
13159type 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".
13193func (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".
13202func (s UserStackAssociation) GoString() string {
13203	return s.String()
13204}
13205
13206// Validate inspects the fields of the type to determine if they are valid.
13207func (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.
13232func (s *UserStackAssociation) SetAuthenticationType(v string) *UserStackAssociation {
13233	s.AuthenticationType = &v
13234	return s
13235}
13236
13237// SetSendEmailNotification sets the SendEmailNotification field's value.
13238func (s *UserStackAssociation) SetSendEmailNotification(v bool) *UserStackAssociation {
13239	s.SendEmailNotification = &v
13240	return s
13241}
13242
13243// SetStackName sets the StackName field's value.
13244func (s *UserStackAssociation) SetStackName(v string) *UserStackAssociation {
13245	s.StackName = &v
13246	return s
13247}
13248
13249// SetUserName sets the UserName field's value.
13250func (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.
13257type 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".
13277func (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".
13286func (s UserStackAssociationError) GoString() string {
13287	return s.String()
13288}
13289
13290// SetErrorCode sets the ErrorCode field's value.
13291func (s *UserStackAssociationError) SetErrorCode(v string) *UserStackAssociationError {
13292	s.ErrorCode = &v
13293	return s
13294}
13295
13296// SetErrorMessage sets the ErrorMessage field's value.
13297func (s *UserStackAssociationError) SetErrorMessage(v string) *UserStackAssociationError {
13298	s.ErrorMessage = &v
13299	return s
13300}
13301
13302// SetUserStackAssociation sets the UserStackAssociation field's value.
13303func (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.
13309type 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".
13326func (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".
13335func (s VpcConfig) GoString() string {
13336	return s.String()
13337}
13338
13339// SetSecurityGroupIds sets the SecurityGroupIds field's value.
13340func (s *VpcConfig) SetSecurityGroupIds(v []*string) *VpcConfig {
13341	s.SecurityGroupIds = v
13342	return s
13343}
13344
13345// SetSubnetIds sets the SubnetIds field's value.
13346func (s *VpcConfig) SetSubnetIds(v []*string) *VpcConfig {
13347	s.SubnetIds = v
13348	return s
13349}
13350
13351const (
13352	// AccessEndpointTypeStreaming is a AccessEndpointType enum value
13353	AccessEndpointTypeStreaming = "STREAMING"
13354)
13355
13356// AccessEndpointType_Values returns all elements of the AccessEndpointType enum
13357func AccessEndpointType_Values() []string {
13358	return []string{
13359		AccessEndpointTypeStreaming,
13360	}
13361}
13362
13363const (
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
13387func Action_Values() []string {
13388	return []string{
13389		ActionClipboardCopyFromLocalDevice,
13390		ActionClipboardCopyToLocalDevice,
13391		ActionFileUpload,
13392		ActionFileDownload,
13393		ActionPrintingToLocalDevice,
13394		ActionDomainPasswordSignin,
13395		ActionDomainSmartCardSignin,
13396	}
13397}
13398
13399const (
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
13411func AuthenticationType_Values() []string {
13412	return []string{
13413		AuthenticationTypeApi,
13414		AuthenticationTypeSaml,
13415		AuthenticationTypeUserpool,
13416	}
13417}
13418
13419// The fleet attribute.
13420const (
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
13435func FleetAttribute_Values() []string {
13436	return []string{
13437		FleetAttributeVpcConfiguration,
13438		FleetAttributeVpcConfigurationSecurityGroupIds,
13439		FleetAttributeDomainJoinInfo,
13440		FleetAttributeIamRoleArn,
13441	}
13442}
13443
13444const (
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
13537func 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
13572const (
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
13587func FleetState_Values() []string {
13588	return []string{
13589		FleetStateStarting,
13590		FleetStateRunning,
13591		FleetStateStopping,
13592		FleetStateStopped,
13593	}
13594}
13595
13596const (
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
13605func FleetType_Values() []string {
13606	return []string{
13607		FleetTypeAlwaysOn,
13608		FleetTypeOnDemand,
13609	}
13610}
13611
13612const (
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
13648func 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
13664const (
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
13673func ImageBuilderStateChangeReasonCode_Values() []string {
13674	return []string{
13675		ImageBuilderStateChangeReasonCodeInternalError,
13676		ImageBuilderStateChangeReasonCodeImageUnavailable,
13677	}
13678}
13679
13680const (
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
13704func ImageState_Values() []string {
13705	return []string{
13706		ImageStatePending,
13707		ImageStateAvailable,
13708		ImageStateFailed,
13709		ImageStateCopying,
13710		ImageStateDeleting,
13711		ImageStateCreating,
13712		ImageStateImporting,
13713	}
13714}
13715
13716const (
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
13728func ImageStateChangeReasonCode_Values() []string {
13729	return []string{
13730		ImageStateChangeReasonCodeInternalError,
13731		ImageStateChangeReasonCodeImageBuilderNotAvailable,
13732		ImageStateChangeReasonCodeImageCopyFailure,
13733	}
13734}
13735
13736const (
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
13745func MessageAction_Values() []string {
13746	return []string{
13747		MessageActionSuppress,
13748		MessageActionResend,
13749	}
13750}
13751
13752const (
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
13761func Permission_Values() []string {
13762	return []string{
13763		PermissionEnabled,
13764		PermissionDisabled,
13765	}
13766}
13767
13768const (
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
13780func PlatformType_Values() []string {
13781	return []string{
13782		PlatformTypeWindows,
13783		PlatformTypeWindowsServer2016,
13784		PlatformTypeWindowsServer2019,
13785	}
13786}
13787
13788const (
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
13797func SessionConnectionState_Values() []string {
13798	return []string{
13799		SessionConnectionStateConnected,
13800		SessionConnectionStateNotConnected,
13801	}
13802}
13803
13804// Possible values for the state of a streaming session.
13805const (
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
13817func SessionState_Values() []string {
13818	return []string{
13819		SessionStateActive,
13820		SessionStatePending,
13821		SessionStateExpired,
13822	}
13823}
13824
13825const (
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
13861func 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
13877const (
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
13886func StackErrorCode_Values() []string {
13887	return []string{
13888		StackErrorCodeStorageConnectorError,
13889		StackErrorCodeInternalServiceError,
13890	}
13891}
13892
13893// The type of storage connector.
13894const (
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
13906func StorageConnectorType_Values() []string {
13907	return []string{
13908		StorageConnectorTypeHomefolders,
13909		StorageConnectorTypeGoogleDrive,
13910		StorageConnectorTypeOneDrive,
13911	}
13912}
13913
13914const (
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
13923func StreamView_Values() []string {
13924	return []string{
13925		StreamViewApp,
13926		StreamViewDesktop,
13927	}
13928}
13929
13930const (
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
13942func UsageReportExecutionErrorCode_Values() []string {
13943	return []string{
13944		UsageReportExecutionErrorCodeResourceNotFound,
13945		UsageReportExecutionErrorCodeAccessDenied,
13946		UsageReportExecutionErrorCodeInternalServiceError,
13947	}
13948}
13949
13950const (
13951	// UsageReportScheduleDaily is a UsageReportSchedule enum value
13952	UsageReportScheduleDaily = "DAILY"
13953)
13954
13955// UsageReportSchedule_Values returns all elements of the UsageReportSchedule enum
13956func UsageReportSchedule_Values() []string {
13957	return []string{
13958		UsageReportScheduleDaily,
13959	}
13960}
13961
13962const (
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
13977func UserStackAssociationErrorCode_Values() []string {
13978	return []string{
13979		UserStackAssociationErrorCodeStackNotFound,
13980		UserStackAssociationErrorCodeUserNameNotFound,
13981		UserStackAssociationErrorCodeDirectoryNotFound,
13982		UserStackAssociationErrorCodeInternalError,
13983	}
13984}
13985
13986const (
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
13998func VisibilityType_Values() []string {
13999	return []string{
14000		VisibilityTypePublic,
14001		VisibilityTypePrivate,
14002		VisibilityTypeShared,
14003	}
14004}
14005