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 does not support storage connectors.
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// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/BatchAssociateUserStack
172func (c *AppStream) BatchAssociateUserStack(input *BatchAssociateUserStackInput) (*BatchAssociateUserStackOutput, error) {
173	req, out := c.BatchAssociateUserStackRequest(input)
174	return out, req.Send()
175}
176
177// BatchAssociateUserStackWithContext is the same as BatchAssociateUserStack with the addition of
178// the ability to pass a context and additional request options.
179//
180// See BatchAssociateUserStack for details on how to use this API operation.
181//
182// The context must be non-nil and will be used for request cancellation. If
183// the context is nil a panic will occur. In the future the SDK may create
184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
185// for more information on using Contexts.
186func (c *AppStream) BatchAssociateUserStackWithContext(ctx aws.Context, input *BatchAssociateUserStackInput, opts ...request.Option) (*BatchAssociateUserStackOutput, error) {
187	req, out := c.BatchAssociateUserStackRequest(input)
188	req.SetContext(ctx)
189	req.ApplyOptions(opts...)
190	return out, req.Send()
191}
192
193const opBatchDisassociateUserStack = "BatchDisassociateUserStack"
194
195// BatchDisassociateUserStackRequest generates a "aws/request.Request" representing the
196// client's request for the BatchDisassociateUserStack operation. The "output" return
197// value will be populated with the request's response once the request completes
198// successfully.
199//
200// Use "Send" method on the returned Request to send the API call to the service.
201// the "output" return value is not valid until after Send returns without error.
202//
203// See BatchDisassociateUserStack for more information on using the BatchDisassociateUserStack
204// API call, and error handling.
205//
206// This method is useful when you want to inject custom logic or configuration
207// into the SDK's request lifecycle. Such as custom headers, or retry logic.
208//
209//
210//    // Example sending a request using the BatchDisassociateUserStackRequest method.
211//    req, resp := client.BatchDisassociateUserStackRequest(params)
212//
213//    err := req.Send()
214//    if err == nil { // resp is now filled
215//        fmt.Println(resp)
216//    }
217//
218// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/BatchDisassociateUserStack
219func (c *AppStream) BatchDisassociateUserStackRequest(input *BatchDisassociateUserStackInput) (req *request.Request, output *BatchDisassociateUserStackOutput) {
220	op := &request.Operation{
221		Name:       opBatchDisassociateUserStack,
222		HTTPMethod: "POST",
223		HTTPPath:   "/",
224	}
225
226	if input == nil {
227		input = &BatchDisassociateUserStackInput{}
228	}
229
230	output = &BatchDisassociateUserStackOutput{}
231	req = c.newRequest(op, input, output)
232	return
233}
234
235// BatchDisassociateUserStack API operation for Amazon AppStream.
236//
237// Disassociates the specified users from the specified stacks.
238//
239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
240// with awserr.Error's Code and Message methods to get detailed information about
241// the error.
242//
243// See the AWS API reference guide for Amazon AppStream's
244// API operation BatchDisassociateUserStack for usage and error information.
245// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/BatchDisassociateUserStack
246func (c *AppStream) BatchDisassociateUserStack(input *BatchDisassociateUserStackInput) (*BatchDisassociateUserStackOutput, error) {
247	req, out := c.BatchDisassociateUserStackRequest(input)
248	return out, req.Send()
249}
250
251// BatchDisassociateUserStackWithContext is the same as BatchDisassociateUserStack with the addition of
252// the ability to pass a context and additional request options.
253//
254// See BatchDisassociateUserStack for details on how to use this API operation.
255//
256// The context must be non-nil and will be used for request cancellation. If
257// the context is nil a panic will occur. In the future the SDK may create
258// sub-contexts for http.Requests. See https://golang.org/pkg/context/
259// for more information on using Contexts.
260func (c *AppStream) BatchDisassociateUserStackWithContext(ctx aws.Context, input *BatchDisassociateUserStackInput, opts ...request.Option) (*BatchDisassociateUserStackOutput, error) {
261	req, out := c.BatchDisassociateUserStackRequest(input)
262	req.SetContext(ctx)
263	req.ApplyOptions(opts...)
264	return out, req.Send()
265}
266
267const opCopyImage = "CopyImage"
268
269// CopyImageRequest generates a "aws/request.Request" representing the
270// client's request for the CopyImage operation. The "output" return
271// value will be populated with the request's response once the request completes
272// successfully.
273//
274// Use "Send" method on the returned Request to send the API call to the service.
275// the "output" return value is not valid until after Send returns without error.
276//
277// See CopyImage for more information on using the CopyImage
278// API call, and error handling.
279//
280// This method is useful when you want to inject custom logic or configuration
281// into the SDK's request lifecycle. Such as custom headers, or retry logic.
282//
283//
284//    // Example sending a request using the CopyImageRequest method.
285//    req, resp := client.CopyImageRequest(params)
286//
287//    err := req.Send()
288//    if err == nil { // resp is now filled
289//        fmt.Println(resp)
290//    }
291//
292// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CopyImage
293func (c *AppStream) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
294	op := &request.Operation{
295		Name:       opCopyImage,
296		HTTPMethod: "POST",
297		HTTPPath:   "/",
298	}
299
300	if input == nil {
301		input = &CopyImageInput{}
302	}
303
304	output = &CopyImageOutput{}
305	req = c.newRequest(op, input, output)
306	return
307}
308
309// CopyImage API operation for Amazon AppStream.
310//
311// Copies the image within the same region or to a new region within the same
312// AWS account. Note that any tags you added to the image will not be copied.
313//
314// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
315// with awserr.Error's Code and Message methods to get detailed information about
316// the error.
317//
318// See the AWS API reference guide for Amazon AppStream's
319// API operation CopyImage for usage and error information.
320//
321// Returned Error Types:
322//   * ResourceAlreadyExistsException
323//   The specified resource already exists.
324//
325//   * ResourceNotFoundException
326//   The specified resource was not found.
327//
328//   * ResourceNotAvailableException
329//   The specified resource exists and is not in use, but isn't available.
330//
331//   * LimitExceededException
332//   The requested limit exceeds the permitted limit for an account.
333//
334//   * InvalidAccountStatusException
335//   The resource cannot be created because your AWS account is suspended. For
336//   assistance, contact AWS Support.
337//
338//   * IncompatibleImageException
339//   The image does not support storage connectors.
340//
341// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CopyImage
342func (c *AppStream) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
343	req, out := c.CopyImageRequest(input)
344	return out, req.Send()
345}
346
347// CopyImageWithContext is the same as CopyImage with the addition of
348// the ability to pass a context and additional request options.
349//
350// See CopyImage for details on how to use this API operation.
351//
352// The context must be non-nil and will be used for request cancellation. If
353// the context is nil a panic will occur. In the future the SDK may create
354// sub-contexts for http.Requests. See https://golang.org/pkg/context/
355// for more information on using Contexts.
356func (c *AppStream) CopyImageWithContext(ctx aws.Context, input *CopyImageInput, opts ...request.Option) (*CopyImageOutput, error) {
357	req, out := c.CopyImageRequest(input)
358	req.SetContext(ctx)
359	req.ApplyOptions(opts...)
360	return out, req.Send()
361}
362
363const opCreateDirectoryConfig = "CreateDirectoryConfig"
364
365// CreateDirectoryConfigRequest generates a "aws/request.Request" representing the
366// client's request for the CreateDirectoryConfig operation. The "output" return
367// value will be populated with the request's response once the request completes
368// successfully.
369//
370// Use "Send" method on the returned Request to send the API call to the service.
371// the "output" return value is not valid until after Send returns without error.
372//
373// See CreateDirectoryConfig for more information on using the CreateDirectoryConfig
374// API call, and error handling.
375//
376// This method is useful when you want to inject custom logic or configuration
377// into the SDK's request lifecycle. Such as custom headers, or retry logic.
378//
379//
380//    // Example sending a request using the CreateDirectoryConfigRequest method.
381//    req, resp := client.CreateDirectoryConfigRequest(params)
382//
383//    err := req.Send()
384//    if err == nil { // resp is now filled
385//        fmt.Println(resp)
386//    }
387//
388// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateDirectoryConfig
389func (c *AppStream) CreateDirectoryConfigRequest(input *CreateDirectoryConfigInput) (req *request.Request, output *CreateDirectoryConfigOutput) {
390	op := &request.Operation{
391		Name:       opCreateDirectoryConfig,
392		HTTPMethod: "POST",
393		HTTPPath:   "/",
394	}
395
396	if input == nil {
397		input = &CreateDirectoryConfigInput{}
398	}
399
400	output = &CreateDirectoryConfigOutput{}
401	req = c.newRequest(op, input, output)
402	return
403}
404
405// CreateDirectoryConfig API operation for Amazon AppStream.
406//
407// Creates a Directory Config object in AppStream 2.0. This object includes
408// the configuration information required to join fleets and image builders
409// to Microsoft Active Directory domains.
410//
411// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
412// with awserr.Error's Code and Message methods to get detailed information about
413// the error.
414//
415// See the AWS API reference guide for Amazon AppStream's
416// API operation CreateDirectoryConfig for usage and error information.
417//
418// Returned Error Types:
419//   * ResourceAlreadyExistsException
420//   The specified resource already exists.
421//
422//   * LimitExceededException
423//   The requested limit exceeds the permitted limit for an account.
424//
425//   * InvalidAccountStatusException
426//   The resource cannot be created because your AWS account is suspended. For
427//   assistance, contact AWS Support.
428//
429// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateDirectoryConfig
430func (c *AppStream) CreateDirectoryConfig(input *CreateDirectoryConfigInput) (*CreateDirectoryConfigOutput, error) {
431	req, out := c.CreateDirectoryConfigRequest(input)
432	return out, req.Send()
433}
434
435// CreateDirectoryConfigWithContext is the same as CreateDirectoryConfig with the addition of
436// the ability to pass a context and additional request options.
437//
438// See CreateDirectoryConfig for details on how to use this API operation.
439//
440// The context must be non-nil and will be used for request cancellation. If
441// the context is nil a panic will occur. In the future the SDK may create
442// sub-contexts for http.Requests. See https://golang.org/pkg/context/
443// for more information on using Contexts.
444func (c *AppStream) CreateDirectoryConfigWithContext(ctx aws.Context, input *CreateDirectoryConfigInput, opts ...request.Option) (*CreateDirectoryConfigOutput, error) {
445	req, out := c.CreateDirectoryConfigRequest(input)
446	req.SetContext(ctx)
447	req.ApplyOptions(opts...)
448	return out, req.Send()
449}
450
451const opCreateFleet = "CreateFleet"
452
453// CreateFleetRequest generates a "aws/request.Request" representing the
454// client's request for the CreateFleet operation. The "output" return
455// value will be populated with the request's response once the request completes
456// successfully.
457//
458// Use "Send" method on the returned Request to send the API call to the service.
459// the "output" return value is not valid until after Send returns without error.
460//
461// See CreateFleet for more information on using the CreateFleet
462// API call, and error handling.
463//
464// This method is useful when you want to inject custom logic or configuration
465// into the SDK's request lifecycle. Such as custom headers, or retry logic.
466//
467//
468//    // Example sending a request using the CreateFleetRequest method.
469//    req, resp := client.CreateFleetRequest(params)
470//
471//    err := req.Send()
472//    if err == nil { // resp is now filled
473//        fmt.Println(resp)
474//    }
475//
476// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateFleet
477func (c *AppStream) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
478	op := &request.Operation{
479		Name:       opCreateFleet,
480		HTTPMethod: "POST",
481		HTTPPath:   "/",
482	}
483
484	if input == nil {
485		input = &CreateFleetInput{}
486	}
487
488	output = &CreateFleetOutput{}
489	req = c.newRequest(op, input, output)
490	return
491}
492
493// CreateFleet API operation for Amazon AppStream.
494//
495// Creates a fleet. A fleet consists of streaming instances that run a specified
496// image.
497//
498// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
499// with awserr.Error's Code and Message methods to get detailed information about
500// the error.
501//
502// See the AWS API reference guide for Amazon AppStream's
503// API operation CreateFleet for usage and error information.
504//
505// Returned Error Types:
506//   * ResourceAlreadyExistsException
507//   The specified resource already exists.
508//
509//   * ResourceNotAvailableException
510//   The specified resource exists and is not in use, but isn't available.
511//
512//   * ResourceNotFoundException
513//   The specified resource was not found.
514//
515//   * LimitExceededException
516//   The requested limit exceeds the permitted limit for an account.
517//
518//   * InvalidAccountStatusException
519//   The resource cannot be created because your AWS account is suspended. For
520//   assistance, contact AWS Support.
521//
522//   * InvalidRoleException
523//   The specified role is invalid.
524//
525//   * ConcurrentModificationException
526//   An API error occurred. Wait a few minutes and try again.
527//
528//   * InvalidParameterCombinationException
529//   Indicates an incorrect combination of parameters, or a missing parameter.
530//
531//   * IncompatibleImageException
532//   The image does not support storage connectors.
533//
534//   * OperationNotPermittedException
535//   The attempted operation is not permitted.
536//
537// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateFleet
538func (c *AppStream) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
539	req, out := c.CreateFleetRequest(input)
540	return out, req.Send()
541}
542
543// CreateFleetWithContext is the same as CreateFleet with the addition of
544// the ability to pass a context and additional request options.
545//
546// See CreateFleet for details on how to use this API operation.
547//
548// The context must be non-nil and will be used for request cancellation. If
549// the context is nil a panic will occur. In the future the SDK may create
550// sub-contexts for http.Requests. See https://golang.org/pkg/context/
551// for more information on using Contexts.
552func (c *AppStream) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
553	req, out := c.CreateFleetRequest(input)
554	req.SetContext(ctx)
555	req.ApplyOptions(opts...)
556	return out, req.Send()
557}
558
559const opCreateImageBuilder = "CreateImageBuilder"
560
561// CreateImageBuilderRequest generates a "aws/request.Request" representing the
562// client's request for the CreateImageBuilder operation. The "output" return
563// value will be populated with the request's response once the request completes
564// successfully.
565//
566// Use "Send" method on the returned Request to send the API call to the service.
567// the "output" return value is not valid until after Send returns without error.
568//
569// See CreateImageBuilder for more information on using the CreateImageBuilder
570// API call, and error handling.
571//
572// This method is useful when you want to inject custom logic or configuration
573// into the SDK's request lifecycle. Such as custom headers, or retry logic.
574//
575//
576//    // Example sending a request using the CreateImageBuilderRequest method.
577//    req, resp := client.CreateImageBuilderRequest(params)
578//
579//    err := req.Send()
580//    if err == nil { // resp is now filled
581//        fmt.Println(resp)
582//    }
583//
584// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilder
585func (c *AppStream) CreateImageBuilderRequest(input *CreateImageBuilderInput) (req *request.Request, output *CreateImageBuilderOutput) {
586	op := &request.Operation{
587		Name:       opCreateImageBuilder,
588		HTTPMethod: "POST",
589		HTTPPath:   "/",
590	}
591
592	if input == nil {
593		input = &CreateImageBuilderInput{}
594	}
595
596	output = &CreateImageBuilderOutput{}
597	req = c.newRequest(op, input, output)
598	return
599}
600
601// CreateImageBuilder API operation for Amazon AppStream.
602//
603// Creates an image builder. An image builder is a virtual machine that is used
604// to create an image.
605//
606// The initial state of the builder is PENDING. When it is ready, the state
607// is RUNNING.
608//
609// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
610// with awserr.Error's Code and Message methods to get detailed information about
611// the error.
612//
613// See the AWS API reference guide for Amazon AppStream's
614// API operation CreateImageBuilder for usage and error information.
615//
616// Returned Error Types:
617//   * LimitExceededException
618//   The requested limit exceeds the permitted limit for an account.
619//
620//   * InvalidAccountStatusException
621//   The resource cannot be created because your AWS account is suspended. For
622//   assistance, contact AWS Support.
623//
624//   * ResourceAlreadyExistsException
625//   The specified resource already exists.
626//
627//   * ResourceNotAvailableException
628//   The specified resource exists and is not in use, but isn't available.
629//
630//   * ResourceNotFoundException
631//   The specified resource was not found.
632//
633//   * InvalidRoleException
634//   The specified role is invalid.
635//
636//   * ConcurrentModificationException
637//   An API error occurred. Wait a few minutes and try again.
638//
639//   * InvalidParameterCombinationException
640//   Indicates an incorrect combination of parameters, or a missing parameter.
641//
642//   * IncompatibleImageException
643//   The image does not support storage connectors.
644//
645//   * OperationNotPermittedException
646//   The attempted operation is not permitted.
647//
648// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilder
649func (c *AppStream) CreateImageBuilder(input *CreateImageBuilderInput) (*CreateImageBuilderOutput, error) {
650	req, out := c.CreateImageBuilderRequest(input)
651	return out, req.Send()
652}
653
654// CreateImageBuilderWithContext is the same as CreateImageBuilder with the addition of
655// the ability to pass a context and additional request options.
656//
657// See CreateImageBuilder for details on how to use this API operation.
658//
659// The context must be non-nil and will be used for request cancellation. If
660// the context is nil a panic will occur. In the future the SDK may create
661// sub-contexts for http.Requests. See https://golang.org/pkg/context/
662// for more information on using Contexts.
663func (c *AppStream) CreateImageBuilderWithContext(ctx aws.Context, input *CreateImageBuilderInput, opts ...request.Option) (*CreateImageBuilderOutput, error) {
664	req, out := c.CreateImageBuilderRequest(input)
665	req.SetContext(ctx)
666	req.ApplyOptions(opts...)
667	return out, req.Send()
668}
669
670const opCreateImageBuilderStreamingURL = "CreateImageBuilderStreamingURL"
671
672// CreateImageBuilderStreamingURLRequest generates a "aws/request.Request" representing the
673// client's request for the CreateImageBuilderStreamingURL operation. The "output" return
674// value will be populated with the request's response once the request completes
675// successfully.
676//
677// Use "Send" method on the returned Request to send the API call to the service.
678// the "output" return value is not valid until after Send returns without error.
679//
680// See CreateImageBuilderStreamingURL for more information on using the CreateImageBuilderStreamingURL
681// API call, and error handling.
682//
683// This method is useful when you want to inject custom logic or configuration
684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
685//
686//
687//    // Example sending a request using the CreateImageBuilderStreamingURLRequest method.
688//    req, resp := client.CreateImageBuilderStreamingURLRequest(params)
689//
690//    err := req.Send()
691//    if err == nil { // resp is now filled
692//        fmt.Println(resp)
693//    }
694//
695// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilderStreamingURL
696func (c *AppStream) CreateImageBuilderStreamingURLRequest(input *CreateImageBuilderStreamingURLInput) (req *request.Request, output *CreateImageBuilderStreamingURLOutput) {
697	op := &request.Operation{
698		Name:       opCreateImageBuilderStreamingURL,
699		HTTPMethod: "POST",
700		HTTPPath:   "/",
701	}
702
703	if input == nil {
704		input = &CreateImageBuilderStreamingURLInput{}
705	}
706
707	output = &CreateImageBuilderStreamingURLOutput{}
708	req = c.newRequest(op, input, output)
709	return
710}
711
712// CreateImageBuilderStreamingURL API operation for Amazon AppStream.
713//
714// Creates a URL to start an image builder streaming session.
715//
716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
717// with awserr.Error's Code and Message methods to get detailed information about
718// the error.
719//
720// See the AWS API reference guide for Amazon AppStream's
721// API operation CreateImageBuilderStreamingURL for usage and error information.
722//
723// Returned Error Types:
724//   * OperationNotPermittedException
725//   The attempted operation is not permitted.
726//
727//   * ResourceNotFoundException
728//   The specified resource was not found.
729//
730// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateImageBuilderStreamingURL
731func (c *AppStream) CreateImageBuilderStreamingURL(input *CreateImageBuilderStreamingURLInput) (*CreateImageBuilderStreamingURLOutput, error) {
732	req, out := c.CreateImageBuilderStreamingURLRequest(input)
733	return out, req.Send()
734}
735
736// CreateImageBuilderStreamingURLWithContext is the same as CreateImageBuilderStreamingURL with the addition of
737// the ability to pass a context and additional request options.
738//
739// See CreateImageBuilderStreamingURL for details on how to use this API operation.
740//
741// The context must be non-nil and will be used for request cancellation. If
742// the context is nil a panic will occur. In the future the SDK may create
743// sub-contexts for http.Requests. See https://golang.org/pkg/context/
744// for more information on using Contexts.
745func (c *AppStream) CreateImageBuilderStreamingURLWithContext(ctx aws.Context, input *CreateImageBuilderStreamingURLInput, opts ...request.Option) (*CreateImageBuilderStreamingURLOutput, error) {
746	req, out := c.CreateImageBuilderStreamingURLRequest(input)
747	req.SetContext(ctx)
748	req.ApplyOptions(opts...)
749	return out, req.Send()
750}
751
752const opCreateStack = "CreateStack"
753
754// CreateStackRequest generates a "aws/request.Request" representing the
755// client's request for the CreateStack operation. The "output" return
756// value will be populated with the request's response once the request completes
757// successfully.
758//
759// Use "Send" method on the returned Request to send the API call to the service.
760// the "output" return value is not valid until after Send returns without error.
761//
762// See CreateStack for more information on using the CreateStack
763// API call, and error handling.
764//
765// This method is useful when you want to inject custom logic or configuration
766// into the SDK's request lifecycle. Such as custom headers, or retry logic.
767//
768//
769//    // Example sending a request using the CreateStackRequest method.
770//    req, resp := client.CreateStackRequest(params)
771//
772//    err := req.Send()
773//    if err == nil { // resp is now filled
774//        fmt.Println(resp)
775//    }
776//
777// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateStack
778func (c *AppStream) CreateStackRequest(input *CreateStackInput) (req *request.Request, output *CreateStackOutput) {
779	op := &request.Operation{
780		Name:       opCreateStack,
781		HTTPMethod: "POST",
782		HTTPPath:   "/",
783	}
784
785	if input == nil {
786		input = &CreateStackInput{}
787	}
788
789	output = &CreateStackOutput{}
790	req = c.newRequest(op, input, output)
791	return
792}
793
794// CreateStack API operation for Amazon AppStream.
795//
796// Creates a stack to start streaming applications to users. A stack consists
797// of an associated fleet, user access policies, and storage configurations.
798//
799// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
800// with awserr.Error's Code and Message methods to get detailed information about
801// the error.
802//
803// See the AWS API reference guide for Amazon AppStream's
804// API operation CreateStack for usage and error information.
805//
806// Returned Error Types:
807//   * LimitExceededException
808//   The requested limit exceeds the permitted limit for an account.
809//
810//   * InvalidAccountStatusException
811//   The resource cannot be created because your AWS account is suspended. For
812//   assistance, contact AWS Support.
813//
814//   * ResourceAlreadyExistsException
815//   The specified resource already exists.
816//
817//   * ConcurrentModificationException
818//   An API error occurred. Wait a few minutes and try again.
819//
820//   * InvalidRoleException
821//   The specified role is invalid.
822//
823//   * ResourceNotFoundException
824//   The specified resource was not found.
825//
826//   * InvalidParameterCombinationException
827//   Indicates an incorrect combination of parameters, or a missing parameter.
828//
829// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateStack
830func (c *AppStream) CreateStack(input *CreateStackInput) (*CreateStackOutput, error) {
831	req, out := c.CreateStackRequest(input)
832	return out, req.Send()
833}
834
835// CreateStackWithContext is the same as CreateStack with the addition of
836// the ability to pass a context and additional request options.
837//
838// See CreateStack for details on how to use this API operation.
839//
840// The context must be non-nil and will be used for request cancellation. If
841// the context is nil a panic will occur. In the future the SDK may create
842// sub-contexts for http.Requests. See https://golang.org/pkg/context/
843// for more information on using Contexts.
844func (c *AppStream) CreateStackWithContext(ctx aws.Context, input *CreateStackInput, opts ...request.Option) (*CreateStackOutput, error) {
845	req, out := c.CreateStackRequest(input)
846	req.SetContext(ctx)
847	req.ApplyOptions(opts...)
848	return out, req.Send()
849}
850
851const opCreateStreamingURL = "CreateStreamingURL"
852
853// CreateStreamingURLRequest generates a "aws/request.Request" representing the
854// client's request for the CreateStreamingURL operation. The "output" return
855// value will be populated with the request's response once the request completes
856// successfully.
857//
858// Use "Send" method on the returned Request to send the API call to the service.
859// the "output" return value is not valid until after Send returns without error.
860//
861// See CreateStreamingURL for more information on using the CreateStreamingURL
862// API call, and error handling.
863//
864// This method is useful when you want to inject custom logic or configuration
865// into the SDK's request lifecycle. Such as custom headers, or retry logic.
866//
867//
868//    // Example sending a request using the CreateStreamingURLRequest method.
869//    req, resp := client.CreateStreamingURLRequest(params)
870//
871//    err := req.Send()
872//    if err == nil { // resp is now filled
873//        fmt.Println(resp)
874//    }
875//
876// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateStreamingURL
877func (c *AppStream) CreateStreamingURLRequest(input *CreateStreamingURLInput) (req *request.Request, output *CreateStreamingURLOutput) {
878	op := &request.Operation{
879		Name:       opCreateStreamingURL,
880		HTTPMethod: "POST",
881		HTTPPath:   "/",
882	}
883
884	if input == nil {
885		input = &CreateStreamingURLInput{}
886	}
887
888	output = &CreateStreamingURLOutput{}
889	req = c.newRequest(op, input, output)
890	return
891}
892
893// CreateStreamingURL API operation for Amazon AppStream.
894//
895// Creates a temporary URL to start an AppStream 2.0 streaming session for the
896// specified user. A streaming URL enables application streaming to be tested
897// without user setup.
898//
899// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
900// with awserr.Error's Code and Message methods to get detailed information about
901// the error.
902//
903// See the AWS API reference guide for Amazon AppStream's
904// API operation CreateStreamingURL for usage and error information.
905//
906// Returned Error Types:
907//   * ResourceNotFoundException
908//   The specified resource was not found.
909//
910//   * ResourceNotAvailableException
911//   The specified resource exists and is not in use, but isn't available.
912//
913//   * OperationNotPermittedException
914//   The attempted operation is not permitted.
915//
916//   * InvalidParameterCombinationException
917//   Indicates an incorrect combination of parameters, or a missing parameter.
918//
919// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateStreamingURL
920func (c *AppStream) CreateStreamingURL(input *CreateStreamingURLInput) (*CreateStreamingURLOutput, error) {
921	req, out := c.CreateStreamingURLRequest(input)
922	return out, req.Send()
923}
924
925// CreateStreamingURLWithContext is the same as CreateStreamingURL with the addition of
926// the ability to pass a context and additional request options.
927//
928// See CreateStreamingURL for details on how to use this API operation.
929//
930// The context must be non-nil and will be used for request cancellation. If
931// the context is nil a panic will occur. In the future the SDK may create
932// sub-contexts for http.Requests. See https://golang.org/pkg/context/
933// for more information on using Contexts.
934func (c *AppStream) CreateStreamingURLWithContext(ctx aws.Context, input *CreateStreamingURLInput, opts ...request.Option) (*CreateStreamingURLOutput, error) {
935	req, out := c.CreateStreamingURLRequest(input)
936	req.SetContext(ctx)
937	req.ApplyOptions(opts...)
938	return out, req.Send()
939}
940
941const opCreateUsageReportSubscription = "CreateUsageReportSubscription"
942
943// CreateUsageReportSubscriptionRequest generates a "aws/request.Request" representing the
944// client's request for the CreateUsageReportSubscription operation. The "output" return
945// value will be populated with the request's response once the request completes
946// successfully.
947//
948// Use "Send" method on the returned Request to send the API call to the service.
949// the "output" return value is not valid until after Send returns without error.
950//
951// See CreateUsageReportSubscription for more information on using the CreateUsageReportSubscription
952// API call, and error handling.
953//
954// This method is useful when you want to inject custom logic or configuration
955// into the SDK's request lifecycle. Such as custom headers, or retry logic.
956//
957//
958//    // Example sending a request using the CreateUsageReportSubscriptionRequest method.
959//    req, resp := client.CreateUsageReportSubscriptionRequest(params)
960//
961//    err := req.Send()
962//    if err == nil { // resp is now filled
963//        fmt.Println(resp)
964//    }
965//
966// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateUsageReportSubscription
967func (c *AppStream) CreateUsageReportSubscriptionRequest(input *CreateUsageReportSubscriptionInput) (req *request.Request, output *CreateUsageReportSubscriptionOutput) {
968	op := &request.Operation{
969		Name:       opCreateUsageReportSubscription,
970		HTTPMethod: "POST",
971		HTTPPath:   "/",
972	}
973
974	if input == nil {
975		input = &CreateUsageReportSubscriptionInput{}
976	}
977
978	output = &CreateUsageReportSubscriptionOutput{}
979	req = c.newRequest(op, input, output)
980	return
981}
982
983// CreateUsageReportSubscription API operation for Amazon AppStream.
984//
985// Creates a usage report subscription. Usage reports are generated daily.
986//
987// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
988// with awserr.Error's Code and Message methods to get detailed information about
989// the error.
990//
991// See the AWS API reference guide for Amazon AppStream's
992// API operation CreateUsageReportSubscription for usage and error information.
993//
994// Returned Error Types:
995//   * InvalidRoleException
996//   The specified role is invalid.
997//
998//   * InvalidAccountStatusException
999//   The resource cannot be created because your AWS account is suspended. For
1000//   assistance, contact AWS Support.
1001//
1002//   * LimitExceededException
1003//   The requested limit exceeds the permitted limit for an account.
1004//
1005// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateUsageReportSubscription
1006func (c *AppStream) CreateUsageReportSubscription(input *CreateUsageReportSubscriptionInput) (*CreateUsageReportSubscriptionOutput, error) {
1007	req, out := c.CreateUsageReportSubscriptionRequest(input)
1008	return out, req.Send()
1009}
1010
1011// CreateUsageReportSubscriptionWithContext is the same as CreateUsageReportSubscription with the addition of
1012// the ability to pass a context and additional request options.
1013//
1014// See CreateUsageReportSubscription for details on how to use this API operation.
1015//
1016// The context must be non-nil and will be used for request cancellation. If
1017// the context is nil a panic will occur. In the future the SDK may create
1018// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1019// for more information on using Contexts.
1020func (c *AppStream) CreateUsageReportSubscriptionWithContext(ctx aws.Context, input *CreateUsageReportSubscriptionInput, opts ...request.Option) (*CreateUsageReportSubscriptionOutput, error) {
1021	req, out := c.CreateUsageReportSubscriptionRequest(input)
1022	req.SetContext(ctx)
1023	req.ApplyOptions(opts...)
1024	return out, req.Send()
1025}
1026
1027const opCreateUser = "CreateUser"
1028
1029// CreateUserRequest generates a "aws/request.Request" representing the
1030// client's request for the CreateUser operation. The "output" return
1031// value will be populated with the request's response once the request completes
1032// successfully.
1033//
1034// Use "Send" method on the returned Request to send the API call to the service.
1035// the "output" return value is not valid until after Send returns without error.
1036//
1037// See CreateUser for more information on using the CreateUser
1038// API call, and error handling.
1039//
1040// This method is useful when you want to inject custom logic or configuration
1041// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1042//
1043//
1044//    // Example sending a request using the CreateUserRequest method.
1045//    req, resp := client.CreateUserRequest(params)
1046//
1047//    err := req.Send()
1048//    if err == nil { // resp is now filled
1049//        fmt.Println(resp)
1050//    }
1051//
1052// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateUser
1053func (c *AppStream) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) {
1054	op := &request.Operation{
1055		Name:       opCreateUser,
1056		HTTPMethod: "POST",
1057		HTTPPath:   "/",
1058	}
1059
1060	if input == nil {
1061		input = &CreateUserInput{}
1062	}
1063
1064	output = &CreateUserOutput{}
1065	req = c.newRequest(op, input, output)
1066	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1067	return
1068}
1069
1070// CreateUser API operation for Amazon AppStream.
1071//
1072// Creates a new user in the user pool.
1073//
1074// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1075// with awserr.Error's Code and Message methods to get detailed information about
1076// the error.
1077//
1078// See the AWS API reference guide for Amazon AppStream's
1079// API operation CreateUser for usage and error information.
1080//
1081// Returned Error Types:
1082//   * ResourceAlreadyExistsException
1083//   The specified resource already exists.
1084//
1085//   * InvalidAccountStatusException
1086//   The resource cannot be created because your AWS account is suspended. For
1087//   assistance, contact AWS Support.
1088//
1089//   * InvalidParameterCombinationException
1090//   Indicates an incorrect combination of parameters, or a missing parameter.
1091//
1092//   * LimitExceededException
1093//   The requested limit exceeds the permitted limit for an account.
1094//
1095//   * OperationNotPermittedException
1096//   The attempted operation is not permitted.
1097//
1098// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateUser
1099func (c *AppStream) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) {
1100	req, out := c.CreateUserRequest(input)
1101	return out, req.Send()
1102}
1103
1104// CreateUserWithContext is the same as CreateUser with the addition of
1105// the ability to pass a context and additional request options.
1106//
1107// See CreateUser for details on how to use this API operation.
1108//
1109// The context must be non-nil and will be used for request cancellation. If
1110// the context is nil a panic will occur. In the future the SDK may create
1111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1112// for more information on using Contexts.
1113func (c *AppStream) CreateUserWithContext(ctx aws.Context, input *CreateUserInput, opts ...request.Option) (*CreateUserOutput, error) {
1114	req, out := c.CreateUserRequest(input)
1115	req.SetContext(ctx)
1116	req.ApplyOptions(opts...)
1117	return out, req.Send()
1118}
1119
1120const opDeleteDirectoryConfig = "DeleteDirectoryConfig"
1121
1122// DeleteDirectoryConfigRequest generates a "aws/request.Request" representing the
1123// client's request for the DeleteDirectoryConfig operation. The "output" return
1124// value will be populated with the request's response once the request completes
1125// successfully.
1126//
1127// Use "Send" method on the returned Request to send the API call to the service.
1128// the "output" return value is not valid until after Send returns without error.
1129//
1130// See DeleteDirectoryConfig for more information on using the DeleteDirectoryConfig
1131// API call, and error handling.
1132//
1133// This method is useful when you want to inject custom logic or configuration
1134// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1135//
1136//
1137//    // Example sending a request using the DeleteDirectoryConfigRequest method.
1138//    req, resp := client.DeleteDirectoryConfigRequest(params)
1139//
1140//    err := req.Send()
1141//    if err == nil { // resp is now filled
1142//        fmt.Println(resp)
1143//    }
1144//
1145// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteDirectoryConfig
1146func (c *AppStream) DeleteDirectoryConfigRequest(input *DeleteDirectoryConfigInput) (req *request.Request, output *DeleteDirectoryConfigOutput) {
1147	op := &request.Operation{
1148		Name:       opDeleteDirectoryConfig,
1149		HTTPMethod: "POST",
1150		HTTPPath:   "/",
1151	}
1152
1153	if input == nil {
1154		input = &DeleteDirectoryConfigInput{}
1155	}
1156
1157	output = &DeleteDirectoryConfigOutput{}
1158	req = c.newRequest(op, input, output)
1159	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1160	return
1161}
1162
1163// DeleteDirectoryConfig API operation for Amazon AppStream.
1164//
1165// Deletes the specified Directory Config object from AppStream 2.0. This object
1166// includes the information required to join streaming instances to an Active
1167// Directory domain.
1168//
1169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1170// with awserr.Error's Code and Message methods to get detailed information about
1171// the error.
1172//
1173// See the AWS API reference guide for Amazon AppStream's
1174// API operation DeleteDirectoryConfig for usage and error information.
1175//
1176// Returned Error Types:
1177//   * ResourceInUseException
1178//   The specified resource is in use.
1179//
1180//   * ResourceNotFoundException
1181//   The specified resource was not found.
1182//
1183// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteDirectoryConfig
1184func (c *AppStream) DeleteDirectoryConfig(input *DeleteDirectoryConfigInput) (*DeleteDirectoryConfigOutput, error) {
1185	req, out := c.DeleteDirectoryConfigRequest(input)
1186	return out, req.Send()
1187}
1188
1189// DeleteDirectoryConfigWithContext is the same as DeleteDirectoryConfig with the addition of
1190// the ability to pass a context and additional request options.
1191//
1192// See DeleteDirectoryConfig for details on how to use this API operation.
1193//
1194// The context must be non-nil and will be used for request cancellation. If
1195// the context is nil a panic will occur. In the future the SDK may create
1196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1197// for more information on using Contexts.
1198func (c *AppStream) DeleteDirectoryConfigWithContext(ctx aws.Context, input *DeleteDirectoryConfigInput, opts ...request.Option) (*DeleteDirectoryConfigOutput, error) {
1199	req, out := c.DeleteDirectoryConfigRequest(input)
1200	req.SetContext(ctx)
1201	req.ApplyOptions(opts...)
1202	return out, req.Send()
1203}
1204
1205const opDeleteFleet = "DeleteFleet"
1206
1207// DeleteFleetRequest generates a "aws/request.Request" representing the
1208// client's request for the DeleteFleet operation. The "output" return
1209// value will be populated with the request's response once the request completes
1210// successfully.
1211//
1212// Use "Send" method on the returned Request to send the API call to the service.
1213// the "output" return value is not valid until after Send returns without error.
1214//
1215// See DeleteFleet for more information on using the DeleteFleet
1216// API call, and error handling.
1217//
1218// This method is useful when you want to inject custom logic or configuration
1219// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1220//
1221//
1222//    // Example sending a request using the DeleteFleetRequest method.
1223//    req, resp := client.DeleteFleetRequest(params)
1224//
1225//    err := req.Send()
1226//    if err == nil { // resp is now filled
1227//        fmt.Println(resp)
1228//    }
1229//
1230// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteFleet
1231func (c *AppStream) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Request, output *DeleteFleetOutput) {
1232	op := &request.Operation{
1233		Name:       opDeleteFleet,
1234		HTTPMethod: "POST",
1235		HTTPPath:   "/",
1236	}
1237
1238	if input == nil {
1239		input = &DeleteFleetInput{}
1240	}
1241
1242	output = &DeleteFleetOutput{}
1243	req = c.newRequest(op, input, output)
1244	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1245	return
1246}
1247
1248// DeleteFleet API operation for Amazon AppStream.
1249//
1250// Deletes the specified fleet.
1251//
1252// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1253// with awserr.Error's Code and Message methods to get detailed information about
1254// the error.
1255//
1256// See the AWS API reference guide for Amazon AppStream's
1257// API operation DeleteFleet for usage and error information.
1258//
1259// Returned Error Types:
1260//   * ResourceInUseException
1261//   The specified resource is in use.
1262//
1263//   * ResourceNotFoundException
1264//   The specified resource was not found.
1265//
1266//   * ConcurrentModificationException
1267//   An API error occurred. Wait a few minutes and try again.
1268//
1269// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteFleet
1270func (c *AppStream) DeleteFleet(input *DeleteFleetInput) (*DeleteFleetOutput, error) {
1271	req, out := c.DeleteFleetRequest(input)
1272	return out, req.Send()
1273}
1274
1275// DeleteFleetWithContext is the same as DeleteFleet with the addition of
1276// the ability to pass a context and additional request options.
1277//
1278// See DeleteFleet for details on how to use this API operation.
1279//
1280// The context must be non-nil and will be used for request cancellation. If
1281// the context is nil a panic will occur. In the future the SDK may create
1282// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1283// for more information on using Contexts.
1284func (c *AppStream) DeleteFleetWithContext(ctx aws.Context, input *DeleteFleetInput, opts ...request.Option) (*DeleteFleetOutput, error) {
1285	req, out := c.DeleteFleetRequest(input)
1286	req.SetContext(ctx)
1287	req.ApplyOptions(opts...)
1288	return out, req.Send()
1289}
1290
1291const opDeleteImage = "DeleteImage"
1292
1293// DeleteImageRequest generates a "aws/request.Request" representing the
1294// client's request for the DeleteImage operation. The "output" return
1295// value will be populated with the request's response once the request completes
1296// successfully.
1297//
1298// Use "Send" method on the returned Request to send the API call to the service.
1299// the "output" return value is not valid until after Send returns without error.
1300//
1301// See DeleteImage for more information on using the DeleteImage
1302// API call, and error handling.
1303//
1304// This method is useful when you want to inject custom logic or configuration
1305// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1306//
1307//
1308//    // Example sending a request using the DeleteImageRequest method.
1309//    req, resp := client.DeleteImageRequest(params)
1310//
1311//    err := req.Send()
1312//    if err == nil { // resp is now filled
1313//        fmt.Println(resp)
1314//    }
1315//
1316// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImage
1317func (c *AppStream) DeleteImageRequest(input *DeleteImageInput) (req *request.Request, output *DeleteImageOutput) {
1318	op := &request.Operation{
1319		Name:       opDeleteImage,
1320		HTTPMethod: "POST",
1321		HTTPPath:   "/",
1322	}
1323
1324	if input == nil {
1325		input = &DeleteImageInput{}
1326	}
1327
1328	output = &DeleteImageOutput{}
1329	req = c.newRequest(op, input, output)
1330	return
1331}
1332
1333// DeleteImage API operation for Amazon AppStream.
1334//
1335// Deletes the specified image. You cannot delete an image when it is in use.
1336// After you delete an image, you cannot provision new capacity using the image.
1337//
1338// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1339// with awserr.Error's Code and Message methods to get detailed information about
1340// the error.
1341//
1342// See the AWS API reference guide for Amazon AppStream's
1343// API operation DeleteImage for usage and error information.
1344//
1345// Returned Error Types:
1346//   * ResourceInUseException
1347//   The specified resource is in use.
1348//
1349//   * ResourceNotFoundException
1350//   The specified resource was not found.
1351//
1352//   * OperationNotPermittedException
1353//   The attempted operation is not permitted.
1354//
1355//   * ConcurrentModificationException
1356//   An API error occurred. Wait a few minutes and try again.
1357//
1358// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImage
1359func (c *AppStream) DeleteImage(input *DeleteImageInput) (*DeleteImageOutput, error) {
1360	req, out := c.DeleteImageRequest(input)
1361	return out, req.Send()
1362}
1363
1364// DeleteImageWithContext is the same as DeleteImage with the addition of
1365// the ability to pass a context and additional request options.
1366//
1367// See DeleteImage for details on how to use this API operation.
1368//
1369// The context must be non-nil and will be used for request cancellation. If
1370// the context is nil a panic will occur. In the future the SDK may create
1371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1372// for more information on using Contexts.
1373func (c *AppStream) DeleteImageWithContext(ctx aws.Context, input *DeleteImageInput, opts ...request.Option) (*DeleteImageOutput, error) {
1374	req, out := c.DeleteImageRequest(input)
1375	req.SetContext(ctx)
1376	req.ApplyOptions(opts...)
1377	return out, req.Send()
1378}
1379
1380const opDeleteImageBuilder = "DeleteImageBuilder"
1381
1382// DeleteImageBuilderRequest generates a "aws/request.Request" representing the
1383// client's request for the DeleteImageBuilder operation. The "output" return
1384// value will be populated with the request's response once the request completes
1385// successfully.
1386//
1387// Use "Send" method on the returned Request to send the API call to the service.
1388// the "output" return value is not valid until after Send returns without error.
1389//
1390// See DeleteImageBuilder for more information on using the DeleteImageBuilder
1391// API call, and error handling.
1392//
1393// This method is useful when you want to inject custom logic or configuration
1394// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1395//
1396//
1397//    // Example sending a request using the DeleteImageBuilderRequest method.
1398//    req, resp := client.DeleteImageBuilderRequest(params)
1399//
1400//    err := req.Send()
1401//    if err == nil { // resp is now filled
1402//        fmt.Println(resp)
1403//    }
1404//
1405// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImageBuilder
1406func (c *AppStream) DeleteImageBuilderRequest(input *DeleteImageBuilderInput) (req *request.Request, output *DeleteImageBuilderOutput) {
1407	op := &request.Operation{
1408		Name:       opDeleteImageBuilder,
1409		HTTPMethod: "POST",
1410		HTTPPath:   "/",
1411	}
1412
1413	if input == nil {
1414		input = &DeleteImageBuilderInput{}
1415	}
1416
1417	output = &DeleteImageBuilderOutput{}
1418	req = c.newRequest(op, input, output)
1419	return
1420}
1421
1422// DeleteImageBuilder API operation for Amazon AppStream.
1423//
1424// Deletes the specified image builder and releases the capacity.
1425//
1426// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1427// with awserr.Error's Code and Message methods to get detailed information about
1428// the error.
1429//
1430// See the AWS API reference guide for Amazon AppStream's
1431// API operation DeleteImageBuilder for usage and error information.
1432//
1433// Returned Error Types:
1434//   * ResourceNotFoundException
1435//   The specified resource was not found.
1436//
1437//   * OperationNotPermittedException
1438//   The attempted operation is not permitted.
1439//
1440//   * ConcurrentModificationException
1441//   An API error occurred. Wait a few minutes and try again.
1442//
1443// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImageBuilder
1444func (c *AppStream) DeleteImageBuilder(input *DeleteImageBuilderInput) (*DeleteImageBuilderOutput, error) {
1445	req, out := c.DeleteImageBuilderRequest(input)
1446	return out, req.Send()
1447}
1448
1449// DeleteImageBuilderWithContext is the same as DeleteImageBuilder with the addition of
1450// the ability to pass a context and additional request options.
1451//
1452// See DeleteImageBuilder for details on how to use this API operation.
1453//
1454// The context must be non-nil and will be used for request cancellation. If
1455// the context is nil a panic will occur. In the future the SDK may create
1456// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1457// for more information on using Contexts.
1458func (c *AppStream) DeleteImageBuilderWithContext(ctx aws.Context, input *DeleteImageBuilderInput, opts ...request.Option) (*DeleteImageBuilderOutput, error) {
1459	req, out := c.DeleteImageBuilderRequest(input)
1460	req.SetContext(ctx)
1461	req.ApplyOptions(opts...)
1462	return out, req.Send()
1463}
1464
1465const opDeleteImagePermissions = "DeleteImagePermissions"
1466
1467// DeleteImagePermissionsRequest generates a "aws/request.Request" representing the
1468// client's request for the DeleteImagePermissions operation. The "output" return
1469// value will be populated with the request's response once the request completes
1470// successfully.
1471//
1472// Use "Send" method on the returned Request to send the API call to the service.
1473// the "output" return value is not valid until after Send returns without error.
1474//
1475// See DeleteImagePermissions for more information on using the DeleteImagePermissions
1476// API call, and error handling.
1477//
1478// This method is useful when you want to inject custom logic or configuration
1479// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1480//
1481//
1482//    // Example sending a request using the DeleteImagePermissionsRequest method.
1483//    req, resp := client.DeleteImagePermissionsRequest(params)
1484//
1485//    err := req.Send()
1486//    if err == nil { // resp is now filled
1487//        fmt.Println(resp)
1488//    }
1489//
1490// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImagePermissions
1491func (c *AppStream) DeleteImagePermissionsRequest(input *DeleteImagePermissionsInput) (req *request.Request, output *DeleteImagePermissionsOutput) {
1492	op := &request.Operation{
1493		Name:       opDeleteImagePermissions,
1494		HTTPMethod: "POST",
1495		HTTPPath:   "/",
1496	}
1497
1498	if input == nil {
1499		input = &DeleteImagePermissionsInput{}
1500	}
1501
1502	output = &DeleteImagePermissionsOutput{}
1503	req = c.newRequest(op, input, output)
1504	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1505	return
1506}
1507
1508// DeleteImagePermissions API operation for Amazon AppStream.
1509//
1510// Deletes permissions for the specified private image. After you delete permissions
1511// for an image, AWS accounts to which you previously granted these permissions
1512// can no longer use the image.
1513//
1514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1515// with awserr.Error's Code and Message methods to get detailed information about
1516// the error.
1517//
1518// See the AWS API reference guide for Amazon AppStream's
1519// API operation DeleteImagePermissions for usage and error information.
1520//
1521// Returned Error Types:
1522//   * ResourceNotAvailableException
1523//   The specified resource exists and is not in use, but isn't available.
1524//
1525//   * ResourceNotFoundException
1526//   The specified resource was not found.
1527//
1528// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImagePermissions
1529func (c *AppStream) DeleteImagePermissions(input *DeleteImagePermissionsInput) (*DeleteImagePermissionsOutput, error) {
1530	req, out := c.DeleteImagePermissionsRequest(input)
1531	return out, req.Send()
1532}
1533
1534// DeleteImagePermissionsWithContext is the same as DeleteImagePermissions with the addition of
1535// the ability to pass a context and additional request options.
1536//
1537// See DeleteImagePermissions for details on how to use this API operation.
1538//
1539// The context must be non-nil and will be used for request cancellation. If
1540// the context is nil a panic will occur. In the future the SDK may create
1541// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1542// for more information on using Contexts.
1543func (c *AppStream) DeleteImagePermissionsWithContext(ctx aws.Context, input *DeleteImagePermissionsInput, opts ...request.Option) (*DeleteImagePermissionsOutput, error) {
1544	req, out := c.DeleteImagePermissionsRequest(input)
1545	req.SetContext(ctx)
1546	req.ApplyOptions(opts...)
1547	return out, req.Send()
1548}
1549
1550const opDeleteStack = "DeleteStack"
1551
1552// DeleteStackRequest generates a "aws/request.Request" representing the
1553// client's request for the DeleteStack operation. The "output" return
1554// value will be populated with the request's response once the request completes
1555// successfully.
1556//
1557// Use "Send" method on the returned Request to send the API call to the service.
1558// the "output" return value is not valid until after Send returns without error.
1559//
1560// See DeleteStack for more information on using the DeleteStack
1561// API call, and error handling.
1562//
1563// This method is useful when you want to inject custom logic or configuration
1564// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1565//
1566//
1567//    // Example sending a request using the DeleteStackRequest method.
1568//    req, resp := client.DeleteStackRequest(params)
1569//
1570//    err := req.Send()
1571//    if err == nil { // resp is now filled
1572//        fmt.Println(resp)
1573//    }
1574//
1575// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteStack
1576func (c *AppStream) DeleteStackRequest(input *DeleteStackInput) (req *request.Request, output *DeleteStackOutput) {
1577	op := &request.Operation{
1578		Name:       opDeleteStack,
1579		HTTPMethod: "POST",
1580		HTTPPath:   "/",
1581	}
1582
1583	if input == nil {
1584		input = &DeleteStackInput{}
1585	}
1586
1587	output = &DeleteStackOutput{}
1588	req = c.newRequest(op, input, output)
1589	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1590	return
1591}
1592
1593// DeleteStack API operation for Amazon AppStream.
1594//
1595// Deletes the specified stack. After the stack is deleted, the application
1596// streaming environment provided by the stack is no longer available to users.
1597// Also, any reservations made for application streaming sessions for the stack
1598// are released.
1599//
1600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1601// with awserr.Error's Code and Message methods to get detailed information about
1602// the error.
1603//
1604// See the AWS API reference guide for Amazon AppStream's
1605// API operation DeleteStack for usage and error information.
1606//
1607// Returned Error Types:
1608//   * ResourceInUseException
1609//   The specified resource is in use.
1610//
1611//   * ResourceNotFoundException
1612//   The specified resource was not found.
1613//
1614//   * ConcurrentModificationException
1615//   An API error occurred. Wait a few minutes and try again.
1616//
1617// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteStack
1618func (c *AppStream) DeleteStack(input *DeleteStackInput) (*DeleteStackOutput, error) {
1619	req, out := c.DeleteStackRequest(input)
1620	return out, req.Send()
1621}
1622
1623// DeleteStackWithContext is the same as DeleteStack with the addition of
1624// the ability to pass a context and additional request options.
1625//
1626// See DeleteStack for details on how to use this API operation.
1627//
1628// The context must be non-nil and will be used for request cancellation. If
1629// the context is nil a panic will occur. In the future the SDK may create
1630// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1631// for more information on using Contexts.
1632func (c *AppStream) DeleteStackWithContext(ctx aws.Context, input *DeleteStackInput, opts ...request.Option) (*DeleteStackOutput, error) {
1633	req, out := c.DeleteStackRequest(input)
1634	req.SetContext(ctx)
1635	req.ApplyOptions(opts...)
1636	return out, req.Send()
1637}
1638
1639const opDeleteUsageReportSubscription = "DeleteUsageReportSubscription"
1640
1641// DeleteUsageReportSubscriptionRequest generates a "aws/request.Request" representing the
1642// client's request for the DeleteUsageReportSubscription operation. The "output" return
1643// value will be populated with the request's response once the request completes
1644// successfully.
1645//
1646// Use "Send" method on the returned Request to send the API call to the service.
1647// the "output" return value is not valid until after Send returns without error.
1648//
1649// See DeleteUsageReportSubscription for more information on using the DeleteUsageReportSubscription
1650// API call, and error handling.
1651//
1652// This method is useful when you want to inject custom logic or configuration
1653// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1654//
1655//
1656//    // Example sending a request using the DeleteUsageReportSubscriptionRequest method.
1657//    req, resp := client.DeleteUsageReportSubscriptionRequest(params)
1658//
1659//    err := req.Send()
1660//    if err == nil { // resp is now filled
1661//        fmt.Println(resp)
1662//    }
1663//
1664// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteUsageReportSubscription
1665func (c *AppStream) DeleteUsageReportSubscriptionRequest(input *DeleteUsageReportSubscriptionInput) (req *request.Request, output *DeleteUsageReportSubscriptionOutput) {
1666	op := &request.Operation{
1667		Name:       opDeleteUsageReportSubscription,
1668		HTTPMethod: "POST",
1669		HTTPPath:   "/",
1670	}
1671
1672	if input == nil {
1673		input = &DeleteUsageReportSubscriptionInput{}
1674	}
1675
1676	output = &DeleteUsageReportSubscriptionOutput{}
1677	req = c.newRequest(op, input, output)
1678	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1679	return
1680}
1681
1682// DeleteUsageReportSubscription API operation for Amazon AppStream.
1683//
1684// Disables usage report generation.
1685//
1686// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1687// with awserr.Error's Code and Message methods to get detailed information about
1688// the error.
1689//
1690// See the AWS API reference guide for Amazon AppStream's
1691// API operation DeleteUsageReportSubscription for usage and error information.
1692//
1693// Returned Error Types:
1694//   * InvalidAccountStatusException
1695//   The resource cannot be created because your AWS account is suspended. For
1696//   assistance, contact AWS Support.
1697//
1698//   * ResourceNotFoundException
1699//   The specified resource was not found.
1700//
1701// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteUsageReportSubscription
1702func (c *AppStream) DeleteUsageReportSubscription(input *DeleteUsageReportSubscriptionInput) (*DeleteUsageReportSubscriptionOutput, error) {
1703	req, out := c.DeleteUsageReportSubscriptionRequest(input)
1704	return out, req.Send()
1705}
1706
1707// DeleteUsageReportSubscriptionWithContext is the same as DeleteUsageReportSubscription with the addition of
1708// the ability to pass a context and additional request options.
1709//
1710// See DeleteUsageReportSubscription for details on how to use this API operation.
1711//
1712// The context must be non-nil and will be used for request cancellation. If
1713// the context is nil a panic will occur. In the future the SDK may create
1714// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1715// for more information on using Contexts.
1716func (c *AppStream) DeleteUsageReportSubscriptionWithContext(ctx aws.Context, input *DeleteUsageReportSubscriptionInput, opts ...request.Option) (*DeleteUsageReportSubscriptionOutput, error) {
1717	req, out := c.DeleteUsageReportSubscriptionRequest(input)
1718	req.SetContext(ctx)
1719	req.ApplyOptions(opts...)
1720	return out, req.Send()
1721}
1722
1723const opDeleteUser = "DeleteUser"
1724
1725// DeleteUserRequest generates a "aws/request.Request" representing the
1726// client's request for the DeleteUser operation. The "output" return
1727// value will be populated with the request's response once the request completes
1728// successfully.
1729//
1730// Use "Send" method on the returned Request to send the API call to the service.
1731// the "output" return value is not valid until after Send returns without error.
1732//
1733// See DeleteUser for more information on using the DeleteUser
1734// API call, and error handling.
1735//
1736// This method is useful when you want to inject custom logic or configuration
1737// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1738//
1739//
1740//    // Example sending a request using the DeleteUserRequest method.
1741//    req, resp := client.DeleteUserRequest(params)
1742//
1743//    err := req.Send()
1744//    if err == nil { // resp is now filled
1745//        fmt.Println(resp)
1746//    }
1747//
1748// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteUser
1749func (c *AppStream) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) {
1750	op := &request.Operation{
1751		Name:       opDeleteUser,
1752		HTTPMethod: "POST",
1753		HTTPPath:   "/",
1754	}
1755
1756	if input == nil {
1757		input = &DeleteUserInput{}
1758	}
1759
1760	output = &DeleteUserOutput{}
1761	req = c.newRequest(op, input, output)
1762	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1763	return
1764}
1765
1766// DeleteUser API operation for Amazon AppStream.
1767//
1768// Deletes a user from the user pool.
1769//
1770// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1771// with awserr.Error's Code and Message methods to get detailed information about
1772// the error.
1773//
1774// See the AWS API reference guide for Amazon AppStream's
1775// API operation DeleteUser for usage and error information.
1776//
1777// Returned Error Types:
1778//   * ResourceNotFoundException
1779//   The specified resource was not found.
1780//
1781// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteUser
1782func (c *AppStream) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) {
1783	req, out := c.DeleteUserRequest(input)
1784	return out, req.Send()
1785}
1786
1787// DeleteUserWithContext is the same as DeleteUser with the addition of
1788// the ability to pass a context and additional request options.
1789//
1790// See DeleteUser for details on how to use this API operation.
1791//
1792// The context must be non-nil and will be used for request cancellation. If
1793// the context is nil a panic will occur. In the future the SDK may create
1794// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1795// for more information on using Contexts.
1796func (c *AppStream) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) {
1797	req, out := c.DeleteUserRequest(input)
1798	req.SetContext(ctx)
1799	req.ApplyOptions(opts...)
1800	return out, req.Send()
1801}
1802
1803const opDescribeDirectoryConfigs = "DescribeDirectoryConfigs"
1804
1805// DescribeDirectoryConfigsRequest generates a "aws/request.Request" representing the
1806// client's request for the DescribeDirectoryConfigs operation. The "output" return
1807// value will be populated with the request's response once the request completes
1808// successfully.
1809//
1810// Use "Send" method on the returned Request to send the API call to the service.
1811// the "output" return value is not valid until after Send returns without error.
1812//
1813// See DescribeDirectoryConfigs for more information on using the DescribeDirectoryConfigs
1814// API call, and error handling.
1815//
1816// This method is useful when you want to inject custom logic or configuration
1817// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1818//
1819//
1820//    // Example sending a request using the DescribeDirectoryConfigsRequest method.
1821//    req, resp := client.DescribeDirectoryConfigsRequest(params)
1822//
1823//    err := req.Send()
1824//    if err == nil { // resp is now filled
1825//        fmt.Println(resp)
1826//    }
1827//
1828// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeDirectoryConfigs
1829func (c *AppStream) DescribeDirectoryConfigsRequest(input *DescribeDirectoryConfigsInput) (req *request.Request, output *DescribeDirectoryConfigsOutput) {
1830	op := &request.Operation{
1831		Name:       opDescribeDirectoryConfigs,
1832		HTTPMethod: "POST",
1833		HTTPPath:   "/",
1834	}
1835
1836	if input == nil {
1837		input = &DescribeDirectoryConfigsInput{}
1838	}
1839
1840	output = &DescribeDirectoryConfigsOutput{}
1841	req = c.newRequest(op, input, output)
1842	return
1843}
1844
1845// DescribeDirectoryConfigs API operation for Amazon AppStream.
1846//
1847// Retrieves a list that describes one or more specified Directory Config objects
1848// for AppStream 2.0, if the names for these objects are provided. Otherwise,
1849// all Directory Config objects in the account are described. These objects
1850// include the configuration information required to join fleets and image builders
1851// to Microsoft Active Directory domains.
1852//
1853// Although the response syntax in this topic includes the account password,
1854// this password is not returned in the actual response.
1855//
1856// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1857// with awserr.Error's Code and Message methods to get detailed information about
1858// the error.
1859//
1860// See the AWS API reference guide for Amazon AppStream's
1861// API operation DescribeDirectoryConfigs for usage and error information.
1862//
1863// Returned Error Types:
1864//   * ResourceNotFoundException
1865//   The specified resource was not found.
1866//
1867// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeDirectoryConfigs
1868func (c *AppStream) DescribeDirectoryConfigs(input *DescribeDirectoryConfigsInput) (*DescribeDirectoryConfigsOutput, error) {
1869	req, out := c.DescribeDirectoryConfigsRequest(input)
1870	return out, req.Send()
1871}
1872
1873// DescribeDirectoryConfigsWithContext is the same as DescribeDirectoryConfigs with the addition of
1874// the ability to pass a context and additional request options.
1875//
1876// See DescribeDirectoryConfigs for details on how to use this API operation.
1877//
1878// The context must be non-nil and will be used for request cancellation. If
1879// the context is nil a panic will occur. In the future the SDK may create
1880// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1881// for more information on using Contexts.
1882func (c *AppStream) DescribeDirectoryConfigsWithContext(ctx aws.Context, input *DescribeDirectoryConfigsInput, opts ...request.Option) (*DescribeDirectoryConfigsOutput, error) {
1883	req, out := c.DescribeDirectoryConfigsRequest(input)
1884	req.SetContext(ctx)
1885	req.ApplyOptions(opts...)
1886	return out, req.Send()
1887}
1888
1889const opDescribeFleets = "DescribeFleets"
1890
1891// DescribeFleetsRequest generates a "aws/request.Request" representing the
1892// client's request for the DescribeFleets operation. The "output" return
1893// value will be populated with the request's response once the request completes
1894// successfully.
1895//
1896// Use "Send" method on the returned Request to send the API call to the service.
1897// the "output" return value is not valid until after Send returns without error.
1898//
1899// See DescribeFleets for more information on using the DescribeFleets
1900// API call, and error handling.
1901//
1902// This method is useful when you want to inject custom logic or configuration
1903// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1904//
1905//
1906//    // Example sending a request using the DescribeFleetsRequest method.
1907//    req, resp := client.DescribeFleetsRequest(params)
1908//
1909//    err := req.Send()
1910//    if err == nil { // resp is now filled
1911//        fmt.Println(resp)
1912//    }
1913//
1914// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeFleets
1915func (c *AppStream) DescribeFleetsRequest(input *DescribeFleetsInput) (req *request.Request, output *DescribeFleetsOutput) {
1916	op := &request.Operation{
1917		Name:       opDescribeFleets,
1918		HTTPMethod: "POST",
1919		HTTPPath:   "/",
1920	}
1921
1922	if input == nil {
1923		input = &DescribeFleetsInput{}
1924	}
1925
1926	output = &DescribeFleetsOutput{}
1927	req = c.newRequest(op, input, output)
1928	return
1929}
1930
1931// DescribeFleets API operation for Amazon AppStream.
1932//
1933// Retrieves a list that describes one or more specified fleets, if the fleet
1934// names are provided. Otherwise, all fleets in the account are described.
1935//
1936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1937// with awserr.Error's Code and Message methods to get detailed information about
1938// the error.
1939//
1940// See the AWS API reference guide for Amazon AppStream's
1941// API operation DescribeFleets for usage and error information.
1942//
1943// Returned Error Types:
1944//   * ResourceNotFoundException
1945//   The specified resource was not found.
1946//
1947// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeFleets
1948func (c *AppStream) DescribeFleets(input *DescribeFleetsInput) (*DescribeFleetsOutput, error) {
1949	req, out := c.DescribeFleetsRequest(input)
1950	return out, req.Send()
1951}
1952
1953// DescribeFleetsWithContext is the same as DescribeFleets with the addition of
1954// the ability to pass a context and additional request options.
1955//
1956// See DescribeFleets for details on how to use this API operation.
1957//
1958// The context must be non-nil and will be used for request cancellation. If
1959// the context is nil a panic will occur. In the future the SDK may create
1960// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1961// for more information on using Contexts.
1962func (c *AppStream) DescribeFleetsWithContext(ctx aws.Context, input *DescribeFleetsInput, opts ...request.Option) (*DescribeFleetsOutput, error) {
1963	req, out := c.DescribeFleetsRequest(input)
1964	req.SetContext(ctx)
1965	req.ApplyOptions(opts...)
1966	return out, req.Send()
1967}
1968
1969const opDescribeImageBuilders = "DescribeImageBuilders"
1970
1971// DescribeImageBuildersRequest generates a "aws/request.Request" representing the
1972// client's request for the DescribeImageBuilders operation. The "output" return
1973// value will be populated with the request's response once the request completes
1974// successfully.
1975//
1976// Use "Send" method on the returned Request to send the API call to the service.
1977// the "output" return value is not valid until after Send returns without error.
1978//
1979// See DescribeImageBuilders for more information on using the DescribeImageBuilders
1980// API call, and error handling.
1981//
1982// This method is useful when you want to inject custom logic or configuration
1983// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1984//
1985//
1986//    // Example sending a request using the DescribeImageBuildersRequest method.
1987//    req, resp := client.DescribeImageBuildersRequest(params)
1988//
1989//    err := req.Send()
1990//    if err == nil { // resp is now filled
1991//        fmt.Println(resp)
1992//    }
1993//
1994// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImageBuilders
1995func (c *AppStream) DescribeImageBuildersRequest(input *DescribeImageBuildersInput) (req *request.Request, output *DescribeImageBuildersOutput) {
1996	op := &request.Operation{
1997		Name:       opDescribeImageBuilders,
1998		HTTPMethod: "POST",
1999		HTTPPath:   "/",
2000	}
2001
2002	if input == nil {
2003		input = &DescribeImageBuildersInput{}
2004	}
2005
2006	output = &DescribeImageBuildersOutput{}
2007	req = c.newRequest(op, input, output)
2008	return
2009}
2010
2011// DescribeImageBuilders API operation for Amazon AppStream.
2012//
2013// Retrieves a list that describes one or more specified image builders, if
2014// the image builder names are provided. Otherwise, all image builders in the
2015// account are described.
2016//
2017// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2018// with awserr.Error's Code and Message methods to get detailed information about
2019// the error.
2020//
2021// See the AWS API reference guide for Amazon AppStream's
2022// API operation DescribeImageBuilders for usage and error information.
2023//
2024// Returned Error Types:
2025//   * ResourceNotFoundException
2026//   The specified resource was not found.
2027//
2028// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImageBuilders
2029func (c *AppStream) DescribeImageBuilders(input *DescribeImageBuildersInput) (*DescribeImageBuildersOutput, error) {
2030	req, out := c.DescribeImageBuildersRequest(input)
2031	return out, req.Send()
2032}
2033
2034// DescribeImageBuildersWithContext is the same as DescribeImageBuilders with the addition of
2035// the ability to pass a context and additional request options.
2036//
2037// See DescribeImageBuilders for details on how to use this API operation.
2038//
2039// The context must be non-nil and will be used for request cancellation. If
2040// the context is nil a panic will occur. In the future the SDK may create
2041// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2042// for more information on using Contexts.
2043func (c *AppStream) DescribeImageBuildersWithContext(ctx aws.Context, input *DescribeImageBuildersInput, opts ...request.Option) (*DescribeImageBuildersOutput, error) {
2044	req, out := c.DescribeImageBuildersRequest(input)
2045	req.SetContext(ctx)
2046	req.ApplyOptions(opts...)
2047	return out, req.Send()
2048}
2049
2050const opDescribeImagePermissions = "DescribeImagePermissions"
2051
2052// DescribeImagePermissionsRequest generates a "aws/request.Request" representing the
2053// client's request for the DescribeImagePermissions operation. The "output" return
2054// value will be populated with the request's response once the request completes
2055// successfully.
2056//
2057// Use "Send" method on the returned Request to send the API call to the service.
2058// the "output" return value is not valid until after Send returns without error.
2059//
2060// See DescribeImagePermissions for more information on using the DescribeImagePermissions
2061// API call, and error handling.
2062//
2063// This method is useful when you want to inject custom logic or configuration
2064// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2065//
2066//
2067//    // Example sending a request using the DescribeImagePermissionsRequest method.
2068//    req, resp := client.DescribeImagePermissionsRequest(params)
2069//
2070//    err := req.Send()
2071//    if err == nil { // resp is now filled
2072//        fmt.Println(resp)
2073//    }
2074//
2075// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImagePermissions
2076func (c *AppStream) DescribeImagePermissionsRequest(input *DescribeImagePermissionsInput) (req *request.Request, output *DescribeImagePermissionsOutput) {
2077	op := &request.Operation{
2078		Name:       opDescribeImagePermissions,
2079		HTTPMethod: "POST",
2080		HTTPPath:   "/",
2081		Paginator: &request.Paginator{
2082			InputTokens:     []string{"NextToken"},
2083			OutputTokens:    []string{"NextToken"},
2084			LimitToken:      "MaxResults",
2085			TruncationToken: "",
2086		},
2087	}
2088
2089	if input == nil {
2090		input = &DescribeImagePermissionsInput{}
2091	}
2092
2093	output = &DescribeImagePermissionsOutput{}
2094	req = c.newRequest(op, input, output)
2095	return
2096}
2097
2098// DescribeImagePermissions API operation for Amazon AppStream.
2099//
2100// Retrieves a list that describes the permissions for shared AWS account IDs
2101// on a private image that you own.
2102//
2103// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2104// with awserr.Error's Code and Message methods to get detailed information about
2105// the error.
2106//
2107// See the AWS API reference guide for Amazon AppStream's
2108// API operation DescribeImagePermissions for usage and error information.
2109//
2110// Returned Error Types:
2111//   * ResourceNotFoundException
2112//   The specified resource was not found.
2113//
2114// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImagePermissions
2115func (c *AppStream) DescribeImagePermissions(input *DescribeImagePermissionsInput) (*DescribeImagePermissionsOutput, error) {
2116	req, out := c.DescribeImagePermissionsRequest(input)
2117	return out, req.Send()
2118}
2119
2120// DescribeImagePermissionsWithContext is the same as DescribeImagePermissions with the addition of
2121// the ability to pass a context and additional request options.
2122//
2123// See DescribeImagePermissions for details on how to use this API operation.
2124//
2125// The context must be non-nil and will be used for request cancellation. If
2126// the context is nil a panic will occur. In the future the SDK may create
2127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2128// for more information on using Contexts.
2129func (c *AppStream) DescribeImagePermissionsWithContext(ctx aws.Context, input *DescribeImagePermissionsInput, opts ...request.Option) (*DescribeImagePermissionsOutput, error) {
2130	req, out := c.DescribeImagePermissionsRequest(input)
2131	req.SetContext(ctx)
2132	req.ApplyOptions(opts...)
2133	return out, req.Send()
2134}
2135
2136// DescribeImagePermissionsPages iterates over the pages of a DescribeImagePermissions operation,
2137// calling the "fn" function with the response data for each page. To stop
2138// iterating, return false from the fn function.
2139//
2140// See DescribeImagePermissions method for more information on how to use this operation.
2141//
2142// Note: This operation can generate multiple requests to a service.
2143//
2144//    // Example iterating over at most 3 pages of a DescribeImagePermissions operation.
2145//    pageNum := 0
2146//    err := client.DescribeImagePermissionsPages(params,
2147//        func(page *appstream.DescribeImagePermissionsOutput, lastPage bool) bool {
2148//            pageNum++
2149//            fmt.Println(page)
2150//            return pageNum <= 3
2151//        })
2152//
2153func (c *AppStream) DescribeImagePermissionsPages(input *DescribeImagePermissionsInput, fn func(*DescribeImagePermissionsOutput, bool) bool) error {
2154	return c.DescribeImagePermissionsPagesWithContext(aws.BackgroundContext(), input, fn)
2155}
2156
2157// DescribeImagePermissionsPagesWithContext same as DescribeImagePermissionsPages except
2158// it takes a Context and allows setting request options on the pages.
2159//
2160// The context must be non-nil and will be used for request cancellation. If
2161// the context is nil a panic will occur. In the future the SDK may create
2162// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2163// for more information on using Contexts.
2164func (c *AppStream) DescribeImagePermissionsPagesWithContext(ctx aws.Context, input *DescribeImagePermissionsInput, fn func(*DescribeImagePermissionsOutput, bool) bool, opts ...request.Option) error {
2165	p := request.Pagination{
2166		NewRequest: func() (*request.Request, error) {
2167			var inCpy *DescribeImagePermissionsInput
2168			if input != nil {
2169				tmp := *input
2170				inCpy = &tmp
2171			}
2172			req, _ := c.DescribeImagePermissionsRequest(inCpy)
2173			req.SetContext(ctx)
2174			req.ApplyOptions(opts...)
2175			return req, nil
2176		},
2177	}
2178
2179	for p.Next() {
2180		if !fn(p.Page().(*DescribeImagePermissionsOutput), !p.HasNextPage()) {
2181			break
2182		}
2183	}
2184
2185	return p.Err()
2186}
2187
2188const opDescribeImages = "DescribeImages"
2189
2190// DescribeImagesRequest generates a "aws/request.Request" representing the
2191// client's request for the DescribeImages operation. The "output" return
2192// value will be populated with the request's response once the request completes
2193// successfully.
2194//
2195// Use "Send" method on the returned Request to send the API call to the service.
2196// the "output" return value is not valid until after Send returns without error.
2197//
2198// See DescribeImages for more information on using the DescribeImages
2199// API call, and error handling.
2200//
2201// This method is useful when you want to inject custom logic or configuration
2202// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2203//
2204//
2205//    // Example sending a request using the DescribeImagesRequest method.
2206//    req, resp := client.DescribeImagesRequest(params)
2207//
2208//    err := req.Send()
2209//    if err == nil { // resp is now filled
2210//        fmt.Println(resp)
2211//    }
2212//
2213// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImages
2214func (c *AppStream) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
2215	op := &request.Operation{
2216		Name:       opDescribeImages,
2217		HTTPMethod: "POST",
2218		HTTPPath:   "/",
2219		Paginator: &request.Paginator{
2220			InputTokens:     []string{"NextToken"},
2221			OutputTokens:    []string{"NextToken"},
2222			LimitToken:      "MaxResults",
2223			TruncationToken: "",
2224		},
2225	}
2226
2227	if input == nil {
2228		input = &DescribeImagesInput{}
2229	}
2230
2231	output = &DescribeImagesOutput{}
2232	req = c.newRequest(op, input, output)
2233	return
2234}
2235
2236// DescribeImages API operation for Amazon AppStream.
2237//
2238// Retrieves a list that describes one or more specified images, if the image
2239// names or image ARNs are provided. Otherwise, all images in the account are
2240// described.
2241//
2242// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2243// with awserr.Error's Code and Message methods to get detailed information about
2244// the error.
2245//
2246// See the AWS API reference guide for Amazon AppStream's
2247// API operation DescribeImages for usage and error information.
2248//
2249// Returned Error Types:
2250//   * InvalidParameterCombinationException
2251//   Indicates an incorrect combination of parameters, or a missing parameter.
2252//
2253//   * ResourceNotFoundException
2254//   The specified resource was not found.
2255//
2256// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImages
2257func (c *AppStream) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
2258	req, out := c.DescribeImagesRequest(input)
2259	return out, req.Send()
2260}
2261
2262// DescribeImagesWithContext is the same as DescribeImages with the addition of
2263// the ability to pass a context and additional request options.
2264//
2265// See DescribeImages for details on how to use this API operation.
2266//
2267// The context must be non-nil and will be used for request cancellation. If
2268// the context is nil a panic will occur. In the future the SDK may create
2269// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2270// for more information on using Contexts.
2271func (c *AppStream) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
2272	req, out := c.DescribeImagesRequest(input)
2273	req.SetContext(ctx)
2274	req.ApplyOptions(opts...)
2275	return out, req.Send()
2276}
2277
2278// DescribeImagesPages iterates over the pages of a DescribeImages operation,
2279// calling the "fn" function with the response data for each page. To stop
2280// iterating, return false from the fn function.
2281//
2282// See DescribeImages method for more information on how to use this operation.
2283//
2284// Note: This operation can generate multiple requests to a service.
2285//
2286//    // Example iterating over at most 3 pages of a DescribeImages operation.
2287//    pageNum := 0
2288//    err := client.DescribeImagesPages(params,
2289//        func(page *appstream.DescribeImagesOutput, lastPage bool) bool {
2290//            pageNum++
2291//            fmt.Println(page)
2292//            return pageNum <= 3
2293//        })
2294//
2295func (c *AppStream) DescribeImagesPages(input *DescribeImagesInput, fn func(*DescribeImagesOutput, bool) bool) error {
2296	return c.DescribeImagesPagesWithContext(aws.BackgroundContext(), input, fn)
2297}
2298
2299// DescribeImagesPagesWithContext same as DescribeImagesPages except
2300// it takes a Context and allows setting request options on the pages.
2301//
2302// The context must be non-nil and will be used for request cancellation. If
2303// the context is nil a panic will occur. In the future the SDK may create
2304// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2305// for more information on using Contexts.
2306func (c *AppStream) DescribeImagesPagesWithContext(ctx aws.Context, input *DescribeImagesInput, fn func(*DescribeImagesOutput, bool) bool, opts ...request.Option) error {
2307	p := request.Pagination{
2308		NewRequest: func() (*request.Request, error) {
2309			var inCpy *DescribeImagesInput
2310			if input != nil {
2311				tmp := *input
2312				inCpy = &tmp
2313			}
2314			req, _ := c.DescribeImagesRequest(inCpy)
2315			req.SetContext(ctx)
2316			req.ApplyOptions(opts...)
2317			return req, nil
2318		},
2319	}
2320
2321	for p.Next() {
2322		if !fn(p.Page().(*DescribeImagesOutput), !p.HasNextPage()) {
2323			break
2324		}
2325	}
2326
2327	return p.Err()
2328}
2329
2330const opDescribeSessions = "DescribeSessions"
2331
2332// DescribeSessionsRequest generates a "aws/request.Request" representing the
2333// client's request for the DescribeSessions operation. The "output" return
2334// value will be populated with the request's response once the request completes
2335// successfully.
2336//
2337// Use "Send" method on the returned Request to send the API call to the service.
2338// the "output" return value is not valid until after Send returns without error.
2339//
2340// See DescribeSessions for more information on using the DescribeSessions
2341// API call, and error handling.
2342//
2343// This method is useful when you want to inject custom logic or configuration
2344// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2345//
2346//
2347//    // Example sending a request using the DescribeSessionsRequest method.
2348//    req, resp := client.DescribeSessionsRequest(params)
2349//
2350//    err := req.Send()
2351//    if err == nil { // resp is now filled
2352//        fmt.Println(resp)
2353//    }
2354//
2355// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeSessions
2356func (c *AppStream) DescribeSessionsRequest(input *DescribeSessionsInput) (req *request.Request, output *DescribeSessionsOutput) {
2357	op := &request.Operation{
2358		Name:       opDescribeSessions,
2359		HTTPMethod: "POST",
2360		HTTPPath:   "/",
2361	}
2362
2363	if input == nil {
2364		input = &DescribeSessionsInput{}
2365	}
2366
2367	output = &DescribeSessionsOutput{}
2368	req = c.newRequest(op, input, output)
2369	return
2370}
2371
2372// DescribeSessions API operation for Amazon AppStream.
2373//
2374// Retrieves a list that describes the streaming sessions for a specified stack
2375// and fleet. If a UserId is provided for the stack and fleet, only streaming
2376// sessions for that user are described. If an authentication type is not provided,
2377// the default is to authenticate users using a streaming URL.
2378//
2379// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2380// with awserr.Error's Code and Message methods to get detailed information about
2381// the error.
2382//
2383// See the AWS API reference guide for Amazon AppStream's
2384// API operation DescribeSessions for usage and error information.
2385//
2386// Returned Error Types:
2387//   * InvalidParameterCombinationException
2388//   Indicates an incorrect combination of parameters, or a missing parameter.
2389//
2390// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeSessions
2391func (c *AppStream) DescribeSessions(input *DescribeSessionsInput) (*DescribeSessionsOutput, error) {
2392	req, out := c.DescribeSessionsRequest(input)
2393	return out, req.Send()
2394}
2395
2396// DescribeSessionsWithContext is the same as DescribeSessions with the addition of
2397// the ability to pass a context and additional request options.
2398//
2399// See DescribeSessions for details on how to use this API operation.
2400//
2401// The context must be non-nil and will be used for request cancellation. If
2402// the context is nil a panic will occur. In the future the SDK may create
2403// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2404// for more information on using Contexts.
2405func (c *AppStream) DescribeSessionsWithContext(ctx aws.Context, input *DescribeSessionsInput, opts ...request.Option) (*DescribeSessionsOutput, error) {
2406	req, out := c.DescribeSessionsRequest(input)
2407	req.SetContext(ctx)
2408	req.ApplyOptions(opts...)
2409	return out, req.Send()
2410}
2411
2412const opDescribeStacks = "DescribeStacks"
2413
2414// DescribeStacksRequest generates a "aws/request.Request" representing the
2415// client's request for the DescribeStacks operation. The "output" return
2416// value will be populated with the request's response once the request completes
2417// successfully.
2418//
2419// Use "Send" method on the returned Request to send the API call to the service.
2420// the "output" return value is not valid until after Send returns without error.
2421//
2422// See DescribeStacks for more information on using the DescribeStacks
2423// API call, and error handling.
2424//
2425// This method is useful when you want to inject custom logic or configuration
2426// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2427//
2428//
2429//    // Example sending a request using the DescribeStacksRequest method.
2430//    req, resp := client.DescribeStacksRequest(params)
2431//
2432//    err := req.Send()
2433//    if err == nil { // resp is now filled
2434//        fmt.Println(resp)
2435//    }
2436//
2437// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeStacks
2438func (c *AppStream) DescribeStacksRequest(input *DescribeStacksInput) (req *request.Request, output *DescribeStacksOutput) {
2439	op := &request.Operation{
2440		Name:       opDescribeStacks,
2441		HTTPMethod: "POST",
2442		HTTPPath:   "/",
2443	}
2444
2445	if input == nil {
2446		input = &DescribeStacksInput{}
2447	}
2448
2449	output = &DescribeStacksOutput{}
2450	req = c.newRequest(op, input, output)
2451	return
2452}
2453
2454// DescribeStacks API operation for Amazon AppStream.
2455//
2456// Retrieves a list that describes one or more specified stacks, if the stack
2457// names are provided. Otherwise, all stacks in the account are described.
2458//
2459// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2460// with awserr.Error's Code and Message methods to get detailed information about
2461// the error.
2462//
2463// See the AWS API reference guide for Amazon AppStream's
2464// API operation DescribeStacks for usage and error information.
2465//
2466// Returned Error Types:
2467//   * ResourceNotFoundException
2468//   The specified resource was not found.
2469//
2470// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeStacks
2471func (c *AppStream) DescribeStacks(input *DescribeStacksInput) (*DescribeStacksOutput, error) {
2472	req, out := c.DescribeStacksRequest(input)
2473	return out, req.Send()
2474}
2475
2476// DescribeStacksWithContext is the same as DescribeStacks with the addition of
2477// the ability to pass a context and additional request options.
2478//
2479// See DescribeStacks for details on how to use this API operation.
2480//
2481// The context must be non-nil and will be used for request cancellation. If
2482// the context is nil a panic will occur. In the future the SDK may create
2483// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2484// for more information on using Contexts.
2485func (c *AppStream) DescribeStacksWithContext(ctx aws.Context, input *DescribeStacksInput, opts ...request.Option) (*DescribeStacksOutput, error) {
2486	req, out := c.DescribeStacksRequest(input)
2487	req.SetContext(ctx)
2488	req.ApplyOptions(opts...)
2489	return out, req.Send()
2490}
2491
2492const opDescribeUsageReportSubscriptions = "DescribeUsageReportSubscriptions"
2493
2494// DescribeUsageReportSubscriptionsRequest generates a "aws/request.Request" representing the
2495// client's request for the DescribeUsageReportSubscriptions operation. The "output" return
2496// value will be populated with the request's response once the request completes
2497// successfully.
2498//
2499// Use "Send" method on the returned Request to send the API call to the service.
2500// the "output" return value is not valid until after Send returns without error.
2501//
2502// See DescribeUsageReportSubscriptions for more information on using the DescribeUsageReportSubscriptions
2503// API call, and error handling.
2504//
2505// This method is useful when you want to inject custom logic or configuration
2506// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2507//
2508//
2509//    // Example sending a request using the DescribeUsageReportSubscriptionsRequest method.
2510//    req, resp := client.DescribeUsageReportSubscriptionsRequest(params)
2511//
2512//    err := req.Send()
2513//    if err == nil { // resp is now filled
2514//        fmt.Println(resp)
2515//    }
2516//
2517// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUsageReportSubscriptions
2518func (c *AppStream) DescribeUsageReportSubscriptionsRequest(input *DescribeUsageReportSubscriptionsInput) (req *request.Request, output *DescribeUsageReportSubscriptionsOutput) {
2519	op := &request.Operation{
2520		Name:       opDescribeUsageReportSubscriptions,
2521		HTTPMethod: "POST",
2522		HTTPPath:   "/",
2523	}
2524
2525	if input == nil {
2526		input = &DescribeUsageReportSubscriptionsInput{}
2527	}
2528
2529	output = &DescribeUsageReportSubscriptionsOutput{}
2530	req = c.newRequest(op, input, output)
2531	return
2532}
2533
2534// DescribeUsageReportSubscriptions API operation for Amazon AppStream.
2535//
2536// Retrieves a list that describes one or more usage report subscriptions.
2537//
2538// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2539// with awserr.Error's Code and Message methods to get detailed information about
2540// the error.
2541//
2542// See the AWS API reference guide for Amazon AppStream's
2543// API operation DescribeUsageReportSubscriptions for usage and error information.
2544//
2545// Returned Error Types:
2546//   * ResourceNotFoundException
2547//   The specified resource was not found.
2548//
2549//   * InvalidAccountStatusException
2550//   The resource cannot be created because your AWS account is suspended. For
2551//   assistance, contact AWS Support.
2552//
2553// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUsageReportSubscriptions
2554func (c *AppStream) DescribeUsageReportSubscriptions(input *DescribeUsageReportSubscriptionsInput) (*DescribeUsageReportSubscriptionsOutput, error) {
2555	req, out := c.DescribeUsageReportSubscriptionsRequest(input)
2556	return out, req.Send()
2557}
2558
2559// DescribeUsageReportSubscriptionsWithContext is the same as DescribeUsageReportSubscriptions with the addition of
2560// the ability to pass a context and additional request options.
2561//
2562// See DescribeUsageReportSubscriptions for details on how to use this API operation.
2563//
2564// The context must be non-nil and will be used for request cancellation. If
2565// the context is nil a panic will occur. In the future the SDK may create
2566// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2567// for more information on using Contexts.
2568func (c *AppStream) DescribeUsageReportSubscriptionsWithContext(ctx aws.Context, input *DescribeUsageReportSubscriptionsInput, opts ...request.Option) (*DescribeUsageReportSubscriptionsOutput, error) {
2569	req, out := c.DescribeUsageReportSubscriptionsRequest(input)
2570	req.SetContext(ctx)
2571	req.ApplyOptions(opts...)
2572	return out, req.Send()
2573}
2574
2575const opDescribeUserStackAssociations = "DescribeUserStackAssociations"
2576
2577// DescribeUserStackAssociationsRequest generates a "aws/request.Request" representing the
2578// client's request for the DescribeUserStackAssociations operation. The "output" return
2579// value will be populated with the request's response once the request completes
2580// successfully.
2581//
2582// Use "Send" method on the returned Request to send the API call to the service.
2583// the "output" return value is not valid until after Send returns without error.
2584//
2585// See DescribeUserStackAssociations for more information on using the DescribeUserStackAssociations
2586// API call, and error handling.
2587//
2588// This method is useful when you want to inject custom logic or configuration
2589// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2590//
2591//
2592//    // Example sending a request using the DescribeUserStackAssociationsRequest method.
2593//    req, resp := client.DescribeUserStackAssociationsRequest(params)
2594//
2595//    err := req.Send()
2596//    if err == nil { // resp is now filled
2597//        fmt.Println(resp)
2598//    }
2599//
2600// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUserStackAssociations
2601func (c *AppStream) DescribeUserStackAssociationsRequest(input *DescribeUserStackAssociationsInput) (req *request.Request, output *DescribeUserStackAssociationsOutput) {
2602	op := &request.Operation{
2603		Name:       opDescribeUserStackAssociations,
2604		HTTPMethod: "POST",
2605		HTTPPath:   "/",
2606	}
2607
2608	if input == nil {
2609		input = &DescribeUserStackAssociationsInput{}
2610	}
2611
2612	output = &DescribeUserStackAssociationsOutput{}
2613	req = c.newRequest(op, input, output)
2614	return
2615}
2616
2617// DescribeUserStackAssociations API operation for Amazon AppStream.
2618//
2619// Retrieves a list that describes the UserStackAssociation objects. You must
2620// specify either or both of the following:
2621//
2622//    * The stack name
2623//
2624//    * The user name (email address of the user associated with the stack)
2625//    and the authentication type for the user
2626//
2627// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2628// with awserr.Error's Code and Message methods to get detailed information about
2629// the error.
2630//
2631// See the AWS API reference guide for Amazon AppStream's
2632// API operation DescribeUserStackAssociations for usage and error information.
2633//
2634// Returned Error Types:
2635//   * InvalidParameterCombinationException
2636//   Indicates an incorrect combination of parameters, or a missing parameter.
2637//
2638// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUserStackAssociations
2639func (c *AppStream) DescribeUserStackAssociations(input *DescribeUserStackAssociationsInput) (*DescribeUserStackAssociationsOutput, error) {
2640	req, out := c.DescribeUserStackAssociationsRequest(input)
2641	return out, req.Send()
2642}
2643
2644// DescribeUserStackAssociationsWithContext is the same as DescribeUserStackAssociations with the addition of
2645// the ability to pass a context and additional request options.
2646//
2647// See DescribeUserStackAssociations for details on how to use this API operation.
2648//
2649// The context must be non-nil and will be used for request cancellation. If
2650// the context is nil a panic will occur. In the future the SDK may create
2651// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2652// for more information on using Contexts.
2653func (c *AppStream) DescribeUserStackAssociationsWithContext(ctx aws.Context, input *DescribeUserStackAssociationsInput, opts ...request.Option) (*DescribeUserStackAssociationsOutput, error) {
2654	req, out := c.DescribeUserStackAssociationsRequest(input)
2655	req.SetContext(ctx)
2656	req.ApplyOptions(opts...)
2657	return out, req.Send()
2658}
2659
2660const opDescribeUsers = "DescribeUsers"
2661
2662// DescribeUsersRequest generates a "aws/request.Request" representing the
2663// client's request for the DescribeUsers operation. The "output" return
2664// value will be populated with the request's response once the request completes
2665// successfully.
2666//
2667// Use "Send" method on the returned Request to send the API call to the service.
2668// the "output" return value is not valid until after Send returns without error.
2669//
2670// See DescribeUsers for more information on using the DescribeUsers
2671// API call, and error handling.
2672//
2673// This method is useful when you want to inject custom logic or configuration
2674// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2675//
2676//
2677//    // Example sending a request using the DescribeUsersRequest method.
2678//    req, resp := client.DescribeUsersRequest(params)
2679//
2680//    err := req.Send()
2681//    if err == nil { // resp is now filled
2682//        fmt.Println(resp)
2683//    }
2684//
2685// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUsers
2686func (c *AppStream) DescribeUsersRequest(input *DescribeUsersInput) (req *request.Request, output *DescribeUsersOutput) {
2687	op := &request.Operation{
2688		Name:       opDescribeUsers,
2689		HTTPMethod: "POST",
2690		HTTPPath:   "/",
2691	}
2692
2693	if input == nil {
2694		input = &DescribeUsersInput{}
2695	}
2696
2697	output = &DescribeUsersOutput{}
2698	req = c.newRequest(op, input, output)
2699	return
2700}
2701
2702// DescribeUsers API operation for Amazon AppStream.
2703//
2704// Retrieves a list that describes one or more specified users in the user pool.
2705//
2706// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2707// with awserr.Error's Code and Message methods to get detailed information about
2708// the error.
2709//
2710// See the AWS API reference guide for Amazon AppStream's
2711// API operation DescribeUsers for usage and error information.
2712//
2713// Returned Error Types:
2714//   * ResourceNotFoundException
2715//   The specified resource was not found.
2716//
2717//   * InvalidParameterCombinationException
2718//   Indicates an incorrect combination of parameters, or a missing parameter.
2719//
2720// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUsers
2721func (c *AppStream) DescribeUsers(input *DescribeUsersInput) (*DescribeUsersOutput, error) {
2722	req, out := c.DescribeUsersRequest(input)
2723	return out, req.Send()
2724}
2725
2726// DescribeUsersWithContext is the same as DescribeUsers with the addition of
2727// the ability to pass a context and additional request options.
2728//
2729// See DescribeUsers for details on how to use this API operation.
2730//
2731// The context must be non-nil and will be used for request cancellation. If
2732// the context is nil a panic will occur. In the future the SDK may create
2733// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2734// for more information on using Contexts.
2735func (c *AppStream) DescribeUsersWithContext(ctx aws.Context, input *DescribeUsersInput, opts ...request.Option) (*DescribeUsersOutput, error) {
2736	req, out := c.DescribeUsersRequest(input)
2737	req.SetContext(ctx)
2738	req.ApplyOptions(opts...)
2739	return out, req.Send()
2740}
2741
2742const opDisableUser = "DisableUser"
2743
2744// DisableUserRequest generates a "aws/request.Request" representing the
2745// client's request for the DisableUser operation. The "output" return
2746// value will be populated with the request's response once the request completes
2747// successfully.
2748//
2749// Use "Send" method on the returned Request to send the API call to the service.
2750// the "output" return value is not valid until after Send returns without error.
2751//
2752// See DisableUser for more information on using the DisableUser
2753// API call, and error handling.
2754//
2755// This method is useful when you want to inject custom logic or configuration
2756// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2757//
2758//
2759//    // Example sending a request using the DisableUserRequest method.
2760//    req, resp := client.DisableUserRequest(params)
2761//
2762//    err := req.Send()
2763//    if err == nil { // resp is now filled
2764//        fmt.Println(resp)
2765//    }
2766//
2767// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisableUser
2768func (c *AppStream) DisableUserRequest(input *DisableUserInput) (req *request.Request, output *DisableUserOutput) {
2769	op := &request.Operation{
2770		Name:       opDisableUser,
2771		HTTPMethod: "POST",
2772		HTTPPath:   "/",
2773	}
2774
2775	if input == nil {
2776		input = &DisableUserInput{}
2777	}
2778
2779	output = &DisableUserOutput{}
2780	req = c.newRequest(op, input, output)
2781	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2782	return
2783}
2784
2785// DisableUser API operation for Amazon AppStream.
2786//
2787// Disables the specified user in the user pool. Users can't sign in to AppStream
2788// 2.0 until they are re-enabled. This action does not delete the user.
2789//
2790// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2791// with awserr.Error's Code and Message methods to get detailed information about
2792// the error.
2793//
2794// See the AWS API reference guide for Amazon AppStream's
2795// API operation DisableUser for usage and error information.
2796//
2797// Returned Error Types:
2798//   * ResourceNotFoundException
2799//   The specified resource was not found.
2800//
2801// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisableUser
2802func (c *AppStream) DisableUser(input *DisableUserInput) (*DisableUserOutput, error) {
2803	req, out := c.DisableUserRequest(input)
2804	return out, req.Send()
2805}
2806
2807// DisableUserWithContext is the same as DisableUser with the addition of
2808// the ability to pass a context and additional request options.
2809//
2810// See DisableUser for details on how to use this API operation.
2811//
2812// The context must be non-nil and will be used for request cancellation. If
2813// the context is nil a panic will occur. In the future the SDK may create
2814// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2815// for more information on using Contexts.
2816func (c *AppStream) DisableUserWithContext(ctx aws.Context, input *DisableUserInput, opts ...request.Option) (*DisableUserOutput, error) {
2817	req, out := c.DisableUserRequest(input)
2818	req.SetContext(ctx)
2819	req.ApplyOptions(opts...)
2820	return out, req.Send()
2821}
2822
2823const opDisassociateFleet = "DisassociateFleet"
2824
2825// DisassociateFleetRequest generates a "aws/request.Request" representing the
2826// client's request for the DisassociateFleet operation. The "output" return
2827// value will be populated with the request's response once the request completes
2828// successfully.
2829//
2830// Use "Send" method on the returned Request to send the API call to the service.
2831// the "output" return value is not valid until after Send returns without error.
2832//
2833// See DisassociateFleet for more information on using the DisassociateFleet
2834// API call, and error handling.
2835//
2836// This method is useful when you want to inject custom logic or configuration
2837// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2838//
2839//
2840//    // Example sending a request using the DisassociateFleetRequest method.
2841//    req, resp := client.DisassociateFleetRequest(params)
2842//
2843//    err := req.Send()
2844//    if err == nil { // resp is now filled
2845//        fmt.Println(resp)
2846//    }
2847//
2848// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateFleet
2849func (c *AppStream) DisassociateFleetRequest(input *DisassociateFleetInput) (req *request.Request, output *DisassociateFleetOutput) {
2850	op := &request.Operation{
2851		Name:       opDisassociateFleet,
2852		HTTPMethod: "POST",
2853		HTTPPath:   "/",
2854	}
2855
2856	if input == nil {
2857		input = &DisassociateFleetInput{}
2858	}
2859
2860	output = &DisassociateFleetOutput{}
2861	req = c.newRequest(op, input, output)
2862	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2863	return
2864}
2865
2866// DisassociateFleet API operation for Amazon AppStream.
2867//
2868// Disassociates the specified fleet from the specified stack.
2869//
2870// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2871// with awserr.Error's Code and Message methods to get detailed information about
2872// the error.
2873//
2874// See the AWS API reference guide for Amazon AppStream's
2875// API operation DisassociateFleet for usage and error information.
2876//
2877// Returned Error Types:
2878//   * ResourceInUseException
2879//   The specified resource is in use.
2880//
2881//   * ResourceNotFoundException
2882//   The specified resource was not found.
2883//
2884//   * ConcurrentModificationException
2885//   An API error occurred. Wait a few minutes and try again.
2886//
2887// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateFleet
2888func (c *AppStream) DisassociateFleet(input *DisassociateFleetInput) (*DisassociateFleetOutput, error) {
2889	req, out := c.DisassociateFleetRequest(input)
2890	return out, req.Send()
2891}
2892
2893// DisassociateFleetWithContext is the same as DisassociateFleet with the addition of
2894// the ability to pass a context and additional request options.
2895//
2896// See DisassociateFleet for details on how to use this API operation.
2897//
2898// The context must be non-nil and will be used for request cancellation. If
2899// the context is nil a panic will occur. In the future the SDK may create
2900// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2901// for more information on using Contexts.
2902func (c *AppStream) DisassociateFleetWithContext(ctx aws.Context, input *DisassociateFleetInput, opts ...request.Option) (*DisassociateFleetOutput, error) {
2903	req, out := c.DisassociateFleetRequest(input)
2904	req.SetContext(ctx)
2905	req.ApplyOptions(opts...)
2906	return out, req.Send()
2907}
2908
2909const opEnableUser = "EnableUser"
2910
2911// EnableUserRequest generates a "aws/request.Request" representing the
2912// client's request for the EnableUser operation. The "output" return
2913// value will be populated with the request's response once the request completes
2914// successfully.
2915//
2916// Use "Send" method on the returned Request to send the API call to the service.
2917// the "output" return value is not valid until after Send returns without error.
2918//
2919// See EnableUser for more information on using the EnableUser
2920// API call, and error handling.
2921//
2922// This method is useful when you want to inject custom logic or configuration
2923// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2924//
2925//
2926//    // Example sending a request using the EnableUserRequest method.
2927//    req, resp := client.EnableUserRequest(params)
2928//
2929//    err := req.Send()
2930//    if err == nil { // resp is now filled
2931//        fmt.Println(resp)
2932//    }
2933//
2934// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EnableUser
2935func (c *AppStream) EnableUserRequest(input *EnableUserInput) (req *request.Request, output *EnableUserOutput) {
2936	op := &request.Operation{
2937		Name:       opEnableUser,
2938		HTTPMethod: "POST",
2939		HTTPPath:   "/",
2940	}
2941
2942	if input == nil {
2943		input = &EnableUserInput{}
2944	}
2945
2946	output = &EnableUserOutput{}
2947	req = c.newRequest(op, input, output)
2948	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2949	return
2950}
2951
2952// EnableUser API operation for Amazon AppStream.
2953//
2954// Enables a user in the user pool. After being enabled, users can sign in to
2955// AppStream 2.0 and open applications from the stacks to which they are assigned.
2956//
2957// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2958// with awserr.Error's Code and Message methods to get detailed information about
2959// the error.
2960//
2961// See the AWS API reference guide for Amazon AppStream's
2962// API operation EnableUser for usage and error information.
2963//
2964// Returned Error Types:
2965//   * ResourceNotFoundException
2966//   The specified resource was not found.
2967//
2968//   * InvalidAccountStatusException
2969//   The resource cannot be created because your AWS account is suspended. For
2970//   assistance, contact AWS Support.
2971//
2972// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/EnableUser
2973func (c *AppStream) EnableUser(input *EnableUserInput) (*EnableUserOutput, error) {
2974	req, out := c.EnableUserRequest(input)
2975	return out, req.Send()
2976}
2977
2978// EnableUserWithContext is the same as EnableUser with the addition of
2979// the ability to pass a context and additional request options.
2980//
2981// See EnableUser for details on how to use this API operation.
2982//
2983// The context must be non-nil and will be used for request cancellation. If
2984// the context is nil a panic will occur. In the future the SDK may create
2985// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2986// for more information on using Contexts.
2987func (c *AppStream) EnableUserWithContext(ctx aws.Context, input *EnableUserInput, opts ...request.Option) (*EnableUserOutput, error) {
2988	req, out := c.EnableUserRequest(input)
2989	req.SetContext(ctx)
2990	req.ApplyOptions(opts...)
2991	return out, req.Send()
2992}
2993
2994const opExpireSession = "ExpireSession"
2995
2996// ExpireSessionRequest generates a "aws/request.Request" representing the
2997// client's request for the ExpireSession operation. The "output" return
2998// value will be populated with the request's response once the request completes
2999// successfully.
3000//
3001// Use "Send" method on the returned Request to send the API call to the service.
3002// the "output" return value is not valid until after Send returns without error.
3003//
3004// See ExpireSession for more information on using the ExpireSession
3005// API call, and error handling.
3006//
3007// This method is useful when you want to inject custom logic or configuration
3008// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3009//
3010//
3011//    // Example sending a request using the ExpireSessionRequest method.
3012//    req, resp := client.ExpireSessionRequest(params)
3013//
3014//    err := req.Send()
3015//    if err == nil { // resp is now filled
3016//        fmt.Println(resp)
3017//    }
3018//
3019// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ExpireSession
3020func (c *AppStream) ExpireSessionRequest(input *ExpireSessionInput) (req *request.Request, output *ExpireSessionOutput) {
3021	op := &request.Operation{
3022		Name:       opExpireSession,
3023		HTTPMethod: "POST",
3024		HTTPPath:   "/",
3025	}
3026
3027	if input == nil {
3028		input = &ExpireSessionInput{}
3029	}
3030
3031	output = &ExpireSessionOutput{}
3032	req = c.newRequest(op, input, output)
3033	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3034	return
3035}
3036
3037// ExpireSession API operation for Amazon AppStream.
3038//
3039// Immediately stops the specified streaming session.
3040//
3041// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3042// with awserr.Error's Code and Message methods to get detailed information about
3043// the error.
3044//
3045// See the AWS API reference guide for Amazon AppStream's
3046// API operation ExpireSession for usage and error information.
3047// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ExpireSession
3048func (c *AppStream) ExpireSession(input *ExpireSessionInput) (*ExpireSessionOutput, error) {
3049	req, out := c.ExpireSessionRequest(input)
3050	return out, req.Send()
3051}
3052
3053// ExpireSessionWithContext is the same as ExpireSession with the addition of
3054// the ability to pass a context and additional request options.
3055//
3056// See ExpireSession for details on how to use this API operation.
3057//
3058// The context must be non-nil and will be used for request cancellation. If
3059// the context is nil a panic will occur. In the future the SDK may create
3060// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3061// for more information on using Contexts.
3062func (c *AppStream) ExpireSessionWithContext(ctx aws.Context, input *ExpireSessionInput, opts ...request.Option) (*ExpireSessionOutput, error) {
3063	req, out := c.ExpireSessionRequest(input)
3064	req.SetContext(ctx)
3065	req.ApplyOptions(opts...)
3066	return out, req.Send()
3067}
3068
3069const opListAssociatedFleets = "ListAssociatedFleets"
3070
3071// ListAssociatedFleetsRequest generates a "aws/request.Request" representing the
3072// client's request for the ListAssociatedFleets operation. The "output" return
3073// value will be populated with the request's response once the request completes
3074// successfully.
3075//
3076// Use "Send" method on the returned Request to send the API call to the service.
3077// the "output" return value is not valid until after Send returns without error.
3078//
3079// See ListAssociatedFleets for more information on using the ListAssociatedFleets
3080// API call, and error handling.
3081//
3082// This method is useful when you want to inject custom logic or configuration
3083// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3084//
3085//
3086//    // Example sending a request using the ListAssociatedFleetsRequest method.
3087//    req, resp := client.ListAssociatedFleetsRequest(params)
3088//
3089//    err := req.Send()
3090//    if err == nil { // resp is now filled
3091//        fmt.Println(resp)
3092//    }
3093//
3094// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListAssociatedFleets
3095func (c *AppStream) ListAssociatedFleetsRequest(input *ListAssociatedFleetsInput) (req *request.Request, output *ListAssociatedFleetsOutput) {
3096	op := &request.Operation{
3097		Name:       opListAssociatedFleets,
3098		HTTPMethod: "POST",
3099		HTTPPath:   "/",
3100	}
3101
3102	if input == nil {
3103		input = &ListAssociatedFleetsInput{}
3104	}
3105
3106	output = &ListAssociatedFleetsOutput{}
3107	req = c.newRequest(op, input, output)
3108	return
3109}
3110
3111// ListAssociatedFleets API operation for Amazon AppStream.
3112//
3113// Retrieves the name of the fleet that is associated with the specified stack.
3114//
3115// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3116// with awserr.Error's Code and Message methods to get detailed information about
3117// the error.
3118//
3119// See the AWS API reference guide for Amazon AppStream's
3120// API operation ListAssociatedFleets for usage and error information.
3121// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListAssociatedFleets
3122func (c *AppStream) ListAssociatedFleets(input *ListAssociatedFleetsInput) (*ListAssociatedFleetsOutput, error) {
3123	req, out := c.ListAssociatedFleetsRequest(input)
3124	return out, req.Send()
3125}
3126
3127// ListAssociatedFleetsWithContext is the same as ListAssociatedFleets with the addition of
3128// the ability to pass a context and additional request options.
3129//
3130// See ListAssociatedFleets for details on how to use this API operation.
3131//
3132// The context must be non-nil and will be used for request cancellation. If
3133// the context is nil a panic will occur. In the future the SDK may create
3134// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3135// for more information on using Contexts.
3136func (c *AppStream) ListAssociatedFleetsWithContext(ctx aws.Context, input *ListAssociatedFleetsInput, opts ...request.Option) (*ListAssociatedFleetsOutput, error) {
3137	req, out := c.ListAssociatedFleetsRequest(input)
3138	req.SetContext(ctx)
3139	req.ApplyOptions(opts...)
3140	return out, req.Send()
3141}
3142
3143const opListAssociatedStacks = "ListAssociatedStacks"
3144
3145// ListAssociatedStacksRequest generates a "aws/request.Request" representing the
3146// client's request for the ListAssociatedStacks operation. The "output" return
3147// value will be populated with the request's response once the request completes
3148// successfully.
3149//
3150// Use "Send" method on the returned Request to send the API call to the service.
3151// the "output" return value is not valid until after Send returns without error.
3152//
3153// See ListAssociatedStacks for more information on using the ListAssociatedStacks
3154// API call, and error handling.
3155//
3156// This method is useful when you want to inject custom logic or configuration
3157// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3158//
3159//
3160//    // Example sending a request using the ListAssociatedStacksRequest method.
3161//    req, resp := client.ListAssociatedStacksRequest(params)
3162//
3163//    err := req.Send()
3164//    if err == nil { // resp is now filled
3165//        fmt.Println(resp)
3166//    }
3167//
3168// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListAssociatedStacks
3169func (c *AppStream) ListAssociatedStacksRequest(input *ListAssociatedStacksInput) (req *request.Request, output *ListAssociatedStacksOutput) {
3170	op := &request.Operation{
3171		Name:       opListAssociatedStacks,
3172		HTTPMethod: "POST",
3173		HTTPPath:   "/",
3174	}
3175
3176	if input == nil {
3177		input = &ListAssociatedStacksInput{}
3178	}
3179
3180	output = &ListAssociatedStacksOutput{}
3181	req = c.newRequest(op, input, output)
3182	return
3183}
3184
3185// ListAssociatedStacks API operation for Amazon AppStream.
3186//
3187// Retrieves the name of the stack with which the specified fleet is associated.
3188//
3189// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3190// with awserr.Error's Code and Message methods to get detailed information about
3191// the error.
3192//
3193// See the AWS API reference guide for Amazon AppStream's
3194// API operation ListAssociatedStacks for usage and error information.
3195// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListAssociatedStacks
3196func (c *AppStream) ListAssociatedStacks(input *ListAssociatedStacksInput) (*ListAssociatedStacksOutput, error) {
3197	req, out := c.ListAssociatedStacksRequest(input)
3198	return out, req.Send()
3199}
3200
3201// ListAssociatedStacksWithContext is the same as ListAssociatedStacks with the addition of
3202// the ability to pass a context and additional request options.
3203//
3204// See ListAssociatedStacks for details on how to use this API operation.
3205//
3206// The context must be non-nil and will be used for request cancellation. If
3207// the context is nil a panic will occur. In the future the SDK may create
3208// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3209// for more information on using Contexts.
3210func (c *AppStream) ListAssociatedStacksWithContext(ctx aws.Context, input *ListAssociatedStacksInput, opts ...request.Option) (*ListAssociatedStacksOutput, error) {
3211	req, out := c.ListAssociatedStacksRequest(input)
3212	req.SetContext(ctx)
3213	req.ApplyOptions(opts...)
3214	return out, req.Send()
3215}
3216
3217const opListTagsForResource = "ListTagsForResource"
3218
3219// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3220// client's request for the ListTagsForResource operation. The "output" return
3221// value will be populated with the request's response once the request completes
3222// successfully.
3223//
3224// Use "Send" method on the returned Request to send the API call to the service.
3225// the "output" return value is not valid until after Send returns without error.
3226//
3227// See ListTagsForResource for more information on using the ListTagsForResource
3228// API call, and error handling.
3229//
3230// This method is useful when you want to inject custom logic or configuration
3231// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3232//
3233//
3234//    // Example sending a request using the ListTagsForResourceRequest method.
3235//    req, resp := client.ListTagsForResourceRequest(params)
3236//
3237//    err := req.Send()
3238//    if err == nil { // resp is now filled
3239//        fmt.Println(resp)
3240//    }
3241//
3242// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListTagsForResource
3243func (c *AppStream) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3244	op := &request.Operation{
3245		Name:       opListTagsForResource,
3246		HTTPMethod: "POST",
3247		HTTPPath:   "/",
3248	}
3249
3250	if input == nil {
3251		input = &ListTagsForResourceInput{}
3252	}
3253
3254	output = &ListTagsForResourceOutput{}
3255	req = c.newRequest(op, input, output)
3256	return
3257}
3258
3259// ListTagsForResource API operation for Amazon AppStream.
3260//
3261// Retrieves a list of all tags for the specified AppStream 2.0 resource. You
3262// can tag AppStream 2.0 image builders, images, fleets, and stacks.
3263//
3264// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
3265// in the Amazon AppStream 2.0 Administration Guide.
3266//
3267// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3268// with awserr.Error's Code and Message methods to get detailed information about
3269// the error.
3270//
3271// See the AWS API reference guide for Amazon AppStream's
3272// API operation ListTagsForResource for usage and error information.
3273//
3274// Returned Error Types:
3275//   * ResourceNotFoundException
3276//   The specified resource was not found.
3277//
3278// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListTagsForResource
3279func (c *AppStream) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
3280	req, out := c.ListTagsForResourceRequest(input)
3281	return out, req.Send()
3282}
3283
3284// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
3285// the ability to pass a context and additional request options.
3286//
3287// See ListTagsForResource for details on how to use this API operation.
3288//
3289// The context must be non-nil and will be used for request cancellation. If
3290// the context is nil a panic will occur. In the future the SDK may create
3291// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3292// for more information on using Contexts.
3293func (c *AppStream) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
3294	req, out := c.ListTagsForResourceRequest(input)
3295	req.SetContext(ctx)
3296	req.ApplyOptions(opts...)
3297	return out, req.Send()
3298}
3299
3300const opStartFleet = "StartFleet"
3301
3302// StartFleetRequest generates a "aws/request.Request" representing the
3303// client's request for the StartFleet operation. The "output" return
3304// value will be populated with the request's response once the request completes
3305// successfully.
3306//
3307// Use "Send" method on the returned Request to send the API call to the service.
3308// the "output" return value is not valid until after Send returns without error.
3309//
3310// See StartFleet for more information on using the StartFleet
3311// API call, and error handling.
3312//
3313// This method is useful when you want to inject custom logic or configuration
3314// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3315//
3316//
3317//    // Example sending a request using the StartFleetRequest method.
3318//    req, resp := client.StartFleetRequest(params)
3319//
3320//    err := req.Send()
3321//    if err == nil { // resp is now filled
3322//        fmt.Println(resp)
3323//    }
3324//
3325// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartFleet
3326func (c *AppStream) StartFleetRequest(input *StartFleetInput) (req *request.Request, output *StartFleetOutput) {
3327	op := &request.Operation{
3328		Name:       opStartFleet,
3329		HTTPMethod: "POST",
3330		HTTPPath:   "/",
3331	}
3332
3333	if input == nil {
3334		input = &StartFleetInput{}
3335	}
3336
3337	output = &StartFleetOutput{}
3338	req = c.newRequest(op, input, output)
3339	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3340	return
3341}
3342
3343// StartFleet API operation for Amazon AppStream.
3344//
3345// Starts the specified fleet.
3346//
3347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3348// with awserr.Error's Code and Message methods to get detailed information about
3349// the error.
3350//
3351// See the AWS API reference guide for Amazon AppStream's
3352// API operation StartFleet for usage and error information.
3353//
3354// Returned Error Types:
3355//   * ResourceNotFoundException
3356//   The specified resource was not found.
3357//
3358//   * OperationNotPermittedException
3359//   The attempted operation is not permitted.
3360//
3361//   * LimitExceededException
3362//   The requested limit exceeds the permitted limit for an account.
3363//
3364//   * InvalidAccountStatusException
3365//   The resource cannot be created because your AWS account is suspended. For
3366//   assistance, contact AWS Support.
3367//
3368//   * ConcurrentModificationException
3369//   An API error occurred. Wait a few minutes and try again.
3370//
3371//   * ResourceNotAvailableException
3372//   The specified resource exists and is not in use, but isn't available.
3373//
3374//   * InvalidRoleException
3375//   The specified role is invalid.
3376//
3377// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartFleet
3378func (c *AppStream) StartFleet(input *StartFleetInput) (*StartFleetOutput, error) {
3379	req, out := c.StartFleetRequest(input)
3380	return out, req.Send()
3381}
3382
3383// StartFleetWithContext is the same as StartFleet with the addition of
3384// the ability to pass a context and additional request options.
3385//
3386// See StartFleet for details on how to use this API operation.
3387//
3388// The context must be non-nil and will be used for request cancellation. If
3389// the context is nil a panic will occur. In the future the SDK may create
3390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3391// for more information on using Contexts.
3392func (c *AppStream) StartFleetWithContext(ctx aws.Context, input *StartFleetInput, opts ...request.Option) (*StartFleetOutput, error) {
3393	req, out := c.StartFleetRequest(input)
3394	req.SetContext(ctx)
3395	req.ApplyOptions(opts...)
3396	return out, req.Send()
3397}
3398
3399const opStartImageBuilder = "StartImageBuilder"
3400
3401// StartImageBuilderRequest generates a "aws/request.Request" representing the
3402// client's request for the StartImageBuilder operation. The "output" return
3403// value will be populated with the request's response once the request completes
3404// successfully.
3405//
3406// Use "Send" method on the returned Request to send the API call to the service.
3407// the "output" return value is not valid until after Send returns without error.
3408//
3409// See StartImageBuilder for more information on using the StartImageBuilder
3410// API call, and error handling.
3411//
3412// This method is useful when you want to inject custom logic or configuration
3413// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3414//
3415//
3416//    // Example sending a request using the StartImageBuilderRequest method.
3417//    req, resp := client.StartImageBuilderRequest(params)
3418//
3419//    err := req.Send()
3420//    if err == nil { // resp is now filled
3421//        fmt.Println(resp)
3422//    }
3423//
3424// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartImageBuilder
3425func (c *AppStream) StartImageBuilderRequest(input *StartImageBuilderInput) (req *request.Request, output *StartImageBuilderOutput) {
3426	op := &request.Operation{
3427		Name:       opStartImageBuilder,
3428		HTTPMethod: "POST",
3429		HTTPPath:   "/",
3430	}
3431
3432	if input == nil {
3433		input = &StartImageBuilderInput{}
3434	}
3435
3436	output = &StartImageBuilderOutput{}
3437	req = c.newRequest(op, input, output)
3438	return
3439}
3440
3441// StartImageBuilder API operation for Amazon AppStream.
3442//
3443// Starts the specified image builder.
3444//
3445// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3446// with awserr.Error's Code and Message methods to get detailed information about
3447// the error.
3448//
3449// See the AWS API reference guide for Amazon AppStream's
3450// API operation StartImageBuilder for usage and error information.
3451//
3452// Returned Error Types:
3453//   * ResourceNotAvailableException
3454//   The specified resource exists and is not in use, but isn't available.
3455//
3456//   * ResourceNotFoundException
3457//   The specified resource was not found.
3458//
3459//   * ConcurrentModificationException
3460//   An API error occurred. Wait a few minutes and try again.
3461//
3462//   * InvalidAccountStatusException
3463//   The resource cannot be created because your AWS account is suspended. For
3464//   assistance, contact AWS Support.
3465//
3466//   * IncompatibleImageException
3467//   The image does not support storage connectors.
3468//
3469// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartImageBuilder
3470func (c *AppStream) StartImageBuilder(input *StartImageBuilderInput) (*StartImageBuilderOutput, error) {
3471	req, out := c.StartImageBuilderRequest(input)
3472	return out, req.Send()
3473}
3474
3475// StartImageBuilderWithContext is the same as StartImageBuilder with the addition of
3476// the ability to pass a context and additional request options.
3477//
3478// See StartImageBuilder for details on how to use this API operation.
3479//
3480// The context must be non-nil and will be used for request cancellation. If
3481// the context is nil a panic will occur. In the future the SDK may create
3482// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3483// for more information on using Contexts.
3484func (c *AppStream) StartImageBuilderWithContext(ctx aws.Context, input *StartImageBuilderInput, opts ...request.Option) (*StartImageBuilderOutput, error) {
3485	req, out := c.StartImageBuilderRequest(input)
3486	req.SetContext(ctx)
3487	req.ApplyOptions(opts...)
3488	return out, req.Send()
3489}
3490
3491const opStopFleet = "StopFleet"
3492
3493// StopFleetRequest generates a "aws/request.Request" representing the
3494// client's request for the StopFleet operation. The "output" return
3495// value will be populated with the request's response once the request completes
3496// successfully.
3497//
3498// Use "Send" method on the returned Request to send the API call to the service.
3499// the "output" return value is not valid until after Send returns without error.
3500//
3501// See StopFleet for more information on using the StopFleet
3502// API call, and error handling.
3503//
3504// This method is useful when you want to inject custom logic or configuration
3505// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3506//
3507//
3508//    // Example sending a request using the StopFleetRequest method.
3509//    req, resp := client.StopFleetRequest(params)
3510//
3511//    err := req.Send()
3512//    if err == nil { // resp is now filled
3513//        fmt.Println(resp)
3514//    }
3515//
3516// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopFleet
3517func (c *AppStream) StopFleetRequest(input *StopFleetInput) (req *request.Request, output *StopFleetOutput) {
3518	op := &request.Operation{
3519		Name:       opStopFleet,
3520		HTTPMethod: "POST",
3521		HTTPPath:   "/",
3522	}
3523
3524	if input == nil {
3525		input = &StopFleetInput{}
3526	}
3527
3528	output = &StopFleetOutput{}
3529	req = c.newRequest(op, input, output)
3530	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3531	return
3532}
3533
3534// StopFleet API operation for Amazon AppStream.
3535//
3536// Stops the specified fleet.
3537//
3538// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3539// with awserr.Error's Code and Message methods to get detailed information about
3540// the error.
3541//
3542// See the AWS API reference guide for Amazon AppStream's
3543// API operation StopFleet for usage and error information.
3544//
3545// Returned Error Types:
3546//   * ResourceNotFoundException
3547//   The specified resource was not found.
3548//
3549//   * ConcurrentModificationException
3550//   An API error occurred. Wait a few minutes and try again.
3551//
3552// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopFleet
3553func (c *AppStream) StopFleet(input *StopFleetInput) (*StopFleetOutput, error) {
3554	req, out := c.StopFleetRequest(input)
3555	return out, req.Send()
3556}
3557
3558// StopFleetWithContext is the same as StopFleet with the addition of
3559// the ability to pass a context and additional request options.
3560//
3561// See StopFleet for details on how to use this API operation.
3562//
3563// The context must be non-nil and will be used for request cancellation. If
3564// the context is nil a panic will occur. In the future the SDK may create
3565// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3566// for more information on using Contexts.
3567func (c *AppStream) StopFleetWithContext(ctx aws.Context, input *StopFleetInput, opts ...request.Option) (*StopFleetOutput, error) {
3568	req, out := c.StopFleetRequest(input)
3569	req.SetContext(ctx)
3570	req.ApplyOptions(opts...)
3571	return out, req.Send()
3572}
3573
3574const opStopImageBuilder = "StopImageBuilder"
3575
3576// StopImageBuilderRequest generates a "aws/request.Request" representing the
3577// client's request for the StopImageBuilder operation. The "output" return
3578// value will be populated with the request's response once the request completes
3579// successfully.
3580//
3581// Use "Send" method on the returned Request to send the API call to the service.
3582// the "output" return value is not valid until after Send returns without error.
3583//
3584// See StopImageBuilder for more information on using the StopImageBuilder
3585// API call, and error handling.
3586//
3587// This method is useful when you want to inject custom logic or configuration
3588// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3589//
3590//
3591//    // Example sending a request using the StopImageBuilderRequest method.
3592//    req, resp := client.StopImageBuilderRequest(params)
3593//
3594//    err := req.Send()
3595//    if err == nil { // resp is now filled
3596//        fmt.Println(resp)
3597//    }
3598//
3599// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopImageBuilder
3600func (c *AppStream) StopImageBuilderRequest(input *StopImageBuilderInput) (req *request.Request, output *StopImageBuilderOutput) {
3601	op := &request.Operation{
3602		Name:       opStopImageBuilder,
3603		HTTPMethod: "POST",
3604		HTTPPath:   "/",
3605	}
3606
3607	if input == nil {
3608		input = &StopImageBuilderInput{}
3609	}
3610
3611	output = &StopImageBuilderOutput{}
3612	req = c.newRequest(op, input, output)
3613	return
3614}
3615
3616// StopImageBuilder API operation for Amazon AppStream.
3617//
3618// Stops the specified image builder.
3619//
3620// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3621// with awserr.Error's Code and Message methods to get detailed information about
3622// the error.
3623//
3624// See the AWS API reference guide for Amazon AppStream's
3625// API operation StopImageBuilder for usage and error information.
3626//
3627// Returned Error Types:
3628//   * ResourceNotFoundException
3629//   The specified resource was not found.
3630//
3631//   * OperationNotPermittedException
3632//   The attempted operation is not permitted.
3633//
3634//   * ConcurrentModificationException
3635//   An API error occurred. Wait a few minutes and try again.
3636//
3637// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopImageBuilder
3638func (c *AppStream) StopImageBuilder(input *StopImageBuilderInput) (*StopImageBuilderOutput, error) {
3639	req, out := c.StopImageBuilderRequest(input)
3640	return out, req.Send()
3641}
3642
3643// StopImageBuilderWithContext is the same as StopImageBuilder with the addition of
3644// the ability to pass a context and additional request options.
3645//
3646// See StopImageBuilder for details on how to use this API operation.
3647//
3648// The context must be non-nil and will be used for request cancellation. If
3649// the context is nil a panic will occur. In the future the SDK may create
3650// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3651// for more information on using Contexts.
3652func (c *AppStream) StopImageBuilderWithContext(ctx aws.Context, input *StopImageBuilderInput, opts ...request.Option) (*StopImageBuilderOutput, error) {
3653	req, out := c.StopImageBuilderRequest(input)
3654	req.SetContext(ctx)
3655	req.ApplyOptions(opts...)
3656	return out, req.Send()
3657}
3658
3659const opTagResource = "TagResource"
3660
3661// TagResourceRequest generates a "aws/request.Request" representing the
3662// client's request for the TagResource operation. The "output" return
3663// value will be populated with the request's response once the request completes
3664// successfully.
3665//
3666// Use "Send" method on the returned Request to send the API call to the service.
3667// the "output" return value is not valid until after Send returns without error.
3668//
3669// See TagResource for more information on using the TagResource
3670// API call, and error handling.
3671//
3672// This method is useful when you want to inject custom logic or configuration
3673// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3674//
3675//
3676//    // Example sending a request using the TagResourceRequest method.
3677//    req, resp := client.TagResourceRequest(params)
3678//
3679//    err := req.Send()
3680//    if err == nil { // resp is now filled
3681//        fmt.Println(resp)
3682//    }
3683//
3684// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/TagResource
3685func (c *AppStream) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
3686	op := &request.Operation{
3687		Name:       opTagResource,
3688		HTTPMethod: "POST",
3689		HTTPPath:   "/",
3690	}
3691
3692	if input == nil {
3693		input = &TagResourceInput{}
3694	}
3695
3696	output = &TagResourceOutput{}
3697	req = c.newRequest(op, input, output)
3698	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3699	return
3700}
3701
3702// TagResource API operation for Amazon AppStream.
3703//
3704// Adds or overwrites one or more tags for the specified AppStream 2.0 resource.
3705// You can tag AppStream 2.0 image builders, images, fleets, and stacks.
3706//
3707// Each tag consists of a key and an optional value. If a resource already has
3708// a tag with the same key, this operation updates its value.
3709//
3710// To list the current tags for your resources, use ListTagsForResource. To
3711// disassociate tags from your resources, use UntagResource.
3712//
3713// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
3714// in the Amazon AppStream 2.0 Administration Guide.
3715//
3716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3717// with awserr.Error's Code and Message methods to get detailed information about
3718// the error.
3719//
3720// See the AWS API reference guide for Amazon AppStream's
3721// API operation TagResource for usage and error information.
3722//
3723// Returned Error Types:
3724//   * LimitExceededException
3725//   The requested limit exceeds the permitted limit for an account.
3726//
3727//   * InvalidAccountStatusException
3728//   The resource cannot be created because your AWS account is suspended. For
3729//   assistance, contact AWS Support.
3730//
3731//   * ResourceNotFoundException
3732//   The specified resource was not found.
3733//
3734// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/TagResource
3735func (c *AppStream) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
3736	req, out := c.TagResourceRequest(input)
3737	return out, req.Send()
3738}
3739
3740// TagResourceWithContext is the same as TagResource with the addition of
3741// the ability to pass a context and additional request options.
3742//
3743// See TagResource for details on how to use this API operation.
3744//
3745// The context must be non-nil and will be used for request cancellation. If
3746// the context is nil a panic will occur. In the future the SDK may create
3747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3748// for more information on using Contexts.
3749func (c *AppStream) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
3750	req, out := c.TagResourceRequest(input)
3751	req.SetContext(ctx)
3752	req.ApplyOptions(opts...)
3753	return out, req.Send()
3754}
3755
3756const opUntagResource = "UntagResource"
3757
3758// UntagResourceRequest generates a "aws/request.Request" representing the
3759// client's request for the UntagResource operation. The "output" return
3760// value will be populated with the request's response once the request completes
3761// successfully.
3762//
3763// Use "Send" method on the returned Request to send the API call to the service.
3764// the "output" return value is not valid until after Send returns without error.
3765//
3766// See UntagResource for more information on using the UntagResource
3767// API call, and error handling.
3768//
3769// This method is useful when you want to inject custom logic or configuration
3770// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3771//
3772//
3773//    // Example sending a request using the UntagResourceRequest method.
3774//    req, resp := client.UntagResourceRequest(params)
3775//
3776//    err := req.Send()
3777//    if err == nil { // resp is now filled
3778//        fmt.Println(resp)
3779//    }
3780//
3781// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UntagResource
3782func (c *AppStream) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
3783	op := &request.Operation{
3784		Name:       opUntagResource,
3785		HTTPMethod: "POST",
3786		HTTPPath:   "/",
3787	}
3788
3789	if input == nil {
3790		input = &UntagResourceInput{}
3791	}
3792
3793	output = &UntagResourceOutput{}
3794	req = c.newRequest(op, input, output)
3795	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3796	return
3797}
3798
3799// UntagResource API operation for Amazon AppStream.
3800//
3801// Disassociates one or more specified tags from the specified AppStream 2.0
3802// resource.
3803//
3804// To list the current tags for your resources, use ListTagsForResource.
3805//
3806// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
3807// in the Amazon AppStream 2.0 Administration Guide.
3808//
3809// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3810// with awserr.Error's Code and Message methods to get detailed information about
3811// the error.
3812//
3813// See the AWS API reference guide for Amazon AppStream's
3814// API operation UntagResource for usage and error information.
3815//
3816// Returned Error Types:
3817//   * ResourceNotFoundException
3818//   The specified resource was not found.
3819//
3820// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UntagResource
3821func (c *AppStream) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
3822	req, out := c.UntagResourceRequest(input)
3823	return out, req.Send()
3824}
3825
3826// UntagResourceWithContext is the same as UntagResource with the addition of
3827// the ability to pass a context and additional request options.
3828//
3829// See UntagResource for details on how to use this API operation.
3830//
3831// The context must be non-nil and will be used for request cancellation. If
3832// the context is nil a panic will occur. In the future the SDK may create
3833// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3834// for more information on using Contexts.
3835func (c *AppStream) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
3836	req, out := c.UntagResourceRequest(input)
3837	req.SetContext(ctx)
3838	req.ApplyOptions(opts...)
3839	return out, req.Send()
3840}
3841
3842const opUpdateDirectoryConfig = "UpdateDirectoryConfig"
3843
3844// UpdateDirectoryConfigRequest generates a "aws/request.Request" representing the
3845// client's request for the UpdateDirectoryConfig operation. The "output" return
3846// value will be populated with the request's response once the request completes
3847// successfully.
3848//
3849// Use "Send" method on the returned Request to send the API call to the service.
3850// the "output" return value is not valid until after Send returns without error.
3851//
3852// See UpdateDirectoryConfig for more information on using the UpdateDirectoryConfig
3853// API call, and error handling.
3854//
3855// This method is useful when you want to inject custom logic or configuration
3856// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3857//
3858//
3859//    // Example sending a request using the UpdateDirectoryConfigRequest method.
3860//    req, resp := client.UpdateDirectoryConfigRequest(params)
3861//
3862//    err := req.Send()
3863//    if err == nil { // resp is now filled
3864//        fmt.Println(resp)
3865//    }
3866//
3867// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateDirectoryConfig
3868func (c *AppStream) UpdateDirectoryConfigRequest(input *UpdateDirectoryConfigInput) (req *request.Request, output *UpdateDirectoryConfigOutput) {
3869	op := &request.Operation{
3870		Name:       opUpdateDirectoryConfig,
3871		HTTPMethod: "POST",
3872		HTTPPath:   "/",
3873	}
3874
3875	if input == nil {
3876		input = &UpdateDirectoryConfigInput{}
3877	}
3878
3879	output = &UpdateDirectoryConfigOutput{}
3880	req = c.newRequest(op, input, output)
3881	return
3882}
3883
3884// UpdateDirectoryConfig API operation for Amazon AppStream.
3885//
3886// Updates the specified Directory Config object in AppStream 2.0. This object
3887// includes the configuration information required to join fleets and image
3888// builders to Microsoft Active Directory domains.
3889//
3890// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3891// with awserr.Error's Code and Message methods to get detailed information about
3892// the error.
3893//
3894// See the AWS API reference guide for Amazon AppStream's
3895// API operation UpdateDirectoryConfig for usage and error information.
3896//
3897// Returned Error Types:
3898//   * ResourceInUseException
3899//   The specified resource is in use.
3900//
3901//   * ResourceNotFoundException
3902//   The specified resource was not found.
3903//
3904//   * ConcurrentModificationException
3905//   An API error occurred. Wait a few minutes and try again.
3906//
3907// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateDirectoryConfig
3908func (c *AppStream) UpdateDirectoryConfig(input *UpdateDirectoryConfigInput) (*UpdateDirectoryConfigOutput, error) {
3909	req, out := c.UpdateDirectoryConfigRequest(input)
3910	return out, req.Send()
3911}
3912
3913// UpdateDirectoryConfigWithContext is the same as UpdateDirectoryConfig with the addition of
3914// the ability to pass a context and additional request options.
3915//
3916// See UpdateDirectoryConfig for details on how to use this API operation.
3917//
3918// The context must be non-nil and will be used for request cancellation. If
3919// the context is nil a panic will occur. In the future the SDK may create
3920// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3921// for more information on using Contexts.
3922func (c *AppStream) UpdateDirectoryConfigWithContext(ctx aws.Context, input *UpdateDirectoryConfigInput, opts ...request.Option) (*UpdateDirectoryConfigOutput, error) {
3923	req, out := c.UpdateDirectoryConfigRequest(input)
3924	req.SetContext(ctx)
3925	req.ApplyOptions(opts...)
3926	return out, req.Send()
3927}
3928
3929const opUpdateFleet = "UpdateFleet"
3930
3931// UpdateFleetRequest generates a "aws/request.Request" representing the
3932// client's request for the UpdateFleet operation. The "output" return
3933// value will be populated with the request's response once the request completes
3934// successfully.
3935//
3936// Use "Send" method on the returned Request to send the API call to the service.
3937// the "output" return value is not valid until after Send returns without error.
3938//
3939// See UpdateFleet for more information on using the UpdateFleet
3940// API call, and error handling.
3941//
3942// This method is useful when you want to inject custom logic or configuration
3943// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3944//
3945//
3946//    // Example sending a request using the UpdateFleetRequest method.
3947//    req, resp := client.UpdateFleetRequest(params)
3948//
3949//    err := req.Send()
3950//    if err == nil { // resp is now filled
3951//        fmt.Println(resp)
3952//    }
3953//
3954// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateFleet
3955func (c *AppStream) UpdateFleetRequest(input *UpdateFleetInput) (req *request.Request, output *UpdateFleetOutput) {
3956	op := &request.Operation{
3957		Name:       opUpdateFleet,
3958		HTTPMethod: "POST",
3959		HTTPPath:   "/",
3960	}
3961
3962	if input == nil {
3963		input = &UpdateFleetInput{}
3964	}
3965
3966	output = &UpdateFleetOutput{}
3967	req = c.newRequest(op, input, output)
3968	return
3969}
3970
3971// UpdateFleet API operation for Amazon AppStream.
3972//
3973// Updates the specified fleet.
3974//
3975// If the fleet is in the STOPPED state, you can update any attribute except
3976// the fleet name. If the fleet is in the RUNNING state, you can update the
3977// DisplayName, ComputeCapacity, ImageARN, ImageName, IdleDisconnectTimeoutInSeconds,
3978// and DisconnectTimeoutInSeconds attributes. If the fleet is in the STARTING
3979// or STOPPING state, you can't update it.
3980//
3981// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3982// with awserr.Error's Code and Message methods to get detailed information about
3983// the error.
3984//
3985// See the AWS API reference guide for Amazon AppStream's
3986// API operation UpdateFleet for usage and error information.
3987//
3988// Returned Error Types:
3989//   * ResourceInUseException
3990//   The specified resource is in use.
3991//
3992//   * LimitExceededException
3993//   The requested limit exceeds the permitted limit for an account.
3994//
3995//   * InvalidAccountStatusException
3996//   The resource cannot be created because your AWS account is suspended. For
3997//   assistance, contact AWS Support.
3998//
3999//   * InvalidRoleException
4000//   The specified role is invalid.
4001//
4002//   * ResourceNotFoundException
4003//   The specified resource was not found.
4004//
4005//   * ResourceNotAvailableException
4006//   The specified resource exists and is not in use, but isn't available.
4007//
4008//   * InvalidParameterCombinationException
4009//   Indicates an incorrect combination of parameters, or a missing parameter.
4010//
4011//   * ConcurrentModificationException
4012//   An API error occurred. Wait a few minutes and try again.
4013//
4014//   * IncompatibleImageException
4015//   The image does not support storage connectors.
4016//
4017//   * OperationNotPermittedException
4018//   The attempted operation is not permitted.
4019//
4020// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateFleet
4021func (c *AppStream) UpdateFleet(input *UpdateFleetInput) (*UpdateFleetOutput, error) {
4022	req, out := c.UpdateFleetRequest(input)
4023	return out, req.Send()
4024}
4025
4026// UpdateFleetWithContext is the same as UpdateFleet with the addition of
4027// the ability to pass a context and additional request options.
4028//
4029// See UpdateFleet for details on how to use this API operation.
4030//
4031// The context must be non-nil and will be used for request cancellation. If
4032// the context is nil a panic will occur. In the future the SDK may create
4033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4034// for more information on using Contexts.
4035func (c *AppStream) UpdateFleetWithContext(ctx aws.Context, input *UpdateFleetInput, opts ...request.Option) (*UpdateFleetOutput, error) {
4036	req, out := c.UpdateFleetRequest(input)
4037	req.SetContext(ctx)
4038	req.ApplyOptions(opts...)
4039	return out, req.Send()
4040}
4041
4042const opUpdateImagePermissions = "UpdateImagePermissions"
4043
4044// UpdateImagePermissionsRequest generates a "aws/request.Request" representing the
4045// client's request for the UpdateImagePermissions operation. The "output" return
4046// value will be populated with the request's response once the request completes
4047// successfully.
4048//
4049// Use "Send" method on the returned Request to send the API call to the service.
4050// the "output" return value is not valid until after Send returns without error.
4051//
4052// See UpdateImagePermissions for more information on using the UpdateImagePermissions
4053// API call, and error handling.
4054//
4055// This method is useful when you want to inject custom logic or configuration
4056// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4057//
4058//
4059//    // Example sending a request using the UpdateImagePermissionsRequest method.
4060//    req, resp := client.UpdateImagePermissionsRequest(params)
4061//
4062//    err := req.Send()
4063//    if err == nil { // resp is now filled
4064//        fmt.Println(resp)
4065//    }
4066//
4067// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateImagePermissions
4068func (c *AppStream) UpdateImagePermissionsRequest(input *UpdateImagePermissionsInput) (req *request.Request, output *UpdateImagePermissionsOutput) {
4069	op := &request.Operation{
4070		Name:       opUpdateImagePermissions,
4071		HTTPMethod: "POST",
4072		HTTPPath:   "/",
4073	}
4074
4075	if input == nil {
4076		input = &UpdateImagePermissionsInput{}
4077	}
4078
4079	output = &UpdateImagePermissionsOutput{}
4080	req = c.newRequest(op, input, output)
4081	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4082	return
4083}
4084
4085// UpdateImagePermissions API operation for Amazon AppStream.
4086//
4087// Adds or updates permissions for the specified private image.
4088//
4089// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4090// with awserr.Error's Code and Message methods to get detailed information about
4091// the error.
4092//
4093// See the AWS API reference guide for Amazon AppStream's
4094// API operation UpdateImagePermissions for usage and error information.
4095//
4096// Returned Error Types:
4097//   * ResourceNotFoundException
4098//   The specified resource was not found.
4099//
4100//   * ResourceNotAvailableException
4101//   The specified resource exists and is not in use, but isn't available.
4102//
4103//   * LimitExceededException
4104//   The requested limit exceeds the permitted limit for an account.
4105//
4106// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateImagePermissions
4107func (c *AppStream) UpdateImagePermissions(input *UpdateImagePermissionsInput) (*UpdateImagePermissionsOutput, error) {
4108	req, out := c.UpdateImagePermissionsRequest(input)
4109	return out, req.Send()
4110}
4111
4112// UpdateImagePermissionsWithContext is the same as UpdateImagePermissions with the addition of
4113// the ability to pass a context and additional request options.
4114//
4115// See UpdateImagePermissions for details on how to use this API operation.
4116//
4117// The context must be non-nil and will be used for request cancellation. If
4118// the context is nil a panic will occur. In the future the SDK may create
4119// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4120// for more information on using Contexts.
4121func (c *AppStream) UpdateImagePermissionsWithContext(ctx aws.Context, input *UpdateImagePermissionsInput, opts ...request.Option) (*UpdateImagePermissionsOutput, error) {
4122	req, out := c.UpdateImagePermissionsRequest(input)
4123	req.SetContext(ctx)
4124	req.ApplyOptions(opts...)
4125	return out, req.Send()
4126}
4127
4128const opUpdateStack = "UpdateStack"
4129
4130// UpdateStackRequest generates a "aws/request.Request" representing the
4131// client's request for the UpdateStack operation. The "output" return
4132// value will be populated with the request's response once the request completes
4133// successfully.
4134//
4135// Use "Send" method on the returned Request to send the API call to the service.
4136// the "output" return value is not valid until after Send returns without error.
4137//
4138// See UpdateStack for more information on using the UpdateStack
4139// API call, and error handling.
4140//
4141// This method is useful when you want to inject custom logic or configuration
4142// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4143//
4144//
4145//    // Example sending a request using the UpdateStackRequest method.
4146//    req, resp := client.UpdateStackRequest(params)
4147//
4148//    err := req.Send()
4149//    if err == nil { // resp is now filled
4150//        fmt.Println(resp)
4151//    }
4152//
4153// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateStack
4154func (c *AppStream) UpdateStackRequest(input *UpdateStackInput) (req *request.Request, output *UpdateStackOutput) {
4155	op := &request.Operation{
4156		Name:       opUpdateStack,
4157		HTTPMethod: "POST",
4158		HTTPPath:   "/",
4159	}
4160
4161	if input == nil {
4162		input = &UpdateStackInput{}
4163	}
4164
4165	output = &UpdateStackOutput{}
4166	req = c.newRequest(op, input, output)
4167	return
4168}
4169
4170// UpdateStack API operation for Amazon AppStream.
4171//
4172// Updates the specified fields for the specified stack.
4173//
4174// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4175// with awserr.Error's Code and Message methods to get detailed information about
4176// the error.
4177//
4178// See the AWS API reference guide for Amazon AppStream's
4179// API operation UpdateStack for usage and error information.
4180//
4181// Returned Error Types:
4182//   * ResourceNotFoundException
4183//   The specified resource was not found.
4184//
4185//   * ResourceInUseException
4186//   The specified resource is in use.
4187//
4188//   * InvalidRoleException
4189//   The specified role is invalid.
4190//
4191//   * InvalidParameterCombinationException
4192//   Indicates an incorrect combination of parameters, or a missing parameter.
4193//
4194//   * LimitExceededException
4195//   The requested limit exceeds the permitted limit for an account.
4196//
4197//   * InvalidAccountStatusException
4198//   The resource cannot be created because your AWS account is suspended. For
4199//   assistance, contact AWS Support.
4200//
4201//   * IncompatibleImageException
4202//   The image does not support storage connectors.
4203//
4204//   * OperationNotPermittedException
4205//   The attempted operation is not permitted.
4206//
4207//   * ConcurrentModificationException
4208//   An API error occurred. Wait a few minutes and try again.
4209//
4210// See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateStack
4211func (c *AppStream) UpdateStack(input *UpdateStackInput) (*UpdateStackOutput, error) {
4212	req, out := c.UpdateStackRequest(input)
4213	return out, req.Send()
4214}
4215
4216// UpdateStackWithContext is the same as UpdateStack with the addition of
4217// the ability to pass a context and additional request options.
4218//
4219// See UpdateStack for details on how to use this API operation.
4220//
4221// The context must be non-nil and will be used for request cancellation. If
4222// the context is nil a panic will occur. In the future the SDK may create
4223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4224// for more information on using Contexts.
4225func (c *AppStream) UpdateStackWithContext(ctx aws.Context, input *UpdateStackInput, opts ...request.Option) (*UpdateStackOutput, error) {
4226	req, out := c.UpdateStackRequest(input)
4227	req.SetContext(ctx)
4228	req.ApplyOptions(opts...)
4229	return out, req.Send()
4230}
4231
4232// Describes an interface VPC endpoint (interface endpoint) that lets you create
4233// a private connection between the virtual private cloud (VPC) that you specify
4234// and AppStream 2.0. When you specify an interface endpoint for a stack, users
4235// of the stack can connect to AppStream 2.0 only through that endpoint. When
4236// you specify an interface endpoint for an image builder, administrators can
4237// connect to the image builder only through that endpoint.
4238type AccessEndpoint struct {
4239	_ struct{} `type:"structure"`
4240
4241	// The type of interface endpoint.
4242	//
4243	// EndpointType is a required field
4244	EndpointType *string `type:"string" required:"true" enum:"AccessEndpointType"`
4245
4246	// The identifier (ID) of the VPC in which the interface endpoint is used.
4247	VpceId *string `min:"1" type:"string"`
4248}
4249
4250// String returns the string representation
4251func (s AccessEndpoint) String() string {
4252	return awsutil.Prettify(s)
4253}
4254
4255// GoString returns the string representation
4256func (s AccessEndpoint) GoString() string {
4257	return s.String()
4258}
4259
4260// Validate inspects the fields of the type to determine if they are valid.
4261func (s *AccessEndpoint) Validate() error {
4262	invalidParams := request.ErrInvalidParams{Context: "AccessEndpoint"}
4263	if s.EndpointType == nil {
4264		invalidParams.Add(request.NewErrParamRequired("EndpointType"))
4265	}
4266	if s.VpceId != nil && len(*s.VpceId) < 1 {
4267		invalidParams.Add(request.NewErrParamMinLen("VpceId", 1))
4268	}
4269
4270	if invalidParams.Len() > 0 {
4271		return invalidParams
4272	}
4273	return nil
4274}
4275
4276// SetEndpointType sets the EndpointType field's value.
4277func (s *AccessEndpoint) SetEndpointType(v string) *AccessEndpoint {
4278	s.EndpointType = &v
4279	return s
4280}
4281
4282// SetVpceId sets the VpceId field's value.
4283func (s *AccessEndpoint) SetVpceId(v string) *AccessEndpoint {
4284	s.VpceId = &v
4285	return s
4286}
4287
4288// Describes an application in the application catalog.
4289type Application struct {
4290	_ struct{} `type:"structure"`
4291
4292	// The application name to display.
4293	DisplayName *string `min:"1" type:"string"`
4294
4295	// If there is a problem, the application can be disabled after image creation.
4296	Enabled *bool `type:"boolean"`
4297
4298	// The URL for the application icon. This URL might be time-limited.
4299	IconURL *string `min:"1" type:"string"`
4300
4301	// The arguments that are passed to the application at launch.
4302	LaunchParameters *string `min:"1" type:"string"`
4303
4304	// The path to the application executable in the instance.
4305	LaunchPath *string `min:"1" type:"string"`
4306
4307	// Additional attributes that describe the application.
4308	Metadata map[string]*string `type:"map"`
4309
4310	// The name of the application.
4311	Name *string `min:"1" type:"string"`
4312}
4313
4314// String returns the string representation
4315func (s Application) String() string {
4316	return awsutil.Prettify(s)
4317}
4318
4319// GoString returns the string representation
4320func (s Application) GoString() string {
4321	return s.String()
4322}
4323
4324// SetDisplayName sets the DisplayName field's value.
4325func (s *Application) SetDisplayName(v string) *Application {
4326	s.DisplayName = &v
4327	return s
4328}
4329
4330// SetEnabled sets the Enabled field's value.
4331func (s *Application) SetEnabled(v bool) *Application {
4332	s.Enabled = &v
4333	return s
4334}
4335
4336// SetIconURL sets the IconURL field's value.
4337func (s *Application) SetIconURL(v string) *Application {
4338	s.IconURL = &v
4339	return s
4340}
4341
4342// SetLaunchParameters sets the LaunchParameters field's value.
4343func (s *Application) SetLaunchParameters(v string) *Application {
4344	s.LaunchParameters = &v
4345	return s
4346}
4347
4348// SetLaunchPath sets the LaunchPath field's value.
4349func (s *Application) SetLaunchPath(v string) *Application {
4350	s.LaunchPath = &v
4351	return s
4352}
4353
4354// SetMetadata sets the Metadata field's value.
4355func (s *Application) SetMetadata(v map[string]*string) *Application {
4356	s.Metadata = v
4357	return s
4358}
4359
4360// SetName sets the Name field's value.
4361func (s *Application) SetName(v string) *Application {
4362	s.Name = &v
4363	return s
4364}
4365
4366// The persistent application settings for users of a stack.
4367type ApplicationSettings struct {
4368	_ struct{} `type:"structure"`
4369
4370	// Enables or disables persistent application settings for users during their
4371	// streaming sessions.
4372	//
4373	// Enabled is a required field
4374	Enabled *bool `type:"boolean" required:"true"`
4375
4376	// The path prefix for the S3 bucket where users’ persistent application settings
4377	// are stored. You can allow the same persistent application settings to be
4378	// used across multiple stacks by specifying the same settings group for each
4379	// stack.
4380	SettingsGroup *string `type:"string"`
4381}
4382
4383// String returns the string representation
4384func (s ApplicationSettings) String() string {
4385	return awsutil.Prettify(s)
4386}
4387
4388// GoString returns the string representation
4389func (s ApplicationSettings) GoString() string {
4390	return s.String()
4391}
4392
4393// Validate inspects the fields of the type to determine if they are valid.
4394func (s *ApplicationSettings) Validate() error {
4395	invalidParams := request.ErrInvalidParams{Context: "ApplicationSettings"}
4396	if s.Enabled == nil {
4397		invalidParams.Add(request.NewErrParamRequired("Enabled"))
4398	}
4399
4400	if invalidParams.Len() > 0 {
4401		return invalidParams
4402	}
4403	return nil
4404}
4405
4406// SetEnabled sets the Enabled field's value.
4407func (s *ApplicationSettings) SetEnabled(v bool) *ApplicationSettings {
4408	s.Enabled = &v
4409	return s
4410}
4411
4412// SetSettingsGroup sets the SettingsGroup field's value.
4413func (s *ApplicationSettings) SetSettingsGroup(v string) *ApplicationSettings {
4414	s.SettingsGroup = &v
4415	return s
4416}
4417
4418// Describes the persistent application settings for users of a stack.
4419type ApplicationSettingsResponse struct {
4420	_ struct{} `type:"structure"`
4421
4422	// Specifies whether persistent application settings are enabled for users during
4423	// their streaming sessions.
4424	Enabled *bool `type:"boolean"`
4425
4426	// The S3 bucket where users’ persistent application settings are stored.
4427	// When persistent application settings are enabled for the first time for an
4428	// account in an AWS Region, an S3 bucket is created. The bucket is unique to
4429	// the AWS account and the Region.
4430	S3BucketName *string `min:"1" type:"string"`
4431
4432	// The path prefix for the S3 bucket where users’ persistent application settings
4433	// are stored.
4434	SettingsGroup *string `type:"string"`
4435}
4436
4437// String returns the string representation
4438func (s ApplicationSettingsResponse) String() string {
4439	return awsutil.Prettify(s)
4440}
4441
4442// GoString returns the string representation
4443func (s ApplicationSettingsResponse) GoString() string {
4444	return s.String()
4445}
4446
4447// SetEnabled sets the Enabled field's value.
4448func (s *ApplicationSettingsResponse) SetEnabled(v bool) *ApplicationSettingsResponse {
4449	s.Enabled = &v
4450	return s
4451}
4452
4453// SetS3BucketName sets the S3BucketName field's value.
4454func (s *ApplicationSettingsResponse) SetS3BucketName(v string) *ApplicationSettingsResponse {
4455	s.S3BucketName = &v
4456	return s
4457}
4458
4459// SetSettingsGroup sets the SettingsGroup field's value.
4460func (s *ApplicationSettingsResponse) SetSettingsGroup(v string) *ApplicationSettingsResponse {
4461	s.SettingsGroup = &v
4462	return s
4463}
4464
4465type AssociateFleetInput struct {
4466	_ struct{} `type:"structure"`
4467
4468	// The name of the fleet.
4469	//
4470	// FleetName is a required field
4471	FleetName *string `min:"1" type:"string" required:"true"`
4472
4473	// The name of the stack.
4474	//
4475	// StackName is a required field
4476	StackName *string `min:"1" type:"string" required:"true"`
4477}
4478
4479// String returns the string representation
4480func (s AssociateFleetInput) String() string {
4481	return awsutil.Prettify(s)
4482}
4483
4484// GoString returns the string representation
4485func (s AssociateFleetInput) GoString() string {
4486	return s.String()
4487}
4488
4489// Validate inspects the fields of the type to determine if they are valid.
4490func (s *AssociateFleetInput) Validate() error {
4491	invalidParams := request.ErrInvalidParams{Context: "AssociateFleetInput"}
4492	if s.FleetName == nil {
4493		invalidParams.Add(request.NewErrParamRequired("FleetName"))
4494	}
4495	if s.FleetName != nil && len(*s.FleetName) < 1 {
4496		invalidParams.Add(request.NewErrParamMinLen("FleetName", 1))
4497	}
4498	if s.StackName == nil {
4499		invalidParams.Add(request.NewErrParamRequired("StackName"))
4500	}
4501	if s.StackName != nil && len(*s.StackName) < 1 {
4502		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
4503	}
4504
4505	if invalidParams.Len() > 0 {
4506		return invalidParams
4507	}
4508	return nil
4509}
4510
4511// SetFleetName sets the FleetName field's value.
4512func (s *AssociateFleetInput) SetFleetName(v string) *AssociateFleetInput {
4513	s.FleetName = &v
4514	return s
4515}
4516
4517// SetStackName sets the StackName field's value.
4518func (s *AssociateFleetInput) SetStackName(v string) *AssociateFleetInput {
4519	s.StackName = &v
4520	return s
4521}
4522
4523type AssociateFleetOutput struct {
4524	_ struct{} `type:"structure"`
4525}
4526
4527// String returns the string representation
4528func (s AssociateFleetOutput) String() string {
4529	return awsutil.Prettify(s)
4530}
4531
4532// GoString returns the string representation
4533func (s AssociateFleetOutput) GoString() string {
4534	return s.String()
4535}
4536
4537type BatchAssociateUserStackInput struct {
4538	_ struct{} `type:"structure"`
4539
4540	// The list of UserStackAssociation objects.
4541	//
4542	// UserStackAssociations is a required field
4543	UserStackAssociations []*UserStackAssociation `min:"1" type:"list" required:"true"`
4544}
4545
4546// String returns the string representation
4547func (s BatchAssociateUserStackInput) String() string {
4548	return awsutil.Prettify(s)
4549}
4550
4551// GoString returns the string representation
4552func (s BatchAssociateUserStackInput) GoString() string {
4553	return s.String()
4554}
4555
4556// Validate inspects the fields of the type to determine if they are valid.
4557func (s *BatchAssociateUserStackInput) Validate() error {
4558	invalidParams := request.ErrInvalidParams{Context: "BatchAssociateUserStackInput"}
4559	if s.UserStackAssociations == nil {
4560		invalidParams.Add(request.NewErrParamRequired("UserStackAssociations"))
4561	}
4562	if s.UserStackAssociations != nil && len(s.UserStackAssociations) < 1 {
4563		invalidParams.Add(request.NewErrParamMinLen("UserStackAssociations", 1))
4564	}
4565	if s.UserStackAssociations != nil {
4566		for i, v := range s.UserStackAssociations {
4567			if v == nil {
4568				continue
4569			}
4570			if err := v.Validate(); err != nil {
4571				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserStackAssociations", i), err.(request.ErrInvalidParams))
4572			}
4573		}
4574	}
4575
4576	if invalidParams.Len() > 0 {
4577		return invalidParams
4578	}
4579	return nil
4580}
4581
4582// SetUserStackAssociations sets the UserStackAssociations field's value.
4583func (s *BatchAssociateUserStackInput) SetUserStackAssociations(v []*UserStackAssociation) *BatchAssociateUserStackInput {
4584	s.UserStackAssociations = v
4585	return s
4586}
4587
4588type BatchAssociateUserStackOutput struct {
4589	_ struct{} `type:"structure"`
4590
4591	// The list of UserStackAssociationError objects.
4592	Errors []*UserStackAssociationError `locationName:"errors" type:"list"`
4593}
4594
4595// String returns the string representation
4596func (s BatchAssociateUserStackOutput) String() string {
4597	return awsutil.Prettify(s)
4598}
4599
4600// GoString returns the string representation
4601func (s BatchAssociateUserStackOutput) GoString() string {
4602	return s.String()
4603}
4604
4605// SetErrors sets the Errors field's value.
4606func (s *BatchAssociateUserStackOutput) SetErrors(v []*UserStackAssociationError) *BatchAssociateUserStackOutput {
4607	s.Errors = v
4608	return s
4609}
4610
4611type BatchDisassociateUserStackInput struct {
4612	_ struct{} `type:"structure"`
4613
4614	// The list of UserStackAssociation objects.
4615	//
4616	// UserStackAssociations is a required field
4617	UserStackAssociations []*UserStackAssociation `min:"1" type:"list" required:"true"`
4618}
4619
4620// String returns the string representation
4621func (s BatchDisassociateUserStackInput) String() string {
4622	return awsutil.Prettify(s)
4623}
4624
4625// GoString returns the string representation
4626func (s BatchDisassociateUserStackInput) GoString() string {
4627	return s.String()
4628}
4629
4630// Validate inspects the fields of the type to determine if they are valid.
4631func (s *BatchDisassociateUserStackInput) Validate() error {
4632	invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateUserStackInput"}
4633	if s.UserStackAssociations == nil {
4634		invalidParams.Add(request.NewErrParamRequired("UserStackAssociations"))
4635	}
4636	if s.UserStackAssociations != nil && len(s.UserStackAssociations) < 1 {
4637		invalidParams.Add(request.NewErrParamMinLen("UserStackAssociations", 1))
4638	}
4639	if s.UserStackAssociations != nil {
4640		for i, v := range s.UserStackAssociations {
4641			if v == nil {
4642				continue
4643			}
4644			if err := v.Validate(); err != nil {
4645				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserStackAssociations", i), err.(request.ErrInvalidParams))
4646			}
4647		}
4648	}
4649
4650	if invalidParams.Len() > 0 {
4651		return invalidParams
4652	}
4653	return nil
4654}
4655
4656// SetUserStackAssociations sets the UserStackAssociations field's value.
4657func (s *BatchDisassociateUserStackInput) SetUserStackAssociations(v []*UserStackAssociation) *BatchDisassociateUserStackInput {
4658	s.UserStackAssociations = v
4659	return s
4660}
4661
4662type BatchDisassociateUserStackOutput struct {
4663	_ struct{} `type:"structure"`
4664
4665	// The list of UserStackAssociationError objects.
4666	Errors []*UserStackAssociationError `locationName:"errors" type:"list"`
4667}
4668
4669// String returns the string representation
4670func (s BatchDisassociateUserStackOutput) String() string {
4671	return awsutil.Prettify(s)
4672}
4673
4674// GoString returns the string representation
4675func (s BatchDisassociateUserStackOutput) GoString() string {
4676	return s.String()
4677}
4678
4679// SetErrors sets the Errors field's value.
4680func (s *BatchDisassociateUserStackOutput) SetErrors(v []*UserStackAssociationError) *BatchDisassociateUserStackOutput {
4681	s.Errors = v
4682	return s
4683}
4684
4685// Describes the capacity for a fleet.
4686type ComputeCapacity struct {
4687	_ struct{} `type:"structure"`
4688
4689	// The desired number of streaming instances.
4690	//
4691	// DesiredInstances is a required field
4692	DesiredInstances *int64 `type:"integer" required:"true"`
4693}
4694
4695// String returns the string representation
4696func (s ComputeCapacity) String() string {
4697	return awsutil.Prettify(s)
4698}
4699
4700// GoString returns the string representation
4701func (s ComputeCapacity) GoString() string {
4702	return s.String()
4703}
4704
4705// Validate inspects the fields of the type to determine if they are valid.
4706func (s *ComputeCapacity) Validate() error {
4707	invalidParams := request.ErrInvalidParams{Context: "ComputeCapacity"}
4708	if s.DesiredInstances == nil {
4709		invalidParams.Add(request.NewErrParamRequired("DesiredInstances"))
4710	}
4711
4712	if invalidParams.Len() > 0 {
4713		return invalidParams
4714	}
4715	return nil
4716}
4717
4718// SetDesiredInstances sets the DesiredInstances field's value.
4719func (s *ComputeCapacity) SetDesiredInstances(v int64) *ComputeCapacity {
4720	s.DesiredInstances = &v
4721	return s
4722}
4723
4724// Describes the capacity status for a fleet.
4725type ComputeCapacityStatus struct {
4726	_ struct{} `type:"structure"`
4727
4728	// The number of currently available instances that can be used to stream sessions.
4729	Available *int64 `type:"integer"`
4730
4731	// The desired number of streaming instances.
4732	//
4733	// Desired is a required field
4734	Desired *int64 `type:"integer" required:"true"`
4735
4736	// The number of instances in use for streaming.
4737	InUse *int64 `type:"integer"`
4738
4739	// The total number of simultaneous streaming instances that are running.
4740	Running *int64 `type:"integer"`
4741}
4742
4743// String returns the string representation
4744func (s ComputeCapacityStatus) String() string {
4745	return awsutil.Prettify(s)
4746}
4747
4748// GoString returns the string representation
4749func (s ComputeCapacityStatus) GoString() string {
4750	return s.String()
4751}
4752
4753// SetAvailable sets the Available field's value.
4754func (s *ComputeCapacityStatus) SetAvailable(v int64) *ComputeCapacityStatus {
4755	s.Available = &v
4756	return s
4757}
4758
4759// SetDesired sets the Desired field's value.
4760func (s *ComputeCapacityStatus) SetDesired(v int64) *ComputeCapacityStatus {
4761	s.Desired = &v
4762	return s
4763}
4764
4765// SetInUse sets the InUse field's value.
4766func (s *ComputeCapacityStatus) SetInUse(v int64) *ComputeCapacityStatus {
4767	s.InUse = &v
4768	return s
4769}
4770
4771// SetRunning sets the Running field's value.
4772func (s *ComputeCapacityStatus) SetRunning(v int64) *ComputeCapacityStatus {
4773	s.Running = &v
4774	return s
4775}
4776
4777// An API error occurred. Wait a few minutes and try again.
4778type ConcurrentModificationException struct {
4779	_            struct{}                  `type:"structure"`
4780	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4781
4782	// The error message in the exception.
4783	Message_ *string `locationName:"Message" type:"string"`
4784}
4785
4786// String returns the string representation
4787func (s ConcurrentModificationException) String() string {
4788	return awsutil.Prettify(s)
4789}
4790
4791// GoString returns the string representation
4792func (s ConcurrentModificationException) GoString() string {
4793	return s.String()
4794}
4795
4796func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
4797	return &ConcurrentModificationException{
4798		RespMetadata: v,
4799	}
4800}
4801
4802// Code returns the exception type name.
4803func (s *ConcurrentModificationException) Code() string {
4804	return "ConcurrentModificationException"
4805}
4806
4807// Message returns the exception's message.
4808func (s *ConcurrentModificationException) Message() string {
4809	if s.Message_ != nil {
4810		return *s.Message_
4811	}
4812	return ""
4813}
4814
4815// OrigErr always returns nil, satisfies awserr.Error interface.
4816func (s *ConcurrentModificationException) OrigErr() error {
4817	return nil
4818}
4819
4820func (s *ConcurrentModificationException) Error() string {
4821	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4822}
4823
4824// Status code returns the HTTP status code for the request's response error.
4825func (s *ConcurrentModificationException) StatusCode() int {
4826	return s.RespMetadata.StatusCode
4827}
4828
4829// RequestID returns the service's response RequestID for request.
4830func (s *ConcurrentModificationException) RequestID() string {
4831	return s.RespMetadata.RequestID
4832}
4833
4834type CopyImageInput struct {
4835	_ struct{} `type:"structure"`
4836
4837	// The description that the image will have when it is copied to the destination.
4838	DestinationImageDescription *string `type:"string"`
4839
4840	// The name that the image will have when it is copied to the destination.
4841	//
4842	// DestinationImageName is a required field
4843	DestinationImageName *string `type:"string" required:"true"`
4844
4845	// The destination region to which the image will be copied. This parameter
4846	// is required, even if you are copying an image within the same region.
4847	//
4848	// DestinationRegion is a required field
4849	DestinationRegion *string `min:"1" type:"string" required:"true"`
4850
4851	// The name of the image to copy.
4852	//
4853	// SourceImageName is a required field
4854	SourceImageName *string `type:"string" required:"true"`
4855}
4856
4857// String returns the string representation
4858func (s CopyImageInput) String() string {
4859	return awsutil.Prettify(s)
4860}
4861
4862// GoString returns the string representation
4863func (s CopyImageInput) GoString() string {
4864	return s.String()
4865}
4866
4867// Validate inspects the fields of the type to determine if they are valid.
4868func (s *CopyImageInput) Validate() error {
4869	invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
4870	if s.DestinationImageName == nil {
4871		invalidParams.Add(request.NewErrParamRequired("DestinationImageName"))
4872	}
4873	if s.DestinationRegion == nil {
4874		invalidParams.Add(request.NewErrParamRequired("DestinationRegion"))
4875	}
4876	if s.DestinationRegion != nil && len(*s.DestinationRegion) < 1 {
4877		invalidParams.Add(request.NewErrParamMinLen("DestinationRegion", 1))
4878	}
4879	if s.SourceImageName == nil {
4880		invalidParams.Add(request.NewErrParamRequired("SourceImageName"))
4881	}
4882
4883	if invalidParams.Len() > 0 {
4884		return invalidParams
4885	}
4886	return nil
4887}
4888
4889// SetDestinationImageDescription sets the DestinationImageDescription field's value.
4890func (s *CopyImageInput) SetDestinationImageDescription(v string) *CopyImageInput {
4891	s.DestinationImageDescription = &v
4892	return s
4893}
4894
4895// SetDestinationImageName sets the DestinationImageName field's value.
4896func (s *CopyImageInput) SetDestinationImageName(v string) *CopyImageInput {
4897	s.DestinationImageName = &v
4898	return s
4899}
4900
4901// SetDestinationRegion sets the DestinationRegion field's value.
4902func (s *CopyImageInput) SetDestinationRegion(v string) *CopyImageInput {
4903	s.DestinationRegion = &v
4904	return s
4905}
4906
4907// SetSourceImageName sets the SourceImageName field's value.
4908func (s *CopyImageInput) SetSourceImageName(v string) *CopyImageInput {
4909	s.SourceImageName = &v
4910	return s
4911}
4912
4913type CopyImageOutput struct {
4914	_ struct{} `type:"structure"`
4915
4916	// The name of the destination image.
4917	DestinationImageName *string `type:"string"`
4918}
4919
4920// String returns the string representation
4921func (s CopyImageOutput) String() string {
4922	return awsutil.Prettify(s)
4923}
4924
4925// GoString returns the string representation
4926func (s CopyImageOutput) GoString() string {
4927	return s.String()
4928}
4929
4930// SetDestinationImageName sets the DestinationImageName field's value.
4931func (s *CopyImageOutput) SetDestinationImageName(v string) *CopyImageOutput {
4932	s.DestinationImageName = &v
4933	return s
4934}
4935
4936type CreateDirectoryConfigInput struct {
4937	_ struct{} `type:"structure"`
4938
4939	// The fully qualified name of the directory (for example, corp.example.com).
4940	//
4941	// DirectoryName is a required field
4942	DirectoryName *string `type:"string" required:"true"`
4943
4944	// The distinguished names of the organizational units for computer accounts.
4945	//
4946	// OrganizationalUnitDistinguishedNames is a required field
4947	OrganizationalUnitDistinguishedNames []*string `type:"list" required:"true"`
4948
4949	// The credentials for the service account used by the fleet or image builder
4950	// to connect to the directory.
4951	//
4952	// ServiceAccountCredentials is a required field
4953	ServiceAccountCredentials *ServiceAccountCredentials `type:"structure" required:"true"`
4954}
4955
4956// String returns the string representation
4957func (s CreateDirectoryConfigInput) String() string {
4958	return awsutil.Prettify(s)
4959}
4960
4961// GoString returns the string representation
4962func (s CreateDirectoryConfigInput) GoString() string {
4963	return s.String()
4964}
4965
4966// Validate inspects the fields of the type to determine if they are valid.
4967func (s *CreateDirectoryConfigInput) Validate() error {
4968	invalidParams := request.ErrInvalidParams{Context: "CreateDirectoryConfigInput"}
4969	if s.DirectoryName == nil {
4970		invalidParams.Add(request.NewErrParamRequired("DirectoryName"))
4971	}
4972	if s.OrganizationalUnitDistinguishedNames == nil {
4973		invalidParams.Add(request.NewErrParamRequired("OrganizationalUnitDistinguishedNames"))
4974	}
4975	if s.ServiceAccountCredentials == nil {
4976		invalidParams.Add(request.NewErrParamRequired("ServiceAccountCredentials"))
4977	}
4978	if s.ServiceAccountCredentials != nil {
4979		if err := s.ServiceAccountCredentials.Validate(); err != nil {
4980			invalidParams.AddNested("ServiceAccountCredentials", err.(request.ErrInvalidParams))
4981		}
4982	}
4983
4984	if invalidParams.Len() > 0 {
4985		return invalidParams
4986	}
4987	return nil
4988}
4989
4990// SetDirectoryName sets the DirectoryName field's value.
4991func (s *CreateDirectoryConfigInput) SetDirectoryName(v string) *CreateDirectoryConfigInput {
4992	s.DirectoryName = &v
4993	return s
4994}
4995
4996// SetOrganizationalUnitDistinguishedNames sets the OrganizationalUnitDistinguishedNames field's value.
4997func (s *CreateDirectoryConfigInput) SetOrganizationalUnitDistinguishedNames(v []*string) *CreateDirectoryConfigInput {
4998	s.OrganizationalUnitDistinguishedNames = v
4999	return s
5000}
5001
5002// SetServiceAccountCredentials sets the ServiceAccountCredentials field's value.
5003func (s *CreateDirectoryConfigInput) SetServiceAccountCredentials(v *ServiceAccountCredentials) *CreateDirectoryConfigInput {
5004	s.ServiceAccountCredentials = v
5005	return s
5006}
5007
5008type CreateDirectoryConfigOutput struct {
5009	_ struct{} `type:"structure"`
5010
5011	// Information about the directory configuration.
5012	DirectoryConfig *DirectoryConfig `type:"structure"`
5013}
5014
5015// String returns the string representation
5016func (s CreateDirectoryConfigOutput) String() string {
5017	return awsutil.Prettify(s)
5018}
5019
5020// GoString returns the string representation
5021func (s CreateDirectoryConfigOutput) GoString() string {
5022	return s.String()
5023}
5024
5025// SetDirectoryConfig sets the DirectoryConfig field's value.
5026func (s *CreateDirectoryConfigOutput) SetDirectoryConfig(v *DirectoryConfig) *CreateDirectoryConfigOutput {
5027	s.DirectoryConfig = v
5028	return s
5029}
5030
5031type CreateFleetInput struct {
5032	_ struct{} `type:"structure"`
5033
5034	// The desired capacity for the fleet.
5035	//
5036	// ComputeCapacity is a required field
5037	ComputeCapacity *ComputeCapacity `type:"structure" required:"true"`
5038
5039	// The description to display.
5040	Description *string `type:"string"`
5041
5042	// The amount of time that a streaming session remains active after users disconnect.
5043	// If users try to reconnect to the streaming session after a disconnection
5044	// or network interruption within this time interval, they are connected to
5045	// their previous session. Otherwise, they are connected to a new session with
5046	// a new streaming instance.
5047	//
5048	// Specify a value between 60 and 360000.
5049	DisconnectTimeoutInSeconds *int64 `type:"integer"`
5050
5051	// The fleet name to display.
5052	DisplayName *string `type:"string"`
5053
5054	// The name of the directory and organizational unit (OU) to use to join the
5055	// fleet to a Microsoft Active Directory domain.
5056	DomainJoinInfo *DomainJoinInfo `type:"structure"`
5057
5058	// Enables or disables default internet access for the fleet.
5059	EnableDefaultInternetAccess *bool `type:"boolean"`
5060
5061	// The fleet type.
5062	//
5063	// ALWAYS_ON
5064	//
5065	// Provides users with instant-on access to their apps. You are charged for
5066	// all running instances in your fleet, even if no users are streaming apps.
5067	//
5068	// ON_DEMAND
5069	//
5070	// Provide users with access to applications after they connect, which takes
5071	// one to two minutes. You are charged for instance streaming when users are
5072	// connected and a small hourly fee for instances that are not streaming apps.
5073	FleetType *string `type:"string" enum:"FleetType"`
5074
5075	// The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To
5076	// assume a role, a fleet instance calls the AWS Security Token Service (STS)
5077	// AssumeRole API operation and passes the ARN of the role to use. The operation
5078	// creates a new session with temporary credentials. AppStream 2.0 retrieves
5079	// the temporary credentials and creates the AppStream_Machine_Role credential
5080	// profile on the instance.
5081	//
5082	// For more information, see Using an IAM Role to Grant Permissions to Applications
5083	// 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)
5084	// in the Amazon AppStream 2.0 Administration Guide.
5085	IamRoleArn *string `type:"string"`
5086
5087	// The amount of time that users can be idle (inactive) before they are disconnected
5088	// from their streaming session and the DisconnectTimeoutInSeconds time interval
5089	// begins. Users are notified before they are disconnected due to inactivity.
5090	// If they try to reconnect to the streaming session before the time interval
5091	// specified in DisconnectTimeoutInSeconds elapses, they are connected to their
5092	// previous session. Users are considered idle when they stop providing keyboard
5093	// or mouse input during their streaming session. File uploads and downloads,
5094	// audio in, audio out, and pixels changing do not qualify as user activity.
5095	// If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds
5096	// elapses, they are disconnected.
5097	//
5098	// To prevent users from being disconnected due to inactivity, specify a value
5099	// of 0. Otherwise, specify a value between 60 and 3600. The default value is
5100	// 0.
5101	//
5102	// If you enable this feature, we recommend that you specify a value that corresponds
5103	// exactly to a whole number of minutes (for example, 60, 120, and 180). If
5104	// you don't do this, the value is rounded to the nearest minute. For example,
5105	// if you specify a value of 70, users are disconnected after 1 minute of inactivity.
5106	// If you specify a value that is at the midpoint between two different minutes,
5107	// the value is rounded up. For example, if you specify a value of 90, users
5108	// are disconnected after 2 minutes of inactivity.
5109	IdleDisconnectTimeoutInSeconds *int64 `type:"integer"`
5110
5111	// The ARN of the public, private, or shared image to use.
5112	ImageArn *string `type:"string"`
5113
5114	// The name of the image used to create the fleet.
5115	ImageName *string `min:"1" type:"string"`
5116
5117	// The instance type to use when launching fleet instances. The following instance
5118	// types are available:
5119	//
5120	//    * stream.standard.medium
5121	//
5122	//    * stream.standard.large
5123	//
5124	//    * stream.compute.large
5125	//
5126	//    * stream.compute.xlarge
5127	//
5128	//    * stream.compute.2xlarge
5129	//
5130	//    * stream.compute.4xlarge
5131	//
5132	//    * stream.compute.8xlarge
5133	//
5134	//    * stream.memory.large
5135	//
5136	//    * stream.memory.xlarge
5137	//
5138	//    * stream.memory.2xlarge
5139	//
5140	//    * stream.memory.4xlarge
5141	//
5142	//    * stream.memory.8xlarge
5143	//
5144	//    * stream.graphics-design.large
5145	//
5146	//    * stream.graphics-design.xlarge
5147	//
5148	//    * stream.graphics-design.2xlarge
5149	//
5150	//    * stream.graphics-design.4xlarge
5151	//
5152	//    * stream.graphics-desktop.2xlarge
5153	//
5154	//    * stream.graphics-pro.4xlarge
5155	//
5156	//    * stream.graphics-pro.8xlarge
5157	//
5158	//    * stream.graphics-pro.16xlarge
5159	//
5160	// InstanceType is a required field
5161	InstanceType *string `min:"1" type:"string" required:"true"`
5162
5163	// The maximum amount of time that a streaming session can remain active, in
5164	// seconds. If users are still connected to a streaming instance five minutes
5165	// before this limit is reached, they are prompted to save any open documents
5166	// before being disconnected. After this time elapses, the instance is terminated
5167	// and replaced by a new instance.
5168	//
5169	// Specify a value between 600 and 360000.
5170	MaxUserDurationInSeconds *int64 `type:"integer"`
5171
5172	// A unique name for the fleet.
5173	//
5174	// Name is a required field
5175	Name *string `type:"string" required:"true"`
5176
5177	// The tags to associate with the fleet. A tag is a key-value pair, and the
5178	// value is optional. For example, Environment=Test. If you do not specify a
5179	// value, Environment=.
5180	//
5181	// If you do not specify a value, the value is set to an empty string.
5182	//
5183	// Generally allowed characters are: letters, numbers, and spaces representable
5184	// in UTF-8, and the following special characters:
5185	//
5186	// _ . : / = + \ - @
5187	//
5188	// For more information, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
5189	// in the Amazon AppStream 2.0 Administration Guide.
5190	Tags map[string]*string `min:"1" type:"map"`
5191
5192	// The VPC configuration for the fleet.
5193	VpcConfig *VpcConfig `type:"structure"`
5194}
5195
5196// String returns the string representation
5197func (s CreateFleetInput) String() string {
5198	return awsutil.Prettify(s)
5199}
5200
5201// GoString returns the string representation
5202func (s CreateFleetInput) GoString() string {
5203	return s.String()
5204}
5205
5206// Validate inspects the fields of the type to determine if they are valid.
5207func (s *CreateFleetInput) Validate() error {
5208	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
5209	if s.ComputeCapacity == nil {
5210		invalidParams.Add(request.NewErrParamRequired("ComputeCapacity"))
5211	}
5212	if s.ImageName != nil && len(*s.ImageName) < 1 {
5213		invalidParams.Add(request.NewErrParamMinLen("ImageName", 1))
5214	}
5215	if s.InstanceType == nil {
5216		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
5217	}
5218	if s.InstanceType != nil && len(*s.InstanceType) < 1 {
5219		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1))
5220	}
5221	if s.Name == nil {
5222		invalidParams.Add(request.NewErrParamRequired("Name"))
5223	}
5224	if s.Tags != nil && len(s.Tags) < 1 {
5225		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
5226	}
5227	if s.ComputeCapacity != nil {
5228		if err := s.ComputeCapacity.Validate(); err != nil {
5229			invalidParams.AddNested("ComputeCapacity", err.(request.ErrInvalidParams))
5230		}
5231	}
5232
5233	if invalidParams.Len() > 0 {
5234		return invalidParams
5235	}
5236	return nil
5237}
5238
5239// SetComputeCapacity sets the ComputeCapacity field's value.
5240func (s *CreateFleetInput) SetComputeCapacity(v *ComputeCapacity) *CreateFleetInput {
5241	s.ComputeCapacity = v
5242	return s
5243}
5244
5245// SetDescription sets the Description field's value.
5246func (s *CreateFleetInput) SetDescription(v string) *CreateFleetInput {
5247	s.Description = &v
5248	return s
5249}
5250
5251// SetDisconnectTimeoutInSeconds sets the DisconnectTimeoutInSeconds field's value.
5252func (s *CreateFleetInput) SetDisconnectTimeoutInSeconds(v int64) *CreateFleetInput {
5253	s.DisconnectTimeoutInSeconds = &v
5254	return s
5255}
5256
5257// SetDisplayName sets the DisplayName field's value.
5258func (s *CreateFleetInput) SetDisplayName(v string) *CreateFleetInput {
5259	s.DisplayName = &v
5260	return s
5261}
5262
5263// SetDomainJoinInfo sets the DomainJoinInfo field's value.
5264func (s *CreateFleetInput) SetDomainJoinInfo(v *DomainJoinInfo) *CreateFleetInput {
5265	s.DomainJoinInfo = v
5266	return s
5267}
5268
5269// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
5270func (s *CreateFleetInput) SetEnableDefaultInternetAccess(v bool) *CreateFleetInput {
5271	s.EnableDefaultInternetAccess = &v
5272	return s
5273}
5274
5275// SetFleetType sets the FleetType field's value.
5276func (s *CreateFleetInput) SetFleetType(v string) *CreateFleetInput {
5277	s.FleetType = &v
5278	return s
5279}
5280
5281// SetIamRoleArn sets the IamRoleArn field's value.
5282func (s *CreateFleetInput) SetIamRoleArn(v string) *CreateFleetInput {
5283	s.IamRoleArn = &v
5284	return s
5285}
5286
5287// SetIdleDisconnectTimeoutInSeconds sets the IdleDisconnectTimeoutInSeconds field's value.
5288func (s *CreateFleetInput) SetIdleDisconnectTimeoutInSeconds(v int64) *CreateFleetInput {
5289	s.IdleDisconnectTimeoutInSeconds = &v
5290	return s
5291}
5292
5293// SetImageArn sets the ImageArn field's value.
5294func (s *CreateFleetInput) SetImageArn(v string) *CreateFleetInput {
5295	s.ImageArn = &v
5296	return s
5297}
5298
5299// SetImageName sets the ImageName field's value.
5300func (s *CreateFleetInput) SetImageName(v string) *CreateFleetInput {
5301	s.ImageName = &v
5302	return s
5303}
5304
5305// SetInstanceType sets the InstanceType field's value.
5306func (s *CreateFleetInput) SetInstanceType(v string) *CreateFleetInput {
5307	s.InstanceType = &v
5308	return s
5309}
5310
5311// SetMaxUserDurationInSeconds sets the MaxUserDurationInSeconds field's value.
5312func (s *CreateFleetInput) SetMaxUserDurationInSeconds(v int64) *CreateFleetInput {
5313	s.MaxUserDurationInSeconds = &v
5314	return s
5315}
5316
5317// SetName sets the Name field's value.
5318func (s *CreateFleetInput) SetName(v string) *CreateFleetInput {
5319	s.Name = &v
5320	return s
5321}
5322
5323// SetTags sets the Tags field's value.
5324func (s *CreateFleetInput) SetTags(v map[string]*string) *CreateFleetInput {
5325	s.Tags = v
5326	return s
5327}
5328
5329// SetVpcConfig sets the VpcConfig field's value.
5330func (s *CreateFleetInput) SetVpcConfig(v *VpcConfig) *CreateFleetInput {
5331	s.VpcConfig = v
5332	return s
5333}
5334
5335type CreateFleetOutput struct {
5336	_ struct{} `type:"structure"`
5337
5338	// Information about the fleet.
5339	Fleet *Fleet `type:"structure"`
5340}
5341
5342// String returns the string representation
5343func (s CreateFleetOutput) String() string {
5344	return awsutil.Prettify(s)
5345}
5346
5347// GoString returns the string representation
5348func (s CreateFleetOutput) GoString() string {
5349	return s.String()
5350}
5351
5352// SetFleet sets the Fleet field's value.
5353func (s *CreateFleetOutput) SetFleet(v *Fleet) *CreateFleetOutput {
5354	s.Fleet = v
5355	return s
5356}
5357
5358type CreateImageBuilderInput struct {
5359	_ struct{} `type:"structure"`
5360
5361	// The list of interface VPC endpoint (interface endpoint) objects. Administrators
5362	// can connect to the image builder only through the specified endpoints.
5363	AccessEndpoints []*AccessEndpoint `min:"1" type:"list"`
5364
5365	// The version of the AppStream 2.0 agent to use for this image builder. To
5366	// use the latest version of the AppStream 2.0 agent, specify [LATEST].
5367	AppstreamAgentVersion *string `min:"1" type:"string"`
5368
5369	// The description to display.
5370	Description *string `type:"string"`
5371
5372	// The image builder name to display.
5373	DisplayName *string `type:"string"`
5374
5375	// The name of the directory and organizational unit (OU) to use to join the
5376	// image builder to a Microsoft Active Directory domain.
5377	DomainJoinInfo *DomainJoinInfo `type:"structure"`
5378
5379	// Enables or disables default internet access for the image builder.
5380	EnableDefaultInternetAccess *bool `type:"boolean"`
5381
5382	// The Amazon Resource Name (ARN) of the IAM role to apply to the image builder.
5383	// To assume a role, the image builder calls the AWS Security Token Service
5384	// (STS) AssumeRole API operation and passes the ARN of the role to use. The
5385	// operation creates a new session with temporary credentials. AppStream 2.0
5386	// retrieves the temporary credentials and creates the AppStream_Machine_Role
5387	// credential profile on the instance.
5388	//
5389	// For more information, see Using an IAM Role to Grant Permissions to Applications
5390	// 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)
5391	// in the Amazon AppStream 2.0 Administration Guide.
5392	IamRoleArn *string `type:"string"`
5393
5394	// The ARN of the public, private, or shared image to use.
5395	ImageArn *string `type:"string"`
5396
5397	// The name of the image used to create the image builder.
5398	ImageName *string `min:"1" type:"string"`
5399
5400	// The instance type to use when launching the image builder. The following
5401	// instance types are available:
5402	//
5403	//    * stream.standard.medium
5404	//
5405	//    * stream.standard.large
5406	//
5407	//    * stream.compute.large
5408	//
5409	//    * stream.compute.xlarge
5410	//
5411	//    * stream.compute.2xlarge
5412	//
5413	//    * stream.compute.4xlarge
5414	//
5415	//    * stream.compute.8xlarge
5416	//
5417	//    * stream.memory.large
5418	//
5419	//    * stream.memory.xlarge
5420	//
5421	//    * stream.memory.2xlarge
5422	//
5423	//    * stream.memory.4xlarge
5424	//
5425	//    * stream.memory.8xlarge
5426	//
5427	//    * stream.graphics-design.large
5428	//
5429	//    * stream.graphics-design.xlarge
5430	//
5431	//    * stream.graphics-design.2xlarge
5432	//
5433	//    * stream.graphics-design.4xlarge
5434	//
5435	//    * stream.graphics-desktop.2xlarge
5436	//
5437	//    * stream.graphics-pro.4xlarge
5438	//
5439	//    * stream.graphics-pro.8xlarge
5440	//
5441	//    * stream.graphics-pro.16xlarge
5442	//
5443	// InstanceType is a required field
5444	InstanceType *string `min:"1" type:"string" required:"true"`
5445
5446	// A unique name for the image builder.
5447	//
5448	// Name is a required field
5449	Name *string `type:"string" required:"true"`
5450
5451	// The tags to associate with the image builder. A tag is a key-value pair,
5452	// and the value is optional. For example, Environment=Test. If you do not specify
5453	// a value, Environment=.
5454	//
5455	// Generally allowed characters are: letters, numbers, and spaces representable
5456	// in UTF-8, and the following special characters:
5457	//
5458	// _ . : / = + \ - @
5459	//
5460	// If you do not specify a value, the value is set to an empty string.
5461	//
5462	// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
5463	// in the Amazon AppStream 2.0 Administration Guide.
5464	Tags map[string]*string `min:"1" type:"map"`
5465
5466	// The VPC configuration for the image builder. You can specify only one subnet.
5467	VpcConfig *VpcConfig `type:"structure"`
5468}
5469
5470// String returns the string representation
5471func (s CreateImageBuilderInput) String() string {
5472	return awsutil.Prettify(s)
5473}
5474
5475// GoString returns the string representation
5476func (s CreateImageBuilderInput) GoString() string {
5477	return s.String()
5478}
5479
5480// Validate inspects the fields of the type to determine if they are valid.
5481func (s *CreateImageBuilderInput) Validate() error {
5482	invalidParams := request.ErrInvalidParams{Context: "CreateImageBuilderInput"}
5483	if s.AccessEndpoints != nil && len(s.AccessEndpoints) < 1 {
5484		invalidParams.Add(request.NewErrParamMinLen("AccessEndpoints", 1))
5485	}
5486	if s.AppstreamAgentVersion != nil && len(*s.AppstreamAgentVersion) < 1 {
5487		invalidParams.Add(request.NewErrParamMinLen("AppstreamAgentVersion", 1))
5488	}
5489	if s.ImageName != nil && len(*s.ImageName) < 1 {
5490		invalidParams.Add(request.NewErrParamMinLen("ImageName", 1))
5491	}
5492	if s.InstanceType == nil {
5493		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
5494	}
5495	if s.InstanceType != nil && len(*s.InstanceType) < 1 {
5496		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1))
5497	}
5498	if s.Name == nil {
5499		invalidParams.Add(request.NewErrParamRequired("Name"))
5500	}
5501	if s.Tags != nil && len(s.Tags) < 1 {
5502		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
5503	}
5504	if s.AccessEndpoints != nil {
5505		for i, v := range s.AccessEndpoints {
5506			if v == nil {
5507				continue
5508			}
5509			if err := v.Validate(); err != nil {
5510				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessEndpoints", i), err.(request.ErrInvalidParams))
5511			}
5512		}
5513	}
5514
5515	if invalidParams.Len() > 0 {
5516		return invalidParams
5517	}
5518	return nil
5519}
5520
5521// SetAccessEndpoints sets the AccessEndpoints field's value.
5522func (s *CreateImageBuilderInput) SetAccessEndpoints(v []*AccessEndpoint) *CreateImageBuilderInput {
5523	s.AccessEndpoints = v
5524	return s
5525}
5526
5527// SetAppstreamAgentVersion sets the AppstreamAgentVersion field's value.
5528func (s *CreateImageBuilderInput) SetAppstreamAgentVersion(v string) *CreateImageBuilderInput {
5529	s.AppstreamAgentVersion = &v
5530	return s
5531}
5532
5533// SetDescription sets the Description field's value.
5534func (s *CreateImageBuilderInput) SetDescription(v string) *CreateImageBuilderInput {
5535	s.Description = &v
5536	return s
5537}
5538
5539// SetDisplayName sets the DisplayName field's value.
5540func (s *CreateImageBuilderInput) SetDisplayName(v string) *CreateImageBuilderInput {
5541	s.DisplayName = &v
5542	return s
5543}
5544
5545// SetDomainJoinInfo sets the DomainJoinInfo field's value.
5546func (s *CreateImageBuilderInput) SetDomainJoinInfo(v *DomainJoinInfo) *CreateImageBuilderInput {
5547	s.DomainJoinInfo = v
5548	return s
5549}
5550
5551// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
5552func (s *CreateImageBuilderInput) SetEnableDefaultInternetAccess(v bool) *CreateImageBuilderInput {
5553	s.EnableDefaultInternetAccess = &v
5554	return s
5555}
5556
5557// SetIamRoleArn sets the IamRoleArn field's value.
5558func (s *CreateImageBuilderInput) SetIamRoleArn(v string) *CreateImageBuilderInput {
5559	s.IamRoleArn = &v
5560	return s
5561}
5562
5563// SetImageArn sets the ImageArn field's value.
5564func (s *CreateImageBuilderInput) SetImageArn(v string) *CreateImageBuilderInput {
5565	s.ImageArn = &v
5566	return s
5567}
5568
5569// SetImageName sets the ImageName field's value.
5570func (s *CreateImageBuilderInput) SetImageName(v string) *CreateImageBuilderInput {
5571	s.ImageName = &v
5572	return s
5573}
5574
5575// SetInstanceType sets the InstanceType field's value.
5576func (s *CreateImageBuilderInput) SetInstanceType(v string) *CreateImageBuilderInput {
5577	s.InstanceType = &v
5578	return s
5579}
5580
5581// SetName sets the Name field's value.
5582func (s *CreateImageBuilderInput) SetName(v string) *CreateImageBuilderInput {
5583	s.Name = &v
5584	return s
5585}
5586
5587// SetTags sets the Tags field's value.
5588func (s *CreateImageBuilderInput) SetTags(v map[string]*string) *CreateImageBuilderInput {
5589	s.Tags = v
5590	return s
5591}
5592
5593// SetVpcConfig sets the VpcConfig field's value.
5594func (s *CreateImageBuilderInput) SetVpcConfig(v *VpcConfig) *CreateImageBuilderInput {
5595	s.VpcConfig = v
5596	return s
5597}
5598
5599type CreateImageBuilderOutput struct {
5600	_ struct{} `type:"structure"`
5601
5602	// Information about the image builder.
5603	ImageBuilder *ImageBuilder `type:"structure"`
5604}
5605
5606// String returns the string representation
5607func (s CreateImageBuilderOutput) String() string {
5608	return awsutil.Prettify(s)
5609}
5610
5611// GoString returns the string representation
5612func (s CreateImageBuilderOutput) GoString() string {
5613	return s.String()
5614}
5615
5616// SetImageBuilder sets the ImageBuilder field's value.
5617func (s *CreateImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *CreateImageBuilderOutput {
5618	s.ImageBuilder = v
5619	return s
5620}
5621
5622type CreateImageBuilderStreamingURLInput struct {
5623	_ struct{} `type:"structure"`
5624
5625	// The name of the image builder.
5626	//
5627	// Name is a required field
5628	Name *string `min:"1" type:"string" required:"true"`
5629
5630	// The time that the streaming URL will be valid, in seconds. Specify a value
5631	// between 1 and 604800 seconds. The default is 3600 seconds.
5632	Validity *int64 `type:"long"`
5633}
5634
5635// String returns the string representation
5636func (s CreateImageBuilderStreamingURLInput) String() string {
5637	return awsutil.Prettify(s)
5638}
5639
5640// GoString returns the string representation
5641func (s CreateImageBuilderStreamingURLInput) GoString() string {
5642	return s.String()
5643}
5644
5645// Validate inspects the fields of the type to determine if they are valid.
5646func (s *CreateImageBuilderStreamingURLInput) Validate() error {
5647	invalidParams := request.ErrInvalidParams{Context: "CreateImageBuilderStreamingURLInput"}
5648	if s.Name == nil {
5649		invalidParams.Add(request.NewErrParamRequired("Name"))
5650	}
5651	if s.Name != nil && len(*s.Name) < 1 {
5652		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5653	}
5654
5655	if invalidParams.Len() > 0 {
5656		return invalidParams
5657	}
5658	return nil
5659}
5660
5661// SetName sets the Name field's value.
5662func (s *CreateImageBuilderStreamingURLInput) SetName(v string) *CreateImageBuilderStreamingURLInput {
5663	s.Name = &v
5664	return s
5665}
5666
5667// SetValidity sets the Validity field's value.
5668func (s *CreateImageBuilderStreamingURLInput) SetValidity(v int64) *CreateImageBuilderStreamingURLInput {
5669	s.Validity = &v
5670	return s
5671}
5672
5673type CreateImageBuilderStreamingURLOutput struct {
5674	_ struct{} `type:"structure"`
5675
5676	// The elapsed time, in seconds after the Unix epoch, when this URL expires.
5677	Expires *time.Time `type:"timestamp"`
5678
5679	// The URL to start the AppStream 2.0 streaming session.
5680	StreamingURL *string `min:"1" type:"string"`
5681}
5682
5683// String returns the string representation
5684func (s CreateImageBuilderStreamingURLOutput) String() string {
5685	return awsutil.Prettify(s)
5686}
5687
5688// GoString returns the string representation
5689func (s CreateImageBuilderStreamingURLOutput) GoString() string {
5690	return s.String()
5691}
5692
5693// SetExpires sets the Expires field's value.
5694func (s *CreateImageBuilderStreamingURLOutput) SetExpires(v time.Time) *CreateImageBuilderStreamingURLOutput {
5695	s.Expires = &v
5696	return s
5697}
5698
5699// SetStreamingURL sets the StreamingURL field's value.
5700func (s *CreateImageBuilderStreamingURLOutput) SetStreamingURL(v string) *CreateImageBuilderStreamingURLOutput {
5701	s.StreamingURL = &v
5702	return s
5703}
5704
5705type CreateStackInput struct {
5706	_ struct{} `type:"structure"`
5707
5708	// The list of interface VPC endpoint (interface endpoint) objects. Users of
5709	// the stack can connect to AppStream 2.0 only through the specified endpoints.
5710	AccessEndpoints []*AccessEndpoint `min:"1" type:"list"`
5711
5712	// The persistent application settings for users of a stack. When these settings
5713	// are enabled, changes that users make to applications and Windows settings
5714	// are automatically saved after each session and applied to the next session.
5715	ApplicationSettings *ApplicationSettings `type:"structure"`
5716
5717	// The description to display.
5718	Description *string `type:"string"`
5719
5720	// The stack name to display.
5721	DisplayName *string `type:"string"`
5722
5723	// The domains where AppStream 2.0 streaming sessions can be embedded in an
5724	// iframe. You must approve the domains that you want to host embedded AppStream
5725	// 2.0 streaming sessions.
5726	EmbedHostDomains []*string `min:"1" type:"list"`
5727
5728	// The URL that users are redirected to after they click the Send Feedback link.
5729	// If no URL is specified, no Send Feedback link is displayed.
5730	FeedbackURL *string `type:"string"`
5731
5732	// The name of the stack.
5733	//
5734	// Name is a required field
5735	Name *string `type:"string" required:"true"`
5736
5737	// The URL that users are redirected to after their streaming session ends.
5738	RedirectURL *string `type:"string"`
5739
5740	// The storage connectors to enable.
5741	StorageConnectors []*StorageConnector `type:"list"`
5742
5743	// The tags to associate with the stack. A tag is a key-value pair, and the
5744	// value is optional. For example, Environment=Test. If you do not specify a
5745	// value, Environment=.
5746	//
5747	// If you do not specify a value, the value is set to an empty string.
5748	//
5749	// Generally allowed characters are: letters, numbers, and spaces representable
5750	// in UTF-8, and the following special characters:
5751	//
5752	// _ . : / = + \ - @
5753	//
5754	// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html)
5755	// in the Amazon AppStream 2.0 Administration Guide.
5756	Tags map[string]*string `min:"1" type:"map"`
5757
5758	// The actions that are enabled or disabled for users during their streaming
5759	// sessions. By default, these actions are enabled.
5760	UserSettings []*UserSetting `min:"1" type:"list"`
5761}
5762
5763// String returns the string representation
5764func (s CreateStackInput) String() string {
5765	return awsutil.Prettify(s)
5766}
5767
5768// GoString returns the string representation
5769func (s CreateStackInput) GoString() string {
5770	return s.String()
5771}
5772
5773// Validate inspects the fields of the type to determine if they are valid.
5774func (s *CreateStackInput) Validate() error {
5775	invalidParams := request.ErrInvalidParams{Context: "CreateStackInput"}
5776	if s.AccessEndpoints != nil && len(s.AccessEndpoints) < 1 {
5777		invalidParams.Add(request.NewErrParamMinLen("AccessEndpoints", 1))
5778	}
5779	if s.EmbedHostDomains != nil && len(s.EmbedHostDomains) < 1 {
5780		invalidParams.Add(request.NewErrParamMinLen("EmbedHostDomains", 1))
5781	}
5782	if s.Name == nil {
5783		invalidParams.Add(request.NewErrParamRequired("Name"))
5784	}
5785	if s.Tags != nil && len(s.Tags) < 1 {
5786		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
5787	}
5788	if s.UserSettings != nil && len(s.UserSettings) < 1 {
5789		invalidParams.Add(request.NewErrParamMinLen("UserSettings", 1))
5790	}
5791	if s.AccessEndpoints != nil {
5792		for i, v := range s.AccessEndpoints {
5793			if v == nil {
5794				continue
5795			}
5796			if err := v.Validate(); err != nil {
5797				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessEndpoints", i), err.(request.ErrInvalidParams))
5798			}
5799		}
5800	}
5801	if s.ApplicationSettings != nil {
5802		if err := s.ApplicationSettings.Validate(); err != nil {
5803			invalidParams.AddNested("ApplicationSettings", err.(request.ErrInvalidParams))
5804		}
5805	}
5806	if s.StorageConnectors != nil {
5807		for i, v := range s.StorageConnectors {
5808			if v == nil {
5809				continue
5810			}
5811			if err := v.Validate(); err != nil {
5812				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StorageConnectors", i), err.(request.ErrInvalidParams))
5813			}
5814		}
5815	}
5816	if s.UserSettings != nil {
5817		for i, v := range s.UserSettings {
5818			if v == nil {
5819				continue
5820			}
5821			if err := v.Validate(); err != nil {
5822				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserSettings", i), err.(request.ErrInvalidParams))
5823			}
5824		}
5825	}
5826
5827	if invalidParams.Len() > 0 {
5828		return invalidParams
5829	}
5830	return nil
5831}
5832
5833// SetAccessEndpoints sets the AccessEndpoints field's value.
5834func (s *CreateStackInput) SetAccessEndpoints(v []*AccessEndpoint) *CreateStackInput {
5835	s.AccessEndpoints = v
5836	return s
5837}
5838
5839// SetApplicationSettings sets the ApplicationSettings field's value.
5840func (s *CreateStackInput) SetApplicationSettings(v *ApplicationSettings) *CreateStackInput {
5841	s.ApplicationSettings = v
5842	return s
5843}
5844
5845// SetDescription sets the Description field's value.
5846func (s *CreateStackInput) SetDescription(v string) *CreateStackInput {
5847	s.Description = &v
5848	return s
5849}
5850
5851// SetDisplayName sets the DisplayName field's value.
5852func (s *CreateStackInput) SetDisplayName(v string) *CreateStackInput {
5853	s.DisplayName = &v
5854	return s
5855}
5856
5857// SetEmbedHostDomains sets the EmbedHostDomains field's value.
5858func (s *CreateStackInput) SetEmbedHostDomains(v []*string) *CreateStackInput {
5859	s.EmbedHostDomains = v
5860	return s
5861}
5862
5863// SetFeedbackURL sets the FeedbackURL field's value.
5864func (s *CreateStackInput) SetFeedbackURL(v string) *CreateStackInput {
5865	s.FeedbackURL = &v
5866	return s
5867}
5868
5869// SetName sets the Name field's value.
5870func (s *CreateStackInput) SetName(v string) *CreateStackInput {
5871	s.Name = &v
5872	return s
5873}
5874
5875// SetRedirectURL sets the RedirectURL field's value.
5876func (s *CreateStackInput) SetRedirectURL(v string) *CreateStackInput {
5877	s.RedirectURL = &v
5878	return s
5879}
5880
5881// SetStorageConnectors sets the StorageConnectors field's value.
5882func (s *CreateStackInput) SetStorageConnectors(v []*StorageConnector) *CreateStackInput {
5883	s.StorageConnectors = v
5884	return s
5885}
5886
5887// SetTags sets the Tags field's value.
5888func (s *CreateStackInput) SetTags(v map[string]*string) *CreateStackInput {
5889	s.Tags = v
5890	return s
5891}
5892
5893// SetUserSettings sets the UserSettings field's value.
5894func (s *CreateStackInput) SetUserSettings(v []*UserSetting) *CreateStackInput {
5895	s.UserSettings = v
5896	return s
5897}
5898
5899type CreateStackOutput struct {
5900	_ struct{} `type:"structure"`
5901
5902	// Information about the stack.
5903	Stack *Stack `type:"structure"`
5904}
5905
5906// String returns the string representation
5907func (s CreateStackOutput) String() string {
5908	return awsutil.Prettify(s)
5909}
5910
5911// GoString returns the string representation
5912func (s CreateStackOutput) GoString() string {
5913	return s.String()
5914}
5915
5916// SetStack sets the Stack field's value.
5917func (s *CreateStackOutput) SetStack(v *Stack) *CreateStackOutput {
5918	s.Stack = v
5919	return s
5920}
5921
5922type CreateStreamingURLInput struct {
5923	_ struct{} `type:"structure"`
5924
5925	// The name of the application to launch after the session starts. This is the
5926	// name that you specified as Name in the Image Assistant.
5927	ApplicationId *string `min:"1" type:"string"`
5928
5929	// The name of the fleet.
5930	//
5931	// FleetName is a required field
5932	FleetName *string `min:"1" type:"string" required:"true"`
5933
5934	// 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)
5935	// in the Amazon AppStream 2.0 Administration Guide.
5936	SessionContext *string `min:"1" type:"string"`
5937
5938	// The name of the stack.
5939	//
5940	// StackName is a required field
5941	StackName *string `min:"1" type:"string" required:"true"`
5942
5943	// The identifier of the user.
5944	//
5945	// UserId is a required field
5946	UserId *string `min:"2" type:"string" required:"true"`
5947
5948	// The time that the streaming URL will be valid, in seconds. Specify a value
5949	// between 1 and 604800 seconds. The default is 60 seconds.
5950	Validity *int64 `type:"long"`
5951}
5952
5953// String returns the string representation
5954func (s CreateStreamingURLInput) String() string {
5955	return awsutil.Prettify(s)
5956}
5957
5958// GoString returns the string representation
5959func (s CreateStreamingURLInput) GoString() string {
5960	return s.String()
5961}
5962
5963// Validate inspects the fields of the type to determine if they are valid.
5964func (s *CreateStreamingURLInput) Validate() error {
5965	invalidParams := request.ErrInvalidParams{Context: "CreateStreamingURLInput"}
5966	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
5967		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
5968	}
5969	if s.FleetName == nil {
5970		invalidParams.Add(request.NewErrParamRequired("FleetName"))
5971	}
5972	if s.FleetName != nil && len(*s.FleetName) < 1 {
5973		invalidParams.Add(request.NewErrParamMinLen("FleetName", 1))
5974	}
5975	if s.SessionContext != nil && len(*s.SessionContext) < 1 {
5976		invalidParams.Add(request.NewErrParamMinLen("SessionContext", 1))
5977	}
5978	if s.StackName == nil {
5979		invalidParams.Add(request.NewErrParamRequired("StackName"))
5980	}
5981	if s.StackName != nil && len(*s.StackName) < 1 {
5982		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
5983	}
5984	if s.UserId == nil {
5985		invalidParams.Add(request.NewErrParamRequired("UserId"))
5986	}
5987	if s.UserId != nil && len(*s.UserId) < 2 {
5988		invalidParams.Add(request.NewErrParamMinLen("UserId", 2))
5989	}
5990
5991	if invalidParams.Len() > 0 {
5992		return invalidParams
5993	}
5994	return nil
5995}
5996
5997// SetApplicationId sets the ApplicationId field's value.
5998func (s *CreateStreamingURLInput) SetApplicationId(v string) *CreateStreamingURLInput {
5999	s.ApplicationId = &v
6000	return s
6001}
6002
6003// SetFleetName sets the FleetName field's value.
6004func (s *CreateStreamingURLInput) SetFleetName(v string) *CreateStreamingURLInput {
6005	s.FleetName = &v
6006	return s
6007}
6008
6009// SetSessionContext sets the SessionContext field's value.
6010func (s *CreateStreamingURLInput) SetSessionContext(v string) *CreateStreamingURLInput {
6011	s.SessionContext = &v
6012	return s
6013}
6014
6015// SetStackName sets the StackName field's value.
6016func (s *CreateStreamingURLInput) SetStackName(v string) *CreateStreamingURLInput {
6017	s.StackName = &v
6018	return s
6019}
6020
6021// SetUserId sets the UserId field's value.
6022func (s *CreateStreamingURLInput) SetUserId(v string) *CreateStreamingURLInput {
6023	s.UserId = &v
6024	return s
6025}
6026
6027// SetValidity sets the Validity field's value.
6028func (s *CreateStreamingURLInput) SetValidity(v int64) *CreateStreamingURLInput {
6029	s.Validity = &v
6030	return s
6031}
6032
6033type CreateStreamingURLOutput struct {
6034	_ struct{} `type:"structure"`
6035
6036	// The elapsed time, in seconds after the Unix epoch, when this URL expires.
6037	Expires *time.Time `type:"timestamp"`
6038
6039	// The URL to start the AppStream 2.0 streaming session.
6040	StreamingURL *string `min:"1" type:"string"`
6041}
6042
6043// String returns the string representation
6044func (s CreateStreamingURLOutput) String() string {
6045	return awsutil.Prettify(s)
6046}
6047
6048// GoString returns the string representation
6049func (s CreateStreamingURLOutput) GoString() string {
6050	return s.String()
6051}
6052
6053// SetExpires sets the Expires field's value.
6054func (s *CreateStreamingURLOutput) SetExpires(v time.Time) *CreateStreamingURLOutput {
6055	s.Expires = &v
6056	return s
6057}
6058
6059// SetStreamingURL sets the StreamingURL field's value.
6060func (s *CreateStreamingURLOutput) SetStreamingURL(v string) *CreateStreamingURLOutput {
6061	s.StreamingURL = &v
6062	return s
6063}
6064
6065type CreateUsageReportSubscriptionInput struct {
6066	_ struct{} `type:"structure"`
6067}
6068
6069// String returns the string representation
6070func (s CreateUsageReportSubscriptionInput) String() string {
6071	return awsutil.Prettify(s)
6072}
6073
6074// GoString returns the string representation
6075func (s CreateUsageReportSubscriptionInput) GoString() string {
6076	return s.String()
6077}
6078
6079type CreateUsageReportSubscriptionOutput struct {
6080	_ struct{} `type:"structure"`
6081
6082	// The Amazon S3 bucket where generated reports are stored.
6083	//
6084	// If you enabled on-instance session scripts and Amazon S3 logging for your
6085	// session script configuration, AppStream 2.0 created an S3 bucket to store
6086	// the script output. The bucket is unique to your account and Region. When
6087	// you enable usage reporting in this case, AppStream 2.0 uses the same bucket
6088	// to store your usage reports. If you haven't already enabled on-instance session
6089	// scripts, when you enable usage reports, AppStream 2.0 creates a new S3 bucket.
6090	S3BucketName *string `min:"1" type:"string"`
6091
6092	// The schedule for generating usage reports.
6093	Schedule *string `type:"string" enum:"UsageReportSchedule"`
6094}
6095
6096// String returns the string representation
6097func (s CreateUsageReportSubscriptionOutput) String() string {
6098	return awsutil.Prettify(s)
6099}
6100
6101// GoString returns the string representation
6102func (s CreateUsageReportSubscriptionOutput) GoString() string {
6103	return s.String()
6104}
6105
6106// SetS3BucketName sets the S3BucketName field's value.
6107func (s *CreateUsageReportSubscriptionOutput) SetS3BucketName(v string) *CreateUsageReportSubscriptionOutput {
6108	s.S3BucketName = &v
6109	return s
6110}
6111
6112// SetSchedule sets the Schedule field's value.
6113func (s *CreateUsageReportSubscriptionOutput) SetSchedule(v string) *CreateUsageReportSubscriptionOutput {
6114	s.Schedule = &v
6115	return s
6116}
6117
6118type CreateUserInput struct {
6119	_ struct{} `type:"structure"`
6120
6121	// The authentication type for the user. You must specify USERPOOL.
6122	//
6123	// AuthenticationType is a required field
6124	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
6125
6126	// The first name, or given name, of the user.
6127	FirstName *string `type:"string" sensitive:"true"`
6128
6129	// The last name, or surname, of the user.
6130	LastName *string `type:"string" sensitive:"true"`
6131
6132	// The action to take for the welcome email that is sent to a user after the
6133	// user is created in the user pool. If you specify SUPPRESS, no email is sent.
6134	// If you specify RESEND, do not specify the first name or last name of the
6135	// user. If the value is null, the email is sent.
6136	//
6137	// The temporary password in the welcome email is valid for only 7 days. If
6138	// users don’t set their passwords within 7 days, you must send them a new
6139	// welcome email.
6140	MessageAction *string `type:"string" enum:"MessageAction"`
6141
6142	// The email address of the user.
6143	//
6144	// Users' email addresses are case-sensitive. During login, if they specify
6145	// an email address that doesn't use the same capitalization as the email address
6146	// specified when their user pool account was created, a "user does not exist"
6147	// error message displays.
6148	//
6149	// UserName is a required field
6150	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
6151}
6152
6153// String returns the string representation
6154func (s CreateUserInput) String() string {
6155	return awsutil.Prettify(s)
6156}
6157
6158// GoString returns the string representation
6159func (s CreateUserInput) GoString() string {
6160	return s.String()
6161}
6162
6163// Validate inspects the fields of the type to determine if they are valid.
6164func (s *CreateUserInput) Validate() error {
6165	invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"}
6166	if s.AuthenticationType == nil {
6167		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
6168	}
6169	if s.UserName == nil {
6170		invalidParams.Add(request.NewErrParamRequired("UserName"))
6171	}
6172	if s.UserName != nil && len(*s.UserName) < 1 {
6173		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
6174	}
6175
6176	if invalidParams.Len() > 0 {
6177		return invalidParams
6178	}
6179	return nil
6180}
6181
6182// SetAuthenticationType sets the AuthenticationType field's value.
6183func (s *CreateUserInput) SetAuthenticationType(v string) *CreateUserInput {
6184	s.AuthenticationType = &v
6185	return s
6186}
6187
6188// SetFirstName sets the FirstName field's value.
6189func (s *CreateUserInput) SetFirstName(v string) *CreateUserInput {
6190	s.FirstName = &v
6191	return s
6192}
6193
6194// SetLastName sets the LastName field's value.
6195func (s *CreateUserInput) SetLastName(v string) *CreateUserInput {
6196	s.LastName = &v
6197	return s
6198}
6199
6200// SetMessageAction sets the MessageAction field's value.
6201func (s *CreateUserInput) SetMessageAction(v string) *CreateUserInput {
6202	s.MessageAction = &v
6203	return s
6204}
6205
6206// SetUserName sets the UserName field's value.
6207func (s *CreateUserInput) SetUserName(v string) *CreateUserInput {
6208	s.UserName = &v
6209	return s
6210}
6211
6212type CreateUserOutput struct {
6213	_ struct{} `type:"structure"`
6214}
6215
6216// String returns the string representation
6217func (s CreateUserOutput) String() string {
6218	return awsutil.Prettify(s)
6219}
6220
6221// GoString returns the string representation
6222func (s CreateUserOutput) GoString() string {
6223	return s.String()
6224}
6225
6226type DeleteDirectoryConfigInput struct {
6227	_ struct{} `type:"structure"`
6228
6229	// The name of the directory configuration.
6230	//
6231	// DirectoryName is a required field
6232	DirectoryName *string `type:"string" required:"true"`
6233}
6234
6235// String returns the string representation
6236func (s DeleteDirectoryConfigInput) String() string {
6237	return awsutil.Prettify(s)
6238}
6239
6240// GoString returns the string representation
6241func (s DeleteDirectoryConfigInput) GoString() string {
6242	return s.String()
6243}
6244
6245// Validate inspects the fields of the type to determine if they are valid.
6246func (s *DeleteDirectoryConfigInput) Validate() error {
6247	invalidParams := request.ErrInvalidParams{Context: "DeleteDirectoryConfigInput"}
6248	if s.DirectoryName == nil {
6249		invalidParams.Add(request.NewErrParamRequired("DirectoryName"))
6250	}
6251
6252	if invalidParams.Len() > 0 {
6253		return invalidParams
6254	}
6255	return nil
6256}
6257
6258// SetDirectoryName sets the DirectoryName field's value.
6259func (s *DeleteDirectoryConfigInput) SetDirectoryName(v string) *DeleteDirectoryConfigInput {
6260	s.DirectoryName = &v
6261	return s
6262}
6263
6264type DeleteDirectoryConfigOutput struct {
6265	_ struct{} `type:"structure"`
6266}
6267
6268// String returns the string representation
6269func (s DeleteDirectoryConfigOutput) String() string {
6270	return awsutil.Prettify(s)
6271}
6272
6273// GoString returns the string representation
6274func (s DeleteDirectoryConfigOutput) GoString() string {
6275	return s.String()
6276}
6277
6278type DeleteFleetInput struct {
6279	_ struct{} `type:"structure"`
6280
6281	// The name of the fleet.
6282	//
6283	// Name is a required field
6284	Name *string `min:"1" type:"string" required:"true"`
6285}
6286
6287// String returns the string representation
6288func (s DeleteFleetInput) String() string {
6289	return awsutil.Prettify(s)
6290}
6291
6292// GoString returns the string representation
6293func (s DeleteFleetInput) GoString() string {
6294	return s.String()
6295}
6296
6297// Validate inspects the fields of the type to determine if they are valid.
6298func (s *DeleteFleetInput) Validate() error {
6299	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetInput"}
6300	if s.Name == nil {
6301		invalidParams.Add(request.NewErrParamRequired("Name"))
6302	}
6303	if s.Name != nil && len(*s.Name) < 1 {
6304		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6305	}
6306
6307	if invalidParams.Len() > 0 {
6308		return invalidParams
6309	}
6310	return nil
6311}
6312
6313// SetName sets the Name field's value.
6314func (s *DeleteFleetInput) SetName(v string) *DeleteFleetInput {
6315	s.Name = &v
6316	return s
6317}
6318
6319type DeleteFleetOutput struct {
6320	_ struct{} `type:"structure"`
6321}
6322
6323// String returns the string representation
6324func (s DeleteFleetOutput) String() string {
6325	return awsutil.Prettify(s)
6326}
6327
6328// GoString returns the string representation
6329func (s DeleteFleetOutput) GoString() string {
6330	return s.String()
6331}
6332
6333type DeleteImageBuilderInput struct {
6334	_ struct{} `type:"structure"`
6335
6336	// The name of the image builder.
6337	//
6338	// Name is a required field
6339	Name *string `type:"string" required:"true"`
6340}
6341
6342// String returns the string representation
6343func (s DeleteImageBuilderInput) String() string {
6344	return awsutil.Prettify(s)
6345}
6346
6347// GoString returns the string representation
6348func (s DeleteImageBuilderInput) GoString() string {
6349	return s.String()
6350}
6351
6352// Validate inspects the fields of the type to determine if they are valid.
6353func (s *DeleteImageBuilderInput) Validate() error {
6354	invalidParams := request.ErrInvalidParams{Context: "DeleteImageBuilderInput"}
6355	if s.Name == nil {
6356		invalidParams.Add(request.NewErrParamRequired("Name"))
6357	}
6358
6359	if invalidParams.Len() > 0 {
6360		return invalidParams
6361	}
6362	return nil
6363}
6364
6365// SetName sets the Name field's value.
6366func (s *DeleteImageBuilderInput) SetName(v string) *DeleteImageBuilderInput {
6367	s.Name = &v
6368	return s
6369}
6370
6371type DeleteImageBuilderOutput struct {
6372	_ struct{} `type:"structure"`
6373
6374	// Information about the image builder.
6375	ImageBuilder *ImageBuilder `type:"structure"`
6376}
6377
6378// String returns the string representation
6379func (s DeleteImageBuilderOutput) String() string {
6380	return awsutil.Prettify(s)
6381}
6382
6383// GoString returns the string representation
6384func (s DeleteImageBuilderOutput) GoString() string {
6385	return s.String()
6386}
6387
6388// SetImageBuilder sets the ImageBuilder field's value.
6389func (s *DeleteImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *DeleteImageBuilderOutput {
6390	s.ImageBuilder = v
6391	return s
6392}
6393
6394type DeleteImageInput struct {
6395	_ struct{} `type:"structure"`
6396
6397	// The name of the image.
6398	//
6399	// Name is a required field
6400	Name *string `type:"string" required:"true"`
6401}
6402
6403// String returns the string representation
6404func (s DeleteImageInput) String() string {
6405	return awsutil.Prettify(s)
6406}
6407
6408// GoString returns the string representation
6409func (s DeleteImageInput) GoString() string {
6410	return s.String()
6411}
6412
6413// Validate inspects the fields of the type to determine if they are valid.
6414func (s *DeleteImageInput) Validate() error {
6415	invalidParams := request.ErrInvalidParams{Context: "DeleteImageInput"}
6416	if s.Name == nil {
6417		invalidParams.Add(request.NewErrParamRequired("Name"))
6418	}
6419
6420	if invalidParams.Len() > 0 {
6421		return invalidParams
6422	}
6423	return nil
6424}
6425
6426// SetName sets the Name field's value.
6427func (s *DeleteImageInput) SetName(v string) *DeleteImageInput {
6428	s.Name = &v
6429	return s
6430}
6431
6432type DeleteImageOutput struct {
6433	_ struct{} `type:"structure"`
6434
6435	// Information about the image.
6436	Image *Image `type:"structure"`
6437}
6438
6439// String returns the string representation
6440func (s DeleteImageOutput) String() string {
6441	return awsutil.Prettify(s)
6442}
6443
6444// GoString returns the string representation
6445func (s DeleteImageOutput) GoString() string {
6446	return s.String()
6447}
6448
6449// SetImage sets the Image field's value.
6450func (s *DeleteImageOutput) SetImage(v *Image) *DeleteImageOutput {
6451	s.Image = v
6452	return s
6453}
6454
6455type DeleteImagePermissionsInput struct {
6456	_ struct{} `type:"structure"`
6457
6458	// The name of the private image.
6459	//
6460	// Name is a required field
6461	Name *string `type:"string" required:"true"`
6462
6463	// The 12-digit identifier of the AWS account for which to delete image permissions.
6464	//
6465	// SharedAccountId is a required field
6466	SharedAccountId *string `type:"string" required:"true"`
6467}
6468
6469// String returns the string representation
6470func (s DeleteImagePermissionsInput) String() string {
6471	return awsutil.Prettify(s)
6472}
6473
6474// GoString returns the string representation
6475func (s DeleteImagePermissionsInput) GoString() string {
6476	return s.String()
6477}
6478
6479// Validate inspects the fields of the type to determine if they are valid.
6480func (s *DeleteImagePermissionsInput) Validate() error {
6481	invalidParams := request.ErrInvalidParams{Context: "DeleteImagePermissionsInput"}
6482	if s.Name == nil {
6483		invalidParams.Add(request.NewErrParamRequired("Name"))
6484	}
6485	if s.SharedAccountId == nil {
6486		invalidParams.Add(request.NewErrParamRequired("SharedAccountId"))
6487	}
6488
6489	if invalidParams.Len() > 0 {
6490		return invalidParams
6491	}
6492	return nil
6493}
6494
6495// SetName sets the Name field's value.
6496func (s *DeleteImagePermissionsInput) SetName(v string) *DeleteImagePermissionsInput {
6497	s.Name = &v
6498	return s
6499}
6500
6501// SetSharedAccountId sets the SharedAccountId field's value.
6502func (s *DeleteImagePermissionsInput) SetSharedAccountId(v string) *DeleteImagePermissionsInput {
6503	s.SharedAccountId = &v
6504	return s
6505}
6506
6507type DeleteImagePermissionsOutput struct {
6508	_ struct{} `type:"structure"`
6509}
6510
6511// String returns the string representation
6512func (s DeleteImagePermissionsOutput) String() string {
6513	return awsutil.Prettify(s)
6514}
6515
6516// GoString returns the string representation
6517func (s DeleteImagePermissionsOutput) GoString() string {
6518	return s.String()
6519}
6520
6521type DeleteStackInput struct {
6522	_ struct{} `type:"structure"`
6523
6524	// The name of the stack.
6525	//
6526	// Name is a required field
6527	Name *string `min:"1" type:"string" required:"true"`
6528}
6529
6530// String returns the string representation
6531func (s DeleteStackInput) String() string {
6532	return awsutil.Prettify(s)
6533}
6534
6535// GoString returns the string representation
6536func (s DeleteStackInput) GoString() string {
6537	return s.String()
6538}
6539
6540// Validate inspects the fields of the type to determine if they are valid.
6541func (s *DeleteStackInput) Validate() error {
6542	invalidParams := request.ErrInvalidParams{Context: "DeleteStackInput"}
6543	if s.Name == nil {
6544		invalidParams.Add(request.NewErrParamRequired("Name"))
6545	}
6546	if s.Name != nil && len(*s.Name) < 1 {
6547		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6548	}
6549
6550	if invalidParams.Len() > 0 {
6551		return invalidParams
6552	}
6553	return nil
6554}
6555
6556// SetName sets the Name field's value.
6557func (s *DeleteStackInput) SetName(v string) *DeleteStackInput {
6558	s.Name = &v
6559	return s
6560}
6561
6562type DeleteStackOutput struct {
6563	_ struct{} `type:"structure"`
6564}
6565
6566// String returns the string representation
6567func (s DeleteStackOutput) String() string {
6568	return awsutil.Prettify(s)
6569}
6570
6571// GoString returns the string representation
6572func (s DeleteStackOutput) GoString() string {
6573	return s.String()
6574}
6575
6576type DeleteUsageReportSubscriptionInput struct {
6577	_ struct{} `type:"structure"`
6578}
6579
6580// String returns the string representation
6581func (s DeleteUsageReportSubscriptionInput) String() string {
6582	return awsutil.Prettify(s)
6583}
6584
6585// GoString returns the string representation
6586func (s DeleteUsageReportSubscriptionInput) GoString() string {
6587	return s.String()
6588}
6589
6590type DeleteUsageReportSubscriptionOutput struct {
6591	_ struct{} `type:"structure"`
6592}
6593
6594// String returns the string representation
6595func (s DeleteUsageReportSubscriptionOutput) String() string {
6596	return awsutil.Prettify(s)
6597}
6598
6599// GoString returns the string representation
6600func (s DeleteUsageReportSubscriptionOutput) GoString() string {
6601	return s.String()
6602}
6603
6604type DeleteUserInput struct {
6605	_ struct{} `type:"structure"`
6606
6607	// The authentication type for the user. You must specify USERPOOL.
6608	//
6609	// AuthenticationType is a required field
6610	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
6611
6612	// The email address of the user.
6613	//
6614	// Users' email addresses are case-sensitive.
6615	//
6616	// UserName is a required field
6617	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
6618}
6619
6620// String returns the string representation
6621func (s DeleteUserInput) String() string {
6622	return awsutil.Prettify(s)
6623}
6624
6625// GoString returns the string representation
6626func (s DeleteUserInput) GoString() string {
6627	return s.String()
6628}
6629
6630// Validate inspects the fields of the type to determine if they are valid.
6631func (s *DeleteUserInput) Validate() error {
6632	invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
6633	if s.AuthenticationType == nil {
6634		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
6635	}
6636	if s.UserName == nil {
6637		invalidParams.Add(request.NewErrParamRequired("UserName"))
6638	}
6639	if s.UserName != nil && len(*s.UserName) < 1 {
6640		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
6641	}
6642
6643	if invalidParams.Len() > 0 {
6644		return invalidParams
6645	}
6646	return nil
6647}
6648
6649// SetAuthenticationType sets the AuthenticationType field's value.
6650func (s *DeleteUserInput) SetAuthenticationType(v string) *DeleteUserInput {
6651	s.AuthenticationType = &v
6652	return s
6653}
6654
6655// SetUserName sets the UserName field's value.
6656func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput {
6657	s.UserName = &v
6658	return s
6659}
6660
6661type DeleteUserOutput struct {
6662	_ struct{} `type:"structure"`
6663}
6664
6665// String returns the string representation
6666func (s DeleteUserOutput) String() string {
6667	return awsutil.Prettify(s)
6668}
6669
6670// GoString returns the string representation
6671func (s DeleteUserOutput) GoString() string {
6672	return s.String()
6673}
6674
6675type DescribeDirectoryConfigsInput struct {
6676	_ struct{} `type:"structure"`
6677
6678	// The directory names.
6679	DirectoryNames []*string `type:"list"`
6680
6681	// The maximum size of each page of results.
6682	MaxResults *int64 `type:"integer"`
6683
6684	// The pagination token to use to retrieve the next page of results for this
6685	// operation. If this value is null, it retrieves the first page.
6686	NextToken *string `min:"1" type:"string"`
6687}
6688
6689// String returns the string representation
6690func (s DescribeDirectoryConfigsInput) String() string {
6691	return awsutil.Prettify(s)
6692}
6693
6694// GoString returns the string representation
6695func (s DescribeDirectoryConfigsInput) GoString() string {
6696	return s.String()
6697}
6698
6699// Validate inspects the fields of the type to determine if they are valid.
6700func (s *DescribeDirectoryConfigsInput) Validate() error {
6701	invalidParams := request.ErrInvalidParams{Context: "DescribeDirectoryConfigsInput"}
6702	if s.NextToken != nil && len(*s.NextToken) < 1 {
6703		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6704	}
6705
6706	if invalidParams.Len() > 0 {
6707		return invalidParams
6708	}
6709	return nil
6710}
6711
6712// SetDirectoryNames sets the DirectoryNames field's value.
6713func (s *DescribeDirectoryConfigsInput) SetDirectoryNames(v []*string) *DescribeDirectoryConfigsInput {
6714	s.DirectoryNames = v
6715	return s
6716}
6717
6718// SetMaxResults sets the MaxResults field's value.
6719func (s *DescribeDirectoryConfigsInput) SetMaxResults(v int64) *DescribeDirectoryConfigsInput {
6720	s.MaxResults = &v
6721	return s
6722}
6723
6724// SetNextToken sets the NextToken field's value.
6725func (s *DescribeDirectoryConfigsInput) SetNextToken(v string) *DescribeDirectoryConfigsInput {
6726	s.NextToken = &v
6727	return s
6728}
6729
6730type DescribeDirectoryConfigsOutput struct {
6731	_ struct{} `type:"structure"`
6732
6733	// Information about the directory configurations. Note that although the response
6734	// syntax in this topic includes the account password, this password is not
6735	// returned in the actual response.
6736	DirectoryConfigs []*DirectoryConfig `type:"list"`
6737
6738	// The pagination token to use to retrieve the next page of results for this
6739	// operation. If there are no more pages, this value is null.
6740	NextToken *string `min:"1" type:"string"`
6741}
6742
6743// String returns the string representation
6744func (s DescribeDirectoryConfigsOutput) String() string {
6745	return awsutil.Prettify(s)
6746}
6747
6748// GoString returns the string representation
6749func (s DescribeDirectoryConfigsOutput) GoString() string {
6750	return s.String()
6751}
6752
6753// SetDirectoryConfigs sets the DirectoryConfigs field's value.
6754func (s *DescribeDirectoryConfigsOutput) SetDirectoryConfigs(v []*DirectoryConfig) *DescribeDirectoryConfigsOutput {
6755	s.DirectoryConfigs = v
6756	return s
6757}
6758
6759// SetNextToken sets the NextToken field's value.
6760func (s *DescribeDirectoryConfigsOutput) SetNextToken(v string) *DescribeDirectoryConfigsOutput {
6761	s.NextToken = &v
6762	return s
6763}
6764
6765type DescribeFleetsInput struct {
6766	_ struct{} `type:"structure"`
6767
6768	// The names of the fleets to describe.
6769	Names []*string `type:"list"`
6770
6771	// The pagination token to use to retrieve the next page of results for this
6772	// operation. If this value is null, it retrieves the first page.
6773	NextToken *string `min:"1" type:"string"`
6774}
6775
6776// String returns the string representation
6777func (s DescribeFleetsInput) String() string {
6778	return awsutil.Prettify(s)
6779}
6780
6781// GoString returns the string representation
6782func (s DescribeFleetsInput) GoString() string {
6783	return s.String()
6784}
6785
6786// Validate inspects the fields of the type to determine if they are valid.
6787func (s *DescribeFleetsInput) Validate() error {
6788	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetsInput"}
6789	if s.NextToken != nil && len(*s.NextToken) < 1 {
6790		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6791	}
6792
6793	if invalidParams.Len() > 0 {
6794		return invalidParams
6795	}
6796	return nil
6797}
6798
6799// SetNames sets the Names field's value.
6800func (s *DescribeFleetsInput) SetNames(v []*string) *DescribeFleetsInput {
6801	s.Names = v
6802	return s
6803}
6804
6805// SetNextToken sets the NextToken field's value.
6806func (s *DescribeFleetsInput) SetNextToken(v string) *DescribeFleetsInput {
6807	s.NextToken = &v
6808	return s
6809}
6810
6811type DescribeFleetsOutput struct {
6812	_ struct{} `type:"structure"`
6813
6814	// Information about the fleets.
6815	Fleets []*Fleet `type:"list"`
6816
6817	// The pagination token to use to retrieve the next page of results for this
6818	// operation. If there are no more pages, this value is null.
6819	NextToken *string `min:"1" type:"string"`
6820}
6821
6822// String returns the string representation
6823func (s DescribeFleetsOutput) String() string {
6824	return awsutil.Prettify(s)
6825}
6826
6827// GoString returns the string representation
6828func (s DescribeFleetsOutput) GoString() string {
6829	return s.String()
6830}
6831
6832// SetFleets sets the Fleets field's value.
6833func (s *DescribeFleetsOutput) SetFleets(v []*Fleet) *DescribeFleetsOutput {
6834	s.Fleets = v
6835	return s
6836}
6837
6838// SetNextToken sets the NextToken field's value.
6839func (s *DescribeFleetsOutput) SetNextToken(v string) *DescribeFleetsOutput {
6840	s.NextToken = &v
6841	return s
6842}
6843
6844type DescribeImageBuildersInput struct {
6845	_ struct{} `type:"structure"`
6846
6847	// The maximum size of each page of results.
6848	MaxResults *int64 `type:"integer"`
6849
6850	// The names of the image builders to describe.
6851	Names []*string `type:"list"`
6852
6853	// The pagination token to use to retrieve the next page of results for this
6854	// operation. If this value is null, it retrieves the first page.
6855	NextToken *string `min:"1" type:"string"`
6856}
6857
6858// String returns the string representation
6859func (s DescribeImageBuildersInput) String() string {
6860	return awsutil.Prettify(s)
6861}
6862
6863// GoString returns the string representation
6864func (s DescribeImageBuildersInput) GoString() string {
6865	return s.String()
6866}
6867
6868// Validate inspects the fields of the type to determine if they are valid.
6869func (s *DescribeImageBuildersInput) Validate() error {
6870	invalidParams := request.ErrInvalidParams{Context: "DescribeImageBuildersInput"}
6871	if s.NextToken != nil && len(*s.NextToken) < 1 {
6872		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6873	}
6874
6875	if invalidParams.Len() > 0 {
6876		return invalidParams
6877	}
6878	return nil
6879}
6880
6881// SetMaxResults sets the MaxResults field's value.
6882func (s *DescribeImageBuildersInput) SetMaxResults(v int64) *DescribeImageBuildersInput {
6883	s.MaxResults = &v
6884	return s
6885}
6886
6887// SetNames sets the Names field's value.
6888func (s *DescribeImageBuildersInput) SetNames(v []*string) *DescribeImageBuildersInput {
6889	s.Names = v
6890	return s
6891}
6892
6893// SetNextToken sets the NextToken field's value.
6894func (s *DescribeImageBuildersInput) SetNextToken(v string) *DescribeImageBuildersInput {
6895	s.NextToken = &v
6896	return s
6897}
6898
6899type DescribeImageBuildersOutput struct {
6900	_ struct{} `type:"structure"`
6901
6902	// Information about the image builders.
6903	ImageBuilders []*ImageBuilder `type:"list"`
6904
6905	// The pagination token to use to retrieve the next page of results for this
6906	// operation. If there are no more pages, this value is null.
6907	NextToken *string `min:"1" type:"string"`
6908}
6909
6910// String returns the string representation
6911func (s DescribeImageBuildersOutput) String() string {
6912	return awsutil.Prettify(s)
6913}
6914
6915// GoString returns the string representation
6916func (s DescribeImageBuildersOutput) GoString() string {
6917	return s.String()
6918}
6919
6920// SetImageBuilders sets the ImageBuilders field's value.
6921func (s *DescribeImageBuildersOutput) SetImageBuilders(v []*ImageBuilder) *DescribeImageBuildersOutput {
6922	s.ImageBuilders = v
6923	return s
6924}
6925
6926// SetNextToken sets the NextToken field's value.
6927func (s *DescribeImageBuildersOutput) SetNextToken(v string) *DescribeImageBuildersOutput {
6928	s.NextToken = &v
6929	return s
6930}
6931
6932type DescribeImagePermissionsInput struct {
6933	_ struct{} `type:"structure"`
6934
6935	// The maximum size of each page of results.
6936	MaxResults *int64 `type:"integer"`
6937
6938	// The name of the private image for which to describe permissions. The image
6939	// must be one that you own.
6940	//
6941	// Name is a required field
6942	Name *string `type:"string" required:"true"`
6943
6944	// The pagination token to use to retrieve the next page of results for this
6945	// operation. If this value is null, it retrieves the first page.
6946	NextToken *string `min:"1" type:"string"`
6947
6948	// The 12-digit identifier of one or more AWS accounts with which the image
6949	// is shared.
6950	SharedAwsAccountIds []*string `min:"1" type:"list"`
6951}
6952
6953// String returns the string representation
6954func (s DescribeImagePermissionsInput) String() string {
6955	return awsutil.Prettify(s)
6956}
6957
6958// GoString returns the string representation
6959func (s DescribeImagePermissionsInput) GoString() string {
6960	return s.String()
6961}
6962
6963// Validate inspects the fields of the type to determine if they are valid.
6964func (s *DescribeImagePermissionsInput) Validate() error {
6965	invalidParams := request.ErrInvalidParams{Context: "DescribeImagePermissionsInput"}
6966	if s.Name == nil {
6967		invalidParams.Add(request.NewErrParamRequired("Name"))
6968	}
6969	if s.NextToken != nil && len(*s.NextToken) < 1 {
6970		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6971	}
6972	if s.SharedAwsAccountIds != nil && len(s.SharedAwsAccountIds) < 1 {
6973		invalidParams.Add(request.NewErrParamMinLen("SharedAwsAccountIds", 1))
6974	}
6975
6976	if invalidParams.Len() > 0 {
6977		return invalidParams
6978	}
6979	return nil
6980}
6981
6982// SetMaxResults sets the MaxResults field's value.
6983func (s *DescribeImagePermissionsInput) SetMaxResults(v int64) *DescribeImagePermissionsInput {
6984	s.MaxResults = &v
6985	return s
6986}
6987
6988// SetName sets the Name field's value.
6989func (s *DescribeImagePermissionsInput) SetName(v string) *DescribeImagePermissionsInput {
6990	s.Name = &v
6991	return s
6992}
6993
6994// SetNextToken sets the NextToken field's value.
6995func (s *DescribeImagePermissionsInput) SetNextToken(v string) *DescribeImagePermissionsInput {
6996	s.NextToken = &v
6997	return s
6998}
6999
7000// SetSharedAwsAccountIds sets the SharedAwsAccountIds field's value.
7001func (s *DescribeImagePermissionsInput) SetSharedAwsAccountIds(v []*string) *DescribeImagePermissionsInput {
7002	s.SharedAwsAccountIds = v
7003	return s
7004}
7005
7006type DescribeImagePermissionsOutput struct {
7007	_ struct{} `type:"structure"`
7008
7009	// The name of the private image.
7010	Name *string `type:"string"`
7011
7012	// The pagination token to use to retrieve the next page of results for this
7013	// operation. If there are no more pages, this value is null.
7014	NextToken *string `min:"1" type:"string"`
7015
7016	// The permissions for a private image that you own.
7017	SharedImagePermissionsList []*SharedImagePermissions `type:"list"`
7018}
7019
7020// String returns the string representation
7021func (s DescribeImagePermissionsOutput) String() string {
7022	return awsutil.Prettify(s)
7023}
7024
7025// GoString returns the string representation
7026func (s DescribeImagePermissionsOutput) GoString() string {
7027	return s.String()
7028}
7029
7030// SetName sets the Name field's value.
7031func (s *DescribeImagePermissionsOutput) SetName(v string) *DescribeImagePermissionsOutput {
7032	s.Name = &v
7033	return s
7034}
7035
7036// SetNextToken sets the NextToken field's value.
7037func (s *DescribeImagePermissionsOutput) SetNextToken(v string) *DescribeImagePermissionsOutput {
7038	s.NextToken = &v
7039	return s
7040}
7041
7042// SetSharedImagePermissionsList sets the SharedImagePermissionsList field's value.
7043func (s *DescribeImagePermissionsOutput) SetSharedImagePermissionsList(v []*SharedImagePermissions) *DescribeImagePermissionsOutput {
7044	s.SharedImagePermissionsList = v
7045	return s
7046}
7047
7048type DescribeImagesInput struct {
7049	_ struct{} `type:"structure"`
7050
7051	// The ARNs of the public, private, and shared images to describe.
7052	Arns []*string `type:"list"`
7053
7054	// The maximum size of each page of results.
7055	MaxResults *int64 `type:"integer"`
7056
7057	// The names of the public or private images to describe.
7058	Names []*string `type:"list"`
7059
7060	// The pagination token to use to retrieve the next page of results for this
7061	// operation. If this value is null, it retrieves the first page.
7062	NextToken *string `min:"1" type:"string"`
7063
7064	// The type of image (public, private, or shared) to describe.
7065	Type *string `type:"string" enum:"VisibilityType"`
7066}
7067
7068// String returns the string representation
7069func (s DescribeImagesInput) String() string {
7070	return awsutil.Prettify(s)
7071}
7072
7073// GoString returns the string representation
7074func (s DescribeImagesInput) GoString() string {
7075	return s.String()
7076}
7077
7078// Validate inspects the fields of the type to determine if they are valid.
7079func (s *DescribeImagesInput) Validate() error {
7080	invalidParams := request.ErrInvalidParams{Context: "DescribeImagesInput"}
7081	if s.NextToken != nil && len(*s.NextToken) < 1 {
7082		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7083	}
7084
7085	if invalidParams.Len() > 0 {
7086		return invalidParams
7087	}
7088	return nil
7089}
7090
7091// SetArns sets the Arns field's value.
7092func (s *DescribeImagesInput) SetArns(v []*string) *DescribeImagesInput {
7093	s.Arns = v
7094	return s
7095}
7096
7097// SetMaxResults sets the MaxResults field's value.
7098func (s *DescribeImagesInput) SetMaxResults(v int64) *DescribeImagesInput {
7099	s.MaxResults = &v
7100	return s
7101}
7102
7103// SetNames sets the Names field's value.
7104func (s *DescribeImagesInput) SetNames(v []*string) *DescribeImagesInput {
7105	s.Names = v
7106	return s
7107}
7108
7109// SetNextToken sets the NextToken field's value.
7110func (s *DescribeImagesInput) SetNextToken(v string) *DescribeImagesInput {
7111	s.NextToken = &v
7112	return s
7113}
7114
7115// SetType sets the Type field's value.
7116func (s *DescribeImagesInput) SetType(v string) *DescribeImagesInput {
7117	s.Type = &v
7118	return s
7119}
7120
7121type DescribeImagesOutput struct {
7122	_ struct{} `type:"structure"`
7123
7124	// Information about the images.
7125	Images []*Image `type:"list"`
7126
7127	// The pagination token to use to retrieve the next page of results for this
7128	// operation. If there are no more pages, this value is null.
7129	NextToken *string `min:"1" type:"string"`
7130}
7131
7132// String returns the string representation
7133func (s DescribeImagesOutput) String() string {
7134	return awsutil.Prettify(s)
7135}
7136
7137// GoString returns the string representation
7138func (s DescribeImagesOutput) GoString() string {
7139	return s.String()
7140}
7141
7142// SetImages sets the Images field's value.
7143func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
7144	s.Images = v
7145	return s
7146}
7147
7148// SetNextToken sets the NextToken field's value.
7149func (s *DescribeImagesOutput) SetNextToken(v string) *DescribeImagesOutput {
7150	s.NextToken = &v
7151	return s
7152}
7153
7154type DescribeSessionsInput struct {
7155	_ struct{} `type:"structure"`
7156
7157	// The authentication method. Specify API for a user authenticated using a streaming
7158	// URL or SAML for a SAML federated user. The default is to authenticate users
7159	// using a streaming URL.
7160	AuthenticationType *string `type:"string" enum:"AuthenticationType"`
7161
7162	// The name of the fleet. This value is case-sensitive.
7163	//
7164	// FleetName is a required field
7165	FleetName *string `min:"1" type:"string" required:"true"`
7166
7167	// The size of each page of results. The default value is 20 and the maximum
7168	// value is 50.
7169	Limit *int64 `type:"integer"`
7170
7171	// The pagination token to use to retrieve the next page of results for this
7172	// operation. If this value is null, it retrieves the first page.
7173	NextToken *string `min:"1" type:"string"`
7174
7175	// The name of the stack. This value is case-sensitive.
7176	//
7177	// StackName is a required field
7178	StackName *string `min:"1" type:"string" required:"true"`
7179
7180	// The user identifier.
7181	UserId *string `min:"2" type:"string"`
7182}
7183
7184// String returns the string representation
7185func (s DescribeSessionsInput) String() string {
7186	return awsutil.Prettify(s)
7187}
7188
7189// GoString returns the string representation
7190func (s DescribeSessionsInput) GoString() string {
7191	return s.String()
7192}
7193
7194// Validate inspects the fields of the type to determine if they are valid.
7195func (s *DescribeSessionsInput) Validate() error {
7196	invalidParams := request.ErrInvalidParams{Context: "DescribeSessionsInput"}
7197	if s.FleetName == nil {
7198		invalidParams.Add(request.NewErrParamRequired("FleetName"))
7199	}
7200	if s.FleetName != nil && len(*s.FleetName) < 1 {
7201		invalidParams.Add(request.NewErrParamMinLen("FleetName", 1))
7202	}
7203	if s.NextToken != nil && len(*s.NextToken) < 1 {
7204		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7205	}
7206	if s.StackName == nil {
7207		invalidParams.Add(request.NewErrParamRequired("StackName"))
7208	}
7209	if s.StackName != nil && len(*s.StackName) < 1 {
7210		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
7211	}
7212	if s.UserId != nil && len(*s.UserId) < 2 {
7213		invalidParams.Add(request.NewErrParamMinLen("UserId", 2))
7214	}
7215
7216	if invalidParams.Len() > 0 {
7217		return invalidParams
7218	}
7219	return nil
7220}
7221
7222// SetAuthenticationType sets the AuthenticationType field's value.
7223func (s *DescribeSessionsInput) SetAuthenticationType(v string) *DescribeSessionsInput {
7224	s.AuthenticationType = &v
7225	return s
7226}
7227
7228// SetFleetName sets the FleetName field's value.
7229func (s *DescribeSessionsInput) SetFleetName(v string) *DescribeSessionsInput {
7230	s.FleetName = &v
7231	return s
7232}
7233
7234// SetLimit sets the Limit field's value.
7235func (s *DescribeSessionsInput) SetLimit(v int64) *DescribeSessionsInput {
7236	s.Limit = &v
7237	return s
7238}
7239
7240// SetNextToken sets the NextToken field's value.
7241func (s *DescribeSessionsInput) SetNextToken(v string) *DescribeSessionsInput {
7242	s.NextToken = &v
7243	return s
7244}
7245
7246// SetStackName sets the StackName field's value.
7247func (s *DescribeSessionsInput) SetStackName(v string) *DescribeSessionsInput {
7248	s.StackName = &v
7249	return s
7250}
7251
7252// SetUserId sets the UserId field's value.
7253func (s *DescribeSessionsInput) SetUserId(v string) *DescribeSessionsInput {
7254	s.UserId = &v
7255	return s
7256}
7257
7258type DescribeSessionsOutput struct {
7259	_ struct{} `type:"structure"`
7260
7261	// The pagination token to use to retrieve the next page of results for this
7262	// operation. If there are no more pages, this value is null.
7263	NextToken *string `min:"1" type:"string"`
7264
7265	// Information about the streaming sessions.
7266	Sessions []*Session `type:"list"`
7267}
7268
7269// String returns the string representation
7270func (s DescribeSessionsOutput) String() string {
7271	return awsutil.Prettify(s)
7272}
7273
7274// GoString returns the string representation
7275func (s DescribeSessionsOutput) GoString() string {
7276	return s.String()
7277}
7278
7279// SetNextToken sets the NextToken field's value.
7280func (s *DescribeSessionsOutput) SetNextToken(v string) *DescribeSessionsOutput {
7281	s.NextToken = &v
7282	return s
7283}
7284
7285// SetSessions sets the Sessions field's value.
7286func (s *DescribeSessionsOutput) SetSessions(v []*Session) *DescribeSessionsOutput {
7287	s.Sessions = v
7288	return s
7289}
7290
7291type DescribeStacksInput struct {
7292	_ struct{} `type:"structure"`
7293
7294	// The names of the stacks to describe.
7295	Names []*string `type:"list"`
7296
7297	// The pagination token to use to retrieve the next page of results for this
7298	// operation. If this value is null, it retrieves the first page.
7299	NextToken *string `min:"1" type:"string"`
7300}
7301
7302// String returns the string representation
7303func (s DescribeStacksInput) String() string {
7304	return awsutil.Prettify(s)
7305}
7306
7307// GoString returns the string representation
7308func (s DescribeStacksInput) GoString() string {
7309	return s.String()
7310}
7311
7312// Validate inspects the fields of the type to determine if they are valid.
7313func (s *DescribeStacksInput) Validate() error {
7314	invalidParams := request.ErrInvalidParams{Context: "DescribeStacksInput"}
7315	if s.NextToken != nil && len(*s.NextToken) < 1 {
7316		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7317	}
7318
7319	if invalidParams.Len() > 0 {
7320		return invalidParams
7321	}
7322	return nil
7323}
7324
7325// SetNames sets the Names field's value.
7326func (s *DescribeStacksInput) SetNames(v []*string) *DescribeStacksInput {
7327	s.Names = v
7328	return s
7329}
7330
7331// SetNextToken sets the NextToken field's value.
7332func (s *DescribeStacksInput) SetNextToken(v string) *DescribeStacksInput {
7333	s.NextToken = &v
7334	return s
7335}
7336
7337type DescribeStacksOutput struct {
7338	_ struct{} `type:"structure"`
7339
7340	// The pagination token to use to retrieve the next page of results for this
7341	// operation. If there are no more pages, this value is null.
7342	NextToken *string `min:"1" type:"string"`
7343
7344	// Information about the stacks.
7345	Stacks []*Stack `type:"list"`
7346}
7347
7348// String returns the string representation
7349func (s DescribeStacksOutput) String() string {
7350	return awsutil.Prettify(s)
7351}
7352
7353// GoString returns the string representation
7354func (s DescribeStacksOutput) GoString() string {
7355	return s.String()
7356}
7357
7358// SetNextToken sets the NextToken field's value.
7359func (s *DescribeStacksOutput) SetNextToken(v string) *DescribeStacksOutput {
7360	s.NextToken = &v
7361	return s
7362}
7363
7364// SetStacks sets the Stacks field's value.
7365func (s *DescribeStacksOutput) SetStacks(v []*Stack) *DescribeStacksOutput {
7366	s.Stacks = v
7367	return s
7368}
7369
7370type DescribeUsageReportSubscriptionsInput struct {
7371	_ struct{} `type:"structure"`
7372
7373	// The maximum size of each page of results.
7374	MaxResults *int64 `type:"integer"`
7375
7376	// The pagination token to use to retrieve the next page of results for this
7377	// operation. If this value is null, it retrieves the first page.
7378	NextToken *string `min:"1" type:"string"`
7379}
7380
7381// String returns the string representation
7382func (s DescribeUsageReportSubscriptionsInput) String() string {
7383	return awsutil.Prettify(s)
7384}
7385
7386// GoString returns the string representation
7387func (s DescribeUsageReportSubscriptionsInput) GoString() string {
7388	return s.String()
7389}
7390
7391// Validate inspects the fields of the type to determine if they are valid.
7392func (s *DescribeUsageReportSubscriptionsInput) Validate() error {
7393	invalidParams := request.ErrInvalidParams{Context: "DescribeUsageReportSubscriptionsInput"}
7394	if s.NextToken != nil && len(*s.NextToken) < 1 {
7395		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7396	}
7397
7398	if invalidParams.Len() > 0 {
7399		return invalidParams
7400	}
7401	return nil
7402}
7403
7404// SetMaxResults sets the MaxResults field's value.
7405func (s *DescribeUsageReportSubscriptionsInput) SetMaxResults(v int64) *DescribeUsageReportSubscriptionsInput {
7406	s.MaxResults = &v
7407	return s
7408}
7409
7410// SetNextToken sets the NextToken field's value.
7411func (s *DescribeUsageReportSubscriptionsInput) SetNextToken(v string) *DescribeUsageReportSubscriptionsInput {
7412	s.NextToken = &v
7413	return s
7414}
7415
7416type DescribeUsageReportSubscriptionsOutput struct {
7417	_ struct{} `type:"structure"`
7418
7419	// The pagination token to use to retrieve the next page of results for this
7420	// operation. If there are no more pages, this value is null.
7421	NextToken *string `min:"1" type:"string"`
7422
7423	// Information about the usage report subscription.
7424	UsageReportSubscriptions []*UsageReportSubscription `type:"list"`
7425}
7426
7427// String returns the string representation
7428func (s DescribeUsageReportSubscriptionsOutput) String() string {
7429	return awsutil.Prettify(s)
7430}
7431
7432// GoString returns the string representation
7433func (s DescribeUsageReportSubscriptionsOutput) GoString() string {
7434	return s.String()
7435}
7436
7437// SetNextToken sets the NextToken field's value.
7438func (s *DescribeUsageReportSubscriptionsOutput) SetNextToken(v string) *DescribeUsageReportSubscriptionsOutput {
7439	s.NextToken = &v
7440	return s
7441}
7442
7443// SetUsageReportSubscriptions sets the UsageReportSubscriptions field's value.
7444func (s *DescribeUsageReportSubscriptionsOutput) SetUsageReportSubscriptions(v []*UsageReportSubscription) *DescribeUsageReportSubscriptionsOutput {
7445	s.UsageReportSubscriptions = v
7446	return s
7447}
7448
7449type DescribeUserStackAssociationsInput struct {
7450	_ struct{} `type:"structure"`
7451
7452	// The authentication type for the user who is associated with the stack. You
7453	// must specify USERPOOL.
7454	AuthenticationType *string `type:"string" enum:"AuthenticationType"`
7455
7456	// The maximum size of each page of results.
7457	MaxResults *int64 `type:"integer"`
7458
7459	// The pagination token to use to retrieve the next page of results for this
7460	// operation. If this value is null, it retrieves the first page.
7461	NextToken *string `min:"1" type:"string"`
7462
7463	// The name of the stack that is associated with the user.
7464	StackName *string `min:"1" type:"string"`
7465
7466	// The email address of the user who is associated with the stack.
7467	//
7468	// Users' email addresses are case-sensitive.
7469	UserName *string `min:"1" type:"string" sensitive:"true"`
7470}
7471
7472// String returns the string representation
7473func (s DescribeUserStackAssociationsInput) String() string {
7474	return awsutil.Prettify(s)
7475}
7476
7477// GoString returns the string representation
7478func (s DescribeUserStackAssociationsInput) GoString() string {
7479	return s.String()
7480}
7481
7482// Validate inspects the fields of the type to determine if they are valid.
7483func (s *DescribeUserStackAssociationsInput) Validate() error {
7484	invalidParams := request.ErrInvalidParams{Context: "DescribeUserStackAssociationsInput"}
7485	if s.NextToken != nil && len(*s.NextToken) < 1 {
7486		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7487	}
7488	if s.StackName != nil && len(*s.StackName) < 1 {
7489		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
7490	}
7491	if s.UserName != nil && len(*s.UserName) < 1 {
7492		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
7493	}
7494
7495	if invalidParams.Len() > 0 {
7496		return invalidParams
7497	}
7498	return nil
7499}
7500
7501// SetAuthenticationType sets the AuthenticationType field's value.
7502func (s *DescribeUserStackAssociationsInput) SetAuthenticationType(v string) *DescribeUserStackAssociationsInput {
7503	s.AuthenticationType = &v
7504	return s
7505}
7506
7507// SetMaxResults sets the MaxResults field's value.
7508func (s *DescribeUserStackAssociationsInput) SetMaxResults(v int64) *DescribeUserStackAssociationsInput {
7509	s.MaxResults = &v
7510	return s
7511}
7512
7513// SetNextToken sets the NextToken field's value.
7514func (s *DescribeUserStackAssociationsInput) SetNextToken(v string) *DescribeUserStackAssociationsInput {
7515	s.NextToken = &v
7516	return s
7517}
7518
7519// SetStackName sets the StackName field's value.
7520func (s *DescribeUserStackAssociationsInput) SetStackName(v string) *DescribeUserStackAssociationsInput {
7521	s.StackName = &v
7522	return s
7523}
7524
7525// SetUserName sets the UserName field's value.
7526func (s *DescribeUserStackAssociationsInput) SetUserName(v string) *DescribeUserStackAssociationsInput {
7527	s.UserName = &v
7528	return s
7529}
7530
7531type DescribeUserStackAssociationsOutput struct {
7532	_ struct{} `type:"structure"`
7533
7534	// The pagination token to use to retrieve the next page of results for this
7535	// operation. If there are no more pages, this value is null.
7536	NextToken *string `min:"1" type:"string"`
7537
7538	// The UserStackAssociation objects.
7539	UserStackAssociations []*UserStackAssociation `min:"1" type:"list"`
7540}
7541
7542// String returns the string representation
7543func (s DescribeUserStackAssociationsOutput) String() string {
7544	return awsutil.Prettify(s)
7545}
7546
7547// GoString returns the string representation
7548func (s DescribeUserStackAssociationsOutput) GoString() string {
7549	return s.String()
7550}
7551
7552// SetNextToken sets the NextToken field's value.
7553func (s *DescribeUserStackAssociationsOutput) SetNextToken(v string) *DescribeUserStackAssociationsOutput {
7554	s.NextToken = &v
7555	return s
7556}
7557
7558// SetUserStackAssociations sets the UserStackAssociations field's value.
7559func (s *DescribeUserStackAssociationsOutput) SetUserStackAssociations(v []*UserStackAssociation) *DescribeUserStackAssociationsOutput {
7560	s.UserStackAssociations = v
7561	return s
7562}
7563
7564type DescribeUsersInput struct {
7565	_ struct{} `type:"structure"`
7566
7567	// The authentication type for the users in the user pool to describe. You must
7568	// specify USERPOOL.
7569	//
7570	// AuthenticationType is a required field
7571	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
7572
7573	// The maximum size of each page of results.
7574	MaxResults *int64 `type:"integer"`
7575
7576	// The pagination token to use to retrieve the next page of results for this
7577	// operation. If this value is null, it retrieves the first page.
7578	NextToken *string `min:"1" type:"string"`
7579}
7580
7581// String returns the string representation
7582func (s DescribeUsersInput) String() string {
7583	return awsutil.Prettify(s)
7584}
7585
7586// GoString returns the string representation
7587func (s DescribeUsersInput) GoString() string {
7588	return s.String()
7589}
7590
7591// Validate inspects the fields of the type to determine if they are valid.
7592func (s *DescribeUsersInput) Validate() error {
7593	invalidParams := request.ErrInvalidParams{Context: "DescribeUsersInput"}
7594	if s.AuthenticationType == nil {
7595		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
7596	}
7597	if s.NextToken != nil && len(*s.NextToken) < 1 {
7598		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7599	}
7600
7601	if invalidParams.Len() > 0 {
7602		return invalidParams
7603	}
7604	return nil
7605}
7606
7607// SetAuthenticationType sets the AuthenticationType field's value.
7608func (s *DescribeUsersInput) SetAuthenticationType(v string) *DescribeUsersInput {
7609	s.AuthenticationType = &v
7610	return s
7611}
7612
7613// SetMaxResults sets the MaxResults field's value.
7614func (s *DescribeUsersInput) SetMaxResults(v int64) *DescribeUsersInput {
7615	s.MaxResults = &v
7616	return s
7617}
7618
7619// SetNextToken sets the NextToken field's value.
7620func (s *DescribeUsersInput) SetNextToken(v string) *DescribeUsersInput {
7621	s.NextToken = &v
7622	return s
7623}
7624
7625type DescribeUsersOutput struct {
7626	_ struct{} `type:"structure"`
7627
7628	// The pagination token to use to retrieve the next page of results for this
7629	// operation. If there are no more pages, this value is null.
7630	NextToken *string `min:"1" type:"string"`
7631
7632	// Information about users in the user pool.
7633	Users []*User `type:"list"`
7634}
7635
7636// String returns the string representation
7637func (s DescribeUsersOutput) String() string {
7638	return awsutil.Prettify(s)
7639}
7640
7641// GoString returns the string representation
7642func (s DescribeUsersOutput) GoString() string {
7643	return s.String()
7644}
7645
7646// SetNextToken sets the NextToken field's value.
7647func (s *DescribeUsersOutput) SetNextToken(v string) *DescribeUsersOutput {
7648	s.NextToken = &v
7649	return s
7650}
7651
7652// SetUsers sets the Users field's value.
7653func (s *DescribeUsersOutput) SetUsers(v []*User) *DescribeUsersOutput {
7654	s.Users = v
7655	return s
7656}
7657
7658// Describes the configuration information required to join fleets and image
7659// builders to Microsoft Active Directory domains.
7660type DirectoryConfig struct {
7661	_ struct{} `type:"structure"`
7662
7663	// The time the directory configuration was created.
7664	CreatedTime *time.Time `type:"timestamp"`
7665
7666	// The fully qualified name of the directory (for example, corp.example.com).
7667	//
7668	// DirectoryName is a required field
7669	DirectoryName *string `type:"string" required:"true"`
7670
7671	// The distinguished names of the organizational units for computer accounts.
7672	OrganizationalUnitDistinguishedNames []*string `type:"list"`
7673
7674	// The credentials for the service account used by the fleet or image builder
7675	// to connect to the directory.
7676	ServiceAccountCredentials *ServiceAccountCredentials `type:"structure"`
7677}
7678
7679// String returns the string representation
7680func (s DirectoryConfig) String() string {
7681	return awsutil.Prettify(s)
7682}
7683
7684// GoString returns the string representation
7685func (s DirectoryConfig) GoString() string {
7686	return s.String()
7687}
7688
7689// SetCreatedTime sets the CreatedTime field's value.
7690func (s *DirectoryConfig) SetCreatedTime(v time.Time) *DirectoryConfig {
7691	s.CreatedTime = &v
7692	return s
7693}
7694
7695// SetDirectoryName sets the DirectoryName field's value.
7696func (s *DirectoryConfig) SetDirectoryName(v string) *DirectoryConfig {
7697	s.DirectoryName = &v
7698	return s
7699}
7700
7701// SetOrganizationalUnitDistinguishedNames sets the OrganizationalUnitDistinguishedNames field's value.
7702func (s *DirectoryConfig) SetOrganizationalUnitDistinguishedNames(v []*string) *DirectoryConfig {
7703	s.OrganizationalUnitDistinguishedNames = v
7704	return s
7705}
7706
7707// SetServiceAccountCredentials sets the ServiceAccountCredentials field's value.
7708func (s *DirectoryConfig) SetServiceAccountCredentials(v *ServiceAccountCredentials) *DirectoryConfig {
7709	s.ServiceAccountCredentials = v
7710	return s
7711}
7712
7713type DisableUserInput struct {
7714	_ struct{} `type:"structure"`
7715
7716	// The authentication type for the user. You must specify USERPOOL.
7717	//
7718	// AuthenticationType is a required field
7719	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
7720
7721	// The email address of the user.
7722	//
7723	// Users' email addresses are case-sensitive.
7724	//
7725	// UserName is a required field
7726	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
7727}
7728
7729// String returns the string representation
7730func (s DisableUserInput) String() string {
7731	return awsutil.Prettify(s)
7732}
7733
7734// GoString returns the string representation
7735func (s DisableUserInput) GoString() string {
7736	return s.String()
7737}
7738
7739// Validate inspects the fields of the type to determine if they are valid.
7740func (s *DisableUserInput) Validate() error {
7741	invalidParams := request.ErrInvalidParams{Context: "DisableUserInput"}
7742	if s.AuthenticationType == nil {
7743		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
7744	}
7745	if s.UserName == nil {
7746		invalidParams.Add(request.NewErrParamRequired("UserName"))
7747	}
7748	if s.UserName != nil && len(*s.UserName) < 1 {
7749		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
7750	}
7751
7752	if invalidParams.Len() > 0 {
7753		return invalidParams
7754	}
7755	return nil
7756}
7757
7758// SetAuthenticationType sets the AuthenticationType field's value.
7759func (s *DisableUserInput) SetAuthenticationType(v string) *DisableUserInput {
7760	s.AuthenticationType = &v
7761	return s
7762}
7763
7764// SetUserName sets the UserName field's value.
7765func (s *DisableUserInput) SetUserName(v string) *DisableUserInput {
7766	s.UserName = &v
7767	return s
7768}
7769
7770type DisableUserOutput struct {
7771	_ struct{} `type:"structure"`
7772}
7773
7774// String returns the string representation
7775func (s DisableUserOutput) String() string {
7776	return awsutil.Prettify(s)
7777}
7778
7779// GoString returns the string representation
7780func (s DisableUserOutput) GoString() string {
7781	return s.String()
7782}
7783
7784type DisassociateFleetInput struct {
7785	_ struct{} `type:"structure"`
7786
7787	// The name of the fleet.
7788	//
7789	// FleetName is a required field
7790	FleetName *string `min:"1" type:"string" required:"true"`
7791
7792	// The name of the stack.
7793	//
7794	// StackName is a required field
7795	StackName *string `min:"1" type:"string" required:"true"`
7796}
7797
7798// String returns the string representation
7799func (s DisassociateFleetInput) String() string {
7800	return awsutil.Prettify(s)
7801}
7802
7803// GoString returns the string representation
7804func (s DisassociateFleetInput) GoString() string {
7805	return s.String()
7806}
7807
7808// Validate inspects the fields of the type to determine if they are valid.
7809func (s *DisassociateFleetInput) Validate() error {
7810	invalidParams := request.ErrInvalidParams{Context: "DisassociateFleetInput"}
7811	if s.FleetName == nil {
7812		invalidParams.Add(request.NewErrParamRequired("FleetName"))
7813	}
7814	if s.FleetName != nil && len(*s.FleetName) < 1 {
7815		invalidParams.Add(request.NewErrParamMinLen("FleetName", 1))
7816	}
7817	if s.StackName == nil {
7818		invalidParams.Add(request.NewErrParamRequired("StackName"))
7819	}
7820	if s.StackName != nil && len(*s.StackName) < 1 {
7821		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
7822	}
7823
7824	if invalidParams.Len() > 0 {
7825		return invalidParams
7826	}
7827	return nil
7828}
7829
7830// SetFleetName sets the FleetName field's value.
7831func (s *DisassociateFleetInput) SetFleetName(v string) *DisassociateFleetInput {
7832	s.FleetName = &v
7833	return s
7834}
7835
7836// SetStackName sets the StackName field's value.
7837func (s *DisassociateFleetInput) SetStackName(v string) *DisassociateFleetInput {
7838	s.StackName = &v
7839	return s
7840}
7841
7842type DisassociateFleetOutput struct {
7843	_ struct{} `type:"structure"`
7844}
7845
7846// String returns the string representation
7847func (s DisassociateFleetOutput) String() string {
7848	return awsutil.Prettify(s)
7849}
7850
7851// GoString returns the string representation
7852func (s DisassociateFleetOutput) GoString() string {
7853	return s.String()
7854}
7855
7856// Describes the configuration information required to join fleets and image
7857// builders to Microsoft Active Directory domains.
7858type DomainJoinInfo struct {
7859	_ struct{} `type:"structure"`
7860
7861	// The fully qualified name of the directory (for example, corp.example.com).
7862	DirectoryName *string `type:"string"`
7863
7864	// The distinguished name of the organizational unit for computer accounts.
7865	OrganizationalUnitDistinguishedName *string `type:"string"`
7866}
7867
7868// String returns the string representation
7869func (s DomainJoinInfo) String() string {
7870	return awsutil.Prettify(s)
7871}
7872
7873// GoString returns the string representation
7874func (s DomainJoinInfo) GoString() string {
7875	return s.String()
7876}
7877
7878// SetDirectoryName sets the DirectoryName field's value.
7879func (s *DomainJoinInfo) SetDirectoryName(v string) *DomainJoinInfo {
7880	s.DirectoryName = &v
7881	return s
7882}
7883
7884// SetOrganizationalUnitDistinguishedName sets the OrganizationalUnitDistinguishedName field's value.
7885func (s *DomainJoinInfo) SetOrganizationalUnitDistinguishedName(v string) *DomainJoinInfo {
7886	s.OrganizationalUnitDistinguishedName = &v
7887	return s
7888}
7889
7890type EnableUserInput struct {
7891	_ struct{} `type:"structure"`
7892
7893	// The authentication type for the user. You must specify USERPOOL.
7894	//
7895	// AuthenticationType is a required field
7896	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
7897
7898	// The email address of the user.
7899	//
7900	// Users' email addresses are case-sensitive. During login, if they specify
7901	// an email address that doesn't use the same capitalization as the email address
7902	// specified when their user pool account was created, a "user does not exist"
7903	// error message displays.
7904	//
7905	// UserName is a required field
7906	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
7907}
7908
7909// String returns the string representation
7910func (s EnableUserInput) String() string {
7911	return awsutil.Prettify(s)
7912}
7913
7914// GoString returns the string representation
7915func (s EnableUserInput) GoString() string {
7916	return s.String()
7917}
7918
7919// Validate inspects the fields of the type to determine if they are valid.
7920func (s *EnableUserInput) Validate() error {
7921	invalidParams := request.ErrInvalidParams{Context: "EnableUserInput"}
7922	if s.AuthenticationType == nil {
7923		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
7924	}
7925	if s.UserName == nil {
7926		invalidParams.Add(request.NewErrParamRequired("UserName"))
7927	}
7928	if s.UserName != nil && len(*s.UserName) < 1 {
7929		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
7930	}
7931
7932	if invalidParams.Len() > 0 {
7933		return invalidParams
7934	}
7935	return nil
7936}
7937
7938// SetAuthenticationType sets the AuthenticationType field's value.
7939func (s *EnableUserInput) SetAuthenticationType(v string) *EnableUserInput {
7940	s.AuthenticationType = &v
7941	return s
7942}
7943
7944// SetUserName sets the UserName field's value.
7945func (s *EnableUserInput) SetUserName(v string) *EnableUserInput {
7946	s.UserName = &v
7947	return s
7948}
7949
7950type EnableUserOutput struct {
7951	_ struct{} `type:"structure"`
7952}
7953
7954// String returns the string representation
7955func (s EnableUserOutput) String() string {
7956	return awsutil.Prettify(s)
7957}
7958
7959// GoString returns the string representation
7960func (s EnableUserOutput) GoString() string {
7961	return s.String()
7962}
7963
7964type ExpireSessionInput struct {
7965	_ struct{} `type:"structure"`
7966
7967	// The identifier of the streaming session.
7968	//
7969	// SessionId is a required field
7970	SessionId *string `min:"1" type:"string" required:"true"`
7971}
7972
7973// String returns the string representation
7974func (s ExpireSessionInput) String() string {
7975	return awsutil.Prettify(s)
7976}
7977
7978// GoString returns the string representation
7979func (s ExpireSessionInput) GoString() string {
7980	return s.String()
7981}
7982
7983// Validate inspects the fields of the type to determine if they are valid.
7984func (s *ExpireSessionInput) Validate() error {
7985	invalidParams := request.ErrInvalidParams{Context: "ExpireSessionInput"}
7986	if s.SessionId == nil {
7987		invalidParams.Add(request.NewErrParamRequired("SessionId"))
7988	}
7989	if s.SessionId != nil && len(*s.SessionId) < 1 {
7990		invalidParams.Add(request.NewErrParamMinLen("SessionId", 1))
7991	}
7992
7993	if invalidParams.Len() > 0 {
7994		return invalidParams
7995	}
7996	return nil
7997}
7998
7999// SetSessionId sets the SessionId field's value.
8000func (s *ExpireSessionInput) SetSessionId(v string) *ExpireSessionInput {
8001	s.SessionId = &v
8002	return s
8003}
8004
8005type ExpireSessionOutput struct {
8006	_ struct{} `type:"structure"`
8007}
8008
8009// String returns the string representation
8010func (s ExpireSessionOutput) String() string {
8011	return awsutil.Prettify(s)
8012}
8013
8014// GoString returns the string representation
8015func (s ExpireSessionOutput) GoString() string {
8016	return s.String()
8017}
8018
8019// Describes a fleet.
8020type Fleet struct {
8021	_ struct{} `type:"structure"`
8022
8023	// The Amazon Resource Name (ARN) for the fleet.
8024	//
8025	// Arn is a required field
8026	Arn *string `type:"string" required:"true"`
8027
8028	// The capacity status for the fleet.
8029	//
8030	// ComputeCapacityStatus is a required field
8031	ComputeCapacityStatus *ComputeCapacityStatus `type:"structure" required:"true"`
8032
8033	// The time the fleet was created.
8034	CreatedTime *time.Time `type:"timestamp"`
8035
8036	// The description to display.
8037	Description *string `min:"1" type:"string"`
8038
8039	// The amount of time that a streaming session remains active after users disconnect.
8040	// If they try to reconnect to the streaming session after a disconnection or
8041	// network interruption within this time interval, they are connected to their
8042	// previous session. Otherwise, they are connected to a new session with a new
8043	// streaming instance.
8044	//
8045	// Specify a value between 60 and 360000.
8046	DisconnectTimeoutInSeconds *int64 `type:"integer"`
8047
8048	// The fleet name to display.
8049	DisplayName *string `min:"1" type:"string"`
8050
8051	// The name of the directory and organizational unit (OU) to use to join the
8052	// fleet to a Microsoft Active Directory domain.
8053	DomainJoinInfo *DomainJoinInfo `type:"structure"`
8054
8055	// Indicates whether default internet access is enabled for the fleet.
8056	EnableDefaultInternetAccess *bool `type:"boolean"`
8057
8058	// The fleet errors.
8059	FleetErrors []*FleetError `type:"list"`
8060
8061	// The fleet type.
8062	//
8063	// ALWAYS_ON
8064	//
8065	// Provides users with instant-on access to their apps. You are charged for
8066	// all running instances in your fleet, even if no users are streaming apps.
8067	//
8068	// ON_DEMAND
8069	//
8070	// Provide users with access to applications after they connect, which takes
8071	// one to two minutes. You are charged for instance streaming when users are
8072	// connected and a small hourly fee for instances that are not streaming apps.
8073	FleetType *string `type:"string" enum:"FleetType"`
8074
8075	// The ARN of the IAM role that is applied to the fleet. To assume a role, the
8076	// fleet instance calls the AWS Security Token Service (STS) AssumeRole API
8077	// operation and passes the ARN of the role to use. The operation creates a
8078	// new session with temporary credentials. AppStream 2.0 retrieves the temporary
8079	// credentials and creates the AppStream_Machine_Role credential profile on
8080	// the instance.
8081	//
8082	// For more information, see Using an IAM Role to Grant Permissions to Applications
8083	// 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)
8084	// in the Amazon AppStream 2.0 Administration Guide.
8085	IamRoleArn *string `type:"string"`
8086
8087	// The amount of time that users can be idle (inactive) before they are disconnected
8088	// from their streaming session and the DisconnectTimeoutInSeconds time interval
8089	// begins. Users are notified before they are disconnected due to inactivity.
8090	// If users try to reconnect to the streaming session before the time interval
8091	// specified in DisconnectTimeoutInSeconds elapses, they are connected to their
8092	// previous session. Users are considered idle when they stop providing keyboard
8093	// or mouse input during their streaming session. File uploads and downloads,
8094	// audio in, audio out, and pixels changing do not qualify as user activity.
8095	// If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds
8096	// elapses, they are disconnected.
8097	//
8098	// To prevent users from being disconnected due to inactivity, specify a value
8099	// of 0. Otherwise, specify a value between 60 and 3600. The default value is
8100	// 0.
8101	//
8102	// If you enable this feature, we recommend that you specify a value that corresponds
8103	// exactly to a whole number of minutes (for example, 60, 120, and 180). If
8104	// you don't do this, the value is rounded to the nearest minute. For example,
8105	// if you specify a value of 70, users are disconnected after 1 minute of inactivity.
8106	// If you specify a value that is at the midpoint between two different minutes,
8107	// the value is rounded up. For example, if you specify a value of 90, users
8108	// are disconnected after 2 minutes of inactivity.
8109	IdleDisconnectTimeoutInSeconds *int64 `type:"integer"`
8110
8111	// The ARN for the public, private, or shared image.
8112	ImageArn *string `type:"string"`
8113
8114	// The name of the image used to create the fleet.
8115	ImageName *string `min:"1" type:"string"`
8116
8117	// The instance type to use when launching fleet instances. The following instance
8118	// types are available:
8119	//
8120	//    * stream.standard.medium
8121	//
8122	//    * stream.standard.large
8123	//
8124	//    * stream.compute.large
8125	//
8126	//    * stream.compute.xlarge
8127	//
8128	//    * stream.compute.2xlarge
8129	//
8130	//    * stream.compute.4xlarge
8131	//
8132	//    * stream.compute.8xlarge
8133	//
8134	//    * stream.memory.large
8135	//
8136	//    * stream.memory.xlarge
8137	//
8138	//    * stream.memory.2xlarge
8139	//
8140	//    * stream.memory.4xlarge
8141	//
8142	//    * stream.memory.8xlarge
8143	//
8144	//    * stream.graphics-design.large
8145	//
8146	//    * stream.graphics-design.xlarge
8147	//
8148	//    * stream.graphics-design.2xlarge
8149	//
8150	//    * stream.graphics-design.4xlarge
8151	//
8152	//    * stream.graphics-desktop.2xlarge
8153	//
8154	//    * stream.graphics-pro.4xlarge
8155	//
8156	//    * stream.graphics-pro.8xlarge
8157	//
8158	//    * stream.graphics-pro.16xlarge
8159	//
8160	// InstanceType is a required field
8161	InstanceType *string `min:"1" type:"string" required:"true"`
8162
8163	// The maximum amount of time that a streaming session can remain active, in
8164	// seconds. If users are still connected to a streaming instance five minutes
8165	// before this limit is reached, they are prompted to save any open documents
8166	// before being disconnected. After this time elapses, the instance is terminated
8167	// and replaced by a new instance.
8168	//
8169	// Specify a value between 600 and 360000.
8170	MaxUserDurationInSeconds *int64 `type:"integer"`
8171
8172	// The name of the fleet.
8173	//
8174	// Name is a required field
8175	Name *string `min:"1" type:"string" required:"true"`
8176
8177	// The current state for the fleet.
8178	//
8179	// State is a required field
8180	State *string `type:"string" required:"true" enum:"FleetState"`
8181
8182	// The VPC configuration for the fleet.
8183	VpcConfig *VpcConfig `type:"structure"`
8184}
8185
8186// String returns the string representation
8187func (s Fleet) String() string {
8188	return awsutil.Prettify(s)
8189}
8190
8191// GoString returns the string representation
8192func (s Fleet) GoString() string {
8193	return s.String()
8194}
8195
8196// SetArn sets the Arn field's value.
8197func (s *Fleet) SetArn(v string) *Fleet {
8198	s.Arn = &v
8199	return s
8200}
8201
8202// SetComputeCapacityStatus sets the ComputeCapacityStatus field's value.
8203func (s *Fleet) SetComputeCapacityStatus(v *ComputeCapacityStatus) *Fleet {
8204	s.ComputeCapacityStatus = v
8205	return s
8206}
8207
8208// SetCreatedTime sets the CreatedTime field's value.
8209func (s *Fleet) SetCreatedTime(v time.Time) *Fleet {
8210	s.CreatedTime = &v
8211	return s
8212}
8213
8214// SetDescription sets the Description field's value.
8215func (s *Fleet) SetDescription(v string) *Fleet {
8216	s.Description = &v
8217	return s
8218}
8219
8220// SetDisconnectTimeoutInSeconds sets the DisconnectTimeoutInSeconds field's value.
8221func (s *Fleet) SetDisconnectTimeoutInSeconds(v int64) *Fleet {
8222	s.DisconnectTimeoutInSeconds = &v
8223	return s
8224}
8225
8226// SetDisplayName sets the DisplayName field's value.
8227func (s *Fleet) SetDisplayName(v string) *Fleet {
8228	s.DisplayName = &v
8229	return s
8230}
8231
8232// SetDomainJoinInfo sets the DomainJoinInfo field's value.
8233func (s *Fleet) SetDomainJoinInfo(v *DomainJoinInfo) *Fleet {
8234	s.DomainJoinInfo = v
8235	return s
8236}
8237
8238// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
8239func (s *Fleet) SetEnableDefaultInternetAccess(v bool) *Fleet {
8240	s.EnableDefaultInternetAccess = &v
8241	return s
8242}
8243
8244// SetFleetErrors sets the FleetErrors field's value.
8245func (s *Fleet) SetFleetErrors(v []*FleetError) *Fleet {
8246	s.FleetErrors = v
8247	return s
8248}
8249
8250// SetFleetType sets the FleetType field's value.
8251func (s *Fleet) SetFleetType(v string) *Fleet {
8252	s.FleetType = &v
8253	return s
8254}
8255
8256// SetIamRoleArn sets the IamRoleArn field's value.
8257func (s *Fleet) SetIamRoleArn(v string) *Fleet {
8258	s.IamRoleArn = &v
8259	return s
8260}
8261
8262// SetIdleDisconnectTimeoutInSeconds sets the IdleDisconnectTimeoutInSeconds field's value.
8263func (s *Fleet) SetIdleDisconnectTimeoutInSeconds(v int64) *Fleet {
8264	s.IdleDisconnectTimeoutInSeconds = &v
8265	return s
8266}
8267
8268// SetImageArn sets the ImageArn field's value.
8269func (s *Fleet) SetImageArn(v string) *Fleet {
8270	s.ImageArn = &v
8271	return s
8272}
8273
8274// SetImageName sets the ImageName field's value.
8275func (s *Fleet) SetImageName(v string) *Fleet {
8276	s.ImageName = &v
8277	return s
8278}
8279
8280// SetInstanceType sets the InstanceType field's value.
8281func (s *Fleet) SetInstanceType(v string) *Fleet {
8282	s.InstanceType = &v
8283	return s
8284}
8285
8286// SetMaxUserDurationInSeconds sets the MaxUserDurationInSeconds field's value.
8287func (s *Fleet) SetMaxUserDurationInSeconds(v int64) *Fleet {
8288	s.MaxUserDurationInSeconds = &v
8289	return s
8290}
8291
8292// SetName sets the Name field's value.
8293func (s *Fleet) SetName(v string) *Fleet {
8294	s.Name = &v
8295	return s
8296}
8297
8298// SetState sets the State field's value.
8299func (s *Fleet) SetState(v string) *Fleet {
8300	s.State = &v
8301	return s
8302}
8303
8304// SetVpcConfig sets the VpcConfig field's value.
8305func (s *Fleet) SetVpcConfig(v *VpcConfig) *Fleet {
8306	s.VpcConfig = v
8307	return s
8308}
8309
8310// Describes a fleet error.
8311type FleetError struct {
8312	_ struct{} `type:"structure"`
8313
8314	// The error code.
8315	ErrorCode *string `type:"string" enum:"FleetErrorCode"`
8316
8317	// The error message.
8318	ErrorMessage *string `min:"1" type:"string"`
8319}
8320
8321// String returns the string representation
8322func (s FleetError) String() string {
8323	return awsutil.Prettify(s)
8324}
8325
8326// GoString returns the string representation
8327func (s FleetError) GoString() string {
8328	return s.String()
8329}
8330
8331// SetErrorCode sets the ErrorCode field's value.
8332func (s *FleetError) SetErrorCode(v string) *FleetError {
8333	s.ErrorCode = &v
8334	return s
8335}
8336
8337// SetErrorMessage sets the ErrorMessage field's value.
8338func (s *FleetError) SetErrorMessage(v string) *FleetError {
8339	s.ErrorMessage = &v
8340	return s
8341}
8342
8343// Describes an image.
8344type Image struct {
8345	_ struct{} `type:"structure"`
8346
8347	// The applications associated with the image.
8348	Applications []*Application `type:"list"`
8349
8350	// The version of the AppStream 2.0 agent to use for instances that are launched
8351	// from this image.
8352	AppstreamAgentVersion *string `min:"1" type:"string"`
8353
8354	// The ARN of the image.
8355	Arn *string `type:"string"`
8356
8357	// The ARN of the image from which this image was created.
8358	BaseImageArn *string `type:"string"`
8359
8360	// The time the image was created.
8361	CreatedTime *time.Time `type:"timestamp"`
8362
8363	// The description to display.
8364	Description *string `min:"1" type:"string"`
8365
8366	// The image name to display.
8367	DisplayName *string `min:"1" type:"string"`
8368
8369	// The name of the image builder that was used to create the private image.
8370	// If the image is shared, this value is null.
8371	ImageBuilderName *string `min:"1" type:"string"`
8372
8373	// Indicates whether an image builder can be launched from this image.
8374	ImageBuilderSupported *bool `type:"boolean"`
8375
8376	// The permissions to provide to the destination AWS account for the specified
8377	// image.
8378	ImagePermissions *ImagePermissions `type:"structure"`
8379
8380	// The name of the image.
8381	//
8382	// Name is a required field
8383	Name *string `min:"1" type:"string" required:"true"`
8384
8385	// The operating system platform of the image.
8386	Platform *string `type:"string" enum:"PlatformType"`
8387
8388	// The release date of the public base image. For private images, this date
8389	// is the release date of the base image from which the image was created.
8390	PublicBaseImageReleasedDate *time.Time `type:"timestamp"`
8391
8392	// The image starts in the PENDING state. If image creation succeeds, the state
8393	// is AVAILABLE. If image creation fails, the state is FAILED.
8394	State *string `type:"string" enum:"ImageState"`
8395
8396	// The reason why the last state change occurred.
8397	StateChangeReason *ImageStateChangeReason `type:"structure"`
8398
8399	// Indicates whether the image is public or private.
8400	Visibility *string `type:"string" enum:"VisibilityType"`
8401}
8402
8403// String returns the string representation
8404func (s Image) String() string {
8405	return awsutil.Prettify(s)
8406}
8407
8408// GoString returns the string representation
8409func (s Image) GoString() string {
8410	return s.String()
8411}
8412
8413// SetApplications sets the Applications field's value.
8414func (s *Image) SetApplications(v []*Application) *Image {
8415	s.Applications = v
8416	return s
8417}
8418
8419// SetAppstreamAgentVersion sets the AppstreamAgentVersion field's value.
8420func (s *Image) SetAppstreamAgentVersion(v string) *Image {
8421	s.AppstreamAgentVersion = &v
8422	return s
8423}
8424
8425// SetArn sets the Arn field's value.
8426func (s *Image) SetArn(v string) *Image {
8427	s.Arn = &v
8428	return s
8429}
8430
8431// SetBaseImageArn sets the BaseImageArn field's value.
8432func (s *Image) SetBaseImageArn(v string) *Image {
8433	s.BaseImageArn = &v
8434	return s
8435}
8436
8437// SetCreatedTime sets the CreatedTime field's value.
8438func (s *Image) SetCreatedTime(v time.Time) *Image {
8439	s.CreatedTime = &v
8440	return s
8441}
8442
8443// SetDescription sets the Description field's value.
8444func (s *Image) SetDescription(v string) *Image {
8445	s.Description = &v
8446	return s
8447}
8448
8449// SetDisplayName sets the DisplayName field's value.
8450func (s *Image) SetDisplayName(v string) *Image {
8451	s.DisplayName = &v
8452	return s
8453}
8454
8455// SetImageBuilderName sets the ImageBuilderName field's value.
8456func (s *Image) SetImageBuilderName(v string) *Image {
8457	s.ImageBuilderName = &v
8458	return s
8459}
8460
8461// SetImageBuilderSupported sets the ImageBuilderSupported field's value.
8462func (s *Image) SetImageBuilderSupported(v bool) *Image {
8463	s.ImageBuilderSupported = &v
8464	return s
8465}
8466
8467// SetImagePermissions sets the ImagePermissions field's value.
8468func (s *Image) SetImagePermissions(v *ImagePermissions) *Image {
8469	s.ImagePermissions = v
8470	return s
8471}
8472
8473// SetName sets the Name field's value.
8474func (s *Image) SetName(v string) *Image {
8475	s.Name = &v
8476	return s
8477}
8478
8479// SetPlatform sets the Platform field's value.
8480func (s *Image) SetPlatform(v string) *Image {
8481	s.Platform = &v
8482	return s
8483}
8484
8485// SetPublicBaseImageReleasedDate sets the PublicBaseImageReleasedDate field's value.
8486func (s *Image) SetPublicBaseImageReleasedDate(v time.Time) *Image {
8487	s.PublicBaseImageReleasedDate = &v
8488	return s
8489}
8490
8491// SetState sets the State field's value.
8492func (s *Image) SetState(v string) *Image {
8493	s.State = &v
8494	return s
8495}
8496
8497// SetStateChangeReason sets the StateChangeReason field's value.
8498func (s *Image) SetStateChangeReason(v *ImageStateChangeReason) *Image {
8499	s.StateChangeReason = v
8500	return s
8501}
8502
8503// SetVisibility sets the Visibility field's value.
8504func (s *Image) SetVisibility(v string) *Image {
8505	s.Visibility = &v
8506	return s
8507}
8508
8509// Describes a virtual machine that is used to create an image.
8510type ImageBuilder struct {
8511	_ struct{} `type:"structure"`
8512
8513	// The list of virtual private cloud (VPC) interface endpoint objects. Administrators
8514	// can connect to the image builder only through the specified endpoints.
8515	AccessEndpoints []*AccessEndpoint `min:"1" type:"list"`
8516
8517	// The version of the AppStream 2.0 agent that is currently being used by the
8518	// image builder.
8519	AppstreamAgentVersion *string `min:"1" type:"string"`
8520
8521	// The ARN for the image builder.
8522	Arn *string `type:"string"`
8523
8524	// The time stamp when the image builder was created.
8525	CreatedTime *time.Time `type:"timestamp"`
8526
8527	// The description to display.
8528	Description *string `min:"1" type:"string"`
8529
8530	// The image builder name to display.
8531	DisplayName *string `min:"1" type:"string"`
8532
8533	// The name of the directory and organizational unit (OU) to use to join the
8534	// image builder to a Microsoft Active Directory domain.
8535	DomainJoinInfo *DomainJoinInfo `type:"structure"`
8536
8537	// Enables or disables default internet access for the image builder.
8538	EnableDefaultInternetAccess *bool `type:"boolean"`
8539
8540	// The ARN of the IAM role that is applied to the image builder. To assume a
8541	// role, the image builder calls the AWS Security Token Service (STS) AssumeRole
8542	// API operation and passes the ARN of the role to use. The operation creates
8543	// a new session with temporary credentials. AppStream 2.0 retrieves the temporary
8544	// credentials and creates the AppStream_Machine_Role credential profile on
8545	// the instance.
8546	//
8547	// For more information, see Using an IAM Role to Grant Permissions to Applications
8548	// 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)
8549	// in the Amazon AppStream 2.0 Administration Guide.
8550	IamRoleArn *string `type:"string"`
8551
8552	// The ARN of the image from which this builder was created.
8553	ImageArn *string `type:"string"`
8554
8555	// The image builder errors.
8556	ImageBuilderErrors []*ResourceError `type:"list"`
8557
8558	// The instance type for the image builder. The following instance types are
8559	// available:
8560	//
8561	//    * stream.standard.medium
8562	//
8563	//    * stream.standard.large
8564	//
8565	//    * stream.compute.large
8566	//
8567	//    * stream.compute.xlarge
8568	//
8569	//    * stream.compute.2xlarge
8570	//
8571	//    * stream.compute.4xlarge
8572	//
8573	//    * stream.compute.8xlarge
8574	//
8575	//    * stream.memory.large
8576	//
8577	//    * stream.memory.xlarge
8578	//
8579	//    * stream.memory.2xlarge
8580	//
8581	//    * stream.memory.4xlarge
8582	//
8583	//    * stream.memory.8xlarge
8584	//
8585	//    * stream.graphics-design.large
8586	//
8587	//    * stream.graphics-design.xlarge
8588	//
8589	//    * stream.graphics-design.2xlarge
8590	//
8591	//    * stream.graphics-design.4xlarge
8592	//
8593	//    * stream.graphics-desktop.2xlarge
8594	//
8595	//    * stream.graphics-pro.4xlarge
8596	//
8597	//    * stream.graphics-pro.8xlarge
8598	//
8599	//    * stream.graphics-pro.16xlarge
8600	InstanceType *string `min:"1" type:"string"`
8601
8602	// The name of the image builder.
8603	//
8604	// Name is a required field
8605	Name *string `min:"1" type:"string" required:"true"`
8606
8607	// Describes the network details of the fleet or image builder instance.
8608	NetworkAccessConfiguration *NetworkAccessConfiguration `type:"structure"`
8609
8610	// The operating system platform of the image builder.
8611	Platform *string `type:"string" enum:"PlatformType"`
8612
8613	// The state of the image builder.
8614	State *string `type:"string" enum:"ImageBuilderState"`
8615
8616	// The reason why the last state change occurred.
8617	StateChangeReason *ImageBuilderStateChangeReason `type:"structure"`
8618
8619	// The VPC configuration of the image builder.
8620	VpcConfig *VpcConfig `type:"structure"`
8621}
8622
8623// String returns the string representation
8624func (s ImageBuilder) String() string {
8625	return awsutil.Prettify(s)
8626}
8627
8628// GoString returns the string representation
8629func (s ImageBuilder) GoString() string {
8630	return s.String()
8631}
8632
8633// SetAccessEndpoints sets the AccessEndpoints field's value.
8634func (s *ImageBuilder) SetAccessEndpoints(v []*AccessEndpoint) *ImageBuilder {
8635	s.AccessEndpoints = v
8636	return s
8637}
8638
8639// SetAppstreamAgentVersion sets the AppstreamAgentVersion field's value.
8640func (s *ImageBuilder) SetAppstreamAgentVersion(v string) *ImageBuilder {
8641	s.AppstreamAgentVersion = &v
8642	return s
8643}
8644
8645// SetArn sets the Arn field's value.
8646func (s *ImageBuilder) SetArn(v string) *ImageBuilder {
8647	s.Arn = &v
8648	return s
8649}
8650
8651// SetCreatedTime sets the CreatedTime field's value.
8652func (s *ImageBuilder) SetCreatedTime(v time.Time) *ImageBuilder {
8653	s.CreatedTime = &v
8654	return s
8655}
8656
8657// SetDescription sets the Description field's value.
8658func (s *ImageBuilder) SetDescription(v string) *ImageBuilder {
8659	s.Description = &v
8660	return s
8661}
8662
8663// SetDisplayName sets the DisplayName field's value.
8664func (s *ImageBuilder) SetDisplayName(v string) *ImageBuilder {
8665	s.DisplayName = &v
8666	return s
8667}
8668
8669// SetDomainJoinInfo sets the DomainJoinInfo field's value.
8670func (s *ImageBuilder) SetDomainJoinInfo(v *DomainJoinInfo) *ImageBuilder {
8671	s.DomainJoinInfo = v
8672	return s
8673}
8674
8675// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
8676func (s *ImageBuilder) SetEnableDefaultInternetAccess(v bool) *ImageBuilder {
8677	s.EnableDefaultInternetAccess = &v
8678	return s
8679}
8680
8681// SetIamRoleArn sets the IamRoleArn field's value.
8682func (s *ImageBuilder) SetIamRoleArn(v string) *ImageBuilder {
8683	s.IamRoleArn = &v
8684	return s
8685}
8686
8687// SetImageArn sets the ImageArn field's value.
8688func (s *ImageBuilder) SetImageArn(v string) *ImageBuilder {
8689	s.ImageArn = &v
8690	return s
8691}
8692
8693// SetImageBuilderErrors sets the ImageBuilderErrors field's value.
8694func (s *ImageBuilder) SetImageBuilderErrors(v []*ResourceError) *ImageBuilder {
8695	s.ImageBuilderErrors = v
8696	return s
8697}
8698
8699// SetInstanceType sets the InstanceType field's value.
8700func (s *ImageBuilder) SetInstanceType(v string) *ImageBuilder {
8701	s.InstanceType = &v
8702	return s
8703}
8704
8705// SetName sets the Name field's value.
8706func (s *ImageBuilder) SetName(v string) *ImageBuilder {
8707	s.Name = &v
8708	return s
8709}
8710
8711// SetNetworkAccessConfiguration sets the NetworkAccessConfiguration field's value.
8712func (s *ImageBuilder) SetNetworkAccessConfiguration(v *NetworkAccessConfiguration) *ImageBuilder {
8713	s.NetworkAccessConfiguration = v
8714	return s
8715}
8716
8717// SetPlatform sets the Platform field's value.
8718func (s *ImageBuilder) SetPlatform(v string) *ImageBuilder {
8719	s.Platform = &v
8720	return s
8721}
8722
8723// SetState sets the State field's value.
8724func (s *ImageBuilder) SetState(v string) *ImageBuilder {
8725	s.State = &v
8726	return s
8727}
8728
8729// SetStateChangeReason sets the StateChangeReason field's value.
8730func (s *ImageBuilder) SetStateChangeReason(v *ImageBuilderStateChangeReason) *ImageBuilder {
8731	s.StateChangeReason = v
8732	return s
8733}
8734
8735// SetVpcConfig sets the VpcConfig field's value.
8736func (s *ImageBuilder) SetVpcConfig(v *VpcConfig) *ImageBuilder {
8737	s.VpcConfig = v
8738	return s
8739}
8740
8741// Describes the reason why the last image builder state change occurred.
8742type ImageBuilderStateChangeReason struct {
8743	_ struct{} `type:"structure"`
8744
8745	// The state change reason code.
8746	Code *string `type:"string" enum:"ImageBuilderStateChangeReasonCode"`
8747
8748	// The state change reason message.
8749	Message *string `min:"1" type:"string"`
8750}
8751
8752// String returns the string representation
8753func (s ImageBuilderStateChangeReason) String() string {
8754	return awsutil.Prettify(s)
8755}
8756
8757// GoString returns the string representation
8758func (s ImageBuilderStateChangeReason) GoString() string {
8759	return s.String()
8760}
8761
8762// SetCode sets the Code field's value.
8763func (s *ImageBuilderStateChangeReason) SetCode(v string) *ImageBuilderStateChangeReason {
8764	s.Code = &v
8765	return s
8766}
8767
8768// SetMessage sets the Message field's value.
8769func (s *ImageBuilderStateChangeReason) SetMessage(v string) *ImageBuilderStateChangeReason {
8770	s.Message = &v
8771	return s
8772}
8773
8774// Describes the permissions for an image.
8775type ImagePermissions struct {
8776	_ struct{} `type:"structure"`
8777
8778	// Indicates whether the image can be used for a fleet.
8779	AllowFleet *bool `locationName:"allowFleet" type:"boolean"`
8780
8781	// Indicates whether the image can be used for an image builder.
8782	AllowImageBuilder *bool `locationName:"allowImageBuilder" type:"boolean"`
8783}
8784
8785// String returns the string representation
8786func (s ImagePermissions) String() string {
8787	return awsutil.Prettify(s)
8788}
8789
8790// GoString returns the string representation
8791func (s ImagePermissions) GoString() string {
8792	return s.String()
8793}
8794
8795// SetAllowFleet sets the AllowFleet field's value.
8796func (s *ImagePermissions) SetAllowFleet(v bool) *ImagePermissions {
8797	s.AllowFleet = &v
8798	return s
8799}
8800
8801// SetAllowImageBuilder sets the AllowImageBuilder field's value.
8802func (s *ImagePermissions) SetAllowImageBuilder(v bool) *ImagePermissions {
8803	s.AllowImageBuilder = &v
8804	return s
8805}
8806
8807// Describes the reason why the last image state change occurred.
8808type ImageStateChangeReason struct {
8809	_ struct{} `type:"structure"`
8810
8811	// The state change reason code.
8812	Code *string `type:"string" enum:"ImageStateChangeReasonCode"`
8813
8814	// The state change reason message.
8815	Message *string `min:"1" type:"string"`
8816}
8817
8818// String returns the string representation
8819func (s ImageStateChangeReason) String() string {
8820	return awsutil.Prettify(s)
8821}
8822
8823// GoString returns the string representation
8824func (s ImageStateChangeReason) GoString() string {
8825	return s.String()
8826}
8827
8828// SetCode sets the Code field's value.
8829func (s *ImageStateChangeReason) SetCode(v string) *ImageStateChangeReason {
8830	s.Code = &v
8831	return s
8832}
8833
8834// SetMessage sets the Message field's value.
8835func (s *ImageStateChangeReason) SetMessage(v string) *ImageStateChangeReason {
8836	s.Message = &v
8837	return s
8838}
8839
8840// The image does not support storage connectors.
8841type IncompatibleImageException struct {
8842	_            struct{}                  `type:"structure"`
8843	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8844
8845	// The error message in the exception.
8846	Message_ *string `locationName:"Message" type:"string"`
8847}
8848
8849// String returns the string representation
8850func (s IncompatibleImageException) String() string {
8851	return awsutil.Prettify(s)
8852}
8853
8854// GoString returns the string representation
8855func (s IncompatibleImageException) GoString() string {
8856	return s.String()
8857}
8858
8859func newErrorIncompatibleImageException(v protocol.ResponseMetadata) error {
8860	return &IncompatibleImageException{
8861		RespMetadata: v,
8862	}
8863}
8864
8865// Code returns the exception type name.
8866func (s *IncompatibleImageException) Code() string {
8867	return "IncompatibleImageException"
8868}
8869
8870// Message returns the exception's message.
8871func (s *IncompatibleImageException) Message() string {
8872	if s.Message_ != nil {
8873		return *s.Message_
8874	}
8875	return ""
8876}
8877
8878// OrigErr always returns nil, satisfies awserr.Error interface.
8879func (s *IncompatibleImageException) OrigErr() error {
8880	return nil
8881}
8882
8883func (s *IncompatibleImageException) Error() string {
8884	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8885}
8886
8887// Status code returns the HTTP status code for the request's response error.
8888func (s *IncompatibleImageException) StatusCode() int {
8889	return s.RespMetadata.StatusCode
8890}
8891
8892// RequestID returns the service's response RequestID for request.
8893func (s *IncompatibleImageException) RequestID() string {
8894	return s.RespMetadata.RequestID
8895}
8896
8897// The resource cannot be created because your AWS account is suspended. For
8898// assistance, contact AWS Support.
8899type InvalidAccountStatusException struct {
8900	_            struct{}                  `type:"structure"`
8901	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8902
8903	// The error message in the exception.
8904	Message_ *string `locationName:"Message" type:"string"`
8905}
8906
8907// String returns the string representation
8908func (s InvalidAccountStatusException) String() string {
8909	return awsutil.Prettify(s)
8910}
8911
8912// GoString returns the string representation
8913func (s InvalidAccountStatusException) GoString() string {
8914	return s.String()
8915}
8916
8917func newErrorInvalidAccountStatusException(v protocol.ResponseMetadata) error {
8918	return &InvalidAccountStatusException{
8919		RespMetadata: v,
8920	}
8921}
8922
8923// Code returns the exception type name.
8924func (s *InvalidAccountStatusException) Code() string {
8925	return "InvalidAccountStatusException"
8926}
8927
8928// Message returns the exception's message.
8929func (s *InvalidAccountStatusException) Message() string {
8930	if s.Message_ != nil {
8931		return *s.Message_
8932	}
8933	return ""
8934}
8935
8936// OrigErr always returns nil, satisfies awserr.Error interface.
8937func (s *InvalidAccountStatusException) OrigErr() error {
8938	return nil
8939}
8940
8941func (s *InvalidAccountStatusException) Error() string {
8942	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8943}
8944
8945// Status code returns the HTTP status code for the request's response error.
8946func (s *InvalidAccountStatusException) StatusCode() int {
8947	return s.RespMetadata.StatusCode
8948}
8949
8950// RequestID returns the service's response RequestID for request.
8951func (s *InvalidAccountStatusException) RequestID() string {
8952	return s.RespMetadata.RequestID
8953}
8954
8955// Indicates an incorrect combination of parameters, or a missing parameter.
8956type InvalidParameterCombinationException struct {
8957	_            struct{}                  `type:"structure"`
8958	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8959
8960	// The error message in the exception.
8961	Message_ *string `locationName:"Message" type:"string"`
8962}
8963
8964// String returns the string representation
8965func (s InvalidParameterCombinationException) String() string {
8966	return awsutil.Prettify(s)
8967}
8968
8969// GoString returns the string representation
8970func (s InvalidParameterCombinationException) GoString() string {
8971	return s.String()
8972}
8973
8974func newErrorInvalidParameterCombinationException(v protocol.ResponseMetadata) error {
8975	return &InvalidParameterCombinationException{
8976		RespMetadata: v,
8977	}
8978}
8979
8980// Code returns the exception type name.
8981func (s *InvalidParameterCombinationException) Code() string {
8982	return "InvalidParameterCombinationException"
8983}
8984
8985// Message returns the exception's message.
8986func (s *InvalidParameterCombinationException) Message() string {
8987	if s.Message_ != nil {
8988		return *s.Message_
8989	}
8990	return ""
8991}
8992
8993// OrigErr always returns nil, satisfies awserr.Error interface.
8994func (s *InvalidParameterCombinationException) OrigErr() error {
8995	return nil
8996}
8997
8998func (s *InvalidParameterCombinationException) Error() string {
8999	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9000}
9001
9002// Status code returns the HTTP status code for the request's response error.
9003func (s *InvalidParameterCombinationException) StatusCode() int {
9004	return s.RespMetadata.StatusCode
9005}
9006
9007// RequestID returns the service's response RequestID for request.
9008func (s *InvalidParameterCombinationException) RequestID() string {
9009	return s.RespMetadata.RequestID
9010}
9011
9012// The specified role is invalid.
9013type InvalidRoleException struct {
9014	_            struct{}                  `type:"structure"`
9015	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9016
9017	// The error message in the exception.
9018	Message_ *string `locationName:"Message" type:"string"`
9019}
9020
9021// String returns the string representation
9022func (s InvalidRoleException) String() string {
9023	return awsutil.Prettify(s)
9024}
9025
9026// GoString returns the string representation
9027func (s InvalidRoleException) GoString() string {
9028	return s.String()
9029}
9030
9031func newErrorInvalidRoleException(v protocol.ResponseMetadata) error {
9032	return &InvalidRoleException{
9033		RespMetadata: v,
9034	}
9035}
9036
9037// Code returns the exception type name.
9038func (s *InvalidRoleException) Code() string {
9039	return "InvalidRoleException"
9040}
9041
9042// Message returns the exception's message.
9043func (s *InvalidRoleException) Message() string {
9044	if s.Message_ != nil {
9045		return *s.Message_
9046	}
9047	return ""
9048}
9049
9050// OrigErr always returns nil, satisfies awserr.Error interface.
9051func (s *InvalidRoleException) OrigErr() error {
9052	return nil
9053}
9054
9055func (s *InvalidRoleException) Error() string {
9056	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9057}
9058
9059// Status code returns the HTTP status code for the request's response error.
9060func (s *InvalidRoleException) StatusCode() int {
9061	return s.RespMetadata.StatusCode
9062}
9063
9064// RequestID returns the service's response RequestID for request.
9065func (s *InvalidRoleException) RequestID() string {
9066	return s.RespMetadata.RequestID
9067}
9068
9069// Describes the error that is returned when a usage report can't be generated.
9070type LastReportGenerationExecutionError struct {
9071	_ struct{} `type:"structure"`
9072
9073	// The error code for the error that is returned when a usage report can't be
9074	// generated.
9075	ErrorCode *string `type:"string" enum:"UsageReportExecutionErrorCode"`
9076
9077	// The error message for the error that is returned when a usage report can't
9078	// be generated.
9079	ErrorMessage *string `min:"1" type:"string"`
9080}
9081
9082// String returns the string representation
9083func (s LastReportGenerationExecutionError) String() string {
9084	return awsutil.Prettify(s)
9085}
9086
9087// GoString returns the string representation
9088func (s LastReportGenerationExecutionError) GoString() string {
9089	return s.String()
9090}
9091
9092// SetErrorCode sets the ErrorCode field's value.
9093func (s *LastReportGenerationExecutionError) SetErrorCode(v string) *LastReportGenerationExecutionError {
9094	s.ErrorCode = &v
9095	return s
9096}
9097
9098// SetErrorMessage sets the ErrorMessage field's value.
9099func (s *LastReportGenerationExecutionError) SetErrorMessage(v string) *LastReportGenerationExecutionError {
9100	s.ErrorMessage = &v
9101	return s
9102}
9103
9104// The requested limit exceeds the permitted limit for an account.
9105type LimitExceededException struct {
9106	_            struct{}                  `type:"structure"`
9107	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9108
9109	// The error message in the exception.
9110	Message_ *string `locationName:"Message" type:"string"`
9111}
9112
9113// String returns the string representation
9114func (s LimitExceededException) String() string {
9115	return awsutil.Prettify(s)
9116}
9117
9118// GoString returns the string representation
9119func (s LimitExceededException) GoString() string {
9120	return s.String()
9121}
9122
9123func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
9124	return &LimitExceededException{
9125		RespMetadata: v,
9126	}
9127}
9128
9129// Code returns the exception type name.
9130func (s *LimitExceededException) Code() string {
9131	return "LimitExceededException"
9132}
9133
9134// Message returns the exception's message.
9135func (s *LimitExceededException) Message() string {
9136	if s.Message_ != nil {
9137		return *s.Message_
9138	}
9139	return ""
9140}
9141
9142// OrigErr always returns nil, satisfies awserr.Error interface.
9143func (s *LimitExceededException) OrigErr() error {
9144	return nil
9145}
9146
9147func (s *LimitExceededException) Error() string {
9148	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9149}
9150
9151// Status code returns the HTTP status code for the request's response error.
9152func (s *LimitExceededException) StatusCode() int {
9153	return s.RespMetadata.StatusCode
9154}
9155
9156// RequestID returns the service's response RequestID for request.
9157func (s *LimitExceededException) RequestID() string {
9158	return s.RespMetadata.RequestID
9159}
9160
9161type ListAssociatedFleetsInput struct {
9162	_ struct{} `type:"structure"`
9163
9164	// The pagination token to use to retrieve the next page of results for this
9165	// operation. If this value is null, it retrieves the first page.
9166	NextToken *string `min:"1" type:"string"`
9167
9168	// The name of the stack.
9169	//
9170	// StackName is a required field
9171	StackName *string `min:"1" type:"string" required:"true"`
9172}
9173
9174// String returns the string representation
9175func (s ListAssociatedFleetsInput) String() string {
9176	return awsutil.Prettify(s)
9177}
9178
9179// GoString returns the string representation
9180func (s ListAssociatedFleetsInput) GoString() string {
9181	return s.String()
9182}
9183
9184// Validate inspects the fields of the type to determine if they are valid.
9185func (s *ListAssociatedFleetsInput) Validate() error {
9186	invalidParams := request.ErrInvalidParams{Context: "ListAssociatedFleetsInput"}
9187	if s.NextToken != nil && len(*s.NextToken) < 1 {
9188		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9189	}
9190	if s.StackName == nil {
9191		invalidParams.Add(request.NewErrParamRequired("StackName"))
9192	}
9193	if s.StackName != nil && len(*s.StackName) < 1 {
9194		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
9195	}
9196
9197	if invalidParams.Len() > 0 {
9198		return invalidParams
9199	}
9200	return nil
9201}
9202
9203// SetNextToken sets the NextToken field's value.
9204func (s *ListAssociatedFleetsInput) SetNextToken(v string) *ListAssociatedFleetsInput {
9205	s.NextToken = &v
9206	return s
9207}
9208
9209// SetStackName sets the StackName field's value.
9210func (s *ListAssociatedFleetsInput) SetStackName(v string) *ListAssociatedFleetsInput {
9211	s.StackName = &v
9212	return s
9213}
9214
9215type ListAssociatedFleetsOutput struct {
9216	_ struct{} `type:"structure"`
9217
9218	// The name of the fleet.
9219	Names []*string `type:"list"`
9220
9221	// The pagination token to use to retrieve the next page of results for this
9222	// operation. If there are no more pages, this value is null.
9223	NextToken *string `min:"1" type:"string"`
9224}
9225
9226// String returns the string representation
9227func (s ListAssociatedFleetsOutput) String() string {
9228	return awsutil.Prettify(s)
9229}
9230
9231// GoString returns the string representation
9232func (s ListAssociatedFleetsOutput) GoString() string {
9233	return s.String()
9234}
9235
9236// SetNames sets the Names field's value.
9237func (s *ListAssociatedFleetsOutput) SetNames(v []*string) *ListAssociatedFleetsOutput {
9238	s.Names = v
9239	return s
9240}
9241
9242// SetNextToken sets the NextToken field's value.
9243func (s *ListAssociatedFleetsOutput) SetNextToken(v string) *ListAssociatedFleetsOutput {
9244	s.NextToken = &v
9245	return s
9246}
9247
9248type ListAssociatedStacksInput struct {
9249	_ struct{} `type:"structure"`
9250
9251	// The name of the fleet.
9252	//
9253	// FleetName is a required field
9254	FleetName *string `min:"1" type:"string" required:"true"`
9255
9256	// The pagination token to use to retrieve the next page of results for this
9257	// operation. If this value is null, it retrieves the first page.
9258	NextToken *string `min:"1" type:"string"`
9259}
9260
9261// String returns the string representation
9262func (s ListAssociatedStacksInput) String() string {
9263	return awsutil.Prettify(s)
9264}
9265
9266// GoString returns the string representation
9267func (s ListAssociatedStacksInput) GoString() string {
9268	return s.String()
9269}
9270
9271// Validate inspects the fields of the type to determine if they are valid.
9272func (s *ListAssociatedStacksInput) Validate() error {
9273	invalidParams := request.ErrInvalidParams{Context: "ListAssociatedStacksInput"}
9274	if s.FleetName == nil {
9275		invalidParams.Add(request.NewErrParamRequired("FleetName"))
9276	}
9277	if s.FleetName != nil && len(*s.FleetName) < 1 {
9278		invalidParams.Add(request.NewErrParamMinLen("FleetName", 1))
9279	}
9280	if s.NextToken != nil && len(*s.NextToken) < 1 {
9281		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9282	}
9283
9284	if invalidParams.Len() > 0 {
9285		return invalidParams
9286	}
9287	return nil
9288}
9289
9290// SetFleetName sets the FleetName field's value.
9291func (s *ListAssociatedStacksInput) SetFleetName(v string) *ListAssociatedStacksInput {
9292	s.FleetName = &v
9293	return s
9294}
9295
9296// SetNextToken sets the NextToken field's value.
9297func (s *ListAssociatedStacksInput) SetNextToken(v string) *ListAssociatedStacksInput {
9298	s.NextToken = &v
9299	return s
9300}
9301
9302type ListAssociatedStacksOutput struct {
9303	_ struct{} `type:"structure"`
9304
9305	// The name of the stack.
9306	Names []*string `type:"list"`
9307
9308	// The pagination token to use to retrieve the next page of results for this
9309	// operation. If there are no more pages, this value is null.
9310	NextToken *string `min:"1" type:"string"`
9311}
9312
9313// String returns the string representation
9314func (s ListAssociatedStacksOutput) String() string {
9315	return awsutil.Prettify(s)
9316}
9317
9318// GoString returns the string representation
9319func (s ListAssociatedStacksOutput) GoString() string {
9320	return s.String()
9321}
9322
9323// SetNames sets the Names field's value.
9324func (s *ListAssociatedStacksOutput) SetNames(v []*string) *ListAssociatedStacksOutput {
9325	s.Names = v
9326	return s
9327}
9328
9329// SetNextToken sets the NextToken field's value.
9330func (s *ListAssociatedStacksOutput) SetNextToken(v string) *ListAssociatedStacksOutput {
9331	s.NextToken = &v
9332	return s
9333}
9334
9335type ListTagsForResourceInput struct {
9336	_ struct{} `type:"structure"`
9337
9338	// The Amazon Resource Name (ARN) of the resource.
9339	//
9340	// ResourceArn is a required field
9341	ResourceArn *string `type:"string" required:"true"`
9342}
9343
9344// String returns the string representation
9345func (s ListTagsForResourceInput) String() string {
9346	return awsutil.Prettify(s)
9347}
9348
9349// GoString returns the string representation
9350func (s ListTagsForResourceInput) GoString() string {
9351	return s.String()
9352}
9353
9354// Validate inspects the fields of the type to determine if they are valid.
9355func (s *ListTagsForResourceInput) Validate() error {
9356	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
9357	if s.ResourceArn == nil {
9358		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9359	}
9360
9361	if invalidParams.Len() > 0 {
9362		return invalidParams
9363	}
9364	return nil
9365}
9366
9367// SetResourceArn sets the ResourceArn field's value.
9368func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
9369	s.ResourceArn = &v
9370	return s
9371}
9372
9373type ListTagsForResourceOutput struct {
9374	_ struct{} `type:"structure"`
9375
9376	// The information about the tags.
9377	Tags map[string]*string `min:"1" type:"map"`
9378}
9379
9380// String returns the string representation
9381func (s ListTagsForResourceOutput) String() string {
9382	return awsutil.Prettify(s)
9383}
9384
9385// GoString returns the string representation
9386func (s ListTagsForResourceOutput) GoString() string {
9387	return s.String()
9388}
9389
9390// SetTags sets the Tags field's value.
9391func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
9392	s.Tags = v
9393	return s
9394}
9395
9396// Describes the network details of the fleet or image builder instance.
9397type NetworkAccessConfiguration struct {
9398	_ struct{} `type:"structure"`
9399
9400	// The resource identifier of the elastic network interface that is attached
9401	// to instances in your VPC. All network interfaces have the eni-xxxxxxxx resource
9402	// identifier.
9403	EniId *string `min:"1" type:"string"`
9404
9405	// The private IP address of the elastic network interface that is attached
9406	// to instances in your VPC.
9407	EniPrivateIpAddress *string `min:"1" type:"string"`
9408}
9409
9410// String returns the string representation
9411func (s NetworkAccessConfiguration) String() string {
9412	return awsutil.Prettify(s)
9413}
9414
9415// GoString returns the string representation
9416func (s NetworkAccessConfiguration) GoString() string {
9417	return s.String()
9418}
9419
9420// SetEniId sets the EniId field's value.
9421func (s *NetworkAccessConfiguration) SetEniId(v string) *NetworkAccessConfiguration {
9422	s.EniId = &v
9423	return s
9424}
9425
9426// SetEniPrivateIpAddress sets the EniPrivateIpAddress field's value.
9427func (s *NetworkAccessConfiguration) SetEniPrivateIpAddress(v string) *NetworkAccessConfiguration {
9428	s.EniPrivateIpAddress = &v
9429	return s
9430}
9431
9432// The attempted operation is not permitted.
9433type OperationNotPermittedException struct {
9434	_            struct{}                  `type:"structure"`
9435	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9436
9437	// The error message in the exception.
9438	Message_ *string `locationName:"Message" type:"string"`
9439}
9440
9441// String returns the string representation
9442func (s OperationNotPermittedException) String() string {
9443	return awsutil.Prettify(s)
9444}
9445
9446// GoString returns the string representation
9447func (s OperationNotPermittedException) GoString() string {
9448	return s.String()
9449}
9450
9451func newErrorOperationNotPermittedException(v protocol.ResponseMetadata) error {
9452	return &OperationNotPermittedException{
9453		RespMetadata: v,
9454	}
9455}
9456
9457// Code returns the exception type name.
9458func (s *OperationNotPermittedException) Code() string {
9459	return "OperationNotPermittedException"
9460}
9461
9462// Message returns the exception's message.
9463func (s *OperationNotPermittedException) Message() string {
9464	if s.Message_ != nil {
9465		return *s.Message_
9466	}
9467	return ""
9468}
9469
9470// OrigErr always returns nil, satisfies awserr.Error interface.
9471func (s *OperationNotPermittedException) OrigErr() error {
9472	return nil
9473}
9474
9475func (s *OperationNotPermittedException) Error() string {
9476	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9477}
9478
9479// Status code returns the HTTP status code for the request's response error.
9480func (s *OperationNotPermittedException) StatusCode() int {
9481	return s.RespMetadata.StatusCode
9482}
9483
9484// RequestID returns the service's response RequestID for request.
9485func (s *OperationNotPermittedException) RequestID() string {
9486	return s.RespMetadata.RequestID
9487}
9488
9489// The specified resource already exists.
9490type ResourceAlreadyExistsException struct {
9491	_            struct{}                  `type:"structure"`
9492	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9493
9494	// The error message in the exception.
9495	Message_ *string `locationName:"Message" type:"string"`
9496}
9497
9498// String returns the string representation
9499func (s ResourceAlreadyExistsException) String() string {
9500	return awsutil.Prettify(s)
9501}
9502
9503// GoString returns the string representation
9504func (s ResourceAlreadyExistsException) GoString() string {
9505	return s.String()
9506}
9507
9508func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
9509	return &ResourceAlreadyExistsException{
9510		RespMetadata: v,
9511	}
9512}
9513
9514// Code returns the exception type name.
9515func (s *ResourceAlreadyExistsException) Code() string {
9516	return "ResourceAlreadyExistsException"
9517}
9518
9519// Message returns the exception's message.
9520func (s *ResourceAlreadyExistsException) Message() string {
9521	if s.Message_ != nil {
9522		return *s.Message_
9523	}
9524	return ""
9525}
9526
9527// OrigErr always returns nil, satisfies awserr.Error interface.
9528func (s *ResourceAlreadyExistsException) OrigErr() error {
9529	return nil
9530}
9531
9532func (s *ResourceAlreadyExistsException) Error() string {
9533	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9534}
9535
9536// Status code returns the HTTP status code for the request's response error.
9537func (s *ResourceAlreadyExistsException) StatusCode() int {
9538	return s.RespMetadata.StatusCode
9539}
9540
9541// RequestID returns the service's response RequestID for request.
9542func (s *ResourceAlreadyExistsException) RequestID() string {
9543	return s.RespMetadata.RequestID
9544}
9545
9546// Describes a resource error.
9547type ResourceError struct {
9548	_ struct{} `type:"structure"`
9549
9550	// The error code.
9551	ErrorCode *string `type:"string" enum:"FleetErrorCode"`
9552
9553	// The error message.
9554	ErrorMessage *string `min:"1" type:"string"`
9555
9556	// The time the error occurred.
9557	ErrorTimestamp *time.Time `type:"timestamp"`
9558}
9559
9560// String returns the string representation
9561func (s ResourceError) String() string {
9562	return awsutil.Prettify(s)
9563}
9564
9565// GoString returns the string representation
9566func (s ResourceError) GoString() string {
9567	return s.String()
9568}
9569
9570// SetErrorCode sets the ErrorCode field's value.
9571func (s *ResourceError) SetErrorCode(v string) *ResourceError {
9572	s.ErrorCode = &v
9573	return s
9574}
9575
9576// SetErrorMessage sets the ErrorMessage field's value.
9577func (s *ResourceError) SetErrorMessage(v string) *ResourceError {
9578	s.ErrorMessage = &v
9579	return s
9580}
9581
9582// SetErrorTimestamp sets the ErrorTimestamp field's value.
9583func (s *ResourceError) SetErrorTimestamp(v time.Time) *ResourceError {
9584	s.ErrorTimestamp = &v
9585	return s
9586}
9587
9588// The specified resource is in use.
9589type ResourceInUseException struct {
9590	_            struct{}                  `type:"structure"`
9591	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9592
9593	// The error message in the exception.
9594	Message_ *string `locationName:"Message" type:"string"`
9595}
9596
9597// String returns the string representation
9598func (s ResourceInUseException) String() string {
9599	return awsutil.Prettify(s)
9600}
9601
9602// GoString returns the string representation
9603func (s ResourceInUseException) GoString() string {
9604	return s.String()
9605}
9606
9607func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
9608	return &ResourceInUseException{
9609		RespMetadata: v,
9610	}
9611}
9612
9613// Code returns the exception type name.
9614func (s *ResourceInUseException) Code() string {
9615	return "ResourceInUseException"
9616}
9617
9618// Message returns the exception's message.
9619func (s *ResourceInUseException) Message() string {
9620	if s.Message_ != nil {
9621		return *s.Message_
9622	}
9623	return ""
9624}
9625
9626// OrigErr always returns nil, satisfies awserr.Error interface.
9627func (s *ResourceInUseException) OrigErr() error {
9628	return nil
9629}
9630
9631func (s *ResourceInUseException) Error() string {
9632	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9633}
9634
9635// Status code returns the HTTP status code for the request's response error.
9636func (s *ResourceInUseException) StatusCode() int {
9637	return s.RespMetadata.StatusCode
9638}
9639
9640// RequestID returns the service's response RequestID for request.
9641func (s *ResourceInUseException) RequestID() string {
9642	return s.RespMetadata.RequestID
9643}
9644
9645// The specified resource exists and is not in use, but isn't available.
9646type ResourceNotAvailableException struct {
9647	_            struct{}                  `type:"structure"`
9648	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9649
9650	// The error message in the exception.
9651	Message_ *string `locationName:"Message" type:"string"`
9652}
9653
9654// String returns the string representation
9655func (s ResourceNotAvailableException) String() string {
9656	return awsutil.Prettify(s)
9657}
9658
9659// GoString returns the string representation
9660func (s ResourceNotAvailableException) GoString() string {
9661	return s.String()
9662}
9663
9664func newErrorResourceNotAvailableException(v protocol.ResponseMetadata) error {
9665	return &ResourceNotAvailableException{
9666		RespMetadata: v,
9667	}
9668}
9669
9670// Code returns the exception type name.
9671func (s *ResourceNotAvailableException) Code() string {
9672	return "ResourceNotAvailableException"
9673}
9674
9675// Message returns the exception's message.
9676func (s *ResourceNotAvailableException) Message() string {
9677	if s.Message_ != nil {
9678		return *s.Message_
9679	}
9680	return ""
9681}
9682
9683// OrigErr always returns nil, satisfies awserr.Error interface.
9684func (s *ResourceNotAvailableException) OrigErr() error {
9685	return nil
9686}
9687
9688func (s *ResourceNotAvailableException) Error() string {
9689	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9690}
9691
9692// Status code returns the HTTP status code for the request's response error.
9693func (s *ResourceNotAvailableException) StatusCode() int {
9694	return s.RespMetadata.StatusCode
9695}
9696
9697// RequestID returns the service's response RequestID for request.
9698func (s *ResourceNotAvailableException) RequestID() string {
9699	return s.RespMetadata.RequestID
9700}
9701
9702// The specified resource was not found.
9703type ResourceNotFoundException struct {
9704	_            struct{}                  `type:"structure"`
9705	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9706
9707	// The error message in the exception.
9708	Message_ *string `locationName:"Message" type:"string"`
9709}
9710
9711// String returns the string representation
9712func (s ResourceNotFoundException) String() string {
9713	return awsutil.Prettify(s)
9714}
9715
9716// GoString returns the string representation
9717func (s ResourceNotFoundException) GoString() string {
9718	return s.String()
9719}
9720
9721func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
9722	return &ResourceNotFoundException{
9723		RespMetadata: v,
9724	}
9725}
9726
9727// Code returns the exception type name.
9728func (s *ResourceNotFoundException) Code() string {
9729	return "ResourceNotFoundException"
9730}
9731
9732// Message returns the exception's message.
9733func (s *ResourceNotFoundException) Message() string {
9734	if s.Message_ != nil {
9735		return *s.Message_
9736	}
9737	return ""
9738}
9739
9740// OrigErr always returns nil, satisfies awserr.Error interface.
9741func (s *ResourceNotFoundException) OrigErr() error {
9742	return nil
9743}
9744
9745func (s *ResourceNotFoundException) Error() string {
9746	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9747}
9748
9749// Status code returns the HTTP status code for the request's response error.
9750func (s *ResourceNotFoundException) StatusCode() int {
9751	return s.RespMetadata.StatusCode
9752}
9753
9754// RequestID returns the service's response RequestID for request.
9755func (s *ResourceNotFoundException) RequestID() string {
9756	return s.RespMetadata.RequestID
9757}
9758
9759// Describes the credentials for the service account used by the fleet or image
9760// builder to connect to the directory.
9761type ServiceAccountCredentials struct {
9762	_ struct{} `type:"structure"`
9763
9764	// The user name of the account. This account must have the following privileges:
9765	// create computer objects, join computers to the domain, and change/reset the
9766	// password on descendant computer objects for the organizational units specified.
9767	//
9768	// AccountName is a required field
9769	AccountName *string `min:"1" type:"string" required:"true" sensitive:"true"`
9770
9771	// The password for the account.
9772	//
9773	// AccountPassword is a required field
9774	AccountPassword *string `min:"1" type:"string" required:"true" sensitive:"true"`
9775}
9776
9777// String returns the string representation
9778func (s ServiceAccountCredentials) String() string {
9779	return awsutil.Prettify(s)
9780}
9781
9782// GoString returns the string representation
9783func (s ServiceAccountCredentials) GoString() string {
9784	return s.String()
9785}
9786
9787// Validate inspects the fields of the type to determine if they are valid.
9788func (s *ServiceAccountCredentials) Validate() error {
9789	invalidParams := request.ErrInvalidParams{Context: "ServiceAccountCredentials"}
9790	if s.AccountName == nil {
9791		invalidParams.Add(request.NewErrParamRequired("AccountName"))
9792	}
9793	if s.AccountName != nil && len(*s.AccountName) < 1 {
9794		invalidParams.Add(request.NewErrParamMinLen("AccountName", 1))
9795	}
9796	if s.AccountPassword == nil {
9797		invalidParams.Add(request.NewErrParamRequired("AccountPassword"))
9798	}
9799	if s.AccountPassword != nil && len(*s.AccountPassword) < 1 {
9800		invalidParams.Add(request.NewErrParamMinLen("AccountPassword", 1))
9801	}
9802
9803	if invalidParams.Len() > 0 {
9804		return invalidParams
9805	}
9806	return nil
9807}
9808
9809// SetAccountName sets the AccountName field's value.
9810func (s *ServiceAccountCredentials) SetAccountName(v string) *ServiceAccountCredentials {
9811	s.AccountName = &v
9812	return s
9813}
9814
9815// SetAccountPassword sets the AccountPassword field's value.
9816func (s *ServiceAccountCredentials) SetAccountPassword(v string) *ServiceAccountCredentials {
9817	s.AccountPassword = &v
9818	return s
9819}
9820
9821// Describes a streaming session.
9822type Session struct {
9823	_ struct{} `type:"structure"`
9824
9825	// The authentication method. The user is authenticated using a streaming URL
9826	// (API) or SAML 2.0 federation (SAML).
9827	AuthenticationType *string `type:"string" enum:"AuthenticationType"`
9828
9829	// Specifies whether a user is connected to the streaming session.
9830	ConnectionState *string `type:"string" enum:"SessionConnectionState"`
9831
9832	// The name of the fleet for the streaming session.
9833	//
9834	// FleetName is a required field
9835	FleetName *string `min:"1" type:"string" required:"true"`
9836
9837	// The identifier of the streaming session.
9838	//
9839	// Id is a required field
9840	Id *string `min:"1" type:"string" required:"true"`
9841
9842	// The time when the streaming session is set to expire. This time is based
9843	// on the MaxUserDurationinSeconds value, which determines the maximum length
9844	// of time that a streaming session can run. A streaming session might end earlier
9845	// than the time specified in SessionMaxExpirationTime, when the DisconnectTimeOutInSeconds
9846	// elapses or the user chooses to end his or her session. If the DisconnectTimeOutInSeconds
9847	// elapses, or the user chooses to end his or her session, the streaming instance
9848	// is terminated and the streaming session ends.
9849	MaxExpirationTime *time.Time `type:"timestamp"`
9850
9851	// The network details for the streaming session.
9852	NetworkAccessConfiguration *NetworkAccessConfiguration `type:"structure"`
9853
9854	// The name of the stack for the streaming session.
9855	//
9856	// StackName is a required field
9857	StackName *string `min:"1" type:"string" required:"true"`
9858
9859	// The time when a streaming instance is dedicated for the user.
9860	StartTime *time.Time `type:"timestamp"`
9861
9862	// The current state of the streaming session.
9863	//
9864	// State is a required field
9865	State *string `type:"string" required:"true" enum:"SessionState"`
9866
9867	// The identifier of the user for whom the session was created.
9868	//
9869	// UserId is a required field
9870	UserId *string `min:"2" type:"string" required:"true"`
9871}
9872
9873// String returns the string representation
9874func (s Session) String() string {
9875	return awsutil.Prettify(s)
9876}
9877
9878// GoString returns the string representation
9879func (s Session) GoString() string {
9880	return s.String()
9881}
9882
9883// SetAuthenticationType sets the AuthenticationType field's value.
9884func (s *Session) SetAuthenticationType(v string) *Session {
9885	s.AuthenticationType = &v
9886	return s
9887}
9888
9889// SetConnectionState sets the ConnectionState field's value.
9890func (s *Session) SetConnectionState(v string) *Session {
9891	s.ConnectionState = &v
9892	return s
9893}
9894
9895// SetFleetName sets the FleetName field's value.
9896func (s *Session) SetFleetName(v string) *Session {
9897	s.FleetName = &v
9898	return s
9899}
9900
9901// SetId sets the Id field's value.
9902func (s *Session) SetId(v string) *Session {
9903	s.Id = &v
9904	return s
9905}
9906
9907// SetMaxExpirationTime sets the MaxExpirationTime field's value.
9908func (s *Session) SetMaxExpirationTime(v time.Time) *Session {
9909	s.MaxExpirationTime = &v
9910	return s
9911}
9912
9913// SetNetworkAccessConfiguration sets the NetworkAccessConfiguration field's value.
9914func (s *Session) SetNetworkAccessConfiguration(v *NetworkAccessConfiguration) *Session {
9915	s.NetworkAccessConfiguration = v
9916	return s
9917}
9918
9919// SetStackName sets the StackName field's value.
9920func (s *Session) SetStackName(v string) *Session {
9921	s.StackName = &v
9922	return s
9923}
9924
9925// SetStartTime sets the StartTime field's value.
9926func (s *Session) SetStartTime(v time.Time) *Session {
9927	s.StartTime = &v
9928	return s
9929}
9930
9931// SetState sets the State field's value.
9932func (s *Session) SetState(v string) *Session {
9933	s.State = &v
9934	return s
9935}
9936
9937// SetUserId sets the UserId field's value.
9938func (s *Session) SetUserId(v string) *Session {
9939	s.UserId = &v
9940	return s
9941}
9942
9943// Describes the permissions that are available to the specified AWS account
9944// for a shared image.
9945type SharedImagePermissions struct {
9946	_ struct{} `type:"structure"`
9947
9948	// Describes the permissions for a shared image.
9949	//
9950	// ImagePermissions is a required field
9951	ImagePermissions *ImagePermissions `locationName:"imagePermissions" type:"structure" required:"true"`
9952
9953	// The 12-digit identifier of the AWS account with which the image is shared.
9954	//
9955	// SharedAccountId is a required field
9956	SharedAccountId *string `locationName:"sharedAccountId" type:"string" required:"true"`
9957}
9958
9959// String returns the string representation
9960func (s SharedImagePermissions) String() string {
9961	return awsutil.Prettify(s)
9962}
9963
9964// GoString returns the string representation
9965func (s SharedImagePermissions) GoString() string {
9966	return s.String()
9967}
9968
9969// SetImagePermissions sets the ImagePermissions field's value.
9970func (s *SharedImagePermissions) SetImagePermissions(v *ImagePermissions) *SharedImagePermissions {
9971	s.ImagePermissions = v
9972	return s
9973}
9974
9975// SetSharedAccountId sets the SharedAccountId field's value.
9976func (s *SharedImagePermissions) SetSharedAccountId(v string) *SharedImagePermissions {
9977	s.SharedAccountId = &v
9978	return s
9979}
9980
9981// Describes a stack.
9982type Stack struct {
9983	_ struct{} `type:"structure"`
9984
9985	// The list of virtual private cloud (VPC) interface endpoint objects. Users
9986	// of the stack can connect to AppStream 2.0 only through the specified endpoints.
9987	AccessEndpoints []*AccessEndpoint `min:"1" type:"list"`
9988
9989	// The persistent application settings for users of the stack.
9990	ApplicationSettings *ApplicationSettingsResponse `type:"structure"`
9991
9992	// The ARN of the stack.
9993	Arn *string `type:"string"`
9994
9995	// The time the stack was created.
9996	CreatedTime *time.Time `type:"timestamp"`
9997
9998	// The description to display.
9999	Description *string `min:"1" type:"string"`
10000
10001	// The stack name to display.
10002	DisplayName *string `min:"1" type:"string"`
10003
10004	// The domains where AppStream 2.0 streaming sessions can be embedded in an
10005	// iframe. You must approve the domains that you want to host embedded AppStream
10006	// 2.0 streaming sessions.
10007	EmbedHostDomains []*string `min:"1" type:"list"`
10008
10009	// The URL that users are redirected to after they click the Send Feedback link.
10010	// If no URL is specified, no Send Feedback link is displayed.
10011	FeedbackURL *string `type:"string"`
10012
10013	// The name of the stack.
10014	//
10015	// Name is a required field
10016	Name *string `min:"1" type:"string" required:"true"`
10017
10018	// The URL that users are redirected to after their streaming session ends.
10019	RedirectURL *string `type:"string"`
10020
10021	// The errors for the stack.
10022	StackErrors []*StackError `type:"list"`
10023
10024	// The storage connectors to enable.
10025	StorageConnectors []*StorageConnector `type:"list"`
10026
10027	// The actions that are enabled or disabled for users during their streaming
10028	// sessions. By default these actions are enabled.
10029	UserSettings []*UserSetting `min:"1" type:"list"`
10030}
10031
10032// String returns the string representation
10033func (s Stack) String() string {
10034	return awsutil.Prettify(s)
10035}
10036
10037// GoString returns the string representation
10038func (s Stack) GoString() string {
10039	return s.String()
10040}
10041
10042// SetAccessEndpoints sets the AccessEndpoints field's value.
10043func (s *Stack) SetAccessEndpoints(v []*AccessEndpoint) *Stack {
10044	s.AccessEndpoints = v
10045	return s
10046}
10047
10048// SetApplicationSettings sets the ApplicationSettings field's value.
10049func (s *Stack) SetApplicationSettings(v *ApplicationSettingsResponse) *Stack {
10050	s.ApplicationSettings = v
10051	return s
10052}
10053
10054// SetArn sets the Arn field's value.
10055func (s *Stack) SetArn(v string) *Stack {
10056	s.Arn = &v
10057	return s
10058}
10059
10060// SetCreatedTime sets the CreatedTime field's value.
10061func (s *Stack) SetCreatedTime(v time.Time) *Stack {
10062	s.CreatedTime = &v
10063	return s
10064}
10065
10066// SetDescription sets the Description field's value.
10067func (s *Stack) SetDescription(v string) *Stack {
10068	s.Description = &v
10069	return s
10070}
10071
10072// SetDisplayName sets the DisplayName field's value.
10073func (s *Stack) SetDisplayName(v string) *Stack {
10074	s.DisplayName = &v
10075	return s
10076}
10077
10078// SetEmbedHostDomains sets the EmbedHostDomains field's value.
10079func (s *Stack) SetEmbedHostDomains(v []*string) *Stack {
10080	s.EmbedHostDomains = v
10081	return s
10082}
10083
10084// SetFeedbackURL sets the FeedbackURL field's value.
10085func (s *Stack) SetFeedbackURL(v string) *Stack {
10086	s.FeedbackURL = &v
10087	return s
10088}
10089
10090// SetName sets the Name field's value.
10091func (s *Stack) SetName(v string) *Stack {
10092	s.Name = &v
10093	return s
10094}
10095
10096// SetRedirectURL sets the RedirectURL field's value.
10097func (s *Stack) SetRedirectURL(v string) *Stack {
10098	s.RedirectURL = &v
10099	return s
10100}
10101
10102// SetStackErrors sets the StackErrors field's value.
10103func (s *Stack) SetStackErrors(v []*StackError) *Stack {
10104	s.StackErrors = v
10105	return s
10106}
10107
10108// SetStorageConnectors sets the StorageConnectors field's value.
10109func (s *Stack) SetStorageConnectors(v []*StorageConnector) *Stack {
10110	s.StorageConnectors = v
10111	return s
10112}
10113
10114// SetUserSettings sets the UserSettings field's value.
10115func (s *Stack) SetUserSettings(v []*UserSetting) *Stack {
10116	s.UserSettings = v
10117	return s
10118}
10119
10120// Describes a stack error.
10121type StackError struct {
10122	_ struct{} `type:"structure"`
10123
10124	// The error code.
10125	ErrorCode *string `type:"string" enum:"StackErrorCode"`
10126
10127	// The error message.
10128	ErrorMessage *string `min:"1" type:"string"`
10129}
10130
10131// String returns the string representation
10132func (s StackError) String() string {
10133	return awsutil.Prettify(s)
10134}
10135
10136// GoString returns the string representation
10137func (s StackError) GoString() string {
10138	return s.String()
10139}
10140
10141// SetErrorCode sets the ErrorCode field's value.
10142func (s *StackError) SetErrorCode(v string) *StackError {
10143	s.ErrorCode = &v
10144	return s
10145}
10146
10147// SetErrorMessage sets the ErrorMessage field's value.
10148func (s *StackError) SetErrorMessage(v string) *StackError {
10149	s.ErrorMessage = &v
10150	return s
10151}
10152
10153type StartFleetInput struct {
10154	_ struct{} `type:"structure"`
10155
10156	// The name of the fleet.
10157	//
10158	// Name is a required field
10159	Name *string `min:"1" type:"string" required:"true"`
10160}
10161
10162// String returns the string representation
10163func (s StartFleetInput) String() string {
10164	return awsutil.Prettify(s)
10165}
10166
10167// GoString returns the string representation
10168func (s StartFleetInput) GoString() string {
10169	return s.String()
10170}
10171
10172// Validate inspects the fields of the type to determine if they are valid.
10173func (s *StartFleetInput) Validate() error {
10174	invalidParams := request.ErrInvalidParams{Context: "StartFleetInput"}
10175	if s.Name == nil {
10176		invalidParams.Add(request.NewErrParamRequired("Name"))
10177	}
10178	if s.Name != nil && len(*s.Name) < 1 {
10179		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10180	}
10181
10182	if invalidParams.Len() > 0 {
10183		return invalidParams
10184	}
10185	return nil
10186}
10187
10188// SetName sets the Name field's value.
10189func (s *StartFleetInput) SetName(v string) *StartFleetInput {
10190	s.Name = &v
10191	return s
10192}
10193
10194type StartFleetOutput struct {
10195	_ struct{} `type:"structure"`
10196}
10197
10198// String returns the string representation
10199func (s StartFleetOutput) String() string {
10200	return awsutil.Prettify(s)
10201}
10202
10203// GoString returns the string representation
10204func (s StartFleetOutput) GoString() string {
10205	return s.String()
10206}
10207
10208type StartImageBuilderInput struct {
10209	_ struct{} `type:"structure"`
10210
10211	// The version of the AppStream 2.0 agent to use for this image builder. To
10212	// use the latest version of the AppStream 2.0 agent, specify [LATEST].
10213	AppstreamAgentVersion *string `min:"1" type:"string"`
10214
10215	// The name of the image builder.
10216	//
10217	// Name is a required field
10218	Name *string `min:"1" type:"string" required:"true"`
10219}
10220
10221// String returns the string representation
10222func (s StartImageBuilderInput) String() string {
10223	return awsutil.Prettify(s)
10224}
10225
10226// GoString returns the string representation
10227func (s StartImageBuilderInput) GoString() string {
10228	return s.String()
10229}
10230
10231// Validate inspects the fields of the type to determine if they are valid.
10232func (s *StartImageBuilderInput) Validate() error {
10233	invalidParams := request.ErrInvalidParams{Context: "StartImageBuilderInput"}
10234	if s.AppstreamAgentVersion != nil && len(*s.AppstreamAgentVersion) < 1 {
10235		invalidParams.Add(request.NewErrParamMinLen("AppstreamAgentVersion", 1))
10236	}
10237	if s.Name == nil {
10238		invalidParams.Add(request.NewErrParamRequired("Name"))
10239	}
10240	if s.Name != nil && len(*s.Name) < 1 {
10241		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10242	}
10243
10244	if invalidParams.Len() > 0 {
10245		return invalidParams
10246	}
10247	return nil
10248}
10249
10250// SetAppstreamAgentVersion sets the AppstreamAgentVersion field's value.
10251func (s *StartImageBuilderInput) SetAppstreamAgentVersion(v string) *StartImageBuilderInput {
10252	s.AppstreamAgentVersion = &v
10253	return s
10254}
10255
10256// SetName sets the Name field's value.
10257func (s *StartImageBuilderInput) SetName(v string) *StartImageBuilderInput {
10258	s.Name = &v
10259	return s
10260}
10261
10262type StartImageBuilderOutput struct {
10263	_ struct{} `type:"structure"`
10264
10265	// Information about the image builder.
10266	ImageBuilder *ImageBuilder `type:"structure"`
10267}
10268
10269// String returns the string representation
10270func (s StartImageBuilderOutput) String() string {
10271	return awsutil.Prettify(s)
10272}
10273
10274// GoString returns the string representation
10275func (s StartImageBuilderOutput) GoString() string {
10276	return s.String()
10277}
10278
10279// SetImageBuilder sets the ImageBuilder field's value.
10280func (s *StartImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *StartImageBuilderOutput {
10281	s.ImageBuilder = v
10282	return s
10283}
10284
10285type StopFleetInput struct {
10286	_ struct{} `type:"structure"`
10287
10288	// The name of the fleet.
10289	//
10290	// Name is a required field
10291	Name *string `min:"1" type:"string" required:"true"`
10292}
10293
10294// String returns the string representation
10295func (s StopFleetInput) String() string {
10296	return awsutil.Prettify(s)
10297}
10298
10299// GoString returns the string representation
10300func (s StopFleetInput) GoString() string {
10301	return s.String()
10302}
10303
10304// Validate inspects the fields of the type to determine if they are valid.
10305func (s *StopFleetInput) Validate() error {
10306	invalidParams := request.ErrInvalidParams{Context: "StopFleetInput"}
10307	if s.Name == nil {
10308		invalidParams.Add(request.NewErrParamRequired("Name"))
10309	}
10310	if s.Name != nil && len(*s.Name) < 1 {
10311		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10312	}
10313
10314	if invalidParams.Len() > 0 {
10315		return invalidParams
10316	}
10317	return nil
10318}
10319
10320// SetName sets the Name field's value.
10321func (s *StopFleetInput) SetName(v string) *StopFleetInput {
10322	s.Name = &v
10323	return s
10324}
10325
10326type StopFleetOutput struct {
10327	_ struct{} `type:"structure"`
10328}
10329
10330// String returns the string representation
10331func (s StopFleetOutput) String() string {
10332	return awsutil.Prettify(s)
10333}
10334
10335// GoString returns the string representation
10336func (s StopFleetOutput) GoString() string {
10337	return s.String()
10338}
10339
10340type StopImageBuilderInput struct {
10341	_ struct{} `type:"structure"`
10342
10343	// The name of the image builder.
10344	//
10345	// Name is a required field
10346	Name *string `min:"1" type:"string" required:"true"`
10347}
10348
10349// String returns the string representation
10350func (s StopImageBuilderInput) String() string {
10351	return awsutil.Prettify(s)
10352}
10353
10354// GoString returns the string representation
10355func (s StopImageBuilderInput) GoString() string {
10356	return s.String()
10357}
10358
10359// Validate inspects the fields of the type to determine if they are valid.
10360func (s *StopImageBuilderInput) Validate() error {
10361	invalidParams := request.ErrInvalidParams{Context: "StopImageBuilderInput"}
10362	if s.Name == nil {
10363		invalidParams.Add(request.NewErrParamRequired("Name"))
10364	}
10365	if s.Name != nil && len(*s.Name) < 1 {
10366		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10367	}
10368
10369	if invalidParams.Len() > 0 {
10370		return invalidParams
10371	}
10372	return nil
10373}
10374
10375// SetName sets the Name field's value.
10376func (s *StopImageBuilderInput) SetName(v string) *StopImageBuilderInput {
10377	s.Name = &v
10378	return s
10379}
10380
10381type StopImageBuilderOutput struct {
10382	_ struct{} `type:"structure"`
10383
10384	// Information about the image builder.
10385	ImageBuilder *ImageBuilder `type:"structure"`
10386}
10387
10388// String returns the string representation
10389func (s StopImageBuilderOutput) String() string {
10390	return awsutil.Prettify(s)
10391}
10392
10393// GoString returns the string representation
10394func (s StopImageBuilderOutput) GoString() string {
10395	return s.String()
10396}
10397
10398// SetImageBuilder sets the ImageBuilder field's value.
10399func (s *StopImageBuilderOutput) SetImageBuilder(v *ImageBuilder) *StopImageBuilderOutput {
10400	s.ImageBuilder = v
10401	return s
10402}
10403
10404// Describes a connector that enables persistent storage for users.
10405type StorageConnector struct {
10406	_ struct{} `type:"structure"`
10407
10408	// The type of storage connector.
10409	//
10410	// ConnectorType is a required field
10411	ConnectorType *string `type:"string" required:"true" enum:"StorageConnectorType"`
10412
10413	// The names of the domains for the account.
10414	Domains []*string `type:"list"`
10415
10416	// The ARN of the storage connector.
10417	ResourceIdentifier *string `min:"1" type:"string"`
10418}
10419
10420// String returns the string representation
10421func (s StorageConnector) String() string {
10422	return awsutil.Prettify(s)
10423}
10424
10425// GoString returns the string representation
10426func (s StorageConnector) GoString() string {
10427	return s.String()
10428}
10429
10430// Validate inspects the fields of the type to determine if they are valid.
10431func (s *StorageConnector) Validate() error {
10432	invalidParams := request.ErrInvalidParams{Context: "StorageConnector"}
10433	if s.ConnectorType == nil {
10434		invalidParams.Add(request.NewErrParamRequired("ConnectorType"))
10435	}
10436	if s.ResourceIdentifier != nil && len(*s.ResourceIdentifier) < 1 {
10437		invalidParams.Add(request.NewErrParamMinLen("ResourceIdentifier", 1))
10438	}
10439
10440	if invalidParams.Len() > 0 {
10441		return invalidParams
10442	}
10443	return nil
10444}
10445
10446// SetConnectorType sets the ConnectorType field's value.
10447func (s *StorageConnector) SetConnectorType(v string) *StorageConnector {
10448	s.ConnectorType = &v
10449	return s
10450}
10451
10452// SetDomains sets the Domains field's value.
10453func (s *StorageConnector) SetDomains(v []*string) *StorageConnector {
10454	s.Domains = v
10455	return s
10456}
10457
10458// SetResourceIdentifier sets the ResourceIdentifier field's value.
10459func (s *StorageConnector) SetResourceIdentifier(v string) *StorageConnector {
10460	s.ResourceIdentifier = &v
10461	return s
10462}
10463
10464type TagResourceInput struct {
10465	_ struct{} `type:"structure"`
10466
10467	// The Amazon Resource Name (ARN) of the resource.
10468	//
10469	// ResourceArn is a required field
10470	ResourceArn *string `type:"string" required:"true"`
10471
10472	// The tags to associate. A tag is a key-value pair, and the value is optional.
10473	// For example, Environment=Test. If you do not specify a value, Environment=.
10474	//
10475	// If you do not specify a value, the value is set to an empty string.
10476	//
10477	// Generally allowed characters are: letters, numbers, and spaces representable
10478	// in UTF-8, and the following special characters:
10479	//
10480	// _ . : / = + \ - @
10481	//
10482	// Tags is a required field
10483	Tags map[string]*string `min:"1" type:"map" required:"true"`
10484}
10485
10486// String returns the string representation
10487func (s TagResourceInput) String() string {
10488	return awsutil.Prettify(s)
10489}
10490
10491// GoString returns the string representation
10492func (s TagResourceInput) GoString() string {
10493	return s.String()
10494}
10495
10496// Validate inspects the fields of the type to determine if they are valid.
10497func (s *TagResourceInput) Validate() error {
10498	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
10499	if s.ResourceArn == nil {
10500		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10501	}
10502	if s.Tags == nil {
10503		invalidParams.Add(request.NewErrParamRequired("Tags"))
10504	}
10505	if s.Tags != nil && len(s.Tags) < 1 {
10506		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
10507	}
10508
10509	if invalidParams.Len() > 0 {
10510		return invalidParams
10511	}
10512	return nil
10513}
10514
10515// SetResourceArn sets the ResourceArn field's value.
10516func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
10517	s.ResourceArn = &v
10518	return s
10519}
10520
10521// SetTags sets the Tags field's value.
10522func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
10523	s.Tags = v
10524	return s
10525}
10526
10527type TagResourceOutput struct {
10528	_ struct{} `type:"structure"`
10529}
10530
10531// String returns the string representation
10532func (s TagResourceOutput) String() string {
10533	return awsutil.Prettify(s)
10534}
10535
10536// GoString returns the string representation
10537func (s TagResourceOutput) GoString() string {
10538	return s.String()
10539}
10540
10541type UntagResourceInput struct {
10542	_ struct{} `type:"structure"`
10543
10544	// The Amazon Resource Name (ARN) of the resource.
10545	//
10546	// ResourceArn is a required field
10547	ResourceArn *string `type:"string" required:"true"`
10548
10549	// The tag keys for the tags to disassociate.
10550	//
10551	// TagKeys is a required field
10552	TagKeys []*string `min:"1" type:"list" required:"true"`
10553}
10554
10555// String returns the string representation
10556func (s UntagResourceInput) String() string {
10557	return awsutil.Prettify(s)
10558}
10559
10560// GoString returns the string representation
10561func (s UntagResourceInput) GoString() string {
10562	return s.String()
10563}
10564
10565// Validate inspects the fields of the type to determine if they are valid.
10566func (s *UntagResourceInput) Validate() error {
10567	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
10568	if s.ResourceArn == nil {
10569		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10570	}
10571	if s.TagKeys == nil {
10572		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
10573	}
10574	if s.TagKeys != nil && len(s.TagKeys) < 1 {
10575		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
10576	}
10577
10578	if invalidParams.Len() > 0 {
10579		return invalidParams
10580	}
10581	return nil
10582}
10583
10584// SetResourceArn sets the ResourceArn field's value.
10585func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
10586	s.ResourceArn = &v
10587	return s
10588}
10589
10590// SetTagKeys sets the TagKeys field's value.
10591func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
10592	s.TagKeys = v
10593	return s
10594}
10595
10596type UntagResourceOutput struct {
10597	_ struct{} `type:"structure"`
10598}
10599
10600// String returns the string representation
10601func (s UntagResourceOutput) String() string {
10602	return awsutil.Prettify(s)
10603}
10604
10605// GoString returns the string representation
10606func (s UntagResourceOutput) GoString() string {
10607	return s.String()
10608}
10609
10610type UpdateDirectoryConfigInput struct {
10611	_ struct{} `type:"structure"`
10612
10613	// The name of the Directory Config object.
10614	//
10615	// DirectoryName is a required field
10616	DirectoryName *string `type:"string" required:"true"`
10617
10618	// The distinguished names of the organizational units for computer accounts.
10619	OrganizationalUnitDistinguishedNames []*string `type:"list"`
10620
10621	// The credentials for the service account used by the fleet or image builder
10622	// to connect to the directory.
10623	ServiceAccountCredentials *ServiceAccountCredentials `type:"structure"`
10624}
10625
10626// String returns the string representation
10627func (s UpdateDirectoryConfigInput) String() string {
10628	return awsutil.Prettify(s)
10629}
10630
10631// GoString returns the string representation
10632func (s UpdateDirectoryConfigInput) GoString() string {
10633	return s.String()
10634}
10635
10636// Validate inspects the fields of the type to determine if they are valid.
10637func (s *UpdateDirectoryConfigInput) Validate() error {
10638	invalidParams := request.ErrInvalidParams{Context: "UpdateDirectoryConfigInput"}
10639	if s.DirectoryName == nil {
10640		invalidParams.Add(request.NewErrParamRequired("DirectoryName"))
10641	}
10642	if s.ServiceAccountCredentials != nil {
10643		if err := s.ServiceAccountCredentials.Validate(); err != nil {
10644			invalidParams.AddNested("ServiceAccountCredentials", err.(request.ErrInvalidParams))
10645		}
10646	}
10647
10648	if invalidParams.Len() > 0 {
10649		return invalidParams
10650	}
10651	return nil
10652}
10653
10654// SetDirectoryName sets the DirectoryName field's value.
10655func (s *UpdateDirectoryConfigInput) SetDirectoryName(v string) *UpdateDirectoryConfigInput {
10656	s.DirectoryName = &v
10657	return s
10658}
10659
10660// SetOrganizationalUnitDistinguishedNames sets the OrganizationalUnitDistinguishedNames field's value.
10661func (s *UpdateDirectoryConfigInput) SetOrganizationalUnitDistinguishedNames(v []*string) *UpdateDirectoryConfigInput {
10662	s.OrganizationalUnitDistinguishedNames = v
10663	return s
10664}
10665
10666// SetServiceAccountCredentials sets the ServiceAccountCredentials field's value.
10667func (s *UpdateDirectoryConfigInput) SetServiceAccountCredentials(v *ServiceAccountCredentials) *UpdateDirectoryConfigInput {
10668	s.ServiceAccountCredentials = v
10669	return s
10670}
10671
10672type UpdateDirectoryConfigOutput struct {
10673	_ struct{} `type:"structure"`
10674
10675	// Information about the Directory Config object.
10676	DirectoryConfig *DirectoryConfig `type:"structure"`
10677}
10678
10679// String returns the string representation
10680func (s UpdateDirectoryConfigOutput) String() string {
10681	return awsutil.Prettify(s)
10682}
10683
10684// GoString returns the string representation
10685func (s UpdateDirectoryConfigOutput) GoString() string {
10686	return s.String()
10687}
10688
10689// SetDirectoryConfig sets the DirectoryConfig field's value.
10690func (s *UpdateDirectoryConfigOutput) SetDirectoryConfig(v *DirectoryConfig) *UpdateDirectoryConfigOutput {
10691	s.DirectoryConfig = v
10692	return s
10693}
10694
10695type UpdateFleetInput struct {
10696	_ struct{} `type:"structure"`
10697
10698	// The fleet attributes to delete.
10699	AttributesToDelete []*string `type:"list"`
10700
10701	// The desired capacity for the fleet.
10702	ComputeCapacity *ComputeCapacity `type:"structure"`
10703
10704	// Deletes the VPC association for the specified fleet.
10705	//
10706	// Deprecated: DeleteVpcConfig has been deprecated
10707	DeleteVpcConfig *bool `deprecated:"true" type:"boolean"`
10708
10709	// The description to display.
10710	Description *string `type:"string"`
10711
10712	// The amount of time that a streaming session remains active after users disconnect.
10713	// If users try to reconnect to the streaming session after a disconnection
10714	// or network interruption within this time interval, they are connected to
10715	// their previous session. Otherwise, they are connected to a new session with
10716	// a new streaming instance.
10717	//
10718	// Specify a value between 60 and 360000.
10719	DisconnectTimeoutInSeconds *int64 `type:"integer"`
10720
10721	// The fleet name to display.
10722	DisplayName *string `type:"string"`
10723
10724	// The name of the directory and organizational unit (OU) to use to join the
10725	// fleet to a Microsoft Active Directory domain.
10726	DomainJoinInfo *DomainJoinInfo `type:"structure"`
10727
10728	// Enables or disables default internet access for the fleet.
10729	EnableDefaultInternetAccess *bool `type:"boolean"`
10730
10731	// The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To
10732	// assume a role, a fleet instance calls the AWS Security Token Service (STS)
10733	// AssumeRole API operation and passes the ARN of the role to use. The operation
10734	// creates a new session with temporary credentials. AppStream 2.0 retrieves
10735	// the temporary credentials and creates the AppStream_Machine_Role credential
10736	// profile on the instance.
10737	//
10738	// For more information, see Using an IAM Role to Grant Permissions to Applications
10739	// 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)
10740	// in the Amazon AppStream 2.0 Administration Guide.
10741	IamRoleArn *string `type:"string"`
10742
10743	// The amount of time that users can be idle (inactive) before they are disconnected
10744	// from their streaming session and the DisconnectTimeoutInSeconds time interval
10745	// begins. Users are notified before they are disconnected due to inactivity.
10746	// If users try to reconnect to the streaming session before the time interval
10747	// specified in DisconnectTimeoutInSeconds elapses, they are connected to their
10748	// previous session. Users are considered idle when they stop providing keyboard
10749	// or mouse input during their streaming session. File uploads and downloads,
10750	// audio in, audio out, and pixels changing do not qualify as user activity.
10751	// If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds
10752	// elapses, they are disconnected.
10753	//
10754	// To prevent users from being disconnected due to inactivity, specify a value
10755	// of 0. Otherwise, specify a value between 60 and 3600. The default value is
10756	// 0.
10757	//
10758	// If you enable this feature, we recommend that you specify a value that corresponds
10759	// exactly to a whole number of minutes (for example, 60, 120, and 180). If
10760	// you don't do this, the value is rounded to the nearest minute. For example,
10761	// if you specify a value of 70, users are disconnected after 1 minute of inactivity.
10762	// If you specify a value that is at the midpoint between two different minutes,
10763	// the value is rounded up. For example, if you specify a value of 90, users
10764	// are disconnected after 2 minutes of inactivity.
10765	IdleDisconnectTimeoutInSeconds *int64 `type:"integer"`
10766
10767	// The ARN of the public, private, or shared image to use.
10768	ImageArn *string `type:"string"`
10769
10770	// The name of the image used to create the fleet.
10771	ImageName *string `min:"1" type:"string"`
10772
10773	// The instance type to use when launching fleet instances. The following instance
10774	// types are available:
10775	//
10776	//    * stream.standard.medium
10777	//
10778	//    * stream.standard.large
10779	//
10780	//    * stream.compute.large
10781	//
10782	//    * stream.compute.xlarge
10783	//
10784	//    * stream.compute.2xlarge
10785	//
10786	//    * stream.compute.4xlarge
10787	//
10788	//    * stream.compute.8xlarge
10789	//
10790	//    * stream.memory.large
10791	//
10792	//    * stream.memory.xlarge
10793	//
10794	//    * stream.memory.2xlarge
10795	//
10796	//    * stream.memory.4xlarge
10797	//
10798	//    * stream.memory.8xlarge
10799	//
10800	//    * stream.graphics-design.large
10801	//
10802	//    * stream.graphics-design.xlarge
10803	//
10804	//    * stream.graphics-design.2xlarge
10805	//
10806	//    * stream.graphics-design.4xlarge
10807	//
10808	//    * stream.graphics-desktop.2xlarge
10809	//
10810	//    * stream.graphics-pro.4xlarge
10811	//
10812	//    * stream.graphics-pro.8xlarge
10813	//
10814	//    * stream.graphics-pro.16xlarge
10815	InstanceType *string `min:"1" type:"string"`
10816
10817	// The maximum amount of time that a streaming session can remain active, in
10818	// seconds. If users are still connected to a streaming instance five minutes
10819	// before this limit is reached, they are prompted to save any open documents
10820	// before being disconnected. After this time elapses, the instance is terminated
10821	// and replaced by a new instance.
10822	//
10823	// Specify a value between 600 and 360000.
10824	MaxUserDurationInSeconds *int64 `type:"integer"`
10825
10826	// A unique name for the fleet.
10827	Name *string `min:"1" type:"string"`
10828
10829	// The VPC configuration for the fleet.
10830	VpcConfig *VpcConfig `type:"structure"`
10831}
10832
10833// String returns the string representation
10834func (s UpdateFleetInput) String() string {
10835	return awsutil.Prettify(s)
10836}
10837
10838// GoString returns the string representation
10839func (s UpdateFleetInput) GoString() string {
10840	return s.String()
10841}
10842
10843// Validate inspects the fields of the type to determine if they are valid.
10844func (s *UpdateFleetInput) Validate() error {
10845	invalidParams := request.ErrInvalidParams{Context: "UpdateFleetInput"}
10846	if s.ImageName != nil && len(*s.ImageName) < 1 {
10847		invalidParams.Add(request.NewErrParamMinLen("ImageName", 1))
10848	}
10849	if s.InstanceType != nil && len(*s.InstanceType) < 1 {
10850		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1))
10851	}
10852	if s.Name != nil && len(*s.Name) < 1 {
10853		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10854	}
10855	if s.ComputeCapacity != nil {
10856		if err := s.ComputeCapacity.Validate(); err != nil {
10857			invalidParams.AddNested("ComputeCapacity", err.(request.ErrInvalidParams))
10858		}
10859	}
10860
10861	if invalidParams.Len() > 0 {
10862		return invalidParams
10863	}
10864	return nil
10865}
10866
10867// SetAttributesToDelete sets the AttributesToDelete field's value.
10868func (s *UpdateFleetInput) SetAttributesToDelete(v []*string) *UpdateFleetInput {
10869	s.AttributesToDelete = v
10870	return s
10871}
10872
10873// SetComputeCapacity sets the ComputeCapacity field's value.
10874func (s *UpdateFleetInput) SetComputeCapacity(v *ComputeCapacity) *UpdateFleetInput {
10875	s.ComputeCapacity = v
10876	return s
10877}
10878
10879// SetDeleteVpcConfig sets the DeleteVpcConfig field's value.
10880func (s *UpdateFleetInput) SetDeleteVpcConfig(v bool) *UpdateFleetInput {
10881	s.DeleteVpcConfig = &v
10882	return s
10883}
10884
10885// SetDescription sets the Description field's value.
10886func (s *UpdateFleetInput) SetDescription(v string) *UpdateFleetInput {
10887	s.Description = &v
10888	return s
10889}
10890
10891// SetDisconnectTimeoutInSeconds sets the DisconnectTimeoutInSeconds field's value.
10892func (s *UpdateFleetInput) SetDisconnectTimeoutInSeconds(v int64) *UpdateFleetInput {
10893	s.DisconnectTimeoutInSeconds = &v
10894	return s
10895}
10896
10897// SetDisplayName sets the DisplayName field's value.
10898func (s *UpdateFleetInput) SetDisplayName(v string) *UpdateFleetInput {
10899	s.DisplayName = &v
10900	return s
10901}
10902
10903// SetDomainJoinInfo sets the DomainJoinInfo field's value.
10904func (s *UpdateFleetInput) SetDomainJoinInfo(v *DomainJoinInfo) *UpdateFleetInput {
10905	s.DomainJoinInfo = v
10906	return s
10907}
10908
10909// SetEnableDefaultInternetAccess sets the EnableDefaultInternetAccess field's value.
10910func (s *UpdateFleetInput) SetEnableDefaultInternetAccess(v bool) *UpdateFleetInput {
10911	s.EnableDefaultInternetAccess = &v
10912	return s
10913}
10914
10915// SetIamRoleArn sets the IamRoleArn field's value.
10916func (s *UpdateFleetInput) SetIamRoleArn(v string) *UpdateFleetInput {
10917	s.IamRoleArn = &v
10918	return s
10919}
10920
10921// SetIdleDisconnectTimeoutInSeconds sets the IdleDisconnectTimeoutInSeconds field's value.
10922func (s *UpdateFleetInput) SetIdleDisconnectTimeoutInSeconds(v int64) *UpdateFleetInput {
10923	s.IdleDisconnectTimeoutInSeconds = &v
10924	return s
10925}
10926
10927// SetImageArn sets the ImageArn field's value.
10928func (s *UpdateFleetInput) SetImageArn(v string) *UpdateFleetInput {
10929	s.ImageArn = &v
10930	return s
10931}
10932
10933// SetImageName sets the ImageName field's value.
10934func (s *UpdateFleetInput) SetImageName(v string) *UpdateFleetInput {
10935	s.ImageName = &v
10936	return s
10937}
10938
10939// SetInstanceType sets the InstanceType field's value.
10940func (s *UpdateFleetInput) SetInstanceType(v string) *UpdateFleetInput {
10941	s.InstanceType = &v
10942	return s
10943}
10944
10945// SetMaxUserDurationInSeconds sets the MaxUserDurationInSeconds field's value.
10946func (s *UpdateFleetInput) SetMaxUserDurationInSeconds(v int64) *UpdateFleetInput {
10947	s.MaxUserDurationInSeconds = &v
10948	return s
10949}
10950
10951// SetName sets the Name field's value.
10952func (s *UpdateFleetInput) SetName(v string) *UpdateFleetInput {
10953	s.Name = &v
10954	return s
10955}
10956
10957// SetVpcConfig sets the VpcConfig field's value.
10958func (s *UpdateFleetInput) SetVpcConfig(v *VpcConfig) *UpdateFleetInput {
10959	s.VpcConfig = v
10960	return s
10961}
10962
10963type UpdateFleetOutput struct {
10964	_ struct{} `type:"structure"`
10965
10966	// Information about the fleet.
10967	Fleet *Fleet `type:"structure"`
10968}
10969
10970// String returns the string representation
10971func (s UpdateFleetOutput) String() string {
10972	return awsutil.Prettify(s)
10973}
10974
10975// GoString returns the string representation
10976func (s UpdateFleetOutput) GoString() string {
10977	return s.String()
10978}
10979
10980// SetFleet sets the Fleet field's value.
10981func (s *UpdateFleetOutput) SetFleet(v *Fleet) *UpdateFleetOutput {
10982	s.Fleet = v
10983	return s
10984}
10985
10986type UpdateImagePermissionsInput struct {
10987	_ struct{} `type:"structure"`
10988
10989	// The permissions for the image.
10990	//
10991	// ImagePermissions is a required field
10992	ImagePermissions *ImagePermissions `type:"structure" required:"true"`
10993
10994	// The name of the private image.
10995	//
10996	// Name is a required field
10997	Name *string `type:"string" required:"true"`
10998
10999	// The 12-digit identifier of the AWS account for which you want add or update
11000	// image permissions.
11001	//
11002	// SharedAccountId is a required field
11003	SharedAccountId *string `type:"string" required:"true"`
11004}
11005
11006// String returns the string representation
11007func (s UpdateImagePermissionsInput) String() string {
11008	return awsutil.Prettify(s)
11009}
11010
11011// GoString returns the string representation
11012func (s UpdateImagePermissionsInput) GoString() string {
11013	return s.String()
11014}
11015
11016// Validate inspects the fields of the type to determine if they are valid.
11017func (s *UpdateImagePermissionsInput) Validate() error {
11018	invalidParams := request.ErrInvalidParams{Context: "UpdateImagePermissionsInput"}
11019	if s.ImagePermissions == nil {
11020		invalidParams.Add(request.NewErrParamRequired("ImagePermissions"))
11021	}
11022	if s.Name == nil {
11023		invalidParams.Add(request.NewErrParamRequired("Name"))
11024	}
11025	if s.SharedAccountId == nil {
11026		invalidParams.Add(request.NewErrParamRequired("SharedAccountId"))
11027	}
11028
11029	if invalidParams.Len() > 0 {
11030		return invalidParams
11031	}
11032	return nil
11033}
11034
11035// SetImagePermissions sets the ImagePermissions field's value.
11036func (s *UpdateImagePermissionsInput) SetImagePermissions(v *ImagePermissions) *UpdateImagePermissionsInput {
11037	s.ImagePermissions = v
11038	return s
11039}
11040
11041// SetName sets the Name field's value.
11042func (s *UpdateImagePermissionsInput) SetName(v string) *UpdateImagePermissionsInput {
11043	s.Name = &v
11044	return s
11045}
11046
11047// SetSharedAccountId sets the SharedAccountId field's value.
11048func (s *UpdateImagePermissionsInput) SetSharedAccountId(v string) *UpdateImagePermissionsInput {
11049	s.SharedAccountId = &v
11050	return s
11051}
11052
11053type UpdateImagePermissionsOutput struct {
11054	_ struct{} `type:"structure"`
11055}
11056
11057// String returns the string representation
11058func (s UpdateImagePermissionsOutput) String() string {
11059	return awsutil.Prettify(s)
11060}
11061
11062// GoString returns the string representation
11063func (s UpdateImagePermissionsOutput) GoString() string {
11064	return s.String()
11065}
11066
11067type UpdateStackInput struct {
11068	_ struct{} `type:"structure"`
11069
11070	// The list of interface VPC endpoint (interface endpoint) objects. Users of
11071	// the stack can connect to AppStream 2.0 only through the specified endpoints.
11072	AccessEndpoints []*AccessEndpoint `min:"1" type:"list"`
11073
11074	// The persistent application settings for users of a stack. When these settings
11075	// are enabled, changes that users make to applications and Windows settings
11076	// are automatically saved after each session and applied to the next session.
11077	ApplicationSettings *ApplicationSettings `type:"structure"`
11078
11079	// The stack attributes to delete.
11080	AttributesToDelete []*string `type:"list"`
11081
11082	// Deletes the storage connectors currently enabled for the stack.
11083	//
11084	// Deprecated: DeleteStorageConnectors has been deprecated
11085	DeleteStorageConnectors *bool `deprecated:"true" type:"boolean"`
11086
11087	// The description to display.
11088	Description *string `type:"string"`
11089
11090	// The stack name to display.
11091	DisplayName *string `type:"string"`
11092
11093	// The domains where AppStream 2.0 streaming sessions can be embedded in an
11094	// iframe. You must approve the domains that you want to host embedded AppStream
11095	// 2.0 streaming sessions.
11096	EmbedHostDomains []*string `min:"1" type:"list"`
11097
11098	// The URL that users are redirected to after they choose the Send Feedback
11099	// link. If no URL is specified, no Send Feedback link is displayed.
11100	FeedbackURL *string `type:"string"`
11101
11102	// The name of the stack.
11103	//
11104	// Name is a required field
11105	Name *string `min:"1" type:"string" required:"true"`
11106
11107	// The URL that users are redirected to after their streaming session ends.
11108	RedirectURL *string `type:"string"`
11109
11110	// The storage connectors to enable.
11111	StorageConnectors []*StorageConnector `type:"list"`
11112
11113	// The actions that are enabled or disabled for users during their streaming
11114	// sessions. By default, these actions are enabled.
11115	UserSettings []*UserSetting `min:"1" type:"list"`
11116}
11117
11118// String returns the string representation
11119func (s UpdateStackInput) String() string {
11120	return awsutil.Prettify(s)
11121}
11122
11123// GoString returns the string representation
11124func (s UpdateStackInput) GoString() string {
11125	return s.String()
11126}
11127
11128// Validate inspects the fields of the type to determine if they are valid.
11129func (s *UpdateStackInput) Validate() error {
11130	invalidParams := request.ErrInvalidParams{Context: "UpdateStackInput"}
11131	if s.AccessEndpoints != nil && len(s.AccessEndpoints) < 1 {
11132		invalidParams.Add(request.NewErrParamMinLen("AccessEndpoints", 1))
11133	}
11134	if s.EmbedHostDomains != nil && len(s.EmbedHostDomains) < 1 {
11135		invalidParams.Add(request.NewErrParamMinLen("EmbedHostDomains", 1))
11136	}
11137	if s.Name == nil {
11138		invalidParams.Add(request.NewErrParamRequired("Name"))
11139	}
11140	if s.Name != nil && len(*s.Name) < 1 {
11141		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11142	}
11143	if s.UserSettings != nil && len(s.UserSettings) < 1 {
11144		invalidParams.Add(request.NewErrParamMinLen("UserSettings", 1))
11145	}
11146	if s.AccessEndpoints != nil {
11147		for i, v := range s.AccessEndpoints {
11148			if v == nil {
11149				continue
11150			}
11151			if err := v.Validate(); err != nil {
11152				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessEndpoints", i), err.(request.ErrInvalidParams))
11153			}
11154		}
11155	}
11156	if s.ApplicationSettings != nil {
11157		if err := s.ApplicationSettings.Validate(); err != nil {
11158			invalidParams.AddNested("ApplicationSettings", err.(request.ErrInvalidParams))
11159		}
11160	}
11161	if s.StorageConnectors != nil {
11162		for i, v := range s.StorageConnectors {
11163			if v == nil {
11164				continue
11165			}
11166			if err := v.Validate(); err != nil {
11167				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StorageConnectors", i), err.(request.ErrInvalidParams))
11168			}
11169		}
11170	}
11171	if s.UserSettings != nil {
11172		for i, v := range s.UserSettings {
11173			if v == nil {
11174				continue
11175			}
11176			if err := v.Validate(); err != nil {
11177				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserSettings", i), err.(request.ErrInvalidParams))
11178			}
11179		}
11180	}
11181
11182	if invalidParams.Len() > 0 {
11183		return invalidParams
11184	}
11185	return nil
11186}
11187
11188// SetAccessEndpoints sets the AccessEndpoints field's value.
11189func (s *UpdateStackInput) SetAccessEndpoints(v []*AccessEndpoint) *UpdateStackInput {
11190	s.AccessEndpoints = v
11191	return s
11192}
11193
11194// SetApplicationSettings sets the ApplicationSettings field's value.
11195func (s *UpdateStackInput) SetApplicationSettings(v *ApplicationSettings) *UpdateStackInput {
11196	s.ApplicationSettings = v
11197	return s
11198}
11199
11200// SetAttributesToDelete sets the AttributesToDelete field's value.
11201func (s *UpdateStackInput) SetAttributesToDelete(v []*string) *UpdateStackInput {
11202	s.AttributesToDelete = v
11203	return s
11204}
11205
11206// SetDeleteStorageConnectors sets the DeleteStorageConnectors field's value.
11207func (s *UpdateStackInput) SetDeleteStorageConnectors(v bool) *UpdateStackInput {
11208	s.DeleteStorageConnectors = &v
11209	return s
11210}
11211
11212// SetDescription sets the Description field's value.
11213func (s *UpdateStackInput) SetDescription(v string) *UpdateStackInput {
11214	s.Description = &v
11215	return s
11216}
11217
11218// SetDisplayName sets the DisplayName field's value.
11219func (s *UpdateStackInput) SetDisplayName(v string) *UpdateStackInput {
11220	s.DisplayName = &v
11221	return s
11222}
11223
11224// SetEmbedHostDomains sets the EmbedHostDomains field's value.
11225func (s *UpdateStackInput) SetEmbedHostDomains(v []*string) *UpdateStackInput {
11226	s.EmbedHostDomains = v
11227	return s
11228}
11229
11230// SetFeedbackURL sets the FeedbackURL field's value.
11231func (s *UpdateStackInput) SetFeedbackURL(v string) *UpdateStackInput {
11232	s.FeedbackURL = &v
11233	return s
11234}
11235
11236// SetName sets the Name field's value.
11237func (s *UpdateStackInput) SetName(v string) *UpdateStackInput {
11238	s.Name = &v
11239	return s
11240}
11241
11242// SetRedirectURL sets the RedirectURL field's value.
11243func (s *UpdateStackInput) SetRedirectURL(v string) *UpdateStackInput {
11244	s.RedirectURL = &v
11245	return s
11246}
11247
11248// SetStorageConnectors sets the StorageConnectors field's value.
11249func (s *UpdateStackInput) SetStorageConnectors(v []*StorageConnector) *UpdateStackInput {
11250	s.StorageConnectors = v
11251	return s
11252}
11253
11254// SetUserSettings sets the UserSettings field's value.
11255func (s *UpdateStackInput) SetUserSettings(v []*UserSetting) *UpdateStackInput {
11256	s.UserSettings = v
11257	return s
11258}
11259
11260type UpdateStackOutput struct {
11261	_ struct{} `type:"structure"`
11262
11263	// Information about the stack.
11264	Stack *Stack `type:"structure"`
11265}
11266
11267// String returns the string representation
11268func (s UpdateStackOutput) String() string {
11269	return awsutil.Prettify(s)
11270}
11271
11272// GoString returns the string representation
11273func (s UpdateStackOutput) GoString() string {
11274	return s.String()
11275}
11276
11277// SetStack sets the Stack field's value.
11278func (s *UpdateStackOutput) SetStack(v *Stack) *UpdateStackOutput {
11279	s.Stack = v
11280	return s
11281}
11282
11283// Describes information about the usage report subscription.
11284type UsageReportSubscription struct {
11285	_ struct{} `type:"structure"`
11286
11287	// The time when the last usage report was generated.
11288	LastGeneratedReportDate *time.Time `type:"timestamp"`
11289
11290	// The Amazon S3 bucket where generated reports are stored.
11291	//
11292	// If you enabled on-instance session scripts and Amazon S3 logging for your
11293	// session script configuration, AppStream 2.0 created an S3 bucket to store
11294	// the script output. The bucket is unique to your account and Region. When
11295	// you enable usage reporting in this case, AppStream 2.0 uses the same bucket
11296	// to store your usage reports. If you haven't already enabled on-instance session
11297	// scripts, when you enable usage reports, AppStream 2.0 creates a new S3 bucket.
11298	S3BucketName *string `min:"1" type:"string"`
11299
11300	// The schedule for generating usage reports.
11301	Schedule *string `type:"string" enum:"UsageReportSchedule"`
11302
11303	// The errors that were returned if usage reports couldn't be generated.
11304	SubscriptionErrors []*LastReportGenerationExecutionError `type:"list"`
11305}
11306
11307// String returns the string representation
11308func (s UsageReportSubscription) String() string {
11309	return awsutil.Prettify(s)
11310}
11311
11312// GoString returns the string representation
11313func (s UsageReportSubscription) GoString() string {
11314	return s.String()
11315}
11316
11317// SetLastGeneratedReportDate sets the LastGeneratedReportDate field's value.
11318func (s *UsageReportSubscription) SetLastGeneratedReportDate(v time.Time) *UsageReportSubscription {
11319	s.LastGeneratedReportDate = &v
11320	return s
11321}
11322
11323// SetS3BucketName sets the S3BucketName field's value.
11324func (s *UsageReportSubscription) SetS3BucketName(v string) *UsageReportSubscription {
11325	s.S3BucketName = &v
11326	return s
11327}
11328
11329// SetSchedule sets the Schedule field's value.
11330func (s *UsageReportSubscription) SetSchedule(v string) *UsageReportSubscription {
11331	s.Schedule = &v
11332	return s
11333}
11334
11335// SetSubscriptionErrors sets the SubscriptionErrors field's value.
11336func (s *UsageReportSubscription) SetSubscriptionErrors(v []*LastReportGenerationExecutionError) *UsageReportSubscription {
11337	s.SubscriptionErrors = v
11338	return s
11339}
11340
11341// Describes a user in the user pool.
11342type User struct {
11343	_ struct{} `type:"structure"`
11344
11345	// The ARN of the user.
11346	Arn *string `type:"string"`
11347
11348	// The authentication type for the user.
11349	//
11350	// AuthenticationType is a required field
11351	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
11352
11353	// The date and time the user was created in the user pool.
11354	CreatedTime *time.Time `type:"timestamp"`
11355
11356	// Specifies whether the user in the user pool is enabled.
11357	Enabled *bool `type:"boolean"`
11358
11359	// The first name, or given name, of the user.
11360	FirstName *string `type:"string" sensitive:"true"`
11361
11362	// The last name, or surname, of the user.
11363	LastName *string `type:"string" sensitive:"true"`
11364
11365	// The status of the user in the user pool. The status can be one of the following:
11366	//
11367	//    * UNCONFIRMED – The user is created but not confirmed.
11368	//
11369	//    * CONFIRMED – The user is confirmed.
11370	//
11371	//    * ARCHIVED – The user is no longer active.
11372	//
11373	//    * COMPROMISED – The user is disabled because of a potential security
11374	//    threat.
11375	//
11376	//    * UNKNOWN – The user status is not known.
11377	Status *string `min:"1" type:"string"`
11378
11379	// The email address of the user.
11380	//
11381	// Users' email addresses are case-sensitive.
11382	UserName *string `min:"1" type:"string" sensitive:"true"`
11383}
11384
11385// String returns the string representation
11386func (s User) String() string {
11387	return awsutil.Prettify(s)
11388}
11389
11390// GoString returns the string representation
11391func (s User) GoString() string {
11392	return s.String()
11393}
11394
11395// SetArn sets the Arn field's value.
11396func (s *User) SetArn(v string) *User {
11397	s.Arn = &v
11398	return s
11399}
11400
11401// SetAuthenticationType sets the AuthenticationType field's value.
11402func (s *User) SetAuthenticationType(v string) *User {
11403	s.AuthenticationType = &v
11404	return s
11405}
11406
11407// SetCreatedTime sets the CreatedTime field's value.
11408func (s *User) SetCreatedTime(v time.Time) *User {
11409	s.CreatedTime = &v
11410	return s
11411}
11412
11413// SetEnabled sets the Enabled field's value.
11414func (s *User) SetEnabled(v bool) *User {
11415	s.Enabled = &v
11416	return s
11417}
11418
11419// SetFirstName sets the FirstName field's value.
11420func (s *User) SetFirstName(v string) *User {
11421	s.FirstName = &v
11422	return s
11423}
11424
11425// SetLastName sets the LastName field's value.
11426func (s *User) SetLastName(v string) *User {
11427	s.LastName = &v
11428	return s
11429}
11430
11431// SetStatus sets the Status field's value.
11432func (s *User) SetStatus(v string) *User {
11433	s.Status = &v
11434	return s
11435}
11436
11437// SetUserName sets the UserName field's value.
11438func (s *User) SetUserName(v string) *User {
11439	s.UserName = &v
11440	return s
11441}
11442
11443// Describes an action and whether the action is enabled or disabled for users
11444// during their streaming sessions.
11445type UserSetting struct {
11446	_ struct{} `type:"structure"`
11447
11448	// The action that is enabled or disabled.
11449	//
11450	// Action is a required field
11451	Action *string `type:"string" required:"true" enum:"Action"`
11452
11453	// Indicates whether the action is enabled or disabled.
11454	//
11455	// Permission is a required field
11456	Permission *string `type:"string" required:"true" enum:"Permission"`
11457}
11458
11459// String returns the string representation
11460func (s UserSetting) String() string {
11461	return awsutil.Prettify(s)
11462}
11463
11464// GoString returns the string representation
11465func (s UserSetting) GoString() string {
11466	return s.String()
11467}
11468
11469// Validate inspects the fields of the type to determine if they are valid.
11470func (s *UserSetting) Validate() error {
11471	invalidParams := request.ErrInvalidParams{Context: "UserSetting"}
11472	if s.Action == nil {
11473		invalidParams.Add(request.NewErrParamRequired("Action"))
11474	}
11475	if s.Permission == nil {
11476		invalidParams.Add(request.NewErrParamRequired("Permission"))
11477	}
11478
11479	if invalidParams.Len() > 0 {
11480		return invalidParams
11481	}
11482	return nil
11483}
11484
11485// SetAction sets the Action field's value.
11486func (s *UserSetting) SetAction(v string) *UserSetting {
11487	s.Action = &v
11488	return s
11489}
11490
11491// SetPermission sets the Permission field's value.
11492func (s *UserSetting) SetPermission(v string) *UserSetting {
11493	s.Permission = &v
11494	return s
11495}
11496
11497// Describes a user in the user pool and the associated stack.
11498type UserStackAssociation struct {
11499	_ struct{} `type:"structure"`
11500
11501	// The authentication type for the user.
11502	//
11503	// AuthenticationType is a required field
11504	AuthenticationType *string `type:"string" required:"true" enum:"AuthenticationType"`
11505
11506	// Specifies whether a welcome email is sent to a user after the user is created
11507	// in the user pool.
11508	SendEmailNotification *bool `type:"boolean"`
11509
11510	// The name of the stack that is associated with the user.
11511	//
11512	// StackName is a required field
11513	StackName *string `min:"1" type:"string" required:"true"`
11514
11515	// The email address of the user who is associated with the stack.
11516	//
11517	// Users' email addresses are case-sensitive.
11518	//
11519	// UserName is a required field
11520	UserName *string `min:"1" type:"string" required:"true" sensitive:"true"`
11521}
11522
11523// String returns the string representation
11524func (s UserStackAssociation) String() string {
11525	return awsutil.Prettify(s)
11526}
11527
11528// GoString returns the string representation
11529func (s UserStackAssociation) GoString() string {
11530	return s.String()
11531}
11532
11533// Validate inspects the fields of the type to determine if they are valid.
11534func (s *UserStackAssociation) Validate() error {
11535	invalidParams := request.ErrInvalidParams{Context: "UserStackAssociation"}
11536	if s.AuthenticationType == nil {
11537		invalidParams.Add(request.NewErrParamRequired("AuthenticationType"))
11538	}
11539	if s.StackName == nil {
11540		invalidParams.Add(request.NewErrParamRequired("StackName"))
11541	}
11542	if s.StackName != nil && len(*s.StackName) < 1 {
11543		invalidParams.Add(request.NewErrParamMinLen("StackName", 1))
11544	}
11545	if s.UserName == nil {
11546		invalidParams.Add(request.NewErrParamRequired("UserName"))
11547	}
11548	if s.UserName != nil && len(*s.UserName) < 1 {
11549		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
11550	}
11551
11552	if invalidParams.Len() > 0 {
11553		return invalidParams
11554	}
11555	return nil
11556}
11557
11558// SetAuthenticationType sets the AuthenticationType field's value.
11559func (s *UserStackAssociation) SetAuthenticationType(v string) *UserStackAssociation {
11560	s.AuthenticationType = &v
11561	return s
11562}
11563
11564// SetSendEmailNotification sets the SendEmailNotification field's value.
11565func (s *UserStackAssociation) SetSendEmailNotification(v bool) *UserStackAssociation {
11566	s.SendEmailNotification = &v
11567	return s
11568}
11569
11570// SetStackName sets the StackName field's value.
11571func (s *UserStackAssociation) SetStackName(v string) *UserStackAssociation {
11572	s.StackName = &v
11573	return s
11574}
11575
11576// SetUserName sets the UserName field's value.
11577func (s *UserStackAssociation) SetUserName(v string) *UserStackAssociation {
11578	s.UserName = &v
11579	return s
11580}
11581
11582// Describes the error that is returned when a user can’t be associated with
11583// or disassociated from a stack.
11584type UserStackAssociationError struct {
11585	_ struct{} `type:"structure"`
11586
11587	// The error code for the error that is returned when a user can’t be associated
11588	// with or disassociated from a stack.
11589	ErrorCode *string `type:"string" enum:"UserStackAssociationErrorCode"`
11590
11591	// The error message for the error that is returned when a user can’t be associated
11592	// with or disassociated from a stack.
11593	ErrorMessage *string `min:"1" type:"string"`
11594
11595	// Information about the user and associated stack.
11596	UserStackAssociation *UserStackAssociation `type:"structure"`
11597}
11598
11599// String returns the string representation
11600func (s UserStackAssociationError) String() string {
11601	return awsutil.Prettify(s)
11602}
11603
11604// GoString returns the string representation
11605func (s UserStackAssociationError) GoString() string {
11606	return s.String()
11607}
11608
11609// SetErrorCode sets the ErrorCode field's value.
11610func (s *UserStackAssociationError) SetErrorCode(v string) *UserStackAssociationError {
11611	s.ErrorCode = &v
11612	return s
11613}
11614
11615// SetErrorMessage sets the ErrorMessage field's value.
11616func (s *UserStackAssociationError) SetErrorMessage(v string) *UserStackAssociationError {
11617	s.ErrorMessage = &v
11618	return s
11619}
11620
11621// SetUserStackAssociation sets the UserStackAssociation field's value.
11622func (s *UserStackAssociationError) SetUserStackAssociation(v *UserStackAssociation) *UserStackAssociationError {
11623	s.UserStackAssociation = v
11624	return s
11625}
11626
11627// Describes VPC configuration information for fleets and image builders.
11628type VpcConfig struct {
11629	_ struct{} `type:"structure"`
11630
11631	// The identifiers of the security groups for the fleet or image builder.
11632	SecurityGroupIds []*string `type:"list"`
11633
11634	// The identifiers of the subnets to which a network interface is attached from
11635	// the fleet instance or image builder instance. Fleet instances use one or
11636	// more subnets. Image builder instances use one subnet.
11637	SubnetIds []*string `type:"list"`
11638}
11639
11640// String returns the string representation
11641func (s VpcConfig) String() string {
11642	return awsutil.Prettify(s)
11643}
11644
11645// GoString returns the string representation
11646func (s VpcConfig) GoString() string {
11647	return s.String()
11648}
11649
11650// SetSecurityGroupIds sets the SecurityGroupIds field's value.
11651func (s *VpcConfig) SetSecurityGroupIds(v []*string) *VpcConfig {
11652	s.SecurityGroupIds = v
11653	return s
11654}
11655
11656// SetSubnetIds sets the SubnetIds field's value.
11657func (s *VpcConfig) SetSubnetIds(v []*string) *VpcConfig {
11658	s.SubnetIds = v
11659	return s
11660}
11661
11662const (
11663	// AccessEndpointTypeStreaming is a AccessEndpointType enum value
11664	AccessEndpointTypeStreaming = "STREAMING"
11665)
11666
11667const (
11668	// ActionClipboardCopyFromLocalDevice is a Action enum value
11669	ActionClipboardCopyFromLocalDevice = "CLIPBOARD_COPY_FROM_LOCAL_DEVICE"
11670
11671	// ActionClipboardCopyToLocalDevice is a Action enum value
11672	ActionClipboardCopyToLocalDevice = "CLIPBOARD_COPY_TO_LOCAL_DEVICE"
11673
11674	// ActionFileUpload is a Action enum value
11675	ActionFileUpload = "FILE_UPLOAD"
11676
11677	// ActionFileDownload is a Action enum value
11678	ActionFileDownload = "FILE_DOWNLOAD"
11679
11680	// ActionPrintingToLocalDevice is a Action enum value
11681	ActionPrintingToLocalDevice = "PRINTING_TO_LOCAL_DEVICE"
11682)
11683
11684const (
11685	// AuthenticationTypeApi is a AuthenticationType enum value
11686	AuthenticationTypeApi = "API"
11687
11688	// AuthenticationTypeSaml is a AuthenticationType enum value
11689	AuthenticationTypeSaml = "SAML"
11690
11691	// AuthenticationTypeUserpool is a AuthenticationType enum value
11692	AuthenticationTypeUserpool = "USERPOOL"
11693)
11694
11695// The fleet attribute.
11696const (
11697	// FleetAttributeVpcConfiguration is a FleetAttribute enum value
11698	FleetAttributeVpcConfiguration = "VPC_CONFIGURATION"
11699
11700	// FleetAttributeVpcConfigurationSecurityGroupIds is a FleetAttribute enum value
11701	FleetAttributeVpcConfigurationSecurityGroupIds = "VPC_CONFIGURATION_SECURITY_GROUP_IDS"
11702
11703	// FleetAttributeDomainJoinInfo is a FleetAttribute enum value
11704	FleetAttributeDomainJoinInfo = "DOMAIN_JOIN_INFO"
11705
11706	// FleetAttributeIamRoleArn is a FleetAttribute enum value
11707	FleetAttributeIamRoleArn = "IAM_ROLE_ARN"
11708)
11709
11710const (
11711	// FleetErrorCodeIamServiceRoleMissingEniDescribeAction is a FleetErrorCode enum value
11712	FleetErrorCodeIamServiceRoleMissingEniDescribeAction = "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION"
11713
11714	// FleetErrorCodeIamServiceRoleMissingEniCreateAction is a FleetErrorCode enum value
11715	FleetErrorCodeIamServiceRoleMissingEniCreateAction = "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION"
11716
11717	// FleetErrorCodeIamServiceRoleMissingEniDeleteAction is a FleetErrorCode enum value
11718	FleetErrorCodeIamServiceRoleMissingEniDeleteAction = "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION"
11719
11720	// FleetErrorCodeNetworkInterfaceLimitExceeded is a FleetErrorCode enum value
11721	FleetErrorCodeNetworkInterfaceLimitExceeded = "NETWORK_INTERFACE_LIMIT_EXCEEDED"
11722
11723	// FleetErrorCodeInternalServiceError is a FleetErrorCode enum value
11724	FleetErrorCodeInternalServiceError = "INTERNAL_SERVICE_ERROR"
11725
11726	// FleetErrorCodeIamServiceRoleIsMissing is a FleetErrorCode enum value
11727	FleetErrorCodeIamServiceRoleIsMissing = "IAM_SERVICE_ROLE_IS_MISSING"
11728
11729	// FleetErrorCodeMachineRoleIsMissing is a FleetErrorCode enum value
11730	FleetErrorCodeMachineRoleIsMissing = "MACHINE_ROLE_IS_MISSING"
11731
11732	// FleetErrorCodeStsDisabledInRegion is a FleetErrorCode enum value
11733	FleetErrorCodeStsDisabledInRegion = "STS_DISABLED_IN_REGION"
11734
11735	// FleetErrorCodeSubnetHasInsufficientIpAddresses is a FleetErrorCode enum value
11736	FleetErrorCodeSubnetHasInsufficientIpAddresses = "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES"
11737
11738	// FleetErrorCodeIamServiceRoleMissingDescribeSubnetAction is a FleetErrorCode enum value
11739	FleetErrorCodeIamServiceRoleMissingDescribeSubnetAction = "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION"
11740
11741	// FleetErrorCodeSubnetNotFound is a FleetErrorCode enum value
11742	FleetErrorCodeSubnetNotFound = "SUBNET_NOT_FOUND"
11743
11744	// FleetErrorCodeImageNotFound is a FleetErrorCode enum value
11745	FleetErrorCodeImageNotFound = "IMAGE_NOT_FOUND"
11746
11747	// FleetErrorCodeInvalidSubnetConfiguration is a FleetErrorCode enum value
11748	FleetErrorCodeInvalidSubnetConfiguration = "INVALID_SUBNET_CONFIGURATION"
11749
11750	// FleetErrorCodeSecurityGroupsNotFound is a FleetErrorCode enum value
11751	FleetErrorCodeSecurityGroupsNotFound = "SECURITY_GROUPS_NOT_FOUND"
11752
11753	// FleetErrorCodeIgwNotAttached is a FleetErrorCode enum value
11754	FleetErrorCodeIgwNotAttached = "IGW_NOT_ATTACHED"
11755
11756	// FleetErrorCodeIamServiceRoleMissingDescribeSecurityGroupsAction is a FleetErrorCode enum value
11757	FleetErrorCodeIamServiceRoleMissingDescribeSecurityGroupsAction = "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION"
11758
11759	// FleetErrorCodeDomainJoinErrorFileNotFound is a FleetErrorCode enum value
11760	FleetErrorCodeDomainJoinErrorFileNotFound = "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND"
11761
11762	// FleetErrorCodeDomainJoinErrorAccessDenied is a FleetErrorCode enum value
11763	FleetErrorCodeDomainJoinErrorAccessDenied = "DOMAIN_JOIN_ERROR_ACCESS_DENIED"
11764
11765	// FleetErrorCodeDomainJoinErrorLogonFailure is a FleetErrorCode enum value
11766	FleetErrorCodeDomainJoinErrorLogonFailure = "DOMAIN_JOIN_ERROR_LOGON_FAILURE"
11767
11768	// FleetErrorCodeDomainJoinErrorInvalidParameter is a FleetErrorCode enum value
11769	FleetErrorCodeDomainJoinErrorInvalidParameter = "DOMAIN_JOIN_ERROR_INVALID_PARAMETER"
11770
11771	// FleetErrorCodeDomainJoinErrorMoreData is a FleetErrorCode enum value
11772	FleetErrorCodeDomainJoinErrorMoreData = "DOMAIN_JOIN_ERROR_MORE_DATA"
11773
11774	// FleetErrorCodeDomainJoinErrorNoSuchDomain is a FleetErrorCode enum value
11775	FleetErrorCodeDomainJoinErrorNoSuchDomain = "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN"
11776
11777	// FleetErrorCodeDomainJoinErrorNotSupported is a FleetErrorCode enum value
11778	FleetErrorCodeDomainJoinErrorNotSupported = "DOMAIN_JOIN_ERROR_NOT_SUPPORTED"
11779
11780	// FleetErrorCodeDomainJoinNerrInvalidWorkgroupName is a FleetErrorCode enum value
11781	FleetErrorCodeDomainJoinNerrInvalidWorkgroupName = "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME"
11782
11783	// FleetErrorCodeDomainJoinNerrWorkstationNotStarted is a FleetErrorCode enum value
11784	FleetErrorCodeDomainJoinNerrWorkstationNotStarted = "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED"
11785
11786	// FleetErrorCodeDomainJoinErrorDsMachineAccountQuotaExceeded is a FleetErrorCode enum value
11787	FleetErrorCodeDomainJoinErrorDsMachineAccountQuotaExceeded = "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED"
11788
11789	// FleetErrorCodeDomainJoinNerrPasswordExpired is a FleetErrorCode enum value
11790	FleetErrorCodeDomainJoinNerrPasswordExpired = "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED"
11791
11792	// FleetErrorCodeDomainJoinInternalServiceError is a FleetErrorCode enum value
11793	FleetErrorCodeDomainJoinInternalServiceError = "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR"
11794)
11795
11796const (
11797	// FleetStateStarting is a FleetState enum value
11798	FleetStateStarting = "STARTING"
11799
11800	// FleetStateRunning is a FleetState enum value
11801	FleetStateRunning = "RUNNING"
11802
11803	// FleetStateStopping is a FleetState enum value
11804	FleetStateStopping = "STOPPING"
11805
11806	// FleetStateStopped is a FleetState enum value
11807	FleetStateStopped = "STOPPED"
11808)
11809
11810const (
11811	// FleetTypeAlwaysOn is a FleetType enum value
11812	FleetTypeAlwaysOn = "ALWAYS_ON"
11813
11814	// FleetTypeOnDemand is a FleetType enum value
11815	FleetTypeOnDemand = "ON_DEMAND"
11816)
11817
11818const (
11819	// ImageBuilderStatePending is a ImageBuilderState enum value
11820	ImageBuilderStatePending = "PENDING"
11821
11822	// ImageBuilderStateUpdatingAgent is a ImageBuilderState enum value
11823	ImageBuilderStateUpdatingAgent = "UPDATING_AGENT"
11824
11825	// ImageBuilderStateRunning is a ImageBuilderState enum value
11826	ImageBuilderStateRunning = "RUNNING"
11827
11828	// ImageBuilderStateStopping is a ImageBuilderState enum value
11829	ImageBuilderStateStopping = "STOPPING"
11830
11831	// ImageBuilderStateStopped is a ImageBuilderState enum value
11832	ImageBuilderStateStopped = "STOPPED"
11833
11834	// ImageBuilderStateRebooting is a ImageBuilderState enum value
11835	ImageBuilderStateRebooting = "REBOOTING"
11836
11837	// ImageBuilderStateSnapshotting is a ImageBuilderState enum value
11838	ImageBuilderStateSnapshotting = "SNAPSHOTTING"
11839
11840	// ImageBuilderStateDeleting is a ImageBuilderState enum value
11841	ImageBuilderStateDeleting = "DELETING"
11842
11843	// ImageBuilderStateFailed is a ImageBuilderState enum value
11844	ImageBuilderStateFailed = "FAILED"
11845)
11846
11847const (
11848	// ImageBuilderStateChangeReasonCodeInternalError is a ImageBuilderStateChangeReasonCode enum value
11849	ImageBuilderStateChangeReasonCodeInternalError = "INTERNAL_ERROR"
11850
11851	// ImageBuilderStateChangeReasonCodeImageUnavailable is a ImageBuilderStateChangeReasonCode enum value
11852	ImageBuilderStateChangeReasonCodeImageUnavailable = "IMAGE_UNAVAILABLE"
11853)
11854
11855const (
11856	// ImageStatePending is a ImageState enum value
11857	ImageStatePending = "PENDING"
11858
11859	// ImageStateAvailable is a ImageState enum value
11860	ImageStateAvailable = "AVAILABLE"
11861
11862	// ImageStateFailed is a ImageState enum value
11863	ImageStateFailed = "FAILED"
11864
11865	// ImageStateCopying is a ImageState enum value
11866	ImageStateCopying = "COPYING"
11867
11868	// ImageStateDeleting is a ImageState enum value
11869	ImageStateDeleting = "DELETING"
11870)
11871
11872const (
11873	// ImageStateChangeReasonCodeInternalError is a ImageStateChangeReasonCode enum value
11874	ImageStateChangeReasonCodeInternalError = "INTERNAL_ERROR"
11875
11876	// ImageStateChangeReasonCodeImageBuilderNotAvailable is a ImageStateChangeReasonCode enum value
11877	ImageStateChangeReasonCodeImageBuilderNotAvailable = "IMAGE_BUILDER_NOT_AVAILABLE"
11878
11879	// ImageStateChangeReasonCodeImageCopyFailure is a ImageStateChangeReasonCode enum value
11880	ImageStateChangeReasonCodeImageCopyFailure = "IMAGE_COPY_FAILURE"
11881)
11882
11883const (
11884	// MessageActionSuppress is a MessageAction enum value
11885	MessageActionSuppress = "SUPPRESS"
11886
11887	// MessageActionResend is a MessageAction enum value
11888	MessageActionResend = "RESEND"
11889)
11890
11891const (
11892	// PermissionEnabled is a Permission enum value
11893	PermissionEnabled = "ENABLED"
11894
11895	// PermissionDisabled is a Permission enum value
11896	PermissionDisabled = "DISABLED"
11897)
11898
11899const (
11900	// PlatformTypeWindows is a PlatformType enum value
11901	PlatformTypeWindows = "WINDOWS"
11902
11903	// PlatformTypeWindowsServer2016 is a PlatformType enum value
11904	PlatformTypeWindowsServer2016 = "WINDOWS_SERVER_2016"
11905
11906	// PlatformTypeWindowsServer2019 is a PlatformType enum value
11907	PlatformTypeWindowsServer2019 = "WINDOWS_SERVER_2019"
11908)
11909
11910const (
11911	// SessionConnectionStateConnected is a SessionConnectionState enum value
11912	SessionConnectionStateConnected = "CONNECTED"
11913
11914	// SessionConnectionStateNotConnected is a SessionConnectionState enum value
11915	SessionConnectionStateNotConnected = "NOT_CONNECTED"
11916)
11917
11918// Possible values for the state of a streaming session.
11919const (
11920	// SessionStateActive is a SessionState enum value
11921	SessionStateActive = "ACTIVE"
11922
11923	// SessionStatePending is a SessionState enum value
11924	SessionStatePending = "PENDING"
11925
11926	// SessionStateExpired is a SessionState enum value
11927	SessionStateExpired = "EXPIRED"
11928)
11929
11930const (
11931	// StackAttributeStorageConnectors is a StackAttribute enum value
11932	StackAttributeStorageConnectors = "STORAGE_CONNECTORS"
11933
11934	// StackAttributeStorageConnectorHomefolders is a StackAttribute enum value
11935	StackAttributeStorageConnectorHomefolders = "STORAGE_CONNECTOR_HOMEFOLDERS"
11936
11937	// StackAttributeStorageConnectorGoogleDrive is a StackAttribute enum value
11938	StackAttributeStorageConnectorGoogleDrive = "STORAGE_CONNECTOR_GOOGLE_DRIVE"
11939
11940	// StackAttributeStorageConnectorOneDrive is a StackAttribute enum value
11941	StackAttributeStorageConnectorOneDrive = "STORAGE_CONNECTOR_ONE_DRIVE"
11942
11943	// StackAttributeRedirectUrl is a StackAttribute enum value
11944	StackAttributeRedirectUrl = "REDIRECT_URL"
11945
11946	// StackAttributeFeedbackUrl is a StackAttribute enum value
11947	StackAttributeFeedbackUrl = "FEEDBACK_URL"
11948
11949	// StackAttributeThemeName is a StackAttribute enum value
11950	StackAttributeThemeName = "THEME_NAME"
11951
11952	// StackAttributeUserSettings is a StackAttribute enum value
11953	StackAttributeUserSettings = "USER_SETTINGS"
11954
11955	// StackAttributeEmbedHostDomains is a StackAttribute enum value
11956	StackAttributeEmbedHostDomains = "EMBED_HOST_DOMAINS"
11957
11958	// StackAttributeIamRoleArn is a StackAttribute enum value
11959	StackAttributeIamRoleArn = "IAM_ROLE_ARN"
11960
11961	// StackAttributeAccessEndpoints is a StackAttribute enum value
11962	StackAttributeAccessEndpoints = "ACCESS_ENDPOINTS"
11963)
11964
11965const (
11966	// StackErrorCodeStorageConnectorError is a StackErrorCode enum value
11967	StackErrorCodeStorageConnectorError = "STORAGE_CONNECTOR_ERROR"
11968
11969	// StackErrorCodeInternalServiceError is a StackErrorCode enum value
11970	StackErrorCodeInternalServiceError = "INTERNAL_SERVICE_ERROR"
11971)
11972
11973// The type of storage connector.
11974const (
11975	// StorageConnectorTypeHomefolders is a StorageConnectorType enum value
11976	StorageConnectorTypeHomefolders = "HOMEFOLDERS"
11977
11978	// StorageConnectorTypeGoogleDrive is a StorageConnectorType enum value
11979	StorageConnectorTypeGoogleDrive = "GOOGLE_DRIVE"
11980
11981	// StorageConnectorTypeOneDrive is a StorageConnectorType enum value
11982	StorageConnectorTypeOneDrive = "ONE_DRIVE"
11983)
11984
11985const (
11986	// UsageReportExecutionErrorCodeResourceNotFound is a UsageReportExecutionErrorCode enum value
11987	UsageReportExecutionErrorCodeResourceNotFound = "RESOURCE_NOT_FOUND"
11988
11989	// UsageReportExecutionErrorCodeAccessDenied is a UsageReportExecutionErrorCode enum value
11990	UsageReportExecutionErrorCodeAccessDenied = "ACCESS_DENIED"
11991
11992	// UsageReportExecutionErrorCodeInternalServiceError is a UsageReportExecutionErrorCode enum value
11993	UsageReportExecutionErrorCodeInternalServiceError = "INTERNAL_SERVICE_ERROR"
11994)
11995
11996const (
11997	// UsageReportScheduleDaily is a UsageReportSchedule enum value
11998	UsageReportScheduleDaily = "DAILY"
11999)
12000
12001const (
12002	// UserStackAssociationErrorCodeStackNotFound is a UserStackAssociationErrorCode enum value
12003	UserStackAssociationErrorCodeStackNotFound = "STACK_NOT_FOUND"
12004
12005	// UserStackAssociationErrorCodeUserNameNotFound is a UserStackAssociationErrorCode enum value
12006	UserStackAssociationErrorCodeUserNameNotFound = "USER_NAME_NOT_FOUND"
12007
12008	// UserStackAssociationErrorCodeInternalError is a UserStackAssociationErrorCode enum value
12009	UserStackAssociationErrorCodeInternalError = "INTERNAL_ERROR"
12010)
12011
12012const (
12013	// VisibilityTypePublic is a VisibilityType enum value
12014	VisibilityTypePublic = "PUBLIC"
12015
12016	// VisibilityTypePrivate is a VisibilityType enum value
12017	VisibilityTypePrivate = "PRIVATE"
12018
12019	// VisibilityTypeShared is a VisibilityType enum value
12020	VisibilityTypeShared = "SHARED"
12021)
12022