1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package cloud9
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 opCreateEnvironmentEC2 = "CreateEnvironmentEC2"
17
18// CreateEnvironmentEC2Request generates a "aws/request.Request" representing the
19// client's request for the CreateEnvironmentEC2 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 CreateEnvironmentEC2 for more information on using the CreateEnvironmentEC2
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 CreateEnvironmentEC2Request method.
34//    req, resp := client.CreateEnvironmentEC2Request(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/cloud9-2017-09-23/CreateEnvironmentEC2
42func (c *Cloud9) CreateEnvironmentEC2Request(input *CreateEnvironmentEC2Input) (req *request.Request, output *CreateEnvironmentEC2Output) {
43	op := &request.Operation{
44		Name:       opCreateEnvironmentEC2,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &CreateEnvironmentEC2Input{}
51	}
52
53	output = &CreateEnvironmentEC2Output{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CreateEnvironmentEC2 API operation for AWS Cloud9.
59//
60// Creates an AWS Cloud9 development environment, launches an Amazon Elastic
61// Compute Cloud (Amazon EC2) instance, and then connects from the instance
62// to the environment.
63//
64// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
65// with awserr.Error's Code and Message methods to get detailed information about
66// the error.
67//
68// See the AWS API reference guide for AWS Cloud9's
69// API operation CreateEnvironmentEC2 for usage and error information.
70//
71// Returned Error Types:
72//   * BadRequestException
73//   The target request is invalid.
74//
75//   * ConflictException
76//   A conflict occurred.
77//
78//   * NotFoundException
79//   The target resource cannot be found.
80//
81//   * ForbiddenException
82//   An access permissions issue occurred.
83//
84//   * TooManyRequestsException
85//   Too many service requests were made over the given time period.
86//
87//   * LimitExceededException
88//   A service limit was exceeded.
89//
90//   * InternalServerErrorException
91//   An internal server error occurred.
92//
93// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/CreateEnvironmentEC2
94func (c *Cloud9) CreateEnvironmentEC2(input *CreateEnvironmentEC2Input) (*CreateEnvironmentEC2Output, error) {
95	req, out := c.CreateEnvironmentEC2Request(input)
96	return out, req.Send()
97}
98
99// CreateEnvironmentEC2WithContext is the same as CreateEnvironmentEC2 with the addition of
100// the ability to pass a context and additional request options.
101//
102// See CreateEnvironmentEC2 for details on how to use this API operation.
103//
104// The context must be non-nil and will be used for request cancellation. If
105// the context is nil a panic will occur. In the future the SDK may create
106// sub-contexts for http.Requests. See https://golang.org/pkg/context/
107// for more information on using Contexts.
108func (c *Cloud9) CreateEnvironmentEC2WithContext(ctx aws.Context, input *CreateEnvironmentEC2Input, opts ...request.Option) (*CreateEnvironmentEC2Output, error) {
109	req, out := c.CreateEnvironmentEC2Request(input)
110	req.SetContext(ctx)
111	req.ApplyOptions(opts...)
112	return out, req.Send()
113}
114
115const opCreateEnvironmentMembership = "CreateEnvironmentMembership"
116
117// CreateEnvironmentMembershipRequest generates a "aws/request.Request" representing the
118// client's request for the CreateEnvironmentMembership operation. The "output" return
119// value will be populated with the request's response once the request completes
120// successfully.
121//
122// Use "Send" method on the returned Request to send the API call to the service.
123// the "output" return value is not valid until after Send returns without error.
124//
125// See CreateEnvironmentMembership for more information on using the CreateEnvironmentMembership
126// API call, and error handling.
127//
128// This method is useful when you want to inject custom logic or configuration
129// into the SDK's request lifecycle. Such as custom headers, or retry logic.
130//
131//
132//    // Example sending a request using the CreateEnvironmentMembershipRequest method.
133//    req, resp := client.CreateEnvironmentMembershipRequest(params)
134//
135//    err := req.Send()
136//    if err == nil { // resp is now filled
137//        fmt.Println(resp)
138//    }
139//
140// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/CreateEnvironmentMembership
141func (c *Cloud9) CreateEnvironmentMembershipRequest(input *CreateEnvironmentMembershipInput) (req *request.Request, output *CreateEnvironmentMembershipOutput) {
142	op := &request.Operation{
143		Name:       opCreateEnvironmentMembership,
144		HTTPMethod: "POST",
145		HTTPPath:   "/",
146	}
147
148	if input == nil {
149		input = &CreateEnvironmentMembershipInput{}
150	}
151
152	output = &CreateEnvironmentMembershipOutput{}
153	req = c.newRequest(op, input, output)
154	return
155}
156
157// CreateEnvironmentMembership API operation for AWS Cloud9.
158//
159// Adds an environment member to an AWS Cloud9 development environment.
160//
161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
162// with awserr.Error's Code and Message methods to get detailed information about
163// the error.
164//
165// See the AWS API reference guide for AWS Cloud9's
166// API operation CreateEnvironmentMembership for usage and error information.
167//
168// Returned Error Types:
169//   * BadRequestException
170//   The target request is invalid.
171//
172//   * ConflictException
173//   A conflict occurred.
174//
175//   * NotFoundException
176//   The target resource cannot be found.
177//
178//   * ForbiddenException
179//   An access permissions issue occurred.
180//
181//   * TooManyRequestsException
182//   Too many service requests were made over the given time period.
183//
184//   * LimitExceededException
185//   A service limit was exceeded.
186//
187//   * InternalServerErrorException
188//   An internal server error occurred.
189//
190// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/CreateEnvironmentMembership
191func (c *Cloud9) CreateEnvironmentMembership(input *CreateEnvironmentMembershipInput) (*CreateEnvironmentMembershipOutput, error) {
192	req, out := c.CreateEnvironmentMembershipRequest(input)
193	return out, req.Send()
194}
195
196// CreateEnvironmentMembershipWithContext is the same as CreateEnvironmentMembership with the addition of
197// the ability to pass a context and additional request options.
198//
199// See CreateEnvironmentMembership for details on how to use this API operation.
200//
201// The context must be non-nil and will be used for request cancellation. If
202// the context is nil a panic will occur. In the future the SDK may create
203// sub-contexts for http.Requests. See https://golang.org/pkg/context/
204// for more information on using Contexts.
205func (c *Cloud9) CreateEnvironmentMembershipWithContext(ctx aws.Context, input *CreateEnvironmentMembershipInput, opts ...request.Option) (*CreateEnvironmentMembershipOutput, error) {
206	req, out := c.CreateEnvironmentMembershipRequest(input)
207	req.SetContext(ctx)
208	req.ApplyOptions(opts...)
209	return out, req.Send()
210}
211
212const opDeleteEnvironment = "DeleteEnvironment"
213
214// DeleteEnvironmentRequest generates a "aws/request.Request" representing the
215// client's request for the DeleteEnvironment operation. The "output" return
216// value will be populated with the request's response once the request completes
217// successfully.
218//
219// Use "Send" method on the returned Request to send the API call to the service.
220// the "output" return value is not valid until after Send returns without error.
221//
222// See DeleteEnvironment for more information on using the DeleteEnvironment
223// API call, and error handling.
224//
225// This method is useful when you want to inject custom logic or configuration
226// into the SDK's request lifecycle. Such as custom headers, or retry logic.
227//
228//
229//    // Example sending a request using the DeleteEnvironmentRequest method.
230//    req, resp := client.DeleteEnvironmentRequest(params)
231//
232//    err := req.Send()
233//    if err == nil { // resp is now filled
234//        fmt.Println(resp)
235//    }
236//
237// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DeleteEnvironment
238func (c *Cloud9) DeleteEnvironmentRequest(input *DeleteEnvironmentInput) (req *request.Request, output *DeleteEnvironmentOutput) {
239	op := &request.Operation{
240		Name:       opDeleteEnvironment,
241		HTTPMethod: "POST",
242		HTTPPath:   "/",
243	}
244
245	if input == nil {
246		input = &DeleteEnvironmentInput{}
247	}
248
249	output = &DeleteEnvironmentOutput{}
250	req = c.newRequest(op, input, output)
251	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
252	return
253}
254
255// DeleteEnvironment API operation for AWS Cloud9.
256//
257// Deletes an AWS Cloud9 development environment. If an Amazon EC2 instance
258// is connected to the environment, also terminates the instance.
259//
260// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
261// with awserr.Error's Code and Message methods to get detailed information about
262// the error.
263//
264// See the AWS API reference guide for AWS Cloud9's
265// API operation DeleteEnvironment for usage and error information.
266//
267// Returned Error Types:
268//   * BadRequestException
269//   The target request is invalid.
270//
271//   * ConflictException
272//   A conflict occurred.
273//
274//   * NotFoundException
275//   The target resource cannot be found.
276//
277//   * ForbiddenException
278//   An access permissions issue occurred.
279//
280//   * TooManyRequestsException
281//   Too many service requests were made over the given time period.
282//
283//   * LimitExceededException
284//   A service limit was exceeded.
285//
286//   * InternalServerErrorException
287//   An internal server error occurred.
288//
289// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DeleteEnvironment
290func (c *Cloud9) DeleteEnvironment(input *DeleteEnvironmentInput) (*DeleteEnvironmentOutput, error) {
291	req, out := c.DeleteEnvironmentRequest(input)
292	return out, req.Send()
293}
294
295// DeleteEnvironmentWithContext is the same as DeleteEnvironment with the addition of
296// the ability to pass a context and additional request options.
297//
298// See DeleteEnvironment for details on how to use this API operation.
299//
300// The context must be non-nil and will be used for request cancellation. If
301// the context is nil a panic will occur. In the future the SDK may create
302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
303// for more information on using Contexts.
304func (c *Cloud9) DeleteEnvironmentWithContext(ctx aws.Context, input *DeleteEnvironmentInput, opts ...request.Option) (*DeleteEnvironmentOutput, error) {
305	req, out := c.DeleteEnvironmentRequest(input)
306	req.SetContext(ctx)
307	req.ApplyOptions(opts...)
308	return out, req.Send()
309}
310
311const opDeleteEnvironmentMembership = "DeleteEnvironmentMembership"
312
313// DeleteEnvironmentMembershipRequest generates a "aws/request.Request" representing the
314// client's request for the DeleteEnvironmentMembership operation. The "output" return
315// value will be populated with the request's response once the request completes
316// successfully.
317//
318// Use "Send" method on the returned Request to send the API call to the service.
319// the "output" return value is not valid until after Send returns without error.
320//
321// See DeleteEnvironmentMembership for more information on using the DeleteEnvironmentMembership
322// API call, and error handling.
323//
324// This method is useful when you want to inject custom logic or configuration
325// into the SDK's request lifecycle. Such as custom headers, or retry logic.
326//
327//
328//    // Example sending a request using the DeleteEnvironmentMembershipRequest method.
329//    req, resp := client.DeleteEnvironmentMembershipRequest(params)
330//
331//    err := req.Send()
332//    if err == nil { // resp is now filled
333//        fmt.Println(resp)
334//    }
335//
336// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DeleteEnvironmentMembership
337func (c *Cloud9) DeleteEnvironmentMembershipRequest(input *DeleteEnvironmentMembershipInput) (req *request.Request, output *DeleteEnvironmentMembershipOutput) {
338	op := &request.Operation{
339		Name:       opDeleteEnvironmentMembership,
340		HTTPMethod: "POST",
341		HTTPPath:   "/",
342	}
343
344	if input == nil {
345		input = &DeleteEnvironmentMembershipInput{}
346	}
347
348	output = &DeleteEnvironmentMembershipOutput{}
349	req = c.newRequest(op, input, output)
350	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
351	return
352}
353
354// DeleteEnvironmentMembership API operation for AWS Cloud9.
355//
356// Deletes an environment member from an AWS Cloud9 development environment.
357//
358// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
359// with awserr.Error's Code and Message methods to get detailed information about
360// the error.
361//
362// See the AWS API reference guide for AWS Cloud9's
363// API operation DeleteEnvironmentMembership for usage and error information.
364//
365// Returned Error Types:
366//   * BadRequestException
367//   The target request is invalid.
368//
369//   * ConflictException
370//   A conflict occurred.
371//
372//   * NotFoundException
373//   The target resource cannot be found.
374//
375//   * ForbiddenException
376//   An access permissions issue occurred.
377//
378//   * TooManyRequestsException
379//   Too many service requests were made over the given time period.
380//
381//   * LimitExceededException
382//   A service limit was exceeded.
383//
384//   * InternalServerErrorException
385//   An internal server error occurred.
386//
387// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DeleteEnvironmentMembership
388func (c *Cloud9) DeleteEnvironmentMembership(input *DeleteEnvironmentMembershipInput) (*DeleteEnvironmentMembershipOutput, error) {
389	req, out := c.DeleteEnvironmentMembershipRequest(input)
390	return out, req.Send()
391}
392
393// DeleteEnvironmentMembershipWithContext is the same as DeleteEnvironmentMembership with the addition of
394// the ability to pass a context and additional request options.
395//
396// See DeleteEnvironmentMembership for details on how to use this API operation.
397//
398// The context must be non-nil and will be used for request cancellation. If
399// the context is nil a panic will occur. In the future the SDK may create
400// sub-contexts for http.Requests. See https://golang.org/pkg/context/
401// for more information on using Contexts.
402func (c *Cloud9) DeleteEnvironmentMembershipWithContext(ctx aws.Context, input *DeleteEnvironmentMembershipInput, opts ...request.Option) (*DeleteEnvironmentMembershipOutput, error) {
403	req, out := c.DeleteEnvironmentMembershipRequest(input)
404	req.SetContext(ctx)
405	req.ApplyOptions(opts...)
406	return out, req.Send()
407}
408
409const opDescribeEnvironmentMemberships = "DescribeEnvironmentMemberships"
410
411// DescribeEnvironmentMembershipsRequest generates a "aws/request.Request" representing the
412// client's request for the DescribeEnvironmentMemberships operation. The "output" return
413// value will be populated with the request's response once the request completes
414// successfully.
415//
416// Use "Send" method on the returned Request to send the API call to the service.
417// the "output" return value is not valid until after Send returns without error.
418//
419// See DescribeEnvironmentMemberships for more information on using the DescribeEnvironmentMemberships
420// API call, and error handling.
421//
422// This method is useful when you want to inject custom logic or configuration
423// into the SDK's request lifecycle. Such as custom headers, or retry logic.
424//
425//
426//    // Example sending a request using the DescribeEnvironmentMembershipsRequest method.
427//    req, resp := client.DescribeEnvironmentMembershipsRequest(params)
428//
429//    err := req.Send()
430//    if err == nil { // resp is now filled
431//        fmt.Println(resp)
432//    }
433//
434// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentMemberships
435func (c *Cloud9) DescribeEnvironmentMembershipsRequest(input *DescribeEnvironmentMembershipsInput) (req *request.Request, output *DescribeEnvironmentMembershipsOutput) {
436	op := &request.Operation{
437		Name:       opDescribeEnvironmentMemberships,
438		HTTPMethod: "POST",
439		HTTPPath:   "/",
440		Paginator: &request.Paginator{
441			InputTokens:     []string{"nextToken"},
442			OutputTokens:    []string{"nextToken"},
443			LimitToken:      "maxResults",
444			TruncationToken: "",
445		},
446	}
447
448	if input == nil {
449		input = &DescribeEnvironmentMembershipsInput{}
450	}
451
452	output = &DescribeEnvironmentMembershipsOutput{}
453	req = c.newRequest(op, input, output)
454	return
455}
456
457// DescribeEnvironmentMemberships API operation for AWS Cloud9.
458//
459// Gets information about environment members for an AWS Cloud9 development
460// environment.
461//
462// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
463// with awserr.Error's Code and Message methods to get detailed information about
464// the error.
465//
466// See the AWS API reference guide for AWS Cloud9's
467// API operation DescribeEnvironmentMemberships for usage and error information.
468//
469// Returned Error Types:
470//   * BadRequestException
471//   The target request is invalid.
472//
473//   * ConflictException
474//   A conflict occurred.
475//
476//   * NotFoundException
477//   The target resource cannot be found.
478//
479//   * ForbiddenException
480//   An access permissions issue occurred.
481//
482//   * TooManyRequestsException
483//   Too many service requests were made over the given time period.
484//
485//   * LimitExceededException
486//   A service limit was exceeded.
487//
488//   * InternalServerErrorException
489//   An internal server error occurred.
490//
491// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentMemberships
492func (c *Cloud9) DescribeEnvironmentMemberships(input *DescribeEnvironmentMembershipsInput) (*DescribeEnvironmentMembershipsOutput, error) {
493	req, out := c.DescribeEnvironmentMembershipsRequest(input)
494	return out, req.Send()
495}
496
497// DescribeEnvironmentMembershipsWithContext is the same as DescribeEnvironmentMemberships with the addition of
498// the ability to pass a context and additional request options.
499//
500// See DescribeEnvironmentMemberships for details on how to use this API operation.
501//
502// The context must be non-nil and will be used for request cancellation. If
503// the context is nil a panic will occur. In the future the SDK may create
504// sub-contexts for http.Requests. See https://golang.org/pkg/context/
505// for more information on using Contexts.
506func (c *Cloud9) DescribeEnvironmentMembershipsWithContext(ctx aws.Context, input *DescribeEnvironmentMembershipsInput, opts ...request.Option) (*DescribeEnvironmentMembershipsOutput, error) {
507	req, out := c.DescribeEnvironmentMembershipsRequest(input)
508	req.SetContext(ctx)
509	req.ApplyOptions(opts...)
510	return out, req.Send()
511}
512
513// DescribeEnvironmentMembershipsPages iterates over the pages of a DescribeEnvironmentMemberships operation,
514// calling the "fn" function with the response data for each page. To stop
515// iterating, return false from the fn function.
516//
517// See DescribeEnvironmentMemberships method for more information on how to use this operation.
518//
519// Note: This operation can generate multiple requests to a service.
520//
521//    // Example iterating over at most 3 pages of a DescribeEnvironmentMemberships operation.
522//    pageNum := 0
523//    err := client.DescribeEnvironmentMembershipsPages(params,
524//        func(page *cloud9.DescribeEnvironmentMembershipsOutput, lastPage bool) bool {
525//            pageNum++
526//            fmt.Println(page)
527//            return pageNum <= 3
528//        })
529//
530func (c *Cloud9) DescribeEnvironmentMembershipsPages(input *DescribeEnvironmentMembershipsInput, fn func(*DescribeEnvironmentMembershipsOutput, bool) bool) error {
531	return c.DescribeEnvironmentMembershipsPagesWithContext(aws.BackgroundContext(), input, fn)
532}
533
534// DescribeEnvironmentMembershipsPagesWithContext same as DescribeEnvironmentMembershipsPages except
535// it takes a Context and allows setting request options on the pages.
536//
537// The context must be non-nil and will be used for request cancellation. If
538// the context is nil a panic will occur. In the future the SDK may create
539// sub-contexts for http.Requests. See https://golang.org/pkg/context/
540// for more information on using Contexts.
541func (c *Cloud9) DescribeEnvironmentMembershipsPagesWithContext(ctx aws.Context, input *DescribeEnvironmentMembershipsInput, fn func(*DescribeEnvironmentMembershipsOutput, bool) bool, opts ...request.Option) error {
542	p := request.Pagination{
543		NewRequest: func() (*request.Request, error) {
544			var inCpy *DescribeEnvironmentMembershipsInput
545			if input != nil {
546				tmp := *input
547				inCpy = &tmp
548			}
549			req, _ := c.DescribeEnvironmentMembershipsRequest(inCpy)
550			req.SetContext(ctx)
551			req.ApplyOptions(opts...)
552			return req, nil
553		},
554	}
555
556	for p.Next() {
557		if !fn(p.Page().(*DescribeEnvironmentMembershipsOutput), !p.HasNextPage()) {
558			break
559		}
560	}
561
562	return p.Err()
563}
564
565const opDescribeEnvironmentStatus = "DescribeEnvironmentStatus"
566
567// DescribeEnvironmentStatusRequest generates a "aws/request.Request" representing the
568// client's request for the DescribeEnvironmentStatus operation. The "output" return
569// value will be populated with the request's response once the request completes
570// successfully.
571//
572// Use "Send" method on the returned Request to send the API call to the service.
573// the "output" return value is not valid until after Send returns without error.
574//
575// See DescribeEnvironmentStatus for more information on using the DescribeEnvironmentStatus
576// API call, and error handling.
577//
578// This method is useful when you want to inject custom logic or configuration
579// into the SDK's request lifecycle. Such as custom headers, or retry logic.
580//
581//
582//    // Example sending a request using the DescribeEnvironmentStatusRequest method.
583//    req, resp := client.DescribeEnvironmentStatusRequest(params)
584//
585//    err := req.Send()
586//    if err == nil { // resp is now filled
587//        fmt.Println(resp)
588//    }
589//
590// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentStatus
591func (c *Cloud9) DescribeEnvironmentStatusRequest(input *DescribeEnvironmentStatusInput) (req *request.Request, output *DescribeEnvironmentStatusOutput) {
592	op := &request.Operation{
593		Name:       opDescribeEnvironmentStatus,
594		HTTPMethod: "POST",
595		HTTPPath:   "/",
596	}
597
598	if input == nil {
599		input = &DescribeEnvironmentStatusInput{}
600	}
601
602	output = &DescribeEnvironmentStatusOutput{}
603	req = c.newRequest(op, input, output)
604	return
605}
606
607// DescribeEnvironmentStatus API operation for AWS Cloud9.
608//
609// Gets status information for an AWS Cloud9 development environment.
610//
611// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
612// with awserr.Error's Code and Message methods to get detailed information about
613// the error.
614//
615// See the AWS API reference guide for AWS Cloud9's
616// API operation DescribeEnvironmentStatus for usage and error information.
617//
618// Returned Error Types:
619//   * BadRequestException
620//   The target request is invalid.
621//
622//   * ConflictException
623//   A conflict occurred.
624//
625//   * NotFoundException
626//   The target resource cannot be found.
627//
628//   * ForbiddenException
629//   An access permissions issue occurred.
630//
631//   * TooManyRequestsException
632//   Too many service requests were made over the given time period.
633//
634//   * LimitExceededException
635//   A service limit was exceeded.
636//
637//   * InternalServerErrorException
638//   An internal server error occurred.
639//
640// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentStatus
641func (c *Cloud9) DescribeEnvironmentStatus(input *DescribeEnvironmentStatusInput) (*DescribeEnvironmentStatusOutput, error) {
642	req, out := c.DescribeEnvironmentStatusRequest(input)
643	return out, req.Send()
644}
645
646// DescribeEnvironmentStatusWithContext is the same as DescribeEnvironmentStatus with the addition of
647// the ability to pass a context and additional request options.
648//
649// See DescribeEnvironmentStatus for details on how to use this API operation.
650//
651// The context must be non-nil and will be used for request cancellation. If
652// the context is nil a panic will occur. In the future the SDK may create
653// sub-contexts for http.Requests. See https://golang.org/pkg/context/
654// for more information on using Contexts.
655func (c *Cloud9) DescribeEnvironmentStatusWithContext(ctx aws.Context, input *DescribeEnvironmentStatusInput, opts ...request.Option) (*DescribeEnvironmentStatusOutput, error) {
656	req, out := c.DescribeEnvironmentStatusRequest(input)
657	req.SetContext(ctx)
658	req.ApplyOptions(opts...)
659	return out, req.Send()
660}
661
662const opDescribeEnvironments = "DescribeEnvironments"
663
664// DescribeEnvironmentsRequest generates a "aws/request.Request" representing the
665// client's request for the DescribeEnvironments operation. The "output" return
666// value will be populated with the request's response once the request completes
667// successfully.
668//
669// Use "Send" method on the returned Request to send the API call to the service.
670// the "output" return value is not valid until after Send returns without error.
671//
672// See DescribeEnvironments for more information on using the DescribeEnvironments
673// API call, and error handling.
674//
675// This method is useful when you want to inject custom logic or configuration
676// into the SDK's request lifecycle. Such as custom headers, or retry logic.
677//
678//
679//    // Example sending a request using the DescribeEnvironmentsRequest method.
680//    req, resp := client.DescribeEnvironmentsRequest(params)
681//
682//    err := req.Send()
683//    if err == nil { // resp is now filled
684//        fmt.Println(resp)
685//    }
686//
687// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironments
688func (c *Cloud9) DescribeEnvironmentsRequest(input *DescribeEnvironmentsInput) (req *request.Request, output *DescribeEnvironmentsOutput) {
689	op := &request.Operation{
690		Name:       opDescribeEnvironments,
691		HTTPMethod: "POST",
692		HTTPPath:   "/",
693	}
694
695	if input == nil {
696		input = &DescribeEnvironmentsInput{}
697	}
698
699	output = &DescribeEnvironmentsOutput{}
700	req = c.newRequest(op, input, output)
701	return
702}
703
704// DescribeEnvironments API operation for AWS Cloud9.
705//
706// Gets information about AWS Cloud9 development environments.
707//
708// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
709// with awserr.Error's Code and Message methods to get detailed information about
710// the error.
711//
712// See the AWS API reference guide for AWS Cloud9's
713// API operation DescribeEnvironments for usage and error information.
714//
715// Returned Error Types:
716//   * BadRequestException
717//   The target request is invalid.
718//
719//   * ConflictException
720//   A conflict occurred.
721//
722//   * NotFoundException
723//   The target resource cannot be found.
724//
725//   * ForbiddenException
726//   An access permissions issue occurred.
727//
728//   * TooManyRequestsException
729//   Too many service requests were made over the given time period.
730//
731//   * LimitExceededException
732//   A service limit was exceeded.
733//
734//   * InternalServerErrorException
735//   An internal server error occurred.
736//
737// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironments
738func (c *Cloud9) DescribeEnvironments(input *DescribeEnvironmentsInput) (*DescribeEnvironmentsOutput, error) {
739	req, out := c.DescribeEnvironmentsRequest(input)
740	return out, req.Send()
741}
742
743// DescribeEnvironmentsWithContext is the same as DescribeEnvironments with the addition of
744// the ability to pass a context and additional request options.
745//
746// See DescribeEnvironments for details on how to use this API operation.
747//
748// The context must be non-nil and will be used for request cancellation. If
749// the context is nil a panic will occur. In the future the SDK may create
750// sub-contexts for http.Requests. See https://golang.org/pkg/context/
751// for more information on using Contexts.
752func (c *Cloud9) DescribeEnvironmentsWithContext(ctx aws.Context, input *DescribeEnvironmentsInput, opts ...request.Option) (*DescribeEnvironmentsOutput, error) {
753	req, out := c.DescribeEnvironmentsRequest(input)
754	req.SetContext(ctx)
755	req.ApplyOptions(opts...)
756	return out, req.Send()
757}
758
759const opListEnvironments = "ListEnvironments"
760
761// ListEnvironmentsRequest generates a "aws/request.Request" representing the
762// client's request for the ListEnvironments operation. The "output" return
763// value will be populated with the request's response once the request completes
764// successfully.
765//
766// Use "Send" method on the returned Request to send the API call to the service.
767// the "output" return value is not valid until after Send returns without error.
768//
769// See ListEnvironments for more information on using the ListEnvironments
770// API call, and error handling.
771//
772// This method is useful when you want to inject custom logic or configuration
773// into the SDK's request lifecycle. Such as custom headers, or retry logic.
774//
775//
776//    // Example sending a request using the ListEnvironmentsRequest method.
777//    req, resp := client.ListEnvironmentsRequest(params)
778//
779//    err := req.Send()
780//    if err == nil { // resp is now filled
781//        fmt.Println(resp)
782//    }
783//
784// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/ListEnvironments
785func (c *Cloud9) ListEnvironmentsRequest(input *ListEnvironmentsInput) (req *request.Request, output *ListEnvironmentsOutput) {
786	op := &request.Operation{
787		Name:       opListEnvironments,
788		HTTPMethod: "POST",
789		HTTPPath:   "/",
790		Paginator: &request.Paginator{
791			InputTokens:     []string{"nextToken"},
792			OutputTokens:    []string{"nextToken"},
793			LimitToken:      "maxResults",
794			TruncationToken: "",
795		},
796	}
797
798	if input == nil {
799		input = &ListEnvironmentsInput{}
800	}
801
802	output = &ListEnvironmentsOutput{}
803	req = c.newRequest(op, input, output)
804	return
805}
806
807// ListEnvironments API operation for AWS Cloud9.
808//
809// Gets a list of AWS Cloud9 development environment identifiers.
810//
811// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
812// with awserr.Error's Code and Message methods to get detailed information about
813// the error.
814//
815// See the AWS API reference guide for AWS Cloud9's
816// API operation ListEnvironments for usage and error information.
817//
818// Returned Error Types:
819//   * BadRequestException
820//   The target request is invalid.
821//
822//   * ConflictException
823//   A conflict occurred.
824//
825//   * NotFoundException
826//   The target resource cannot be found.
827//
828//   * ForbiddenException
829//   An access permissions issue occurred.
830//
831//   * TooManyRequestsException
832//   Too many service requests were made over the given time period.
833//
834//   * LimitExceededException
835//   A service limit was exceeded.
836//
837//   * InternalServerErrorException
838//   An internal server error occurred.
839//
840// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/ListEnvironments
841func (c *Cloud9) ListEnvironments(input *ListEnvironmentsInput) (*ListEnvironmentsOutput, error) {
842	req, out := c.ListEnvironmentsRequest(input)
843	return out, req.Send()
844}
845
846// ListEnvironmentsWithContext is the same as ListEnvironments with the addition of
847// the ability to pass a context and additional request options.
848//
849// See ListEnvironments for details on how to use this API operation.
850//
851// The context must be non-nil and will be used for request cancellation. If
852// the context is nil a panic will occur. In the future the SDK may create
853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
854// for more information on using Contexts.
855func (c *Cloud9) ListEnvironmentsWithContext(ctx aws.Context, input *ListEnvironmentsInput, opts ...request.Option) (*ListEnvironmentsOutput, error) {
856	req, out := c.ListEnvironmentsRequest(input)
857	req.SetContext(ctx)
858	req.ApplyOptions(opts...)
859	return out, req.Send()
860}
861
862// ListEnvironmentsPages iterates over the pages of a ListEnvironments operation,
863// calling the "fn" function with the response data for each page. To stop
864// iterating, return false from the fn function.
865//
866// See ListEnvironments method for more information on how to use this operation.
867//
868// Note: This operation can generate multiple requests to a service.
869//
870//    // Example iterating over at most 3 pages of a ListEnvironments operation.
871//    pageNum := 0
872//    err := client.ListEnvironmentsPages(params,
873//        func(page *cloud9.ListEnvironmentsOutput, lastPage bool) bool {
874//            pageNum++
875//            fmt.Println(page)
876//            return pageNum <= 3
877//        })
878//
879func (c *Cloud9) ListEnvironmentsPages(input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool) error {
880	return c.ListEnvironmentsPagesWithContext(aws.BackgroundContext(), input, fn)
881}
882
883// ListEnvironmentsPagesWithContext same as ListEnvironmentsPages except
884// it takes a Context and allows setting request options on the pages.
885//
886// The context must be non-nil and will be used for request cancellation. If
887// the context is nil a panic will occur. In the future the SDK may create
888// sub-contexts for http.Requests. See https://golang.org/pkg/context/
889// for more information on using Contexts.
890func (c *Cloud9) ListEnvironmentsPagesWithContext(ctx aws.Context, input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool, opts ...request.Option) error {
891	p := request.Pagination{
892		NewRequest: func() (*request.Request, error) {
893			var inCpy *ListEnvironmentsInput
894			if input != nil {
895				tmp := *input
896				inCpy = &tmp
897			}
898			req, _ := c.ListEnvironmentsRequest(inCpy)
899			req.SetContext(ctx)
900			req.ApplyOptions(opts...)
901			return req, nil
902		},
903	}
904
905	for p.Next() {
906		if !fn(p.Page().(*ListEnvironmentsOutput), !p.HasNextPage()) {
907			break
908		}
909	}
910
911	return p.Err()
912}
913
914const opListTagsForResource = "ListTagsForResource"
915
916// ListTagsForResourceRequest generates a "aws/request.Request" representing the
917// client's request for the ListTagsForResource operation. The "output" return
918// value will be populated with the request's response once the request completes
919// successfully.
920//
921// Use "Send" method on the returned Request to send the API call to the service.
922// the "output" return value is not valid until after Send returns without error.
923//
924// See ListTagsForResource for more information on using the ListTagsForResource
925// API call, and error handling.
926//
927// This method is useful when you want to inject custom logic or configuration
928// into the SDK's request lifecycle. Such as custom headers, or retry logic.
929//
930//
931//    // Example sending a request using the ListTagsForResourceRequest method.
932//    req, resp := client.ListTagsForResourceRequest(params)
933//
934//    err := req.Send()
935//    if err == nil { // resp is now filled
936//        fmt.Println(resp)
937//    }
938//
939// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/ListTagsForResource
940func (c *Cloud9) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
941	op := &request.Operation{
942		Name:       opListTagsForResource,
943		HTTPMethod: "POST",
944		HTTPPath:   "/",
945	}
946
947	if input == nil {
948		input = &ListTagsForResourceInput{}
949	}
950
951	output = &ListTagsForResourceOutput{}
952	req = c.newRequest(op, input, output)
953	return
954}
955
956// ListTagsForResource API operation for AWS Cloud9.
957//
958// Gets a list of the tags associated with an AWS Cloud9 development environment.
959//
960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
961// with awserr.Error's Code and Message methods to get detailed information about
962// the error.
963//
964// See the AWS API reference guide for AWS Cloud9's
965// API operation ListTagsForResource for usage and error information.
966//
967// Returned Error Types:
968//   * NotFoundException
969//   The target resource cannot be found.
970//
971//   * InternalServerErrorException
972//   An internal server error occurred.
973//
974//   * BadRequestException
975//   The target request is invalid.
976//
977// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/ListTagsForResource
978func (c *Cloud9) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
979	req, out := c.ListTagsForResourceRequest(input)
980	return out, req.Send()
981}
982
983// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
984// the ability to pass a context and additional request options.
985//
986// See ListTagsForResource for details on how to use this API operation.
987//
988// The context must be non-nil and will be used for request cancellation. If
989// the context is nil a panic will occur. In the future the SDK may create
990// sub-contexts for http.Requests. See https://golang.org/pkg/context/
991// for more information on using Contexts.
992func (c *Cloud9) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
993	req, out := c.ListTagsForResourceRequest(input)
994	req.SetContext(ctx)
995	req.ApplyOptions(opts...)
996	return out, req.Send()
997}
998
999const opTagResource = "TagResource"
1000
1001// TagResourceRequest generates a "aws/request.Request" representing the
1002// client's request for the TagResource operation. The "output" return
1003// value will be populated with the request's response once the request completes
1004// successfully.
1005//
1006// Use "Send" method on the returned Request to send the API call to the service.
1007// the "output" return value is not valid until after Send returns without error.
1008//
1009// See TagResource for more information on using the TagResource
1010// API call, and error handling.
1011//
1012// This method is useful when you want to inject custom logic or configuration
1013// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1014//
1015//
1016//    // Example sending a request using the TagResourceRequest method.
1017//    req, resp := client.TagResourceRequest(params)
1018//
1019//    err := req.Send()
1020//    if err == nil { // resp is now filled
1021//        fmt.Println(resp)
1022//    }
1023//
1024// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/TagResource
1025func (c *Cloud9) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
1026	op := &request.Operation{
1027		Name:       opTagResource,
1028		HTTPMethod: "POST",
1029		HTTPPath:   "/",
1030	}
1031
1032	if input == nil {
1033		input = &TagResourceInput{}
1034	}
1035
1036	output = &TagResourceOutput{}
1037	req = c.newRequest(op, input, output)
1038	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1039	return
1040}
1041
1042// TagResource API operation for AWS Cloud9.
1043//
1044// Adds tags to an AWS Cloud9 development environment.
1045//
1046// Tags that you add to an AWS Cloud9 environment by using this method will
1047// NOT be automatically propagated to underlying resources.
1048//
1049// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1050// with awserr.Error's Code and Message methods to get detailed information about
1051// the error.
1052//
1053// See the AWS API reference guide for AWS Cloud9's
1054// API operation TagResource for usage and error information.
1055//
1056// Returned Error Types:
1057//   * NotFoundException
1058//   The target resource cannot be found.
1059//
1060//   * InternalServerErrorException
1061//   An internal server error occurred.
1062//
1063//   * BadRequestException
1064//   The target request is invalid.
1065//
1066//   * ConcurrentAccessException
1067//   A concurrent access issue occurred.
1068//
1069// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/TagResource
1070func (c *Cloud9) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
1071	req, out := c.TagResourceRequest(input)
1072	return out, req.Send()
1073}
1074
1075// TagResourceWithContext is the same as TagResource with the addition of
1076// the ability to pass a context and additional request options.
1077//
1078// See TagResource for details on how to use this API operation.
1079//
1080// The context must be non-nil and will be used for request cancellation. If
1081// the context is nil a panic will occur. In the future the SDK may create
1082// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1083// for more information on using Contexts.
1084func (c *Cloud9) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
1085	req, out := c.TagResourceRequest(input)
1086	req.SetContext(ctx)
1087	req.ApplyOptions(opts...)
1088	return out, req.Send()
1089}
1090
1091const opUntagResource = "UntagResource"
1092
1093// UntagResourceRequest generates a "aws/request.Request" representing the
1094// client's request for the UntagResource operation. The "output" return
1095// value will be populated with the request's response once the request completes
1096// successfully.
1097//
1098// Use "Send" method on the returned Request to send the API call to the service.
1099// the "output" return value is not valid until after Send returns without error.
1100//
1101// See UntagResource for more information on using the UntagResource
1102// API call, and error handling.
1103//
1104// This method is useful when you want to inject custom logic or configuration
1105// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1106//
1107//
1108//    // Example sending a request using the UntagResourceRequest method.
1109//    req, resp := client.UntagResourceRequest(params)
1110//
1111//    err := req.Send()
1112//    if err == nil { // resp is now filled
1113//        fmt.Println(resp)
1114//    }
1115//
1116// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UntagResource
1117func (c *Cloud9) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
1118	op := &request.Operation{
1119		Name:       opUntagResource,
1120		HTTPMethod: "POST",
1121		HTTPPath:   "/",
1122	}
1123
1124	if input == nil {
1125		input = &UntagResourceInput{}
1126	}
1127
1128	output = &UntagResourceOutput{}
1129	req = c.newRequest(op, input, output)
1130	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1131	return
1132}
1133
1134// UntagResource API operation for AWS Cloud9.
1135//
1136// Removes tags from an AWS Cloud9 development environment.
1137//
1138// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1139// with awserr.Error's Code and Message methods to get detailed information about
1140// the error.
1141//
1142// See the AWS API reference guide for AWS Cloud9's
1143// API operation UntagResource for usage and error information.
1144//
1145// Returned Error Types:
1146//   * NotFoundException
1147//   The target resource cannot be found.
1148//
1149//   * InternalServerErrorException
1150//   An internal server error occurred.
1151//
1152//   * BadRequestException
1153//   The target request is invalid.
1154//
1155//   * ConcurrentAccessException
1156//   A concurrent access issue occurred.
1157//
1158// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UntagResource
1159func (c *Cloud9) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
1160	req, out := c.UntagResourceRequest(input)
1161	return out, req.Send()
1162}
1163
1164// UntagResourceWithContext is the same as UntagResource with the addition of
1165// the ability to pass a context and additional request options.
1166//
1167// See UntagResource for details on how to use this API operation.
1168//
1169// The context must be non-nil and will be used for request cancellation. If
1170// the context is nil a panic will occur. In the future the SDK may create
1171// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1172// for more information on using Contexts.
1173func (c *Cloud9) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
1174	req, out := c.UntagResourceRequest(input)
1175	req.SetContext(ctx)
1176	req.ApplyOptions(opts...)
1177	return out, req.Send()
1178}
1179
1180const opUpdateEnvironment = "UpdateEnvironment"
1181
1182// UpdateEnvironmentRequest generates a "aws/request.Request" representing the
1183// client's request for the UpdateEnvironment operation. The "output" return
1184// value will be populated with the request's response once the request completes
1185// successfully.
1186//
1187// Use "Send" method on the returned Request to send the API call to the service.
1188// the "output" return value is not valid until after Send returns without error.
1189//
1190// See UpdateEnvironment for more information on using the UpdateEnvironment
1191// API call, and error handling.
1192//
1193// This method is useful when you want to inject custom logic or configuration
1194// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1195//
1196//
1197//    // Example sending a request using the UpdateEnvironmentRequest method.
1198//    req, resp := client.UpdateEnvironmentRequest(params)
1199//
1200//    err := req.Send()
1201//    if err == nil { // resp is now filled
1202//        fmt.Println(resp)
1203//    }
1204//
1205// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironment
1206func (c *Cloud9) UpdateEnvironmentRequest(input *UpdateEnvironmentInput) (req *request.Request, output *UpdateEnvironmentOutput) {
1207	op := &request.Operation{
1208		Name:       opUpdateEnvironment,
1209		HTTPMethod: "POST",
1210		HTTPPath:   "/",
1211	}
1212
1213	if input == nil {
1214		input = &UpdateEnvironmentInput{}
1215	}
1216
1217	output = &UpdateEnvironmentOutput{}
1218	req = c.newRequest(op, input, output)
1219	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1220	return
1221}
1222
1223// UpdateEnvironment API operation for AWS Cloud9.
1224//
1225// Changes the settings of an existing AWS Cloud9 development environment.
1226//
1227// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1228// with awserr.Error's Code and Message methods to get detailed information about
1229// the error.
1230//
1231// See the AWS API reference guide for AWS Cloud9's
1232// API operation UpdateEnvironment for usage and error information.
1233//
1234// Returned Error Types:
1235//   * BadRequestException
1236//   The target request is invalid.
1237//
1238//   * ConflictException
1239//   A conflict occurred.
1240//
1241//   * NotFoundException
1242//   The target resource cannot be found.
1243//
1244//   * ForbiddenException
1245//   An access permissions issue occurred.
1246//
1247//   * TooManyRequestsException
1248//   Too many service requests were made over the given time period.
1249//
1250//   * LimitExceededException
1251//   A service limit was exceeded.
1252//
1253//   * InternalServerErrorException
1254//   An internal server error occurred.
1255//
1256// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironment
1257func (c *Cloud9) UpdateEnvironment(input *UpdateEnvironmentInput) (*UpdateEnvironmentOutput, error) {
1258	req, out := c.UpdateEnvironmentRequest(input)
1259	return out, req.Send()
1260}
1261
1262// UpdateEnvironmentWithContext is the same as UpdateEnvironment with the addition of
1263// the ability to pass a context and additional request options.
1264//
1265// See UpdateEnvironment for details on how to use this API operation.
1266//
1267// The context must be non-nil and will be used for request cancellation. If
1268// the context is nil a panic will occur. In the future the SDK may create
1269// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1270// for more information on using Contexts.
1271func (c *Cloud9) UpdateEnvironmentWithContext(ctx aws.Context, input *UpdateEnvironmentInput, opts ...request.Option) (*UpdateEnvironmentOutput, error) {
1272	req, out := c.UpdateEnvironmentRequest(input)
1273	req.SetContext(ctx)
1274	req.ApplyOptions(opts...)
1275	return out, req.Send()
1276}
1277
1278const opUpdateEnvironmentMembership = "UpdateEnvironmentMembership"
1279
1280// UpdateEnvironmentMembershipRequest generates a "aws/request.Request" representing the
1281// client's request for the UpdateEnvironmentMembership operation. The "output" return
1282// value will be populated with the request's response once the request completes
1283// successfully.
1284//
1285// Use "Send" method on the returned Request to send the API call to the service.
1286// the "output" return value is not valid until after Send returns without error.
1287//
1288// See UpdateEnvironmentMembership for more information on using the UpdateEnvironmentMembership
1289// API call, and error handling.
1290//
1291// This method is useful when you want to inject custom logic or configuration
1292// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1293//
1294//
1295//    // Example sending a request using the UpdateEnvironmentMembershipRequest method.
1296//    req, resp := client.UpdateEnvironmentMembershipRequest(params)
1297//
1298//    err := req.Send()
1299//    if err == nil { // resp is now filled
1300//        fmt.Println(resp)
1301//    }
1302//
1303// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironmentMembership
1304func (c *Cloud9) UpdateEnvironmentMembershipRequest(input *UpdateEnvironmentMembershipInput) (req *request.Request, output *UpdateEnvironmentMembershipOutput) {
1305	op := &request.Operation{
1306		Name:       opUpdateEnvironmentMembership,
1307		HTTPMethod: "POST",
1308		HTTPPath:   "/",
1309	}
1310
1311	if input == nil {
1312		input = &UpdateEnvironmentMembershipInput{}
1313	}
1314
1315	output = &UpdateEnvironmentMembershipOutput{}
1316	req = c.newRequest(op, input, output)
1317	return
1318}
1319
1320// UpdateEnvironmentMembership API operation for AWS Cloud9.
1321//
1322// Changes the settings of an existing environment member for an AWS Cloud9
1323// development environment.
1324//
1325// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1326// with awserr.Error's Code and Message methods to get detailed information about
1327// the error.
1328//
1329// See the AWS API reference guide for AWS Cloud9's
1330// API operation UpdateEnvironmentMembership for usage and error information.
1331//
1332// Returned Error Types:
1333//   * BadRequestException
1334//   The target request is invalid.
1335//
1336//   * ConflictException
1337//   A conflict occurred.
1338//
1339//   * NotFoundException
1340//   The target resource cannot be found.
1341//
1342//   * ForbiddenException
1343//   An access permissions issue occurred.
1344//
1345//   * TooManyRequestsException
1346//   Too many service requests were made over the given time period.
1347//
1348//   * LimitExceededException
1349//   A service limit was exceeded.
1350//
1351//   * InternalServerErrorException
1352//   An internal server error occurred.
1353//
1354// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironmentMembership
1355func (c *Cloud9) UpdateEnvironmentMembership(input *UpdateEnvironmentMembershipInput) (*UpdateEnvironmentMembershipOutput, error) {
1356	req, out := c.UpdateEnvironmentMembershipRequest(input)
1357	return out, req.Send()
1358}
1359
1360// UpdateEnvironmentMembershipWithContext is the same as UpdateEnvironmentMembership with the addition of
1361// the ability to pass a context and additional request options.
1362//
1363// See UpdateEnvironmentMembership for details on how to use this API operation.
1364//
1365// The context must be non-nil and will be used for request cancellation. If
1366// the context is nil a panic will occur. In the future the SDK may create
1367// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1368// for more information on using Contexts.
1369func (c *Cloud9) UpdateEnvironmentMembershipWithContext(ctx aws.Context, input *UpdateEnvironmentMembershipInput, opts ...request.Option) (*UpdateEnvironmentMembershipOutput, error) {
1370	req, out := c.UpdateEnvironmentMembershipRequest(input)
1371	req.SetContext(ctx)
1372	req.ApplyOptions(opts...)
1373	return out, req.Send()
1374}
1375
1376// The target request is invalid.
1377type BadRequestException struct {
1378	_            struct{}                  `type:"structure"`
1379	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1380
1381	Message_ *string `locationName:"message" type:"string"`
1382}
1383
1384// String returns the string representation
1385func (s BadRequestException) String() string {
1386	return awsutil.Prettify(s)
1387}
1388
1389// GoString returns the string representation
1390func (s BadRequestException) GoString() string {
1391	return s.String()
1392}
1393
1394func newErrorBadRequestException(v protocol.ResponseMetadata) error {
1395	return &BadRequestException{
1396		RespMetadata: v,
1397	}
1398}
1399
1400// Code returns the exception type name.
1401func (s *BadRequestException) Code() string {
1402	return "BadRequestException"
1403}
1404
1405// Message returns the exception's message.
1406func (s *BadRequestException) Message() string {
1407	if s.Message_ != nil {
1408		return *s.Message_
1409	}
1410	return ""
1411}
1412
1413// OrigErr always returns nil, satisfies awserr.Error interface.
1414func (s *BadRequestException) OrigErr() error {
1415	return nil
1416}
1417
1418func (s *BadRequestException) Error() string {
1419	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1420}
1421
1422// Status code returns the HTTP status code for the request's response error.
1423func (s *BadRequestException) StatusCode() int {
1424	return s.RespMetadata.StatusCode
1425}
1426
1427// RequestID returns the service's response RequestID for request.
1428func (s *BadRequestException) RequestID() string {
1429	return s.RespMetadata.RequestID
1430}
1431
1432// A concurrent access issue occurred.
1433type ConcurrentAccessException struct {
1434	_            struct{}                  `type:"structure"`
1435	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1436
1437	Message_ *string `locationName:"message" type:"string"`
1438}
1439
1440// String returns the string representation
1441func (s ConcurrentAccessException) String() string {
1442	return awsutil.Prettify(s)
1443}
1444
1445// GoString returns the string representation
1446func (s ConcurrentAccessException) GoString() string {
1447	return s.String()
1448}
1449
1450func newErrorConcurrentAccessException(v protocol.ResponseMetadata) error {
1451	return &ConcurrentAccessException{
1452		RespMetadata: v,
1453	}
1454}
1455
1456// Code returns the exception type name.
1457func (s *ConcurrentAccessException) Code() string {
1458	return "ConcurrentAccessException"
1459}
1460
1461// Message returns the exception's message.
1462func (s *ConcurrentAccessException) Message() string {
1463	if s.Message_ != nil {
1464		return *s.Message_
1465	}
1466	return ""
1467}
1468
1469// OrigErr always returns nil, satisfies awserr.Error interface.
1470func (s *ConcurrentAccessException) OrigErr() error {
1471	return nil
1472}
1473
1474func (s *ConcurrentAccessException) Error() string {
1475	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1476}
1477
1478// Status code returns the HTTP status code for the request's response error.
1479func (s *ConcurrentAccessException) StatusCode() int {
1480	return s.RespMetadata.StatusCode
1481}
1482
1483// RequestID returns the service's response RequestID for request.
1484func (s *ConcurrentAccessException) RequestID() string {
1485	return s.RespMetadata.RequestID
1486}
1487
1488// A conflict occurred.
1489type ConflictException struct {
1490	_            struct{}                  `type:"structure"`
1491	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1492
1493	Message_ *string `locationName:"message" type:"string"`
1494}
1495
1496// String returns the string representation
1497func (s ConflictException) String() string {
1498	return awsutil.Prettify(s)
1499}
1500
1501// GoString returns the string representation
1502func (s ConflictException) GoString() string {
1503	return s.String()
1504}
1505
1506func newErrorConflictException(v protocol.ResponseMetadata) error {
1507	return &ConflictException{
1508		RespMetadata: v,
1509	}
1510}
1511
1512// Code returns the exception type name.
1513func (s *ConflictException) Code() string {
1514	return "ConflictException"
1515}
1516
1517// Message returns the exception's message.
1518func (s *ConflictException) Message() string {
1519	if s.Message_ != nil {
1520		return *s.Message_
1521	}
1522	return ""
1523}
1524
1525// OrigErr always returns nil, satisfies awserr.Error interface.
1526func (s *ConflictException) OrigErr() error {
1527	return nil
1528}
1529
1530func (s *ConflictException) Error() string {
1531	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1532}
1533
1534// Status code returns the HTTP status code for the request's response error.
1535func (s *ConflictException) StatusCode() int {
1536	return s.RespMetadata.StatusCode
1537}
1538
1539// RequestID returns the service's response RequestID for request.
1540func (s *ConflictException) RequestID() string {
1541	return s.RespMetadata.RequestID
1542}
1543
1544type CreateEnvironmentEC2Input struct {
1545	_ struct{} `type:"structure"`
1546
1547	// The number of minutes until the running instance is shut down after the environment
1548	// has last been used.
1549	AutomaticStopTimeMinutes *int64 `locationName:"automaticStopTimeMinutes" type:"integer"`
1550
1551	// A unique, case-sensitive string that helps AWS Cloud9 to ensure this operation
1552	// completes no more than one time.
1553	//
1554	// For more information, see Client Tokens (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html)
1555	// in the Amazon EC2 API Reference.
1556	ClientRequestToken *string `locationName:"clientRequestToken" type:"string"`
1557
1558	// The connection type used for connecting to an Amazon EC2 environment. Valid
1559	// values are CONNECT_SSH (default) and CONNECT_SSM (connected through AWS Systems
1560	// Manager).
1561	//
1562	// For more information, see Accessing no-ingress EC2 instances with AWS Systems
1563	// Manager (https://docs.aws.amazon.com/cloud9/latest/user-guide/ec2-ssm.html)
1564	// in the AWS Cloud9 User Guide.
1565	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
1566
1567	// The description of the environment to create.
1568	Description *string `locationName:"description" type:"string" sensitive:"true"`
1569
1570	// The identifier for the Amazon Machine Image (AMI) that's used to create the
1571	// EC2 instance. To choose an AMI for the instance, you must specify a valid
1572	// AMI alias or a valid AWS Systems Manager (SSM) path.
1573	//
1574	// The default AMI is used if the parameter isn't explicitly assigned a value
1575	// in the request.
1576	//
1577	// AMI aliases
1578	//
1579	//    * Amazon Linux (default): amazonlinux-1-x86_64
1580	//
1581	//    * Amazon Linux 2: amazonlinux-2-x86_64
1582	//
1583	//    * Ubuntu 18.04: ubuntu-18.04-x86_64
1584	//
1585	// SSM paths
1586	//
1587	//    * Amazon Linux (default): resolve:ssm:/aws/service/cloud9/amis/amazonlinux-1-x86_64
1588	//
1589	//    * Amazon Linux 2: resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64
1590	//
1591	//    * Ubuntu 18.04: resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64
1592	ImageId *string `locationName:"imageId" type:"string"`
1593
1594	// The type of instance to connect to the environment (for example, t2.micro).
1595	//
1596	// InstanceType is a required field
1597	InstanceType *string `locationName:"instanceType" min:"5" type:"string" required:"true"`
1598
1599	// The name of the environment to create.
1600	//
1601	// This name is visible to other AWS IAM users in the same AWS account.
1602	//
1603	// Name is a required field
1604	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
1605
1606	// The Amazon Resource Name (ARN) of the environment owner. This ARN can be
1607	// the ARN of any AWS IAM principal. If this value is not specified, the ARN
1608	// defaults to this environment's creator.
1609	OwnerArn *string `locationName:"ownerArn" type:"string"`
1610
1611	// The ID of the subnet in Amazon VPC that AWS Cloud9 will use to communicate
1612	// with the Amazon EC2 instance.
1613	SubnetId *string `locationName:"subnetId" min:"15" type:"string"`
1614
1615	// An array of key-value pairs that will be associated with the new AWS Cloud9
1616	// development environment.
1617	Tags []*Tag `locationName:"tags" type:"list" sensitive:"true"`
1618}
1619
1620// String returns the string representation
1621func (s CreateEnvironmentEC2Input) String() string {
1622	return awsutil.Prettify(s)
1623}
1624
1625// GoString returns the string representation
1626func (s CreateEnvironmentEC2Input) GoString() string {
1627	return s.String()
1628}
1629
1630// Validate inspects the fields of the type to determine if they are valid.
1631func (s *CreateEnvironmentEC2Input) Validate() error {
1632	invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentEC2Input"}
1633	if s.InstanceType == nil {
1634		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
1635	}
1636	if s.InstanceType != nil && len(*s.InstanceType) < 5 {
1637		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 5))
1638	}
1639	if s.Name == nil {
1640		invalidParams.Add(request.NewErrParamRequired("Name"))
1641	}
1642	if s.Name != nil && len(*s.Name) < 1 {
1643		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1644	}
1645	if s.SubnetId != nil && len(*s.SubnetId) < 15 {
1646		invalidParams.Add(request.NewErrParamMinLen("SubnetId", 15))
1647	}
1648	if s.Tags != nil {
1649		for i, v := range s.Tags {
1650			if v == nil {
1651				continue
1652			}
1653			if err := v.Validate(); err != nil {
1654				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
1655			}
1656		}
1657	}
1658
1659	if invalidParams.Len() > 0 {
1660		return invalidParams
1661	}
1662	return nil
1663}
1664
1665// SetAutomaticStopTimeMinutes sets the AutomaticStopTimeMinutes field's value.
1666func (s *CreateEnvironmentEC2Input) SetAutomaticStopTimeMinutes(v int64) *CreateEnvironmentEC2Input {
1667	s.AutomaticStopTimeMinutes = &v
1668	return s
1669}
1670
1671// SetClientRequestToken sets the ClientRequestToken field's value.
1672func (s *CreateEnvironmentEC2Input) SetClientRequestToken(v string) *CreateEnvironmentEC2Input {
1673	s.ClientRequestToken = &v
1674	return s
1675}
1676
1677// SetConnectionType sets the ConnectionType field's value.
1678func (s *CreateEnvironmentEC2Input) SetConnectionType(v string) *CreateEnvironmentEC2Input {
1679	s.ConnectionType = &v
1680	return s
1681}
1682
1683// SetDescription sets the Description field's value.
1684func (s *CreateEnvironmentEC2Input) SetDescription(v string) *CreateEnvironmentEC2Input {
1685	s.Description = &v
1686	return s
1687}
1688
1689// SetImageId sets the ImageId field's value.
1690func (s *CreateEnvironmentEC2Input) SetImageId(v string) *CreateEnvironmentEC2Input {
1691	s.ImageId = &v
1692	return s
1693}
1694
1695// SetInstanceType sets the InstanceType field's value.
1696func (s *CreateEnvironmentEC2Input) SetInstanceType(v string) *CreateEnvironmentEC2Input {
1697	s.InstanceType = &v
1698	return s
1699}
1700
1701// SetName sets the Name field's value.
1702func (s *CreateEnvironmentEC2Input) SetName(v string) *CreateEnvironmentEC2Input {
1703	s.Name = &v
1704	return s
1705}
1706
1707// SetOwnerArn sets the OwnerArn field's value.
1708func (s *CreateEnvironmentEC2Input) SetOwnerArn(v string) *CreateEnvironmentEC2Input {
1709	s.OwnerArn = &v
1710	return s
1711}
1712
1713// SetSubnetId sets the SubnetId field's value.
1714func (s *CreateEnvironmentEC2Input) SetSubnetId(v string) *CreateEnvironmentEC2Input {
1715	s.SubnetId = &v
1716	return s
1717}
1718
1719// SetTags sets the Tags field's value.
1720func (s *CreateEnvironmentEC2Input) SetTags(v []*Tag) *CreateEnvironmentEC2Input {
1721	s.Tags = v
1722	return s
1723}
1724
1725type CreateEnvironmentEC2Output struct {
1726	_ struct{} `type:"structure"`
1727
1728	// The ID of the environment that was created.
1729	EnvironmentId *string `locationName:"environmentId" type:"string"`
1730}
1731
1732// String returns the string representation
1733func (s CreateEnvironmentEC2Output) String() string {
1734	return awsutil.Prettify(s)
1735}
1736
1737// GoString returns the string representation
1738func (s CreateEnvironmentEC2Output) GoString() string {
1739	return s.String()
1740}
1741
1742// SetEnvironmentId sets the EnvironmentId field's value.
1743func (s *CreateEnvironmentEC2Output) SetEnvironmentId(v string) *CreateEnvironmentEC2Output {
1744	s.EnvironmentId = &v
1745	return s
1746}
1747
1748type CreateEnvironmentMembershipInput struct {
1749	_ struct{} `type:"structure"`
1750
1751	// The ID of the environment that contains the environment member you want to
1752	// add.
1753	//
1754	// EnvironmentId is a required field
1755	EnvironmentId *string `locationName:"environmentId" type:"string" required:"true"`
1756
1757	// The type of environment member permissions you want to associate with this
1758	// environment member. Available values include:
1759	//
1760	//    * read-only: Has read-only access to the environment.
1761	//
1762	//    * read-write: Has read-write access to the environment.
1763	//
1764	// Permissions is a required field
1765	Permissions *string `locationName:"permissions" type:"string" required:"true" enum:"MemberPermissions"`
1766
1767	// The Amazon Resource Name (ARN) of the environment member you want to add.
1768	//
1769	// UserArn is a required field
1770	UserArn *string `locationName:"userArn" type:"string" required:"true"`
1771}
1772
1773// String returns the string representation
1774func (s CreateEnvironmentMembershipInput) String() string {
1775	return awsutil.Prettify(s)
1776}
1777
1778// GoString returns the string representation
1779func (s CreateEnvironmentMembershipInput) GoString() string {
1780	return s.String()
1781}
1782
1783// Validate inspects the fields of the type to determine if they are valid.
1784func (s *CreateEnvironmentMembershipInput) Validate() error {
1785	invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentMembershipInput"}
1786	if s.EnvironmentId == nil {
1787		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
1788	}
1789	if s.Permissions == nil {
1790		invalidParams.Add(request.NewErrParamRequired("Permissions"))
1791	}
1792	if s.UserArn == nil {
1793		invalidParams.Add(request.NewErrParamRequired("UserArn"))
1794	}
1795
1796	if invalidParams.Len() > 0 {
1797		return invalidParams
1798	}
1799	return nil
1800}
1801
1802// SetEnvironmentId sets the EnvironmentId field's value.
1803func (s *CreateEnvironmentMembershipInput) SetEnvironmentId(v string) *CreateEnvironmentMembershipInput {
1804	s.EnvironmentId = &v
1805	return s
1806}
1807
1808// SetPermissions sets the Permissions field's value.
1809func (s *CreateEnvironmentMembershipInput) SetPermissions(v string) *CreateEnvironmentMembershipInput {
1810	s.Permissions = &v
1811	return s
1812}
1813
1814// SetUserArn sets the UserArn field's value.
1815func (s *CreateEnvironmentMembershipInput) SetUserArn(v string) *CreateEnvironmentMembershipInput {
1816	s.UserArn = &v
1817	return s
1818}
1819
1820type CreateEnvironmentMembershipOutput struct {
1821	_ struct{} `type:"structure"`
1822
1823	// Information about the environment member that was added.
1824	//
1825	// Membership is a required field
1826	Membership *EnvironmentMember `locationName:"membership" type:"structure" required:"true"`
1827}
1828
1829// String returns the string representation
1830func (s CreateEnvironmentMembershipOutput) String() string {
1831	return awsutil.Prettify(s)
1832}
1833
1834// GoString returns the string representation
1835func (s CreateEnvironmentMembershipOutput) GoString() string {
1836	return s.String()
1837}
1838
1839// SetMembership sets the Membership field's value.
1840func (s *CreateEnvironmentMembershipOutput) SetMembership(v *EnvironmentMember) *CreateEnvironmentMembershipOutput {
1841	s.Membership = v
1842	return s
1843}
1844
1845type DeleteEnvironmentInput struct {
1846	_ struct{} `type:"structure"`
1847
1848	// The ID of the environment to delete.
1849	//
1850	// EnvironmentId is a required field
1851	EnvironmentId *string `locationName:"environmentId" type:"string" required:"true"`
1852}
1853
1854// String returns the string representation
1855func (s DeleteEnvironmentInput) String() string {
1856	return awsutil.Prettify(s)
1857}
1858
1859// GoString returns the string representation
1860func (s DeleteEnvironmentInput) GoString() string {
1861	return s.String()
1862}
1863
1864// Validate inspects the fields of the type to determine if they are valid.
1865func (s *DeleteEnvironmentInput) Validate() error {
1866	invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentInput"}
1867	if s.EnvironmentId == nil {
1868		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
1869	}
1870
1871	if invalidParams.Len() > 0 {
1872		return invalidParams
1873	}
1874	return nil
1875}
1876
1877// SetEnvironmentId sets the EnvironmentId field's value.
1878func (s *DeleteEnvironmentInput) SetEnvironmentId(v string) *DeleteEnvironmentInput {
1879	s.EnvironmentId = &v
1880	return s
1881}
1882
1883type DeleteEnvironmentMembershipInput struct {
1884	_ struct{} `type:"structure"`
1885
1886	// The ID of the environment to delete the environment member from.
1887	//
1888	// EnvironmentId is a required field
1889	EnvironmentId *string `locationName:"environmentId" type:"string" required:"true"`
1890
1891	// The Amazon Resource Name (ARN) of the environment member to delete from the
1892	// environment.
1893	//
1894	// UserArn is a required field
1895	UserArn *string `locationName:"userArn" type:"string" required:"true"`
1896}
1897
1898// String returns the string representation
1899func (s DeleteEnvironmentMembershipInput) String() string {
1900	return awsutil.Prettify(s)
1901}
1902
1903// GoString returns the string representation
1904func (s DeleteEnvironmentMembershipInput) GoString() string {
1905	return s.String()
1906}
1907
1908// Validate inspects the fields of the type to determine if they are valid.
1909func (s *DeleteEnvironmentMembershipInput) Validate() error {
1910	invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentMembershipInput"}
1911	if s.EnvironmentId == nil {
1912		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
1913	}
1914	if s.UserArn == nil {
1915		invalidParams.Add(request.NewErrParamRequired("UserArn"))
1916	}
1917
1918	if invalidParams.Len() > 0 {
1919		return invalidParams
1920	}
1921	return nil
1922}
1923
1924// SetEnvironmentId sets the EnvironmentId field's value.
1925func (s *DeleteEnvironmentMembershipInput) SetEnvironmentId(v string) *DeleteEnvironmentMembershipInput {
1926	s.EnvironmentId = &v
1927	return s
1928}
1929
1930// SetUserArn sets the UserArn field's value.
1931func (s *DeleteEnvironmentMembershipInput) SetUserArn(v string) *DeleteEnvironmentMembershipInput {
1932	s.UserArn = &v
1933	return s
1934}
1935
1936type DeleteEnvironmentMembershipOutput struct {
1937	_ struct{} `type:"structure"`
1938}
1939
1940// String returns the string representation
1941func (s DeleteEnvironmentMembershipOutput) String() string {
1942	return awsutil.Prettify(s)
1943}
1944
1945// GoString returns the string representation
1946func (s DeleteEnvironmentMembershipOutput) GoString() string {
1947	return s.String()
1948}
1949
1950type DeleteEnvironmentOutput struct {
1951	_ struct{} `type:"structure"`
1952}
1953
1954// String returns the string representation
1955func (s DeleteEnvironmentOutput) String() string {
1956	return awsutil.Prettify(s)
1957}
1958
1959// GoString returns the string representation
1960func (s DeleteEnvironmentOutput) GoString() string {
1961	return s.String()
1962}
1963
1964type DescribeEnvironmentMembershipsInput struct {
1965	_ struct{} `type:"structure"`
1966
1967	// The ID of the environment to get environment member information about.
1968	EnvironmentId *string `locationName:"environmentId" type:"string"`
1969
1970	// The maximum number of environment members to get information about.
1971	MaxResults *int64 `locationName:"maxResults" type:"integer"`
1972
1973	// During a previous call, if there are more than 25 items in the list, only
1974	// the first 25 items are returned, along with a unique string called a next
1975	// token. To get the next batch of items in the list, call this operation again,
1976	// adding the next token to the call. To get all of the items in the list, keep
1977	// calling this operation with each subsequent next token that is returned,
1978	// until no more next tokens are returned.
1979	NextToken *string `locationName:"nextToken" type:"string"`
1980
1981	// The type of environment member permissions to get information about. Available
1982	// values include:
1983	//
1984	//    * owner: Owns the environment.
1985	//
1986	//    * read-only: Has read-only access to the environment.
1987	//
1988	//    * read-write: Has read-write access to the environment.
1989	//
1990	// If no value is specified, information about all environment members are returned.
1991	Permissions []*string `locationName:"permissions" type:"list"`
1992
1993	// The Amazon Resource Name (ARN) of an individual environment member to get
1994	// information about. If no value is specified, information about all environment
1995	// members are returned.
1996	UserArn *string `locationName:"userArn" type:"string"`
1997}
1998
1999// String returns the string representation
2000func (s DescribeEnvironmentMembershipsInput) String() string {
2001	return awsutil.Prettify(s)
2002}
2003
2004// GoString returns the string representation
2005func (s DescribeEnvironmentMembershipsInput) GoString() string {
2006	return s.String()
2007}
2008
2009// SetEnvironmentId sets the EnvironmentId field's value.
2010func (s *DescribeEnvironmentMembershipsInput) SetEnvironmentId(v string) *DescribeEnvironmentMembershipsInput {
2011	s.EnvironmentId = &v
2012	return s
2013}
2014
2015// SetMaxResults sets the MaxResults field's value.
2016func (s *DescribeEnvironmentMembershipsInput) SetMaxResults(v int64) *DescribeEnvironmentMembershipsInput {
2017	s.MaxResults = &v
2018	return s
2019}
2020
2021// SetNextToken sets the NextToken field's value.
2022func (s *DescribeEnvironmentMembershipsInput) SetNextToken(v string) *DescribeEnvironmentMembershipsInput {
2023	s.NextToken = &v
2024	return s
2025}
2026
2027// SetPermissions sets the Permissions field's value.
2028func (s *DescribeEnvironmentMembershipsInput) SetPermissions(v []*string) *DescribeEnvironmentMembershipsInput {
2029	s.Permissions = v
2030	return s
2031}
2032
2033// SetUserArn sets the UserArn field's value.
2034func (s *DescribeEnvironmentMembershipsInput) SetUserArn(v string) *DescribeEnvironmentMembershipsInput {
2035	s.UserArn = &v
2036	return s
2037}
2038
2039type DescribeEnvironmentMembershipsOutput struct {
2040	_ struct{} `type:"structure"`
2041
2042	// Information about the environment members for the environment.
2043	Memberships []*EnvironmentMember `locationName:"memberships" type:"list"`
2044
2045	// If there are more than 25 items in the list, only the first 25 items are
2046	// returned, along with a unique string called a next token. To get the next
2047	// batch of items in the list, call this operation again, adding the next token
2048	// to the call.
2049	NextToken *string `locationName:"nextToken" type:"string"`
2050}
2051
2052// String returns the string representation
2053func (s DescribeEnvironmentMembershipsOutput) String() string {
2054	return awsutil.Prettify(s)
2055}
2056
2057// GoString returns the string representation
2058func (s DescribeEnvironmentMembershipsOutput) GoString() string {
2059	return s.String()
2060}
2061
2062// SetMemberships sets the Memberships field's value.
2063func (s *DescribeEnvironmentMembershipsOutput) SetMemberships(v []*EnvironmentMember) *DescribeEnvironmentMembershipsOutput {
2064	s.Memberships = v
2065	return s
2066}
2067
2068// SetNextToken sets the NextToken field's value.
2069func (s *DescribeEnvironmentMembershipsOutput) SetNextToken(v string) *DescribeEnvironmentMembershipsOutput {
2070	s.NextToken = &v
2071	return s
2072}
2073
2074type DescribeEnvironmentStatusInput struct {
2075	_ struct{} `type:"structure"`
2076
2077	// The ID of the environment to get status information about.
2078	//
2079	// EnvironmentId is a required field
2080	EnvironmentId *string `locationName:"environmentId" type:"string" required:"true"`
2081}
2082
2083// String returns the string representation
2084func (s DescribeEnvironmentStatusInput) String() string {
2085	return awsutil.Prettify(s)
2086}
2087
2088// GoString returns the string representation
2089func (s DescribeEnvironmentStatusInput) GoString() string {
2090	return s.String()
2091}
2092
2093// Validate inspects the fields of the type to determine if they are valid.
2094func (s *DescribeEnvironmentStatusInput) Validate() error {
2095	invalidParams := request.ErrInvalidParams{Context: "DescribeEnvironmentStatusInput"}
2096	if s.EnvironmentId == nil {
2097		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
2098	}
2099
2100	if invalidParams.Len() > 0 {
2101		return invalidParams
2102	}
2103	return nil
2104}
2105
2106// SetEnvironmentId sets the EnvironmentId field's value.
2107func (s *DescribeEnvironmentStatusInput) SetEnvironmentId(v string) *DescribeEnvironmentStatusInput {
2108	s.EnvironmentId = &v
2109	return s
2110}
2111
2112type DescribeEnvironmentStatusOutput struct {
2113	_ struct{} `type:"structure"`
2114
2115	// Any informational message about the status of the environment.
2116	//
2117	// Message is a required field
2118	Message *string `locationName:"message" type:"string" required:"true"`
2119
2120	// The status of the environment. Available values include:
2121	//
2122	//    * connecting: The environment is connecting.
2123	//
2124	//    * creating: The environment is being created.
2125	//
2126	//    * deleting: The environment is being deleted.
2127	//
2128	//    * error: The environment is in an error state.
2129	//
2130	//    * ready: The environment is ready.
2131	//
2132	//    * stopped: The environment is stopped.
2133	//
2134	//    * stopping: The environment is stopping.
2135	//
2136	// Status is a required field
2137	Status *string `locationName:"status" type:"string" required:"true" enum:"EnvironmentStatus"`
2138}
2139
2140// String returns the string representation
2141func (s DescribeEnvironmentStatusOutput) String() string {
2142	return awsutil.Prettify(s)
2143}
2144
2145// GoString returns the string representation
2146func (s DescribeEnvironmentStatusOutput) GoString() string {
2147	return s.String()
2148}
2149
2150// SetMessage sets the Message field's value.
2151func (s *DescribeEnvironmentStatusOutput) SetMessage(v string) *DescribeEnvironmentStatusOutput {
2152	s.Message = &v
2153	return s
2154}
2155
2156// SetStatus sets the Status field's value.
2157func (s *DescribeEnvironmentStatusOutput) SetStatus(v string) *DescribeEnvironmentStatusOutput {
2158	s.Status = &v
2159	return s
2160}
2161
2162type DescribeEnvironmentsInput struct {
2163	_ struct{} `type:"structure"`
2164
2165	// The IDs of individual environments to get information about.
2166	//
2167	// EnvironmentIds is a required field
2168	EnvironmentIds []*string `locationName:"environmentIds" min:"1" type:"list" required:"true"`
2169}
2170
2171// String returns the string representation
2172func (s DescribeEnvironmentsInput) String() string {
2173	return awsutil.Prettify(s)
2174}
2175
2176// GoString returns the string representation
2177func (s DescribeEnvironmentsInput) GoString() string {
2178	return s.String()
2179}
2180
2181// Validate inspects the fields of the type to determine if they are valid.
2182func (s *DescribeEnvironmentsInput) Validate() error {
2183	invalidParams := request.ErrInvalidParams{Context: "DescribeEnvironmentsInput"}
2184	if s.EnvironmentIds == nil {
2185		invalidParams.Add(request.NewErrParamRequired("EnvironmentIds"))
2186	}
2187	if s.EnvironmentIds != nil && len(s.EnvironmentIds) < 1 {
2188		invalidParams.Add(request.NewErrParamMinLen("EnvironmentIds", 1))
2189	}
2190
2191	if invalidParams.Len() > 0 {
2192		return invalidParams
2193	}
2194	return nil
2195}
2196
2197// SetEnvironmentIds sets the EnvironmentIds field's value.
2198func (s *DescribeEnvironmentsInput) SetEnvironmentIds(v []*string) *DescribeEnvironmentsInput {
2199	s.EnvironmentIds = v
2200	return s
2201}
2202
2203type DescribeEnvironmentsOutput struct {
2204	_ struct{} `type:"structure"`
2205
2206	// Information about the environments that are returned.
2207	Environments []*Environment `locationName:"environments" type:"list"`
2208}
2209
2210// String returns the string representation
2211func (s DescribeEnvironmentsOutput) String() string {
2212	return awsutil.Prettify(s)
2213}
2214
2215// GoString returns the string representation
2216func (s DescribeEnvironmentsOutput) GoString() string {
2217	return s.String()
2218}
2219
2220// SetEnvironments sets the Environments field's value.
2221func (s *DescribeEnvironmentsOutput) SetEnvironments(v []*Environment) *DescribeEnvironmentsOutput {
2222	s.Environments = v
2223	return s
2224}
2225
2226// Information about an AWS Cloud9 development environment.
2227type Environment struct {
2228	_ struct{} `type:"structure"`
2229
2230	// The Amazon Resource Name (ARN) of the environment.
2231	//
2232	// Arn is a required field
2233	Arn *string `locationName:"arn" type:"string" required:"true"`
2234
2235	// The connection type used for connecting to an Amazon EC2 environment. CONNECT_SSH
2236	// is selected by default.
2237	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
2238
2239	// The description for the environment.
2240	Description *string `locationName:"description" type:"string" sensitive:"true"`
2241
2242	// The ID of the environment.
2243	Id *string `locationName:"id" type:"string"`
2244
2245	// The state of the environment in its creation or deletion lifecycle.
2246	Lifecycle *EnvironmentLifecycle `locationName:"lifecycle" type:"structure"`
2247
2248	// Describes the status of AWS managed temporary credentials for the AWS Cloud9
2249	// environment. Available values are:
2250	//
2251	//    * ENABLED_ON_CREATE
2252	//
2253	//    * ENABLED_BY_OWNER
2254	//
2255	//    * DISABLED_BY_DEFAULT
2256	//
2257	//    * DISABLED_BY_OWNER
2258	//
2259	//    * DISABLED_BY_COLLABORATOR
2260	//
2261	//    * PENDING_REMOVAL_BY_COLLABORATOR
2262	//
2263	//    * PENDING_REMOVAL_BY_OWNER
2264	//
2265	//    * FAILED_REMOVAL_BY_COLLABORATOR
2266	//
2267	//    * ENABLED_BY_OWNER
2268	//
2269	//    * DISABLED_BY_DEFAULT
2270	ManagedCredentialsStatus *string `locationName:"managedCredentialsStatus" type:"string" enum:"ManagedCredentialsStatus"`
2271
2272	// The name of the environment.
2273	Name *string `locationName:"name" min:"1" type:"string"`
2274
2275	// The Amazon Resource Name (ARN) of the environment owner.
2276	//
2277	// OwnerArn is a required field
2278	OwnerArn *string `locationName:"ownerArn" type:"string" required:"true"`
2279
2280	// The type of environment. Valid values include the following:
2281	//
2282	//    * ec2: An Amazon Elastic Compute Cloud (Amazon EC2) instance connects
2283	//    to the environment.
2284	//
2285	//    * ssh: Your own server connects to the environment.
2286	//
2287	// Type is a required field
2288	Type *string `locationName:"type" type:"string" required:"true" enum:"EnvironmentType"`
2289}
2290
2291// String returns the string representation
2292func (s Environment) String() string {
2293	return awsutil.Prettify(s)
2294}
2295
2296// GoString returns the string representation
2297func (s Environment) GoString() string {
2298	return s.String()
2299}
2300
2301// SetArn sets the Arn field's value.
2302func (s *Environment) SetArn(v string) *Environment {
2303	s.Arn = &v
2304	return s
2305}
2306
2307// SetConnectionType sets the ConnectionType field's value.
2308func (s *Environment) SetConnectionType(v string) *Environment {
2309	s.ConnectionType = &v
2310	return s
2311}
2312
2313// SetDescription sets the Description field's value.
2314func (s *Environment) SetDescription(v string) *Environment {
2315	s.Description = &v
2316	return s
2317}
2318
2319// SetId sets the Id field's value.
2320func (s *Environment) SetId(v string) *Environment {
2321	s.Id = &v
2322	return s
2323}
2324
2325// SetLifecycle sets the Lifecycle field's value.
2326func (s *Environment) SetLifecycle(v *EnvironmentLifecycle) *Environment {
2327	s.Lifecycle = v
2328	return s
2329}
2330
2331// SetManagedCredentialsStatus sets the ManagedCredentialsStatus field's value.
2332func (s *Environment) SetManagedCredentialsStatus(v string) *Environment {
2333	s.ManagedCredentialsStatus = &v
2334	return s
2335}
2336
2337// SetName sets the Name field's value.
2338func (s *Environment) SetName(v string) *Environment {
2339	s.Name = &v
2340	return s
2341}
2342
2343// SetOwnerArn sets the OwnerArn field's value.
2344func (s *Environment) SetOwnerArn(v string) *Environment {
2345	s.OwnerArn = &v
2346	return s
2347}
2348
2349// SetType sets the Type field's value.
2350func (s *Environment) SetType(v string) *Environment {
2351	s.Type = &v
2352	return s
2353}
2354
2355// Information about the current creation or deletion lifecycle state of an
2356// AWS Cloud9 development environment.
2357type EnvironmentLifecycle struct {
2358	_ struct{} `type:"structure"`
2359
2360	// If the environment failed to delete, the Amazon Resource Name (ARN) of the
2361	// related AWS resource.
2362	FailureResource *string `locationName:"failureResource" type:"string"`
2363
2364	// Any informational message about the lifecycle state of the environment.
2365	Reason *string `locationName:"reason" type:"string"`
2366
2367	// The current creation or deletion lifecycle state of the environment.
2368	//
2369	//    * CREATING: The environment is in the process of being created.
2370	//
2371	//    * CREATED: The environment was successfully created.
2372	//
2373	//    * CREATE_FAILED: The environment failed to be created.
2374	//
2375	//    * DELETING: The environment is in the process of being deleted.
2376	//
2377	//    * DELETE_FAILED: The environment failed to delete.
2378	Status *string `locationName:"status" type:"string" enum:"EnvironmentLifecycleStatus"`
2379}
2380
2381// String returns the string representation
2382func (s EnvironmentLifecycle) String() string {
2383	return awsutil.Prettify(s)
2384}
2385
2386// GoString returns the string representation
2387func (s EnvironmentLifecycle) GoString() string {
2388	return s.String()
2389}
2390
2391// SetFailureResource sets the FailureResource field's value.
2392func (s *EnvironmentLifecycle) SetFailureResource(v string) *EnvironmentLifecycle {
2393	s.FailureResource = &v
2394	return s
2395}
2396
2397// SetReason sets the Reason field's value.
2398func (s *EnvironmentLifecycle) SetReason(v string) *EnvironmentLifecycle {
2399	s.Reason = &v
2400	return s
2401}
2402
2403// SetStatus sets the Status field's value.
2404func (s *EnvironmentLifecycle) SetStatus(v string) *EnvironmentLifecycle {
2405	s.Status = &v
2406	return s
2407}
2408
2409// Information about an environment member for an AWS Cloud9 development environment.
2410type EnvironmentMember struct {
2411	_ struct{} `type:"structure"`
2412
2413	// The ID of the environment for the environment member.
2414	//
2415	// EnvironmentId is a required field
2416	EnvironmentId *string `locationName:"environmentId" type:"string" required:"true"`
2417
2418	// The time, expressed in epoch time format, when the environment member last
2419	// opened the environment.
2420	LastAccess *time.Time `locationName:"lastAccess" type:"timestamp"`
2421
2422	// The type of environment member permissions associated with this environment
2423	// member. Available values include:
2424	//
2425	//    * owner: Owns the environment.
2426	//
2427	//    * read-only: Has read-only access to the environment.
2428	//
2429	//    * read-write: Has read-write access to the environment.
2430	//
2431	// Permissions is a required field
2432	Permissions *string `locationName:"permissions" type:"string" required:"true" enum:"Permissions"`
2433
2434	// The Amazon Resource Name (ARN) of the environment member.
2435	//
2436	// UserArn is a required field
2437	UserArn *string `locationName:"userArn" type:"string" required:"true"`
2438
2439	// The user ID in AWS Identity and Access Management (AWS IAM) of the environment
2440	// member.
2441	//
2442	// UserId is a required field
2443	UserId *string `locationName:"userId" type:"string" required:"true"`
2444}
2445
2446// String returns the string representation
2447func (s EnvironmentMember) String() string {
2448	return awsutil.Prettify(s)
2449}
2450
2451// GoString returns the string representation
2452func (s EnvironmentMember) GoString() string {
2453	return s.String()
2454}
2455
2456// SetEnvironmentId sets the EnvironmentId field's value.
2457func (s *EnvironmentMember) SetEnvironmentId(v string) *EnvironmentMember {
2458	s.EnvironmentId = &v
2459	return s
2460}
2461
2462// SetLastAccess sets the LastAccess field's value.
2463func (s *EnvironmentMember) SetLastAccess(v time.Time) *EnvironmentMember {
2464	s.LastAccess = &v
2465	return s
2466}
2467
2468// SetPermissions sets the Permissions field's value.
2469func (s *EnvironmentMember) SetPermissions(v string) *EnvironmentMember {
2470	s.Permissions = &v
2471	return s
2472}
2473
2474// SetUserArn sets the UserArn field's value.
2475func (s *EnvironmentMember) SetUserArn(v string) *EnvironmentMember {
2476	s.UserArn = &v
2477	return s
2478}
2479
2480// SetUserId sets the UserId field's value.
2481func (s *EnvironmentMember) SetUserId(v string) *EnvironmentMember {
2482	s.UserId = &v
2483	return s
2484}
2485
2486// An access permissions issue occurred.
2487type ForbiddenException struct {
2488	_            struct{}                  `type:"structure"`
2489	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2490
2491	Message_ *string `locationName:"message" type:"string"`
2492}
2493
2494// String returns the string representation
2495func (s ForbiddenException) String() string {
2496	return awsutil.Prettify(s)
2497}
2498
2499// GoString returns the string representation
2500func (s ForbiddenException) GoString() string {
2501	return s.String()
2502}
2503
2504func newErrorForbiddenException(v protocol.ResponseMetadata) error {
2505	return &ForbiddenException{
2506		RespMetadata: v,
2507	}
2508}
2509
2510// Code returns the exception type name.
2511func (s *ForbiddenException) Code() string {
2512	return "ForbiddenException"
2513}
2514
2515// Message returns the exception's message.
2516func (s *ForbiddenException) Message() string {
2517	if s.Message_ != nil {
2518		return *s.Message_
2519	}
2520	return ""
2521}
2522
2523// OrigErr always returns nil, satisfies awserr.Error interface.
2524func (s *ForbiddenException) OrigErr() error {
2525	return nil
2526}
2527
2528func (s *ForbiddenException) Error() string {
2529	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2530}
2531
2532// Status code returns the HTTP status code for the request's response error.
2533func (s *ForbiddenException) StatusCode() int {
2534	return s.RespMetadata.StatusCode
2535}
2536
2537// RequestID returns the service's response RequestID for request.
2538func (s *ForbiddenException) RequestID() string {
2539	return s.RespMetadata.RequestID
2540}
2541
2542// An internal server error occurred.
2543type InternalServerErrorException struct {
2544	_            struct{}                  `type:"structure"`
2545	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2546
2547	Message_ *string `locationName:"message" type:"string"`
2548}
2549
2550// String returns the string representation
2551func (s InternalServerErrorException) String() string {
2552	return awsutil.Prettify(s)
2553}
2554
2555// GoString returns the string representation
2556func (s InternalServerErrorException) GoString() string {
2557	return s.String()
2558}
2559
2560func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
2561	return &InternalServerErrorException{
2562		RespMetadata: v,
2563	}
2564}
2565
2566// Code returns the exception type name.
2567func (s *InternalServerErrorException) Code() string {
2568	return "InternalServerErrorException"
2569}
2570
2571// Message returns the exception's message.
2572func (s *InternalServerErrorException) Message() string {
2573	if s.Message_ != nil {
2574		return *s.Message_
2575	}
2576	return ""
2577}
2578
2579// OrigErr always returns nil, satisfies awserr.Error interface.
2580func (s *InternalServerErrorException) OrigErr() error {
2581	return nil
2582}
2583
2584func (s *InternalServerErrorException) Error() string {
2585	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2586}
2587
2588// Status code returns the HTTP status code for the request's response error.
2589func (s *InternalServerErrorException) StatusCode() int {
2590	return s.RespMetadata.StatusCode
2591}
2592
2593// RequestID returns the service's response RequestID for request.
2594func (s *InternalServerErrorException) RequestID() string {
2595	return s.RespMetadata.RequestID
2596}
2597
2598// A service limit was exceeded.
2599type LimitExceededException struct {
2600	_            struct{}                  `type:"structure"`
2601	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2602
2603	Message_ *string `locationName:"message" type:"string"`
2604}
2605
2606// String returns the string representation
2607func (s LimitExceededException) String() string {
2608	return awsutil.Prettify(s)
2609}
2610
2611// GoString returns the string representation
2612func (s LimitExceededException) GoString() string {
2613	return s.String()
2614}
2615
2616func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
2617	return &LimitExceededException{
2618		RespMetadata: v,
2619	}
2620}
2621
2622// Code returns the exception type name.
2623func (s *LimitExceededException) Code() string {
2624	return "LimitExceededException"
2625}
2626
2627// Message returns the exception's message.
2628func (s *LimitExceededException) Message() string {
2629	if s.Message_ != nil {
2630		return *s.Message_
2631	}
2632	return ""
2633}
2634
2635// OrigErr always returns nil, satisfies awserr.Error interface.
2636func (s *LimitExceededException) OrigErr() error {
2637	return nil
2638}
2639
2640func (s *LimitExceededException) Error() string {
2641	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2642}
2643
2644// Status code returns the HTTP status code for the request's response error.
2645func (s *LimitExceededException) StatusCode() int {
2646	return s.RespMetadata.StatusCode
2647}
2648
2649// RequestID returns the service's response RequestID for request.
2650func (s *LimitExceededException) RequestID() string {
2651	return s.RespMetadata.RequestID
2652}
2653
2654type ListEnvironmentsInput struct {
2655	_ struct{} `type:"structure"`
2656
2657	// The maximum number of environments to get identifiers for.
2658	MaxResults *int64 `locationName:"maxResults" type:"integer"`
2659
2660	// During a previous call, if there are more than 25 items in the list, only
2661	// the first 25 items are returned, along with a unique string called a next
2662	// token. To get the next batch of items in the list, call this operation again,
2663	// adding the next token to the call. To get all of the items in the list, keep
2664	// calling this operation with each subsequent next token that is returned,
2665	// until no more next tokens are returned.
2666	NextToken *string `locationName:"nextToken" type:"string"`
2667}
2668
2669// String returns the string representation
2670func (s ListEnvironmentsInput) String() string {
2671	return awsutil.Prettify(s)
2672}
2673
2674// GoString returns the string representation
2675func (s ListEnvironmentsInput) GoString() string {
2676	return s.String()
2677}
2678
2679// SetMaxResults sets the MaxResults field's value.
2680func (s *ListEnvironmentsInput) SetMaxResults(v int64) *ListEnvironmentsInput {
2681	s.MaxResults = &v
2682	return s
2683}
2684
2685// SetNextToken sets the NextToken field's value.
2686func (s *ListEnvironmentsInput) SetNextToken(v string) *ListEnvironmentsInput {
2687	s.NextToken = &v
2688	return s
2689}
2690
2691type ListEnvironmentsOutput struct {
2692	_ struct{} `type:"structure"`
2693
2694	// The list of environment identifiers.
2695	EnvironmentIds []*string `locationName:"environmentIds" type:"list"`
2696
2697	// If there are more than 25 items in the list, only the first 25 items are
2698	// returned, along with a unique string called a next token. To get the next
2699	// batch of items in the list, call this operation again, adding the next token
2700	// to the call.
2701	NextToken *string `locationName:"nextToken" type:"string"`
2702}
2703
2704// String returns the string representation
2705func (s ListEnvironmentsOutput) String() string {
2706	return awsutil.Prettify(s)
2707}
2708
2709// GoString returns the string representation
2710func (s ListEnvironmentsOutput) GoString() string {
2711	return s.String()
2712}
2713
2714// SetEnvironmentIds sets the EnvironmentIds field's value.
2715func (s *ListEnvironmentsOutput) SetEnvironmentIds(v []*string) *ListEnvironmentsOutput {
2716	s.EnvironmentIds = v
2717	return s
2718}
2719
2720// SetNextToken sets the NextToken field's value.
2721func (s *ListEnvironmentsOutput) SetNextToken(v string) *ListEnvironmentsOutput {
2722	s.NextToken = &v
2723	return s
2724}
2725
2726type ListTagsForResourceInput struct {
2727	_ struct{} `type:"structure"`
2728
2729	// The Amazon Resource Name (ARN) of the AWS Cloud9 development environment
2730	// to get the tags for.
2731	//
2732	// ResourceARN is a required field
2733	ResourceARN *string `type:"string" required:"true"`
2734}
2735
2736// String returns the string representation
2737func (s ListTagsForResourceInput) String() string {
2738	return awsutil.Prettify(s)
2739}
2740
2741// GoString returns the string representation
2742func (s ListTagsForResourceInput) GoString() string {
2743	return s.String()
2744}
2745
2746// Validate inspects the fields of the type to determine if they are valid.
2747func (s *ListTagsForResourceInput) Validate() error {
2748	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
2749	if s.ResourceARN == nil {
2750		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
2751	}
2752
2753	if invalidParams.Len() > 0 {
2754		return invalidParams
2755	}
2756	return nil
2757}
2758
2759// SetResourceARN sets the ResourceARN field's value.
2760func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
2761	s.ResourceARN = &v
2762	return s
2763}
2764
2765type ListTagsForResourceOutput struct {
2766	_ struct{} `type:"structure"`
2767
2768	// The list of tags associated with the AWS Cloud9 development environment.
2769	Tags []*Tag `type:"list" sensitive:"true"`
2770}
2771
2772// String returns the string representation
2773func (s ListTagsForResourceOutput) String() string {
2774	return awsutil.Prettify(s)
2775}
2776
2777// GoString returns the string representation
2778func (s ListTagsForResourceOutput) GoString() string {
2779	return s.String()
2780}
2781
2782// SetTags sets the Tags field's value.
2783func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
2784	s.Tags = v
2785	return s
2786}
2787
2788// The target resource cannot be found.
2789type NotFoundException struct {
2790	_            struct{}                  `type:"structure"`
2791	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2792
2793	Message_ *string `locationName:"message" type:"string"`
2794}
2795
2796// String returns the string representation
2797func (s NotFoundException) String() string {
2798	return awsutil.Prettify(s)
2799}
2800
2801// GoString returns the string representation
2802func (s NotFoundException) GoString() string {
2803	return s.String()
2804}
2805
2806func newErrorNotFoundException(v protocol.ResponseMetadata) error {
2807	return &NotFoundException{
2808		RespMetadata: v,
2809	}
2810}
2811
2812// Code returns the exception type name.
2813func (s *NotFoundException) Code() string {
2814	return "NotFoundException"
2815}
2816
2817// Message returns the exception's message.
2818func (s *NotFoundException) Message() string {
2819	if s.Message_ != nil {
2820		return *s.Message_
2821	}
2822	return ""
2823}
2824
2825// OrigErr always returns nil, satisfies awserr.Error interface.
2826func (s *NotFoundException) OrigErr() error {
2827	return nil
2828}
2829
2830func (s *NotFoundException) Error() string {
2831	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2832}
2833
2834// Status code returns the HTTP status code for the request's response error.
2835func (s *NotFoundException) StatusCode() int {
2836	return s.RespMetadata.StatusCode
2837}
2838
2839// RequestID returns the service's response RequestID for request.
2840func (s *NotFoundException) RequestID() string {
2841	return s.RespMetadata.RequestID
2842}
2843
2844// Metadata that is associated with AWS resources. In particular, a name-value
2845// pair that can be associated with an AWS Cloud9 development environment. There
2846// are two types of tags: user tags and system tags. A user tag is created by
2847// the user. A system tag is automatically created by AWS services. A system
2848// tag is prefixed with "aws:" and cannot be modified by the user.
2849type Tag struct {
2850	_ struct{} `type:"structure" sensitive:"true"`
2851
2852	// The name part of a tag.
2853	//
2854	// Key is a required field
2855	Key *string `min:"1" type:"string" required:"true" sensitive:"true"`
2856
2857	// The value part of a tag.
2858	//
2859	// Value is a required field
2860	Value *string `type:"string" required:"true" sensitive:"true"`
2861}
2862
2863// String returns the string representation
2864func (s Tag) String() string {
2865	return awsutil.Prettify(s)
2866}
2867
2868// GoString returns the string representation
2869func (s Tag) GoString() string {
2870	return s.String()
2871}
2872
2873// Validate inspects the fields of the type to determine if they are valid.
2874func (s *Tag) Validate() error {
2875	invalidParams := request.ErrInvalidParams{Context: "Tag"}
2876	if s.Key == nil {
2877		invalidParams.Add(request.NewErrParamRequired("Key"))
2878	}
2879	if s.Key != nil && len(*s.Key) < 1 {
2880		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
2881	}
2882	if s.Value == nil {
2883		invalidParams.Add(request.NewErrParamRequired("Value"))
2884	}
2885
2886	if invalidParams.Len() > 0 {
2887		return invalidParams
2888	}
2889	return nil
2890}
2891
2892// SetKey sets the Key field's value.
2893func (s *Tag) SetKey(v string) *Tag {
2894	s.Key = &v
2895	return s
2896}
2897
2898// SetValue sets the Value field's value.
2899func (s *Tag) SetValue(v string) *Tag {
2900	s.Value = &v
2901	return s
2902}
2903
2904type TagResourceInput struct {
2905	_ struct{} `type:"structure"`
2906
2907	// The Amazon Resource Name (ARN) of the AWS Cloud9 development environment
2908	// to add tags to.
2909	//
2910	// ResourceARN is a required field
2911	ResourceARN *string `type:"string" required:"true"`
2912
2913	// The list of tags to add to the given AWS Cloud9 development environment.
2914	//
2915	// Tags is a required field
2916	Tags []*Tag `type:"list" required:"true" sensitive:"true"`
2917}
2918
2919// String returns the string representation
2920func (s TagResourceInput) String() string {
2921	return awsutil.Prettify(s)
2922}
2923
2924// GoString returns the string representation
2925func (s TagResourceInput) GoString() string {
2926	return s.String()
2927}
2928
2929// Validate inspects the fields of the type to determine if they are valid.
2930func (s *TagResourceInput) Validate() error {
2931	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
2932	if s.ResourceARN == nil {
2933		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
2934	}
2935	if s.Tags == nil {
2936		invalidParams.Add(request.NewErrParamRequired("Tags"))
2937	}
2938	if s.Tags != nil {
2939		for i, v := range s.Tags {
2940			if v == nil {
2941				continue
2942			}
2943			if err := v.Validate(); err != nil {
2944				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
2945			}
2946		}
2947	}
2948
2949	if invalidParams.Len() > 0 {
2950		return invalidParams
2951	}
2952	return nil
2953}
2954
2955// SetResourceARN sets the ResourceARN field's value.
2956func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
2957	s.ResourceARN = &v
2958	return s
2959}
2960
2961// SetTags sets the Tags field's value.
2962func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
2963	s.Tags = v
2964	return s
2965}
2966
2967type TagResourceOutput struct {
2968	_ struct{} `type:"structure"`
2969}
2970
2971// String returns the string representation
2972func (s TagResourceOutput) String() string {
2973	return awsutil.Prettify(s)
2974}
2975
2976// GoString returns the string representation
2977func (s TagResourceOutput) GoString() string {
2978	return s.String()
2979}
2980
2981// Too many service requests were made over the given time period.
2982type TooManyRequestsException struct {
2983	_            struct{}                  `type:"structure"`
2984	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2985
2986	Message_ *string `locationName:"message" type:"string"`
2987}
2988
2989// String returns the string representation
2990func (s TooManyRequestsException) String() string {
2991	return awsutil.Prettify(s)
2992}
2993
2994// GoString returns the string representation
2995func (s TooManyRequestsException) GoString() string {
2996	return s.String()
2997}
2998
2999func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
3000	return &TooManyRequestsException{
3001		RespMetadata: v,
3002	}
3003}
3004
3005// Code returns the exception type name.
3006func (s *TooManyRequestsException) Code() string {
3007	return "TooManyRequestsException"
3008}
3009
3010// Message returns the exception's message.
3011func (s *TooManyRequestsException) Message() string {
3012	if s.Message_ != nil {
3013		return *s.Message_
3014	}
3015	return ""
3016}
3017
3018// OrigErr always returns nil, satisfies awserr.Error interface.
3019func (s *TooManyRequestsException) OrigErr() error {
3020	return nil
3021}
3022
3023func (s *TooManyRequestsException) Error() string {
3024	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3025}
3026
3027// Status code returns the HTTP status code for the request's response error.
3028func (s *TooManyRequestsException) StatusCode() int {
3029	return s.RespMetadata.StatusCode
3030}
3031
3032// RequestID returns the service's response RequestID for request.
3033func (s *TooManyRequestsException) RequestID() string {
3034	return s.RespMetadata.RequestID
3035}
3036
3037type UntagResourceInput struct {
3038	_ struct{} `type:"structure"`
3039
3040	// The Amazon Resource Name (ARN) of the AWS Cloud9 development environment
3041	// to remove tags from.
3042	//
3043	// ResourceARN is a required field
3044	ResourceARN *string `type:"string" required:"true"`
3045
3046	// The tag names of the tags to remove from the given AWS Cloud9 development
3047	// environment.
3048	//
3049	// TagKeys is a required field
3050	TagKeys []*string `type:"list" required:"true" sensitive:"true"`
3051}
3052
3053// String returns the string representation
3054func (s UntagResourceInput) String() string {
3055	return awsutil.Prettify(s)
3056}
3057
3058// GoString returns the string representation
3059func (s UntagResourceInput) GoString() string {
3060	return s.String()
3061}
3062
3063// Validate inspects the fields of the type to determine if they are valid.
3064func (s *UntagResourceInput) Validate() error {
3065	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
3066	if s.ResourceARN == nil {
3067		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
3068	}
3069	if s.TagKeys == nil {
3070		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
3071	}
3072
3073	if invalidParams.Len() > 0 {
3074		return invalidParams
3075	}
3076	return nil
3077}
3078
3079// SetResourceARN sets the ResourceARN field's value.
3080func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
3081	s.ResourceARN = &v
3082	return s
3083}
3084
3085// SetTagKeys sets the TagKeys field's value.
3086func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
3087	s.TagKeys = v
3088	return s
3089}
3090
3091type UntagResourceOutput struct {
3092	_ struct{} `type:"structure"`
3093}
3094
3095// String returns the string representation
3096func (s UntagResourceOutput) String() string {
3097	return awsutil.Prettify(s)
3098}
3099
3100// GoString returns the string representation
3101func (s UntagResourceOutput) GoString() string {
3102	return s.String()
3103}
3104
3105type UpdateEnvironmentInput struct {
3106	_ struct{} `type:"structure"`
3107
3108	// Any new or replacement description for the environment.
3109	Description *string `locationName:"description" type:"string" sensitive:"true"`
3110
3111	// The ID of the environment to change settings.
3112	//
3113	// EnvironmentId is a required field
3114	EnvironmentId *string `locationName:"environmentId" type:"string" required:"true"`
3115
3116	// A replacement name for the environment.
3117	Name *string `locationName:"name" min:"1" type:"string"`
3118}
3119
3120// String returns the string representation
3121func (s UpdateEnvironmentInput) String() string {
3122	return awsutil.Prettify(s)
3123}
3124
3125// GoString returns the string representation
3126func (s UpdateEnvironmentInput) GoString() string {
3127	return s.String()
3128}
3129
3130// Validate inspects the fields of the type to determine if they are valid.
3131func (s *UpdateEnvironmentInput) Validate() error {
3132	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentInput"}
3133	if s.EnvironmentId == nil {
3134		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
3135	}
3136	if s.Name != nil && len(*s.Name) < 1 {
3137		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3138	}
3139
3140	if invalidParams.Len() > 0 {
3141		return invalidParams
3142	}
3143	return nil
3144}
3145
3146// SetDescription sets the Description field's value.
3147func (s *UpdateEnvironmentInput) SetDescription(v string) *UpdateEnvironmentInput {
3148	s.Description = &v
3149	return s
3150}
3151
3152// SetEnvironmentId sets the EnvironmentId field's value.
3153func (s *UpdateEnvironmentInput) SetEnvironmentId(v string) *UpdateEnvironmentInput {
3154	s.EnvironmentId = &v
3155	return s
3156}
3157
3158// SetName sets the Name field's value.
3159func (s *UpdateEnvironmentInput) SetName(v string) *UpdateEnvironmentInput {
3160	s.Name = &v
3161	return s
3162}
3163
3164type UpdateEnvironmentMembershipInput struct {
3165	_ struct{} `type:"structure"`
3166
3167	// The ID of the environment for the environment member whose settings you want
3168	// to change.
3169	//
3170	// EnvironmentId is a required field
3171	EnvironmentId *string `locationName:"environmentId" type:"string" required:"true"`
3172
3173	// The replacement type of environment member permissions you want to associate
3174	// with this environment member. Available values include:
3175	//
3176	//    * read-only: Has read-only access to the environment.
3177	//
3178	//    * read-write: Has read-write access to the environment.
3179	//
3180	// Permissions is a required field
3181	Permissions *string `locationName:"permissions" type:"string" required:"true" enum:"MemberPermissions"`
3182
3183	// The Amazon Resource Name (ARN) of the environment member whose settings you
3184	// want to change.
3185	//
3186	// UserArn is a required field
3187	UserArn *string `locationName:"userArn" type:"string" required:"true"`
3188}
3189
3190// String returns the string representation
3191func (s UpdateEnvironmentMembershipInput) String() string {
3192	return awsutil.Prettify(s)
3193}
3194
3195// GoString returns the string representation
3196func (s UpdateEnvironmentMembershipInput) GoString() string {
3197	return s.String()
3198}
3199
3200// Validate inspects the fields of the type to determine if they are valid.
3201func (s *UpdateEnvironmentMembershipInput) Validate() error {
3202	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentMembershipInput"}
3203	if s.EnvironmentId == nil {
3204		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
3205	}
3206	if s.Permissions == nil {
3207		invalidParams.Add(request.NewErrParamRequired("Permissions"))
3208	}
3209	if s.UserArn == nil {
3210		invalidParams.Add(request.NewErrParamRequired("UserArn"))
3211	}
3212
3213	if invalidParams.Len() > 0 {
3214		return invalidParams
3215	}
3216	return nil
3217}
3218
3219// SetEnvironmentId sets the EnvironmentId field's value.
3220func (s *UpdateEnvironmentMembershipInput) SetEnvironmentId(v string) *UpdateEnvironmentMembershipInput {
3221	s.EnvironmentId = &v
3222	return s
3223}
3224
3225// SetPermissions sets the Permissions field's value.
3226func (s *UpdateEnvironmentMembershipInput) SetPermissions(v string) *UpdateEnvironmentMembershipInput {
3227	s.Permissions = &v
3228	return s
3229}
3230
3231// SetUserArn sets the UserArn field's value.
3232func (s *UpdateEnvironmentMembershipInput) SetUserArn(v string) *UpdateEnvironmentMembershipInput {
3233	s.UserArn = &v
3234	return s
3235}
3236
3237type UpdateEnvironmentMembershipOutput struct {
3238	_ struct{} `type:"structure"`
3239
3240	// Information about the environment member whose settings were changed.
3241	Membership *EnvironmentMember `locationName:"membership" type:"structure"`
3242}
3243
3244// String returns the string representation
3245func (s UpdateEnvironmentMembershipOutput) String() string {
3246	return awsutil.Prettify(s)
3247}
3248
3249// GoString returns the string representation
3250func (s UpdateEnvironmentMembershipOutput) GoString() string {
3251	return s.String()
3252}
3253
3254// SetMembership sets the Membership field's value.
3255func (s *UpdateEnvironmentMembershipOutput) SetMembership(v *EnvironmentMember) *UpdateEnvironmentMembershipOutput {
3256	s.Membership = v
3257	return s
3258}
3259
3260type UpdateEnvironmentOutput struct {
3261	_ struct{} `type:"structure"`
3262}
3263
3264// String returns the string representation
3265func (s UpdateEnvironmentOutput) String() string {
3266	return awsutil.Prettify(s)
3267}
3268
3269// GoString returns the string representation
3270func (s UpdateEnvironmentOutput) GoString() string {
3271	return s.String()
3272}
3273
3274const (
3275	// ConnectionTypeConnectSsh is a ConnectionType enum value
3276	ConnectionTypeConnectSsh = "CONNECT_SSH"
3277
3278	// ConnectionTypeConnectSsm is a ConnectionType enum value
3279	ConnectionTypeConnectSsm = "CONNECT_SSM"
3280)
3281
3282// ConnectionType_Values returns all elements of the ConnectionType enum
3283func ConnectionType_Values() []string {
3284	return []string{
3285		ConnectionTypeConnectSsh,
3286		ConnectionTypeConnectSsm,
3287	}
3288}
3289
3290const (
3291	// EnvironmentLifecycleStatusCreating is a EnvironmentLifecycleStatus enum value
3292	EnvironmentLifecycleStatusCreating = "CREATING"
3293
3294	// EnvironmentLifecycleStatusCreated is a EnvironmentLifecycleStatus enum value
3295	EnvironmentLifecycleStatusCreated = "CREATED"
3296
3297	// EnvironmentLifecycleStatusCreateFailed is a EnvironmentLifecycleStatus enum value
3298	EnvironmentLifecycleStatusCreateFailed = "CREATE_FAILED"
3299
3300	// EnvironmentLifecycleStatusDeleting is a EnvironmentLifecycleStatus enum value
3301	EnvironmentLifecycleStatusDeleting = "DELETING"
3302
3303	// EnvironmentLifecycleStatusDeleteFailed is a EnvironmentLifecycleStatus enum value
3304	EnvironmentLifecycleStatusDeleteFailed = "DELETE_FAILED"
3305)
3306
3307// EnvironmentLifecycleStatus_Values returns all elements of the EnvironmentLifecycleStatus enum
3308func EnvironmentLifecycleStatus_Values() []string {
3309	return []string{
3310		EnvironmentLifecycleStatusCreating,
3311		EnvironmentLifecycleStatusCreated,
3312		EnvironmentLifecycleStatusCreateFailed,
3313		EnvironmentLifecycleStatusDeleting,
3314		EnvironmentLifecycleStatusDeleteFailed,
3315	}
3316}
3317
3318const (
3319	// EnvironmentStatusError is a EnvironmentStatus enum value
3320	EnvironmentStatusError = "error"
3321
3322	// EnvironmentStatusCreating is a EnvironmentStatus enum value
3323	EnvironmentStatusCreating = "creating"
3324
3325	// EnvironmentStatusConnecting is a EnvironmentStatus enum value
3326	EnvironmentStatusConnecting = "connecting"
3327
3328	// EnvironmentStatusReady is a EnvironmentStatus enum value
3329	EnvironmentStatusReady = "ready"
3330
3331	// EnvironmentStatusStopping is a EnvironmentStatus enum value
3332	EnvironmentStatusStopping = "stopping"
3333
3334	// EnvironmentStatusStopped is a EnvironmentStatus enum value
3335	EnvironmentStatusStopped = "stopped"
3336
3337	// EnvironmentStatusDeleting is a EnvironmentStatus enum value
3338	EnvironmentStatusDeleting = "deleting"
3339)
3340
3341// EnvironmentStatus_Values returns all elements of the EnvironmentStatus enum
3342func EnvironmentStatus_Values() []string {
3343	return []string{
3344		EnvironmentStatusError,
3345		EnvironmentStatusCreating,
3346		EnvironmentStatusConnecting,
3347		EnvironmentStatusReady,
3348		EnvironmentStatusStopping,
3349		EnvironmentStatusStopped,
3350		EnvironmentStatusDeleting,
3351	}
3352}
3353
3354const (
3355	// EnvironmentTypeSsh is a EnvironmentType enum value
3356	EnvironmentTypeSsh = "ssh"
3357
3358	// EnvironmentTypeEc2 is a EnvironmentType enum value
3359	EnvironmentTypeEc2 = "ec2"
3360)
3361
3362// EnvironmentType_Values returns all elements of the EnvironmentType enum
3363func EnvironmentType_Values() []string {
3364	return []string{
3365		EnvironmentTypeSsh,
3366		EnvironmentTypeEc2,
3367	}
3368}
3369
3370const (
3371	// ManagedCredentialsStatusEnabledOnCreate is a ManagedCredentialsStatus enum value
3372	ManagedCredentialsStatusEnabledOnCreate = "ENABLED_ON_CREATE"
3373
3374	// ManagedCredentialsStatusEnabledByOwner is a ManagedCredentialsStatus enum value
3375	ManagedCredentialsStatusEnabledByOwner = "ENABLED_BY_OWNER"
3376
3377	// ManagedCredentialsStatusDisabledByDefault is a ManagedCredentialsStatus enum value
3378	ManagedCredentialsStatusDisabledByDefault = "DISABLED_BY_DEFAULT"
3379
3380	// ManagedCredentialsStatusDisabledByOwner is a ManagedCredentialsStatus enum value
3381	ManagedCredentialsStatusDisabledByOwner = "DISABLED_BY_OWNER"
3382
3383	// ManagedCredentialsStatusDisabledByCollaborator is a ManagedCredentialsStatus enum value
3384	ManagedCredentialsStatusDisabledByCollaborator = "DISABLED_BY_COLLABORATOR"
3385
3386	// ManagedCredentialsStatusPendingRemovalByCollaborator is a ManagedCredentialsStatus enum value
3387	ManagedCredentialsStatusPendingRemovalByCollaborator = "PENDING_REMOVAL_BY_COLLABORATOR"
3388
3389	// ManagedCredentialsStatusPendingStartRemovalByCollaborator is a ManagedCredentialsStatus enum value
3390	ManagedCredentialsStatusPendingStartRemovalByCollaborator = "PENDING_START_REMOVAL_BY_COLLABORATOR"
3391
3392	// ManagedCredentialsStatusPendingRemovalByOwner is a ManagedCredentialsStatus enum value
3393	ManagedCredentialsStatusPendingRemovalByOwner = "PENDING_REMOVAL_BY_OWNER"
3394
3395	// ManagedCredentialsStatusPendingStartRemovalByOwner is a ManagedCredentialsStatus enum value
3396	ManagedCredentialsStatusPendingStartRemovalByOwner = "PENDING_START_REMOVAL_BY_OWNER"
3397
3398	// ManagedCredentialsStatusFailedRemovalByCollaborator is a ManagedCredentialsStatus enum value
3399	ManagedCredentialsStatusFailedRemovalByCollaborator = "FAILED_REMOVAL_BY_COLLABORATOR"
3400
3401	// ManagedCredentialsStatusFailedRemovalByOwner is a ManagedCredentialsStatus enum value
3402	ManagedCredentialsStatusFailedRemovalByOwner = "FAILED_REMOVAL_BY_OWNER"
3403)
3404
3405// ManagedCredentialsStatus_Values returns all elements of the ManagedCredentialsStatus enum
3406func ManagedCredentialsStatus_Values() []string {
3407	return []string{
3408		ManagedCredentialsStatusEnabledOnCreate,
3409		ManagedCredentialsStatusEnabledByOwner,
3410		ManagedCredentialsStatusDisabledByDefault,
3411		ManagedCredentialsStatusDisabledByOwner,
3412		ManagedCredentialsStatusDisabledByCollaborator,
3413		ManagedCredentialsStatusPendingRemovalByCollaborator,
3414		ManagedCredentialsStatusPendingStartRemovalByCollaborator,
3415		ManagedCredentialsStatusPendingRemovalByOwner,
3416		ManagedCredentialsStatusPendingStartRemovalByOwner,
3417		ManagedCredentialsStatusFailedRemovalByCollaborator,
3418		ManagedCredentialsStatusFailedRemovalByOwner,
3419	}
3420}
3421
3422const (
3423	// MemberPermissionsReadWrite is a MemberPermissions enum value
3424	MemberPermissionsReadWrite = "read-write"
3425
3426	// MemberPermissionsReadOnly is a MemberPermissions enum value
3427	MemberPermissionsReadOnly = "read-only"
3428)
3429
3430// MemberPermissions_Values returns all elements of the MemberPermissions enum
3431func MemberPermissions_Values() []string {
3432	return []string{
3433		MemberPermissionsReadWrite,
3434		MemberPermissionsReadOnly,
3435	}
3436}
3437
3438const (
3439	// PermissionsOwner is a Permissions enum value
3440	PermissionsOwner = "owner"
3441
3442	// PermissionsReadWrite is a Permissions enum value
3443	PermissionsReadWrite = "read-write"
3444
3445	// PermissionsReadOnly is a Permissions enum value
3446	PermissionsReadOnly = "read-only"
3447)
3448
3449// Permissions_Values returns all elements of the Permissions enum
3450func Permissions_Values() []string {
3451	return []string{
3452		PermissionsOwner,
3453		PermissionsReadWrite,
3454		PermissionsReadOnly,
3455	}
3456}
3457