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
4406func (s AccessEndpoint) String() string {
4407	return awsutil.Prettify(s)
4408}
4409
4410// GoString returns the string representation
4411func (s AccessEndpoint) GoString() string {
4412	return s.String()
4413}
4414
4415// Validate inspects the fields of the type to determine if they are valid.
4416func (s *AccessEndpoint) Validate() error {
4417	invalidParams := request.ErrInvalidParams{Context: "AccessEndpoint"}
4418	if s.EndpointType == nil {
4419		invalidParams.Add(request.NewErrParamRequired("EndpointType"))
4420	}
4421	if s.VpceId != nil && len(*s.VpceId) < 1 {
4422		invalidParams.Add(request.NewErrParamMinLen("VpceId", 1))
4423	}
4424
4425	if invalidParams.Len() > 0 {
4426		return invalidParams
4427	}
4428	return nil
4429}
4430
4431// SetEndpointType sets the EndpointType field's value.
4432func (s *AccessEndpoint) SetEndpointType(v string) *AccessEndpoint {
4433	s.EndpointType = &v
4434	return s
4435}
4436
4437// SetVpceId sets the VpceId field's value.
4438func (s *AccessEndpoint) SetVpceId(v string) *AccessEndpoint {
4439	s.VpceId = &v
4440	return s
4441}
4442
4443// Describes an application in the application catalog.
4444type Application struct {
4445	_ struct{} `type:"structure"`
4446
4447	// The application name to display.
4448	DisplayName *string `min:"1" type:"string"`
4449
4450	// If there is a problem, the application can be disabled after image creation.
4451	Enabled *bool `type:"boolean"`
4452
4453	// The URL for the application icon. This URL might be time-limited.
4454	IconURL *string `min:"1" type:"string"`
4455
4456	// The arguments that are passed to the application at launch.
4457	LaunchParameters *string `min:"1" type:"string"`
4458
4459	// The path to the application executable in the instance.
4460	LaunchPath *string `min:"1" type:"string"`
4461
4462	// Additional attributes that describe the application.
4463	Metadata map[string]*string `type:"map"`
4464
4465	// The name of the application.
4466	Name *string `min:"1" type:"string"`
4467}
4468
4469// String returns the string representation
4470func (s Application) String() string {
4471	return awsutil.Prettify(s)
4472}
4473
4474// GoString returns the string representation
4475func (s Application) GoString() string {
4476	return s.String()
4477}
4478
4479// SetDisplayName sets the DisplayName field's value.
4480func (s *Application) SetDisplayName(v string) *Application {
4481	s.DisplayName = &v
4482	return s
4483}
4484
4485// SetEnabled sets the Enabled field's value.
4486func (s *Application) SetEnabled(v bool) *Application {
4487	s.Enabled = &v
4488	return s
4489}
4490
4491// SetIconURL sets the IconURL field's value.
4492func (s *Application) SetIconURL(v string) *Application {
4493	s.IconURL = &v
4494	return s
4495}
4496
4497// SetLaunchParameters sets the LaunchParameters field's value.
4498func (s *Application) SetLaunchParameters(v string) *Application {
4499	s.LaunchParameters = &v
4500	return s
4501}
4502
4503// SetLaunchPath sets the LaunchPath field's value.
4504func (s *Application) SetLaunchPath(v string) *Application {
4505	s.LaunchPath = &v
4506	return s
4507}
4508
4509// SetMetadata sets the Metadata field's value.
4510func (s *Application) SetMetadata(v map[string]*string) *Application {
4511	s.Metadata = v
4512	return s
4513}
4514
4515// SetName sets the Name field's value.
4516func (s *Application) SetName(v string) *Application {
4517	s.Name = &v
4518	return s
4519}
4520
4521// The persistent application settings for users of a stack.
4522type ApplicationSettings struct {
4523	_ struct{} `type:"structure"`
4524
4525	// Enables or disables persistent application settings for users during their
4526	// streaming sessions.
4527	//
4528	// Enabled is a required field
4529	Enabled *bool `type:"boolean" required:"true"`
4530
4531	// The path prefix for the S3 bucket where users’ persistent application settings
4532	// are stored. You can allow the same persistent application settings to be
4533	// used across multiple stacks by specifying the same settings group for each
4534	// stack.
4535	SettingsGroup *string `type:"string"`
4536}
4537
4538// String returns the string representation
4539func (s ApplicationSettings) String() string {
4540	return awsutil.Prettify(s)
4541}
4542
4543// GoString returns the string representation
4544func (s ApplicationSettings) GoString() string {
4545	return s.String()
4546}
4547
4548// Validate inspects the fields of the type to determine if they are valid.
4549func (s *ApplicationSettings) Validate() error {
4550	invalidParams := request.ErrInvalidParams{Context: "ApplicationSettings"}
4551	if s.Enabled == nil {
4552		invalidParams.Add(request.NewErrParamRequired("Enabled"))
4553	}
4554
4555	if invalidParams.Len() > 0 {
4556		return invalidParams
4557	}
4558	return nil
4559}
4560
4561// SetEnabled sets the Enabled field's value.
4562func (s *ApplicationSettings) SetEnabled(v bool) *ApplicationSettings {
4563	s.Enabled = &v
4564	return s
4565}
4566
4567// SetSettingsGroup sets the SettingsGroup field's value.
4568func (s *ApplicationSettings) SetSettingsGroup(v string) *ApplicationSettings {
4569	s.SettingsGroup = &v
4570	return s
4571}
4572
4573// Describes the persistent application settings for users of a stack.
4574type ApplicationSettingsResponse struct {
4575	_ struct{} `type:"structure"`
4576
4577	// Specifies whether persistent application settings are enabled for users during
4578	// their streaming sessions.
4579	Enabled *bool `type:"boolean"`
4580
4581	// The S3 bucket where users’ persistent application settings are stored.
4582	// When persistent application settings are enabled for the first time for an
4583	// account in an AWS Region, an S3 bucket is created. The bucket is unique to
4584	// the AWS account and the Region.
4585	S3BucketName *string `min:"1" type:"string"`
4586
4587	// The path prefix for the S3 bucket where users’ persistent application settings
4588	// are stored.
4589	SettingsGroup *string `type:"string"`
4590}
4591
4592// String returns the string representation
4593func (s ApplicationSettingsResponse) String() string {
4594	return awsutil.Prettify(s)
4595}
4596
4597// GoString returns the string representation
4598func (s ApplicationSettingsResponse) GoString() string {
4599	return s.String()
4600}
4601
4602// SetEnabled sets the Enabled field's value.
4603func (s *ApplicationSettingsResponse) SetEnabled(v bool) *ApplicationSettingsResponse {
4604	s.Enabled = &v
4605	return s
4606}
4607
4608// SetS3BucketName sets the S3BucketName field's value.
4609func (s *ApplicationSettingsResponse) SetS3BucketName(v string) *ApplicationSettingsResponse {
4610	s.S3BucketName = &v
4611	return s
4612}
4613
4614// SetSettingsGroup sets the SettingsGroup field's value.
4615func (s *ApplicationSettingsResponse) SetSettingsGroup(v string) *ApplicationSettingsResponse {
4616	s.SettingsGroup = &v
4617	return s
4618}
4619
4620type AssociateFleetInput struct {
4621	_ struct{} `type:"structure"`
4622
4623	// The name of the fleet.
4624	//
4625	// FleetName is a required field
4626	FleetName *string `min:"1" type:"string" required:"true"`
4627
4628	// The name of the stack.
4629	//
4630	// StackName is a required field
4631	StackName *string `min:"1" type:"string" required:"true"`
4632}
4633
4634// String returns the string representation
4635func (s AssociateFleetInput) String() string {
4636	return awsutil.Prettify(s)
4637}
4638
4639// GoString returns the string representation
4640func (s AssociateFleetInput) GoString() string {
4641	return s.String()
4642}
4643
4644// Validate inspects the fields of the type to determine if they are valid.
4645func (s *AssociateFleetInput) Validate() error {
4646	invalidParams := request.ErrInvalidParams{Context: "AssociateFleetInput"}
4647	if s.FleetName == nil {
4648		invalidParams.Add(request.NewErrParamRequired("FleetName"))
4649	}
4650	if s.FleetName != nil && len(*s.FleetName) < 1 {
4651		invalidParams.Add(request.NewErrParamMinLen("FleetName", 1))
4652	}
4653	if s.StackName == nil {
4654		invalidParams.Add(request.NewErrParamRequired("StackName"))
4655	}
4656	if s.StackName != nil && len(*s.StackName) < 1 {
4657		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
4658	}
4659
4660	if invalidParams.Len() > 0 {
4661		return invalidParams
4662	}
4663	return nil
4664}
4665
4666// SetFleetName sets the FleetName field's value.
4667func (s *AssociateFleetInput) SetFleetName(v string) *AssociateFleetInput {
4668	s.FleetName = &v
4669	return s
4670}
4671
4672// SetStackName sets the StackName field's value.
4673func (s *AssociateFleetInput) SetStackName(v string) *AssociateFleetInput {
4674	s.StackName = &v
4675	return s
4676}
4677
4678type AssociateFleetOutput struct {
4679	_ struct{} `type:"structure"`
4680}
4681
4682// String returns the string representation
4683func (s AssociateFleetOutput) String() string {
4684	return awsutil.Prettify(s)
4685}
4686
4687// GoString returns the string representation
4688func (s AssociateFleetOutput) GoString() string {
4689	return s.String()
4690}
4691
4692type BatchAssociateUserStackInput struct {
4693	_ struct{} `type:"structure"`
4694
4695	// The list of UserStackAssociation objects.
4696	//
4697	// UserStackAssociations is a required field
4698	UserStackAssociations []*UserStackAssociation `min:"1" type:"list" required:"true"`
4699}
4700
4701// String returns the string representation
4702func (s BatchAssociateUserStackInput) String() string {
4703	return awsutil.Prettify(s)
4704}
4705
4706// GoString returns the string representation
4707func (s BatchAssociateUserStackInput) GoString() string {
4708	return s.String()
4709}
4710
4711// Validate inspects the fields of the type to determine if they are valid.
4712func (s *BatchAssociateUserStackInput) Validate() error {
4713	invalidParams := request.ErrInvalidParams{Context: "BatchAssociateUserStackInput"}
4714	if s.UserStackAssociations == nil {
4715		invalidParams.Add(request.NewErrParamRequired("UserStackAssociations"))
4716	}
4717	if s.UserStackAssociations != nil && len(s.UserStackAssociations) < 1 {
4718		invalidParams.Add(request.NewErrParamMinLen("UserStackAssociations", 1))
4719	}
4720	if s.UserStackAssociations != nil {
4721		for i, v := range s.UserStackAssociations {
4722			if v == nil {
4723				continue
4724			}
4725			if err := v.Validate(); err != nil {
4726				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserStackAssociations", i), err.(request.ErrInvalidParams))
4727			}
4728		}
4729	}
4730
4731	if invalidParams.Len() > 0 {
4732		return invalidParams
4733	}
4734	return nil
4735}
4736
4737// SetUserStackAssociations sets the UserStackAssociations field's value.
4738func (s *BatchAssociateUserStackInput) SetUserStackAssociations(v []*UserStackAssociation) *BatchAssociateUserStackInput {
4739	s.UserStackAssociations = v
4740	return s
4741}
4742
4743type BatchAssociateUserStackOutput struct {
4744	_ struct{} `type:"structure"`
4745
4746	// The list of UserStackAssociationError objects.
4747	Errors []*UserStackAssociationError `locationName:"errors" type:"list"`
4748}
4749
4750// String returns the string representation
4751func (s BatchAssociateUserStackOutput) String() string {
4752	return awsutil.Prettify(s)
4753}
4754
4755// GoString returns the string representation
4756func (s BatchAssociateUserStackOutput) GoString() string {
4757	return s.String()
4758}
4759
4760// SetErrors sets the Errors field's value.
4761func (s *BatchAssociateUserStackOutput) SetErrors(v []*UserStackAssociationError) *BatchAssociateUserStackOutput {
4762	s.Errors = v
4763	return s
4764}
4765
4766type BatchDisassociateUserStackInput struct {
4767	_ struct{} `type:"structure"`
4768
4769	// The list of UserStackAssociation objects.
4770	//
4771	// UserStackAssociations is a required field
4772	UserStackAssociations []*UserStackAssociation `min:"1" type:"list" required:"true"`
4773}
4774
4775// String returns the string representation
4776func (s BatchDisassociateUserStackInput) String() string {
4777	return awsutil.Prettify(s)
4778}
4779
4780// GoString returns the string representation
4781func (s BatchDisassociateUserStackInput) GoString() string {
4782	return s.String()
4783}
4784
4785// Validate inspects the fields of the type to determine if they are valid.
4786func (s *BatchDisassociateUserStackInput) Validate() error {
4787	invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateUserStackInput"}
4788	if s.UserStackAssociations == nil {
4789		invalidParams.Add(request.NewErrParamRequired("UserStackAssociations"))
4790	}
4791	if s.UserStackAssociations != nil && len(s.UserStackAssociations) < 1 {
4792		invalidParams.Add(request.NewErrParamMinLen("UserStackAssociations", 1))
4793	}
4794	if s.UserStackAssociations != nil {
4795		for i, v := range s.UserStackAssociations {
4796			if v == nil {
4797				continue
4798			}
4799			if err := v.Validate(); err != nil {
4800				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserStackAssociations", i), err.(request.ErrInvalidParams))
4801			}
4802		}
4803	}
4804
4805	if invalidParams.Len() > 0 {
4806		return invalidParams
4807	}
4808	return nil
4809}
4810
4811// SetUserStackAssociations sets the UserStackAssociations field's value.
4812func (s *BatchDisassociateUserStackInput) SetUserStackAssociations(v []*UserStackAssociation) *BatchDisassociateUserStackInput {
4813	s.UserStackAssociations = v
4814	return s
4815}
4816
4817type BatchDisassociateUserStackOutput struct {
4818	_ struct{} `type:"structure"`
4819
4820	// The list of UserStackAssociationError objects.
4821	Errors []*UserStackAssociationError `locationName:"errors" type:"list"`
4822}
4823
4824// String returns the string representation
4825func (s BatchDisassociateUserStackOutput) String() string {
4826	return awsutil.Prettify(s)
4827}
4828
4829// GoString returns the string representation
4830func (s BatchDisassociateUserStackOutput) GoString() string {
4831	return s.String()
4832}
4833
4834// SetErrors sets the Errors field's value.
4835func (s *BatchDisassociateUserStackOutput) SetErrors(v []*UserStackAssociationError) *BatchDisassociateUserStackOutput {
4836	s.Errors = v
4837	return s
4838}
4839
4840// Describes the capacity for a fleet.
4841type ComputeCapacity struct {
4842	_ struct{} `type:"structure"`
4843
4844	// The desired number of streaming instances.
4845	//
4846	// DesiredInstances is a required field
4847	DesiredInstances *int64 `type:"integer" required:"true"`
4848}
4849
4850// String returns the string representation
4851func (s ComputeCapacity) String() string {
4852	return awsutil.Prettify(s)
4853}
4854
4855// GoString returns the string representation
4856func (s ComputeCapacity) GoString() string {
4857	return s.String()
4858}
4859
4860// Validate inspects the fields of the type to determine if they are valid.
4861func (s *ComputeCapacity) Validate() error {
4862	invalidParams := request.ErrInvalidParams{Context: "ComputeCapacity"}
4863	if s.DesiredInstances == nil {
4864		invalidParams.Add(request.NewErrParamRequired("DesiredInstances"))
4865	}
4866
4867	if invalidParams.Len() > 0 {
4868		return invalidParams
4869	}
4870	return nil
4871}
4872
4873// SetDesiredInstances sets the DesiredInstances field's value.
4874func (s *ComputeCapacity) SetDesiredInstances(v int64) *ComputeCapacity {
4875	s.DesiredInstances = &v
4876	return s
4877}
4878
4879// Describes the capacity status for a fleet.
4880type ComputeCapacityStatus struct {
4881	_ struct{} `type:"structure"`
4882
4883	// The number of currently available instances that can be used to stream sessions.
4884	Available *int64 `type:"integer"`
4885
4886	// The desired number of streaming instances.
4887	//
4888	// Desired is a required field
4889	Desired *int64 `type:"integer" required:"true"`
4890
4891	// The number of instances in use for streaming.
4892	InUse *int64 `type:"integer"`
4893
4894	// The total number of simultaneous streaming instances that are running.
4895	Running *int64 `type:"integer"`
4896}
4897
4898// String returns the string representation
4899func (s ComputeCapacityStatus) String() string {
4900	return awsutil.Prettify(s)
4901}
4902
4903// GoString returns the string representation
4904func (s ComputeCapacityStatus) GoString() string {
4905	return s.String()
4906}
4907
4908// SetAvailable sets the Available field's value.
4909func (s *ComputeCapacityStatus) SetAvailable(v int64) *ComputeCapacityStatus {
4910	s.Available = &v
4911	return s
4912}
4913
4914// SetDesired sets the Desired field's value.
4915func (s *ComputeCapacityStatus) SetDesired(v int64) *ComputeCapacityStatus {
4916	s.Desired = &v
4917	return s
4918}
4919
4920// SetInUse sets the InUse field's value.
4921func (s *ComputeCapacityStatus) SetInUse(v int64) *ComputeCapacityStatus {
4922	s.InUse = &v
4923	return s
4924}
4925
4926// SetRunning sets the Running field's value.
4927func (s *ComputeCapacityStatus) SetRunning(v int64) *ComputeCapacityStatus {
4928	s.Running = &v
4929	return s
4930}
4931
4932// An API error occurred. Wait a few minutes and try again.
4933type ConcurrentModificationException struct {
4934	_            struct{}                  `type:"structure"`
4935	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4936
4937	// The error message in the exception.
4938	Message_ *string `locationName:"Message" type:"string"`
4939}
4940
4941// String returns the string representation
4942func (s ConcurrentModificationException) String() string {
4943	return awsutil.Prettify(s)
4944}
4945
4946// GoString returns the string representation
4947func (s ConcurrentModificationException) GoString() string {
4948	return s.String()
4949}
4950
4951func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
4952	return &ConcurrentModificationException{
4953		RespMetadata: v,
4954	}
4955}
4956
4957// Code returns the exception type name.
4958func (s *ConcurrentModificationException) Code() string {
4959	return "ConcurrentModificationException"
4960}
4961
4962// Message returns the exception's message.
4963func (s *ConcurrentModificationException) Message() string {
4964	if s.Message_ != nil {
4965		return *s.Message_
4966	}
4967	return ""
4968}
4969
4970// OrigErr always returns nil, satisfies awserr.Error interface.
4971func (s *ConcurrentModificationException) OrigErr() error {
4972	return nil
4973}
4974
4975func (s *ConcurrentModificationException) Error() string {
4976	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4977}
4978
4979// Status code returns the HTTP status code for the request's response error.
4980func (s *ConcurrentModificationException) StatusCode() int {
4981	return s.RespMetadata.StatusCode
4982}
4983
4984// RequestID returns the service's response RequestID for request.
4985func (s *ConcurrentModificationException) RequestID() string {
4986	return s.RespMetadata.RequestID
4987}
4988
4989type CopyImageInput struct {
4990	_ struct{} `type:"structure"`
4991
4992	// The description that the image will have when it is copied to the destination.
4993	DestinationImageDescription *string `type:"string"`
4994
4995	// The name that the image will have when it is copied to the destination.
4996	//
4997	// DestinationImageName is a required field
4998	DestinationImageName *string `type:"string" required:"true"`
4999
5000	// The destination region to which the image will be copied. This parameter
5001	// is required, even if you are copying an image within the same region.
5002	//
5003	// DestinationRegion is a required field
5004	DestinationRegion *string `min:"1" type:"string" required:"true"`
5005
5006	// The name of the image to copy.
5007	//
5008	// SourceImageName is a required field
5009	SourceImageName *string `type:"string" required:"true"`
5010}
5011
5012// String returns the string representation
5013func (s CopyImageInput) String() string {
5014	return awsutil.Prettify(s)
5015}
5016
5017// GoString returns the string representation
5018func (s CopyImageInput) GoString() string {
5019	return s.String()
5020}
5021
5022// Validate inspects the fields of the type to determine if they are valid.
5023func (s *CopyImageInput) Validate() error {
5024	invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
5025	if s.DestinationImageName == nil {
5026		invalidParams.Add(request.NewErrParamRequired("DestinationImageName"))
5027	}
5028	if s.DestinationRegion == nil {
5029		invalidParams.Add(request.NewErrParamRequired("DestinationRegion"))
5030	}
5031	if s.DestinationRegion != nil && len(*s.DestinationRegion) < 1 {
5032		invalidParams.Add(request.NewErrParamMinLen("DestinationRegion", 1))
5033	}
5034	if s.SourceImageName == nil {
5035		invalidParams.Add(request.NewErrParamRequired("SourceImageName"))
5036	}
5037
5038	if invalidParams.Len() > 0 {
5039		return invalidParams
5040	}
5041	return nil
5042}
5043
5044// SetDestinationImageDescription sets the DestinationImageDescription field's value.
5045func (s *CopyImageInput) SetDestinationImageDescription(v string) *CopyImageInput {
5046	s.DestinationImageDescription = &v
5047	return s
5048}
5049
5050// SetDestinationImageName sets the DestinationImageName field's value.
5051func (s *CopyImageInput) SetDestinationImageName(v string) *CopyImageInput {
5052	s.DestinationImageName = &v
5053	return s
5054}
5055
5056// SetDestinationRegion sets the DestinationRegion field's value.
5057func (s *CopyImageInput) SetDestinationRegion(v string) *CopyImageInput {
5058	s.DestinationRegion = &v
5059	return s
5060}
5061
5062// SetSourceImageName sets the SourceImageName field's value.
5063func (s *CopyImageInput) SetSourceImageName(v string) *CopyImageInput {
5064	s.SourceImageName = &v
5065	return s
5066}
5067
5068type CopyImageOutput struct {
5069	_ struct{} `type:"structure"`
5070
5071	// The name of the destination image.
5072	DestinationImageName *string `type:"string"`
5073}
5074
5075// String returns the string representation
5076func (s CopyImageOutput) String() string {
5077	return awsutil.Prettify(s)
5078}
5079
5080// GoString returns the string representation
5081func (s CopyImageOutput) GoString() string {
5082	return s.String()
5083}
5084
5085// SetDestinationImageName sets the DestinationImageName field's value.
5086func (s *CopyImageOutput) SetDestinationImageName(v string) *CopyImageOutput {
5087	s.DestinationImageName = &v
5088	return s
5089}
5090
5091type CreateDirectoryConfigInput struct {
5092	_ struct{} `type:"structure"`
5093
5094	// The fully qualified name of the directory (for example, corp.example.com).
5095	//
5096	// DirectoryName is a required field
5097	DirectoryName *string `type:"string" required:"true"`
5098
5099	// The distinguished names of the organizational units for computer accounts.
5100	//
5101	// OrganizationalUnitDistinguishedNames is a required field
5102	OrganizationalUnitDistinguishedNames []*string `type:"list" required:"true"`
5103
5104	// The credentials for the service account used by the fleet or image builder
5105	// to connect to the directory.
5106	ServiceAccountCredentials *ServiceAccountCredentials `type:"structure"`
5107}
5108
5109// String returns the string representation
5110func (s CreateDirectoryConfigInput) String() string {
5111	return awsutil.Prettify(s)
5112}
5113
5114// GoString returns the string representation
5115func (s CreateDirectoryConfigInput) GoString() string {
5116	return s.String()
5117}
5118
5119// Validate inspects the fields of the type to determine if they are valid.
5120func (s *CreateDirectoryConfigInput) Validate() error {
5121	invalidParams := request.ErrInvalidParams{Context: "CreateDirectoryConfigInput"}
5122	if s.DirectoryName == nil {
5123		invalidParams.Add(request.NewErrParamRequired("DirectoryName"))
5124	}
5125	if s.OrganizationalUnitDistinguishedNames == nil {
5126		invalidParams.Add(request.NewErrParamRequired("OrganizationalUnitDistinguishedNames"))
5127	}
5128	if s.ServiceAccountCredentials != nil {
5129		if err := s.ServiceAccountCredentials.Validate(); err != nil {
5130			invalidParams.AddNested("ServiceAccountCredentials", err.(request.ErrInvalidParams))
5131		}
5132	}
5133
5134	if invalidParams.Len() > 0 {
5135		return invalidParams
5136	}
5137	return nil
5138}
5139
5140// SetDirectoryName sets the DirectoryName field's value.
5141func (s *CreateDirectoryConfigInput) SetDirectoryName(v string) *CreateDirectoryConfigInput {
5142	s.DirectoryName = &v
5143	return s
5144}
5145
5146// SetOrganizationalUnitDistinguishedNames sets the OrganizationalUnitDistinguishedNames field's value.
5147func (s *CreateDirectoryConfigInput) SetOrganizationalUnitDistinguishedNames(v []*string) *CreateDirectoryConfigInput {
5148	s.OrganizationalUnitDistinguishedNames = v
5149	return s
5150}
5151
5152// SetServiceAccountCredentials sets the ServiceAccountCredentials field's value.
5153func (s *CreateDirectoryConfigInput) SetServiceAccountCredentials(v *ServiceAccountCredentials) *CreateDirectoryConfigInput {
5154	s.ServiceAccountCredentials = v
5155	return s
5156}
5157
5158type CreateDirectoryConfigOutput struct {
5159	_ struct{} `type:"structure"`
5160
5161	// Information about the directory configuration.
5162	DirectoryConfig *DirectoryConfig `type:"structure"`
5163}
5164
5165// String returns the string representation
5166func (s CreateDirectoryConfigOutput) String() string {
5167	return awsutil.Prettify(s)
5168}
5169
5170// GoString returns the string representation
5171func (s CreateDirectoryConfigOutput) GoString() string {
5172	return s.String()
5173}
5174
5175// SetDirectoryConfig sets the DirectoryConfig field's value.
5176func (s *CreateDirectoryConfigOutput) SetDirectoryConfig(v *DirectoryConfig) *CreateDirectoryConfigOutput {
5177	s.DirectoryConfig = v
5178	return s
5179}
5180
5181type CreateFleetInput struct {
5182	_ struct{} `type:"structure"`
5183
5184	// The desired capacity for the fleet.
5185	//
5186	// ComputeCapacity is a required field
5187	ComputeCapacity *ComputeCapacity `type:"structure" required:"true"`
5188
5189	// The description to display.
5190	Description *string `type:"string"`
5191
5192	// The amount of time that a streaming session remains active after users disconnect.
5193	// If users try to reconnect to the streaming session after a disconnection
5194	// or network interruption within this time interval, they are connected to
5195	// their previous session. Otherwise, they are connected to a new session with
5196	// a new streaming instance.
5197	//
5198	// Specify a value between 60 and 360000.
5199	DisconnectTimeoutInSeconds *int64 `type:"integer"`
5200
5201	// The fleet name to display.
5202	DisplayName *string `type:"string"`
5203
5204	// The name of the directory and organizational unit (OU) to use to join the
5205	// fleet to a Microsoft Active Directory domain.
5206	DomainJoinInfo *DomainJoinInfo `type:"structure"`
5207
5208	// Enables or disables default internet access for the fleet.
5209	EnableDefaultInternetAccess *bool `type:"boolean"`
5210
5211	// The fleet type.
5212	//
5213	// ALWAYS_ON
5214	//
5215	// Provides users with instant-on access to their apps. You are charged for
5216	// all running instances in your fleet, even if no users are streaming apps.
5217	//
5218	// ON_DEMAND
5219	//
5220	// Provide users with access to applications after they connect, which takes
5221	// one to two minutes. You are charged for instance streaming when users are
5222	// connected and a small hourly fee for instances that are not streaming apps.
5223	FleetType *string `type:"string" enum:"FleetType"`
5224
5225	// The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To
5226	// assume a role, a fleet instance calls the AWS Security Token Service (STS)
5227	// AssumeRole API operation and passes the ARN of the role to use. The operation
5228	// creates a new session with temporary credentials. AppStream 2.0 retrieves
5229	// the temporary credentials and creates the appstream_machine_role credential
5230	// profile on the instance.
5231	//
5232	// For more information, see Using an IAM Role to Grant Permissions to Applications
5233	// 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)
5234	// in the Amazon AppStream 2.0 Administration Guide.
5235	IamRoleArn *string `type:"string"`
5236
5237	// The amount of time that users can be idle (inactive) before they are disconnected
5238	// from their streaming session and the DisconnectTimeoutInSeconds time interval
5239	// begins. Users are notified before they are disconnected due to inactivity.
5240	// If they try to reconnect to the streaming session before the time interval
5241	// specified in DisconnectTimeoutInSeconds elapses, they are connected to their
5242	// previous session. Users are considered idle when they stop providing keyboard
5243	// or mouse input during their streaming session. File uploads and downloads,
5244	// audio in, audio out, and pixels changing do not qualify as user activity.
5245	// If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds
5246	// elapses, they are disconnected.
5247	//
5248	// To prevent users from being disconnected due to inactivity, specify a value
5249	// of 0. Otherwise, specify a value between 60 and 3600. The default value is
5250	// 0.
5251	//
5252	// If you enable this feature, we recommend that you specify a value that corresponds
5253	// exactly to a whole number of minutes (for example, 60, 120, and 180). If
5254	// you don't do this, the value is rounded to the nearest minute. For example,
5255	// if you specify a value of 70, users are disconnected after 1 minute of inactivity.
5256	// If you specify a value that is at the midpoint between two different minutes,
5257	// the value is rounded up. For example, if you specify a value of 90, users
5258	// are disconnected after 2 minutes of inactivity.
5259	IdleDisconnectTimeoutInSeconds *int64 `type:"integer"`
5260
5261	// The ARN of the public, private, or shared image to use.
5262	ImageArn *string `type:"string"`
5263
5264	// The name of the image used to create the fleet.
5265	ImageName *string `min:"1" type:"string"`
5266
5267	// The instance type to use when launching fleet instances. The following instance
5268	// types are available:
5269	//
5270	//    * stream.standard.small
5271	//
5272	//    * stream.standard.medium
5273	//
5274	//    * stream.standard.large
5275	//
5276	//    * stream.compute.large
5277	//
5278	//    * stream.compute.xlarge
5279	//
5280	//    * stream.compute.2xlarge
5281	//
5282	//    * stream.compute.4xlarge
5283	//
5284	//    * stream.compute.8xlarge
5285	//
5286	//    * stream.memory.large
5287	//
5288	//    * stream.memory.xlarge
5289	//
5290	//    * stream.memory.2xlarge
5291	//
5292	//    * stream.memory.4xlarge
5293	//
5294	//    * stream.memory.8xlarge
5295	//
5296	//    * stream.memory.z1d.large
5297	//
5298	//    * stream.memory.z1d.xlarge
5299	//
5300	//    * stream.memory.z1d.2xlarge
5301	//
5302	//    * stream.memory.z1d.3xlarge
5303	//
5304	//    * stream.memory.z1d.6xlarge
5305	//
5306	//    * stream.memory.z1d.12xlarge
5307	//
5308	//    * stream.graphics-design.large
5309	//
5310	//    * stream.graphics-design.xlarge
5311	//
5312	//    * stream.graphics-design.2xlarge
5313	//
5314	//    * stream.graphics-design.4xlarge
5315	//
5316	//    * stream.graphics-desktop.2xlarge
5317	//
5318	//    * stream.graphics.g4dn.xlarge
5319	//
5320	//    * stream.graphics.g4dn.2xlarge
5321	//
5322	//    * stream.graphics.g4dn.4xlarge
5323	//
5324	//    * stream.graphics.g4dn.8xlarge
5325	//
5326	//    * stream.graphics.g4dn.12xlarge
5327	//
5328	//    * stream.graphics.g4dn.16xlarge
5329	//
5330	//    * stream.graphics-pro.4xlarge
5331	//
5332	//    * stream.graphics-pro.8xlarge
5333	//
5334	//    * stream.graphics-pro.16xlarge
5335	//
5336	// InstanceType is a required field
5337	InstanceType *string `min:"1" type:"string" required:"true"`
5338
5339	// The maximum amount of time that a streaming session can remain active, in
5340	// seconds. If users are still connected to a streaming instance five minutes
5341	// before this limit is reached, they are prompted to save any open documents
5342	// before being disconnected. After this time elapses, the instance is terminated
5343	// and replaced by a new instance.
5344	//
5345	// Specify a value between 600 and 360000.
5346	MaxUserDurationInSeconds *int64 `type:"integer"`
5347
5348	// A unique name for the fleet.
5349	//
5350	// Name is a required field
5351	Name *string `type:"string" required:"true"`
5352
5353	// The AppStream 2.0 view that is displayed to your users when they stream from
5354	// the fleet. When APP is specified, only the windows of applications opened
5355	// by users display. When DESKTOP is specified, the standard desktop that is
5356	// provided by the operating system displays.
5357	//
5358	// The default value is APP.
5359	StreamView *string `type:"string" enum:"StreamView"`
5360
5361	// The tags to associate with the fleet. A tag is a key-value pair, and the
5362	// value is optional. For example, Environment=Test. If you do not specify a
5363	// value, Environment=.
5364	//
5365	// If you do not specify a value, the value is set to an empty string.
5366	//
5367	// Generally allowed characters are: letters, numbers, and spaces representable
5368	// in UTF-8, and the following special characters:
5369	//
5370	// _ . : / = + \ - @
5371	//
5372	// For more information, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
5373	// in the Amazon AppStream 2.0 Administration Guide.
5374	Tags map[string]*string `min:"1" type:"map"`
5375
5376	// The VPC configuration for the fleet.
5377	VpcConfig *VpcConfig `type:"structure"`
5378}
5379
5380// String returns the string representation
5381func (s CreateFleetInput) String() string {
5382	return awsutil.Prettify(s)
5383}
5384
5385// GoString returns the string representation
5386func (s CreateFleetInput) GoString() string {
5387	return s.String()
5388}
5389
5390// Validate inspects the fields of the type to determine if they are valid.
5391func (s *CreateFleetInput) Validate() error {
5392	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
5393	if s.ComputeCapacity == nil {
5394		invalidParams.Add(request.NewErrParamRequired("ComputeCapacity"))
5395	}
5396	if s.ImageName != nil && len(*s.ImageName) < 1 {
5397		invalidParams.Add(request.NewErrParamMinLen("ImageName", 1))
5398	}
5399	if s.InstanceType == nil {
5400		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
5401	}
5402	if s.InstanceType != nil && len(*s.InstanceType) < 1 {
5403		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1))
5404	}
5405	if s.Name == nil {
5406		invalidParams.Add(request.NewErrParamRequired("Name"))
5407	}
5408	if s.Tags != nil && len(s.Tags) < 1 {
5409		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
5410	}
5411	if s.ComputeCapacity != nil {
5412		if err := s.ComputeCapacity.Validate(); err != nil {
5413			invalidParams.AddNested("ComputeCapacity", err.(request.ErrInvalidParams))
5414		}
5415	}
5416
5417	if invalidParams.Len() > 0 {
5418		return invalidParams
5419	}
5420	return nil
5421}
5422
5423// SetComputeCapacity sets the ComputeCapacity field's value.
5424func (s *CreateFleetInput) SetComputeCapacity(v *ComputeCapacity) *CreateFleetInput {
5425	s.ComputeCapacity = v
5426	return s
5427}
5428
5429// SetDescription sets the Description field's value.
5430func (s *CreateFleetInput) SetDescription(v string) *CreateFleetInput {
5431	s.Description = &v
5432	return s
5433}
5434
5435// SetDisconnectTimeoutInSeconds sets the DisconnectTimeoutInSeconds field's value.
5436func (s *CreateFleetInput) SetDisconnectTimeoutInSeconds(v int64) *CreateFleetInput {
5437	s.DisconnectTimeoutInSeconds = &v
5438	return s
5439}
5440
5441// SetDisplayName sets the DisplayName field's value.
5442func (s *CreateFleetInput) SetDisplayName(v string) *CreateFleetInput {
5443	s.DisplayName = &v
5444	return s
5445}
5446
5447// SetDomainJoinInfo sets the DomainJoinInfo field's value.
5448func (s *CreateFleetInput) SetDomainJoinInfo(v *DomainJoinInfo) *CreateFleetInput {
5449	s.DomainJoinInfo = v
5450	return s
5451}
5452
5453// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
5454func (s *CreateFleetInput) SetEnableDefaultInternetAccess(v bool) *CreateFleetInput {
5455	s.EnableDefaultInternetAccess = &v
5456	return s
5457}
5458
5459// SetFleetType sets the FleetType field's value.
5460func (s *CreateFleetInput) SetFleetType(v string) *CreateFleetInput {
5461	s.FleetType = &v
5462	return s
5463}
5464
5465// SetIamRoleArn sets the IamRoleArn field's value.
5466func (s *CreateFleetInput) SetIamRoleArn(v string) *CreateFleetInput {
5467	s.IamRoleArn = &v
5468	return s
5469}
5470
5471// SetIdleDisconnectTimeoutInSeconds sets the IdleDisconnectTimeoutInSeconds field's value.
5472func (s *CreateFleetInput) SetIdleDisconnectTimeoutInSeconds(v int64) *CreateFleetInput {
5473	s.IdleDisconnectTimeoutInSeconds = &v
5474	return s
5475}
5476
5477// SetImageArn sets the ImageArn field's value.
5478func (s *CreateFleetInput) SetImageArn(v string) *CreateFleetInput {
5479	s.ImageArn = &v
5480	return s
5481}
5482
5483// SetImageName sets the ImageName field's value.
5484func (s *CreateFleetInput) SetImageName(v string) *CreateFleetInput {
5485	s.ImageName = &v
5486	return s
5487}
5488
5489// SetInstanceType sets the InstanceType field's value.
5490func (s *CreateFleetInput) SetInstanceType(v string) *CreateFleetInput {
5491	s.InstanceType = &v
5492	return s
5493}
5494
5495// SetMaxUserDurationInSeconds sets the MaxUserDurationInSeconds field's value.
5496func (s *CreateFleetInput) SetMaxUserDurationInSeconds(v int64) *CreateFleetInput {
5497	s.MaxUserDurationInSeconds = &v
5498	return s
5499}
5500
5501// SetName sets the Name field's value.
5502func (s *CreateFleetInput) SetName(v string) *CreateFleetInput {
5503	s.Name = &v
5504	return s
5505}
5506
5507// SetStreamView sets the StreamView field's value.
5508func (s *CreateFleetInput) SetStreamView(v string) *CreateFleetInput {
5509	s.StreamView = &v
5510	return s
5511}
5512
5513// SetTags sets the Tags field's value.
5514func (s *CreateFleetInput) SetTags(v map[string]*string) *CreateFleetInput {
5515	s.Tags = v
5516	return s
5517}
5518
5519// SetVpcConfig sets the VpcConfig field's value.
5520func (s *CreateFleetInput) SetVpcConfig(v *VpcConfig) *CreateFleetInput {
5521	s.VpcConfig = v
5522	return s
5523}
5524
5525type CreateFleetOutput struct {
5526	_ struct{} `type:"structure"`
5527
5528	// Information about the fleet.
5529	Fleet *Fleet `type:"structure"`
5530}
5531
5532// String returns the string representation
5533func (s CreateFleetOutput) String() string {
5534	return awsutil.Prettify(s)
5535}
5536
5537// GoString returns the string representation
5538func (s CreateFleetOutput) GoString() string {
5539	return s.String()
5540}
5541
5542// SetFleet sets the Fleet field's value.
5543func (s *CreateFleetOutput) SetFleet(v *Fleet) *CreateFleetOutput {
5544	s.Fleet = v
5545	return s
5546}
5547
5548type CreateImageBuilderInput struct {
5549	_ struct{} `type:"structure"`
5550
5551	// The list of interface VPC endpoint (interface endpoint) objects. Administrators
5552	// can connect to the image builder only through the specified endpoints.
5553	AccessEndpoints []*AccessEndpoint `min:"1" type:"list"`
5554
5555	// The version of the AppStream 2.0 agent to use for this image builder. To
5556	// use the latest version of the AppStream 2.0 agent, specify [LATEST].
5557	AppstreamAgentVersion *string `min:"1" type:"string"`
5558
5559	// The description to display.
5560	Description *string `type:"string"`
5561
5562	// The image builder name to display.
5563	DisplayName *string `type:"string"`
5564
5565	// The name of the directory and organizational unit (OU) to use to join the
5566	// image builder to a Microsoft Active Directory domain.
5567	DomainJoinInfo *DomainJoinInfo `type:"structure"`
5568
5569	// Enables or disables default internet access for the image builder.
5570	EnableDefaultInternetAccess *bool `type:"boolean"`
5571
5572	// The Amazon Resource Name (ARN) of the IAM role to apply to the image builder.
5573	// To assume a role, the image builder calls the AWS Security Token Service
5574	// (STS) AssumeRole API operation and passes the ARN of the role to use. The
5575	// operation creates a new session with temporary credentials. AppStream 2.0
5576	// retrieves the temporary credentials and creates the appstream_machine_role
5577	// credential profile on the instance.
5578	//
5579	// For more information, see Using an IAM Role to Grant Permissions to Applications
5580	// 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)
5581	// in the Amazon AppStream 2.0 Administration Guide.
5582	IamRoleArn *string `type:"string"`
5583
5584	// The ARN of the public, private, or shared image to use.
5585	ImageArn *string `type:"string"`
5586
5587	// The name of the image used to create the image builder.
5588	ImageName *string `min:"1" type:"string"`
5589
5590	// The instance type to use when launching the image builder. The following
5591	// instance types are available:
5592	//
5593	//    * stream.standard.small
5594	//
5595	//    * stream.standard.medium
5596	//
5597	//    * stream.standard.large
5598	//
5599	//    * stream.compute.large
5600	//
5601	//    * stream.compute.xlarge
5602	//
5603	//    * stream.compute.2xlarge
5604	//
5605	//    * stream.compute.4xlarge
5606	//
5607	//    * stream.compute.8xlarge
5608	//
5609	//    * stream.memory.large
5610	//
5611	//    * stream.memory.xlarge
5612	//
5613	//    * stream.memory.2xlarge
5614	//
5615	//    * stream.memory.4xlarge
5616	//
5617	//    * stream.memory.8xlarge
5618	//
5619	//    * stream.memory.z1d.large
5620	//
5621	//    * stream.memory.z1d.xlarge
5622	//
5623	//    * stream.memory.z1d.2xlarge
5624	//
5625	//    * stream.memory.z1d.3xlarge
5626	//
5627	//    * stream.memory.z1d.6xlarge
5628	//
5629	//    * stream.memory.z1d.12xlarge
5630	//
5631	//    * stream.graphics-design.large
5632	//
5633	//    * stream.graphics-design.xlarge
5634	//
5635	//    * stream.graphics-design.2xlarge
5636	//
5637	//    * stream.graphics-design.4xlarge
5638	//
5639	//    * stream.graphics-desktop.2xlarge
5640	//
5641	//    * stream.graphics.g4dn.xlarge
5642	//
5643	//    * stream.graphics.g4dn.2xlarge
5644	//
5645	//    * stream.graphics.g4dn.4xlarge
5646	//
5647	//    * stream.graphics.g4dn.8xlarge
5648	//
5649	//    * stream.graphics.g4dn.12xlarge
5650	//
5651	//    * stream.graphics.g4dn.16xlarge
5652	//
5653	//    * stream.graphics-pro.4xlarge
5654	//
5655	//    * stream.graphics-pro.8xlarge
5656	//
5657	//    * stream.graphics-pro.16xlarge
5658	//
5659	// InstanceType is a required field
5660	InstanceType *string `min:"1" type:"string" required:"true"`
5661
5662	// A unique name for the image builder.
5663	//
5664	// Name is a required field
5665	Name *string `type:"string" required:"true"`
5666
5667	// The tags to associate with the image builder. A tag is a key-value pair,
5668	// and the value is optional. For example, Environment=Test. If you do not specify
5669	// a value, Environment=.
5670	//
5671	// Generally allowed characters are: letters, numbers, and spaces representable
5672	// in UTF-8, and the following special characters:
5673	//
5674	// _ . : / = + \ - @
5675	//
5676	// If you do not specify a value, the value is set to an empty string.
5677	//
5678	// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
5679	// in the Amazon AppStream 2.0 Administration Guide.
5680	Tags map[string]*string `min:"1" type:"map"`
5681
5682	// The VPC configuration for the image builder. You can specify only one subnet.
5683	VpcConfig *VpcConfig `type:"structure"`
5684}
5685
5686// String returns the string representation
5687func (s CreateImageBuilderInput) String() string {
5688	return awsutil.Prettify(s)
5689}
5690
5691// GoString returns the string representation
5692func (s CreateImageBuilderInput) GoString() string {
5693	return s.String()
5694}
5695
5696// Validate inspects the fields of the type to determine if they are valid.
5697func (s *CreateImageBuilderInput) Validate() error {
5698	invalidParams := request.ErrInvalidParams{Context: "CreateImageBuilderInput"}
5699	if s.AccessEndpoints != nil && len(s.AccessEndpoints) < 1 {
5700		invalidParams.Add(request.NewErrParamMinLen("AccessEndpoints", 1))
5701	}
5702	if s.AppstreamAgentVersion != nil && len(*s.AppstreamAgentVersion) < 1 {
5703		invalidParams.Add(request.NewErrParamMinLen("AppstreamAgentVersion", 1))
5704	}
5705	if s.ImageName != nil && len(*s.ImageName) < 1 {
5706		invalidParams.Add(request.NewErrParamMinLen("ImageName", 1))
5707	}
5708	if s.InstanceType == nil {
5709		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
5710	}
5711	if s.InstanceType != nil && len(*s.InstanceType) < 1 {
5712		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1))
5713	}
5714	if s.Name == nil {
5715		invalidParams.Add(request.NewErrParamRequired("Name"))
5716	}
5717	if s.Tags != nil && len(s.Tags) < 1 {
5718		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
5719	}
5720	if s.AccessEndpoints != nil {
5721		for i, v := range s.AccessEndpoints {
5722			if v == nil {
5723				continue
5724			}
5725			if err := v.Validate(); err != nil {
5726				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessEndpoints", i), err.(request.ErrInvalidParams))
5727			}
5728		}
5729	}
5730
5731	if invalidParams.Len() > 0 {
5732		return invalidParams
5733	}
5734	return nil
5735}
5736
5737// SetAccessEndpoints sets the AccessEndpoints field's value.
5738func (s *CreateImageBuilderInput) SetAccessEndpoints(v []*AccessEndpoint) *CreateImageBuilderInput {
5739	s.AccessEndpoints = v
5740	return s
5741}
5742
5743// SetAppstreamAgentVersion sets the AppstreamAgentVersion field's value.
5744func (s *CreateImageBuilderInput) SetAppstreamAgentVersion(v string) *CreateImageBuilderInput {
5745	s.AppstreamAgentVersion = &v
5746	return s
5747}
5748
5749// SetDescription sets the Description field's value.
5750func (s *CreateImageBuilderInput) SetDescription(v string) *CreateImageBuilderInput {
5751	s.Description = &v
5752	return s
5753}
5754
5755// SetDisplayName sets the DisplayName field's value.
5756func (s *CreateImageBuilderInput) SetDisplayName(v string) *CreateImageBuilderInput {
5757	s.DisplayName = &v
5758	return s
5759}
5760
5761// SetDomainJoinInfo sets the DomainJoinInfo field's value.
5762func (s *CreateImageBuilderInput) SetDomainJoinInfo(v *DomainJoinInfo) *CreateImageBuilderInput {
5763	s.DomainJoinInfo = v
5764	return s
5765}
5766
5767// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
5768func (s *CreateImageBuilderInput) SetEnableDefaultInternetAccess(v bool) *CreateImageBuilderInput {
5769	s.EnableDefaultInternetAccess = &v
5770	return s
5771}
5772
5773// SetIamRoleArn sets the IamRoleArn field's value.
5774func (s *CreateImageBuilderInput) SetIamRoleArn(v string) *CreateImageBuilderInput {
5775	s.IamRoleArn = &v
5776	return s
5777}
5778
5779// SetImageArn sets the ImageArn field's value.
5780func (s *CreateImageBuilderInput) SetImageArn(v string) *CreateImageBuilderInput {
5781	s.ImageArn = &v
5782	return s
5783}
5784
5785// SetImageName sets the ImageName field's value.
5786func (s *CreateImageBuilderInput) SetImageName(v string) *CreateImageBuilderInput {
5787	s.ImageName = &v
5788	return s
5789}
5790
5791// SetInstanceType sets the InstanceType field's value.
5792func (s *CreateImageBuilderInput) SetInstanceType(v string) *CreateImageBuilderInput {
5793	s.InstanceType = &v
5794	return s
5795}
5796
5797// SetName sets the Name field's value.
5798func (s *CreateImageBuilderInput) SetName(v string) *CreateImageBuilderInput {
5799	s.Name = &v
5800	return s
5801}
5802
5803// SetTags sets the Tags field's value.
5804func (s *CreateImageBuilderInput) SetTags(v map[string]*string) *CreateImageBuilderInput {
5805	s.Tags = v
5806	return s
5807}
5808
5809// SetVpcConfig sets the VpcConfig field's value.
5810func (s *CreateImageBuilderInput) SetVpcConfig(v *VpcConfig) *CreateImageBuilderInput {
5811	s.VpcConfig = v
5812	return s
5813}
5814
5815type CreateImageBuilderOutput struct {
5816	_ struct{} `type:"structure"`
5817
5818	// Information about the image builder.
5819	ImageBuilder *ImageBuilder `type:"structure"`
5820}
5821
5822// String returns the string representation
5823func (s CreateImageBuilderOutput) String() string {
5824	return awsutil.Prettify(s)
5825}
5826
5827// GoString returns the string representation
5828func (s CreateImageBuilderOutput) GoString() string {
5829	return s.String()
5830}
5831
5832// SetImageBuilder sets the ImageBuilder field's value.
5833func (s *CreateImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *CreateImageBuilderOutput {
5834	s.ImageBuilder = v
5835	return s
5836}
5837
5838type CreateImageBuilderStreamingURLInput struct {
5839	_ struct{} `type:"structure"`
5840
5841	// The name of the image builder.
5842	//
5843	// Name is a required field
5844	Name *string `min:"1" type:"string" required:"true"`
5845
5846	// The time that the streaming URL will be valid, in seconds. Specify a value
5847	// between 1 and 604800 seconds. The default is 3600 seconds.
5848	Validity *int64 `type:"long"`
5849}
5850
5851// String returns the string representation
5852func (s CreateImageBuilderStreamingURLInput) String() string {
5853	return awsutil.Prettify(s)
5854}
5855
5856// GoString returns the string representation
5857func (s CreateImageBuilderStreamingURLInput) GoString() string {
5858	return s.String()
5859}
5860
5861// Validate inspects the fields of the type to determine if they are valid.
5862func (s *CreateImageBuilderStreamingURLInput) Validate() error {
5863	invalidParams := request.ErrInvalidParams{Context: "CreateImageBuilderStreamingURLInput"}
5864	if s.Name == nil {
5865		invalidParams.Add(request.NewErrParamRequired("Name"))
5866	}
5867	if s.Name != nil && len(*s.Name) < 1 {
5868		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5869	}
5870
5871	if invalidParams.Len() > 0 {
5872		return invalidParams
5873	}
5874	return nil
5875}
5876
5877// SetName sets the Name field's value.
5878func (s *CreateImageBuilderStreamingURLInput) SetName(v string) *CreateImageBuilderStreamingURLInput {
5879	s.Name = &v
5880	return s
5881}
5882
5883// SetValidity sets the Validity field's value.
5884func (s *CreateImageBuilderStreamingURLInput) SetValidity(v int64) *CreateImageBuilderStreamingURLInput {
5885	s.Validity = &v
5886	return s
5887}
5888
5889type CreateImageBuilderStreamingURLOutput struct {
5890	_ struct{} `type:"structure"`
5891
5892	// The elapsed time, in seconds after the Unix epoch, when this URL expires.
5893	Expires *time.Time `type:"timestamp"`
5894
5895	// The URL to start the AppStream 2.0 streaming session.
5896	StreamingURL *string `min:"1" type:"string"`
5897}
5898
5899// String returns the string representation
5900func (s CreateImageBuilderStreamingURLOutput) String() string {
5901	return awsutil.Prettify(s)
5902}
5903
5904// GoString returns the string representation
5905func (s CreateImageBuilderStreamingURLOutput) GoString() string {
5906	return s.String()
5907}
5908
5909// SetExpires sets the Expires field's value.
5910func (s *CreateImageBuilderStreamingURLOutput) SetExpires(v time.Time) *CreateImageBuilderStreamingURLOutput {
5911	s.Expires = &v
5912	return s
5913}
5914
5915// SetStreamingURL sets the StreamingURL field's value.
5916func (s *CreateImageBuilderStreamingURLOutput) SetStreamingURL(v string) *CreateImageBuilderStreamingURLOutput {
5917	s.StreamingURL = &v
5918	return s
5919}
5920
5921type CreateStackInput struct {
5922	_ struct{} `type:"structure"`
5923
5924	// The list of interface VPC endpoint (interface endpoint) objects. Users of
5925	// the stack can connect to AppStream 2.0 only through the specified endpoints.
5926	AccessEndpoints []*AccessEndpoint `min:"1" type:"list"`
5927
5928	// The persistent application settings for users of a stack. When these settings
5929	// are enabled, changes that users make to applications and Windows settings
5930	// are automatically saved after each session and applied to the next session.
5931	ApplicationSettings *ApplicationSettings `type:"structure"`
5932
5933	// The description to display.
5934	Description *string `type:"string"`
5935
5936	// The stack name to display.
5937	DisplayName *string `type:"string"`
5938
5939	// The domains where AppStream 2.0 streaming sessions can be embedded in an
5940	// iframe. You must approve the domains that you want to host embedded AppStream
5941	// 2.0 streaming sessions.
5942	EmbedHostDomains []*string `min:"1" type:"list"`
5943
5944	// The URL that users are redirected to after they click the Send Feedback link.
5945	// If no URL is specified, no Send Feedback link is displayed.
5946	FeedbackURL *string `type:"string"`
5947
5948	// The name of the stack.
5949	//
5950	// Name is a required field
5951	Name *string `type:"string" required:"true"`
5952
5953	// The URL that users are redirected to after their streaming session ends.
5954	RedirectURL *string `type:"string"`
5955
5956	// The storage connectors to enable.
5957	StorageConnectors []*StorageConnector `type:"list"`
5958
5959	// The tags to associate with the stack. A tag is a key-value pair, and the
5960	// value is optional. For example, Environment=Test. If you do not specify a
5961	// value, Environment=.
5962	//
5963	// If you do not specify a value, the value is set to an empty string.
5964	//
5965	// Generally allowed characters are: letters, numbers, and spaces representable
5966	// in UTF-8, and the following special characters:
5967	//
5968	// _ . : / = + \ - @
5969	//
5970	// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
5971	// in the Amazon AppStream 2.0 Administration Guide.
5972	Tags map[string]*string `min:"1" type:"map"`
5973
5974	// The actions that are enabled or disabled for users during their streaming
5975	// sessions. By default, these actions are enabled.
5976	UserSettings []*UserSetting `min:"1" type:"list"`
5977}
5978
5979// String returns the string representation
5980func (s CreateStackInput) String() string {
5981	return awsutil.Prettify(s)
5982}
5983
5984// GoString returns the string representation
5985func (s CreateStackInput) GoString() string {
5986	return s.String()
5987}
5988
5989// Validate inspects the fields of the type to determine if they are valid.
5990func (s *CreateStackInput) Validate() error {
5991	invalidParams := request.ErrInvalidParams{Context: "CreateStackInput"}
5992	if s.AccessEndpoints != nil && len(s.AccessEndpoints) < 1 {
5993		invalidParams.Add(request.NewErrParamMinLen("AccessEndpoints", 1))
5994	}
5995	if s.EmbedHostDomains != nil && len(s.EmbedHostDomains) < 1 {
5996		invalidParams.Add(request.NewErrParamMinLen("EmbedHostDomains", 1))
5997	}
5998	if s.Name == nil {
5999		invalidParams.Add(request.NewErrParamRequired("Name"))
6000	}
6001	if s.Tags != nil && len(s.Tags) < 1 {
6002		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
6003	}
6004	if s.UserSettings != nil && len(s.UserSettings) < 1 {
6005		invalidParams.Add(request.NewErrParamMinLen("UserSettings", 1))
6006	}
6007	if s.AccessEndpoints != nil {
6008		for i, v := range s.AccessEndpoints {
6009			if v == nil {
6010				continue
6011			}
6012			if err := v.Validate(); err != nil {
6013				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessEndpoints", i), err.(request.ErrInvalidParams))
6014			}
6015		}
6016	}
6017	if s.ApplicationSettings != nil {
6018		if err := s.ApplicationSettings.Validate(); err != nil {
6019			invalidParams.AddNested("ApplicationSettings", err.(request.ErrInvalidParams))
6020		}
6021	}
6022	if s.StorageConnectors != nil {
6023		for i, v := range s.StorageConnectors {
6024			if v == nil {
6025				continue
6026			}
6027			if err := v.Validate(); err != nil {
6028				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StorageConnectors", i), err.(request.ErrInvalidParams))
6029			}
6030		}
6031	}
6032	if s.UserSettings != nil {
6033		for i, v := range s.UserSettings {
6034			if v == nil {
6035				continue
6036			}
6037			if err := v.Validate(); err != nil {
6038				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserSettings", i), err.(request.ErrInvalidParams))
6039			}
6040		}
6041	}
6042
6043	if invalidParams.Len() > 0 {
6044		return invalidParams
6045	}
6046	return nil
6047}
6048
6049// SetAccessEndpoints sets the AccessEndpoints field's value.
6050func (s *CreateStackInput) SetAccessEndpoints(v []*AccessEndpoint) *CreateStackInput {
6051	s.AccessEndpoints = v
6052	return s
6053}
6054
6055// SetApplicationSettings sets the ApplicationSettings field's value.
6056func (s *CreateStackInput) SetApplicationSettings(v *ApplicationSettings) *CreateStackInput {
6057	s.ApplicationSettings = v
6058	return s
6059}
6060
6061// SetDescription sets the Description field's value.
6062func (s *CreateStackInput) SetDescription(v string) *CreateStackInput {
6063	s.Description = &v
6064	return s
6065}
6066
6067// SetDisplayName sets the DisplayName field's value.
6068func (s *CreateStackInput) SetDisplayName(v string) *CreateStackInput {
6069	s.DisplayName = &v
6070	return s
6071}
6072
6073// SetEmbedHostDomains sets the EmbedHostDomains field's value.
6074func (s *CreateStackInput) SetEmbedHostDomains(v []*string) *CreateStackInput {
6075	s.EmbedHostDomains = v
6076	return s
6077}
6078
6079// SetFeedbackURL sets the FeedbackURL field's value.
6080func (s *CreateStackInput) SetFeedbackURL(v string) *CreateStackInput {
6081	s.FeedbackURL = &v
6082	return s
6083}
6084
6085// SetName sets the Name field's value.
6086func (s *CreateStackInput) SetName(v string) *CreateStackInput {
6087	s.Name = &v
6088	return s
6089}
6090
6091// SetRedirectURL sets the RedirectURL field's value.
6092func (s *CreateStackInput) SetRedirectURL(v string) *CreateStackInput {
6093	s.RedirectURL = &v
6094	return s
6095}
6096
6097// SetStorageConnectors sets the StorageConnectors field's value.
6098func (s *CreateStackInput) SetStorageConnectors(v []*StorageConnector) *CreateStackInput {
6099	s.StorageConnectors = v
6100	return s
6101}
6102
6103// SetTags sets the Tags field's value.
6104func (s *CreateStackInput) SetTags(v map[string]*string) *CreateStackInput {
6105	s.Tags = v
6106	return s
6107}
6108
6109// SetUserSettings sets the UserSettings field's value.
6110func (s *CreateStackInput) SetUserSettings(v []*UserSetting) *CreateStackInput {
6111	s.UserSettings = v
6112	return s
6113}
6114
6115type CreateStackOutput struct {
6116	_ struct{} `type:"structure"`
6117
6118	// Information about the stack.
6119	Stack *Stack `type:"structure"`
6120}
6121
6122// String returns the string representation
6123func (s CreateStackOutput) String() string {
6124	return awsutil.Prettify(s)
6125}
6126
6127// GoString returns the string representation
6128func (s CreateStackOutput) GoString() string {
6129	return s.String()
6130}
6131
6132// SetStack sets the Stack field's value.
6133func (s *CreateStackOutput) SetStack(v *Stack) *CreateStackOutput {
6134	s.Stack = v
6135	return s
6136}
6137
6138type CreateStreamingURLInput struct {
6139	_ struct{} `type:"structure"`
6140
6141	// The name of the application to launch after the session starts. This is the
6142	// name that you specified as Name in the Image Assistant. If your fleet is
6143	// enabled for the Desktop stream view, you can also choose to launch directly
6144	// to the operating system desktop. To do so, specify Desktop.
6145	ApplicationId *string `min:"1" type:"string"`
6146
6147	// The name of the fleet.
6148	//
6149	// FleetName is a required field
6150	FleetName *string `min:"1" type:"string" required:"true"`
6151
6152	// 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)
6153	// in the Amazon AppStream 2.0 Administration Guide.
6154	SessionContext *string `min:"1" type:"string"`
6155
6156	// The name of the stack.
6157	//
6158	// StackName is a required field
6159	StackName *string `min:"1" type:"string" required:"true"`
6160
6161	// The identifier of the user.
6162	//
6163	// UserId is a required field
6164	UserId *string `min:"2" type:"string" required:"true"`
6165
6166	// The time that the streaming URL will be valid, in seconds. Specify a value
6167	// between 1 and 604800 seconds. The default is 60 seconds.
6168	Validity *int64 `type:"long"`
6169}
6170
6171// String returns the string representation
6172func (s CreateStreamingURLInput) String() string {
6173	return awsutil.Prettify(s)
6174}
6175
6176// GoString returns the string representation
6177func (s CreateStreamingURLInput) GoString() string {
6178	return s.String()
6179}
6180
6181// Validate inspects the fields of the type to determine if they are valid.
6182func (s *CreateStreamingURLInput) Validate() error {
6183	invalidParams := request.ErrInvalidParams{Context: "CreateStreamingURLInput"}
6184	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
6185		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
6186	}
6187	if s.FleetName == nil {
6188		invalidParams.Add(request.NewErrParamRequired("FleetName"))
6189	}
6190	if s.FleetName != nil && len(*s.FleetName) < 1 {
6191		invalidParams.Add(request.NewErrParamMinLen("FleetName", 1))
6192	}
6193	if s.SessionContext != nil && len(*s.SessionContext) < 1 {
6194		invalidParams.Add(request.NewErrParamMinLen("SessionContext", 1))
6195	}
6196	if s.StackName == nil {
6197		invalidParams.Add(request.NewErrParamRequired("StackName"))
6198	}
6199	if s.StackName != nil && len(*s.StackName) < 1 {
6200		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
6201	}
6202	if s.UserId == nil {
6203		invalidParams.Add(request.NewErrParamRequired("UserId"))
6204	}
6205	if s.UserId != nil && len(*s.UserId) < 2 {
6206		invalidParams.Add(request.NewErrParamMinLen("UserId", 2))
6207	}
6208
6209	if invalidParams.Len() > 0 {
6210		return invalidParams
6211	}
6212	return nil
6213}
6214
6215// SetApplicationId sets the ApplicationId field's value.
6216func (s *CreateStreamingURLInput) SetApplicationId(v string) *CreateStreamingURLInput {
6217	s.ApplicationId = &v
6218	return s
6219}
6220
6221// SetFleetName sets the FleetName field's value.
6222func (s *CreateStreamingURLInput) SetFleetName(v string) *CreateStreamingURLInput {
6223	s.FleetName = &v
6224	return s
6225}
6226
6227// SetSessionContext sets the SessionContext field's value.
6228func (s *CreateStreamingURLInput) SetSessionContext(v string) *CreateStreamingURLInput {
6229	s.SessionContext = &v
6230	return s
6231}
6232
6233// SetStackName sets the StackName field's value.
6234func (s *CreateStreamingURLInput) SetStackName(v string) *CreateStreamingURLInput {
6235	s.StackName = &v
6236	return s
6237}
6238
6239// SetUserId sets the UserId field's value.
6240func (s *CreateStreamingURLInput) SetUserId(v string) *CreateStreamingURLInput {
6241	s.UserId = &v
6242	return s
6243}
6244
6245// SetValidity sets the Validity field's value.
6246func (s *CreateStreamingURLInput) SetValidity(v int64) *CreateStreamingURLInput {
6247	s.Validity = &v
6248	return s
6249}
6250
6251type CreateStreamingURLOutput struct {
6252	_ struct{} `type:"structure"`
6253
6254	// The elapsed time, in seconds after the Unix epoch, when this URL expires.
6255	Expires *time.Time `type:"timestamp"`
6256
6257	// The URL to start the AppStream 2.0 streaming session.
6258	StreamingURL *string `min:"1" type:"string"`
6259}
6260
6261// String returns the string representation
6262func (s CreateStreamingURLOutput) String() string {
6263	return awsutil.Prettify(s)
6264}
6265
6266// GoString returns the string representation
6267func (s CreateStreamingURLOutput) GoString() string {
6268	return s.String()
6269}
6270
6271// SetExpires sets the Expires field's value.
6272func (s *CreateStreamingURLOutput) SetExpires(v time.Time) *CreateStreamingURLOutput {
6273	s.Expires = &v
6274	return s
6275}
6276
6277// SetStreamingURL sets the StreamingURL field's value.
6278func (s *CreateStreamingURLOutput) SetStreamingURL(v string) *CreateStreamingURLOutput {
6279	s.StreamingURL = &v
6280	return s
6281}
6282
6283type CreateUpdatedImageInput struct {
6284	_ struct{} `type:"structure"`
6285
6286	// Indicates whether to display the status of image update availability before
6287	// AppStream 2.0 initiates the process of creating a new updated image. If this
6288	// value is set to true, AppStream 2.0 displays whether image updates are available.
6289	// If this value is set to false, AppStream 2.0 initiates the process of creating
6290	// a new updated image without displaying whether image updates are available.
6291	DryRun *bool `locationName:"dryRun" type:"boolean"`
6292
6293	// The name of the image to update.
6294	//
6295	// ExistingImageName is a required field
6296	ExistingImageName *string `locationName:"existingImageName" type:"string" required:"true"`
6297
6298	// The description to display for the new image.
6299	NewImageDescription *string `locationName:"newImageDescription" type:"string"`
6300
6301	// The name to display for the new image.
6302	NewImageDisplayName *string `locationName:"newImageDisplayName" type:"string"`
6303
6304	// The name of the new image. The name must be unique within the AWS account
6305	// and Region.
6306	//
6307	// NewImageName is a required field
6308	NewImageName *string `locationName:"newImageName" type:"string" required:"true"`
6309
6310	// The tags to associate with the new image. A tag is a key-value pair, and
6311	// the value is optional. For example, Environment=Test. If you do not specify
6312	// a value, Environment=.
6313	//
6314	// Generally allowed characters are: letters, numbers, and spaces representable
6315	// in UTF-8, and the following special characters:
6316	//
6317	// _ . : / = + \ - @
6318	//
6319	// If you do not specify a value, the value is set to an empty string.
6320	//
6321	// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
6322	// in the Amazon AppStream 2.0 Administration Guide.
6323	NewImageTags map[string]*string `locationName:"newImageTags" min:"1" type:"map"`
6324}
6325
6326// String returns the string representation
6327func (s CreateUpdatedImageInput) String() string {
6328	return awsutil.Prettify(s)
6329}
6330
6331// GoString returns the string representation
6332func (s CreateUpdatedImageInput) GoString() string {
6333	return s.String()
6334}
6335
6336// Validate inspects the fields of the type to determine if they are valid.
6337func (s *CreateUpdatedImageInput) Validate() error {
6338	invalidParams := request.ErrInvalidParams{Context: "CreateUpdatedImageInput"}
6339	if s.ExistingImageName == nil {
6340		invalidParams.Add(request.NewErrParamRequired("ExistingImageName"))
6341	}
6342	if s.NewImageName == nil {
6343		invalidParams.Add(request.NewErrParamRequired("NewImageName"))
6344	}
6345	if s.NewImageTags != nil && len(s.NewImageTags) < 1 {
6346		invalidParams.Add(request.NewErrParamMinLen("NewImageTags", 1))
6347	}
6348
6349	if invalidParams.Len() > 0 {
6350		return invalidParams
6351	}
6352	return nil
6353}
6354
6355// SetDryRun sets the DryRun field's value.
6356func (s *CreateUpdatedImageInput) SetDryRun(v bool) *CreateUpdatedImageInput {
6357	s.DryRun = &v
6358	return s
6359}
6360
6361// SetExistingImageName sets the ExistingImageName field's value.
6362func (s *CreateUpdatedImageInput) SetExistingImageName(v string) *CreateUpdatedImageInput {
6363	s.ExistingImageName = &v
6364	return s
6365}
6366
6367// SetNewImageDescription sets the NewImageDescription field's value.
6368func (s *CreateUpdatedImageInput) SetNewImageDescription(v string) *CreateUpdatedImageInput {
6369	s.NewImageDescription = &v
6370	return s
6371}
6372
6373// SetNewImageDisplayName sets the NewImageDisplayName field's value.
6374func (s *CreateUpdatedImageInput) SetNewImageDisplayName(v string) *CreateUpdatedImageInput {
6375	s.NewImageDisplayName = &v
6376	return s
6377}
6378
6379// SetNewImageName sets the NewImageName field's value.
6380func (s *CreateUpdatedImageInput) SetNewImageName(v string) *CreateUpdatedImageInput {
6381	s.NewImageName = &v
6382	return s
6383}
6384
6385// SetNewImageTags sets the NewImageTags field's value.
6386func (s *CreateUpdatedImageInput) SetNewImageTags(v map[string]*string) *CreateUpdatedImageInput {
6387	s.NewImageTags = v
6388	return s
6389}
6390
6391type CreateUpdatedImageOutput struct {
6392	_ struct{} `type:"structure"`
6393
6394	// Indicates whether a new image can be created.
6395	CanUpdateImage *bool `locationName:"canUpdateImage" type:"boolean"`
6396
6397	// Describes an image.
6398	Image *Image `locationName:"image" type:"structure"`
6399}
6400
6401// String returns the string representation
6402func (s CreateUpdatedImageOutput) String() string {
6403	return awsutil.Prettify(s)
6404}
6405
6406// GoString returns the string representation
6407func (s CreateUpdatedImageOutput) GoString() string {
6408	return s.String()
6409}
6410
6411// SetCanUpdateImage sets the CanUpdateImage field's value.
6412func (s *CreateUpdatedImageOutput) SetCanUpdateImage(v bool) *CreateUpdatedImageOutput {
6413	s.CanUpdateImage = &v
6414	return s
6415}
6416
6417// SetImage sets the Image field's value.
6418func (s *CreateUpdatedImageOutput) SetImage(v *Image) *CreateUpdatedImageOutput {
6419	s.Image = v
6420	return s
6421}
6422
6423type CreateUsageReportSubscriptionInput struct {
6424	_ struct{} `type:"structure"`
6425}
6426
6427// String returns the string representation
6428func (s CreateUsageReportSubscriptionInput) String() string {
6429	return awsutil.Prettify(s)
6430}
6431
6432// GoString returns the string representation
6433func (s CreateUsageReportSubscriptionInput) GoString() string {
6434	return s.String()
6435}
6436
6437type CreateUsageReportSubscriptionOutput struct {
6438	_ struct{} `type:"structure"`
6439
6440	// The Amazon S3 bucket where generated reports are stored.
6441	//
6442	// If you enabled on-instance session scripts and Amazon S3 logging for your
6443	// session script configuration, AppStream 2.0 created an S3 bucket to store
6444	// the script output. The bucket is unique to your account and Region. When
6445	// you enable usage reporting in this case, AppStream 2.0 uses the same bucket
6446	// to store your usage reports. If you haven't already enabled on-instance session
6447	// scripts, when you enable usage reports, AppStream 2.0 creates a new S3 bucket.
6448	S3BucketName *string `min:"1" type:"string"`
6449
6450	// The schedule for generating usage reports.
6451	Schedule *string `type:"string" enum:"UsageReportSchedule"`
6452}
6453
6454// String returns the string representation
6455func (s CreateUsageReportSubscriptionOutput) String() string {
6456	return awsutil.Prettify(s)
6457}
6458
6459// GoString returns the string representation
6460func (s CreateUsageReportSubscriptionOutput) GoString() string {
6461	return s.String()
6462}
6463
6464// SetS3BucketName sets the S3BucketName field's value.
6465func (s *CreateUsageReportSubscriptionOutput) SetS3BucketName(v string) *CreateUsageReportSubscriptionOutput {
6466	s.S3BucketName = &v
6467	return s
6468}
6469
6470// SetSchedule sets the Schedule field's value.
6471func (s *CreateUsageReportSubscriptionOutput) SetSchedule(v string) *CreateUsageReportSubscriptionOutput {
6472	s.Schedule = &v
6473	return s
6474}
6475
6476type CreateUserInput struct {
6477	_ struct{} `type:"structure"`
6478
6479	// The authentication type for the user. You must specify USERPOOL.
6480	//
6481	// AuthenticationType is a required field
6482	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
6483
6484	// The first name, or given name, of the user.
6485	FirstName *string `type:"string" sensitive:"true"`
6486
6487	// The last name, or surname, of the user.
6488	LastName *string `type:"string" sensitive:"true"`
6489
6490	// The action to take for the welcome email that is sent to a user after the
6491	// user is created in the user pool. If you specify SUPPRESS, no email is sent.
6492	// If you specify RESEND, do not specify the first name or last name of the
6493	// user. If the value is null, the email is sent.
6494	//
6495	// The temporary password in the welcome email is valid for only 7 days. If
6496	// users don’t set their passwords within 7 days, you must send them a new
6497	// welcome email.
6498	MessageAction *string `type:"string" enum:"MessageAction"`
6499
6500	// The email address of the user.
6501	//
6502	// Users' email addresses are case-sensitive. During login, if they specify
6503	// an email address that doesn't use the same capitalization as the email address
6504	// specified when their user pool account was created, a "user does not exist"
6505	// error message displays.
6506	//
6507	// UserName is a required field
6508	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
6509}
6510
6511// String returns the string representation
6512func (s CreateUserInput) String() string {
6513	return awsutil.Prettify(s)
6514}
6515
6516// GoString returns the string representation
6517func (s CreateUserInput) GoString() string {
6518	return s.String()
6519}
6520
6521// Validate inspects the fields of the type to determine if they are valid.
6522func (s *CreateUserInput) Validate() error {
6523	invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"}
6524	if s.AuthenticationType == nil {
6525		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
6526	}
6527	if s.UserName == nil {
6528		invalidParams.Add(request.NewErrParamRequired("UserName"))
6529	}
6530	if s.UserName != nil && len(*s.UserName) < 1 {
6531		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
6532	}
6533
6534	if invalidParams.Len() > 0 {
6535		return invalidParams
6536	}
6537	return nil
6538}
6539
6540// SetAuthenticationType sets the AuthenticationType field's value.
6541func (s *CreateUserInput) SetAuthenticationType(v string) *CreateUserInput {
6542	s.AuthenticationType = &v
6543	return s
6544}
6545
6546// SetFirstName sets the FirstName field's value.
6547func (s *CreateUserInput) SetFirstName(v string) *CreateUserInput {
6548	s.FirstName = &v
6549	return s
6550}
6551
6552// SetLastName sets the LastName field's value.
6553func (s *CreateUserInput) SetLastName(v string) *CreateUserInput {
6554	s.LastName = &v
6555	return s
6556}
6557
6558// SetMessageAction sets the MessageAction field's value.
6559func (s *CreateUserInput) SetMessageAction(v string) *CreateUserInput {
6560	s.MessageAction = &v
6561	return s
6562}
6563
6564// SetUserName sets the UserName field's value.
6565func (s *CreateUserInput) SetUserName(v string) *CreateUserInput {
6566	s.UserName = &v
6567	return s
6568}
6569
6570type CreateUserOutput struct {
6571	_ struct{} `type:"structure"`
6572}
6573
6574// String returns the string representation
6575func (s CreateUserOutput) String() string {
6576	return awsutil.Prettify(s)
6577}
6578
6579// GoString returns the string representation
6580func (s CreateUserOutput) GoString() string {
6581	return s.String()
6582}
6583
6584type DeleteDirectoryConfigInput struct {
6585	_ struct{} `type:"structure"`
6586
6587	// The name of the directory configuration.
6588	//
6589	// DirectoryName is a required field
6590	DirectoryName *string `type:"string" required:"true"`
6591}
6592
6593// String returns the string representation
6594func (s DeleteDirectoryConfigInput) String() string {
6595	return awsutil.Prettify(s)
6596}
6597
6598// GoString returns the string representation
6599func (s DeleteDirectoryConfigInput) GoString() string {
6600	return s.String()
6601}
6602
6603// Validate inspects the fields of the type to determine if they are valid.
6604func (s *DeleteDirectoryConfigInput) Validate() error {
6605	invalidParams := request.ErrInvalidParams{Context: "DeleteDirectoryConfigInput"}
6606	if s.DirectoryName == nil {
6607		invalidParams.Add(request.NewErrParamRequired("DirectoryName"))
6608	}
6609
6610	if invalidParams.Len() > 0 {
6611		return invalidParams
6612	}
6613	return nil
6614}
6615
6616// SetDirectoryName sets the DirectoryName field's value.
6617func (s *DeleteDirectoryConfigInput) SetDirectoryName(v string) *DeleteDirectoryConfigInput {
6618	s.DirectoryName = &v
6619	return s
6620}
6621
6622type DeleteDirectoryConfigOutput struct {
6623	_ struct{} `type:"structure"`
6624}
6625
6626// String returns the string representation
6627func (s DeleteDirectoryConfigOutput) String() string {
6628	return awsutil.Prettify(s)
6629}
6630
6631// GoString returns the string representation
6632func (s DeleteDirectoryConfigOutput) GoString() string {
6633	return s.String()
6634}
6635
6636type DeleteFleetInput struct {
6637	_ struct{} `type:"structure"`
6638
6639	// The name of the fleet.
6640	//
6641	// Name is a required field
6642	Name *string `min:"1" type:"string" required:"true"`
6643}
6644
6645// String returns the string representation
6646func (s DeleteFleetInput) String() string {
6647	return awsutil.Prettify(s)
6648}
6649
6650// GoString returns the string representation
6651func (s DeleteFleetInput) GoString() string {
6652	return s.String()
6653}
6654
6655// Validate inspects the fields of the type to determine if they are valid.
6656func (s *DeleteFleetInput) Validate() error {
6657	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetInput"}
6658	if s.Name == nil {
6659		invalidParams.Add(request.NewErrParamRequired("Name"))
6660	}
6661	if s.Name != nil && len(*s.Name) < 1 {
6662		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6663	}
6664
6665	if invalidParams.Len() > 0 {
6666		return invalidParams
6667	}
6668	return nil
6669}
6670
6671// SetName sets the Name field's value.
6672func (s *DeleteFleetInput) SetName(v string) *DeleteFleetInput {
6673	s.Name = &v
6674	return s
6675}
6676
6677type DeleteFleetOutput struct {
6678	_ struct{} `type:"structure"`
6679}
6680
6681// String returns the string representation
6682func (s DeleteFleetOutput) String() string {
6683	return awsutil.Prettify(s)
6684}
6685
6686// GoString returns the string representation
6687func (s DeleteFleetOutput) GoString() string {
6688	return s.String()
6689}
6690
6691type DeleteImageBuilderInput struct {
6692	_ struct{} `type:"structure"`
6693
6694	// The name of the image builder.
6695	//
6696	// Name is a required field
6697	Name *string `type:"string" required:"true"`
6698}
6699
6700// String returns the string representation
6701func (s DeleteImageBuilderInput) String() string {
6702	return awsutil.Prettify(s)
6703}
6704
6705// GoString returns the string representation
6706func (s DeleteImageBuilderInput) GoString() string {
6707	return s.String()
6708}
6709
6710// Validate inspects the fields of the type to determine if they are valid.
6711func (s *DeleteImageBuilderInput) Validate() error {
6712	invalidParams := request.ErrInvalidParams{Context: "DeleteImageBuilderInput"}
6713	if s.Name == nil {
6714		invalidParams.Add(request.NewErrParamRequired("Name"))
6715	}
6716
6717	if invalidParams.Len() > 0 {
6718		return invalidParams
6719	}
6720	return nil
6721}
6722
6723// SetName sets the Name field's value.
6724func (s *DeleteImageBuilderInput) SetName(v string) *DeleteImageBuilderInput {
6725	s.Name = &v
6726	return s
6727}
6728
6729type DeleteImageBuilderOutput struct {
6730	_ struct{} `type:"structure"`
6731
6732	// Information about the image builder.
6733	ImageBuilder *ImageBuilder `type:"structure"`
6734}
6735
6736// String returns the string representation
6737func (s DeleteImageBuilderOutput) String() string {
6738	return awsutil.Prettify(s)
6739}
6740
6741// GoString returns the string representation
6742func (s DeleteImageBuilderOutput) GoString() string {
6743	return s.String()
6744}
6745
6746// SetImageBuilder sets the ImageBuilder field's value.
6747func (s *DeleteImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *DeleteImageBuilderOutput {
6748	s.ImageBuilder = v
6749	return s
6750}
6751
6752type DeleteImageInput struct {
6753	_ struct{} `type:"structure"`
6754
6755	// The name of the image.
6756	//
6757	// Name is a required field
6758	Name *string `type:"string" required:"true"`
6759}
6760
6761// String returns the string representation
6762func (s DeleteImageInput) String() string {
6763	return awsutil.Prettify(s)
6764}
6765
6766// GoString returns the string representation
6767func (s DeleteImageInput) GoString() string {
6768	return s.String()
6769}
6770
6771// Validate inspects the fields of the type to determine if they are valid.
6772func (s *DeleteImageInput) Validate() error {
6773	invalidParams := request.ErrInvalidParams{Context: "DeleteImageInput"}
6774	if s.Name == nil {
6775		invalidParams.Add(request.NewErrParamRequired("Name"))
6776	}
6777
6778	if invalidParams.Len() > 0 {
6779		return invalidParams
6780	}
6781	return nil
6782}
6783
6784// SetName sets the Name field's value.
6785func (s *DeleteImageInput) SetName(v string) *DeleteImageInput {
6786	s.Name = &v
6787	return s
6788}
6789
6790type DeleteImageOutput struct {
6791	_ struct{} `type:"structure"`
6792
6793	// Information about the image.
6794	Image *Image `type:"structure"`
6795}
6796
6797// String returns the string representation
6798func (s DeleteImageOutput) String() string {
6799	return awsutil.Prettify(s)
6800}
6801
6802// GoString returns the string representation
6803func (s DeleteImageOutput) GoString() string {
6804	return s.String()
6805}
6806
6807// SetImage sets the Image field's value.
6808func (s *DeleteImageOutput) SetImage(v *Image) *DeleteImageOutput {
6809	s.Image = v
6810	return s
6811}
6812
6813type DeleteImagePermissionsInput struct {
6814	_ struct{} `type:"structure"`
6815
6816	// The name of the private image.
6817	//
6818	// Name is a required field
6819	Name *string `type:"string" required:"true"`
6820
6821	// The 12-digit identifier of the AWS account for which to delete image permissions.
6822	//
6823	// SharedAccountId is a required field
6824	SharedAccountId *string `type:"string" required:"true"`
6825}
6826
6827// String returns the string representation
6828func (s DeleteImagePermissionsInput) String() string {
6829	return awsutil.Prettify(s)
6830}
6831
6832// GoString returns the string representation
6833func (s DeleteImagePermissionsInput) GoString() string {
6834	return s.String()
6835}
6836
6837// Validate inspects the fields of the type to determine if they are valid.
6838func (s *DeleteImagePermissionsInput) Validate() error {
6839	invalidParams := request.ErrInvalidParams{Context: "DeleteImagePermissionsInput"}
6840	if s.Name == nil {
6841		invalidParams.Add(request.NewErrParamRequired("Name"))
6842	}
6843	if s.SharedAccountId == nil {
6844		invalidParams.Add(request.NewErrParamRequired("SharedAccountId"))
6845	}
6846
6847	if invalidParams.Len() > 0 {
6848		return invalidParams
6849	}
6850	return nil
6851}
6852
6853// SetName sets the Name field's value.
6854func (s *DeleteImagePermissionsInput) SetName(v string) *DeleteImagePermissionsInput {
6855	s.Name = &v
6856	return s
6857}
6858
6859// SetSharedAccountId sets the SharedAccountId field's value.
6860func (s *DeleteImagePermissionsInput) SetSharedAccountId(v string) *DeleteImagePermissionsInput {
6861	s.SharedAccountId = &v
6862	return s
6863}
6864
6865type DeleteImagePermissionsOutput struct {
6866	_ struct{} `type:"structure"`
6867}
6868
6869// String returns the string representation
6870func (s DeleteImagePermissionsOutput) String() string {
6871	return awsutil.Prettify(s)
6872}
6873
6874// GoString returns the string representation
6875func (s DeleteImagePermissionsOutput) GoString() string {
6876	return s.String()
6877}
6878
6879type DeleteStackInput struct {
6880	_ struct{} `type:"structure"`
6881
6882	// The name of the stack.
6883	//
6884	// Name is a required field
6885	Name *string `min:"1" type:"string" required:"true"`
6886}
6887
6888// String returns the string representation
6889func (s DeleteStackInput) String() string {
6890	return awsutil.Prettify(s)
6891}
6892
6893// GoString returns the string representation
6894func (s DeleteStackInput) GoString() string {
6895	return s.String()
6896}
6897
6898// Validate inspects the fields of the type to determine if they are valid.
6899func (s *DeleteStackInput) Validate() error {
6900	invalidParams := request.ErrInvalidParams{Context: "DeleteStackInput"}
6901	if s.Name == nil {
6902		invalidParams.Add(request.NewErrParamRequired("Name"))
6903	}
6904	if s.Name != nil && len(*s.Name) < 1 {
6905		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6906	}
6907
6908	if invalidParams.Len() > 0 {
6909		return invalidParams
6910	}
6911	return nil
6912}
6913
6914// SetName sets the Name field's value.
6915func (s *DeleteStackInput) SetName(v string) *DeleteStackInput {
6916	s.Name = &v
6917	return s
6918}
6919
6920type DeleteStackOutput struct {
6921	_ struct{} `type:"structure"`
6922}
6923
6924// String returns the string representation
6925func (s DeleteStackOutput) String() string {
6926	return awsutil.Prettify(s)
6927}
6928
6929// GoString returns the string representation
6930func (s DeleteStackOutput) GoString() string {
6931	return s.String()
6932}
6933
6934type DeleteUsageReportSubscriptionInput struct {
6935	_ struct{} `type:"structure"`
6936}
6937
6938// String returns the string representation
6939func (s DeleteUsageReportSubscriptionInput) String() string {
6940	return awsutil.Prettify(s)
6941}
6942
6943// GoString returns the string representation
6944func (s DeleteUsageReportSubscriptionInput) GoString() string {
6945	return s.String()
6946}
6947
6948type DeleteUsageReportSubscriptionOutput struct {
6949	_ struct{} `type:"structure"`
6950}
6951
6952// String returns the string representation
6953func (s DeleteUsageReportSubscriptionOutput) String() string {
6954	return awsutil.Prettify(s)
6955}
6956
6957// GoString returns the string representation
6958func (s DeleteUsageReportSubscriptionOutput) GoString() string {
6959	return s.String()
6960}
6961
6962type DeleteUserInput struct {
6963	_ struct{} `type:"structure"`
6964
6965	// The authentication type for the user. You must specify USERPOOL.
6966	//
6967	// AuthenticationType is a required field
6968	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
6969
6970	// The email address of the user.
6971	//
6972	// Users' email addresses are case-sensitive.
6973	//
6974	// UserName is a required field
6975	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
6976}
6977
6978// String returns the string representation
6979func (s DeleteUserInput) String() string {
6980	return awsutil.Prettify(s)
6981}
6982
6983// GoString returns the string representation
6984func (s DeleteUserInput) GoString() string {
6985	return s.String()
6986}
6987
6988// Validate inspects the fields of the type to determine if they are valid.
6989func (s *DeleteUserInput) Validate() error {
6990	invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
6991	if s.AuthenticationType == nil {
6992		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
6993	}
6994	if s.UserName == nil {
6995		invalidParams.Add(request.NewErrParamRequired("UserName"))
6996	}
6997	if s.UserName != nil && len(*s.UserName) < 1 {
6998		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
6999	}
7000
7001	if invalidParams.Len() > 0 {
7002		return invalidParams
7003	}
7004	return nil
7005}
7006
7007// SetAuthenticationType sets the AuthenticationType field's value.
7008func (s *DeleteUserInput) SetAuthenticationType(v string) *DeleteUserInput {
7009	s.AuthenticationType = &v
7010	return s
7011}
7012
7013// SetUserName sets the UserName field's value.
7014func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput {
7015	s.UserName = &v
7016	return s
7017}
7018
7019type DeleteUserOutput struct {
7020	_ struct{} `type:"structure"`
7021}
7022
7023// String returns the string representation
7024func (s DeleteUserOutput) String() string {
7025	return awsutil.Prettify(s)
7026}
7027
7028// GoString returns the string representation
7029func (s DeleteUserOutput) GoString() string {
7030	return s.String()
7031}
7032
7033type DescribeDirectoryConfigsInput struct {
7034	_ struct{} `type:"structure"`
7035
7036	// The directory names.
7037	DirectoryNames []*string `type:"list"`
7038
7039	// The maximum size of each page of results.
7040	MaxResults *int64 `type:"integer"`
7041
7042	// The pagination token to use to retrieve the next page of results for this
7043	// operation. If this value is null, it retrieves the first page.
7044	NextToken *string `min:"1" type:"string"`
7045}
7046
7047// String returns the string representation
7048func (s DescribeDirectoryConfigsInput) String() string {
7049	return awsutil.Prettify(s)
7050}
7051
7052// GoString returns the string representation
7053func (s DescribeDirectoryConfigsInput) GoString() string {
7054	return s.String()
7055}
7056
7057// Validate inspects the fields of the type to determine if they are valid.
7058func (s *DescribeDirectoryConfigsInput) Validate() error {
7059	invalidParams := request.ErrInvalidParams{Context: "DescribeDirectoryConfigsInput"}
7060	if s.NextToken != nil && len(*s.NextToken) < 1 {
7061		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7062	}
7063
7064	if invalidParams.Len() > 0 {
7065		return invalidParams
7066	}
7067	return nil
7068}
7069
7070// SetDirectoryNames sets the DirectoryNames field's value.
7071func (s *DescribeDirectoryConfigsInput) SetDirectoryNames(v []*string) *DescribeDirectoryConfigsInput {
7072	s.DirectoryNames = v
7073	return s
7074}
7075
7076// SetMaxResults sets the MaxResults field's value.
7077func (s *DescribeDirectoryConfigsInput) SetMaxResults(v int64) *DescribeDirectoryConfigsInput {
7078	s.MaxResults = &v
7079	return s
7080}
7081
7082// SetNextToken sets the NextToken field's value.
7083func (s *DescribeDirectoryConfigsInput) SetNextToken(v string) *DescribeDirectoryConfigsInput {
7084	s.NextToken = &v
7085	return s
7086}
7087
7088type DescribeDirectoryConfigsOutput struct {
7089	_ struct{} `type:"structure"`
7090
7091	// Information about the directory configurations. Note that although the response
7092	// syntax in this topic includes the account password, this password is not
7093	// returned in the actual response.
7094	DirectoryConfigs []*DirectoryConfig `type:"list"`
7095
7096	// The pagination token to use to retrieve the next page of results for this
7097	// operation. If there are no more pages, this value is null.
7098	NextToken *string `min:"1" type:"string"`
7099}
7100
7101// String returns the string representation
7102func (s DescribeDirectoryConfigsOutput) String() string {
7103	return awsutil.Prettify(s)
7104}
7105
7106// GoString returns the string representation
7107func (s DescribeDirectoryConfigsOutput) GoString() string {
7108	return s.String()
7109}
7110
7111// SetDirectoryConfigs sets the DirectoryConfigs field's value.
7112func (s *DescribeDirectoryConfigsOutput) SetDirectoryConfigs(v []*DirectoryConfig) *DescribeDirectoryConfigsOutput {
7113	s.DirectoryConfigs = v
7114	return s
7115}
7116
7117// SetNextToken sets the NextToken field's value.
7118func (s *DescribeDirectoryConfigsOutput) SetNextToken(v string) *DescribeDirectoryConfigsOutput {
7119	s.NextToken = &v
7120	return s
7121}
7122
7123type DescribeFleetsInput struct {
7124	_ struct{} `type:"structure"`
7125
7126	// The names of the fleets to describe.
7127	Names []*string `type:"list"`
7128
7129	// The pagination token to use to retrieve the next page of results for this
7130	// operation. If this value is null, it retrieves the first page.
7131	NextToken *string `min:"1" type:"string"`
7132}
7133
7134// String returns the string representation
7135func (s DescribeFleetsInput) String() string {
7136	return awsutil.Prettify(s)
7137}
7138
7139// GoString returns the string representation
7140func (s DescribeFleetsInput) GoString() string {
7141	return s.String()
7142}
7143
7144// Validate inspects the fields of the type to determine if they are valid.
7145func (s *DescribeFleetsInput) Validate() error {
7146	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetsInput"}
7147	if s.NextToken != nil && len(*s.NextToken) < 1 {
7148		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7149	}
7150
7151	if invalidParams.Len() > 0 {
7152		return invalidParams
7153	}
7154	return nil
7155}
7156
7157// SetNames sets the Names field's value.
7158func (s *DescribeFleetsInput) SetNames(v []*string) *DescribeFleetsInput {
7159	s.Names = v
7160	return s
7161}
7162
7163// SetNextToken sets the NextToken field's value.
7164func (s *DescribeFleetsInput) SetNextToken(v string) *DescribeFleetsInput {
7165	s.NextToken = &v
7166	return s
7167}
7168
7169type DescribeFleetsOutput struct {
7170	_ struct{} `type:"structure"`
7171
7172	// Information about the fleets.
7173	Fleets []*Fleet `type:"list"`
7174
7175	// The pagination token to use to retrieve the next page of results for this
7176	// operation. If there are no more pages, this value is null.
7177	NextToken *string `min:"1" type:"string"`
7178}
7179
7180// String returns the string representation
7181func (s DescribeFleetsOutput) String() string {
7182	return awsutil.Prettify(s)
7183}
7184
7185// GoString returns the string representation
7186func (s DescribeFleetsOutput) GoString() string {
7187	return s.String()
7188}
7189
7190// SetFleets sets the Fleets field's value.
7191func (s *DescribeFleetsOutput) SetFleets(v []*Fleet) *DescribeFleetsOutput {
7192	s.Fleets = v
7193	return s
7194}
7195
7196// SetNextToken sets the NextToken field's value.
7197func (s *DescribeFleetsOutput) SetNextToken(v string) *DescribeFleetsOutput {
7198	s.NextToken = &v
7199	return s
7200}
7201
7202type DescribeImageBuildersInput struct {
7203	_ struct{} `type:"structure"`
7204
7205	// The maximum size of each page of results.
7206	MaxResults *int64 `type:"integer"`
7207
7208	// The names of the image builders to describe.
7209	Names []*string `type:"list"`
7210
7211	// The pagination token to use to retrieve the next page of results for this
7212	// operation. If this value is null, it retrieves the first page.
7213	NextToken *string `min:"1" type:"string"`
7214}
7215
7216// String returns the string representation
7217func (s DescribeImageBuildersInput) String() string {
7218	return awsutil.Prettify(s)
7219}
7220
7221// GoString returns the string representation
7222func (s DescribeImageBuildersInput) GoString() string {
7223	return s.String()
7224}
7225
7226// Validate inspects the fields of the type to determine if they are valid.
7227func (s *DescribeImageBuildersInput) Validate() error {
7228	invalidParams := request.ErrInvalidParams{Context: "DescribeImageBuildersInput"}
7229	if s.NextToken != nil && len(*s.NextToken) < 1 {
7230		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7231	}
7232
7233	if invalidParams.Len() > 0 {
7234		return invalidParams
7235	}
7236	return nil
7237}
7238
7239// SetMaxResults sets the MaxResults field's value.
7240func (s *DescribeImageBuildersInput) SetMaxResults(v int64) *DescribeImageBuildersInput {
7241	s.MaxResults = &v
7242	return s
7243}
7244
7245// SetNames sets the Names field's value.
7246func (s *DescribeImageBuildersInput) SetNames(v []*string) *DescribeImageBuildersInput {
7247	s.Names = v
7248	return s
7249}
7250
7251// SetNextToken sets the NextToken field's value.
7252func (s *DescribeImageBuildersInput) SetNextToken(v string) *DescribeImageBuildersInput {
7253	s.NextToken = &v
7254	return s
7255}
7256
7257type DescribeImageBuildersOutput struct {
7258	_ struct{} `type:"structure"`
7259
7260	// Information about the image builders.
7261	ImageBuilders []*ImageBuilder `type:"list"`
7262
7263	// The pagination token to use to retrieve the next page of results for this
7264	// operation. If there are no more pages, this value is null.
7265	NextToken *string `min:"1" type:"string"`
7266}
7267
7268// String returns the string representation
7269func (s DescribeImageBuildersOutput) String() string {
7270	return awsutil.Prettify(s)
7271}
7272
7273// GoString returns the string representation
7274func (s DescribeImageBuildersOutput) GoString() string {
7275	return s.String()
7276}
7277
7278// SetImageBuilders sets the ImageBuilders field's value.
7279func (s *DescribeImageBuildersOutput) SetImageBuilders(v []*ImageBuilder) *DescribeImageBuildersOutput {
7280	s.ImageBuilders = v
7281	return s
7282}
7283
7284// SetNextToken sets the NextToken field's value.
7285func (s *DescribeImageBuildersOutput) SetNextToken(v string) *DescribeImageBuildersOutput {
7286	s.NextToken = &v
7287	return s
7288}
7289
7290type DescribeImagePermissionsInput struct {
7291	_ struct{} `type:"structure"`
7292
7293	// The maximum size of each page of results.
7294	MaxResults *int64 `type:"integer"`
7295
7296	// The name of the private image for which to describe permissions. The image
7297	// must be one that you own.
7298	//
7299	// Name is a required field
7300	Name *string `type:"string" required:"true"`
7301
7302	// The pagination token to use to retrieve the next page of results for this
7303	// operation. If this value is null, it retrieves the first page.
7304	NextToken *string `min:"1" type:"string"`
7305
7306	// The 12-digit identifier of one or more AWS accounts with which the image
7307	// is shared.
7308	SharedAwsAccountIds []*string `min:"1" type:"list"`
7309}
7310
7311// String returns the string representation
7312func (s DescribeImagePermissionsInput) String() string {
7313	return awsutil.Prettify(s)
7314}
7315
7316// GoString returns the string representation
7317func (s DescribeImagePermissionsInput) GoString() string {
7318	return s.String()
7319}
7320
7321// Validate inspects the fields of the type to determine if they are valid.
7322func (s *DescribeImagePermissionsInput) Validate() error {
7323	invalidParams := request.ErrInvalidParams{Context: "DescribeImagePermissionsInput"}
7324	if s.Name == nil {
7325		invalidParams.Add(request.NewErrParamRequired("Name"))
7326	}
7327	if s.NextToken != nil && len(*s.NextToken) < 1 {
7328		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7329	}
7330	if s.SharedAwsAccountIds != nil && len(s.SharedAwsAccountIds) < 1 {
7331		invalidParams.Add(request.NewErrParamMinLen("SharedAwsAccountIds", 1))
7332	}
7333
7334	if invalidParams.Len() > 0 {
7335		return invalidParams
7336	}
7337	return nil
7338}
7339
7340// SetMaxResults sets the MaxResults field's value.
7341func (s *DescribeImagePermissionsInput) SetMaxResults(v int64) *DescribeImagePermissionsInput {
7342	s.MaxResults = &v
7343	return s
7344}
7345
7346// SetName sets the Name field's value.
7347func (s *DescribeImagePermissionsInput) SetName(v string) *DescribeImagePermissionsInput {
7348	s.Name = &v
7349	return s
7350}
7351
7352// SetNextToken sets the NextToken field's value.
7353func (s *DescribeImagePermissionsInput) SetNextToken(v string) *DescribeImagePermissionsInput {
7354	s.NextToken = &v
7355	return s
7356}
7357
7358// SetSharedAwsAccountIds sets the SharedAwsAccountIds field's value.
7359func (s *DescribeImagePermissionsInput) SetSharedAwsAccountIds(v []*string) *DescribeImagePermissionsInput {
7360	s.SharedAwsAccountIds = v
7361	return s
7362}
7363
7364type DescribeImagePermissionsOutput struct {
7365	_ struct{} `type:"structure"`
7366
7367	// The name of the private image.
7368	Name *string `type:"string"`
7369
7370	// The pagination token to use to retrieve the next page of results for this
7371	// operation. If there are no more pages, this value is null.
7372	NextToken *string `min:"1" type:"string"`
7373
7374	// The permissions for a private image that you own.
7375	SharedImagePermissionsList []*SharedImagePermissions `type:"list"`
7376}
7377
7378// String returns the string representation
7379func (s DescribeImagePermissionsOutput) String() string {
7380	return awsutil.Prettify(s)
7381}
7382
7383// GoString returns the string representation
7384func (s DescribeImagePermissionsOutput) GoString() string {
7385	return s.String()
7386}
7387
7388// SetName sets the Name field's value.
7389func (s *DescribeImagePermissionsOutput) SetName(v string) *DescribeImagePermissionsOutput {
7390	s.Name = &v
7391	return s
7392}
7393
7394// SetNextToken sets the NextToken field's value.
7395func (s *DescribeImagePermissionsOutput) SetNextToken(v string) *DescribeImagePermissionsOutput {
7396	s.NextToken = &v
7397	return s
7398}
7399
7400// SetSharedImagePermissionsList sets the SharedImagePermissionsList field's value.
7401func (s *DescribeImagePermissionsOutput) SetSharedImagePermissionsList(v []*SharedImagePermissions) *DescribeImagePermissionsOutput {
7402	s.SharedImagePermissionsList = v
7403	return s
7404}
7405
7406type DescribeImagesInput struct {
7407	_ struct{} `type:"structure"`
7408
7409	// The ARNs of the public, private, and shared images to describe.
7410	Arns []*string `type:"list"`
7411
7412	// The maximum size of each page of results.
7413	MaxResults *int64 `type:"integer"`
7414
7415	// The names of the public or private images to describe.
7416	Names []*string `type:"list"`
7417
7418	// The pagination token to use to retrieve the next page of results for this
7419	// operation. If this value is null, it retrieves the first page.
7420	NextToken *string `min:"1" type:"string"`
7421
7422	// The type of image (public, private, or shared) to describe.
7423	Type *string `type:"string" enum:"VisibilityType"`
7424}
7425
7426// String returns the string representation
7427func (s DescribeImagesInput) String() string {
7428	return awsutil.Prettify(s)
7429}
7430
7431// GoString returns the string representation
7432func (s DescribeImagesInput) GoString() string {
7433	return s.String()
7434}
7435
7436// Validate inspects the fields of the type to determine if they are valid.
7437func (s *DescribeImagesInput) Validate() error {
7438	invalidParams := request.ErrInvalidParams{Context: "DescribeImagesInput"}
7439	if s.NextToken != nil && len(*s.NextToken) < 1 {
7440		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7441	}
7442
7443	if invalidParams.Len() > 0 {
7444		return invalidParams
7445	}
7446	return nil
7447}
7448
7449// SetArns sets the Arns field's value.
7450func (s *DescribeImagesInput) SetArns(v []*string) *DescribeImagesInput {
7451	s.Arns = v
7452	return s
7453}
7454
7455// SetMaxResults sets the MaxResults field's value.
7456func (s *DescribeImagesInput) SetMaxResults(v int64) *DescribeImagesInput {
7457	s.MaxResults = &v
7458	return s
7459}
7460
7461// SetNames sets the Names field's value.
7462func (s *DescribeImagesInput) SetNames(v []*string) *DescribeImagesInput {
7463	s.Names = v
7464	return s
7465}
7466
7467// SetNextToken sets the NextToken field's value.
7468func (s *DescribeImagesInput) SetNextToken(v string) *DescribeImagesInput {
7469	s.NextToken = &v
7470	return s
7471}
7472
7473// SetType sets the Type field's value.
7474func (s *DescribeImagesInput) SetType(v string) *DescribeImagesInput {
7475	s.Type = &v
7476	return s
7477}
7478
7479type DescribeImagesOutput struct {
7480	_ struct{} `type:"structure"`
7481
7482	// Information about the images.
7483	Images []*Image `type:"list"`
7484
7485	// The pagination token to use to retrieve the next page of results for this
7486	// operation. If there are no more pages, this value is null.
7487	NextToken *string `min:"1" type:"string"`
7488}
7489
7490// String returns the string representation
7491func (s DescribeImagesOutput) String() string {
7492	return awsutil.Prettify(s)
7493}
7494
7495// GoString returns the string representation
7496func (s DescribeImagesOutput) GoString() string {
7497	return s.String()
7498}
7499
7500// SetImages sets the Images field's value.
7501func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
7502	s.Images = v
7503	return s
7504}
7505
7506// SetNextToken sets the NextToken field's value.
7507func (s *DescribeImagesOutput) SetNextToken(v string) *DescribeImagesOutput {
7508	s.NextToken = &v
7509	return s
7510}
7511
7512type DescribeSessionsInput struct {
7513	_ struct{} `type:"structure"`
7514
7515	// The authentication method. Specify API for a user authenticated using a streaming
7516	// URL or SAML for a SAML federated user. The default is to authenticate users
7517	// using a streaming URL.
7518	AuthenticationType *string `type:"string" enum:"AuthenticationType"`
7519
7520	// The name of the fleet. This value is case-sensitive.
7521	//
7522	// FleetName is a required field
7523	FleetName *string `min:"1" type:"string" required:"true"`
7524
7525	// The size of each page of results. The default value is 20 and the maximum
7526	// value is 50.
7527	Limit *int64 `type:"integer"`
7528
7529	// The pagination token to use to retrieve the next page of results for this
7530	// operation. If this value is null, it retrieves the first page.
7531	NextToken *string `min:"1" type:"string"`
7532
7533	// The name of the stack. This value is case-sensitive.
7534	//
7535	// StackName is a required field
7536	StackName *string `min:"1" type:"string" required:"true"`
7537
7538	// The user identifier (ID). If you specify a user ID, you must also specify
7539	// the authentication type.
7540	UserId *string `min:"2" type:"string"`
7541}
7542
7543// String returns the string representation
7544func (s DescribeSessionsInput) String() string {
7545	return awsutil.Prettify(s)
7546}
7547
7548// GoString returns the string representation
7549func (s DescribeSessionsInput) GoString() string {
7550	return s.String()
7551}
7552
7553// Validate inspects the fields of the type to determine if they are valid.
7554func (s *DescribeSessionsInput) Validate() error {
7555	invalidParams := request.ErrInvalidParams{Context: "DescribeSessionsInput"}
7556	if s.FleetName == nil {
7557		invalidParams.Add(request.NewErrParamRequired("FleetName"))
7558	}
7559	if s.FleetName != nil && len(*s.FleetName) < 1 {
7560		invalidParams.Add(request.NewErrParamMinLen("FleetName", 1))
7561	}
7562	if s.NextToken != nil && len(*s.NextToken) < 1 {
7563		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7564	}
7565	if s.StackName == nil {
7566		invalidParams.Add(request.NewErrParamRequired("StackName"))
7567	}
7568	if s.StackName != nil && len(*s.StackName) < 1 {
7569		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
7570	}
7571	if s.UserId != nil && len(*s.UserId) < 2 {
7572		invalidParams.Add(request.NewErrParamMinLen("UserId", 2))
7573	}
7574
7575	if invalidParams.Len() > 0 {
7576		return invalidParams
7577	}
7578	return nil
7579}
7580
7581// SetAuthenticationType sets the AuthenticationType field's value.
7582func (s *DescribeSessionsInput) SetAuthenticationType(v string) *DescribeSessionsInput {
7583	s.AuthenticationType = &v
7584	return s
7585}
7586
7587// SetFleetName sets the FleetName field's value.
7588func (s *DescribeSessionsInput) SetFleetName(v string) *DescribeSessionsInput {
7589	s.FleetName = &v
7590	return s
7591}
7592
7593// SetLimit sets the Limit field's value.
7594func (s *DescribeSessionsInput) SetLimit(v int64) *DescribeSessionsInput {
7595	s.Limit = &v
7596	return s
7597}
7598
7599// SetNextToken sets the NextToken field's value.
7600func (s *DescribeSessionsInput) SetNextToken(v string) *DescribeSessionsInput {
7601	s.NextToken = &v
7602	return s
7603}
7604
7605// SetStackName sets the StackName field's value.
7606func (s *DescribeSessionsInput) SetStackName(v string) *DescribeSessionsInput {
7607	s.StackName = &v
7608	return s
7609}
7610
7611// SetUserId sets the UserId field's value.
7612func (s *DescribeSessionsInput) SetUserId(v string) *DescribeSessionsInput {
7613	s.UserId = &v
7614	return s
7615}
7616
7617type DescribeSessionsOutput struct {
7618	_ struct{} `type:"structure"`
7619
7620	// The pagination token to use to retrieve the next page of results for this
7621	// operation. If there are no more pages, this value is null.
7622	NextToken *string `min:"1" type:"string"`
7623
7624	// Information about the streaming sessions.
7625	Sessions []*Session `type:"list"`
7626}
7627
7628// String returns the string representation
7629func (s DescribeSessionsOutput) String() string {
7630	return awsutil.Prettify(s)
7631}
7632
7633// GoString returns the string representation
7634func (s DescribeSessionsOutput) GoString() string {
7635	return s.String()
7636}
7637
7638// SetNextToken sets the NextToken field's value.
7639func (s *DescribeSessionsOutput) SetNextToken(v string) *DescribeSessionsOutput {
7640	s.NextToken = &v
7641	return s
7642}
7643
7644// SetSessions sets the Sessions field's value.
7645func (s *DescribeSessionsOutput) SetSessions(v []*Session) *DescribeSessionsOutput {
7646	s.Sessions = v
7647	return s
7648}
7649
7650type DescribeStacksInput struct {
7651	_ struct{} `type:"structure"`
7652
7653	// The names of the stacks to describe.
7654	Names []*string `type:"list"`
7655
7656	// The pagination token to use to retrieve the next page of results for this
7657	// operation. If this value is null, it retrieves the first page.
7658	NextToken *string `min:"1" type:"string"`
7659}
7660
7661// String returns the string representation
7662func (s DescribeStacksInput) String() string {
7663	return awsutil.Prettify(s)
7664}
7665
7666// GoString returns the string representation
7667func (s DescribeStacksInput) GoString() string {
7668	return s.String()
7669}
7670
7671// Validate inspects the fields of the type to determine if they are valid.
7672func (s *DescribeStacksInput) Validate() error {
7673	invalidParams := request.ErrInvalidParams{Context: "DescribeStacksInput"}
7674	if s.NextToken != nil && len(*s.NextToken) < 1 {
7675		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7676	}
7677
7678	if invalidParams.Len() > 0 {
7679		return invalidParams
7680	}
7681	return nil
7682}
7683
7684// SetNames sets the Names field's value.
7685func (s *DescribeStacksInput) SetNames(v []*string) *DescribeStacksInput {
7686	s.Names = v
7687	return s
7688}
7689
7690// SetNextToken sets the NextToken field's value.
7691func (s *DescribeStacksInput) SetNextToken(v string) *DescribeStacksInput {
7692	s.NextToken = &v
7693	return s
7694}
7695
7696type DescribeStacksOutput struct {
7697	_ struct{} `type:"structure"`
7698
7699	// The pagination token to use to retrieve the next page of results for this
7700	// operation. If there are no more pages, this value is null.
7701	NextToken *string `min:"1" type:"string"`
7702
7703	// Information about the stacks.
7704	Stacks []*Stack `type:"list"`
7705}
7706
7707// String returns the string representation
7708func (s DescribeStacksOutput) String() string {
7709	return awsutil.Prettify(s)
7710}
7711
7712// GoString returns the string representation
7713func (s DescribeStacksOutput) GoString() string {
7714	return s.String()
7715}
7716
7717// SetNextToken sets the NextToken field's value.
7718func (s *DescribeStacksOutput) SetNextToken(v string) *DescribeStacksOutput {
7719	s.NextToken = &v
7720	return s
7721}
7722
7723// SetStacks sets the Stacks field's value.
7724func (s *DescribeStacksOutput) SetStacks(v []*Stack) *DescribeStacksOutput {
7725	s.Stacks = v
7726	return s
7727}
7728
7729type DescribeUsageReportSubscriptionsInput struct {
7730	_ struct{} `type:"structure"`
7731
7732	// The maximum size of each page of results.
7733	MaxResults *int64 `type:"integer"`
7734
7735	// The pagination token to use to retrieve the next page of results for this
7736	// operation. If this value is null, it retrieves the first page.
7737	NextToken *string `min:"1" type:"string"`
7738}
7739
7740// String returns the string representation
7741func (s DescribeUsageReportSubscriptionsInput) String() string {
7742	return awsutil.Prettify(s)
7743}
7744
7745// GoString returns the string representation
7746func (s DescribeUsageReportSubscriptionsInput) GoString() string {
7747	return s.String()
7748}
7749
7750// Validate inspects the fields of the type to determine if they are valid.
7751func (s *DescribeUsageReportSubscriptionsInput) Validate() error {
7752	invalidParams := request.ErrInvalidParams{Context: "DescribeUsageReportSubscriptionsInput"}
7753	if s.NextToken != nil && len(*s.NextToken) < 1 {
7754		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7755	}
7756
7757	if invalidParams.Len() > 0 {
7758		return invalidParams
7759	}
7760	return nil
7761}
7762
7763// SetMaxResults sets the MaxResults field's value.
7764func (s *DescribeUsageReportSubscriptionsInput) SetMaxResults(v int64) *DescribeUsageReportSubscriptionsInput {
7765	s.MaxResults = &v
7766	return s
7767}
7768
7769// SetNextToken sets the NextToken field's value.
7770func (s *DescribeUsageReportSubscriptionsInput) SetNextToken(v string) *DescribeUsageReportSubscriptionsInput {
7771	s.NextToken = &v
7772	return s
7773}
7774
7775type DescribeUsageReportSubscriptionsOutput struct {
7776	_ struct{} `type:"structure"`
7777
7778	// The pagination token to use to retrieve the next page of results for this
7779	// operation. If there are no more pages, this value is null.
7780	NextToken *string `min:"1" type:"string"`
7781
7782	// Information about the usage report subscription.
7783	UsageReportSubscriptions []*UsageReportSubscription `type:"list"`
7784}
7785
7786// String returns the string representation
7787func (s DescribeUsageReportSubscriptionsOutput) String() string {
7788	return awsutil.Prettify(s)
7789}
7790
7791// GoString returns the string representation
7792func (s DescribeUsageReportSubscriptionsOutput) GoString() string {
7793	return s.String()
7794}
7795
7796// SetNextToken sets the NextToken field's value.
7797func (s *DescribeUsageReportSubscriptionsOutput) SetNextToken(v string) *DescribeUsageReportSubscriptionsOutput {
7798	s.NextToken = &v
7799	return s
7800}
7801
7802// SetUsageReportSubscriptions sets the UsageReportSubscriptions field's value.
7803func (s *DescribeUsageReportSubscriptionsOutput) SetUsageReportSubscriptions(v []*UsageReportSubscription) *DescribeUsageReportSubscriptionsOutput {
7804	s.UsageReportSubscriptions = v
7805	return s
7806}
7807
7808type DescribeUserStackAssociationsInput struct {
7809	_ struct{} `type:"structure"`
7810
7811	// The authentication type for the user who is associated with the stack. You
7812	// must specify USERPOOL.
7813	AuthenticationType *string `type:"string" enum:"AuthenticationType"`
7814
7815	// The maximum size of each page of results.
7816	MaxResults *int64 `type:"integer"`
7817
7818	// The pagination token to use to retrieve the next page of results for this
7819	// operation. If this value is null, it retrieves the first page.
7820	NextToken *string `min:"1" type:"string"`
7821
7822	// The name of the stack that is associated with the user.
7823	StackName *string `min:"1" type:"string"`
7824
7825	// The email address of the user who is associated with the stack.
7826	//
7827	// Users' email addresses are case-sensitive.
7828	UserName *string `min:"1" type:"string" sensitive:"true"`
7829}
7830
7831// String returns the string representation
7832func (s DescribeUserStackAssociationsInput) String() string {
7833	return awsutil.Prettify(s)
7834}
7835
7836// GoString returns the string representation
7837func (s DescribeUserStackAssociationsInput) GoString() string {
7838	return s.String()
7839}
7840
7841// Validate inspects the fields of the type to determine if they are valid.
7842func (s *DescribeUserStackAssociationsInput) Validate() error {
7843	invalidParams := request.ErrInvalidParams{Context: "DescribeUserStackAssociationsInput"}
7844	if s.NextToken != nil && len(*s.NextToken) < 1 {
7845		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7846	}
7847	if s.StackName != nil && len(*s.StackName) < 1 {
7848		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
7849	}
7850	if s.UserName != nil && len(*s.UserName) < 1 {
7851		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
7852	}
7853
7854	if invalidParams.Len() > 0 {
7855		return invalidParams
7856	}
7857	return nil
7858}
7859
7860// SetAuthenticationType sets the AuthenticationType field's value.
7861func (s *DescribeUserStackAssociationsInput) SetAuthenticationType(v string) *DescribeUserStackAssociationsInput {
7862	s.AuthenticationType = &v
7863	return s
7864}
7865
7866// SetMaxResults sets the MaxResults field's value.
7867func (s *DescribeUserStackAssociationsInput) SetMaxResults(v int64) *DescribeUserStackAssociationsInput {
7868	s.MaxResults = &v
7869	return s
7870}
7871
7872// SetNextToken sets the NextToken field's value.
7873func (s *DescribeUserStackAssociationsInput) SetNextToken(v string) *DescribeUserStackAssociationsInput {
7874	s.NextToken = &v
7875	return s
7876}
7877
7878// SetStackName sets the StackName field's value.
7879func (s *DescribeUserStackAssociationsInput) SetStackName(v string) *DescribeUserStackAssociationsInput {
7880	s.StackName = &v
7881	return s
7882}
7883
7884// SetUserName sets the UserName field's value.
7885func (s *DescribeUserStackAssociationsInput) SetUserName(v string) *DescribeUserStackAssociationsInput {
7886	s.UserName = &v
7887	return s
7888}
7889
7890type DescribeUserStackAssociationsOutput struct {
7891	_ struct{} `type:"structure"`
7892
7893	// The pagination token to use to retrieve the next page of results for this
7894	// operation. If there are no more pages, this value is null.
7895	NextToken *string `min:"1" type:"string"`
7896
7897	// The UserStackAssociation objects.
7898	UserStackAssociations []*UserStackAssociation `min:"1" type:"list"`
7899}
7900
7901// String returns the string representation
7902func (s DescribeUserStackAssociationsOutput) String() string {
7903	return awsutil.Prettify(s)
7904}
7905
7906// GoString returns the string representation
7907func (s DescribeUserStackAssociationsOutput) GoString() string {
7908	return s.String()
7909}
7910
7911// SetNextToken sets the NextToken field's value.
7912func (s *DescribeUserStackAssociationsOutput) SetNextToken(v string) *DescribeUserStackAssociationsOutput {
7913	s.NextToken = &v
7914	return s
7915}
7916
7917// SetUserStackAssociations sets the UserStackAssociations field's value.
7918func (s *DescribeUserStackAssociationsOutput) SetUserStackAssociations(v []*UserStackAssociation) *DescribeUserStackAssociationsOutput {
7919	s.UserStackAssociations = v
7920	return s
7921}
7922
7923type DescribeUsersInput struct {
7924	_ struct{} `type:"structure"`
7925
7926	// The authentication type for the users in the user pool to describe. You must
7927	// specify USERPOOL.
7928	//
7929	// AuthenticationType is a required field
7930	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
7931
7932	// The maximum size of each page of results.
7933	MaxResults *int64 `type:"integer"`
7934
7935	// The pagination token to use to retrieve the next page of results for this
7936	// operation. If this value is null, it retrieves the first page.
7937	NextToken *string `min:"1" type:"string"`
7938}
7939
7940// String returns the string representation
7941func (s DescribeUsersInput) String() string {
7942	return awsutil.Prettify(s)
7943}
7944
7945// GoString returns the string representation
7946func (s DescribeUsersInput) GoString() string {
7947	return s.String()
7948}
7949
7950// Validate inspects the fields of the type to determine if they are valid.
7951func (s *DescribeUsersInput) Validate() error {
7952	invalidParams := request.ErrInvalidParams{Context: "DescribeUsersInput"}
7953	if s.AuthenticationType == nil {
7954		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
7955	}
7956	if s.NextToken != nil && len(*s.NextToken) < 1 {
7957		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7958	}
7959
7960	if invalidParams.Len() > 0 {
7961		return invalidParams
7962	}
7963	return nil
7964}
7965
7966// SetAuthenticationType sets the AuthenticationType field's value.
7967func (s *DescribeUsersInput) SetAuthenticationType(v string) *DescribeUsersInput {
7968	s.AuthenticationType = &v
7969	return s
7970}
7971
7972// SetMaxResults sets the MaxResults field's value.
7973func (s *DescribeUsersInput) SetMaxResults(v int64) *DescribeUsersInput {
7974	s.MaxResults = &v
7975	return s
7976}
7977
7978// SetNextToken sets the NextToken field's value.
7979func (s *DescribeUsersInput) SetNextToken(v string) *DescribeUsersInput {
7980	s.NextToken = &v
7981	return s
7982}
7983
7984type DescribeUsersOutput struct {
7985	_ struct{} `type:"structure"`
7986
7987	// The pagination token to use to retrieve the next page of results for this
7988	// operation. If there are no more pages, this value is null.
7989	NextToken *string `min:"1" type:"string"`
7990
7991	// Information about users in the user pool.
7992	Users []*User `type:"list"`
7993}
7994
7995// String returns the string representation
7996func (s DescribeUsersOutput) String() string {
7997	return awsutil.Prettify(s)
7998}
7999
8000// GoString returns the string representation
8001func (s DescribeUsersOutput) GoString() string {
8002	return s.String()
8003}
8004
8005// SetNextToken sets the NextToken field's value.
8006func (s *DescribeUsersOutput) SetNextToken(v string) *DescribeUsersOutput {
8007	s.NextToken = &v
8008	return s
8009}
8010
8011// SetUsers sets the Users field's value.
8012func (s *DescribeUsersOutput) SetUsers(v []*User) *DescribeUsersOutput {
8013	s.Users = v
8014	return s
8015}
8016
8017// Describes the configuration information required to join fleets and image
8018// builders to Microsoft Active Directory domains.
8019type DirectoryConfig struct {
8020	_ struct{} `type:"structure"`
8021
8022	// The time the directory configuration was created.
8023	CreatedTime *time.Time `type:"timestamp"`
8024
8025	// The fully qualified name of the directory (for example, corp.example.com).
8026	//
8027	// DirectoryName is a required field
8028	DirectoryName *string `type:"string" required:"true"`
8029
8030	// The distinguished names of the organizational units for computer accounts.
8031	OrganizationalUnitDistinguishedNames []*string `type:"list"`
8032
8033	// The credentials for the service account used by the fleet or image builder
8034	// to connect to the directory.
8035	ServiceAccountCredentials *ServiceAccountCredentials `type:"structure"`
8036}
8037
8038// String returns the string representation
8039func (s DirectoryConfig) String() string {
8040	return awsutil.Prettify(s)
8041}
8042
8043// GoString returns the string representation
8044func (s DirectoryConfig) GoString() string {
8045	return s.String()
8046}
8047
8048// SetCreatedTime sets the CreatedTime field's value.
8049func (s *DirectoryConfig) SetCreatedTime(v time.Time) *DirectoryConfig {
8050	s.CreatedTime = &v
8051	return s
8052}
8053
8054// SetDirectoryName sets the DirectoryName field's value.
8055func (s *DirectoryConfig) SetDirectoryName(v string) *DirectoryConfig {
8056	s.DirectoryName = &v
8057	return s
8058}
8059
8060// SetOrganizationalUnitDistinguishedNames sets the OrganizationalUnitDistinguishedNames field's value.
8061func (s *DirectoryConfig) SetOrganizationalUnitDistinguishedNames(v []*string) *DirectoryConfig {
8062	s.OrganizationalUnitDistinguishedNames = v
8063	return s
8064}
8065
8066// SetServiceAccountCredentials sets the ServiceAccountCredentials field's value.
8067func (s *DirectoryConfig) SetServiceAccountCredentials(v *ServiceAccountCredentials) *DirectoryConfig {
8068	s.ServiceAccountCredentials = v
8069	return s
8070}
8071
8072type DisableUserInput struct {
8073	_ struct{} `type:"structure"`
8074
8075	// The authentication type for the user. You must specify USERPOOL.
8076	//
8077	// AuthenticationType is a required field
8078	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
8079
8080	// The email address of the user.
8081	//
8082	// Users' email addresses are case-sensitive.
8083	//
8084	// UserName is a required field
8085	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
8086}
8087
8088// String returns the string representation
8089func (s DisableUserInput) String() string {
8090	return awsutil.Prettify(s)
8091}
8092
8093// GoString returns the string representation
8094func (s DisableUserInput) GoString() string {
8095	return s.String()
8096}
8097
8098// Validate inspects the fields of the type to determine if they are valid.
8099func (s *DisableUserInput) Validate() error {
8100	invalidParams := request.ErrInvalidParams{Context: "DisableUserInput"}
8101	if s.AuthenticationType == nil {
8102		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
8103	}
8104	if s.UserName == nil {
8105		invalidParams.Add(request.NewErrParamRequired("UserName"))
8106	}
8107	if s.UserName != nil && len(*s.UserName) < 1 {
8108		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
8109	}
8110
8111	if invalidParams.Len() > 0 {
8112		return invalidParams
8113	}
8114	return nil
8115}
8116
8117// SetAuthenticationType sets the AuthenticationType field's value.
8118func (s *DisableUserInput) SetAuthenticationType(v string) *DisableUserInput {
8119	s.AuthenticationType = &v
8120	return s
8121}
8122
8123// SetUserName sets the UserName field's value.
8124func (s *DisableUserInput) SetUserName(v string) *DisableUserInput {
8125	s.UserName = &v
8126	return s
8127}
8128
8129type DisableUserOutput struct {
8130	_ struct{} `type:"structure"`
8131}
8132
8133// String returns the string representation
8134func (s DisableUserOutput) String() string {
8135	return awsutil.Prettify(s)
8136}
8137
8138// GoString returns the string representation
8139func (s DisableUserOutput) GoString() string {
8140	return s.String()
8141}
8142
8143type DisassociateFleetInput struct {
8144	_ struct{} `type:"structure"`
8145
8146	// The name of the fleet.
8147	//
8148	// FleetName is a required field
8149	FleetName *string `min:"1" type:"string" required:"true"`
8150
8151	// The name of the stack.
8152	//
8153	// StackName is a required field
8154	StackName *string `min:"1" type:"string" required:"true"`
8155}
8156
8157// String returns the string representation
8158func (s DisassociateFleetInput) String() string {
8159	return awsutil.Prettify(s)
8160}
8161
8162// GoString returns the string representation
8163func (s DisassociateFleetInput) GoString() string {
8164	return s.String()
8165}
8166
8167// Validate inspects the fields of the type to determine if they are valid.
8168func (s *DisassociateFleetInput) Validate() error {
8169	invalidParams := request.ErrInvalidParams{Context: "DisassociateFleetInput"}
8170	if s.FleetName == nil {
8171		invalidParams.Add(request.NewErrParamRequired("FleetName"))
8172	}
8173	if s.FleetName != nil && len(*s.FleetName) < 1 {
8174		invalidParams.Add(request.NewErrParamMinLen("FleetName", 1))
8175	}
8176	if s.StackName == nil {
8177		invalidParams.Add(request.NewErrParamRequired("StackName"))
8178	}
8179	if s.StackName != nil && len(*s.StackName) < 1 {
8180		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
8181	}
8182
8183	if invalidParams.Len() > 0 {
8184		return invalidParams
8185	}
8186	return nil
8187}
8188
8189// SetFleetName sets the FleetName field's value.
8190func (s *DisassociateFleetInput) SetFleetName(v string) *DisassociateFleetInput {
8191	s.FleetName = &v
8192	return s
8193}
8194
8195// SetStackName sets the StackName field's value.
8196func (s *DisassociateFleetInput) SetStackName(v string) *DisassociateFleetInput {
8197	s.StackName = &v
8198	return s
8199}
8200
8201type DisassociateFleetOutput struct {
8202	_ struct{} `type:"structure"`
8203}
8204
8205// String returns the string representation
8206func (s DisassociateFleetOutput) String() string {
8207	return awsutil.Prettify(s)
8208}
8209
8210// GoString returns the string representation
8211func (s DisassociateFleetOutput) GoString() string {
8212	return s.String()
8213}
8214
8215// Describes the configuration information required to join fleets and image
8216// builders to Microsoft Active Directory domains.
8217type DomainJoinInfo struct {
8218	_ struct{} `type:"structure"`
8219
8220	// The fully qualified name of the directory (for example, corp.example.com).
8221	DirectoryName *string `type:"string"`
8222
8223	// The distinguished name of the organizational unit for computer accounts.
8224	OrganizationalUnitDistinguishedName *string `type:"string"`
8225}
8226
8227// String returns the string representation
8228func (s DomainJoinInfo) String() string {
8229	return awsutil.Prettify(s)
8230}
8231
8232// GoString returns the string representation
8233func (s DomainJoinInfo) GoString() string {
8234	return s.String()
8235}
8236
8237// SetDirectoryName sets the DirectoryName field's value.
8238func (s *DomainJoinInfo) SetDirectoryName(v string) *DomainJoinInfo {
8239	s.DirectoryName = &v
8240	return s
8241}
8242
8243// SetOrganizationalUnitDistinguishedName sets the OrganizationalUnitDistinguishedName field's value.
8244func (s *DomainJoinInfo) SetOrganizationalUnitDistinguishedName(v string) *DomainJoinInfo {
8245	s.OrganizationalUnitDistinguishedName = &v
8246	return s
8247}
8248
8249type EnableUserInput struct {
8250	_ struct{} `type:"structure"`
8251
8252	// The authentication type for the user. You must specify USERPOOL.
8253	//
8254	// AuthenticationType is a required field
8255	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
8256
8257	// The email address of the user.
8258	//
8259	// Users' email addresses are case-sensitive. During login, if they specify
8260	// an email address that doesn't use the same capitalization as the email address
8261	// specified when their user pool account was created, a "user does not exist"
8262	// error message displays.
8263	//
8264	// UserName is a required field
8265	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
8266}
8267
8268// String returns the string representation
8269func (s EnableUserInput) String() string {
8270	return awsutil.Prettify(s)
8271}
8272
8273// GoString returns the string representation
8274func (s EnableUserInput) GoString() string {
8275	return s.String()
8276}
8277
8278// Validate inspects the fields of the type to determine if they are valid.
8279func (s *EnableUserInput) Validate() error {
8280	invalidParams := request.ErrInvalidParams{Context: "EnableUserInput"}
8281	if s.AuthenticationType == nil {
8282		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
8283	}
8284	if s.UserName == nil {
8285		invalidParams.Add(request.NewErrParamRequired("UserName"))
8286	}
8287	if s.UserName != nil && len(*s.UserName) < 1 {
8288		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
8289	}
8290
8291	if invalidParams.Len() > 0 {
8292		return invalidParams
8293	}
8294	return nil
8295}
8296
8297// SetAuthenticationType sets the AuthenticationType field's value.
8298func (s *EnableUserInput) SetAuthenticationType(v string) *EnableUserInput {
8299	s.AuthenticationType = &v
8300	return s
8301}
8302
8303// SetUserName sets the UserName field's value.
8304func (s *EnableUserInput) SetUserName(v string) *EnableUserInput {
8305	s.UserName = &v
8306	return s
8307}
8308
8309type EnableUserOutput struct {
8310	_ struct{} `type:"structure"`
8311}
8312
8313// String returns the string representation
8314func (s EnableUserOutput) String() string {
8315	return awsutil.Prettify(s)
8316}
8317
8318// GoString returns the string representation
8319func (s EnableUserOutput) GoString() string {
8320	return s.String()
8321}
8322
8323type ExpireSessionInput struct {
8324	_ struct{} `type:"structure"`
8325
8326	// The identifier of the streaming session.
8327	//
8328	// SessionId is a required field
8329	SessionId *string `min:"1" type:"string" required:"true"`
8330}
8331
8332// String returns the string representation
8333func (s ExpireSessionInput) String() string {
8334	return awsutil.Prettify(s)
8335}
8336
8337// GoString returns the string representation
8338func (s ExpireSessionInput) GoString() string {
8339	return s.String()
8340}
8341
8342// Validate inspects the fields of the type to determine if they are valid.
8343func (s *ExpireSessionInput) Validate() error {
8344	invalidParams := request.ErrInvalidParams{Context: "ExpireSessionInput"}
8345	if s.SessionId == nil {
8346		invalidParams.Add(request.NewErrParamRequired("SessionId"))
8347	}
8348	if s.SessionId != nil && len(*s.SessionId) < 1 {
8349		invalidParams.Add(request.NewErrParamMinLen("SessionId", 1))
8350	}
8351
8352	if invalidParams.Len() > 0 {
8353		return invalidParams
8354	}
8355	return nil
8356}
8357
8358// SetSessionId sets the SessionId field's value.
8359func (s *ExpireSessionInput) SetSessionId(v string) *ExpireSessionInput {
8360	s.SessionId = &v
8361	return s
8362}
8363
8364type ExpireSessionOutput struct {
8365	_ struct{} `type:"structure"`
8366}
8367
8368// String returns the string representation
8369func (s ExpireSessionOutput) String() string {
8370	return awsutil.Prettify(s)
8371}
8372
8373// GoString returns the string representation
8374func (s ExpireSessionOutput) GoString() string {
8375	return s.String()
8376}
8377
8378// Describes a fleet.
8379type Fleet struct {
8380	_ struct{} `type:"structure"`
8381
8382	// The Amazon Resource Name (ARN) for the fleet.
8383	//
8384	// Arn is a required field
8385	Arn *string `type:"string" required:"true"`
8386
8387	// The capacity status for the fleet.
8388	//
8389	// ComputeCapacityStatus is a required field
8390	ComputeCapacityStatus *ComputeCapacityStatus `type:"structure" required:"true"`
8391
8392	// The time the fleet was created.
8393	CreatedTime *time.Time `type:"timestamp"`
8394
8395	// The description to display.
8396	Description *string `min:"1" type:"string"`
8397
8398	// The amount of time that a streaming session remains active after users disconnect.
8399	// If they try to reconnect to the streaming session after a disconnection or
8400	// network interruption within this time interval, they are connected to their
8401	// previous session. Otherwise, they are connected to a new session with a new
8402	// streaming instance.
8403	//
8404	// Specify a value between 60 and 360000.
8405	DisconnectTimeoutInSeconds *int64 `type:"integer"`
8406
8407	// The fleet name to display.
8408	DisplayName *string `min:"1" type:"string"`
8409
8410	// The name of the directory and organizational unit (OU) to use to join the
8411	// fleet to a Microsoft Active Directory domain.
8412	DomainJoinInfo *DomainJoinInfo `type:"structure"`
8413
8414	// Indicates whether default internet access is enabled for the fleet.
8415	EnableDefaultInternetAccess *bool `type:"boolean"`
8416
8417	// The fleet errors.
8418	FleetErrors []*FleetError `type:"list"`
8419
8420	// The fleet type.
8421	//
8422	// ALWAYS_ON
8423	//
8424	// Provides users with instant-on access to their apps. You are charged for
8425	// all running instances in your fleet, even if no users are streaming apps.
8426	//
8427	// ON_DEMAND
8428	//
8429	// Provide users with access to applications after they connect, which takes
8430	// one to two minutes. You are charged for instance streaming when users are
8431	// connected and a small hourly fee for instances that are not streaming apps.
8432	FleetType *string `type:"string" enum:"FleetType"`
8433
8434	// The ARN of the IAM role that is applied to the fleet. To assume a role, the
8435	// fleet instance calls the AWS Security Token Service (STS) AssumeRole API
8436	// operation and passes the ARN of the role to use. The operation creates a
8437	// new session with temporary credentials. AppStream 2.0 retrieves the temporary
8438	// credentials and creates the appstream_machine_role credential profile on
8439	// the instance.
8440	//
8441	// For more information, see Using an IAM Role to Grant Permissions to Applications
8442	// 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)
8443	// in the Amazon AppStream 2.0 Administration Guide.
8444	IamRoleArn *string `type:"string"`
8445
8446	// The amount of time that users can be idle (inactive) before they are disconnected
8447	// from their streaming session and the DisconnectTimeoutInSeconds time interval
8448	// begins. Users are notified before they are disconnected due to inactivity.
8449	// If users try to reconnect to the streaming session before the time interval
8450	// specified in DisconnectTimeoutInSeconds elapses, they are connected to their
8451	// previous session. Users are considered idle when they stop providing keyboard
8452	// or mouse input during their streaming session. File uploads and downloads,
8453	// audio in, audio out, and pixels changing do not qualify as user activity.
8454	// If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds
8455	// elapses, they are disconnected.
8456	//
8457	// To prevent users from being disconnected due to inactivity, specify a value
8458	// of 0. Otherwise, specify a value between 60 and 3600. The default value is
8459	// 0.
8460	//
8461	// If you enable this feature, we recommend that you specify a value that corresponds
8462	// exactly to a whole number of minutes (for example, 60, 120, and 180). If
8463	// you don't do this, the value is rounded to the nearest minute. For example,
8464	// if you specify a value of 70, users are disconnected after 1 minute of inactivity.
8465	// If you specify a value that is at the midpoint between two different minutes,
8466	// the value is rounded up. For example, if you specify a value of 90, users
8467	// are disconnected after 2 minutes of inactivity.
8468	IdleDisconnectTimeoutInSeconds *int64 `type:"integer"`
8469
8470	// The ARN for the public, private, or shared image.
8471	ImageArn *string `type:"string"`
8472
8473	// The name of the image used to create the fleet.
8474	ImageName *string `min:"1" type:"string"`
8475
8476	// The instance type to use when launching fleet instances. The following instance
8477	// types are available:
8478	//
8479	//    * stream.standard.small
8480	//
8481	//    * stream.standard.medium
8482	//
8483	//    * stream.standard.large
8484	//
8485	//    * stream.compute.large
8486	//
8487	//    * stream.compute.xlarge
8488	//
8489	//    * stream.compute.2xlarge
8490	//
8491	//    * stream.compute.4xlarge
8492	//
8493	//    * stream.compute.8xlarge
8494	//
8495	//    * stream.memory.large
8496	//
8497	//    * stream.memory.xlarge
8498	//
8499	//    * stream.memory.2xlarge
8500	//
8501	//    * stream.memory.4xlarge
8502	//
8503	//    * stream.memory.8xlarge
8504	//
8505	//    * stream.memory.z1d.large
8506	//
8507	//    * stream.memory.z1d.xlarge
8508	//
8509	//    * stream.memory.z1d.2xlarge
8510	//
8511	//    * stream.memory.z1d.3xlarge
8512	//
8513	//    * stream.memory.z1d.6xlarge
8514	//
8515	//    * stream.memory.z1d.12xlarge
8516	//
8517	//    * stream.graphics-design.large
8518	//
8519	//    * stream.graphics-design.xlarge
8520	//
8521	//    * stream.graphics-design.2xlarge
8522	//
8523	//    * stream.graphics-design.4xlarge
8524	//
8525	//    * stream.graphics-desktop.2xlarge
8526	//
8527	//    * stream.graphics.g4dn.xlarge
8528	//
8529	//    * stream.graphics.g4dn.2xlarge
8530	//
8531	//    * stream.graphics.g4dn.4xlarge
8532	//
8533	//    * stream.graphics.g4dn.8xlarge
8534	//
8535	//    * stream.graphics.g4dn.12xlarge
8536	//
8537	//    * stream.graphics.g4dn.16xlarge
8538	//
8539	//    * stream.graphics-pro.4xlarge
8540	//
8541	//    * stream.graphics-pro.8xlarge
8542	//
8543	//    * stream.graphics-pro.16xlarge
8544	//
8545	// InstanceType is a required field
8546	InstanceType *string `min:"1" type:"string" required:"true"`
8547
8548	// The maximum amount of time that a streaming session can remain active, in
8549	// seconds. If users are still connected to a streaming instance five minutes
8550	// before this limit is reached, they are prompted to save any open documents
8551	// before being disconnected. After this time elapses, the instance is terminated
8552	// and replaced by a new instance.
8553	//
8554	// Specify a value between 600 and 360000.
8555	MaxUserDurationInSeconds *int64 `type:"integer"`
8556
8557	// The name of the fleet.
8558	//
8559	// Name is a required field
8560	Name *string `min:"1" type:"string" required:"true"`
8561
8562	// The current state for the fleet.
8563	//
8564	// State is a required field
8565	State *string `type:"string" required:"true" enum:"FleetState"`
8566
8567	// The AppStream 2.0 view that is displayed to your users when they stream from
8568	// the fleet. When APP is specified, only the windows of applications opened
8569	// by users display. When DESKTOP is specified, the standard desktop that is
8570	// provided by the operating system displays.
8571	//
8572	// The default value is APP.
8573	StreamView *string `type:"string" enum:"StreamView"`
8574
8575	// The VPC configuration for the fleet.
8576	VpcConfig *VpcConfig `type:"structure"`
8577}
8578
8579// String returns the string representation
8580func (s Fleet) String() string {
8581	return awsutil.Prettify(s)
8582}
8583
8584// GoString returns the string representation
8585func (s Fleet) GoString() string {
8586	return s.String()
8587}
8588
8589// SetArn sets the Arn field's value.
8590func (s *Fleet) SetArn(v string) *Fleet {
8591	s.Arn = &v
8592	return s
8593}
8594
8595// SetComputeCapacityStatus sets the ComputeCapacityStatus field's value.
8596func (s *Fleet) SetComputeCapacityStatus(v *ComputeCapacityStatus) *Fleet {
8597	s.ComputeCapacityStatus = v
8598	return s
8599}
8600
8601// SetCreatedTime sets the CreatedTime field's value.
8602func (s *Fleet) SetCreatedTime(v time.Time) *Fleet {
8603	s.CreatedTime = &v
8604	return s
8605}
8606
8607// SetDescription sets the Description field's value.
8608func (s *Fleet) SetDescription(v string) *Fleet {
8609	s.Description = &v
8610	return s
8611}
8612
8613// SetDisconnectTimeoutInSeconds sets the DisconnectTimeoutInSeconds field's value.
8614func (s *Fleet) SetDisconnectTimeoutInSeconds(v int64) *Fleet {
8615	s.DisconnectTimeoutInSeconds = &v
8616	return s
8617}
8618
8619// SetDisplayName sets the DisplayName field's value.
8620func (s *Fleet) SetDisplayName(v string) *Fleet {
8621	s.DisplayName = &v
8622	return s
8623}
8624
8625// SetDomainJoinInfo sets the DomainJoinInfo field's value.
8626func (s *Fleet) SetDomainJoinInfo(v *DomainJoinInfo) *Fleet {
8627	s.DomainJoinInfo = v
8628	return s
8629}
8630
8631// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
8632func (s *Fleet) SetEnableDefaultInternetAccess(v bool) *Fleet {
8633	s.EnableDefaultInternetAccess = &v
8634	return s
8635}
8636
8637// SetFleetErrors sets the FleetErrors field's value.
8638func (s *Fleet) SetFleetErrors(v []*FleetError) *Fleet {
8639	s.FleetErrors = v
8640	return s
8641}
8642
8643// SetFleetType sets the FleetType field's value.
8644func (s *Fleet) SetFleetType(v string) *Fleet {
8645	s.FleetType = &v
8646	return s
8647}
8648
8649// SetIamRoleArn sets the IamRoleArn field's value.
8650func (s *Fleet) SetIamRoleArn(v string) *Fleet {
8651	s.IamRoleArn = &v
8652	return s
8653}
8654
8655// SetIdleDisconnectTimeoutInSeconds sets the IdleDisconnectTimeoutInSeconds field's value.
8656func (s *Fleet) SetIdleDisconnectTimeoutInSeconds(v int64) *Fleet {
8657	s.IdleDisconnectTimeoutInSeconds = &v
8658	return s
8659}
8660
8661// SetImageArn sets the ImageArn field's value.
8662func (s *Fleet) SetImageArn(v string) *Fleet {
8663	s.ImageArn = &v
8664	return s
8665}
8666
8667// SetImageName sets the ImageName field's value.
8668func (s *Fleet) SetImageName(v string) *Fleet {
8669	s.ImageName = &v
8670	return s
8671}
8672
8673// SetInstanceType sets the InstanceType field's value.
8674func (s *Fleet) SetInstanceType(v string) *Fleet {
8675	s.InstanceType = &v
8676	return s
8677}
8678
8679// SetMaxUserDurationInSeconds sets the MaxUserDurationInSeconds field's value.
8680func (s *Fleet) SetMaxUserDurationInSeconds(v int64) *Fleet {
8681	s.MaxUserDurationInSeconds = &v
8682	return s
8683}
8684
8685// SetName sets the Name field's value.
8686func (s *Fleet) SetName(v string) *Fleet {
8687	s.Name = &v
8688	return s
8689}
8690
8691// SetState sets the State field's value.
8692func (s *Fleet) SetState(v string) *Fleet {
8693	s.State = &v
8694	return s
8695}
8696
8697// SetStreamView sets the StreamView field's value.
8698func (s *Fleet) SetStreamView(v string) *Fleet {
8699	s.StreamView = &v
8700	return s
8701}
8702
8703// SetVpcConfig sets the VpcConfig field's value.
8704func (s *Fleet) SetVpcConfig(v *VpcConfig) *Fleet {
8705	s.VpcConfig = v
8706	return s
8707}
8708
8709// Describes a fleet error.
8710type FleetError struct {
8711	_ struct{} `type:"structure"`
8712
8713	// The error code.
8714	ErrorCode *string `type:"string" enum:"FleetErrorCode"`
8715
8716	// The error message.
8717	ErrorMessage *string `min:"1" type:"string"`
8718}
8719
8720// String returns the string representation
8721func (s FleetError) String() string {
8722	return awsutil.Prettify(s)
8723}
8724
8725// GoString returns the string representation
8726func (s FleetError) GoString() string {
8727	return s.String()
8728}
8729
8730// SetErrorCode sets the ErrorCode field's value.
8731func (s *FleetError) SetErrorCode(v string) *FleetError {
8732	s.ErrorCode = &v
8733	return s
8734}
8735
8736// SetErrorMessage sets the ErrorMessage field's value.
8737func (s *FleetError) SetErrorMessage(v string) *FleetError {
8738	s.ErrorMessage = &v
8739	return s
8740}
8741
8742// Describes an image.
8743type Image struct {
8744	_ struct{} `type:"structure"`
8745
8746	// The applications associated with the image.
8747	Applications []*Application `type:"list"`
8748
8749	// The version of the AppStream 2.0 agent to use for instances that are launched
8750	// from this image.
8751	AppstreamAgentVersion *string `min:"1" type:"string"`
8752
8753	// The ARN of the image.
8754	Arn *string `type:"string"`
8755
8756	// The ARN of the image from which this image was created.
8757	BaseImageArn *string `type:"string"`
8758
8759	// The time the image was created.
8760	CreatedTime *time.Time `type:"timestamp"`
8761
8762	// The description to display.
8763	Description *string `min:"1" type:"string"`
8764
8765	// The image name to display.
8766	DisplayName *string `min:"1" type:"string"`
8767
8768	// The name of the image builder that was used to create the private image.
8769	// If the image is shared, this value is null.
8770	ImageBuilderName *string `min:"1" type:"string"`
8771
8772	// Indicates whether an image builder can be launched from this image.
8773	ImageBuilderSupported *bool `type:"boolean"`
8774
8775	// Describes the errors that are returned when a new image can't be created.
8776	ImageErrors []*ResourceError `type:"list"`
8777
8778	// The permissions to provide to the destination AWS account for the specified
8779	// image.
8780	ImagePermissions *ImagePermissions `type:"structure"`
8781
8782	// The name of the image.
8783	//
8784	// Name is a required field
8785	Name *string `min:"1" type:"string" required:"true"`
8786
8787	// The operating system platform of the image.
8788	Platform *string `type:"string" enum:"PlatformType"`
8789
8790	// The release date of the public base image. For private images, this date
8791	// is the release date of the base image from which the image was created.
8792	PublicBaseImageReleasedDate *time.Time `type:"timestamp"`
8793
8794	// The image starts in the PENDING state. If image creation succeeds, the state
8795	// is AVAILABLE. If image creation fails, the state is FAILED.
8796	State *string `type:"string" enum:"ImageState"`
8797
8798	// The reason why the last state change occurred.
8799	StateChangeReason *ImageStateChangeReason `type:"structure"`
8800
8801	// Indicates whether the image is public or private.
8802	Visibility *string `type:"string" enum:"VisibilityType"`
8803}
8804
8805// String returns the string representation
8806func (s Image) String() string {
8807	return awsutil.Prettify(s)
8808}
8809
8810// GoString returns the string representation
8811func (s Image) GoString() string {
8812	return s.String()
8813}
8814
8815// SetApplications sets the Applications field's value.
8816func (s *Image) SetApplications(v []*Application) *Image {
8817	s.Applications = v
8818	return s
8819}
8820
8821// SetAppstreamAgentVersion sets the AppstreamAgentVersion field's value.
8822func (s *Image) SetAppstreamAgentVersion(v string) *Image {
8823	s.AppstreamAgentVersion = &v
8824	return s
8825}
8826
8827// SetArn sets the Arn field's value.
8828func (s *Image) SetArn(v string) *Image {
8829	s.Arn = &v
8830	return s
8831}
8832
8833// SetBaseImageArn sets the BaseImageArn field's value.
8834func (s *Image) SetBaseImageArn(v string) *Image {
8835	s.BaseImageArn = &v
8836	return s
8837}
8838
8839// SetCreatedTime sets the CreatedTime field's value.
8840func (s *Image) SetCreatedTime(v time.Time) *Image {
8841	s.CreatedTime = &v
8842	return s
8843}
8844
8845// SetDescription sets the Description field's value.
8846func (s *Image) SetDescription(v string) *Image {
8847	s.Description = &v
8848	return s
8849}
8850
8851// SetDisplayName sets the DisplayName field's value.
8852func (s *Image) SetDisplayName(v string) *Image {
8853	s.DisplayName = &v
8854	return s
8855}
8856
8857// SetImageBuilderName sets the ImageBuilderName field's value.
8858func (s *Image) SetImageBuilderName(v string) *Image {
8859	s.ImageBuilderName = &v
8860	return s
8861}
8862
8863// SetImageBuilderSupported sets the ImageBuilderSupported field's value.
8864func (s *Image) SetImageBuilderSupported(v bool) *Image {
8865	s.ImageBuilderSupported = &v
8866	return s
8867}
8868
8869// SetImageErrors sets the ImageErrors field's value.
8870func (s *Image) SetImageErrors(v []*ResourceError) *Image {
8871	s.ImageErrors = v
8872	return s
8873}
8874
8875// SetImagePermissions sets the ImagePermissions field's value.
8876func (s *Image) SetImagePermissions(v *ImagePermissions) *Image {
8877	s.ImagePermissions = v
8878	return s
8879}
8880
8881// SetName sets the Name field's value.
8882func (s *Image) SetName(v string) *Image {
8883	s.Name = &v
8884	return s
8885}
8886
8887// SetPlatform sets the Platform field's value.
8888func (s *Image) SetPlatform(v string) *Image {
8889	s.Platform = &v
8890	return s
8891}
8892
8893// SetPublicBaseImageReleasedDate sets the PublicBaseImageReleasedDate field's value.
8894func (s *Image) SetPublicBaseImageReleasedDate(v time.Time) *Image {
8895	s.PublicBaseImageReleasedDate = &v
8896	return s
8897}
8898
8899// SetState sets the State field's value.
8900func (s *Image) SetState(v string) *Image {
8901	s.State = &v
8902	return s
8903}
8904
8905// SetStateChangeReason sets the StateChangeReason field's value.
8906func (s *Image) SetStateChangeReason(v *ImageStateChangeReason) *Image {
8907	s.StateChangeReason = v
8908	return s
8909}
8910
8911// SetVisibility sets the Visibility field's value.
8912func (s *Image) SetVisibility(v string) *Image {
8913	s.Visibility = &v
8914	return s
8915}
8916
8917// Describes a virtual machine that is used to create an image.
8918type ImageBuilder struct {
8919	_ struct{} `type:"structure"`
8920
8921	// The list of virtual private cloud (VPC) interface endpoint objects. Administrators
8922	// can connect to the image builder only through the specified endpoints.
8923	AccessEndpoints []*AccessEndpoint `min:"1" type:"list"`
8924
8925	// The version of the AppStream 2.0 agent that is currently being used by the
8926	// image builder.
8927	AppstreamAgentVersion *string `min:"1" type:"string"`
8928
8929	// The ARN for the image builder.
8930	Arn *string `type:"string"`
8931
8932	// The time stamp when the image builder was created.
8933	CreatedTime *time.Time `type:"timestamp"`
8934
8935	// The description to display.
8936	Description *string `min:"1" type:"string"`
8937
8938	// The image builder name to display.
8939	DisplayName *string `min:"1" type:"string"`
8940
8941	// The name of the directory and organizational unit (OU) to use to join the
8942	// image builder to a Microsoft Active Directory domain.
8943	DomainJoinInfo *DomainJoinInfo `type:"structure"`
8944
8945	// Enables or disables default internet access for the image builder.
8946	EnableDefaultInternetAccess *bool `type:"boolean"`
8947
8948	// The ARN of the IAM role that is applied to the image builder. To assume a
8949	// role, the image builder calls the AWS Security Token Service (STS) AssumeRole
8950	// API operation and passes the ARN of the role to use. The operation creates
8951	// a new session with temporary credentials. AppStream 2.0 retrieves the temporary
8952	// credentials and creates the appstream_machine_role credential profile on
8953	// the instance.
8954	//
8955	// For more information, see Using an IAM Role to Grant Permissions to Applications
8956	// 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)
8957	// in the Amazon AppStream 2.0 Administration Guide.
8958	IamRoleArn *string `type:"string"`
8959
8960	// The ARN of the image from which this builder was created.
8961	ImageArn *string `type:"string"`
8962
8963	// The image builder errors.
8964	ImageBuilderErrors []*ResourceError `type:"list"`
8965
8966	// The instance type for the image builder. The following instance types are
8967	// available:
8968	//
8969	//    * stream.standard.small
8970	//
8971	//    * stream.standard.medium
8972	//
8973	//    * stream.standard.large
8974	//
8975	//    * stream.compute.large
8976	//
8977	//    * stream.compute.xlarge
8978	//
8979	//    * stream.compute.2xlarge
8980	//
8981	//    * stream.compute.4xlarge
8982	//
8983	//    * stream.compute.8xlarge
8984	//
8985	//    * stream.memory.large
8986	//
8987	//    * stream.memory.xlarge
8988	//
8989	//    * stream.memory.2xlarge
8990	//
8991	//    * stream.memory.4xlarge
8992	//
8993	//    * stream.memory.8xlarge
8994	//
8995	//    * stream.memory.z1d.large
8996	//
8997	//    * stream.memory.z1d.xlarge
8998	//
8999	//    * stream.memory.z1d.2xlarge
9000	//
9001	//    * stream.memory.z1d.3xlarge
9002	//
9003	//    * stream.memory.z1d.6xlarge
9004	//
9005	//    * stream.memory.z1d.12xlarge
9006	//
9007	//    * stream.graphics-design.large
9008	//
9009	//    * stream.graphics-design.xlarge
9010	//
9011	//    * stream.graphics-design.2xlarge
9012	//
9013	//    * stream.graphics-design.4xlarge
9014	//
9015	//    * stream.graphics-desktop.2xlarge
9016	//
9017	//    * stream.graphics.g4dn.xlarge
9018	//
9019	//    * stream.graphics.g4dn.2xlarge
9020	//
9021	//    * stream.graphics.g4dn.4xlarge
9022	//
9023	//    * stream.graphics.g4dn.8xlarge
9024	//
9025	//    * stream.graphics.g4dn.12xlarge
9026	//
9027	//    * stream.graphics.g4dn.16xlarge
9028	//
9029	//    * stream.graphics-pro.4xlarge
9030	//
9031	//    * stream.graphics-pro.8xlarge
9032	//
9033	//    * stream.graphics-pro.16xlarge
9034	InstanceType *string `min:"1" type:"string"`
9035
9036	// The name of the image builder.
9037	//
9038	// Name is a required field
9039	Name *string `min:"1" type:"string" required:"true"`
9040
9041	// Describes the network details of the fleet or image builder instance.
9042	NetworkAccessConfiguration *NetworkAccessConfiguration `type:"structure"`
9043
9044	// The operating system platform of the image builder.
9045	Platform *string `type:"string" enum:"PlatformType"`
9046
9047	// The state of the image builder.
9048	State *string `type:"string" enum:"ImageBuilderState"`
9049
9050	// The reason why the last state change occurred.
9051	StateChangeReason *ImageBuilderStateChangeReason `type:"structure"`
9052
9053	// The VPC configuration of the image builder.
9054	VpcConfig *VpcConfig `type:"structure"`
9055}
9056
9057// String returns the string representation
9058func (s ImageBuilder) String() string {
9059	return awsutil.Prettify(s)
9060}
9061
9062// GoString returns the string representation
9063func (s ImageBuilder) GoString() string {
9064	return s.String()
9065}
9066
9067// SetAccessEndpoints sets the AccessEndpoints field's value.
9068func (s *ImageBuilder) SetAccessEndpoints(v []*AccessEndpoint) *ImageBuilder {
9069	s.AccessEndpoints = v
9070	return s
9071}
9072
9073// SetAppstreamAgentVersion sets the AppstreamAgentVersion field's value.
9074func (s *ImageBuilder) SetAppstreamAgentVersion(v string) *ImageBuilder {
9075	s.AppstreamAgentVersion = &v
9076	return s
9077}
9078
9079// SetArn sets the Arn field's value.
9080func (s *ImageBuilder) SetArn(v string) *ImageBuilder {
9081	s.Arn = &v
9082	return s
9083}
9084
9085// SetCreatedTime sets the CreatedTime field's value.
9086func (s *ImageBuilder) SetCreatedTime(v time.Time) *ImageBuilder {
9087	s.CreatedTime = &v
9088	return s
9089}
9090
9091// SetDescription sets the Description field's value.
9092func (s *ImageBuilder) SetDescription(v string) *ImageBuilder {
9093	s.Description = &v
9094	return s
9095}
9096
9097// SetDisplayName sets the DisplayName field's value.
9098func (s *ImageBuilder) SetDisplayName(v string) *ImageBuilder {
9099	s.DisplayName = &v
9100	return s
9101}
9102
9103// SetDomainJoinInfo sets the DomainJoinInfo field's value.
9104func (s *ImageBuilder) SetDomainJoinInfo(v *DomainJoinInfo) *ImageBuilder {
9105	s.DomainJoinInfo = v
9106	return s
9107}
9108
9109// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
9110func (s *ImageBuilder) SetEnableDefaultInternetAccess(v bool) *ImageBuilder {
9111	s.EnableDefaultInternetAccess = &v
9112	return s
9113}
9114
9115// SetIamRoleArn sets the IamRoleArn field's value.
9116func (s *ImageBuilder) SetIamRoleArn(v string) *ImageBuilder {
9117	s.IamRoleArn = &v
9118	return s
9119}
9120
9121// SetImageArn sets the ImageArn field's value.
9122func (s *ImageBuilder) SetImageArn(v string) *ImageBuilder {
9123	s.ImageArn = &v
9124	return s
9125}
9126
9127// SetImageBuilderErrors sets the ImageBuilderErrors field's value.
9128func (s *ImageBuilder) SetImageBuilderErrors(v []*ResourceError) *ImageBuilder {
9129	s.ImageBuilderErrors = v
9130	return s
9131}
9132
9133// SetInstanceType sets the InstanceType field's value.
9134func (s *ImageBuilder) SetInstanceType(v string) *ImageBuilder {
9135	s.InstanceType = &v
9136	return s
9137}
9138
9139// SetName sets the Name field's value.
9140func (s *ImageBuilder) SetName(v string) *ImageBuilder {
9141	s.Name = &v
9142	return s
9143}
9144
9145// SetNetworkAccessConfiguration sets the NetworkAccessConfiguration field's value.
9146func (s *ImageBuilder) SetNetworkAccessConfiguration(v *NetworkAccessConfiguration) *ImageBuilder {
9147	s.NetworkAccessConfiguration = v
9148	return s
9149}
9150
9151// SetPlatform sets the Platform field's value.
9152func (s *ImageBuilder) SetPlatform(v string) *ImageBuilder {
9153	s.Platform = &v
9154	return s
9155}
9156
9157// SetState sets the State field's value.
9158func (s *ImageBuilder) SetState(v string) *ImageBuilder {
9159	s.State = &v
9160	return s
9161}
9162
9163// SetStateChangeReason sets the StateChangeReason field's value.
9164func (s *ImageBuilder) SetStateChangeReason(v *ImageBuilderStateChangeReason) *ImageBuilder {
9165	s.StateChangeReason = v
9166	return s
9167}
9168
9169// SetVpcConfig sets the VpcConfig field's value.
9170func (s *ImageBuilder) SetVpcConfig(v *VpcConfig) *ImageBuilder {
9171	s.VpcConfig = v
9172	return s
9173}
9174
9175// Describes the reason why the last image builder state change occurred.
9176type ImageBuilderStateChangeReason struct {
9177	_ struct{} `type:"structure"`
9178
9179	// The state change reason code.
9180	Code *string `type:"string" enum:"ImageBuilderStateChangeReasonCode"`
9181
9182	// The state change reason message.
9183	Message *string `min:"1" type:"string"`
9184}
9185
9186// String returns the string representation
9187func (s ImageBuilderStateChangeReason) String() string {
9188	return awsutil.Prettify(s)
9189}
9190
9191// GoString returns the string representation
9192func (s ImageBuilderStateChangeReason) GoString() string {
9193	return s.String()
9194}
9195
9196// SetCode sets the Code field's value.
9197func (s *ImageBuilderStateChangeReason) SetCode(v string) *ImageBuilderStateChangeReason {
9198	s.Code = &v
9199	return s
9200}
9201
9202// SetMessage sets the Message field's value.
9203func (s *ImageBuilderStateChangeReason) SetMessage(v string) *ImageBuilderStateChangeReason {
9204	s.Message = &v
9205	return s
9206}
9207
9208// Describes the permissions for an image.
9209type ImagePermissions struct {
9210	_ struct{} `type:"structure"`
9211
9212	// Indicates whether the image can be used for a fleet.
9213	AllowFleet *bool `locationName:"allowFleet" type:"boolean"`
9214
9215	// Indicates whether the image can be used for an image builder.
9216	AllowImageBuilder *bool `locationName:"allowImageBuilder" type:"boolean"`
9217}
9218
9219// String returns the string representation
9220func (s ImagePermissions) String() string {
9221	return awsutil.Prettify(s)
9222}
9223
9224// GoString returns the string representation
9225func (s ImagePermissions) GoString() string {
9226	return s.String()
9227}
9228
9229// SetAllowFleet sets the AllowFleet field's value.
9230func (s *ImagePermissions) SetAllowFleet(v bool) *ImagePermissions {
9231	s.AllowFleet = &v
9232	return s
9233}
9234
9235// SetAllowImageBuilder sets the AllowImageBuilder field's value.
9236func (s *ImagePermissions) SetAllowImageBuilder(v bool) *ImagePermissions {
9237	s.AllowImageBuilder = &v
9238	return s
9239}
9240
9241// Describes the reason why the last image state change occurred.
9242type ImageStateChangeReason struct {
9243	_ struct{} `type:"structure"`
9244
9245	// The state change reason code.
9246	Code *string `type:"string" enum:"ImageStateChangeReasonCode"`
9247
9248	// The state change reason message.
9249	Message *string `min:"1" type:"string"`
9250}
9251
9252// String returns the string representation
9253func (s ImageStateChangeReason) String() string {
9254	return awsutil.Prettify(s)
9255}
9256
9257// GoString returns the string representation
9258func (s ImageStateChangeReason) GoString() string {
9259	return s.String()
9260}
9261
9262// SetCode sets the Code field's value.
9263func (s *ImageStateChangeReason) SetCode(v string) *ImageStateChangeReason {
9264	s.Code = &v
9265	return s
9266}
9267
9268// SetMessage sets the Message field's value.
9269func (s *ImageStateChangeReason) SetMessage(v string) *ImageStateChangeReason {
9270	s.Message = &v
9271	return s
9272}
9273
9274// The image can't be updated because it's not compatible for updates.
9275type IncompatibleImageException struct {
9276	_            struct{}                  `type:"structure"`
9277	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9278
9279	// The error message in the exception.
9280	Message_ *string `locationName:"Message" type:"string"`
9281}
9282
9283// String returns the string representation
9284func (s IncompatibleImageException) String() string {
9285	return awsutil.Prettify(s)
9286}
9287
9288// GoString returns the string representation
9289func (s IncompatibleImageException) GoString() string {
9290	return s.String()
9291}
9292
9293func newErrorIncompatibleImageException(v protocol.ResponseMetadata) error {
9294	return &IncompatibleImageException{
9295		RespMetadata: v,
9296	}
9297}
9298
9299// Code returns the exception type name.
9300func (s *IncompatibleImageException) Code() string {
9301	return "IncompatibleImageException"
9302}
9303
9304// Message returns the exception's message.
9305func (s *IncompatibleImageException) Message() string {
9306	if s.Message_ != nil {
9307		return *s.Message_
9308	}
9309	return ""
9310}
9311
9312// OrigErr always returns nil, satisfies awserr.Error interface.
9313func (s *IncompatibleImageException) OrigErr() error {
9314	return nil
9315}
9316
9317func (s *IncompatibleImageException) Error() string {
9318	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9319}
9320
9321// Status code returns the HTTP status code for the request's response error.
9322func (s *IncompatibleImageException) StatusCode() int {
9323	return s.RespMetadata.StatusCode
9324}
9325
9326// RequestID returns the service's response RequestID for request.
9327func (s *IncompatibleImageException) RequestID() string {
9328	return s.RespMetadata.RequestID
9329}
9330
9331// The resource cannot be created because your AWS account is suspended. For
9332// assistance, contact AWS Support.
9333type InvalidAccountStatusException struct {
9334	_            struct{}                  `type:"structure"`
9335	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9336
9337	// The error message in the exception.
9338	Message_ *string `locationName:"Message" type:"string"`
9339}
9340
9341// String returns the string representation
9342func (s InvalidAccountStatusException) String() string {
9343	return awsutil.Prettify(s)
9344}
9345
9346// GoString returns the string representation
9347func (s InvalidAccountStatusException) GoString() string {
9348	return s.String()
9349}
9350
9351func newErrorInvalidAccountStatusException(v protocol.ResponseMetadata) error {
9352	return &InvalidAccountStatusException{
9353		RespMetadata: v,
9354	}
9355}
9356
9357// Code returns the exception type name.
9358func (s *InvalidAccountStatusException) Code() string {
9359	return "InvalidAccountStatusException"
9360}
9361
9362// Message returns the exception's message.
9363func (s *InvalidAccountStatusException) Message() string {
9364	if s.Message_ != nil {
9365		return *s.Message_
9366	}
9367	return ""
9368}
9369
9370// OrigErr always returns nil, satisfies awserr.Error interface.
9371func (s *InvalidAccountStatusException) OrigErr() error {
9372	return nil
9373}
9374
9375func (s *InvalidAccountStatusException) Error() string {
9376	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9377}
9378
9379// Status code returns the HTTP status code for the request's response error.
9380func (s *InvalidAccountStatusException) StatusCode() int {
9381	return s.RespMetadata.StatusCode
9382}
9383
9384// RequestID returns the service's response RequestID for request.
9385func (s *InvalidAccountStatusException) RequestID() string {
9386	return s.RespMetadata.RequestID
9387}
9388
9389// Indicates an incorrect combination of parameters, or a missing parameter.
9390type InvalidParameterCombinationException struct {
9391	_            struct{}                  `type:"structure"`
9392	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9393
9394	// The error message in the exception.
9395	Message_ *string `locationName:"Message" type:"string"`
9396}
9397
9398// String returns the string representation
9399func (s InvalidParameterCombinationException) String() string {
9400	return awsutil.Prettify(s)
9401}
9402
9403// GoString returns the string representation
9404func (s InvalidParameterCombinationException) GoString() string {
9405	return s.String()
9406}
9407
9408func newErrorInvalidParameterCombinationException(v protocol.ResponseMetadata) error {
9409	return &InvalidParameterCombinationException{
9410		RespMetadata: v,
9411	}
9412}
9413
9414// Code returns the exception type name.
9415func (s *InvalidParameterCombinationException) Code() string {
9416	return "InvalidParameterCombinationException"
9417}
9418
9419// Message returns the exception's message.
9420func (s *InvalidParameterCombinationException) Message() string {
9421	if s.Message_ != nil {
9422		return *s.Message_
9423	}
9424	return ""
9425}
9426
9427// OrigErr always returns nil, satisfies awserr.Error interface.
9428func (s *InvalidParameterCombinationException) OrigErr() error {
9429	return nil
9430}
9431
9432func (s *InvalidParameterCombinationException) Error() string {
9433	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9434}
9435
9436// Status code returns the HTTP status code for the request's response error.
9437func (s *InvalidParameterCombinationException) StatusCode() int {
9438	return s.RespMetadata.StatusCode
9439}
9440
9441// RequestID returns the service's response RequestID for request.
9442func (s *InvalidParameterCombinationException) RequestID() string {
9443	return s.RespMetadata.RequestID
9444}
9445
9446// The specified role is invalid.
9447type InvalidRoleException struct {
9448	_            struct{}                  `type:"structure"`
9449	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9450
9451	// The error message in the exception.
9452	Message_ *string `locationName:"Message" type:"string"`
9453}
9454
9455// String returns the string representation
9456func (s InvalidRoleException) String() string {
9457	return awsutil.Prettify(s)
9458}
9459
9460// GoString returns the string representation
9461func (s InvalidRoleException) GoString() string {
9462	return s.String()
9463}
9464
9465func newErrorInvalidRoleException(v protocol.ResponseMetadata) error {
9466	return &InvalidRoleException{
9467		RespMetadata: v,
9468	}
9469}
9470
9471// Code returns the exception type name.
9472func (s *InvalidRoleException) Code() string {
9473	return "InvalidRoleException"
9474}
9475
9476// Message returns the exception's message.
9477func (s *InvalidRoleException) Message() string {
9478	if s.Message_ != nil {
9479		return *s.Message_
9480	}
9481	return ""
9482}
9483
9484// OrigErr always returns nil, satisfies awserr.Error interface.
9485func (s *InvalidRoleException) OrigErr() error {
9486	return nil
9487}
9488
9489func (s *InvalidRoleException) Error() string {
9490	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9491}
9492
9493// Status code returns the HTTP status code for the request's response error.
9494func (s *InvalidRoleException) StatusCode() int {
9495	return s.RespMetadata.StatusCode
9496}
9497
9498// RequestID returns the service's response RequestID for request.
9499func (s *InvalidRoleException) RequestID() string {
9500	return s.RespMetadata.RequestID
9501}
9502
9503// Describes the error that is returned when a usage report can't be generated.
9504type LastReportGenerationExecutionError struct {
9505	_ struct{} `type:"structure"`
9506
9507	// The error code for the error that is returned when a usage report can't be
9508	// generated.
9509	ErrorCode *string `type:"string" enum:"UsageReportExecutionErrorCode"`
9510
9511	// The error message for the error that is returned when a usage report can't
9512	// be generated.
9513	ErrorMessage *string `min:"1" type:"string"`
9514}
9515
9516// String returns the string representation
9517func (s LastReportGenerationExecutionError) String() string {
9518	return awsutil.Prettify(s)
9519}
9520
9521// GoString returns the string representation
9522func (s LastReportGenerationExecutionError) GoString() string {
9523	return s.String()
9524}
9525
9526// SetErrorCode sets the ErrorCode field's value.
9527func (s *LastReportGenerationExecutionError) SetErrorCode(v string) *LastReportGenerationExecutionError {
9528	s.ErrorCode = &v
9529	return s
9530}
9531
9532// SetErrorMessage sets the ErrorMessage field's value.
9533func (s *LastReportGenerationExecutionError) SetErrorMessage(v string) *LastReportGenerationExecutionError {
9534	s.ErrorMessage = &v
9535	return s
9536}
9537
9538// The requested limit exceeds the permitted limit for an account.
9539type LimitExceededException struct {
9540	_            struct{}                  `type:"structure"`
9541	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9542
9543	// The error message in the exception.
9544	Message_ *string `locationName:"Message" type:"string"`
9545}
9546
9547// String returns the string representation
9548func (s LimitExceededException) String() string {
9549	return awsutil.Prettify(s)
9550}
9551
9552// GoString returns the string representation
9553func (s LimitExceededException) GoString() string {
9554	return s.String()
9555}
9556
9557func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
9558	return &LimitExceededException{
9559		RespMetadata: v,
9560	}
9561}
9562
9563// Code returns the exception type name.
9564func (s *LimitExceededException) Code() string {
9565	return "LimitExceededException"
9566}
9567
9568// Message returns the exception's message.
9569func (s *LimitExceededException) Message() string {
9570	if s.Message_ != nil {
9571		return *s.Message_
9572	}
9573	return ""
9574}
9575
9576// OrigErr always returns nil, satisfies awserr.Error interface.
9577func (s *LimitExceededException) OrigErr() error {
9578	return nil
9579}
9580
9581func (s *LimitExceededException) Error() string {
9582	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9583}
9584
9585// Status code returns the HTTP status code for the request's response error.
9586func (s *LimitExceededException) StatusCode() int {
9587	return s.RespMetadata.StatusCode
9588}
9589
9590// RequestID returns the service's response RequestID for request.
9591func (s *LimitExceededException) RequestID() string {
9592	return s.RespMetadata.RequestID
9593}
9594
9595type ListAssociatedFleetsInput struct {
9596	_ struct{} `type:"structure"`
9597
9598	// The pagination token to use to retrieve the next page of results for this
9599	// operation. If this value is null, it retrieves the first page.
9600	NextToken *string `min:"1" type:"string"`
9601
9602	// The name of the stack.
9603	//
9604	// StackName is a required field
9605	StackName *string `min:"1" type:"string" required:"true"`
9606}
9607
9608// String returns the string representation
9609func (s ListAssociatedFleetsInput) String() string {
9610	return awsutil.Prettify(s)
9611}
9612
9613// GoString returns the string representation
9614func (s ListAssociatedFleetsInput) GoString() string {
9615	return s.String()
9616}
9617
9618// Validate inspects the fields of the type to determine if they are valid.
9619func (s *ListAssociatedFleetsInput) Validate() error {
9620	invalidParams := request.ErrInvalidParams{Context: "ListAssociatedFleetsInput"}
9621	if s.NextToken != nil && len(*s.NextToken) < 1 {
9622		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9623	}
9624	if s.StackName == nil {
9625		invalidParams.Add(request.NewErrParamRequired("StackName"))
9626	}
9627	if s.StackName != nil && len(*s.StackName) < 1 {
9628		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
9629	}
9630
9631	if invalidParams.Len() > 0 {
9632		return invalidParams
9633	}
9634	return nil
9635}
9636
9637// SetNextToken sets the NextToken field's value.
9638func (s *ListAssociatedFleetsInput) SetNextToken(v string) *ListAssociatedFleetsInput {
9639	s.NextToken = &v
9640	return s
9641}
9642
9643// SetStackName sets the StackName field's value.
9644func (s *ListAssociatedFleetsInput) SetStackName(v string) *ListAssociatedFleetsInput {
9645	s.StackName = &v
9646	return s
9647}
9648
9649type ListAssociatedFleetsOutput struct {
9650	_ struct{} `type:"structure"`
9651
9652	// The name of the fleet.
9653	Names []*string `type:"list"`
9654
9655	// The pagination token to use to retrieve the next page of results for this
9656	// operation. If there are no more pages, this value is null.
9657	NextToken *string `min:"1" type:"string"`
9658}
9659
9660// String returns the string representation
9661func (s ListAssociatedFleetsOutput) String() string {
9662	return awsutil.Prettify(s)
9663}
9664
9665// GoString returns the string representation
9666func (s ListAssociatedFleetsOutput) GoString() string {
9667	return s.String()
9668}
9669
9670// SetNames sets the Names field's value.
9671func (s *ListAssociatedFleetsOutput) SetNames(v []*string) *ListAssociatedFleetsOutput {
9672	s.Names = v
9673	return s
9674}
9675
9676// SetNextToken sets the NextToken field's value.
9677func (s *ListAssociatedFleetsOutput) SetNextToken(v string) *ListAssociatedFleetsOutput {
9678	s.NextToken = &v
9679	return s
9680}
9681
9682type ListAssociatedStacksInput struct {
9683	_ struct{} `type:"structure"`
9684
9685	// The name of the fleet.
9686	//
9687	// FleetName is a required field
9688	FleetName *string `min:"1" type:"string" required:"true"`
9689
9690	// The pagination token to use to retrieve the next page of results for this
9691	// operation. If this value is null, it retrieves the first page.
9692	NextToken *string `min:"1" type:"string"`
9693}
9694
9695// String returns the string representation
9696func (s ListAssociatedStacksInput) String() string {
9697	return awsutil.Prettify(s)
9698}
9699
9700// GoString returns the string representation
9701func (s ListAssociatedStacksInput) GoString() string {
9702	return s.String()
9703}
9704
9705// Validate inspects the fields of the type to determine if they are valid.
9706func (s *ListAssociatedStacksInput) Validate() error {
9707	invalidParams := request.ErrInvalidParams{Context: "ListAssociatedStacksInput"}
9708	if s.FleetName == nil {
9709		invalidParams.Add(request.NewErrParamRequired("FleetName"))
9710	}
9711	if s.FleetName != nil && len(*s.FleetName) < 1 {
9712		invalidParams.Add(request.NewErrParamMinLen("FleetName", 1))
9713	}
9714	if s.NextToken != nil && len(*s.NextToken) < 1 {
9715		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9716	}
9717
9718	if invalidParams.Len() > 0 {
9719		return invalidParams
9720	}
9721	return nil
9722}
9723
9724// SetFleetName sets the FleetName field's value.
9725func (s *ListAssociatedStacksInput) SetFleetName(v string) *ListAssociatedStacksInput {
9726	s.FleetName = &v
9727	return s
9728}
9729
9730// SetNextToken sets the NextToken field's value.
9731func (s *ListAssociatedStacksInput) SetNextToken(v string) *ListAssociatedStacksInput {
9732	s.NextToken = &v
9733	return s
9734}
9735
9736type ListAssociatedStacksOutput struct {
9737	_ struct{} `type:"structure"`
9738
9739	// The name of the stack.
9740	Names []*string `type:"list"`
9741
9742	// The pagination token to use to retrieve the next page of results for this
9743	// operation. If there are no more pages, this value is null.
9744	NextToken *string `min:"1" type:"string"`
9745}
9746
9747// String returns the string representation
9748func (s ListAssociatedStacksOutput) String() string {
9749	return awsutil.Prettify(s)
9750}
9751
9752// GoString returns the string representation
9753func (s ListAssociatedStacksOutput) GoString() string {
9754	return s.String()
9755}
9756
9757// SetNames sets the Names field's value.
9758func (s *ListAssociatedStacksOutput) SetNames(v []*string) *ListAssociatedStacksOutput {
9759	s.Names = v
9760	return s
9761}
9762
9763// SetNextToken sets the NextToken field's value.
9764func (s *ListAssociatedStacksOutput) SetNextToken(v string) *ListAssociatedStacksOutput {
9765	s.NextToken = &v
9766	return s
9767}
9768
9769type ListTagsForResourceInput struct {
9770	_ struct{} `type:"structure"`
9771
9772	// The Amazon Resource Name (ARN) of the resource.
9773	//
9774	// ResourceArn is a required field
9775	ResourceArn *string `type:"string" required:"true"`
9776}
9777
9778// String returns the string representation
9779func (s ListTagsForResourceInput) String() string {
9780	return awsutil.Prettify(s)
9781}
9782
9783// GoString returns the string representation
9784func (s ListTagsForResourceInput) GoString() string {
9785	return s.String()
9786}
9787
9788// Validate inspects the fields of the type to determine if they are valid.
9789func (s *ListTagsForResourceInput) Validate() error {
9790	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
9791	if s.ResourceArn == nil {
9792		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9793	}
9794
9795	if invalidParams.Len() > 0 {
9796		return invalidParams
9797	}
9798	return nil
9799}
9800
9801// SetResourceArn sets the ResourceArn field's value.
9802func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
9803	s.ResourceArn = &v
9804	return s
9805}
9806
9807type ListTagsForResourceOutput struct {
9808	_ struct{} `type:"structure"`
9809
9810	// The information about the tags.
9811	Tags map[string]*string `min:"1" type:"map"`
9812}
9813
9814// String returns the string representation
9815func (s ListTagsForResourceOutput) String() string {
9816	return awsutil.Prettify(s)
9817}
9818
9819// GoString returns the string representation
9820func (s ListTagsForResourceOutput) GoString() string {
9821	return s.String()
9822}
9823
9824// SetTags sets the Tags field's value.
9825func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
9826	s.Tags = v
9827	return s
9828}
9829
9830// Describes the network details of the fleet or image builder instance.
9831type NetworkAccessConfiguration struct {
9832	_ struct{} `type:"structure"`
9833
9834	// The resource identifier of the elastic network interface that is attached
9835	// to instances in your VPC. All network interfaces have the eni-xxxxxxxx resource
9836	// identifier.
9837	EniId *string `min:"1" type:"string"`
9838
9839	// The private IP address of the elastic network interface that is attached
9840	// to instances in your VPC.
9841	EniPrivateIpAddress *string `min:"1" type:"string"`
9842}
9843
9844// String returns the string representation
9845func (s NetworkAccessConfiguration) String() string {
9846	return awsutil.Prettify(s)
9847}
9848
9849// GoString returns the string representation
9850func (s NetworkAccessConfiguration) GoString() string {
9851	return s.String()
9852}
9853
9854// SetEniId sets the EniId field's value.
9855func (s *NetworkAccessConfiguration) SetEniId(v string) *NetworkAccessConfiguration {
9856	s.EniId = &v
9857	return s
9858}
9859
9860// SetEniPrivateIpAddress sets the EniPrivateIpAddress field's value.
9861func (s *NetworkAccessConfiguration) SetEniPrivateIpAddress(v string) *NetworkAccessConfiguration {
9862	s.EniPrivateIpAddress = &v
9863	return s
9864}
9865
9866// The attempted operation is not permitted.
9867type OperationNotPermittedException struct {
9868	_            struct{}                  `type:"structure"`
9869	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9870
9871	// The error message in the exception.
9872	Message_ *string `locationName:"Message" type:"string"`
9873}
9874
9875// String returns the string representation
9876func (s OperationNotPermittedException) String() string {
9877	return awsutil.Prettify(s)
9878}
9879
9880// GoString returns the string representation
9881func (s OperationNotPermittedException) GoString() string {
9882	return s.String()
9883}
9884
9885func newErrorOperationNotPermittedException(v protocol.ResponseMetadata) error {
9886	return &OperationNotPermittedException{
9887		RespMetadata: v,
9888	}
9889}
9890
9891// Code returns the exception type name.
9892func (s *OperationNotPermittedException) Code() string {
9893	return "OperationNotPermittedException"
9894}
9895
9896// Message returns the exception's message.
9897func (s *OperationNotPermittedException) Message() string {
9898	if s.Message_ != nil {
9899		return *s.Message_
9900	}
9901	return ""
9902}
9903
9904// OrigErr always returns nil, satisfies awserr.Error interface.
9905func (s *OperationNotPermittedException) OrigErr() error {
9906	return nil
9907}
9908
9909func (s *OperationNotPermittedException) Error() string {
9910	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9911}
9912
9913// Status code returns the HTTP status code for the request's response error.
9914func (s *OperationNotPermittedException) StatusCode() int {
9915	return s.RespMetadata.StatusCode
9916}
9917
9918// RequestID returns the service's response RequestID for request.
9919func (s *OperationNotPermittedException) RequestID() string {
9920	return s.RespMetadata.RequestID
9921}
9922
9923// AppStream 2.0 can’t process the request right now because the Describe
9924// calls from your AWS account are being throttled by Amazon EC2. Try again
9925// later.
9926type RequestLimitExceededException struct {
9927	_            struct{}                  `type:"structure"`
9928	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9929
9930	// The error message in the exception.
9931	Message_ *string `locationName:"Message" type:"string"`
9932}
9933
9934// String returns the string representation
9935func (s RequestLimitExceededException) String() string {
9936	return awsutil.Prettify(s)
9937}
9938
9939// GoString returns the string representation
9940func (s RequestLimitExceededException) GoString() string {
9941	return s.String()
9942}
9943
9944func newErrorRequestLimitExceededException(v protocol.ResponseMetadata) error {
9945	return &RequestLimitExceededException{
9946		RespMetadata: v,
9947	}
9948}
9949
9950// Code returns the exception type name.
9951func (s *RequestLimitExceededException) Code() string {
9952	return "RequestLimitExceededException"
9953}
9954
9955// Message returns the exception's message.
9956func (s *RequestLimitExceededException) Message() string {
9957	if s.Message_ != nil {
9958		return *s.Message_
9959	}
9960	return ""
9961}
9962
9963// OrigErr always returns nil, satisfies awserr.Error interface.
9964func (s *RequestLimitExceededException) OrigErr() error {
9965	return nil
9966}
9967
9968func (s *RequestLimitExceededException) Error() string {
9969	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9970}
9971
9972// Status code returns the HTTP status code for the request's response error.
9973func (s *RequestLimitExceededException) StatusCode() int {
9974	return s.RespMetadata.StatusCode
9975}
9976
9977// RequestID returns the service's response RequestID for request.
9978func (s *RequestLimitExceededException) RequestID() string {
9979	return s.RespMetadata.RequestID
9980}
9981
9982// The specified resource already exists.
9983type ResourceAlreadyExistsException struct {
9984	_            struct{}                  `type:"structure"`
9985	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9986
9987	// The error message in the exception.
9988	Message_ *string `locationName:"Message" type:"string"`
9989}
9990
9991// String returns the string representation
9992func (s ResourceAlreadyExistsException) String() string {
9993	return awsutil.Prettify(s)
9994}
9995
9996// GoString returns the string representation
9997func (s ResourceAlreadyExistsException) GoString() string {
9998	return s.String()
9999}
10000
10001func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
10002	return &ResourceAlreadyExistsException{
10003		RespMetadata: v,
10004	}
10005}
10006
10007// Code returns the exception type name.
10008func (s *ResourceAlreadyExistsException) Code() string {
10009	return "ResourceAlreadyExistsException"
10010}
10011
10012// Message returns the exception's message.
10013func (s *ResourceAlreadyExistsException) Message() string {
10014	if s.Message_ != nil {
10015		return *s.Message_
10016	}
10017	return ""
10018}
10019
10020// OrigErr always returns nil, satisfies awserr.Error interface.
10021func (s *ResourceAlreadyExistsException) OrigErr() error {
10022	return nil
10023}
10024
10025func (s *ResourceAlreadyExistsException) Error() string {
10026	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10027}
10028
10029// Status code returns the HTTP status code for the request's response error.
10030func (s *ResourceAlreadyExistsException) StatusCode() int {
10031	return s.RespMetadata.StatusCode
10032}
10033
10034// RequestID returns the service's response RequestID for request.
10035func (s *ResourceAlreadyExistsException) RequestID() string {
10036	return s.RespMetadata.RequestID
10037}
10038
10039// Describes a resource error.
10040type ResourceError struct {
10041	_ struct{} `type:"structure"`
10042
10043	// The error code.
10044	ErrorCode *string `type:"string" enum:"FleetErrorCode"`
10045
10046	// The error message.
10047	ErrorMessage *string `min:"1" type:"string"`
10048
10049	// The time the error occurred.
10050	ErrorTimestamp *time.Time `type:"timestamp"`
10051}
10052
10053// String returns the string representation
10054func (s ResourceError) String() string {
10055	return awsutil.Prettify(s)
10056}
10057
10058// GoString returns the string representation
10059func (s ResourceError) GoString() string {
10060	return s.String()
10061}
10062
10063// SetErrorCode sets the ErrorCode field's value.
10064func (s *ResourceError) SetErrorCode(v string) *ResourceError {
10065	s.ErrorCode = &v
10066	return s
10067}
10068
10069// SetErrorMessage sets the ErrorMessage field's value.
10070func (s *ResourceError) SetErrorMessage(v string) *ResourceError {
10071	s.ErrorMessage = &v
10072	return s
10073}
10074
10075// SetErrorTimestamp sets the ErrorTimestamp field's value.
10076func (s *ResourceError) SetErrorTimestamp(v time.Time) *ResourceError {
10077	s.ErrorTimestamp = &v
10078	return s
10079}
10080
10081// The specified resource is in use.
10082type ResourceInUseException struct {
10083	_            struct{}                  `type:"structure"`
10084	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10085
10086	// The error message in the exception.
10087	Message_ *string `locationName:"Message" type:"string"`
10088}
10089
10090// String returns the string representation
10091func (s ResourceInUseException) String() string {
10092	return awsutil.Prettify(s)
10093}
10094
10095// GoString returns the string representation
10096func (s ResourceInUseException) GoString() string {
10097	return s.String()
10098}
10099
10100func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
10101	return &ResourceInUseException{
10102		RespMetadata: v,
10103	}
10104}
10105
10106// Code returns the exception type name.
10107func (s *ResourceInUseException) Code() string {
10108	return "ResourceInUseException"
10109}
10110
10111// Message returns the exception's message.
10112func (s *ResourceInUseException) Message() string {
10113	if s.Message_ != nil {
10114		return *s.Message_
10115	}
10116	return ""
10117}
10118
10119// OrigErr always returns nil, satisfies awserr.Error interface.
10120func (s *ResourceInUseException) OrigErr() error {
10121	return nil
10122}
10123
10124func (s *ResourceInUseException) Error() string {
10125	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10126}
10127
10128// Status code returns the HTTP status code for the request's response error.
10129func (s *ResourceInUseException) StatusCode() int {
10130	return s.RespMetadata.StatusCode
10131}
10132
10133// RequestID returns the service's response RequestID for request.
10134func (s *ResourceInUseException) RequestID() string {
10135	return s.RespMetadata.RequestID
10136}
10137
10138// The specified resource exists and is not in use, but isn't available.
10139type ResourceNotAvailableException struct {
10140	_            struct{}                  `type:"structure"`
10141	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10142
10143	// The error message in the exception.
10144	Message_ *string `locationName:"Message" type:"string"`
10145}
10146
10147// String returns the string representation
10148func (s ResourceNotAvailableException) String() string {
10149	return awsutil.Prettify(s)
10150}
10151
10152// GoString returns the string representation
10153func (s ResourceNotAvailableException) GoString() string {
10154	return s.String()
10155}
10156
10157func newErrorResourceNotAvailableException(v protocol.ResponseMetadata) error {
10158	return &ResourceNotAvailableException{
10159		RespMetadata: v,
10160	}
10161}
10162
10163// Code returns the exception type name.
10164func (s *ResourceNotAvailableException) Code() string {
10165	return "ResourceNotAvailableException"
10166}
10167
10168// Message returns the exception's message.
10169func (s *ResourceNotAvailableException) Message() string {
10170	if s.Message_ != nil {
10171		return *s.Message_
10172	}
10173	return ""
10174}
10175
10176// OrigErr always returns nil, satisfies awserr.Error interface.
10177func (s *ResourceNotAvailableException) OrigErr() error {
10178	return nil
10179}
10180
10181func (s *ResourceNotAvailableException) Error() string {
10182	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10183}
10184
10185// Status code returns the HTTP status code for the request's response error.
10186func (s *ResourceNotAvailableException) StatusCode() int {
10187	return s.RespMetadata.StatusCode
10188}
10189
10190// RequestID returns the service's response RequestID for request.
10191func (s *ResourceNotAvailableException) RequestID() string {
10192	return s.RespMetadata.RequestID
10193}
10194
10195// The specified resource was not found.
10196type ResourceNotFoundException struct {
10197	_            struct{}                  `type:"structure"`
10198	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10199
10200	// The error message in the exception.
10201	Message_ *string `locationName:"Message" type:"string"`
10202}
10203
10204// String returns the string representation
10205func (s ResourceNotFoundException) String() string {
10206	return awsutil.Prettify(s)
10207}
10208
10209// GoString returns the string representation
10210func (s ResourceNotFoundException) GoString() string {
10211	return s.String()
10212}
10213
10214func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
10215	return &ResourceNotFoundException{
10216		RespMetadata: v,
10217	}
10218}
10219
10220// Code returns the exception type name.
10221func (s *ResourceNotFoundException) Code() string {
10222	return "ResourceNotFoundException"
10223}
10224
10225// Message returns the exception's message.
10226func (s *ResourceNotFoundException) Message() string {
10227	if s.Message_ != nil {
10228		return *s.Message_
10229	}
10230	return ""
10231}
10232
10233// OrigErr always returns nil, satisfies awserr.Error interface.
10234func (s *ResourceNotFoundException) OrigErr() error {
10235	return nil
10236}
10237
10238func (s *ResourceNotFoundException) Error() string {
10239	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10240}
10241
10242// Status code returns the HTTP status code for the request's response error.
10243func (s *ResourceNotFoundException) StatusCode() int {
10244	return s.RespMetadata.StatusCode
10245}
10246
10247// RequestID returns the service's response RequestID for request.
10248func (s *ResourceNotFoundException) RequestID() string {
10249	return s.RespMetadata.RequestID
10250}
10251
10252// Describes the credentials for the service account used by the fleet or image
10253// builder to connect to the directory.
10254type ServiceAccountCredentials struct {
10255	_ struct{} `type:"structure"`
10256
10257	// The user name of the account. This account must have the following privileges:
10258	// create computer objects, join computers to the domain, and change/reset the
10259	// password on descendant computer objects for the organizational units specified.
10260	//
10261	// AccountName is a required field
10262	AccountName *string `min:"1" type:"string" required:"true" sensitive:"true"`
10263
10264	// The password for the account.
10265	//
10266	// AccountPassword is a required field
10267	AccountPassword *string `min:"1" type:"string" required:"true" sensitive:"true"`
10268}
10269
10270// String returns the string representation
10271func (s ServiceAccountCredentials) String() string {
10272	return awsutil.Prettify(s)
10273}
10274
10275// GoString returns the string representation
10276func (s ServiceAccountCredentials) GoString() string {
10277	return s.String()
10278}
10279
10280// Validate inspects the fields of the type to determine if they are valid.
10281func (s *ServiceAccountCredentials) Validate() error {
10282	invalidParams := request.ErrInvalidParams{Context: "ServiceAccountCredentials"}
10283	if s.AccountName == nil {
10284		invalidParams.Add(request.NewErrParamRequired("AccountName"))
10285	}
10286	if s.AccountName != nil && len(*s.AccountName) < 1 {
10287		invalidParams.Add(request.NewErrParamMinLen("AccountName", 1))
10288	}
10289	if s.AccountPassword == nil {
10290		invalidParams.Add(request.NewErrParamRequired("AccountPassword"))
10291	}
10292	if s.AccountPassword != nil && len(*s.AccountPassword) < 1 {
10293		invalidParams.Add(request.NewErrParamMinLen("AccountPassword", 1))
10294	}
10295
10296	if invalidParams.Len() > 0 {
10297		return invalidParams
10298	}
10299	return nil
10300}
10301
10302// SetAccountName sets the AccountName field's value.
10303func (s *ServiceAccountCredentials) SetAccountName(v string) *ServiceAccountCredentials {
10304	s.AccountName = &v
10305	return s
10306}
10307
10308// SetAccountPassword sets the AccountPassword field's value.
10309func (s *ServiceAccountCredentials) SetAccountPassword(v string) *ServiceAccountCredentials {
10310	s.AccountPassword = &v
10311	return s
10312}
10313
10314// Describes a streaming session.
10315type Session struct {
10316	_ struct{} `type:"structure"`
10317
10318	// The authentication method. The user is authenticated using a streaming URL
10319	// (API) or SAML 2.0 federation (SAML).
10320	AuthenticationType *string `type:"string" enum:"AuthenticationType"`
10321
10322	// Specifies whether a user is connected to the streaming session.
10323	ConnectionState *string `type:"string" enum:"SessionConnectionState"`
10324
10325	// The name of the fleet for the streaming session.
10326	//
10327	// FleetName is a required field
10328	FleetName *string `min:"1" type:"string" required:"true"`
10329
10330	// The identifier of the streaming session.
10331	//
10332	// Id is a required field
10333	Id *string `min:"1" type:"string" required:"true"`
10334
10335	// The time when the streaming session is set to expire. This time is based
10336	// on the MaxUserDurationinSeconds value, which determines the maximum length
10337	// of time that a streaming session can run. A streaming session might end earlier
10338	// than the time specified in SessionMaxExpirationTime, when the DisconnectTimeOutInSeconds
10339	// elapses or the user chooses to end his or her session. If the DisconnectTimeOutInSeconds
10340	// elapses, or the user chooses to end his or her session, the streaming instance
10341	// is terminated and the streaming session ends.
10342	MaxExpirationTime *time.Time `type:"timestamp"`
10343
10344	// The network details for the streaming session.
10345	NetworkAccessConfiguration *NetworkAccessConfiguration `type:"structure"`
10346
10347	// The name of the stack for the streaming session.
10348	//
10349	// StackName is a required field
10350	StackName *string `min:"1" type:"string" required:"true"`
10351
10352	// The time when a streaming instance is dedicated for the user.
10353	StartTime *time.Time `type:"timestamp"`
10354
10355	// The current state of the streaming session.
10356	//
10357	// State is a required field
10358	State *string `type:"string" required:"true" enum:"SessionState"`
10359
10360	// The identifier of the user for whom the session was created.
10361	//
10362	// UserId is a required field
10363	UserId *string `min:"2" type:"string" required:"true"`
10364}
10365
10366// String returns the string representation
10367func (s Session) String() string {
10368	return awsutil.Prettify(s)
10369}
10370
10371// GoString returns the string representation
10372func (s Session) GoString() string {
10373	return s.String()
10374}
10375
10376// SetAuthenticationType sets the AuthenticationType field's value.
10377func (s *Session) SetAuthenticationType(v string) *Session {
10378	s.AuthenticationType = &v
10379	return s
10380}
10381
10382// SetConnectionState sets the ConnectionState field's value.
10383func (s *Session) SetConnectionState(v string) *Session {
10384	s.ConnectionState = &v
10385	return s
10386}
10387
10388// SetFleetName sets the FleetName field's value.
10389func (s *Session) SetFleetName(v string) *Session {
10390	s.FleetName = &v
10391	return s
10392}
10393
10394// SetId sets the Id field's value.
10395func (s *Session) SetId(v string) *Session {
10396	s.Id = &v
10397	return s
10398}
10399
10400// SetMaxExpirationTime sets the MaxExpirationTime field's value.
10401func (s *Session) SetMaxExpirationTime(v time.Time) *Session {
10402	s.MaxExpirationTime = &v
10403	return s
10404}
10405
10406// SetNetworkAccessConfiguration sets the NetworkAccessConfiguration field's value.
10407func (s *Session) SetNetworkAccessConfiguration(v *NetworkAccessConfiguration) *Session {
10408	s.NetworkAccessConfiguration = v
10409	return s
10410}
10411
10412// SetStackName sets the StackName field's value.
10413func (s *Session) SetStackName(v string) *Session {
10414	s.StackName = &v
10415	return s
10416}
10417
10418// SetStartTime sets the StartTime field's value.
10419func (s *Session) SetStartTime(v time.Time) *Session {
10420	s.StartTime = &v
10421	return s
10422}
10423
10424// SetState sets the State field's value.
10425func (s *Session) SetState(v string) *Session {
10426	s.State = &v
10427	return s
10428}
10429
10430// SetUserId sets the UserId field's value.
10431func (s *Session) SetUserId(v string) *Session {
10432	s.UserId = &v
10433	return s
10434}
10435
10436// Describes the permissions that are available to the specified AWS account
10437// for a shared image.
10438type SharedImagePermissions struct {
10439	_ struct{} `type:"structure"`
10440
10441	// Describes the permissions for a shared image.
10442	//
10443	// ImagePermissions is a required field
10444	ImagePermissions *ImagePermissions `locationName:"imagePermissions" type:"structure" required:"true"`
10445
10446	// The 12-digit identifier of the AWS account with which the image is shared.
10447	//
10448	// SharedAccountId is a required field
10449	SharedAccountId *string `locationName:"sharedAccountId" type:"string" required:"true"`
10450}
10451
10452// String returns the string representation
10453func (s SharedImagePermissions) String() string {
10454	return awsutil.Prettify(s)
10455}
10456
10457// GoString returns the string representation
10458func (s SharedImagePermissions) GoString() string {
10459	return s.String()
10460}
10461
10462// SetImagePermissions sets the ImagePermissions field's value.
10463func (s *SharedImagePermissions) SetImagePermissions(v *ImagePermissions) *SharedImagePermissions {
10464	s.ImagePermissions = v
10465	return s
10466}
10467
10468// SetSharedAccountId sets the SharedAccountId field's value.
10469func (s *SharedImagePermissions) SetSharedAccountId(v string) *SharedImagePermissions {
10470	s.SharedAccountId = &v
10471	return s
10472}
10473
10474// Describes a stack.
10475type Stack struct {
10476	_ struct{} `type:"structure"`
10477
10478	// The list of virtual private cloud (VPC) interface endpoint objects. Users
10479	// of the stack can connect to AppStream 2.0 only through the specified endpoints.
10480	AccessEndpoints []*AccessEndpoint `min:"1" type:"list"`
10481
10482	// The persistent application settings for users of the stack.
10483	ApplicationSettings *ApplicationSettingsResponse `type:"structure"`
10484
10485	// The ARN of the stack.
10486	Arn *string `type:"string"`
10487
10488	// The time the stack was created.
10489	CreatedTime *time.Time `type:"timestamp"`
10490
10491	// The description to display.
10492	Description *string `min:"1" type:"string"`
10493
10494	// The stack name to display.
10495	DisplayName *string `min:"1" type:"string"`
10496
10497	// The domains where AppStream 2.0 streaming sessions can be embedded in an
10498	// iframe. You must approve the domains that you want to host embedded AppStream
10499	// 2.0 streaming sessions.
10500	EmbedHostDomains []*string `min:"1" type:"list"`
10501
10502	// The URL that users are redirected to after they click the Send Feedback link.
10503	// If no URL is specified, no Send Feedback link is displayed.
10504	FeedbackURL *string `type:"string"`
10505
10506	// The name of the stack.
10507	//
10508	// Name is a required field
10509	Name *string `min:"1" type:"string" required:"true"`
10510
10511	// The URL that users are redirected to after their streaming session ends.
10512	RedirectURL *string `type:"string"`
10513
10514	// The errors for the stack.
10515	StackErrors []*StackError `type:"list"`
10516
10517	// The storage connectors to enable.
10518	StorageConnectors []*StorageConnector `type:"list"`
10519
10520	// The actions that are enabled or disabled for users during their streaming
10521	// sessions. By default these actions are enabled.
10522	UserSettings []*UserSetting `min:"1" type:"list"`
10523}
10524
10525// String returns the string representation
10526func (s Stack) String() string {
10527	return awsutil.Prettify(s)
10528}
10529
10530// GoString returns the string representation
10531func (s Stack) GoString() string {
10532	return s.String()
10533}
10534
10535// SetAccessEndpoints sets the AccessEndpoints field's value.
10536func (s *Stack) SetAccessEndpoints(v []*AccessEndpoint) *Stack {
10537	s.AccessEndpoints = v
10538	return s
10539}
10540
10541// SetApplicationSettings sets the ApplicationSettings field's value.
10542func (s *Stack) SetApplicationSettings(v *ApplicationSettingsResponse) *Stack {
10543	s.ApplicationSettings = v
10544	return s
10545}
10546
10547// SetArn sets the Arn field's value.
10548func (s *Stack) SetArn(v string) *Stack {
10549	s.Arn = &v
10550	return s
10551}
10552
10553// SetCreatedTime sets the CreatedTime field's value.
10554func (s *Stack) SetCreatedTime(v time.Time) *Stack {
10555	s.CreatedTime = &v
10556	return s
10557}
10558
10559// SetDescription sets the Description field's value.
10560func (s *Stack) SetDescription(v string) *Stack {
10561	s.Description = &v
10562	return s
10563}
10564
10565// SetDisplayName sets the DisplayName field's value.
10566func (s *Stack) SetDisplayName(v string) *Stack {
10567	s.DisplayName = &v
10568	return s
10569}
10570
10571// SetEmbedHostDomains sets the EmbedHostDomains field's value.
10572func (s *Stack) SetEmbedHostDomains(v []*string) *Stack {
10573	s.EmbedHostDomains = v
10574	return s
10575}
10576
10577// SetFeedbackURL sets the FeedbackURL field's value.
10578func (s *Stack) SetFeedbackURL(v string) *Stack {
10579	s.FeedbackURL = &v
10580	return s
10581}
10582
10583// SetName sets the Name field's value.
10584func (s *Stack) SetName(v string) *Stack {
10585	s.Name = &v
10586	return s
10587}
10588
10589// SetRedirectURL sets the RedirectURL field's value.
10590func (s *Stack) SetRedirectURL(v string) *Stack {
10591	s.RedirectURL = &v
10592	return s
10593}
10594
10595// SetStackErrors sets the StackErrors field's value.
10596func (s *Stack) SetStackErrors(v []*StackError) *Stack {
10597	s.StackErrors = v
10598	return s
10599}
10600
10601// SetStorageConnectors sets the StorageConnectors field's value.
10602func (s *Stack) SetStorageConnectors(v []*StorageConnector) *Stack {
10603	s.StorageConnectors = v
10604	return s
10605}
10606
10607// SetUserSettings sets the UserSettings field's value.
10608func (s *Stack) SetUserSettings(v []*UserSetting) *Stack {
10609	s.UserSettings = v
10610	return s
10611}
10612
10613// Describes a stack error.
10614type StackError struct {
10615	_ struct{} `type:"structure"`
10616
10617	// The error code.
10618	ErrorCode *string `type:"string" enum:"StackErrorCode"`
10619
10620	// The error message.
10621	ErrorMessage *string `min:"1" type:"string"`
10622}
10623
10624// String returns the string representation
10625func (s StackError) String() string {
10626	return awsutil.Prettify(s)
10627}
10628
10629// GoString returns the string representation
10630func (s StackError) GoString() string {
10631	return s.String()
10632}
10633
10634// SetErrorCode sets the ErrorCode field's value.
10635func (s *StackError) SetErrorCode(v string) *StackError {
10636	s.ErrorCode = &v
10637	return s
10638}
10639
10640// SetErrorMessage sets the ErrorMessage field's value.
10641func (s *StackError) SetErrorMessage(v string) *StackError {
10642	s.ErrorMessage = &v
10643	return s
10644}
10645
10646type StartFleetInput struct {
10647	_ struct{} `type:"structure"`
10648
10649	// The name of the fleet.
10650	//
10651	// Name is a required field
10652	Name *string `min:"1" type:"string" required:"true"`
10653}
10654
10655// String returns the string representation
10656func (s StartFleetInput) String() string {
10657	return awsutil.Prettify(s)
10658}
10659
10660// GoString returns the string representation
10661func (s StartFleetInput) GoString() string {
10662	return s.String()
10663}
10664
10665// Validate inspects the fields of the type to determine if they are valid.
10666func (s *StartFleetInput) Validate() error {
10667	invalidParams := request.ErrInvalidParams{Context: "StartFleetInput"}
10668	if s.Name == nil {
10669		invalidParams.Add(request.NewErrParamRequired("Name"))
10670	}
10671	if s.Name != nil && len(*s.Name) < 1 {
10672		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10673	}
10674
10675	if invalidParams.Len() > 0 {
10676		return invalidParams
10677	}
10678	return nil
10679}
10680
10681// SetName sets the Name field's value.
10682func (s *StartFleetInput) SetName(v string) *StartFleetInput {
10683	s.Name = &v
10684	return s
10685}
10686
10687type StartFleetOutput struct {
10688	_ struct{} `type:"structure"`
10689}
10690
10691// String returns the string representation
10692func (s StartFleetOutput) String() string {
10693	return awsutil.Prettify(s)
10694}
10695
10696// GoString returns the string representation
10697func (s StartFleetOutput) GoString() string {
10698	return s.String()
10699}
10700
10701type StartImageBuilderInput struct {
10702	_ struct{} `type:"structure"`
10703
10704	// The version of the AppStream 2.0 agent to use for this image builder. To
10705	// use the latest version of the AppStream 2.0 agent, specify [LATEST].
10706	AppstreamAgentVersion *string `min:"1" type:"string"`
10707
10708	// The name of the image builder.
10709	//
10710	// Name is a required field
10711	Name *string `min:"1" type:"string" required:"true"`
10712}
10713
10714// String returns the string representation
10715func (s StartImageBuilderInput) String() string {
10716	return awsutil.Prettify(s)
10717}
10718
10719// GoString returns the string representation
10720func (s StartImageBuilderInput) GoString() string {
10721	return s.String()
10722}
10723
10724// Validate inspects the fields of the type to determine if they are valid.
10725func (s *StartImageBuilderInput) Validate() error {
10726	invalidParams := request.ErrInvalidParams{Context: "StartImageBuilderInput"}
10727	if s.AppstreamAgentVersion != nil && len(*s.AppstreamAgentVersion) < 1 {
10728		invalidParams.Add(request.NewErrParamMinLen("AppstreamAgentVersion", 1))
10729	}
10730	if s.Name == nil {
10731		invalidParams.Add(request.NewErrParamRequired("Name"))
10732	}
10733	if s.Name != nil && len(*s.Name) < 1 {
10734		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10735	}
10736
10737	if invalidParams.Len() > 0 {
10738		return invalidParams
10739	}
10740	return nil
10741}
10742
10743// SetAppstreamAgentVersion sets the AppstreamAgentVersion field's value.
10744func (s *StartImageBuilderInput) SetAppstreamAgentVersion(v string) *StartImageBuilderInput {
10745	s.AppstreamAgentVersion = &v
10746	return s
10747}
10748
10749// SetName sets the Name field's value.
10750func (s *StartImageBuilderInput) SetName(v string) *StartImageBuilderInput {
10751	s.Name = &v
10752	return s
10753}
10754
10755type StartImageBuilderOutput struct {
10756	_ struct{} `type:"structure"`
10757
10758	// Information about the image builder.
10759	ImageBuilder *ImageBuilder `type:"structure"`
10760}
10761
10762// String returns the string representation
10763func (s StartImageBuilderOutput) String() string {
10764	return awsutil.Prettify(s)
10765}
10766
10767// GoString returns the string representation
10768func (s StartImageBuilderOutput) GoString() string {
10769	return s.String()
10770}
10771
10772// SetImageBuilder sets the ImageBuilder field's value.
10773func (s *StartImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *StartImageBuilderOutput {
10774	s.ImageBuilder = v
10775	return s
10776}
10777
10778type StopFleetInput struct {
10779	_ struct{} `type:"structure"`
10780
10781	// The name of the fleet.
10782	//
10783	// Name is a required field
10784	Name *string `min:"1" type:"string" required:"true"`
10785}
10786
10787// String returns the string representation
10788func (s StopFleetInput) String() string {
10789	return awsutil.Prettify(s)
10790}
10791
10792// GoString returns the string representation
10793func (s StopFleetInput) GoString() string {
10794	return s.String()
10795}
10796
10797// Validate inspects the fields of the type to determine if they are valid.
10798func (s *StopFleetInput) Validate() error {
10799	invalidParams := request.ErrInvalidParams{Context: "StopFleetInput"}
10800	if s.Name == nil {
10801		invalidParams.Add(request.NewErrParamRequired("Name"))
10802	}
10803	if s.Name != nil && len(*s.Name) < 1 {
10804		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10805	}
10806
10807	if invalidParams.Len() > 0 {
10808		return invalidParams
10809	}
10810	return nil
10811}
10812
10813// SetName sets the Name field's value.
10814func (s *StopFleetInput) SetName(v string) *StopFleetInput {
10815	s.Name = &v
10816	return s
10817}
10818
10819type StopFleetOutput struct {
10820	_ struct{} `type:"structure"`
10821}
10822
10823// String returns the string representation
10824func (s StopFleetOutput) String() string {
10825	return awsutil.Prettify(s)
10826}
10827
10828// GoString returns the string representation
10829func (s StopFleetOutput) GoString() string {
10830	return s.String()
10831}
10832
10833type StopImageBuilderInput struct {
10834	_ struct{} `type:"structure"`
10835
10836	// The name of the image builder.
10837	//
10838	// Name is a required field
10839	Name *string `min:"1" type:"string" required:"true"`
10840}
10841
10842// String returns the string representation
10843func (s StopImageBuilderInput) String() string {
10844	return awsutil.Prettify(s)
10845}
10846
10847// GoString returns the string representation
10848func (s StopImageBuilderInput) GoString() string {
10849	return s.String()
10850}
10851
10852// Validate inspects the fields of the type to determine if they are valid.
10853func (s *StopImageBuilderInput) Validate() error {
10854	invalidParams := request.ErrInvalidParams{Context: "StopImageBuilderInput"}
10855	if s.Name == nil {
10856		invalidParams.Add(request.NewErrParamRequired("Name"))
10857	}
10858	if s.Name != nil && len(*s.Name) < 1 {
10859		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10860	}
10861
10862	if invalidParams.Len() > 0 {
10863		return invalidParams
10864	}
10865	return nil
10866}
10867
10868// SetName sets the Name field's value.
10869func (s *StopImageBuilderInput) SetName(v string) *StopImageBuilderInput {
10870	s.Name = &v
10871	return s
10872}
10873
10874type StopImageBuilderOutput struct {
10875	_ struct{} `type:"structure"`
10876
10877	// Information about the image builder.
10878	ImageBuilder *ImageBuilder `type:"structure"`
10879}
10880
10881// String returns the string representation
10882func (s StopImageBuilderOutput) String() string {
10883	return awsutil.Prettify(s)
10884}
10885
10886// GoString returns the string representation
10887func (s StopImageBuilderOutput) GoString() string {
10888	return s.String()
10889}
10890
10891// SetImageBuilder sets the ImageBuilder field's value.
10892func (s *StopImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *StopImageBuilderOutput {
10893	s.ImageBuilder = v
10894	return s
10895}
10896
10897// Describes a connector that enables persistent storage for users.
10898type StorageConnector struct {
10899	_ struct{} `type:"structure"`
10900
10901	// The type of storage connector.
10902	//
10903	// ConnectorType is a required field
10904	ConnectorType *string `type:"string" required:"true" enum:"StorageConnectorType"`
10905
10906	// The names of the domains for the account.
10907	Domains []*string `type:"list"`
10908
10909	// The ARN of the storage connector.
10910	ResourceIdentifier *string `min:"1" type:"string"`
10911}
10912
10913// String returns the string representation
10914func (s StorageConnector) String() string {
10915	return awsutil.Prettify(s)
10916}
10917
10918// GoString returns the string representation
10919func (s StorageConnector) GoString() string {
10920	return s.String()
10921}
10922
10923// Validate inspects the fields of the type to determine if they are valid.
10924func (s *StorageConnector) Validate() error {
10925	invalidParams := request.ErrInvalidParams{Context: "StorageConnector"}
10926	if s.ConnectorType == nil {
10927		invalidParams.Add(request.NewErrParamRequired("ConnectorType"))
10928	}
10929	if s.ResourceIdentifier != nil && len(*s.ResourceIdentifier) < 1 {
10930		invalidParams.Add(request.NewErrParamMinLen("ResourceIdentifier", 1))
10931	}
10932
10933	if invalidParams.Len() > 0 {
10934		return invalidParams
10935	}
10936	return nil
10937}
10938
10939// SetConnectorType sets the ConnectorType field's value.
10940func (s *StorageConnector) SetConnectorType(v string) *StorageConnector {
10941	s.ConnectorType = &v
10942	return s
10943}
10944
10945// SetDomains sets the Domains field's value.
10946func (s *StorageConnector) SetDomains(v []*string) *StorageConnector {
10947	s.Domains = v
10948	return s
10949}
10950
10951// SetResourceIdentifier sets the ResourceIdentifier field's value.
10952func (s *StorageConnector) SetResourceIdentifier(v string) *StorageConnector {
10953	s.ResourceIdentifier = &v
10954	return s
10955}
10956
10957type TagResourceInput struct {
10958	_ struct{} `type:"structure"`
10959
10960	// The Amazon Resource Name (ARN) of the resource.
10961	//
10962	// ResourceArn is a required field
10963	ResourceArn *string `type:"string" required:"true"`
10964
10965	// The tags to associate. A tag is a key-value pair, and the value is optional.
10966	// For example, Environment=Test. If you do not specify a value, Environment=.
10967	//
10968	// If you do not specify a value, the value is set to an empty string.
10969	//
10970	// Generally allowed characters are: letters, numbers, and spaces representable
10971	// in UTF-8, and the following special characters:
10972	//
10973	// _ . : / = + \ - @
10974	//
10975	// Tags is a required field
10976	Tags map[string]*string `min:"1" type:"map" required:"true"`
10977}
10978
10979// String returns the string representation
10980func (s TagResourceInput) String() string {
10981	return awsutil.Prettify(s)
10982}
10983
10984// GoString returns the string representation
10985func (s TagResourceInput) GoString() string {
10986	return s.String()
10987}
10988
10989// Validate inspects the fields of the type to determine if they are valid.
10990func (s *TagResourceInput) Validate() error {
10991	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
10992	if s.ResourceArn == nil {
10993		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10994	}
10995	if s.Tags == nil {
10996		invalidParams.Add(request.NewErrParamRequired("Tags"))
10997	}
10998	if s.Tags != nil && len(s.Tags) < 1 {
10999		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
11000	}
11001
11002	if invalidParams.Len() > 0 {
11003		return invalidParams
11004	}
11005	return nil
11006}
11007
11008// SetResourceArn sets the ResourceArn field's value.
11009func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
11010	s.ResourceArn = &v
11011	return s
11012}
11013
11014// SetTags sets the Tags field's value.
11015func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
11016	s.Tags = v
11017	return s
11018}
11019
11020type TagResourceOutput struct {
11021	_ struct{} `type:"structure"`
11022}
11023
11024// String returns the string representation
11025func (s TagResourceOutput) String() string {
11026	return awsutil.Prettify(s)
11027}
11028
11029// GoString returns the string representation
11030func (s TagResourceOutput) GoString() string {
11031	return s.String()
11032}
11033
11034type UntagResourceInput struct {
11035	_ struct{} `type:"structure"`
11036
11037	// The Amazon Resource Name (ARN) of the resource.
11038	//
11039	// ResourceArn is a required field
11040	ResourceArn *string `type:"string" required:"true"`
11041
11042	// The tag keys for the tags to disassociate.
11043	//
11044	// TagKeys is a required field
11045	TagKeys []*string `min:"1" type:"list" required:"true"`
11046}
11047
11048// String returns the string representation
11049func (s UntagResourceInput) String() string {
11050	return awsutil.Prettify(s)
11051}
11052
11053// GoString returns the string representation
11054func (s UntagResourceInput) GoString() string {
11055	return s.String()
11056}
11057
11058// Validate inspects the fields of the type to determine if they are valid.
11059func (s *UntagResourceInput) Validate() error {
11060	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
11061	if s.ResourceArn == nil {
11062		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
11063	}
11064	if s.TagKeys == nil {
11065		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
11066	}
11067	if s.TagKeys != nil && len(s.TagKeys) < 1 {
11068		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
11069	}
11070
11071	if invalidParams.Len() > 0 {
11072		return invalidParams
11073	}
11074	return nil
11075}
11076
11077// SetResourceArn sets the ResourceArn field's value.
11078func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
11079	s.ResourceArn = &v
11080	return s
11081}
11082
11083// SetTagKeys sets the TagKeys field's value.
11084func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
11085	s.TagKeys = v
11086	return s
11087}
11088
11089type UntagResourceOutput struct {
11090	_ struct{} `type:"structure"`
11091}
11092
11093// String returns the string representation
11094func (s UntagResourceOutput) String() string {
11095	return awsutil.Prettify(s)
11096}
11097
11098// GoString returns the string representation
11099func (s UntagResourceOutput) GoString() string {
11100	return s.String()
11101}
11102
11103type UpdateDirectoryConfigInput struct {
11104	_ struct{} `type:"structure"`
11105
11106	// The name of the Directory Config object.
11107	//
11108	// DirectoryName is a required field
11109	DirectoryName *string `type:"string" required:"true"`
11110
11111	// The distinguished names of the organizational units for computer accounts.
11112	OrganizationalUnitDistinguishedNames []*string `type:"list"`
11113
11114	// The credentials for the service account used by the fleet or image builder
11115	// to connect to the directory.
11116	ServiceAccountCredentials *ServiceAccountCredentials `type:"structure"`
11117}
11118
11119// String returns the string representation
11120func (s UpdateDirectoryConfigInput) String() string {
11121	return awsutil.Prettify(s)
11122}
11123
11124// GoString returns the string representation
11125func (s UpdateDirectoryConfigInput) GoString() string {
11126	return s.String()
11127}
11128
11129// Validate inspects the fields of the type to determine if they are valid.
11130func (s *UpdateDirectoryConfigInput) Validate() error {
11131	invalidParams := request.ErrInvalidParams{Context: "UpdateDirectoryConfigInput"}
11132	if s.DirectoryName == nil {
11133		invalidParams.Add(request.NewErrParamRequired("DirectoryName"))
11134	}
11135	if s.ServiceAccountCredentials != nil {
11136		if err := s.ServiceAccountCredentials.Validate(); err != nil {
11137			invalidParams.AddNested("ServiceAccountCredentials", err.(request.ErrInvalidParams))
11138		}
11139	}
11140
11141	if invalidParams.Len() > 0 {
11142		return invalidParams
11143	}
11144	return nil
11145}
11146
11147// SetDirectoryName sets the DirectoryName field's value.
11148func (s *UpdateDirectoryConfigInput) SetDirectoryName(v string) *UpdateDirectoryConfigInput {
11149	s.DirectoryName = &v
11150	return s
11151}
11152
11153// SetOrganizationalUnitDistinguishedNames sets the OrganizationalUnitDistinguishedNames field's value.
11154func (s *UpdateDirectoryConfigInput) SetOrganizationalUnitDistinguishedNames(v []*string) *UpdateDirectoryConfigInput {
11155	s.OrganizationalUnitDistinguishedNames = v
11156	return s
11157}
11158
11159// SetServiceAccountCredentials sets the ServiceAccountCredentials field's value.
11160func (s *UpdateDirectoryConfigInput) SetServiceAccountCredentials(v *ServiceAccountCredentials) *UpdateDirectoryConfigInput {
11161	s.ServiceAccountCredentials = v
11162	return s
11163}
11164
11165type UpdateDirectoryConfigOutput struct {
11166	_ struct{} `type:"structure"`
11167
11168	// Information about the Directory Config object.
11169	DirectoryConfig *DirectoryConfig `type:"structure"`
11170}
11171
11172// String returns the string representation
11173func (s UpdateDirectoryConfigOutput) String() string {
11174	return awsutil.Prettify(s)
11175}
11176
11177// GoString returns the string representation
11178func (s UpdateDirectoryConfigOutput) GoString() string {
11179	return s.String()
11180}
11181
11182// SetDirectoryConfig sets the DirectoryConfig field's value.
11183func (s *UpdateDirectoryConfigOutput) SetDirectoryConfig(v *DirectoryConfig) *UpdateDirectoryConfigOutput {
11184	s.DirectoryConfig = v
11185	return s
11186}
11187
11188type UpdateFleetInput struct {
11189	_ struct{} `type:"structure"`
11190
11191	// The fleet attributes to delete.
11192	AttributesToDelete []*string `type:"list"`
11193
11194	// The desired capacity for the fleet.
11195	ComputeCapacity *ComputeCapacity `type:"structure"`
11196
11197	// Deletes the VPC association for the specified fleet.
11198	//
11199	// Deprecated: DeleteVpcConfig has been deprecated
11200	DeleteVpcConfig *bool `deprecated:"true" type:"boolean"`
11201
11202	// The description to display.
11203	Description *string `type:"string"`
11204
11205	// The amount of time that a streaming session remains active after users disconnect.
11206	// If users try to reconnect to the streaming session after a disconnection
11207	// or network interruption within this time interval, they are connected to
11208	// their previous session. Otherwise, they are connected to a new session with
11209	// a new streaming instance.
11210	//
11211	// Specify a value between 60 and 360000.
11212	DisconnectTimeoutInSeconds *int64 `type:"integer"`
11213
11214	// The fleet name to display.
11215	DisplayName *string `type:"string"`
11216
11217	// The name of the directory and organizational unit (OU) to use to join the
11218	// fleet to a Microsoft Active Directory domain.
11219	DomainJoinInfo *DomainJoinInfo `type:"structure"`
11220
11221	// Enables or disables default internet access for the fleet.
11222	EnableDefaultInternetAccess *bool `type:"boolean"`
11223
11224	// The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To
11225	// assume a role, a fleet instance calls the AWS Security Token Service (STS)
11226	// AssumeRole API operation and passes the ARN of the role to use. The operation
11227	// creates a new session with temporary credentials. AppStream 2.0 retrieves
11228	// the temporary credentials and creates the appstream_machine_role credential
11229	// profile on the instance.
11230	//
11231	// For more information, see Using an IAM Role to Grant Permissions to Applications
11232	// 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)
11233	// in the Amazon AppStream 2.0 Administration Guide.
11234	IamRoleArn *string `type:"string"`
11235
11236	// The amount of time that users can be idle (inactive) before they are disconnected
11237	// from their streaming session and the DisconnectTimeoutInSeconds time interval
11238	// begins. Users are notified before they are disconnected due to inactivity.
11239	// If users try to reconnect to the streaming session before the time interval
11240	// specified in DisconnectTimeoutInSeconds elapses, they are connected to their
11241	// previous session. Users are considered idle when they stop providing keyboard
11242	// or mouse input during their streaming session. File uploads and downloads,
11243	// audio in, audio out, and pixels changing do not qualify as user activity.
11244	// If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds
11245	// elapses, they are disconnected.
11246	//
11247	// To prevent users from being disconnected due to inactivity, specify a value
11248	// of 0. Otherwise, specify a value between 60 and 3600. The default value is
11249	// 0.
11250	//
11251	// If you enable this feature, we recommend that you specify a value that corresponds
11252	// exactly to a whole number of minutes (for example, 60, 120, and 180). If
11253	// you don't do this, the value is rounded to the nearest minute. For example,
11254	// if you specify a value of 70, users are disconnected after 1 minute of inactivity.
11255	// If you specify a value that is at the midpoint between two different minutes,
11256	// the value is rounded up. For example, if you specify a value of 90, users
11257	// are disconnected after 2 minutes of inactivity.
11258	IdleDisconnectTimeoutInSeconds *int64 `type:"integer"`
11259
11260	// The ARN of the public, private, or shared image to use.
11261	ImageArn *string `type:"string"`
11262
11263	// The name of the image used to create the fleet.
11264	ImageName *string `min:"1" type:"string"`
11265
11266	// The instance type to use when launching fleet instances. The following instance
11267	// types are available:
11268	//
11269	//    * stream.standard.small
11270	//
11271	//    * stream.standard.medium
11272	//
11273	//    * stream.standard.large
11274	//
11275	//    * stream.compute.large
11276	//
11277	//    * stream.compute.xlarge
11278	//
11279	//    * stream.compute.2xlarge
11280	//
11281	//    * stream.compute.4xlarge
11282	//
11283	//    * stream.compute.8xlarge
11284	//
11285	//    * stream.memory.large
11286	//
11287	//    * stream.memory.xlarge
11288	//
11289	//    * stream.memory.2xlarge
11290	//
11291	//    * stream.memory.4xlarge
11292	//
11293	//    * stream.memory.8xlarge
11294	//
11295	//    * stream.memory.z1d.large
11296	//
11297	//    * stream.memory.z1d.xlarge
11298	//
11299	//    * stream.memory.z1d.2xlarge
11300	//
11301	//    * stream.memory.z1d.3xlarge
11302	//
11303	//    * stream.memory.z1d.6xlarge
11304	//
11305	//    * stream.memory.z1d.12xlarge
11306	//
11307	//    * stream.graphics-design.large
11308	//
11309	//    * stream.graphics-design.xlarge
11310	//
11311	//    * stream.graphics-design.2xlarge
11312	//
11313	//    * stream.graphics-design.4xlarge
11314	//
11315	//    * stream.graphics-desktop.2xlarge
11316	//
11317	//    * stream.graphics.g4dn.xlarge
11318	//
11319	//    * stream.graphics.g4dn.2xlarge
11320	//
11321	//    * stream.graphics.g4dn.4xlarge
11322	//
11323	//    * stream.graphics.g4dn.8xlarge
11324	//
11325	//    * stream.graphics.g4dn.12xlarge
11326	//
11327	//    * stream.graphics.g4dn.16xlarge
11328	//
11329	//    * stream.graphics-pro.4xlarge
11330	//
11331	//    * stream.graphics-pro.8xlarge
11332	//
11333	//    * stream.graphics-pro.16xlarge
11334	InstanceType *string `min:"1" type:"string"`
11335
11336	// The maximum amount of time that a streaming session can remain active, in
11337	// seconds. If users are still connected to a streaming instance five minutes
11338	// before this limit is reached, they are prompted to save any open documents
11339	// before being disconnected. After this time elapses, the instance is terminated
11340	// and replaced by a new instance.
11341	//
11342	// Specify a value between 600 and 360000.
11343	MaxUserDurationInSeconds *int64 `type:"integer"`
11344
11345	// A unique name for the fleet.
11346	Name *string `min:"1" type:"string"`
11347
11348	// The AppStream 2.0 view that is displayed to your users when they stream from
11349	// the fleet. When APP is specified, only the windows of applications opened
11350	// by users display. When DESKTOP is specified, the standard desktop that is
11351	// provided by the operating system displays.
11352	//
11353	// The default value is APP.
11354	StreamView *string `type:"string" enum:"StreamView"`
11355
11356	// The VPC configuration for the fleet.
11357	VpcConfig *VpcConfig `type:"structure"`
11358}
11359
11360// String returns the string representation
11361func (s UpdateFleetInput) String() string {
11362	return awsutil.Prettify(s)
11363}
11364
11365// GoString returns the string representation
11366func (s UpdateFleetInput) GoString() string {
11367	return s.String()
11368}
11369
11370// Validate inspects the fields of the type to determine if they are valid.
11371func (s *UpdateFleetInput) Validate() error {
11372	invalidParams := request.ErrInvalidParams{Context: "UpdateFleetInput"}
11373	if s.ImageName != nil && len(*s.ImageName) < 1 {
11374		invalidParams.Add(request.NewErrParamMinLen("ImageName", 1))
11375	}
11376	if s.InstanceType != nil && len(*s.InstanceType) < 1 {
11377		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1))
11378	}
11379	if s.Name != nil && len(*s.Name) < 1 {
11380		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11381	}
11382	if s.ComputeCapacity != nil {
11383		if err := s.ComputeCapacity.Validate(); err != nil {
11384			invalidParams.AddNested("ComputeCapacity", err.(request.ErrInvalidParams))
11385		}
11386	}
11387
11388	if invalidParams.Len() > 0 {
11389		return invalidParams
11390	}
11391	return nil
11392}
11393
11394// SetAttributesToDelete sets the AttributesToDelete field's value.
11395func (s *UpdateFleetInput) SetAttributesToDelete(v []*string) *UpdateFleetInput {
11396	s.AttributesToDelete = v
11397	return s
11398}
11399
11400// SetComputeCapacity sets the ComputeCapacity field's value.
11401func (s *UpdateFleetInput) SetComputeCapacity(v *ComputeCapacity) *UpdateFleetInput {
11402	s.ComputeCapacity = v
11403	return s
11404}
11405
11406// SetDeleteVpcConfig sets the DeleteVpcConfig field's value.
11407func (s *UpdateFleetInput) SetDeleteVpcConfig(v bool) *UpdateFleetInput {
11408	s.DeleteVpcConfig = &v
11409	return s
11410}
11411
11412// SetDescription sets the Description field's value.
11413func (s *UpdateFleetInput) SetDescription(v string) *UpdateFleetInput {
11414	s.Description = &v
11415	return s
11416}
11417
11418// SetDisconnectTimeoutInSeconds sets the DisconnectTimeoutInSeconds field's value.
11419func (s *UpdateFleetInput) SetDisconnectTimeoutInSeconds(v int64) *UpdateFleetInput {
11420	s.DisconnectTimeoutInSeconds = &v
11421	return s
11422}
11423
11424// SetDisplayName sets the DisplayName field's value.
11425func (s *UpdateFleetInput) SetDisplayName(v string) *UpdateFleetInput {
11426	s.DisplayName = &v
11427	return s
11428}
11429
11430// SetDomainJoinInfo sets the DomainJoinInfo field's value.
11431func (s *UpdateFleetInput) SetDomainJoinInfo(v *DomainJoinInfo) *UpdateFleetInput {
11432	s.DomainJoinInfo = v
11433	return s
11434}
11435
11436// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
11437func (s *UpdateFleetInput) SetEnableDefaultInternetAccess(v bool) *UpdateFleetInput {
11438	s.EnableDefaultInternetAccess = &v
11439	return s
11440}
11441
11442// SetIamRoleArn sets the IamRoleArn field's value.
11443func (s *UpdateFleetInput) SetIamRoleArn(v string) *UpdateFleetInput {
11444	s.IamRoleArn = &v
11445	return s
11446}
11447
11448// SetIdleDisconnectTimeoutInSeconds sets the IdleDisconnectTimeoutInSeconds field's value.
11449func (s *UpdateFleetInput) SetIdleDisconnectTimeoutInSeconds(v int64) *UpdateFleetInput {
11450	s.IdleDisconnectTimeoutInSeconds = &v
11451	return s
11452}
11453
11454// SetImageArn sets the ImageArn field's value.
11455func (s *UpdateFleetInput) SetImageArn(v string) *UpdateFleetInput {
11456	s.ImageArn = &v
11457	return s
11458}
11459
11460// SetImageName sets the ImageName field's value.
11461func (s *UpdateFleetInput) SetImageName(v string) *UpdateFleetInput {
11462	s.ImageName = &v
11463	return s
11464}
11465
11466// SetInstanceType sets the InstanceType field's value.
11467func (s *UpdateFleetInput) SetInstanceType(v string) *UpdateFleetInput {
11468	s.InstanceType = &v
11469	return s
11470}
11471
11472// SetMaxUserDurationInSeconds sets the MaxUserDurationInSeconds field's value.
11473func (s *UpdateFleetInput) SetMaxUserDurationInSeconds(v int64) *UpdateFleetInput {
11474	s.MaxUserDurationInSeconds = &v
11475	return s
11476}
11477
11478// SetName sets the Name field's value.
11479func (s *UpdateFleetInput) SetName(v string) *UpdateFleetInput {
11480	s.Name = &v
11481	return s
11482}
11483
11484// SetStreamView sets the StreamView field's value.
11485func (s *UpdateFleetInput) SetStreamView(v string) *UpdateFleetInput {
11486	s.StreamView = &v
11487	return s
11488}
11489
11490// SetVpcConfig sets the VpcConfig field's value.
11491func (s *UpdateFleetInput) SetVpcConfig(v *VpcConfig) *UpdateFleetInput {
11492	s.VpcConfig = v
11493	return s
11494}
11495
11496type UpdateFleetOutput struct {
11497	_ struct{} `type:"structure"`
11498
11499	// Information about the fleet.
11500	Fleet *Fleet `type:"structure"`
11501}
11502
11503// String returns the string representation
11504func (s UpdateFleetOutput) String() string {
11505	return awsutil.Prettify(s)
11506}
11507
11508// GoString returns the string representation
11509func (s UpdateFleetOutput) GoString() string {
11510	return s.String()
11511}
11512
11513// SetFleet sets the Fleet field's value.
11514func (s *UpdateFleetOutput) SetFleet(v *Fleet) *UpdateFleetOutput {
11515	s.Fleet = v
11516	return s
11517}
11518
11519type UpdateImagePermissionsInput struct {
11520	_ struct{} `type:"structure"`
11521
11522	// The permissions for the image.
11523	//
11524	// ImagePermissions is a required field
11525	ImagePermissions *ImagePermissions `type:"structure" required:"true"`
11526
11527	// The name of the private image.
11528	//
11529	// Name is a required field
11530	Name *string `type:"string" required:"true"`
11531
11532	// The 12-digit identifier of the AWS account for which you want add or update
11533	// image permissions.
11534	//
11535	// SharedAccountId is a required field
11536	SharedAccountId *string `type:"string" required:"true"`
11537}
11538
11539// String returns the string representation
11540func (s UpdateImagePermissionsInput) String() string {
11541	return awsutil.Prettify(s)
11542}
11543
11544// GoString returns the string representation
11545func (s UpdateImagePermissionsInput) GoString() string {
11546	return s.String()
11547}
11548
11549// Validate inspects the fields of the type to determine if they are valid.
11550func (s *UpdateImagePermissionsInput) Validate() error {
11551	invalidParams := request.ErrInvalidParams{Context: "UpdateImagePermissionsInput"}
11552	if s.ImagePermissions == nil {
11553		invalidParams.Add(request.NewErrParamRequired("ImagePermissions"))
11554	}
11555	if s.Name == nil {
11556		invalidParams.Add(request.NewErrParamRequired("Name"))
11557	}
11558	if s.SharedAccountId == nil {
11559		invalidParams.Add(request.NewErrParamRequired("SharedAccountId"))
11560	}
11561
11562	if invalidParams.Len() > 0 {
11563		return invalidParams
11564	}
11565	return nil
11566}
11567
11568// SetImagePermissions sets the ImagePermissions field's value.
11569func (s *UpdateImagePermissionsInput) SetImagePermissions(v *ImagePermissions) *UpdateImagePermissionsInput {
11570	s.ImagePermissions = v
11571	return s
11572}
11573
11574// SetName sets the Name field's value.
11575func (s *UpdateImagePermissionsInput) SetName(v string) *UpdateImagePermissionsInput {
11576	s.Name = &v
11577	return s
11578}
11579
11580// SetSharedAccountId sets the SharedAccountId field's value.
11581func (s *UpdateImagePermissionsInput) SetSharedAccountId(v string) *UpdateImagePermissionsInput {
11582	s.SharedAccountId = &v
11583	return s
11584}
11585
11586type UpdateImagePermissionsOutput struct {
11587	_ struct{} `type:"structure"`
11588}
11589
11590// String returns the string representation
11591func (s UpdateImagePermissionsOutput) String() string {
11592	return awsutil.Prettify(s)
11593}
11594
11595// GoString returns the string representation
11596func (s UpdateImagePermissionsOutput) GoString() string {
11597	return s.String()
11598}
11599
11600type UpdateStackInput struct {
11601	_ struct{} `type:"structure"`
11602
11603	// The list of interface VPC endpoint (interface endpoint) objects. Users of
11604	// the stack can connect to AppStream 2.0 only through the specified endpoints.
11605	AccessEndpoints []*AccessEndpoint `min:"1" type:"list"`
11606
11607	// The persistent application settings for users of a stack. When these settings
11608	// are enabled, changes that users make to applications and Windows settings
11609	// are automatically saved after each session and applied to the next session.
11610	ApplicationSettings *ApplicationSettings `type:"structure"`
11611
11612	// The stack attributes to delete.
11613	AttributesToDelete []*string `type:"list"`
11614
11615	// Deletes the storage connectors currently enabled for the stack.
11616	//
11617	// Deprecated: DeleteStorageConnectors has been deprecated
11618	DeleteStorageConnectors *bool `deprecated:"true" type:"boolean"`
11619
11620	// The description to display.
11621	Description *string `type:"string"`
11622
11623	// The stack name to display.
11624	DisplayName *string `type:"string"`
11625
11626	// The domains where AppStream 2.0 streaming sessions can be embedded in an
11627	// iframe. You must approve the domains that you want to host embedded AppStream
11628	// 2.0 streaming sessions.
11629	EmbedHostDomains []*string `min:"1" type:"list"`
11630
11631	// The URL that users are redirected to after they choose the Send Feedback
11632	// link. If no URL is specified, no Send Feedback link is displayed.
11633	FeedbackURL *string `type:"string"`
11634
11635	// The name of the stack.
11636	//
11637	// Name is a required field
11638	Name *string `min:"1" type:"string" required:"true"`
11639
11640	// The URL that users are redirected to after their streaming session ends.
11641	RedirectURL *string `type:"string"`
11642
11643	// The storage connectors to enable.
11644	StorageConnectors []*StorageConnector `type:"list"`
11645
11646	// The actions that are enabled or disabled for users during their streaming
11647	// sessions. By default, these actions are enabled.
11648	UserSettings []*UserSetting `min:"1" type:"list"`
11649}
11650
11651// String returns the string representation
11652func (s UpdateStackInput) String() string {
11653	return awsutil.Prettify(s)
11654}
11655
11656// GoString returns the string representation
11657func (s UpdateStackInput) GoString() string {
11658	return s.String()
11659}
11660
11661// Validate inspects the fields of the type to determine if they are valid.
11662func (s *UpdateStackInput) Validate() error {
11663	invalidParams := request.ErrInvalidParams{Context: "UpdateStackInput"}
11664	if s.AccessEndpoints != nil && len(s.AccessEndpoints) < 1 {
11665		invalidParams.Add(request.NewErrParamMinLen("AccessEndpoints", 1))
11666	}
11667	if s.EmbedHostDomains != nil && len(s.EmbedHostDomains) < 1 {
11668		invalidParams.Add(request.NewErrParamMinLen("EmbedHostDomains", 1))
11669	}
11670	if s.Name == nil {
11671		invalidParams.Add(request.NewErrParamRequired("Name"))
11672	}
11673	if s.Name != nil && len(*s.Name) < 1 {
11674		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11675	}
11676	if s.UserSettings != nil && len(s.UserSettings) < 1 {
11677		invalidParams.Add(request.NewErrParamMinLen("UserSettings", 1))
11678	}
11679	if s.AccessEndpoints != nil {
11680		for i, v := range s.AccessEndpoints {
11681			if v == nil {
11682				continue
11683			}
11684			if err := v.Validate(); err != nil {
11685				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessEndpoints", i), err.(request.ErrInvalidParams))
11686			}
11687		}
11688	}
11689	if s.ApplicationSettings != nil {
11690		if err := s.ApplicationSettings.Validate(); err != nil {
11691			invalidParams.AddNested("ApplicationSettings", err.(request.ErrInvalidParams))
11692		}
11693	}
11694	if s.StorageConnectors != nil {
11695		for i, v := range s.StorageConnectors {
11696			if v == nil {
11697				continue
11698			}
11699			if err := v.Validate(); err != nil {
11700				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StorageConnectors", i), err.(request.ErrInvalidParams))
11701			}
11702		}
11703	}
11704	if s.UserSettings != nil {
11705		for i, v := range s.UserSettings {
11706			if v == nil {
11707				continue
11708			}
11709			if err := v.Validate(); err != nil {
11710				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserSettings", i), err.(request.ErrInvalidParams))
11711			}
11712		}
11713	}
11714
11715	if invalidParams.Len() > 0 {
11716		return invalidParams
11717	}
11718	return nil
11719}
11720
11721// SetAccessEndpoints sets the AccessEndpoints field's value.
11722func (s *UpdateStackInput) SetAccessEndpoints(v []*AccessEndpoint) *UpdateStackInput {
11723	s.AccessEndpoints = v
11724	return s
11725}
11726
11727// SetApplicationSettings sets the ApplicationSettings field's value.
11728func (s *UpdateStackInput) SetApplicationSettings(v *ApplicationSettings) *UpdateStackInput {
11729	s.ApplicationSettings = v
11730	return s
11731}
11732
11733// SetAttributesToDelete sets the AttributesToDelete field's value.
11734func (s *UpdateStackInput) SetAttributesToDelete(v []*string) *UpdateStackInput {
11735	s.AttributesToDelete = v
11736	return s
11737}
11738
11739// SetDeleteStorageConnectors sets the DeleteStorageConnectors field's value.
11740func (s *UpdateStackInput) SetDeleteStorageConnectors(v bool) *UpdateStackInput {
11741	s.DeleteStorageConnectors = &v
11742	return s
11743}
11744
11745// SetDescription sets the Description field's value.
11746func (s *UpdateStackInput) SetDescription(v string) *UpdateStackInput {
11747	s.Description = &v
11748	return s
11749}
11750
11751// SetDisplayName sets the DisplayName field's value.
11752func (s *UpdateStackInput) SetDisplayName(v string) *UpdateStackInput {
11753	s.DisplayName = &v
11754	return s
11755}
11756
11757// SetEmbedHostDomains sets the EmbedHostDomains field's value.
11758func (s *UpdateStackInput) SetEmbedHostDomains(v []*string) *UpdateStackInput {
11759	s.EmbedHostDomains = v
11760	return s
11761}
11762
11763// SetFeedbackURL sets the FeedbackURL field's value.
11764func (s *UpdateStackInput) SetFeedbackURL(v string) *UpdateStackInput {
11765	s.FeedbackURL = &v
11766	return s
11767}
11768
11769// SetName sets the Name field's value.
11770func (s *UpdateStackInput) SetName(v string) *UpdateStackInput {
11771	s.Name = &v
11772	return s
11773}
11774
11775// SetRedirectURL sets the RedirectURL field's value.
11776func (s *UpdateStackInput) SetRedirectURL(v string) *UpdateStackInput {
11777	s.RedirectURL = &v
11778	return s
11779}
11780
11781// SetStorageConnectors sets the StorageConnectors field's value.
11782func (s *UpdateStackInput) SetStorageConnectors(v []*StorageConnector) *UpdateStackInput {
11783	s.StorageConnectors = v
11784	return s
11785}
11786
11787// SetUserSettings sets the UserSettings field's value.
11788func (s *UpdateStackInput) SetUserSettings(v []*UserSetting) *UpdateStackInput {
11789	s.UserSettings = v
11790	return s
11791}
11792
11793type UpdateStackOutput struct {
11794	_ struct{} `type:"structure"`
11795
11796	// Information about the stack.
11797	Stack *Stack `type:"structure"`
11798}
11799
11800// String returns the string representation
11801func (s UpdateStackOutput) String() string {
11802	return awsutil.Prettify(s)
11803}
11804
11805// GoString returns the string representation
11806func (s UpdateStackOutput) GoString() string {
11807	return s.String()
11808}
11809
11810// SetStack sets the Stack field's value.
11811func (s *UpdateStackOutput) SetStack(v *Stack) *UpdateStackOutput {
11812	s.Stack = v
11813	return s
11814}
11815
11816// Describes information about the usage report subscription.
11817type UsageReportSubscription struct {
11818	_ struct{} `type:"structure"`
11819
11820	// The time when the last usage report was generated.
11821	LastGeneratedReportDate *time.Time `type:"timestamp"`
11822
11823	// The Amazon S3 bucket where generated reports are stored.
11824	//
11825	// If you enabled on-instance session scripts and Amazon S3 logging for your
11826	// session script configuration, AppStream 2.0 created an S3 bucket to store
11827	// the script output. The bucket is unique to your account and Region. When
11828	// you enable usage reporting in this case, AppStream 2.0 uses the same bucket
11829	// to store your usage reports. If you haven't already enabled on-instance session
11830	// scripts, when you enable usage reports, AppStream 2.0 creates a new S3 bucket.
11831	S3BucketName *string `min:"1" type:"string"`
11832
11833	// The schedule for generating usage reports.
11834	Schedule *string `type:"string" enum:"UsageReportSchedule"`
11835
11836	// The errors that were returned if usage reports couldn't be generated.
11837	SubscriptionErrors []*LastReportGenerationExecutionError `type:"list"`
11838}
11839
11840// String returns the string representation
11841func (s UsageReportSubscription) String() string {
11842	return awsutil.Prettify(s)
11843}
11844
11845// GoString returns the string representation
11846func (s UsageReportSubscription) GoString() string {
11847	return s.String()
11848}
11849
11850// SetLastGeneratedReportDate sets the LastGeneratedReportDate field's value.
11851func (s *UsageReportSubscription) SetLastGeneratedReportDate(v time.Time) *UsageReportSubscription {
11852	s.LastGeneratedReportDate = &v
11853	return s
11854}
11855
11856// SetS3BucketName sets the S3BucketName field's value.
11857func (s *UsageReportSubscription) SetS3BucketName(v string) *UsageReportSubscription {
11858	s.S3BucketName = &v
11859	return s
11860}
11861
11862// SetSchedule sets the Schedule field's value.
11863func (s *UsageReportSubscription) SetSchedule(v string) *UsageReportSubscription {
11864	s.Schedule = &v
11865	return s
11866}
11867
11868// SetSubscriptionErrors sets the SubscriptionErrors field's value.
11869func (s *UsageReportSubscription) SetSubscriptionErrors(v []*LastReportGenerationExecutionError) *UsageReportSubscription {
11870	s.SubscriptionErrors = v
11871	return s
11872}
11873
11874// Describes a user in the user pool.
11875type User struct {
11876	_ struct{} `type:"structure"`
11877
11878	// The ARN of the user.
11879	Arn *string `type:"string"`
11880
11881	// The authentication type for the user.
11882	//
11883	// AuthenticationType is a required field
11884	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
11885
11886	// The date and time the user was created in the user pool.
11887	CreatedTime *time.Time `type:"timestamp"`
11888
11889	// Specifies whether the user in the user pool is enabled.
11890	Enabled *bool `type:"boolean"`
11891
11892	// The first name, or given name, of the user.
11893	FirstName *string `type:"string" sensitive:"true"`
11894
11895	// The last name, or surname, of the user.
11896	LastName *string `type:"string" sensitive:"true"`
11897
11898	// The status of the user in the user pool. The status can be one of the following:
11899	//
11900	//    * UNCONFIRMED – The user is created but not confirmed.
11901	//
11902	//    * CONFIRMED – The user is confirmed.
11903	//
11904	//    * ARCHIVED – The user is no longer active.
11905	//
11906	//    * COMPROMISED – The user is disabled because of a potential security
11907	//    threat.
11908	//
11909	//    * UNKNOWN – The user status is not known.
11910	Status *string `min:"1" type:"string"`
11911
11912	// The email address of the user.
11913	//
11914	// Users' email addresses are case-sensitive.
11915	UserName *string `min:"1" type:"string" sensitive:"true"`
11916}
11917
11918// String returns the string representation
11919func (s User) String() string {
11920	return awsutil.Prettify(s)
11921}
11922
11923// GoString returns the string representation
11924func (s User) GoString() string {
11925	return s.String()
11926}
11927
11928// SetArn sets the Arn field's value.
11929func (s *User) SetArn(v string) *User {
11930	s.Arn = &v
11931	return s
11932}
11933
11934// SetAuthenticationType sets the AuthenticationType field's value.
11935func (s *User) SetAuthenticationType(v string) *User {
11936	s.AuthenticationType = &v
11937	return s
11938}
11939
11940// SetCreatedTime sets the CreatedTime field's value.
11941func (s *User) SetCreatedTime(v time.Time) *User {
11942	s.CreatedTime = &v
11943	return s
11944}
11945
11946// SetEnabled sets the Enabled field's value.
11947func (s *User) SetEnabled(v bool) *User {
11948	s.Enabled = &v
11949	return s
11950}
11951
11952// SetFirstName sets the FirstName field's value.
11953func (s *User) SetFirstName(v string) *User {
11954	s.FirstName = &v
11955	return s
11956}
11957
11958// SetLastName sets the LastName field's value.
11959func (s *User) SetLastName(v string) *User {
11960	s.LastName = &v
11961	return s
11962}
11963
11964// SetStatus sets the Status field's value.
11965func (s *User) SetStatus(v string) *User {
11966	s.Status = &v
11967	return s
11968}
11969
11970// SetUserName sets the UserName field's value.
11971func (s *User) SetUserName(v string) *User {
11972	s.UserName = &v
11973	return s
11974}
11975
11976// Describes an action and whether the action is enabled or disabled for users
11977// during their streaming sessions.
11978type UserSetting struct {
11979	_ struct{} `type:"structure"`
11980
11981	// The action that is enabled or disabled.
11982	//
11983	// Action is a required field
11984	Action *string `type:"string" required:"true" enum:"Action"`
11985
11986	// Indicates whether the action is enabled or disabled.
11987	//
11988	// Permission is a required field
11989	Permission *string `type:"string" required:"true" enum:"Permission"`
11990}
11991
11992// String returns the string representation
11993func (s UserSetting) String() string {
11994	return awsutil.Prettify(s)
11995}
11996
11997// GoString returns the string representation
11998func (s UserSetting) GoString() string {
11999	return s.String()
12000}
12001
12002// Validate inspects the fields of the type to determine if they are valid.
12003func (s *UserSetting) Validate() error {
12004	invalidParams := request.ErrInvalidParams{Context: "UserSetting"}
12005	if s.Action == nil {
12006		invalidParams.Add(request.NewErrParamRequired("Action"))
12007	}
12008	if s.Permission == nil {
12009		invalidParams.Add(request.NewErrParamRequired("Permission"))
12010	}
12011
12012	if invalidParams.Len() > 0 {
12013		return invalidParams
12014	}
12015	return nil
12016}
12017
12018// SetAction sets the Action field's value.
12019func (s *UserSetting) SetAction(v string) *UserSetting {
12020	s.Action = &v
12021	return s
12022}
12023
12024// SetPermission sets the Permission field's value.
12025func (s *UserSetting) SetPermission(v string) *UserSetting {
12026	s.Permission = &v
12027	return s
12028}
12029
12030// Describes a user in the user pool and the associated stack.
12031type UserStackAssociation struct {
12032	_ struct{} `type:"structure"`
12033
12034	// The authentication type for the user.
12035	//
12036	// AuthenticationType is a required field
12037	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
12038
12039	// Specifies whether a welcome email is sent to a user after the user is created
12040	// in the user pool.
12041	SendEmailNotification *bool `type:"boolean"`
12042
12043	// The name of the stack that is associated with the user.
12044	//
12045	// StackName is a required field
12046	StackName *string `min:"1" type:"string" required:"true"`
12047
12048	// The email address of the user who is associated with the stack.
12049	//
12050	// Users' email addresses are case-sensitive.
12051	//
12052	// UserName is a required field
12053	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
12054}
12055
12056// String returns the string representation
12057func (s UserStackAssociation) String() string {
12058	return awsutil.Prettify(s)
12059}
12060
12061// GoString returns the string representation
12062func (s UserStackAssociation) GoString() string {
12063	return s.String()
12064}
12065
12066// Validate inspects the fields of the type to determine if they are valid.
12067func (s *UserStackAssociation) Validate() error {
12068	invalidParams := request.ErrInvalidParams{Context: "UserStackAssociation"}
12069	if s.AuthenticationType == nil {
12070		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
12071	}
12072	if s.StackName == nil {
12073		invalidParams.Add(request.NewErrParamRequired("StackName"))
12074	}
12075	if s.StackName != nil && len(*s.StackName) < 1 {
12076		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
12077	}
12078	if s.UserName == nil {
12079		invalidParams.Add(request.NewErrParamRequired("UserName"))
12080	}
12081	if s.UserName != nil && len(*s.UserName) < 1 {
12082		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
12083	}
12084
12085	if invalidParams.Len() > 0 {
12086		return invalidParams
12087	}
12088	return nil
12089}
12090
12091// SetAuthenticationType sets the AuthenticationType field's value.
12092func (s *UserStackAssociation) SetAuthenticationType(v string) *UserStackAssociation {
12093	s.AuthenticationType = &v
12094	return s
12095}
12096
12097// SetSendEmailNotification sets the SendEmailNotification field's value.
12098func (s *UserStackAssociation) SetSendEmailNotification(v bool) *UserStackAssociation {
12099	s.SendEmailNotification = &v
12100	return s
12101}
12102
12103// SetStackName sets the StackName field's value.
12104func (s *UserStackAssociation) SetStackName(v string) *UserStackAssociation {
12105	s.StackName = &v
12106	return s
12107}
12108
12109// SetUserName sets the UserName field's value.
12110func (s *UserStackAssociation) SetUserName(v string) *UserStackAssociation {
12111	s.UserName = &v
12112	return s
12113}
12114
12115// Describes the error that is returned when a user can’t be associated with
12116// or disassociated from a stack.
12117type UserStackAssociationError struct {
12118	_ struct{} `type:"structure"`
12119
12120	// The error code for the error that is returned when a user can’t be associated
12121	// with or disassociated from a stack.
12122	ErrorCode *string `type:"string" enum:"UserStackAssociationErrorCode"`
12123
12124	// The error message for the error that is returned when a user can’t be associated
12125	// with or disassociated from a stack.
12126	ErrorMessage *string `min:"1" type:"string"`
12127
12128	// Information about the user and associated stack.
12129	UserStackAssociation *UserStackAssociation `type:"structure"`
12130}
12131
12132// String returns the string representation
12133func (s UserStackAssociationError) String() string {
12134	return awsutil.Prettify(s)
12135}
12136
12137// GoString returns the string representation
12138func (s UserStackAssociationError) GoString() string {
12139	return s.String()
12140}
12141
12142// SetErrorCode sets the ErrorCode field's value.
12143func (s *UserStackAssociationError) SetErrorCode(v string) *UserStackAssociationError {
12144	s.ErrorCode = &v
12145	return s
12146}
12147
12148// SetErrorMessage sets the ErrorMessage field's value.
12149func (s *UserStackAssociationError) SetErrorMessage(v string) *UserStackAssociationError {
12150	s.ErrorMessage = &v
12151	return s
12152}
12153
12154// SetUserStackAssociation sets the UserStackAssociation field's value.
12155func (s *UserStackAssociationError) SetUserStackAssociation(v *UserStackAssociation) *UserStackAssociationError {
12156	s.UserStackAssociation = v
12157	return s
12158}
12159
12160// Describes VPC configuration information for fleets and image builders.
12161type VpcConfig struct {
12162	_ struct{} `type:"structure"`
12163
12164	// The identifiers of the security groups for the fleet or image builder.
12165	SecurityGroupIds []*string `type:"list"`
12166
12167	// The identifiers of the subnets to which a network interface is attached from
12168	// the fleet instance or image builder instance. Fleet instances use one or
12169	// more subnets. Image builder instances use one subnet.
12170	SubnetIds []*string `type:"list"`
12171}
12172
12173// String returns the string representation
12174func (s VpcConfig) String() string {
12175	return awsutil.Prettify(s)
12176}
12177
12178// GoString returns the string representation
12179func (s VpcConfig) GoString() string {
12180	return s.String()
12181}
12182
12183// SetSecurityGroupIds sets the SecurityGroupIds field's value.
12184func (s *VpcConfig) SetSecurityGroupIds(v []*string) *VpcConfig {
12185	s.SecurityGroupIds = v
12186	return s
12187}
12188
12189// SetSubnetIds sets the SubnetIds field's value.
12190func (s *VpcConfig) SetSubnetIds(v []*string) *VpcConfig {
12191	s.SubnetIds = v
12192	return s
12193}
12194
12195const (
12196	// AccessEndpointTypeStreaming is a AccessEndpointType enum value
12197	AccessEndpointTypeStreaming = "STREAMING"
12198)
12199
12200// AccessEndpointType_Values returns all elements of the AccessEndpointType enum
12201func AccessEndpointType_Values() []string {
12202	return []string{
12203		AccessEndpointTypeStreaming,
12204	}
12205}
12206
12207const (
12208	// ActionClipboardCopyFromLocalDevice is a Action enum value
12209	ActionClipboardCopyFromLocalDevice = "CLIPBOARD_COPY_FROM_LOCAL_DEVICE"
12210
12211	// ActionClipboardCopyToLocalDevice is a Action enum value
12212	ActionClipboardCopyToLocalDevice = "CLIPBOARD_COPY_TO_LOCAL_DEVICE"
12213
12214	// ActionFileUpload is a Action enum value
12215	ActionFileUpload = "FILE_UPLOAD"
12216
12217	// ActionFileDownload is a Action enum value
12218	ActionFileDownload = "FILE_DOWNLOAD"
12219
12220	// ActionPrintingToLocalDevice is a Action enum value
12221	ActionPrintingToLocalDevice = "PRINTING_TO_LOCAL_DEVICE"
12222
12223	// ActionDomainPasswordSignin is a Action enum value
12224	ActionDomainPasswordSignin = "DOMAIN_PASSWORD_SIGNIN"
12225
12226	// ActionDomainSmartCardSignin is a Action enum value
12227	ActionDomainSmartCardSignin = "DOMAIN_SMART_CARD_SIGNIN"
12228)
12229
12230// Action_Values returns all elements of the Action enum
12231func Action_Values() []string {
12232	return []string{
12233		ActionClipboardCopyFromLocalDevice,
12234		ActionClipboardCopyToLocalDevice,
12235		ActionFileUpload,
12236		ActionFileDownload,
12237		ActionPrintingToLocalDevice,
12238		ActionDomainPasswordSignin,
12239		ActionDomainSmartCardSignin,
12240	}
12241}
12242
12243const (
12244	// AuthenticationTypeApi is a AuthenticationType enum value
12245	AuthenticationTypeApi = "API"
12246
12247	// AuthenticationTypeSaml is a AuthenticationType enum value
12248	AuthenticationTypeSaml = "SAML"
12249
12250	// AuthenticationTypeUserpool is a AuthenticationType enum value
12251	AuthenticationTypeUserpool = "USERPOOL"
12252)
12253
12254// AuthenticationType_Values returns all elements of the AuthenticationType enum
12255func AuthenticationType_Values() []string {
12256	return []string{
12257		AuthenticationTypeApi,
12258		AuthenticationTypeSaml,
12259		AuthenticationTypeUserpool,
12260	}
12261}
12262
12263// The fleet attribute.
12264const (
12265	// FleetAttributeVpcConfiguration is a FleetAttribute enum value
12266	FleetAttributeVpcConfiguration = "VPC_CONFIGURATION"
12267
12268	// FleetAttributeVpcConfigurationSecurityGroupIds is a FleetAttribute enum value
12269	FleetAttributeVpcConfigurationSecurityGroupIds = "VPC_CONFIGURATION_SECURITY_GROUP_IDS"
12270
12271	// FleetAttributeDomainJoinInfo is a FleetAttribute enum value
12272	FleetAttributeDomainJoinInfo = "DOMAIN_JOIN_INFO"
12273
12274	// FleetAttributeIamRoleArn is a FleetAttribute enum value
12275	FleetAttributeIamRoleArn = "IAM_ROLE_ARN"
12276)
12277
12278// FleetAttribute_Values returns all elements of the FleetAttribute enum
12279func FleetAttribute_Values() []string {
12280	return []string{
12281		FleetAttributeVpcConfiguration,
12282		FleetAttributeVpcConfigurationSecurityGroupIds,
12283		FleetAttributeDomainJoinInfo,
12284		FleetAttributeIamRoleArn,
12285	}
12286}
12287
12288const (
12289	// FleetErrorCodeIamServiceRoleMissingEniDescribeAction is a FleetErrorCode enum value
12290	FleetErrorCodeIamServiceRoleMissingEniDescribeAction = "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION"
12291
12292	// FleetErrorCodeIamServiceRoleMissingEniCreateAction is a FleetErrorCode enum value
12293	FleetErrorCodeIamServiceRoleMissingEniCreateAction = "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION"
12294
12295	// FleetErrorCodeIamServiceRoleMissingEniDeleteAction is a FleetErrorCode enum value
12296	FleetErrorCodeIamServiceRoleMissingEniDeleteAction = "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION"
12297
12298	// FleetErrorCodeNetworkInterfaceLimitExceeded is a FleetErrorCode enum value
12299	FleetErrorCodeNetworkInterfaceLimitExceeded = "NETWORK_INTERFACE_LIMIT_EXCEEDED"
12300
12301	// FleetErrorCodeInternalServiceError is a FleetErrorCode enum value
12302	FleetErrorCodeInternalServiceError = "INTERNAL_SERVICE_ERROR"
12303
12304	// FleetErrorCodeIamServiceRoleIsMissing is a FleetErrorCode enum value
12305	FleetErrorCodeIamServiceRoleIsMissing = "IAM_SERVICE_ROLE_IS_MISSING"
12306
12307	// FleetErrorCodeMachineRoleIsMissing is a FleetErrorCode enum value
12308	FleetErrorCodeMachineRoleIsMissing = "MACHINE_ROLE_IS_MISSING"
12309
12310	// FleetErrorCodeStsDisabledInRegion is a FleetErrorCode enum value
12311	FleetErrorCodeStsDisabledInRegion = "STS_DISABLED_IN_REGION"
12312
12313	// FleetErrorCodeSubnetHasInsufficientIpAddresses is a FleetErrorCode enum value
12314	FleetErrorCodeSubnetHasInsufficientIpAddresses = "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES"
12315
12316	// FleetErrorCodeIamServiceRoleMissingDescribeSubnetAction is a FleetErrorCode enum value
12317	FleetErrorCodeIamServiceRoleMissingDescribeSubnetAction = "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION"
12318
12319	// FleetErrorCodeSubnetNotFound is a FleetErrorCode enum value
12320	FleetErrorCodeSubnetNotFound = "SUBNET_NOT_FOUND"
12321
12322	// FleetErrorCodeImageNotFound is a FleetErrorCode enum value
12323	FleetErrorCodeImageNotFound = "IMAGE_NOT_FOUND"
12324
12325	// FleetErrorCodeInvalidSubnetConfiguration is a FleetErrorCode enum value
12326	FleetErrorCodeInvalidSubnetConfiguration = "INVALID_SUBNET_CONFIGURATION"
12327
12328	// FleetErrorCodeSecurityGroupsNotFound is a FleetErrorCode enum value
12329	FleetErrorCodeSecurityGroupsNotFound = "SECURITY_GROUPS_NOT_FOUND"
12330
12331	// FleetErrorCodeIgwNotAttached is a FleetErrorCode enum value
12332	FleetErrorCodeIgwNotAttached = "IGW_NOT_ATTACHED"
12333
12334	// FleetErrorCodeIamServiceRoleMissingDescribeSecurityGroupsAction is a FleetErrorCode enum value
12335	FleetErrorCodeIamServiceRoleMissingDescribeSecurityGroupsAction = "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION"
12336
12337	// FleetErrorCodeFleetStopped is a FleetErrorCode enum value
12338	FleetErrorCodeFleetStopped = "FLEET_STOPPED"
12339
12340	// FleetErrorCodeFleetInstanceProvisioningFailure is a FleetErrorCode enum value
12341	FleetErrorCodeFleetInstanceProvisioningFailure = "FLEET_INSTANCE_PROVISIONING_FAILURE"
12342
12343	// FleetErrorCodeDomainJoinErrorFileNotFound is a FleetErrorCode enum value
12344	FleetErrorCodeDomainJoinErrorFileNotFound = "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND"
12345
12346	// FleetErrorCodeDomainJoinErrorAccessDenied is a FleetErrorCode enum value
12347	FleetErrorCodeDomainJoinErrorAccessDenied = "DOMAIN_JOIN_ERROR_ACCESS_DENIED"
12348
12349	// FleetErrorCodeDomainJoinErrorLogonFailure is a FleetErrorCode enum value
12350	FleetErrorCodeDomainJoinErrorLogonFailure = "DOMAIN_JOIN_ERROR_LOGON_FAILURE"
12351
12352	// FleetErrorCodeDomainJoinErrorInvalidParameter is a FleetErrorCode enum value
12353	FleetErrorCodeDomainJoinErrorInvalidParameter = "DOMAIN_JOIN_ERROR_INVALID_PARAMETER"
12354
12355	// FleetErrorCodeDomainJoinErrorMoreData is a FleetErrorCode enum value
12356	FleetErrorCodeDomainJoinErrorMoreData = "DOMAIN_JOIN_ERROR_MORE_DATA"
12357
12358	// FleetErrorCodeDomainJoinErrorNoSuchDomain is a FleetErrorCode enum value
12359	FleetErrorCodeDomainJoinErrorNoSuchDomain = "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN"
12360
12361	// FleetErrorCodeDomainJoinErrorNotSupported is a FleetErrorCode enum value
12362	FleetErrorCodeDomainJoinErrorNotSupported = "DOMAIN_JOIN_ERROR_NOT_SUPPORTED"
12363
12364	// FleetErrorCodeDomainJoinNerrInvalidWorkgroupName is a FleetErrorCode enum value
12365	FleetErrorCodeDomainJoinNerrInvalidWorkgroupName = "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME"
12366
12367	// FleetErrorCodeDomainJoinNerrWorkstationNotStarted is a FleetErrorCode enum value
12368	FleetErrorCodeDomainJoinNerrWorkstationNotStarted = "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED"
12369
12370	// FleetErrorCodeDomainJoinErrorDsMachineAccountQuotaExceeded is a FleetErrorCode enum value
12371	FleetErrorCodeDomainJoinErrorDsMachineAccountQuotaExceeded = "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED"
12372
12373	// FleetErrorCodeDomainJoinNerrPasswordExpired is a FleetErrorCode enum value
12374	FleetErrorCodeDomainJoinNerrPasswordExpired = "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED"
12375
12376	// FleetErrorCodeDomainJoinInternalServiceError is a FleetErrorCode enum value
12377	FleetErrorCodeDomainJoinInternalServiceError = "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR"
12378)
12379
12380// FleetErrorCode_Values returns all elements of the FleetErrorCode enum
12381func FleetErrorCode_Values() []string {
12382	return []string{
12383		FleetErrorCodeIamServiceRoleMissingEniDescribeAction,
12384		FleetErrorCodeIamServiceRoleMissingEniCreateAction,
12385		FleetErrorCodeIamServiceRoleMissingEniDeleteAction,
12386		FleetErrorCodeNetworkInterfaceLimitExceeded,
12387		FleetErrorCodeInternalServiceError,
12388		FleetErrorCodeIamServiceRoleIsMissing,
12389		FleetErrorCodeMachineRoleIsMissing,
12390		FleetErrorCodeStsDisabledInRegion,
12391		FleetErrorCodeSubnetHasInsufficientIpAddresses,
12392		FleetErrorCodeIamServiceRoleMissingDescribeSubnetAction,
12393		FleetErrorCodeSubnetNotFound,
12394		FleetErrorCodeImageNotFound,
12395		FleetErrorCodeInvalidSubnetConfiguration,
12396		FleetErrorCodeSecurityGroupsNotFound,
12397		FleetErrorCodeIgwNotAttached,
12398		FleetErrorCodeIamServiceRoleMissingDescribeSecurityGroupsAction,
12399		FleetErrorCodeFleetStopped,
12400		FleetErrorCodeFleetInstanceProvisioningFailure,
12401		FleetErrorCodeDomainJoinErrorFileNotFound,
12402		FleetErrorCodeDomainJoinErrorAccessDenied,
12403		FleetErrorCodeDomainJoinErrorLogonFailure,
12404		FleetErrorCodeDomainJoinErrorInvalidParameter,
12405		FleetErrorCodeDomainJoinErrorMoreData,
12406		FleetErrorCodeDomainJoinErrorNoSuchDomain,
12407		FleetErrorCodeDomainJoinErrorNotSupported,
12408		FleetErrorCodeDomainJoinNerrInvalidWorkgroupName,
12409		FleetErrorCodeDomainJoinNerrWorkstationNotStarted,
12410		FleetErrorCodeDomainJoinErrorDsMachineAccountQuotaExceeded,
12411		FleetErrorCodeDomainJoinNerrPasswordExpired,
12412		FleetErrorCodeDomainJoinInternalServiceError,
12413	}
12414}
12415
12416const (
12417	// FleetStateStarting is a FleetState enum value
12418	FleetStateStarting = "STARTING"
12419
12420	// FleetStateRunning is a FleetState enum value
12421	FleetStateRunning = "RUNNING"
12422
12423	// FleetStateStopping is a FleetState enum value
12424	FleetStateStopping = "STOPPING"
12425
12426	// FleetStateStopped is a FleetState enum value
12427	FleetStateStopped = "STOPPED"
12428)
12429
12430// FleetState_Values returns all elements of the FleetState enum
12431func FleetState_Values() []string {
12432	return []string{
12433		FleetStateStarting,
12434		FleetStateRunning,
12435		FleetStateStopping,
12436		FleetStateStopped,
12437	}
12438}
12439
12440const (
12441	// FleetTypeAlwaysOn is a FleetType enum value
12442	FleetTypeAlwaysOn = "ALWAYS_ON"
12443
12444	// FleetTypeOnDemand is a FleetType enum value
12445	FleetTypeOnDemand = "ON_DEMAND"
12446)
12447
12448// FleetType_Values returns all elements of the FleetType enum
12449func FleetType_Values() []string {
12450	return []string{
12451		FleetTypeAlwaysOn,
12452		FleetTypeOnDemand,
12453	}
12454}
12455
12456const (
12457	// ImageBuilderStatePending is a ImageBuilderState enum value
12458	ImageBuilderStatePending = "PENDING"
12459
12460	// ImageBuilderStateUpdatingAgent is a ImageBuilderState enum value
12461	ImageBuilderStateUpdatingAgent = "UPDATING_AGENT"
12462
12463	// ImageBuilderStateRunning is a ImageBuilderState enum value
12464	ImageBuilderStateRunning = "RUNNING"
12465
12466	// ImageBuilderStateStopping is a ImageBuilderState enum value
12467	ImageBuilderStateStopping = "STOPPING"
12468
12469	// ImageBuilderStateStopped is a ImageBuilderState enum value
12470	ImageBuilderStateStopped = "STOPPED"
12471
12472	// ImageBuilderStateRebooting is a ImageBuilderState enum value
12473	ImageBuilderStateRebooting = "REBOOTING"
12474
12475	// ImageBuilderStateSnapshotting is a ImageBuilderState enum value
12476	ImageBuilderStateSnapshotting = "SNAPSHOTTING"
12477
12478	// ImageBuilderStateDeleting is a ImageBuilderState enum value
12479	ImageBuilderStateDeleting = "DELETING"
12480
12481	// ImageBuilderStateFailed is a ImageBuilderState enum value
12482	ImageBuilderStateFailed = "FAILED"
12483
12484	// ImageBuilderStateUpdating is a ImageBuilderState enum value
12485	ImageBuilderStateUpdating = "UPDATING"
12486
12487	// ImageBuilderStatePendingQualification is a ImageBuilderState enum value
12488	ImageBuilderStatePendingQualification = "PENDING_QUALIFICATION"
12489)
12490
12491// ImageBuilderState_Values returns all elements of the ImageBuilderState enum
12492func ImageBuilderState_Values() []string {
12493	return []string{
12494		ImageBuilderStatePending,
12495		ImageBuilderStateUpdatingAgent,
12496		ImageBuilderStateRunning,
12497		ImageBuilderStateStopping,
12498		ImageBuilderStateStopped,
12499		ImageBuilderStateRebooting,
12500		ImageBuilderStateSnapshotting,
12501		ImageBuilderStateDeleting,
12502		ImageBuilderStateFailed,
12503		ImageBuilderStateUpdating,
12504		ImageBuilderStatePendingQualification,
12505	}
12506}
12507
12508const (
12509	// ImageBuilderStateChangeReasonCodeInternalError is a ImageBuilderStateChangeReasonCode enum value
12510	ImageBuilderStateChangeReasonCodeInternalError = "INTERNAL_ERROR"
12511
12512	// ImageBuilderStateChangeReasonCodeImageUnavailable is a ImageBuilderStateChangeReasonCode enum value
12513	ImageBuilderStateChangeReasonCodeImageUnavailable = "IMAGE_UNAVAILABLE"
12514)
12515
12516// ImageBuilderStateChangeReasonCode_Values returns all elements of the ImageBuilderStateChangeReasonCode enum
12517func ImageBuilderStateChangeReasonCode_Values() []string {
12518	return []string{
12519		ImageBuilderStateChangeReasonCodeInternalError,
12520		ImageBuilderStateChangeReasonCodeImageUnavailable,
12521	}
12522}
12523
12524const (
12525	// ImageStatePending is a ImageState enum value
12526	ImageStatePending = "PENDING"
12527
12528	// ImageStateAvailable is a ImageState enum value
12529	ImageStateAvailable = "AVAILABLE"
12530
12531	// ImageStateFailed is a ImageState enum value
12532	ImageStateFailed = "FAILED"
12533
12534	// ImageStateCopying is a ImageState enum value
12535	ImageStateCopying = "COPYING"
12536
12537	// ImageStateDeleting is a ImageState enum value
12538	ImageStateDeleting = "DELETING"
12539
12540	// ImageStateCreating is a ImageState enum value
12541	ImageStateCreating = "CREATING"
12542
12543	// ImageStateImporting is a ImageState enum value
12544	ImageStateImporting = "IMPORTING"
12545)
12546
12547// ImageState_Values returns all elements of the ImageState enum
12548func ImageState_Values() []string {
12549	return []string{
12550		ImageStatePending,
12551		ImageStateAvailable,
12552		ImageStateFailed,
12553		ImageStateCopying,
12554		ImageStateDeleting,
12555		ImageStateCreating,
12556		ImageStateImporting,
12557	}
12558}
12559
12560const (
12561	// ImageStateChangeReasonCodeInternalError is a ImageStateChangeReasonCode enum value
12562	ImageStateChangeReasonCodeInternalError = "INTERNAL_ERROR"
12563
12564	// ImageStateChangeReasonCodeImageBuilderNotAvailable is a ImageStateChangeReasonCode enum value
12565	ImageStateChangeReasonCodeImageBuilderNotAvailable = "IMAGE_BUILDER_NOT_AVAILABLE"
12566
12567	// ImageStateChangeReasonCodeImageCopyFailure is a ImageStateChangeReasonCode enum value
12568	ImageStateChangeReasonCodeImageCopyFailure = "IMAGE_COPY_FAILURE"
12569)
12570
12571// ImageStateChangeReasonCode_Values returns all elements of the ImageStateChangeReasonCode enum
12572func ImageStateChangeReasonCode_Values() []string {
12573	return []string{
12574		ImageStateChangeReasonCodeInternalError,
12575		ImageStateChangeReasonCodeImageBuilderNotAvailable,
12576		ImageStateChangeReasonCodeImageCopyFailure,
12577	}
12578}
12579
12580const (
12581	// MessageActionSuppress is a MessageAction enum value
12582	MessageActionSuppress = "SUPPRESS"
12583
12584	// MessageActionResend is a MessageAction enum value
12585	MessageActionResend = "RESEND"
12586)
12587
12588// MessageAction_Values returns all elements of the MessageAction enum
12589func MessageAction_Values() []string {
12590	return []string{
12591		MessageActionSuppress,
12592		MessageActionResend,
12593	}
12594}
12595
12596const (
12597	// PermissionEnabled is a Permission enum value
12598	PermissionEnabled = "ENABLED"
12599
12600	// PermissionDisabled is a Permission enum value
12601	PermissionDisabled = "DISABLED"
12602)
12603
12604// Permission_Values returns all elements of the Permission enum
12605func Permission_Values() []string {
12606	return []string{
12607		PermissionEnabled,
12608		PermissionDisabled,
12609	}
12610}
12611
12612const (
12613	// PlatformTypeWindows is a PlatformType enum value
12614	PlatformTypeWindows = "WINDOWS"
12615
12616	// PlatformTypeWindowsServer2016 is a PlatformType enum value
12617	PlatformTypeWindowsServer2016 = "WINDOWS_SERVER_2016"
12618
12619	// PlatformTypeWindowsServer2019 is a PlatformType enum value
12620	PlatformTypeWindowsServer2019 = "WINDOWS_SERVER_2019"
12621)
12622
12623// PlatformType_Values returns all elements of the PlatformType enum
12624func PlatformType_Values() []string {
12625	return []string{
12626		PlatformTypeWindows,
12627		PlatformTypeWindowsServer2016,
12628		PlatformTypeWindowsServer2019,
12629	}
12630}
12631
12632const (
12633	// SessionConnectionStateConnected is a SessionConnectionState enum value
12634	SessionConnectionStateConnected = "CONNECTED"
12635
12636	// SessionConnectionStateNotConnected is a SessionConnectionState enum value
12637	SessionConnectionStateNotConnected = "NOT_CONNECTED"
12638)
12639
12640// SessionConnectionState_Values returns all elements of the SessionConnectionState enum
12641func SessionConnectionState_Values() []string {
12642	return []string{
12643		SessionConnectionStateConnected,
12644		SessionConnectionStateNotConnected,
12645	}
12646}
12647
12648// Possible values for the state of a streaming session.
12649const (
12650	// SessionStateActive is a SessionState enum value
12651	SessionStateActive = "ACTIVE"
12652
12653	// SessionStatePending is a SessionState enum value
12654	SessionStatePending = "PENDING"
12655
12656	// SessionStateExpired is a SessionState enum value
12657	SessionStateExpired = "EXPIRED"
12658)
12659
12660// SessionState_Values returns all elements of the SessionState enum
12661func SessionState_Values() []string {
12662	return []string{
12663		SessionStateActive,
12664		SessionStatePending,
12665		SessionStateExpired,
12666	}
12667}
12668
12669const (
12670	// StackAttributeStorageConnectors is a StackAttribute enum value
12671	StackAttributeStorageConnectors = "STORAGE_CONNECTORS"
12672
12673	// StackAttributeStorageConnectorHomefolders is a StackAttribute enum value
12674	StackAttributeStorageConnectorHomefolders = "STORAGE_CONNECTOR_HOMEFOLDERS"
12675
12676	// StackAttributeStorageConnectorGoogleDrive is a StackAttribute enum value
12677	StackAttributeStorageConnectorGoogleDrive = "STORAGE_CONNECTOR_GOOGLE_DRIVE"
12678
12679	// StackAttributeStorageConnectorOneDrive is a StackAttribute enum value
12680	StackAttributeStorageConnectorOneDrive = "STORAGE_CONNECTOR_ONE_DRIVE"
12681
12682	// StackAttributeRedirectUrl is a StackAttribute enum value
12683	StackAttributeRedirectUrl = "REDIRECT_URL"
12684
12685	// StackAttributeFeedbackUrl is a StackAttribute enum value
12686	StackAttributeFeedbackUrl = "FEEDBACK_URL"
12687
12688	// StackAttributeThemeName is a StackAttribute enum value
12689	StackAttributeThemeName = "THEME_NAME"
12690
12691	// StackAttributeUserSettings is a StackAttribute enum value
12692	StackAttributeUserSettings = "USER_SETTINGS"
12693
12694	// StackAttributeEmbedHostDomains is a StackAttribute enum value
12695	StackAttributeEmbedHostDomains = "EMBED_HOST_DOMAINS"
12696
12697	// StackAttributeIamRoleArn is a StackAttribute enum value
12698	StackAttributeIamRoleArn = "IAM_ROLE_ARN"
12699
12700	// StackAttributeAccessEndpoints is a StackAttribute enum value
12701	StackAttributeAccessEndpoints = "ACCESS_ENDPOINTS"
12702)
12703
12704// StackAttribute_Values returns all elements of the StackAttribute enum
12705func StackAttribute_Values() []string {
12706	return []string{
12707		StackAttributeStorageConnectors,
12708		StackAttributeStorageConnectorHomefolders,
12709		StackAttributeStorageConnectorGoogleDrive,
12710		StackAttributeStorageConnectorOneDrive,
12711		StackAttributeRedirectUrl,
12712		StackAttributeFeedbackUrl,
12713		StackAttributeThemeName,
12714		StackAttributeUserSettings,
12715		StackAttributeEmbedHostDomains,
12716		StackAttributeIamRoleArn,
12717		StackAttributeAccessEndpoints,
12718	}
12719}
12720
12721const (
12722	// StackErrorCodeStorageConnectorError is a StackErrorCode enum value
12723	StackErrorCodeStorageConnectorError = "STORAGE_CONNECTOR_ERROR"
12724
12725	// StackErrorCodeInternalServiceError is a StackErrorCode enum value
12726	StackErrorCodeInternalServiceError = "INTERNAL_SERVICE_ERROR"
12727)
12728
12729// StackErrorCode_Values returns all elements of the StackErrorCode enum
12730func StackErrorCode_Values() []string {
12731	return []string{
12732		StackErrorCodeStorageConnectorError,
12733		StackErrorCodeInternalServiceError,
12734	}
12735}
12736
12737// The type of storage connector.
12738const (
12739	// StorageConnectorTypeHomefolders is a StorageConnectorType enum value
12740	StorageConnectorTypeHomefolders = "HOMEFOLDERS"
12741
12742	// StorageConnectorTypeGoogleDrive is a StorageConnectorType enum value
12743	StorageConnectorTypeGoogleDrive = "GOOGLE_DRIVE"
12744
12745	// StorageConnectorTypeOneDrive is a StorageConnectorType enum value
12746	StorageConnectorTypeOneDrive = "ONE_DRIVE"
12747)
12748
12749// StorageConnectorType_Values returns all elements of the StorageConnectorType enum
12750func StorageConnectorType_Values() []string {
12751	return []string{
12752		StorageConnectorTypeHomefolders,
12753		StorageConnectorTypeGoogleDrive,
12754		StorageConnectorTypeOneDrive,
12755	}
12756}
12757
12758const (
12759	// StreamViewApp is a StreamView enum value
12760	StreamViewApp = "APP"
12761
12762	// StreamViewDesktop is a StreamView enum value
12763	StreamViewDesktop = "DESKTOP"
12764)
12765
12766// StreamView_Values returns all elements of the StreamView enum
12767func StreamView_Values() []string {
12768	return []string{
12769		StreamViewApp,
12770		StreamViewDesktop,
12771	}
12772}
12773
12774const (
12775	// UsageReportExecutionErrorCodeResourceNotFound is a UsageReportExecutionErrorCode enum value
12776	UsageReportExecutionErrorCodeResourceNotFound = "RESOURCE_NOT_FOUND"
12777
12778	// UsageReportExecutionErrorCodeAccessDenied is a UsageReportExecutionErrorCode enum value
12779	UsageReportExecutionErrorCodeAccessDenied = "ACCESS_DENIED"
12780
12781	// UsageReportExecutionErrorCodeInternalServiceError is a UsageReportExecutionErrorCode enum value
12782	UsageReportExecutionErrorCodeInternalServiceError = "INTERNAL_SERVICE_ERROR"
12783)
12784
12785// UsageReportExecutionErrorCode_Values returns all elements of the UsageReportExecutionErrorCode enum
12786func UsageReportExecutionErrorCode_Values() []string {
12787	return []string{
12788		UsageReportExecutionErrorCodeResourceNotFound,
12789		UsageReportExecutionErrorCodeAccessDenied,
12790		UsageReportExecutionErrorCodeInternalServiceError,
12791	}
12792}
12793
12794const (
12795	// UsageReportScheduleDaily is a UsageReportSchedule enum value
12796	UsageReportScheduleDaily = "DAILY"
12797)
12798
12799// UsageReportSchedule_Values returns all elements of the UsageReportSchedule enum
12800func UsageReportSchedule_Values() []string {
12801	return []string{
12802		UsageReportScheduleDaily,
12803	}
12804}
12805
12806const (
12807	// UserStackAssociationErrorCodeStackNotFound is a UserStackAssociationErrorCode enum value
12808	UserStackAssociationErrorCodeStackNotFound = "STACK_NOT_FOUND"
12809
12810	// UserStackAssociationErrorCodeUserNameNotFound is a UserStackAssociationErrorCode enum value
12811	UserStackAssociationErrorCodeUserNameNotFound = "USER_NAME_NOT_FOUND"
12812
12813	// UserStackAssociationErrorCodeDirectoryNotFound is a UserStackAssociationErrorCode enum value
12814	UserStackAssociationErrorCodeDirectoryNotFound = "DIRECTORY_NOT_FOUND"
12815
12816	// UserStackAssociationErrorCodeInternalError is a UserStackAssociationErrorCode enum value
12817	UserStackAssociationErrorCodeInternalError = "INTERNAL_ERROR"
12818)
12819
12820// UserStackAssociationErrorCode_Values returns all elements of the UserStackAssociationErrorCode enum
12821func UserStackAssociationErrorCode_Values() []string {
12822	return []string{
12823		UserStackAssociationErrorCodeStackNotFound,
12824		UserStackAssociationErrorCodeUserNameNotFound,
12825		UserStackAssociationErrorCodeDirectoryNotFound,
12826		UserStackAssociationErrorCodeInternalError,
12827	}
12828}
12829
12830const (
12831	// VisibilityTypePublic is a VisibilityType enum value
12832	VisibilityTypePublic = "PUBLIC"
12833
12834	// VisibilityTypePrivate is a VisibilityType enum value
12835	VisibilityTypePrivate = "PRIVATE"
12836
12837	// VisibilityTypeShared is a VisibilityType enum value
12838	VisibilityTypeShared = "SHARED"
12839)
12840
12841// VisibilityType_Values returns all elements of the VisibilityType enum
12842func VisibilityType_Values() []string {
12843	return []string{
12844		VisibilityTypePublic,
12845		VisibilityTypePrivate,
12846		VisibilityTypeShared,
12847	}
12848}
12849