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 Cloud9 development environment, launches an Amazon Elastic Compute
61// Cloud (Amazon EC2) instance, and then connects from the instance to the environment.
62//
63// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
64// with awserr.Error's Code and Message methods to get detailed information about
65// the error.
66//
67// See the AWS API reference guide for AWS Cloud9's
68// API operation CreateEnvironmentEC2 for usage and error information.
69//
70// Returned Error Types:
71//   * BadRequestException
72//   The target request is invalid.
73//
74//   * ConflictException
75//   A conflict occurred.
76//
77//   * NotFoundException
78//   The target resource cannot be found.
79//
80//   * ForbiddenException
81//   An access permissions issue occurred.
82//
83//   * TooManyRequestsException
84//   Too many service requests were made over the given time period.
85//
86//   * LimitExceededException
87//   A service limit was exceeded.
88//
89//   * InternalServerErrorException
90//   An internal server error occurred.
91//
92// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/CreateEnvironmentEC2
93func (c *Cloud9) CreateEnvironmentEC2(input *CreateEnvironmentEC2Input) (*CreateEnvironmentEC2Output, error) {
94	req, out := c.CreateEnvironmentEC2Request(input)
95	return out, req.Send()
96}
97
98// CreateEnvironmentEC2WithContext is the same as CreateEnvironmentEC2 with the addition of
99// the ability to pass a context and additional request options.
100//
101// See CreateEnvironmentEC2 for details on how to use this API operation.
102//
103// The context must be non-nil and will be used for request cancellation. If
104// the context is nil a panic will occur. In the future the SDK may create
105// sub-contexts for http.Requests. See https://golang.org/pkg/context/
106// for more information on using Contexts.
107func (c *Cloud9) CreateEnvironmentEC2WithContext(ctx aws.Context, input *CreateEnvironmentEC2Input, opts ...request.Option) (*CreateEnvironmentEC2Output, error) {
108	req, out := c.CreateEnvironmentEC2Request(input)
109	req.SetContext(ctx)
110	req.ApplyOptions(opts...)
111	return out, req.Send()
112}
113
114const opCreateEnvironmentMembership = "CreateEnvironmentMembership"
115
116// CreateEnvironmentMembershipRequest generates a "aws/request.Request" representing the
117// client's request for the CreateEnvironmentMembership operation. The "output" return
118// value will be populated with the request's response once the request completes
119// successfully.
120//
121// Use "Send" method on the returned Request to send the API call to the service.
122// the "output" return value is not valid until after Send returns without error.
123//
124// See CreateEnvironmentMembership for more information on using the CreateEnvironmentMembership
125// API call, and error handling.
126//
127// This method is useful when you want to inject custom logic or configuration
128// into the SDK's request lifecycle. Such as custom headers, or retry logic.
129//
130//
131//    // Example sending a request using the CreateEnvironmentMembershipRequest method.
132//    req, resp := client.CreateEnvironmentMembershipRequest(params)
133//
134//    err := req.Send()
135//    if err == nil { // resp is now filled
136//        fmt.Println(resp)
137//    }
138//
139// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/CreateEnvironmentMembership
140func (c *Cloud9) CreateEnvironmentMembershipRequest(input *CreateEnvironmentMembershipInput) (req *request.Request, output *CreateEnvironmentMembershipOutput) {
141	op := &request.Operation{
142		Name:       opCreateEnvironmentMembership,
143		HTTPMethod: "POST",
144		HTTPPath:   "/",
145	}
146
147	if input == nil {
148		input = &CreateEnvironmentMembershipInput{}
149	}
150
151	output = &CreateEnvironmentMembershipOutput{}
152	req = c.newRequest(op, input, output)
153	return
154}
155
156// CreateEnvironmentMembership API operation for AWS Cloud9.
157//
158// Adds an environment member to an Cloud9 development environment.
159//
160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
161// with awserr.Error's Code and Message methods to get detailed information about
162// the error.
163//
164// See the AWS API reference guide for AWS Cloud9's
165// API operation CreateEnvironmentMembership for usage and error information.
166//
167// Returned Error Types:
168//   * BadRequestException
169//   The target request is invalid.
170//
171//   * ConflictException
172//   A conflict occurred.
173//
174//   * NotFoundException
175//   The target resource cannot be found.
176//
177//   * ForbiddenException
178//   An access permissions issue occurred.
179//
180//   * TooManyRequestsException
181//   Too many service requests were made over the given time period.
182//
183//   * LimitExceededException
184//   A service limit was exceeded.
185//
186//   * InternalServerErrorException
187//   An internal server error occurred.
188//
189// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/CreateEnvironmentMembership
190func (c *Cloud9) CreateEnvironmentMembership(input *CreateEnvironmentMembershipInput) (*CreateEnvironmentMembershipOutput, error) {
191	req, out := c.CreateEnvironmentMembershipRequest(input)
192	return out, req.Send()
193}
194
195// CreateEnvironmentMembershipWithContext is the same as CreateEnvironmentMembership with the addition of
196// the ability to pass a context and additional request options.
197//
198// See CreateEnvironmentMembership for details on how to use this API operation.
199//
200// The context must be non-nil and will be used for request cancellation. If
201// the context is nil a panic will occur. In the future the SDK may create
202// sub-contexts for http.Requests. See https://golang.org/pkg/context/
203// for more information on using Contexts.
204func (c *Cloud9) CreateEnvironmentMembershipWithContext(ctx aws.Context, input *CreateEnvironmentMembershipInput, opts ...request.Option) (*CreateEnvironmentMembershipOutput, error) {
205	req, out := c.CreateEnvironmentMembershipRequest(input)
206	req.SetContext(ctx)
207	req.ApplyOptions(opts...)
208	return out, req.Send()
209}
210
211const opDeleteEnvironment = "DeleteEnvironment"
212
213// DeleteEnvironmentRequest generates a "aws/request.Request" representing the
214// client's request for the DeleteEnvironment operation. The "output" return
215// value will be populated with the request's response once the request completes
216// successfully.
217//
218// Use "Send" method on the returned Request to send the API call to the service.
219// the "output" return value is not valid until after Send returns without error.
220//
221// See DeleteEnvironment for more information on using the DeleteEnvironment
222// API call, and error handling.
223//
224// This method is useful when you want to inject custom logic or configuration
225// into the SDK's request lifecycle. Such as custom headers, or retry logic.
226//
227//
228//    // Example sending a request using the DeleteEnvironmentRequest method.
229//    req, resp := client.DeleteEnvironmentRequest(params)
230//
231//    err := req.Send()
232//    if err == nil { // resp is now filled
233//        fmt.Println(resp)
234//    }
235//
236// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DeleteEnvironment
237func (c *Cloud9) DeleteEnvironmentRequest(input *DeleteEnvironmentInput) (req *request.Request, output *DeleteEnvironmentOutput) {
238	op := &request.Operation{
239		Name:       opDeleteEnvironment,
240		HTTPMethod: "POST",
241		HTTPPath:   "/",
242	}
243
244	if input == nil {
245		input = &DeleteEnvironmentInput{}
246	}
247
248	output = &DeleteEnvironmentOutput{}
249	req = c.newRequest(op, input, output)
250	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
251	return
252}
253
254// DeleteEnvironment API operation for AWS Cloud9.
255//
256// Deletes an Cloud9 development environment. If an Amazon EC2 instance is connected
257// to the environment, also terminates the instance.
258//
259// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
260// with awserr.Error's Code and Message methods to get detailed information about
261// the error.
262//
263// See the AWS API reference guide for AWS Cloud9's
264// API operation DeleteEnvironment for usage and error information.
265//
266// Returned Error Types:
267//   * BadRequestException
268//   The target request is invalid.
269//
270//   * ConflictException
271//   A conflict occurred.
272//
273//   * NotFoundException
274//   The target resource cannot be found.
275//
276//   * ForbiddenException
277//   An access permissions issue occurred.
278//
279//   * TooManyRequestsException
280//   Too many service requests were made over the given time period.
281//
282//   * LimitExceededException
283//   A service limit was exceeded.
284//
285//   * InternalServerErrorException
286//   An internal server error occurred.
287//
288// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DeleteEnvironment
289func (c *Cloud9) DeleteEnvironment(input *DeleteEnvironmentInput) (*DeleteEnvironmentOutput, error) {
290	req, out := c.DeleteEnvironmentRequest(input)
291	return out, req.Send()
292}
293
294// DeleteEnvironmentWithContext is the same as DeleteEnvironment with the addition of
295// the ability to pass a context and additional request options.
296//
297// See DeleteEnvironment for details on how to use this API operation.
298//
299// The context must be non-nil and will be used for request cancellation. If
300// the context is nil a panic will occur. In the future the SDK may create
301// sub-contexts for http.Requests. See https://golang.org/pkg/context/
302// for more information on using Contexts.
303func (c *Cloud9) DeleteEnvironmentWithContext(ctx aws.Context, input *DeleteEnvironmentInput, opts ...request.Option) (*DeleteEnvironmentOutput, error) {
304	req, out := c.DeleteEnvironmentRequest(input)
305	req.SetContext(ctx)
306	req.ApplyOptions(opts...)
307	return out, req.Send()
308}
309
310const opDeleteEnvironmentMembership = "DeleteEnvironmentMembership"
311
312// DeleteEnvironmentMembershipRequest generates a "aws/request.Request" representing the
313// client's request for the DeleteEnvironmentMembership operation. The "output" return
314// value will be populated with the request's response once the request completes
315// successfully.
316//
317// Use "Send" method on the returned Request to send the API call to the service.
318// the "output" return value is not valid until after Send returns without error.
319//
320// See DeleteEnvironmentMembership for more information on using the DeleteEnvironmentMembership
321// API call, and error handling.
322//
323// This method is useful when you want to inject custom logic or configuration
324// into the SDK's request lifecycle. Such as custom headers, or retry logic.
325//
326//
327//    // Example sending a request using the DeleteEnvironmentMembershipRequest method.
328//    req, resp := client.DeleteEnvironmentMembershipRequest(params)
329//
330//    err := req.Send()
331//    if err == nil { // resp is now filled
332//        fmt.Println(resp)
333//    }
334//
335// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DeleteEnvironmentMembership
336func (c *Cloud9) DeleteEnvironmentMembershipRequest(input *DeleteEnvironmentMembershipInput) (req *request.Request, output *DeleteEnvironmentMembershipOutput) {
337	op := &request.Operation{
338		Name:       opDeleteEnvironmentMembership,
339		HTTPMethod: "POST",
340		HTTPPath:   "/",
341	}
342
343	if input == nil {
344		input = &DeleteEnvironmentMembershipInput{}
345	}
346
347	output = &DeleteEnvironmentMembershipOutput{}
348	req = c.newRequest(op, input, output)
349	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
350	return
351}
352
353// DeleteEnvironmentMembership API operation for AWS Cloud9.
354//
355// Deletes an environment member from an Cloud9 development environment.
356//
357// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
358// with awserr.Error's Code and Message methods to get detailed information about
359// the error.
360//
361// See the AWS API reference guide for AWS Cloud9's
362// API operation DeleteEnvironmentMembership for usage and error information.
363//
364// Returned Error Types:
365//   * BadRequestException
366//   The target request is invalid.
367//
368//   * ConflictException
369//   A conflict occurred.
370//
371//   * NotFoundException
372//   The target resource cannot be found.
373//
374//   * ForbiddenException
375//   An access permissions issue occurred.
376//
377//   * TooManyRequestsException
378//   Too many service requests were made over the given time period.
379//
380//   * LimitExceededException
381//   A service limit was exceeded.
382//
383//   * InternalServerErrorException
384//   An internal server error occurred.
385//
386// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DeleteEnvironmentMembership
387func (c *Cloud9) DeleteEnvironmentMembership(input *DeleteEnvironmentMembershipInput) (*DeleteEnvironmentMembershipOutput, error) {
388	req, out := c.DeleteEnvironmentMembershipRequest(input)
389	return out, req.Send()
390}
391
392// DeleteEnvironmentMembershipWithContext is the same as DeleteEnvironmentMembership with the addition of
393// the ability to pass a context and additional request options.
394//
395// See DeleteEnvironmentMembership for details on how to use this API operation.
396//
397// The context must be non-nil and will be used for request cancellation. If
398// the context is nil a panic will occur. In the future the SDK may create
399// sub-contexts for http.Requests. See https://golang.org/pkg/context/
400// for more information on using Contexts.
401func (c *Cloud9) DeleteEnvironmentMembershipWithContext(ctx aws.Context, input *DeleteEnvironmentMembershipInput, opts ...request.Option) (*DeleteEnvironmentMembershipOutput, error) {
402	req, out := c.DeleteEnvironmentMembershipRequest(input)
403	req.SetContext(ctx)
404	req.ApplyOptions(opts...)
405	return out, req.Send()
406}
407
408const opDescribeEnvironmentMemberships = "DescribeEnvironmentMemberships"
409
410// DescribeEnvironmentMembershipsRequest generates a "aws/request.Request" representing the
411// client's request for the DescribeEnvironmentMemberships operation. The "output" return
412// value will be populated with the request's response once the request completes
413// successfully.
414//
415// Use "Send" method on the returned Request to send the API call to the service.
416// the "output" return value is not valid until after Send returns without error.
417//
418// See DescribeEnvironmentMemberships for more information on using the DescribeEnvironmentMemberships
419// API call, and error handling.
420//
421// This method is useful when you want to inject custom logic or configuration
422// into the SDK's request lifecycle. Such as custom headers, or retry logic.
423//
424//
425//    // Example sending a request using the DescribeEnvironmentMembershipsRequest method.
426//    req, resp := client.DescribeEnvironmentMembershipsRequest(params)
427//
428//    err := req.Send()
429//    if err == nil { // resp is now filled
430//        fmt.Println(resp)
431//    }
432//
433// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentMemberships
434func (c *Cloud9) DescribeEnvironmentMembershipsRequest(input *DescribeEnvironmentMembershipsInput) (req *request.Request, output *DescribeEnvironmentMembershipsOutput) {
435	op := &request.Operation{
436		Name:       opDescribeEnvironmentMemberships,
437		HTTPMethod: "POST",
438		HTTPPath:   "/",
439		Paginator: &request.Paginator{
440			InputTokens:     []string{"nextToken"},
441			OutputTokens:    []string{"nextToken"},
442			LimitToken:      "maxResults",
443			TruncationToken: "",
444		},
445	}
446
447	if input == nil {
448		input = &DescribeEnvironmentMembershipsInput{}
449	}
450
451	output = &DescribeEnvironmentMembershipsOutput{}
452	req = c.newRequest(op, input, output)
453	return
454}
455
456// DescribeEnvironmentMemberships API operation for AWS Cloud9.
457//
458// Gets information about environment members for an Cloud9 development environment.
459//
460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
461// with awserr.Error's Code and Message methods to get detailed information about
462// the error.
463//
464// See the AWS API reference guide for AWS Cloud9's
465// API operation DescribeEnvironmentMemberships for usage and error information.
466//
467// Returned Error Types:
468//   * BadRequestException
469//   The target request is invalid.
470//
471//   * ConflictException
472//   A conflict occurred.
473//
474//   * NotFoundException
475//   The target resource cannot be found.
476//
477//   * ForbiddenException
478//   An access permissions issue occurred.
479//
480//   * TooManyRequestsException
481//   Too many service requests were made over the given time period.
482//
483//   * LimitExceededException
484//   A service limit was exceeded.
485//
486//   * InternalServerErrorException
487//   An internal server error occurred.
488//
489// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentMemberships
490func (c *Cloud9) DescribeEnvironmentMemberships(input *DescribeEnvironmentMembershipsInput) (*DescribeEnvironmentMembershipsOutput, error) {
491	req, out := c.DescribeEnvironmentMembershipsRequest(input)
492	return out, req.Send()
493}
494
495// DescribeEnvironmentMembershipsWithContext is the same as DescribeEnvironmentMemberships with the addition of
496// the ability to pass a context and additional request options.
497//
498// See DescribeEnvironmentMemberships for details on how to use this API operation.
499//
500// The context must be non-nil and will be used for request cancellation. If
501// the context is nil a panic will occur. In the future the SDK may create
502// sub-contexts for http.Requests. See https://golang.org/pkg/context/
503// for more information on using Contexts.
504func (c *Cloud9) DescribeEnvironmentMembershipsWithContext(ctx aws.Context, input *DescribeEnvironmentMembershipsInput, opts ...request.Option) (*DescribeEnvironmentMembershipsOutput, error) {
505	req, out := c.DescribeEnvironmentMembershipsRequest(input)
506	req.SetContext(ctx)
507	req.ApplyOptions(opts...)
508	return out, req.Send()
509}
510
511// DescribeEnvironmentMembershipsPages iterates over the pages of a DescribeEnvironmentMemberships operation,
512// calling the "fn" function with the response data for each page. To stop
513// iterating, return false from the fn function.
514//
515// See DescribeEnvironmentMemberships method for more information on how to use this operation.
516//
517// Note: This operation can generate multiple requests to a service.
518//
519//    // Example iterating over at most 3 pages of a DescribeEnvironmentMemberships operation.
520//    pageNum := 0
521//    err := client.DescribeEnvironmentMembershipsPages(params,
522//        func(page *cloud9.DescribeEnvironmentMembershipsOutput, lastPage bool) bool {
523//            pageNum++
524//            fmt.Println(page)
525//            return pageNum <= 3
526//        })
527//
528func (c *Cloud9) DescribeEnvironmentMembershipsPages(input *DescribeEnvironmentMembershipsInput, fn func(*DescribeEnvironmentMembershipsOutput, bool) bool) error {
529	return c.DescribeEnvironmentMembershipsPagesWithContext(aws.BackgroundContext(), input, fn)
530}
531
532// DescribeEnvironmentMembershipsPagesWithContext same as DescribeEnvironmentMembershipsPages except
533// it takes a Context and allows setting request options on the pages.
534//
535// The context must be non-nil and will be used for request cancellation. If
536// the context is nil a panic will occur. In the future the SDK may create
537// sub-contexts for http.Requests. See https://golang.org/pkg/context/
538// for more information on using Contexts.
539func (c *Cloud9) DescribeEnvironmentMembershipsPagesWithContext(ctx aws.Context, input *DescribeEnvironmentMembershipsInput, fn func(*DescribeEnvironmentMembershipsOutput, bool) bool, opts ...request.Option) error {
540	p := request.Pagination{
541		NewRequest: func() (*request.Request, error) {
542			var inCpy *DescribeEnvironmentMembershipsInput
543			if input != nil {
544				tmp := *input
545				inCpy = &tmp
546			}
547			req, _ := c.DescribeEnvironmentMembershipsRequest(inCpy)
548			req.SetContext(ctx)
549			req.ApplyOptions(opts...)
550			return req, nil
551		},
552	}
553
554	for p.Next() {
555		if !fn(p.Page().(*DescribeEnvironmentMembershipsOutput), !p.HasNextPage()) {
556			break
557		}
558	}
559
560	return p.Err()
561}
562
563const opDescribeEnvironmentStatus = "DescribeEnvironmentStatus"
564
565// DescribeEnvironmentStatusRequest generates a "aws/request.Request" representing the
566// client's request for the DescribeEnvironmentStatus operation. The "output" return
567// value will be populated with the request's response once the request completes
568// successfully.
569//
570// Use "Send" method on the returned Request to send the API call to the service.
571// the "output" return value is not valid until after Send returns without error.
572//
573// See DescribeEnvironmentStatus for more information on using the DescribeEnvironmentStatus
574// API call, and error handling.
575//
576// This method is useful when you want to inject custom logic or configuration
577// into the SDK's request lifecycle. Such as custom headers, or retry logic.
578//
579//
580//    // Example sending a request using the DescribeEnvironmentStatusRequest method.
581//    req, resp := client.DescribeEnvironmentStatusRequest(params)
582//
583//    err := req.Send()
584//    if err == nil { // resp is now filled
585//        fmt.Println(resp)
586//    }
587//
588// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentStatus
589func (c *Cloud9) DescribeEnvironmentStatusRequest(input *DescribeEnvironmentStatusInput) (req *request.Request, output *DescribeEnvironmentStatusOutput) {
590	op := &request.Operation{
591		Name:       opDescribeEnvironmentStatus,
592		HTTPMethod: "POST",
593		HTTPPath:   "/",
594	}
595
596	if input == nil {
597		input = &DescribeEnvironmentStatusInput{}
598	}
599
600	output = &DescribeEnvironmentStatusOutput{}
601	req = c.newRequest(op, input, output)
602	return
603}
604
605// DescribeEnvironmentStatus API operation for AWS Cloud9.
606//
607// Gets status information for an Cloud9 development environment.
608//
609// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
610// with awserr.Error's Code and Message methods to get detailed information about
611// the error.
612//
613// See the AWS API reference guide for AWS Cloud9's
614// API operation DescribeEnvironmentStatus for usage and error information.
615//
616// Returned Error Types:
617//   * BadRequestException
618//   The target request is invalid.
619//
620//   * ConflictException
621//   A conflict occurred.
622//
623//   * NotFoundException
624//   The target resource cannot be found.
625//
626//   * ForbiddenException
627//   An access permissions issue occurred.
628//
629//   * TooManyRequestsException
630//   Too many service requests were made over the given time period.
631//
632//   * LimitExceededException
633//   A service limit was exceeded.
634//
635//   * InternalServerErrorException
636//   An internal server error occurred.
637//
638// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentStatus
639func (c *Cloud9) DescribeEnvironmentStatus(input *DescribeEnvironmentStatusInput) (*DescribeEnvironmentStatusOutput, error) {
640	req, out := c.DescribeEnvironmentStatusRequest(input)
641	return out, req.Send()
642}
643
644// DescribeEnvironmentStatusWithContext is the same as DescribeEnvironmentStatus with the addition of
645// the ability to pass a context and additional request options.
646//
647// See DescribeEnvironmentStatus for details on how to use this API operation.
648//
649// The context must be non-nil and will be used for request cancellation. If
650// the context is nil a panic will occur. In the future the SDK may create
651// sub-contexts for http.Requests. See https://golang.org/pkg/context/
652// for more information on using Contexts.
653func (c *Cloud9) DescribeEnvironmentStatusWithContext(ctx aws.Context, input *DescribeEnvironmentStatusInput, opts ...request.Option) (*DescribeEnvironmentStatusOutput, error) {
654	req, out := c.DescribeEnvironmentStatusRequest(input)
655	req.SetContext(ctx)
656	req.ApplyOptions(opts...)
657	return out, req.Send()
658}
659
660const opDescribeEnvironments = "DescribeEnvironments"
661
662// DescribeEnvironmentsRequest generates a "aws/request.Request" representing the
663// client's request for the DescribeEnvironments operation. The "output" return
664// value will be populated with the request's response once the request completes
665// successfully.
666//
667// Use "Send" method on the returned Request to send the API call to the service.
668// the "output" return value is not valid until after Send returns without error.
669//
670// See DescribeEnvironments for more information on using the DescribeEnvironments
671// API call, and error handling.
672//
673// This method is useful when you want to inject custom logic or configuration
674// into the SDK's request lifecycle. Such as custom headers, or retry logic.
675//
676//
677//    // Example sending a request using the DescribeEnvironmentsRequest method.
678//    req, resp := client.DescribeEnvironmentsRequest(params)
679//
680//    err := req.Send()
681//    if err == nil { // resp is now filled
682//        fmt.Println(resp)
683//    }
684//
685// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironments
686func (c *Cloud9) DescribeEnvironmentsRequest(input *DescribeEnvironmentsInput) (req *request.Request, output *DescribeEnvironmentsOutput) {
687	op := &request.Operation{
688		Name:       opDescribeEnvironments,
689		HTTPMethod: "POST",
690		HTTPPath:   "/",
691	}
692
693	if input == nil {
694		input = &DescribeEnvironmentsInput{}
695	}
696
697	output = &DescribeEnvironmentsOutput{}
698	req = c.newRequest(op, input, output)
699	return
700}
701
702// DescribeEnvironments API operation for AWS Cloud9.
703//
704// Gets information about Cloud9 development environments.
705//
706// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
707// with awserr.Error's Code and Message methods to get detailed information about
708// the error.
709//
710// See the AWS API reference guide for AWS Cloud9's
711// API operation DescribeEnvironments for usage and error information.
712//
713// Returned Error Types:
714//   * BadRequestException
715//   The target request is invalid.
716//
717//   * ConflictException
718//   A conflict occurred.
719//
720//   * NotFoundException
721//   The target resource cannot be found.
722//
723//   * ForbiddenException
724//   An access permissions issue occurred.
725//
726//   * TooManyRequestsException
727//   Too many service requests were made over the given time period.
728//
729//   * LimitExceededException
730//   A service limit was exceeded.
731//
732//   * InternalServerErrorException
733//   An internal server error occurred.
734//
735// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironments
736func (c *Cloud9) DescribeEnvironments(input *DescribeEnvironmentsInput) (*DescribeEnvironmentsOutput, error) {
737	req, out := c.DescribeEnvironmentsRequest(input)
738	return out, req.Send()
739}
740
741// DescribeEnvironmentsWithContext is the same as DescribeEnvironments with the addition of
742// the ability to pass a context and additional request options.
743//
744// See DescribeEnvironments for details on how to use this API operation.
745//
746// The context must be non-nil and will be used for request cancellation. If
747// the context is nil a panic will occur. In the future the SDK may create
748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
749// for more information on using Contexts.
750func (c *Cloud9) DescribeEnvironmentsWithContext(ctx aws.Context, input *DescribeEnvironmentsInput, opts ...request.Option) (*DescribeEnvironmentsOutput, error) {
751	req, out := c.DescribeEnvironmentsRequest(input)
752	req.SetContext(ctx)
753	req.ApplyOptions(opts...)
754	return out, req.Send()
755}
756
757const opListEnvironments = "ListEnvironments"
758
759// ListEnvironmentsRequest generates a "aws/request.Request" representing the
760// client's request for the ListEnvironments operation. The "output" return
761// value will be populated with the request's response once the request completes
762// successfully.
763//
764// Use "Send" method on the returned Request to send the API call to the service.
765// the "output" return value is not valid until after Send returns without error.
766//
767// See ListEnvironments for more information on using the ListEnvironments
768// API call, and error handling.
769//
770// This method is useful when you want to inject custom logic or configuration
771// into the SDK's request lifecycle. Such as custom headers, or retry logic.
772//
773//
774//    // Example sending a request using the ListEnvironmentsRequest method.
775//    req, resp := client.ListEnvironmentsRequest(params)
776//
777//    err := req.Send()
778//    if err == nil { // resp is now filled
779//        fmt.Println(resp)
780//    }
781//
782// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/ListEnvironments
783func (c *Cloud9) ListEnvironmentsRequest(input *ListEnvironmentsInput) (req *request.Request, output *ListEnvironmentsOutput) {
784	op := &request.Operation{
785		Name:       opListEnvironments,
786		HTTPMethod: "POST",
787		HTTPPath:   "/",
788		Paginator: &request.Paginator{
789			InputTokens:     []string{"nextToken"},
790			OutputTokens:    []string{"nextToken"},
791			LimitToken:      "maxResults",
792			TruncationToken: "",
793		},
794	}
795
796	if input == nil {
797		input = &ListEnvironmentsInput{}
798	}
799
800	output = &ListEnvironmentsOutput{}
801	req = c.newRequest(op, input, output)
802	return
803}
804
805// ListEnvironments API operation for AWS Cloud9.
806//
807// Gets a list of Cloud9 development environment identifiers.
808//
809// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
810// with awserr.Error's Code and Message methods to get detailed information about
811// the error.
812//
813// See the AWS API reference guide for AWS Cloud9's
814// API operation ListEnvironments for usage and error information.
815//
816// Returned Error Types:
817//   * BadRequestException
818//   The target request is invalid.
819//
820//   * ConflictException
821//   A conflict occurred.
822//
823//   * NotFoundException
824//   The target resource cannot be found.
825//
826//   * ForbiddenException
827//   An access permissions issue occurred.
828//
829//   * TooManyRequestsException
830//   Too many service requests were made over the given time period.
831//
832//   * LimitExceededException
833//   A service limit was exceeded.
834//
835//   * InternalServerErrorException
836//   An internal server error occurred.
837//
838// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/ListEnvironments
839func (c *Cloud9) ListEnvironments(input *ListEnvironmentsInput) (*ListEnvironmentsOutput, error) {
840	req, out := c.ListEnvironmentsRequest(input)
841	return out, req.Send()
842}
843
844// ListEnvironmentsWithContext is the same as ListEnvironments with the addition of
845// the ability to pass a context and additional request options.
846//
847// See ListEnvironments for details on how to use this API operation.
848//
849// The context must be non-nil and will be used for request cancellation. If
850// the context is nil a panic will occur. In the future the SDK may create
851// sub-contexts for http.Requests. See https://golang.org/pkg/context/
852// for more information on using Contexts.
853func (c *Cloud9) ListEnvironmentsWithContext(ctx aws.Context, input *ListEnvironmentsInput, opts ...request.Option) (*ListEnvironmentsOutput, error) {
854	req, out := c.ListEnvironmentsRequest(input)
855	req.SetContext(ctx)
856	req.ApplyOptions(opts...)
857	return out, req.Send()
858}
859
860// ListEnvironmentsPages iterates over the pages of a ListEnvironments operation,
861// calling the "fn" function with the response data for each page. To stop
862// iterating, return false from the fn function.
863//
864// See ListEnvironments method for more information on how to use this operation.
865//
866// Note: This operation can generate multiple requests to a service.
867//
868//    // Example iterating over at most 3 pages of a ListEnvironments operation.
869//    pageNum := 0
870//    err := client.ListEnvironmentsPages(params,
871//        func(page *cloud9.ListEnvironmentsOutput, lastPage bool) bool {
872//            pageNum++
873//            fmt.Println(page)
874//            return pageNum <= 3
875//        })
876//
877func (c *Cloud9) ListEnvironmentsPages(input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool) error {
878	return c.ListEnvironmentsPagesWithContext(aws.BackgroundContext(), input, fn)
879}
880
881// ListEnvironmentsPagesWithContext same as ListEnvironmentsPages except
882// it takes a Context and allows setting request options on the pages.
883//
884// The context must be non-nil and will be used for request cancellation. If
885// the context is nil a panic will occur. In the future the SDK may create
886// sub-contexts for http.Requests. See https://golang.org/pkg/context/
887// for more information on using Contexts.
888func (c *Cloud9) ListEnvironmentsPagesWithContext(ctx aws.Context, input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool, opts ...request.Option) error {
889	p := request.Pagination{
890		NewRequest: func() (*request.Request, error) {
891			var inCpy *ListEnvironmentsInput
892			if input != nil {
893				tmp := *input
894				inCpy = &tmp
895			}
896			req, _ := c.ListEnvironmentsRequest(inCpy)
897			req.SetContext(ctx)
898			req.ApplyOptions(opts...)
899			return req, nil
900		},
901	}
902
903	for p.Next() {
904		if !fn(p.Page().(*ListEnvironmentsOutput), !p.HasNextPage()) {
905			break
906		}
907	}
908
909	return p.Err()
910}
911
912const opListTagsForResource = "ListTagsForResource"
913
914// ListTagsForResourceRequest generates a "aws/request.Request" representing the
915// client's request for the ListTagsForResource operation. The "output" return
916// value will be populated with the request's response once the request completes
917// successfully.
918//
919// Use "Send" method on the returned Request to send the API call to the service.
920// the "output" return value is not valid until after Send returns without error.
921//
922// See ListTagsForResource for more information on using the ListTagsForResource
923// API call, and error handling.
924//
925// This method is useful when you want to inject custom logic or configuration
926// into the SDK's request lifecycle. Such as custom headers, or retry logic.
927//
928//
929//    // Example sending a request using the ListTagsForResourceRequest method.
930//    req, resp := client.ListTagsForResourceRequest(params)
931//
932//    err := req.Send()
933//    if err == nil { // resp is now filled
934//        fmt.Println(resp)
935//    }
936//
937// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/ListTagsForResource
938func (c *Cloud9) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
939	op := &request.Operation{
940		Name:       opListTagsForResource,
941		HTTPMethod: "POST",
942		HTTPPath:   "/",
943	}
944
945	if input == nil {
946		input = &ListTagsForResourceInput{}
947	}
948
949	output = &ListTagsForResourceOutput{}
950	req = c.newRequest(op, input, output)
951	return
952}
953
954// ListTagsForResource API operation for AWS Cloud9.
955//
956// Gets a list of the tags associated with an Cloud9 development environment.
957//
958// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
959// with awserr.Error's Code and Message methods to get detailed information about
960// the error.
961//
962// See the AWS API reference guide for AWS Cloud9's
963// API operation ListTagsForResource for usage and error information.
964//
965// Returned Error Types:
966//   * NotFoundException
967//   The target resource cannot be found.
968//
969//   * InternalServerErrorException
970//   An internal server error occurred.
971//
972//   * BadRequestException
973//   The target request is invalid.
974//
975// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/ListTagsForResource
976func (c *Cloud9) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
977	req, out := c.ListTagsForResourceRequest(input)
978	return out, req.Send()
979}
980
981// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
982// the ability to pass a context and additional request options.
983//
984// See ListTagsForResource for details on how to use this API operation.
985//
986// The context must be non-nil and will be used for request cancellation. If
987// the context is nil a panic will occur. In the future the SDK may create
988// sub-contexts for http.Requests. See https://golang.org/pkg/context/
989// for more information on using Contexts.
990func (c *Cloud9) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
991	req, out := c.ListTagsForResourceRequest(input)
992	req.SetContext(ctx)
993	req.ApplyOptions(opts...)
994	return out, req.Send()
995}
996
997const opTagResource = "TagResource"
998
999// TagResourceRequest generates a "aws/request.Request" representing the
1000// client's request for the TagResource operation. The "output" return
1001// value will be populated with the request's response once the request completes
1002// successfully.
1003//
1004// Use "Send" method on the returned Request to send the API call to the service.
1005// the "output" return value is not valid until after Send returns without error.
1006//
1007// See TagResource for more information on using the TagResource
1008// API call, and error handling.
1009//
1010// This method is useful when you want to inject custom logic or configuration
1011// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1012//
1013//
1014//    // Example sending a request using the TagResourceRequest method.
1015//    req, resp := client.TagResourceRequest(params)
1016//
1017//    err := req.Send()
1018//    if err == nil { // resp is now filled
1019//        fmt.Println(resp)
1020//    }
1021//
1022// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/TagResource
1023func (c *Cloud9) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
1024	op := &request.Operation{
1025		Name:       opTagResource,
1026		HTTPMethod: "POST",
1027		HTTPPath:   "/",
1028	}
1029
1030	if input == nil {
1031		input = &TagResourceInput{}
1032	}
1033
1034	output = &TagResourceOutput{}
1035	req = c.newRequest(op, input, output)
1036	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1037	return
1038}
1039
1040// TagResource API operation for AWS Cloud9.
1041//
1042// Adds tags to an Cloud9 development environment.
1043//
1044// Tags that you add to an Cloud9 environment by using this method will NOT
1045// be automatically propagated to underlying resources.
1046//
1047// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1048// with awserr.Error's Code and Message methods to get detailed information about
1049// the error.
1050//
1051// See the AWS API reference guide for AWS Cloud9's
1052// API operation TagResource for usage and error information.
1053//
1054// Returned Error Types:
1055//   * NotFoundException
1056//   The target resource cannot be found.
1057//
1058//   * InternalServerErrorException
1059//   An internal server error occurred.
1060//
1061//   * BadRequestException
1062//   The target request is invalid.
1063//
1064//   * ConcurrentAccessException
1065//   A concurrent access issue occurred.
1066//
1067// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/TagResource
1068func (c *Cloud9) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
1069	req, out := c.TagResourceRequest(input)
1070	return out, req.Send()
1071}
1072
1073// TagResourceWithContext is the same as TagResource with the addition of
1074// the ability to pass a context and additional request options.
1075//
1076// See TagResource for details on how to use this API operation.
1077//
1078// The context must be non-nil and will be used for request cancellation. If
1079// the context is nil a panic will occur. In the future the SDK may create
1080// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1081// for more information on using Contexts.
1082func (c *Cloud9) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
1083	req, out := c.TagResourceRequest(input)
1084	req.SetContext(ctx)
1085	req.ApplyOptions(opts...)
1086	return out, req.Send()
1087}
1088
1089const opUntagResource = "UntagResource"
1090
1091// UntagResourceRequest generates a "aws/request.Request" representing the
1092// client's request for the UntagResource operation. The "output" return
1093// value will be populated with the request's response once the request completes
1094// successfully.
1095//
1096// Use "Send" method on the returned Request to send the API call to the service.
1097// the "output" return value is not valid until after Send returns without error.
1098//
1099// See UntagResource for more information on using the UntagResource
1100// API call, and error handling.
1101//
1102// This method is useful when you want to inject custom logic or configuration
1103// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1104//
1105//
1106//    // Example sending a request using the UntagResourceRequest method.
1107//    req, resp := client.UntagResourceRequest(params)
1108//
1109//    err := req.Send()
1110//    if err == nil { // resp is now filled
1111//        fmt.Println(resp)
1112//    }
1113//
1114// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UntagResource
1115func (c *Cloud9) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
1116	op := &request.Operation{
1117		Name:       opUntagResource,
1118		HTTPMethod: "POST",
1119		HTTPPath:   "/",
1120	}
1121
1122	if input == nil {
1123		input = &UntagResourceInput{}
1124	}
1125
1126	output = &UntagResourceOutput{}
1127	req = c.newRequest(op, input, output)
1128	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1129	return
1130}
1131
1132// UntagResource API operation for AWS Cloud9.
1133//
1134// Removes tags from an Cloud9 development environment.
1135//
1136// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1137// with awserr.Error's Code and Message methods to get detailed information about
1138// the error.
1139//
1140// See the AWS API reference guide for AWS Cloud9's
1141// API operation UntagResource for usage and error information.
1142//
1143// Returned Error Types:
1144//   * NotFoundException
1145//   The target resource cannot be found.
1146//
1147//   * InternalServerErrorException
1148//   An internal server error occurred.
1149//
1150//   * BadRequestException
1151//   The target request is invalid.
1152//
1153//   * ConcurrentAccessException
1154//   A concurrent access issue occurred.
1155//
1156// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UntagResource
1157func (c *Cloud9) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
1158	req, out := c.UntagResourceRequest(input)
1159	return out, req.Send()
1160}
1161
1162// UntagResourceWithContext is the same as UntagResource with the addition of
1163// the ability to pass a context and additional request options.
1164//
1165// See UntagResource for details on how to use this API operation.
1166//
1167// The context must be non-nil and will be used for request cancellation. If
1168// the context is nil a panic will occur. In the future the SDK may create
1169// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1170// for more information on using Contexts.
1171func (c *Cloud9) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
1172	req, out := c.UntagResourceRequest(input)
1173	req.SetContext(ctx)
1174	req.ApplyOptions(opts...)
1175	return out, req.Send()
1176}
1177
1178const opUpdateEnvironment = "UpdateEnvironment"
1179
1180// UpdateEnvironmentRequest generates a "aws/request.Request" representing the
1181// client's request for the UpdateEnvironment operation. The "output" return
1182// value will be populated with the request's response once the request completes
1183// successfully.
1184//
1185// Use "Send" method on the returned Request to send the API call to the service.
1186// the "output" return value is not valid until after Send returns without error.
1187//
1188// See UpdateEnvironment for more information on using the UpdateEnvironment
1189// API call, and error handling.
1190//
1191// This method is useful when you want to inject custom logic or configuration
1192// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1193//
1194//
1195//    // Example sending a request using the UpdateEnvironmentRequest method.
1196//    req, resp := client.UpdateEnvironmentRequest(params)
1197//
1198//    err := req.Send()
1199//    if err == nil { // resp is now filled
1200//        fmt.Println(resp)
1201//    }
1202//
1203// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironment
1204func (c *Cloud9) UpdateEnvironmentRequest(input *UpdateEnvironmentInput) (req *request.Request, output *UpdateEnvironmentOutput) {
1205	op := &request.Operation{
1206		Name:       opUpdateEnvironment,
1207		HTTPMethod: "POST",
1208		HTTPPath:   "/",
1209	}
1210
1211	if input == nil {
1212		input = &UpdateEnvironmentInput{}
1213	}
1214
1215	output = &UpdateEnvironmentOutput{}
1216	req = c.newRequest(op, input, output)
1217	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1218	return
1219}
1220
1221// UpdateEnvironment API operation for AWS Cloud9.
1222//
1223// Changes the settings of an existing Cloud9 development environment.
1224//
1225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1226// with awserr.Error's Code and Message methods to get detailed information about
1227// the error.
1228//
1229// See the AWS API reference guide for AWS Cloud9's
1230// API operation UpdateEnvironment for usage and error information.
1231//
1232// Returned Error Types:
1233//   * BadRequestException
1234//   The target request is invalid.
1235//
1236//   * ConflictException
1237//   A conflict occurred.
1238//
1239//   * NotFoundException
1240//   The target resource cannot be found.
1241//
1242//   * ForbiddenException
1243//   An access permissions issue occurred.
1244//
1245//   * TooManyRequestsException
1246//   Too many service requests were made over the given time period.
1247//
1248//   * LimitExceededException
1249//   A service limit was exceeded.
1250//
1251//   * InternalServerErrorException
1252//   An internal server error occurred.
1253//
1254// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironment
1255func (c *Cloud9) UpdateEnvironment(input *UpdateEnvironmentInput) (*UpdateEnvironmentOutput, error) {
1256	req, out := c.UpdateEnvironmentRequest(input)
1257	return out, req.Send()
1258}
1259
1260// UpdateEnvironmentWithContext is the same as UpdateEnvironment with the addition of
1261// the ability to pass a context and additional request options.
1262//
1263// See UpdateEnvironment for details on how to use this API operation.
1264//
1265// The context must be non-nil and will be used for request cancellation. If
1266// the context is nil a panic will occur. In the future the SDK may create
1267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1268// for more information on using Contexts.
1269func (c *Cloud9) UpdateEnvironmentWithContext(ctx aws.Context, input *UpdateEnvironmentInput, opts ...request.Option) (*UpdateEnvironmentOutput, error) {
1270	req, out := c.UpdateEnvironmentRequest(input)
1271	req.SetContext(ctx)
1272	req.ApplyOptions(opts...)
1273	return out, req.Send()
1274}
1275
1276const opUpdateEnvironmentMembership = "UpdateEnvironmentMembership"
1277
1278// UpdateEnvironmentMembershipRequest generates a "aws/request.Request" representing the
1279// client's request for the UpdateEnvironmentMembership operation. The "output" return
1280// value will be populated with the request's response once the request completes
1281// successfully.
1282//
1283// Use "Send" method on the returned Request to send the API call to the service.
1284// the "output" return value is not valid until after Send returns without error.
1285//
1286// See UpdateEnvironmentMembership for more information on using the UpdateEnvironmentMembership
1287// API call, and error handling.
1288//
1289// This method is useful when you want to inject custom logic or configuration
1290// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1291//
1292//
1293//    // Example sending a request using the UpdateEnvironmentMembershipRequest method.
1294//    req, resp := client.UpdateEnvironmentMembershipRequest(params)
1295//
1296//    err := req.Send()
1297//    if err == nil { // resp is now filled
1298//        fmt.Println(resp)
1299//    }
1300//
1301// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironmentMembership
1302func (c *Cloud9) UpdateEnvironmentMembershipRequest(input *UpdateEnvironmentMembershipInput) (req *request.Request, output *UpdateEnvironmentMembershipOutput) {
1303	op := &request.Operation{
1304		Name:       opUpdateEnvironmentMembership,
1305		HTTPMethod: "POST",
1306		HTTPPath:   "/",
1307	}
1308
1309	if input == nil {
1310		input = &UpdateEnvironmentMembershipInput{}
1311	}
1312
1313	output = &UpdateEnvironmentMembershipOutput{}
1314	req = c.newRequest(op, input, output)
1315	return
1316}
1317
1318// UpdateEnvironmentMembership API operation for AWS Cloud9.
1319//
1320// Changes the settings of an existing environment member for an Cloud9 development
1321// environment.
1322//
1323// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1324// with awserr.Error's Code and Message methods to get detailed information about
1325// the error.
1326//
1327// See the AWS API reference guide for AWS Cloud9's
1328// API operation UpdateEnvironmentMembership for usage and error information.
1329//
1330// Returned Error Types:
1331//   * BadRequestException
1332//   The target request is invalid.
1333//
1334//   * ConflictException
1335//   A conflict occurred.
1336//
1337//   * NotFoundException
1338//   The target resource cannot be found.
1339//
1340//   * ForbiddenException
1341//   An access permissions issue occurred.
1342//
1343//   * TooManyRequestsException
1344//   Too many service requests were made over the given time period.
1345//
1346//   * LimitExceededException
1347//   A service limit was exceeded.
1348//
1349//   * InternalServerErrorException
1350//   An internal server error occurred.
1351//
1352// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironmentMembership
1353func (c *Cloud9) UpdateEnvironmentMembership(input *UpdateEnvironmentMembershipInput) (*UpdateEnvironmentMembershipOutput, error) {
1354	req, out := c.UpdateEnvironmentMembershipRequest(input)
1355	return out, req.Send()
1356}
1357
1358// UpdateEnvironmentMembershipWithContext is the same as UpdateEnvironmentMembership with the addition of
1359// the ability to pass a context and additional request options.
1360//
1361// See UpdateEnvironmentMembership for details on how to use this API operation.
1362//
1363// The context must be non-nil and will be used for request cancellation. If
1364// the context is nil a panic will occur. In the future the SDK may create
1365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1366// for more information on using Contexts.
1367func (c *Cloud9) UpdateEnvironmentMembershipWithContext(ctx aws.Context, input *UpdateEnvironmentMembershipInput, opts ...request.Option) (*UpdateEnvironmentMembershipOutput, error) {
1368	req, out := c.UpdateEnvironmentMembershipRequest(input)
1369	req.SetContext(ctx)
1370	req.ApplyOptions(opts...)
1371	return out, req.Send()
1372}
1373
1374// The target request is invalid.
1375type BadRequestException struct {
1376	_            struct{}                  `type:"structure"`
1377	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1378
1379	Message_ *string `locationName:"message" type:"string"`
1380}
1381
1382// String returns the string representation
1383func (s BadRequestException) String() string {
1384	return awsutil.Prettify(s)
1385}
1386
1387// GoString returns the string representation
1388func (s BadRequestException) GoString() string {
1389	return s.String()
1390}
1391
1392func newErrorBadRequestException(v protocol.ResponseMetadata) error {
1393	return &BadRequestException{
1394		RespMetadata: v,
1395	}
1396}
1397
1398// Code returns the exception type name.
1399func (s *BadRequestException) Code() string {
1400	return "BadRequestException"
1401}
1402
1403// Message returns the exception's message.
1404func (s *BadRequestException) Message() string {
1405	if s.Message_ != nil {
1406		return *s.Message_
1407	}
1408	return ""
1409}
1410
1411// OrigErr always returns nil, satisfies awserr.Error interface.
1412func (s *BadRequestException) OrigErr() error {
1413	return nil
1414}
1415
1416func (s *BadRequestException) Error() string {
1417	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1418}
1419
1420// Status code returns the HTTP status code for the request's response error.
1421func (s *BadRequestException) StatusCode() int {
1422	return s.RespMetadata.StatusCode
1423}
1424
1425// RequestID returns the service's response RequestID for request.
1426func (s *BadRequestException) RequestID() string {
1427	return s.RespMetadata.RequestID
1428}
1429
1430// A concurrent access issue occurred.
1431type ConcurrentAccessException struct {
1432	_            struct{}                  `type:"structure"`
1433	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1434
1435	Message_ *string `locationName:"message" type:"string"`
1436}
1437
1438// String returns the string representation
1439func (s ConcurrentAccessException) String() string {
1440	return awsutil.Prettify(s)
1441}
1442
1443// GoString returns the string representation
1444func (s ConcurrentAccessException) GoString() string {
1445	return s.String()
1446}
1447
1448func newErrorConcurrentAccessException(v protocol.ResponseMetadata) error {
1449	return &ConcurrentAccessException{
1450		RespMetadata: v,
1451	}
1452}
1453
1454// Code returns the exception type name.
1455func (s *ConcurrentAccessException) Code() string {
1456	return "ConcurrentAccessException"
1457}
1458
1459// Message returns the exception's message.
1460func (s *ConcurrentAccessException) Message() string {
1461	if s.Message_ != nil {
1462		return *s.Message_
1463	}
1464	return ""
1465}
1466
1467// OrigErr always returns nil, satisfies awserr.Error interface.
1468func (s *ConcurrentAccessException) OrigErr() error {
1469	return nil
1470}
1471
1472func (s *ConcurrentAccessException) Error() string {
1473	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1474}
1475
1476// Status code returns the HTTP status code for the request's response error.
1477func (s *ConcurrentAccessException) StatusCode() int {
1478	return s.RespMetadata.StatusCode
1479}
1480
1481// RequestID returns the service's response RequestID for request.
1482func (s *ConcurrentAccessException) RequestID() string {
1483	return s.RespMetadata.RequestID
1484}
1485
1486// A conflict occurred.
1487type ConflictException struct {
1488	_            struct{}                  `type:"structure"`
1489	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1490
1491	Message_ *string `locationName:"message" type:"string"`
1492}
1493
1494// String returns the string representation
1495func (s ConflictException) String() string {
1496	return awsutil.Prettify(s)
1497}
1498
1499// GoString returns the string representation
1500func (s ConflictException) GoString() string {
1501	return s.String()
1502}
1503
1504func newErrorConflictException(v protocol.ResponseMetadata) error {
1505	return &ConflictException{
1506		RespMetadata: v,
1507	}
1508}
1509
1510// Code returns the exception type name.
1511func (s *ConflictException) Code() string {
1512	return "ConflictException"
1513}
1514
1515// Message returns the exception's message.
1516func (s *ConflictException) Message() string {
1517	if s.Message_ != nil {
1518		return *s.Message_
1519	}
1520	return ""
1521}
1522
1523// OrigErr always returns nil, satisfies awserr.Error interface.
1524func (s *ConflictException) OrigErr() error {
1525	return nil
1526}
1527
1528func (s *ConflictException) Error() string {
1529	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1530}
1531
1532// Status code returns the HTTP status code for the request's response error.
1533func (s *ConflictException) StatusCode() int {
1534	return s.RespMetadata.StatusCode
1535}
1536
1537// RequestID returns the service's response RequestID for request.
1538func (s *ConflictException) RequestID() string {
1539	return s.RespMetadata.RequestID
1540}
1541
1542type CreateEnvironmentEC2Input struct {
1543	_ struct{} `type:"structure"`
1544
1545	// The number of minutes until the running instance is shut down after the environment
1546	// has last been used.
1547	AutomaticStopTimeMinutes *int64 `locationName:"automaticStopTimeMinutes" type:"integer"`
1548
1549	// A unique, case-sensitive string that helps Cloud9 to ensure this operation
1550	// completes no more than one time.
1551	//
1552	// For more information, see Client Tokens (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html)
1553	// in the Amazon EC2 API Reference.
1554	ClientRequestToken *string `locationName:"clientRequestToken" type:"string"`
1555
1556	// The connection type used for connecting to an Amazon EC2 environment. Valid
1557	// values are CONNECT_SSH (default) and CONNECT_SSM (connected through Amazon
1558	// EC2 Systems Manager).
1559	//
1560	// For more information, see Accessing no-ingress EC2 instances with Amazon
1561	// EC2 Systems Manager (https://docs.aws.amazon.com/cloud9/latest/user-guide/ec2-ssm.html)
1562	// in the Cloud9 User Guide.
1563	ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"`
1564
1565	// The description of the environment to create.
1566	Description *string `locationName:"description" type:"string" sensitive:"true"`
1567
1568	// The identifier for the Amazon Machine Image (AMI) that's used to create the
1569	// EC2 instance. To choose an AMI for the instance, you must specify a valid
1570	// AMI alias or a valid Amazon EC2 Systems Manager (SSM) path.
1571	//
1572	// The default AMI is used if the parameter isn't explicitly assigned a value
1573	// in the request. Because Amazon Linux AMI has ended standard support as of
1574	// December 31, 2020, we recommend you choose Amazon Linux 2, which includes
1575	// long term support through 2023.
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 IAM users in the same Amazon Web Services 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 IAM principal. If this value is not specified, the ARN defaults
1608	// to this environment's creator.
1609	OwnerArn *string `locationName:"ownerArn" type:"string"`
1610
1611	// The ID of the subnet in Amazon VPC that Cloud9 will use to communicate with
1612	// 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 Cloud9 development
1616	// 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 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 Amazon Web Services managed temporary credentials
2249	// for the Cloud9 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// 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 Amazon Web Services 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 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 Identity and Access Management (IAM) of the environment member.
2440	//
2441	// UserId is a required field
2442	UserId *string `locationName:"userId" type:"string" required:"true"`
2443}
2444
2445// String returns the string representation
2446func (s EnvironmentMember) String() string {
2447	return awsutil.Prettify(s)
2448}
2449
2450// GoString returns the string representation
2451func (s EnvironmentMember) GoString() string {
2452	return s.String()
2453}
2454
2455// SetEnvironmentId sets the EnvironmentId field's value.
2456func (s *EnvironmentMember) SetEnvironmentId(v string) *EnvironmentMember {
2457	s.EnvironmentId = &v
2458	return s
2459}
2460
2461// SetLastAccess sets the LastAccess field's value.
2462func (s *EnvironmentMember) SetLastAccess(v time.Time) *EnvironmentMember {
2463	s.LastAccess = &v
2464	return s
2465}
2466
2467// SetPermissions sets the Permissions field's value.
2468func (s *EnvironmentMember) SetPermissions(v string) *EnvironmentMember {
2469	s.Permissions = &v
2470	return s
2471}
2472
2473// SetUserArn sets the UserArn field's value.
2474func (s *EnvironmentMember) SetUserArn(v string) *EnvironmentMember {
2475	s.UserArn = &v
2476	return s
2477}
2478
2479// SetUserId sets the UserId field's value.
2480func (s *EnvironmentMember) SetUserId(v string) *EnvironmentMember {
2481	s.UserId = &v
2482	return s
2483}
2484
2485// An access permissions issue occurred.
2486type ForbiddenException struct {
2487	_            struct{}                  `type:"structure"`
2488	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2489
2490	Message_ *string `locationName:"message" type:"string"`
2491}
2492
2493// String returns the string representation
2494func (s ForbiddenException) String() string {
2495	return awsutil.Prettify(s)
2496}
2497
2498// GoString returns the string representation
2499func (s ForbiddenException) GoString() string {
2500	return s.String()
2501}
2502
2503func newErrorForbiddenException(v protocol.ResponseMetadata) error {
2504	return &ForbiddenException{
2505		RespMetadata: v,
2506	}
2507}
2508
2509// Code returns the exception type name.
2510func (s *ForbiddenException) Code() string {
2511	return "ForbiddenException"
2512}
2513
2514// Message returns the exception's message.
2515func (s *ForbiddenException) Message() string {
2516	if s.Message_ != nil {
2517		return *s.Message_
2518	}
2519	return ""
2520}
2521
2522// OrigErr always returns nil, satisfies awserr.Error interface.
2523func (s *ForbiddenException) OrigErr() error {
2524	return nil
2525}
2526
2527func (s *ForbiddenException) Error() string {
2528	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2529}
2530
2531// Status code returns the HTTP status code for the request's response error.
2532func (s *ForbiddenException) StatusCode() int {
2533	return s.RespMetadata.StatusCode
2534}
2535
2536// RequestID returns the service's response RequestID for request.
2537func (s *ForbiddenException) RequestID() string {
2538	return s.RespMetadata.RequestID
2539}
2540
2541// An internal server error occurred.
2542type InternalServerErrorException struct {
2543	_            struct{}                  `type:"structure"`
2544	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2545
2546	Message_ *string `locationName:"message" type:"string"`
2547}
2548
2549// String returns the string representation
2550func (s InternalServerErrorException) String() string {
2551	return awsutil.Prettify(s)
2552}
2553
2554// GoString returns the string representation
2555func (s InternalServerErrorException) GoString() string {
2556	return s.String()
2557}
2558
2559func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
2560	return &InternalServerErrorException{
2561		RespMetadata: v,
2562	}
2563}
2564
2565// Code returns the exception type name.
2566func (s *InternalServerErrorException) Code() string {
2567	return "InternalServerErrorException"
2568}
2569
2570// Message returns the exception's message.
2571func (s *InternalServerErrorException) Message() string {
2572	if s.Message_ != nil {
2573		return *s.Message_
2574	}
2575	return ""
2576}
2577
2578// OrigErr always returns nil, satisfies awserr.Error interface.
2579func (s *InternalServerErrorException) OrigErr() error {
2580	return nil
2581}
2582
2583func (s *InternalServerErrorException) Error() string {
2584	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2585}
2586
2587// Status code returns the HTTP status code for the request's response error.
2588func (s *InternalServerErrorException) StatusCode() int {
2589	return s.RespMetadata.StatusCode
2590}
2591
2592// RequestID returns the service's response RequestID for request.
2593func (s *InternalServerErrorException) RequestID() string {
2594	return s.RespMetadata.RequestID
2595}
2596
2597// A service limit was exceeded.
2598type LimitExceededException struct {
2599	_            struct{}                  `type:"structure"`
2600	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2601
2602	Message_ *string `locationName:"message" type:"string"`
2603}
2604
2605// String returns the string representation
2606func (s LimitExceededException) String() string {
2607	return awsutil.Prettify(s)
2608}
2609
2610// GoString returns the string representation
2611func (s LimitExceededException) GoString() string {
2612	return s.String()
2613}
2614
2615func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
2616	return &LimitExceededException{
2617		RespMetadata: v,
2618	}
2619}
2620
2621// Code returns the exception type name.
2622func (s *LimitExceededException) Code() string {
2623	return "LimitExceededException"
2624}
2625
2626// Message returns the exception's message.
2627func (s *LimitExceededException) Message() string {
2628	if s.Message_ != nil {
2629		return *s.Message_
2630	}
2631	return ""
2632}
2633
2634// OrigErr always returns nil, satisfies awserr.Error interface.
2635func (s *LimitExceededException) OrigErr() error {
2636	return nil
2637}
2638
2639func (s *LimitExceededException) Error() string {
2640	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2641}
2642
2643// Status code returns the HTTP status code for the request's response error.
2644func (s *LimitExceededException) StatusCode() int {
2645	return s.RespMetadata.StatusCode
2646}
2647
2648// RequestID returns the service's response RequestID for request.
2649func (s *LimitExceededException) RequestID() string {
2650	return s.RespMetadata.RequestID
2651}
2652
2653type ListEnvironmentsInput struct {
2654	_ struct{} `type:"structure"`
2655
2656	// The maximum number of environments to get identifiers for.
2657	MaxResults *int64 `locationName:"maxResults" type:"integer"`
2658
2659	// During a previous call, if there are more than 25 items in the list, only
2660	// the first 25 items are returned, along with a unique string called a next
2661	// token. To get the next batch of items in the list, call this operation again,
2662	// adding the next token to the call. To get all of the items in the list, keep
2663	// calling this operation with each subsequent next token that is returned,
2664	// until no more next tokens are returned.
2665	NextToken *string `locationName:"nextToken" type:"string"`
2666}
2667
2668// String returns the string representation
2669func (s ListEnvironmentsInput) String() string {
2670	return awsutil.Prettify(s)
2671}
2672
2673// GoString returns the string representation
2674func (s ListEnvironmentsInput) GoString() string {
2675	return s.String()
2676}
2677
2678// SetMaxResults sets the MaxResults field's value.
2679func (s *ListEnvironmentsInput) SetMaxResults(v int64) *ListEnvironmentsInput {
2680	s.MaxResults = &v
2681	return s
2682}
2683
2684// SetNextToken sets the NextToken field's value.
2685func (s *ListEnvironmentsInput) SetNextToken(v string) *ListEnvironmentsInput {
2686	s.NextToken = &v
2687	return s
2688}
2689
2690type ListEnvironmentsOutput struct {
2691	_ struct{} `type:"structure"`
2692
2693	// The list of environment identifiers.
2694	EnvironmentIds []*string `locationName:"environmentIds" type:"list"`
2695
2696	// If there are more than 25 items in the list, only the first 25 items are
2697	// returned, along with a unique string called a next token. To get the next
2698	// batch of items in the list, call this operation again, adding the next token
2699	// to the call.
2700	NextToken *string `locationName:"nextToken" type:"string"`
2701}
2702
2703// String returns the string representation
2704func (s ListEnvironmentsOutput) String() string {
2705	return awsutil.Prettify(s)
2706}
2707
2708// GoString returns the string representation
2709func (s ListEnvironmentsOutput) GoString() string {
2710	return s.String()
2711}
2712
2713// SetEnvironmentIds sets the EnvironmentIds field's value.
2714func (s *ListEnvironmentsOutput) SetEnvironmentIds(v []*string) *ListEnvironmentsOutput {
2715	s.EnvironmentIds = v
2716	return s
2717}
2718
2719// SetNextToken sets the NextToken field's value.
2720func (s *ListEnvironmentsOutput) SetNextToken(v string) *ListEnvironmentsOutput {
2721	s.NextToken = &v
2722	return s
2723}
2724
2725type ListTagsForResourceInput struct {
2726	_ struct{} `type:"structure"`
2727
2728	// The Amazon Resource Name (ARN) of the Cloud9 development environment to get
2729	// the tags for.
2730	//
2731	// ResourceARN is a required field
2732	ResourceARN *string `type:"string" required:"true"`
2733}
2734
2735// String returns the string representation
2736func (s ListTagsForResourceInput) String() string {
2737	return awsutil.Prettify(s)
2738}
2739
2740// GoString returns the string representation
2741func (s ListTagsForResourceInput) GoString() string {
2742	return s.String()
2743}
2744
2745// Validate inspects the fields of the type to determine if they are valid.
2746func (s *ListTagsForResourceInput) Validate() error {
2747	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
2748	if s.ResourceARN == nil {
2749		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
2750	}
2751
2752	if invalidParams.Len() > 0 {
2753		return invalidParams
2754	}
2755	return nil
2756}
2757
2758// SetResourceARN sets the ResourceARN field's value.
2759func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
2760	s.ResourceARN = &v
2761	return s
2762}
2763
2764type ListTagsForResourceOutput struct {
2765	_ struct{} `type:"structure"`
2766
2767	// The list of tags associated with the Cloud9 development environment.
2768	Tags []*Tag `type:"list" sensitive:"true"`
2769}
2770
2771// String returns the string representation
2772func (s ListTagsForResourceOutput) String() string {
2773	return awsutil.Prettify(s)
2774}
2775
2776// GoString returns the string representation
2777func (s ListTagsForResourceOutput) GoString() string {
2778	return s.String()
2779}
2780
2781// SetTags sets the Tags field's value.
2782func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
2783	s.Tags = v
2784	return s
2785}
2786
2787// The target resource cannot be found.
2788type NotFoundException struct {
2789	_            struct{}                  `type:"structure"`
2790	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2791
2792	Message_ *string `locationName:"message" type:"string"`
2793}
2794
2795// String returns the string representation
2796func (s NotFoundException) String() string {
2797	return awsutil.Prettify(s)
2798}
2799
2800// GoString returns the string representation
2801func (s NotFoundException) GoString() string {
2802	return s.String()
2803}
2804
2805func newErrorNotFoundException(v protocol.ResponseMetadata) error {
2806	return &NotFoundException{
2807		RespMetadata: v,
2808	}
2809}
2810
2811// Code returns the exception type name.
2812func (s *NotFoundException) Code() string {
2813	return "NotFoundException"
2814}
2815
2816// Message returns the exception's message.
2817func (s *NotFoundException) Message() string {
2818	if s.Message_ != nil {
2819		return *s.Message_
2820	}
2821	return ""
2822}
2823
2824// OrigErr always returns nil, satisfies awserr.Error interface.
2825func (s *NotFoundException) OrigErr() error {
2826	return nil
2827}
2828
2829func (s *NotFoundException) Error() string {
2830	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2831}
2832
2833// Status code returns the HTTP status code for the request's response error.
2834func (s *NotFoundException) StatusCode() int {
2835	return s.RespMetadata.StatusCode
2836}
2837
2838// RequestID returns the service's response RequestID for request.
2839func (s *NotFoundException) RequestID() string {
2840	return s.RespMetadata.RequestID
2841}
2842
2843// Metadata that is associated with Amazon Web Services resources. In particular,
2844// a name-value pair that can be associated with an Cloud9 development environment.
2845// There are two types of tags: user tags and system tags. A user tag is created
2846// by the user. A system tag is automatically created by Amazon Web Services
2847// services. A system tag is prefixed with "aws:" and cannot be modified by
2848// 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 Cloud9 development environment to add
2908	// 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 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 Cloud9 development environment to remove
3041	// 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 Cloud9 development environment.
3047	//
3048	// TagKeys is a required field
3049	TagKeys []*string `type:"list" required:"true" sensitive:"true"`
3050}
3051
3052// String returns the string representation
3053func (s UntagResourceInput) String() string {
3054	return awsutil.Prettify(s)
3055}
3056
3057// GoString returns the string representation
3058func (s UntagResourceInput) GoString() string {
3059	return s.String()
3060}
3061
3062// Validate inspects the fields of the type to determine if they are valid.
3063func (s *UntagResourceInput) Validate() error {
3064	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
3065	if s.ResourceARN == nil {
3066		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
3067	}
3068	if s.TagKeys == nil {
3069		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
3070	}
3071
3072	if invalidParams.Len() > 0 {
3073		return invalidParams
3074	}
3075	return nil
3076}
3077
3078// SetResourceARN sets the ResourceARN field's value.
3079func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
3080	s.ResourceARN = &v
3081	return s
3082}
3083
3084// SetTagKeys sets the TagKeys field's value.
3085func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
3086	s.TagKeys = v
3087	return s
3088}
3089
3090type UntagResourceOutput struct {
3091	_ struct{} `type:"structure"`
3092}
3093
3094// String returns the string representation
3095func (s UntagResourceOutput) String() string {
3096	return awsutil.Prettify(s)
3097}
3098
3099// GoString returns the string representation
3100func (s UntagResourceOutput) GoString() string {
3101	return s.String()
3102}
3103
3104type UpdateEnvironmentInput struct {
3105	_ struct{} `type:"structure"`
3106
3107	// Any new or replacement description for the environment.
3108	Description *string `locationName:"description" type:"string" sensitive:"true"`
3109
3110	// The ID of the environment to change settings.
3111	//
3112	// EnvironmentId is a required field
3113	EnvironmentId *string `locationName:"environmentId" type:"string" required:"true"`
3114
3115	// A replacement name for the environment.
3116	Name *string `locationName:"name" min:"1" type:"string"`
3117}
3118
3119// String returns the string representation
3120func (s UpdateEnvironmentInput) String() string {
3121	return awsutil.Prettify(s)
3122}
3123
3124// GoString returns the string representation
3125func (s UpdateEnvironmentInput) GoString() string {
3126	return s.String()
3127}
3128
3129// Validate inspects the fields of the type to determine if they are valid.
3130func (s *UpdateEnvironmentInput) Validate() error {
3131	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentInput"}
3132	if s.EnvironmentId == nil {
3133		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
3134	}
3135	if s.Name != nil && len(*s.Name) < 1 {
3136		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3137	}
3138
3139	if invalidParams.Len() > 0 {
3140		return invalidParams
3141	}
3142	return nil
3143}
3144
3145// SetDescription sets the Description field's value.
3146func (s *UpdateEnvironmentInput) SetDescription(v string) *UpdateEnvironmentInput {
3147	s.Description = &v
3148	return s
3149}
3150
3151// SetEnvironmentId sets the EnvironmentId field's value.
3152func (s *UpdateEnvironmentInput) SetEnvironmentId(v string) *UpdateEnvironmentInput {
3153	s.EnvironmentId = &v
3154	return s
3155}
3156
3157// SetName sets the Name field's value.
3158func (s *UpdateEnvironmentInput) SetName(v string) *UpdateEnvironmentInput {
3159	s.Name = &v
3160	return s
3161}
3162
3163type UpdateEnvironmentMembershipInput struct {
3164	_ struct{} `type:"structure"`
3165
3166	// The ID of the environment for the environment member whose settings you want
3167	// to change.
3168	//
3169	// EnvironmentId is a required field
3170	EnvironmentId *string `locationName:"environmentId" type:"string" required:"true"`
3171
3172	// The replacement type of environment member permissions you want to associate
3173	// with this environment member. Available values include:
3174	//
3175	//    * read-only: Has read-only access to the environment.
3176	//
3177	//    * read-write: Has read-write access to the environment.
3178	//
3179	// Permissions is a required field
3180	Permissions *string `locationName:"permissions" type:"string" required:"true" enum:"MemberPermissions"`
3181
3182	// The Amazon Resource Name (ARN) of the environment member whose settings you
3183	// want to change.
3184	//
3185	// UserArn is a required field
3186	UserArn *string `locationName:"userArn" type:"string" required:"true"`
3187}
3188
3189// String returns the string representation
3190func (s UpdateEnvironmentMembershipInput) String() string {
3191	return awsutil.Prettify(s)
3192}
3193
3194// GoString returns the string representation
3195func (s UpdateEnvironmentMembershipInput) GoString() string {
3196	return s.String()
3197}
3198
3199// Validate inspects the fields of the type to determine if they are valid.
3200func (s *UpdateEnvironmentMembershipInput) Validate() error {
3201	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentMembershipInput"}
3202	if s.EnvironmentId == nil {
3203		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
3204	}
3205	if s.Permissions == nil {
3206		invalidParams.Add(request.NewErrParamRequired("Permissions"))
3207	}
3208	if s.UserArn == nil {
3209		invalidParams.Add(request.NewErrParamRequired("UserArn"))
3210	}
3211
3212	if invalidParams.Len() > 0 {
3213		return invalidParams
3214	}
3215	return nil
3216}
3217
3218// SetEnvironmentId sets the EnvironmentId field's value.
3219func (s *UpdateEnvironmentMembershipInput) SetEnvironmentId(v string) *UpdateEnvironmentMembershipInput {
3220	s.EnvironmentId = &v
3221	return s
3222}
3223
3224// SetPermissions sets the Permissions field's value.
3225func (s *UpdateEnvironmentMembershipInput) SetPermissions(v string) *UpdateEnvironmentMembershipInput {
3226	s.Permissions = &v
3227	return s
3228}
3229
3230// SetUserArn sets the UserArn field's value.
3231func (s *UpdateEnvironmentMembershipInput) SetUserArn(v string) *UpdateEnvironmentMembershipInput {
3232	s.UserArn = &v
3233	return s
3234}
3235
3236type UpdateEnvironmentMembershipOutput struct {
3237	_ struct{} `type:"structure"`
3238
3239	// Information about the environment member whose settings were changed.
3240	Membership *EnvironmentMember `locationName:"membership" type:"structure"`
3241}
3242
3243// String returns the string representation
3244func (s UpdateEnvironmentMembershipOutput) String() string {
3245	return awsutil.Prettify(s)
3246}
3247
3248// GoString returns the string representation
3249func (s UpdateEnvironmentMembershipOutput) GoString() string {
3250	return s.String()
3251}
3252
3253// SetMembership sets the Membership field's value.
3254func (s *UpdateEnvironmentMembershipOutput) SetMembership(v *EnvironmentMember) *UpdateEnvironmentMembershipOutput {
3255	s.Membership = v
3256	return s
3257}
3258
3259type UpdateEnvironmentOutput struct {
3260	_ struct{} `type:"structure"`
3261}
3262
3263// String returns the string representation
3264func (s UpdateEnvironmentOutput) String() string {
3265	return awsutil.Prettify(s)
3266}
3267
3268// GoString returns the string representation
3269func (s UpdateEnvironmentOutput) GoString() string {
3270	return s.String()
3271}
3272
3273const (
3274	// ConnectionTypeConnectSsh is a ConnectionType enum value
3275	ConnectionTypeConnectSsh = "CONNECT_SSH"
3276
3277	// ConnectionTypeConnectSsm is a ConnectionType enum value
3278	ConnectionTypeConnectSsm = "CONNECT_SSM"
3279)
3280
3281// ConnectionType_Values returns all elements of the ConnectionType enum
3282func ConnectionType_Values() []string {
3283	return []string{
3284		ConnectionTypeConnectSsh,
3285		ConnectionTypeConnectSsm,
3286	}
3287}
3288
3289const (
3290	// EnvironmentLifecycleStatusCreating is a EnvironmentLifecycleStatus enum value
3291	EnvironmentLifecycleStatusCreating = "CREATING"
3292
3293	// EnvironmentLifecycleStatusCreated is a EnvironmentLifecycleStatus enum value
3294	EnvironmentLifecycleStatusCreated = "CREATED"
3295
3296	// EnvironmentLifecycleStatusCreateFailed is a EnvironmentLifecycleStatus enum value
3297	EnvironmentLifecycleStatusCreateFailed = "CREATE_FAILED"
3298
3299	// EnvironmentLifecycleStatusDeleting is a EnvironmentLifecycleStatus enum value
3300	EnvironmentLifecycleStatusDeleting = "DELETING"
3301
3302	// EnvironmentLifecycleStatusDeleteFailed is a EnvironmentLifecycleStatus enum value
3303	EnvironmentLifecycleStatusDeleteFailed = "DELETE_FAILED"
3304)
3305
3306// EnvironmentLifecycleStatus_Values returns all elements of the EnvironmentLifecycleStatus enum
3307func EnvironmentLifecycleStatus_Values() []string {
3308	return []string{
3309		EnvironmentLifecycleStatusCreating,
3310		EnvironmentLifecycleStatusCreated,
3311		EnvironmentLifecycleStatusCreateFailed,
3312		EnvironmentLifecycleStatusDeleting,
3313		EnvironmentLifecycleStatusDeleteFailed,
3314	}
3315}
3316
3317const (
3318	// EnvironmentStatusError is a EnvironmentStatus enum value
3319	EnvironmentStatusError = "error"
3320
3321	// EnvironmentStatusCreating is a EnvironmentStatus enum value
3322	EnvironmentStatusCreating = "creating"
3323
3324	// EnvironmentStatusConnecting is a EnvironmentStatus enum value
3325	EnvironmentStatusConnecting = "connecting"
3326
3327	// EnvironmentStatusReady is a EnvironmentStatus enum value
3328	EnvironmentStatusReady = "ready"
3329
3330	// EnvironmentStatusStopping is a EnvironmentStatus enum value
3331	EnvironmentStatusStopping = "stopping"
3332
3333	// EnvironmentStatusStopped is a EnvironmentStatus enum value
3334	EnvironmentStatusStopped = "stopped"
3335
3336	// EnvironmentStatusDeleting is a EnvironmentStatus enum value
3337	EnvironmentStatusDeleting = "deleting"
3338)
3339
3340// EnvironmentStatus_Values returns all elements of the EnvironmentStatus enum
3341func EnvironmentStatus_Values() []string {
3342	return []string{
3343		EnvironmentStatusError,
3344		EnvironmentStatusCreating,
3345		EnvironmentStatusConnecting,
3346		EnvironmentStatusReady,
3347		EnvironmentStatusStopping,
3348		EnvironmentStatusStopped,
3349		EnvironmentStatusDeleting,
3350	}
3351}
3352
3353const (
3354	// EnvironmentTypeSsh is a EnvironmentType enum value
3355	EnvironmentTypeSsh = "ssh"
3356
3357	// EnvironmentTypeEc2 is a EnvironmentType enum value
3358	EnvironmentTypeEc2 = "ec2"
3359)
3360
3361// EnvironmentType_Values returns all elements of the EnvironmentType enum
3362func EnvironmentType_Values() []string {
3363	return []string{
3364		EnvironmentTypeSsh,
3365		EnvironmentTypeEc2,
3366	}
3367}
3368
3369const (
3370	// ManagedCredentialsStatusEnabledOnCreate is a ManagedCredentialsStatus enum value
3371	ManagedCredentialsStatusEnabledOnCreate = "ENABLED_ON_CREATE"
3372
3373	// ManagedCredentialsStatusEnabledByOwner is a ManagedCredentialsStatus enum value
3374	ManagedCredentialsStatusEnabledByOwner = "ENABLED_BY_OWNER"
3375
3376	// ManagedCredentialsStatusDisabledByDefault is a ManagedCredentialsStatus enum value
3377	ManagedCredentialsStatusDisabledByDefault = "DISABLED_BY_DEFAULT"
3378
3379	// ManagedCredentialsStatusDisabledByOwner is a ManagedCredentialsStatus enum value
3380	ManagedCredentialsStatusDisabledByOwner = "DISABLED_BY_OWNER"
3381
3382	// ManagedCredentialsStatusDisabledByCollaborator is a ManagedCredentialsStatus enum value
3383	ManagedCredentialsStatusDisabledByCollaborator = "DISABLED_BY_COLLABORATOR"
3384
3385	// ManagedCredentialsStatusPendingRemovalByCollaborator is a ManagedCredentialsStatus enum value
3386	ManagedCredentialsStatusPendingRemovalByCollaborator = "PENDING_REMOVAL_BY_COLLABORATOR"
3387
3388	// ManagedCredentialsStatusPendingStartRemovalByCollaborator is a ManagedCredentialsStatus enum value
3389	ManagedCredentialsStatusPendingStartRemovalByCollaborator = "PENDING_START_REMOVAL_BY_COLLABORATOR"
3390
3391	// ManagedCredentialsStatusPendingRemovalByOwner is a ManagedCredentialsStatus enum value
3392	ManagedCredentialsStatusPendingRemovalByOwner = "PENDING_REMOVAL_BY_OWNER"
3393
3394	// ManagedCredentialsStatusPendingStartRemovalByOwner is a ManagedCredentialsStatus enum value
3395	ManagedCredentialsStatusPendingStartRemovalByOwner = "PENDING_START_REMOVAL_BY_OWNER"
3396
3397	// ManagedCredentialsStatusFailedRemovalByCollaborator is a ManagedCredentialsStatus enum value
3398	ManagedCredentialsStatusFailedRemovalByCollaborator = "FAILED_REMOVAL_BY_COLLABORATOR"
3399
3400	// ManagedCredentialsStatusFailedRemovalByOwner is a ManagedCredentialsStatus enum value
3401	ManagedCredentialsStatusFailedRemovalByOwner = "FAILED_REMOVAL_BY_OWNER"
3402)
3403
3404// ManagedCredentialsStatus_Values returns all elements of the ManagedCredentialsStatus enum
3405func ManagedCredentialsStatus_Values() []string {
3406	return []string{
3407		ManagedCredentialsStatusEnabledOnCreate,
3408		ManagedCredentialsStatusEnabledByOwner,
3409		ManagedCredentialsStatusDisabledByDefault,
3410		ManagedCredentialsStatusDisabledByOwner,
3411		ManagedCredentialsStatusDisabledByCollaborator,
3412		ManagedCredentialsStatusPendingRemovalByCollaborator,
3413		ManagedCredentialsStatusPendingStartRemovalByCollaborator,
3414		ManagedCredentialsStatusPendingRemovalByOwner,
3415		ManagedCredentialsStatusPendingStartRemovalByOwner,
3416		ManagedCredentialsStatusFailedRemovalByCollaborator,
3417		ManagedCredentialsStatusFailedRemovalByOwner,
3418	}
3419}
3420
3421const (
3422	// MemberPermissionsReadWrite is a MemberPermissions enum value
3423	MemberPermissionsReadWrite = "read-write"
3424
3425	// MemberPermissionsReadOnly is a MemberPermissions enum value
3426	MemberPermissionsReadOnly = "read-only"
3427)
3428
3429// MemberPermissions_Values returns all elements of the MemberPermissions enum
3430func MemberPermissions_Values() []string {
3431	return []string{
3432		MemberPermissionsReadWrite,
3433		MemberPermissionsReadOnly,
3434	}
3435}
3436
3437const (
3438	// PermissionsOwner is a Permissions enum value
3439	PermissionsOwner = "owner"
3440
3441	// PermissionsReadWrite is a Permissions enum value
3442	PermissionsReadWrite = "read-write"
3443
3444	// PermissionsReadOnly is a Permissions enum value
3445	PermissionsReadOnly = "read-only"
3446)
3447
3448// Permissions_Values returns all elements of the Permissions enum
3449func Permissions_Values() []string {
3450	return []string{
3451		PermissionsOwner,
3452		PermissionsReadWrite,
3453		PermissionsReadOnly,
3454	}
3455}
3456