1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package cloud9
4
5import (
6	"time"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
13)
14
15const opCreateEnvironmentEC2 = "CreateEnvironmentEC2"
16
17// CreateEnvironmentEC2Request generates a "aws/request.Request" representing the
18// client's request for the CreateEnvironmentEC2 operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See CreateEnvironmentEC2 for more information on using the CreateEnvironmentEC2
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the CreateEnvironmentEC2Request method.
33//    req, resp := client.CreateEnvironmentEC2Request(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/CreateEnvironmentEC2
41func (c *Cloud9) CreateEnvironmentEC2Request(input *CreateEnvironmentEC2Input) (req *request.Request, output *CreateEnvironmentEC2Output) {
42	op := &request.Operation{
43		Name:       opCreateEnvironmentEC2,
44		HTTPMethod: "POST",
45		HTTPPath:   "/",
46	}
47
48	if input == nil {
49		input = &CreateEnvironmentEC2Input{}
50	}
51
52	output = &CreateEnvironmentEC2Output{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// CreateEnvironmentEC2 API operation for AWS Cloud9.
58//
59// Creates an AWS Cloud9 development environment, launches an Amazon Elastic
60// Compute Cloud (Amazon EC2) instance, and then connects from the instance
61// 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 Codes:
71//   * ErrCodeBadRequestException "BadRequestException"
72//   The target request is invalid.
73//
74//   * ErrCodeConflictException "ConflictException"
75//   A conflict occurred.
76//
77//   * ErrCodeNotFoundException "NotFoundException"
78//   The target resource cannot be found.
79//
80//   * ErrCodeForbiddenException "ForbiddenException"
81//   An access permissions issue occurred.
82//
83//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
84//   Too many service requests were made over the given time period.
85//
86//   * ErrCodeLimitExceededException "LimitExceededException"
87//   A service limit was exceeded.
88//
89//   * ErrCodeInternalServerErrorException "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 AWS 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 Codes:
168//   * ErrCodeBadRequestException "BadRequestException"
169//   The target request is invalid.
170//
171//   * ErrCodeConflictException "ConflictException"
172//   A conflict occurred.
173//
174//   * ErrCodeNotFoundException "NotFoundException"
175//   The target resource cannot be found.
176//
177//   * ErrCodeForbiddenException "ForbiddenException"
178//   An access permissions issue occurred.
179//
180//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
181//   Too many service requests were made over the given time period.
182//
183//   * ErrCodeLimitExceededException "LimitExceededException"
184//   A service limit was exceeded.
185//
186//   * ErrCodeInternalServerErrorException "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 AWS Cloud9 development environment. If an Amazon EC2 instance
257// is connected 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 Codes:
267//   * ErrCodeBadRequestException "BadRequestException"
268//   The target request is invalid.
269//
270//   * ErrCodeConflictException "ConflictException"
271//   A conflict occurred.
272//
273//   * ErrCodeNotFoundException "NotFoundException"
274//   The target resource cannot be found.
275//
276//   * ErrCodeForbiddenException "ForbiddenException"
277//   An access permissions issue occurred.
278//
279//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
280//   Too many service requests were made over the given time period.
281//
282//   * ErrCodeLimitExceededException "LimitExceededException"
283//   A service limit was exceeded.
284//
285//   * ErrCodeInternalServerErrorException "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 AWS 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 Codes:
365//   * ErrCodeBadRequestException "BadRequestException"
366//   The target request is invalid.
367//
368//   * ErrCodeConflictException "ConflictException"
369//   A conflict occurred.
370//
371//   * ErrCodeNotFoundException "NotFoundException"
372//   The target resource cannot be found.
373//
374//   * ErrCodeForbiddenException "ForbiddenException"
375//   An access permissions issue occurred.
376//
377//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
378//   Too many service requests were made over the given time period.
379//
380//   * ErrCodeLimitExceededException "LimitExceededException"
381//   A service limit was exceeded.
382//
383//   * ErrCodeInternalServerErrorException "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 AWS Cloud9 development
459// environment.
460//
461// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
462// with awserr.Error's Code and Message methods to get detailed information about
463// the error.
464//
465// See the AWS API reference guide for AWS Cloud9's
466// API operation DescribeEnvironmentMemberships for usage and error information.
467//
468// Returned Error Codes:
469//   * ErrCodeBadRequestException "BadRequestException"
470//   The target request is invalid.
471//
472//   * ErrCodeConflictException "ConflictException"
473//   A conflict occurred.
474//
475//   * ErrCodeNotFoundException "NotFoundException"
476//   The target resource cannot be found.
477//
478//   * ErrCodeForbiddenException "ForbiddenException"
479//   An access permissions issue occurred.
480//
481//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
482//   Too many service requests were made over the given time period.
483//
484//   * ErrCodeLimitExceededException "LimitExceededException"
485//   A service limit was exceeded.
486//
487//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
488//   An internal server error occurred.
489//
490// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentMemberships
491func (c *Cloud9) DescribeEnvironmentMemberships(input *DescribeEnvironmentMembershipsInput) (*DescribeEnvironmentMembershipsOutput, error) {
492	req, out := c.DescribeEnvironmentMembershipsRequest(input)
493	return out, req.Send()
494}
495
496// DescribeEnvironmentMembershipsWithContext is the same as DescribeEnvironmentMemberships with the addition of
497// the ability to pass a context and additional request options.
498//
499// See DescribeEnvironmentMemberships for details on how to use this API operation.
500//
501// The context must be non-nil and will be used for request cancellation. If
502// the context is nil a panic will occur. In the future the SDK may create
503// sub-contexts for http.Requests. See https://golang.org/pkg/context/
504// for more information on using Contexts.
505func (c *Cloud9) DescribeEnvironmentMembershipsWithContext(ctx aws.Context, input *DescribeEnvironmentMembershipsInput, opts ...request.Option) (*DescribeEnvironmentMembershipsOutput, error) {
506	req, out := c.DescribeEnvironmentMembershipsRequest(input)
507	req.SetContext(ctx)
508	req.ApplyOptions(opts...)
509	return out, req.Send()
510}
511
512// DescribeEnvironmentMembershipsPages iterates over the pages of a DescribeEnvironmentMemberships operation,
513// calling the "fn" function with the response data for each page. To stop
514// iterating, return false from the fn function.
515//
516// See DescribeEnvironmentMemberships method for more information on how to use this operation.
517//
518// Note: This operation can generate multiple requests to a service.
519//
520//    // Example iterating over at most 3 pages of a DescribeEnvironmentMemberships operation.
521//    pageNum := 0
522//    err := client.DescribeEnvironmentMembershipsPages(params,
523//        func(page *cloud9.DescribeEnvironmentMembershipsOutput, lastPage bool) bool {
524//            pageNum++
525//            fmt.Println(page)
526//            return pageNum <= 3
527//        })
528//
529func (c *Cloud9) DescribeEnvironmentMembershipsPages(input *DescribeEnvironmentMembershipsInput, fn func(*DescribeEnvironmentMembershipsOutput, bool) bool) error {
530	return c.DescribeEnvironmentMembershipsPagesWithContext(aws.BackgroundContext(), input, fn)
531}
532
533// DescribeEnvironmentMembershipsPagesWithContext same as DescribeEnvironmentMembershipsPages except
534// it takes a Context and allows setting request options on the pages.
535//
536// The context must be non-nil and will be used for request cancellation. If
537// the context is nil a panic will occur. In the future the SDK may create
538// sub-contexts for http.Requests. See https://golang.org/pkg/context/
539// for more information on using Contexts.
540func (c *Cloud9) DescribeEnvironmentMembershipsPagesWithContext(ctx aws.Context, input *DescribeEnvironmentMembershipsInput, fn func(*DescribeEnvironmentMembershipsOutput, bool) bool, opts ...request.Option) error {
541	p := request.Pagination{
542		NewRequest: func() (*request.Request, error) {
543			var inCpy *DescribeEnvironmentMembershipsInput
544			if input != nil {
545				tmp := *input
546				inCpy = &tmp
547			}
548			req, _ := c.DescribeEnvironmentMembershipsRequest(inCpy)
549			req.SetContext(ctx)
550			req.ApplyOptions(opts...)
551			return req, nil
552		},
553	}
554
555	cont := true
556	for p.Next() && cont {
557		cont = fn(p.Page().(*DescribeEnvironmentMembershipsOutput), !p.HasNextPage())
558	}
559	return p.Err()
560}
561
562const opDescribeEnvironmentStatus = "DescribeEnvironmentStatus"
563
564// DescribeEnvironmentStatusRequest generates a "aws/request.Request" representing the
565// client's request for the DescribeEnvironmentStatus operation. The "output" return
566// value will be populated with the request's response once the request completes
567// successfully.
568//
569// Use "Send" method on the returned Request to send the API call to the service.
570// the "output" return value is not valid until after Send returns without error.
571//
572// See DescribeEnvironmentStatus for more information on using the DescribeEnvironmentStatus
573// API call, and error handling.
574//
575// This method is useful when you want to inject custom logic or configuration
576// into the SDK's request lifecycle. Such as custom headers, or retry logic.
577//
578//
579//    // Example sending a request using the DescribeEnvironmentStatusRequest method.
580//    req, resp := client.DescribeEnvironmentStatusRequest(params)
581//
582//    err := req.Send()
583//    if err == nil { // resp is now filled
584//        fmt.Println(resp)
585//    }
586//
587// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentStatus
588func (c *Cloud9) DescribeEnvironmentStatusRequest(input *DescribeEnvironmentStatusInput) (req *request.Request, output *DescribeEnvironmentStatusOutput) {
589	op := &request.Operation{
590		Name:       opDescribeEnvironmentStatus,
591		HTTPMethod: "POST",
592		HTTPPath:   "/",
593	}
594
595	if input == nil {
596		input = &DescribeEnvironmentStatusInput{}
597	}
598
599	output = &DescribeEnvironmentStatusOutput{}
600	req = c.newRequest(op, input, output)
601	return
602}
603
604// DescribeEnvironmentStatus API operation for AWS Cloud9.
605//
606// Gets status information for an AWS Cloud9 development environment.
607//
608// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
609// with awserr.Error's Code and Message methods to get detailed information about
610// the error.
611//
612// See the AWS API reference guide for AWS Cloud9's
613// API operation DescribeEnvironmentStatus for usage and error information.
614//
615// Returned Error Codes:
616//   * ErrCodeBadRequestException "BadRequestException"
617//   The target request is invalid.
618//
619//   * ErrCodeConflictException "ConflictException"
620//   A conflict occurred.
621//
622//   * ErrCodeNotFoundException "NotFoundException"
623//   The target resource cannot be found.
624//
625//   * ErrCodeForbiddenException "ForbiddenException"
626//   An access permissions issue occurred.
627//
628//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
629//   Too many service requests were made over the given time period.
630//
631//   * ErrCodeLimitExceededException "LimitExceededException"
632//   A service limit was exceeded.
633//
634//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
635//   An internal server error occurred.
636//
637// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironmentStatus
638func (c *Cloud9) DescribeEnvironmentStatus(input *DescribeEnvironmentStatusInput) (*DescribeEnvironmentStatusOutput, error) {
639	req, out := c.DescribeEnvironmentStatusRequest(input)
640	return out, req.Send()
641}
642
643// DescribeEnvironmentStatusWithContext is the same as DescribeEnvironmentStatus with the addition of
644// the ability to pass a context and additional request options.
645//
646// See DescribeEnvironmentStatus for details on how to use this API operation.
647//
648// The context must be non-nil and will be used for request cancellation. If
649// the context is nil a panic will occur. In the future the SDK may create
650// sub-contexts for http.Requests. See https://golang.org/pkg/context/
651// for more information on using Contexts.
652func (c *Cloud9) DescribeEnvironmentStatusWithContext(ctx aws.Context, input *DescribeEnvironmentStatusInput, opts ...request.Option) (*DescribeEnvironmentStatusOutput, error) {
653	req, out := c.DescribeEnvironmentStatusRequest(input)
654	req.SetContext(ctx)
655	req.ApplyOptions(opts...)
656	return out, req.Send()
657}
658
659const opDescribeEnvironments = "DescribeEnvironments"
660
661// DescribeEnvironmentsRequest generates a "aws/request.Request" representing the
662// client's request for the DescribeEnvironments operation. The "output" return
663// value will be populated with the request's response once the request completes
664// successfully.
665//
666// Use "Send" method on the returned Request to send the API call to the service.
667// the "output" return value is not valid until after Send returns without error.
668//
669// See DescribeEnvironments for more information on using the DescribeEnvironments
670// API call, and error handling.
671//
672// This method is useful when you want to inject custom logic or configuration
673// into the SDK's request lifecycle. Such as custom headers, or retry logic.
674//
675//
676//    // Example sending a request using the DescribeEnvironmentsRequest method.
677//    req, resp := client.DescribeEnvironmentsRequest(params)
678//
679//    err := req.Send()
680//    if err == nil { // resp is now filled
681//        fmt.Println(resp)
682//    }
683//
684// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironments
685func (c *Cloud9) DescribeEnvironmentsRequest(input *DescribeEnvironmentsInput) (req *request.Request, output *DescribeEnvironmentsOutput) {
686	op := &request.Operation{
687		Name:       opDescribeEnvironments,
688		HTTPMethod: "POST",
689		HTTPPath:   "/",
690	}
691
692	if input == nil {
693		input = &DescribeEnvironmentsInput{}
694	}
695
696	output = &DescribeEnvironmentsOutput{}
697	req = c.newRequest(op, input, output)
698	return
699}
700
701// DescribeEnvironments API operation for AWS Cloud9.
702//
703// Gets information about AWS Cloud9 development environments.
704//
705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
706// with awserr.Error's Code and Message methods to get detailed information about
707// the error.
708//
709// See the AWS API reference guide for AWS Cloud9's
710// API operation DescribeEnvironments for usage and error information.
711//
712// Returned Error Codes:
713//   * ErrCodeBadRequestException "BadRequestException"
714//   The target request is invalid.
715//
716//   * ErrCodeConflictException "ConflictException"
717//   A conflict occurred.
718//
719//   * ErrCodeNotFoundException "NotFoundException"
720//   The target resource cannot be found.
721//
722//   * ErrCodeForbiddenException "ForbiddenException"
723//   An access permissions issue occurred.
724//
725//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
726//   Too many service requests were made over the given time period.
727//
728//   * ErrCodeLimitExceededException "LimitExceededException"
729//   A service limit was exceeded.
730//
731//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
732//   An internal server error occurred.
733//
734// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/DescribeEnvironments
735func (c *Cloud9) DescribeEnvironments(input *DescribeEnvironmentsInput) (*DescribeEnvironmentsOutput, error) {
736	req, out := c.DescribeEnvironmentsRequest(input)
737	return out, req.Send()
738}
739
740// DescribeEnvironmentsWithContext is the same as DescribeEnvironments with the addition of
741// the ability to pass a context and additional request options.
742//
743// See DescribeEnvironments for details on how to use this API operation.
744//
745// The context must be non-nil and will be used for request cancellation. If
746// the context is nil a panic will occur. In the future the SDK may create
747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
748// for more information on using Contexts.
749func (c *Cloud9) DescribeEnvironmentsWithContext(ctx aws.Context, input *DescribeEnvironmentsInput, opts ...request.Option) (*DescribeEnvironmentsOutput, error) {
750	req, out := c.DescribeEnvironmentsRequest(input)
751	req.SetContext(ctx)
752	req.ApplyOptions(opts...)
753	return out, req.Send()
754}
755
756const opListEnvironments = "ListEnvironments"
757
758// ListEnvironmentsRequest generates a "aws/request.Request" representing the
759// client's request for the ListEnvironments operation. The "output" return
760// value will be populated with the request's response once the request completes
761// successfully.
762//
763// Use "Send" method on the returned Request to send the API call to the service.
764// the "output" return value is not valid until after Send returns without error.
765//
766// See ListEnvironments for more information on using the ListEnvironments
767// API call, and error handling.
768//
769// This method is useful when you want to inject custom logic or configuration
770// into the SDK's request lifecycle. Such as custom headers, or retry logic.
771//
772//
773//    // Example sending a request using the ListEnvironmentsRequest method.
774//    req, resp := client.ListEnvironmentsRequest(params)
775//
776//    err := req.Send()
777//    if err == nil { // resp is now filled
778//        fmt.Println(resp)
779//    }
780//
781// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/ListEnvironments
782func (c *Cloud9) ListEnvironmentsRequest(input *ListEnvironmentsInput) (req *request.Request, output *ListEnvironmentsOutput) {
783	op := &request.Operation{
784		Name:       opListEnvironments,
785		HTTPMethod: "POST",
786		HTTPPath:   "/",
787		Paginator: &request.Paginator{
788			InputTokens:     []string{"nextToken"},
789			OutputTokens:    []string{"nextToken"},
790			LimitToken:      "maxResults",
791			TruncationToken: "",
792		},
793	}
794
795	if input == nil {
796		input = &ListEnvironmentsInput{}
797	}
798
799	output = &ListEnvironmentsOutput{}
800	req = c.newRequest(op, input, output)
801	return
802}
803
804// ListEnvironments API operation for AWS Cloud9.
805//
806// Gets a list of AWS Cloud9 development environment identifiers.
807//
808// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
809// with awserr.Error's Code and Message methods to get detailed information about
810// the error.
811//
812// See the AWS API reference guide for AWS Cloud9's
813// API operation ListEnvironments for usage and error information.
814//
815// Returned Error Codes:
816//   * ErrCodeBadRequestException "BadRequestException"
817//   The target request is invalid.
818//
819//   * ErrCodeConflictException "ConflictException"
820//   A conflict occurred.
821//
822//   * ErrCodeNotFoundException "NotFoundException"
823//   The target resource cannot be found.
824//
825//   * ErrCodeForbiddenException "ForbiddenException"
826//   An access permissions issue occurred.
827//
828//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
829//   Too many service requests were made over the given time period.
830//
831//   * ErrCodeLimitExceededException "LimitExceededException"
832//   A service limit was exceeded.
833//
834//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
835//   An internal server error occurred.
836//
837// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/ListEnvironments
838func (c *Cloud9) ListEnvironments(input *ListEnvironmentsInput) (*ListEnvironmentsOutput, error) {
839	req, out := c.ListEnvironmentsRequest(input)
840	return out, req.Send()
841}
842
843// ListEnvironmentsWithContext is the same as ListEnvironments with the addition of
844// the ability to pass a context and additional request options.
845//
846// See ListEnvironments for details on how to use this API operation.
847//
848// The context must be non-nil and will be used for request cancellation. If
849// the context is nil a panic will occur. In the future the SDK may create
850// sub-contexts for http.Requests. See https://golang.org/pkg/context/
851// for more information on using Contexts.
852func (c *Cloud9) ListEnvironmentsWithContext(ctx aws.Context, input *ListEnvironmentsInput, opts ...request.Option) (*ListEnvironmentsOutput, error) {
853	req, out := c.ListEnvironmentsRequest(input)
854	req.SetContext(ctx)
855	req.ApplyOptions(opts...)
856	return out, req.Send()
857}
858
859// ListEnvironmentsPages iterates over the pages of a ListEnvironments operation,
860// calling the "fn" function with the response data for each page. To stop
861// iterating, return false from the fn function.
862//
863// See ListEnvironments method for more information on how to use this operation.
864//
865// Note: This operation can generate multiple requests to a service.
866//
867//    // Example iterating over at most 3 pages of a ListEnvironments operation.
868//    pageNum := 0
869//    err := client.ListEnvironmentsPages(params,
870//        func(page *cloud9.ListEnvironmentsOutput, lastPage bool) bool {
871//            pageNum++
872//            fmt.Println(page)
873//            return pageNum <= 3
874//        })
875//
876func (c *Cloud9) ListEnvironmentsPages(input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool) error {
877	return c.ListEnvironmentsPagesWithContext(aws.BackgroundContext(), input, fn)
878}
879
880// ListEnvironmentsPagesWithContext same as ListEnvironmentsPages except
881// it takes a Context and allows setting request options on the pages.
882//
883// The context must be non-nil and will be used for request cancellation. If
884// the context is nil a panic will occur. In the future the SDK may create
885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
886// for more information on using Contexts.
887func (c *Cloud9) ListEnvironmentsPagesWithContext(ctx aws.Context, input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool, opts ...request.Option) error {
888	p := request.Pagination{
889		NewRequest: func() (*request.Request, error) {
890			var inCpy *ListEnvironmentsInput
891			if input != nil {
892				tmp := *input
893				inCpy = &tmp
894			}
895			req, _ := c.ListEnvironmentsRequest(inCpy)
896			req.SetContext(ctx)
897			req.ApplyOptions(opts...)
898			return req, nil
899		},
900	}
901
902	cont := true
903	for p.Next() && cont {
904		cont = fn(p.Page().(*ListEnvironmentsOutput), !p.HasNextPage())
905	}
906	return p.Err()
907}
908
909const opUpdateEnvironment = "UpdateEnvironment"
910
911// UpdateEnvironmentRequest generates a "aws/request.Request" representing the
912// client's request for the UpdateEnvironment operation. The "output" return
913// value will be populated with the request's response once the request completes
914// successfully.
915//
916// Use "Send" method on the returned Request to send the API call to the service.
917// the "output" return value is not valid until after Send returns without error.
918//
919// See UpdateEnvironment for more information on using the UpdateEnvironment
920// API call, and error handling.
921//
922// This method is useful when you want to inject custom logic or configuration
923// into the SDK's request lifecycle. Such as custom headers, or retry logic.
924//
925//
926//    // Example sending a request using the UpdateEnvironmentRequest method.
927//    req, resp := client.UpdateEnvironmentRequest(params)
928//
929//    err := req.Send()
930//    if err == nil { // resp is now filled
931//        fmt.Println(resp)
932//    }
933//
934// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironment
935func (c *Cloud9) UpdateEnvironmentRequest(input *UpdateEnvironmentInput) (req *request.Request, output *UpdateEnvironmentOutput) {
936	op := &request.Operation{
937		Name:       opUpdateEnvironment,
938		HTTPMethod: "POST",
939		HTTPPath:   "/",
940	}
941
942	if input == nil {
943		input = &UpdateEnvironmentInput{}
944	}
945
946	output = &UpdateEnvironmentOutput{}
947	req = c.newRequest(op, input, output)
948	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
949	return
950}
951
952// UpdateEnvironment API operation for AWS Cloud9.
953//
954// Changes the settings of an existing AWS Cloud9 development environment.
955//
956// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
957// with awserr.Error's Code and Message methods to get detailed information about
958// the error.
959//
960// See the AWS API reference guide for AWS Cloud9's
961// API operation UpdateEnvironment for usage and error information.
962//
963// Returned Error Codes:
964//   * ErrCodeBadRequestException "BadRequestException"
965//   The target request is invalid.
966//
967//   * ErrCodeConflictException "ConflictException"
968//   A conflict occurred.
969//
970//   * ErrCodeNotFoundException "NotFoundException"
971//   The target resource cannot be found.
972//
973//   * ErrCodeForbiddenException "ForbiddenException"
974//   An access permissions issue occurred.
975//
976//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
977//   Too many service requests were made over the given time period.
978//
979//   * ErrCodeLimitExceededException "LimitExceededException"
980//   A service limit was exceeded.
981//
982//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
983//   An internal server error occurred.
984//
985// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironment
986func (c *Cloud9) UpdateEnvironment(input *UpdateEnvironmentInput) (*UpdateEnvironmentOutput, error) {
987	req, out := c.UpdateEnvironmentRequest(input)
988	return out, req.Send()
989}
990
991// UpdateEnvironmentWithContext is the same as UpdateEnvironment with the addition of
992// the ability to pass a context and additional request options.
993//
994// See UpdateEnvironment for details on how to use this API operation.
995//
996// The context must be non-nil and will be used for request cancellation. If
997// the context is nil a panic will occur. In the future the SDK may create
998// sub-contexts for http.Requests. See https://golang.org/pkg/context/
999// for more information on using Contexts.
1000func (c *Cloud9) UpdateEnvironmentWithContext(ctx aws.Context, input *UpdateEnvironmentInput, opts ...request.Option) (*UpdateEnvironmentOutput, error) {
1001	req, out := c.UpdateEnvironmentRequest(input)
1002	req.SetContext(ctx)
1003	req.ApplyOptions(opts...)
1004	return out, req.Send()
1005}
1006
1007const opUpdateEnvironmentMembership = "UpdateEnvironmentMembership"
1008
1009// UpdateEnvironmentMembershipRequest generates a "aws/request.Request" representing the
1010// client's request for the UpdateEnvironmentMembership operation. The "output" return
1011// value will be populated with the request's response once the request completes
1012// successfully.
1013//
1014// Use "Send" method on the returned Request to send the API call to the service.
1015// the "output" return value is not valid until after Send returns without error.
1016//
1017// See UpdateEnvironmentMembership for more information on using the UpdateEnvironmentMembership
1018// API call, and error handling.
1019//
1020// This method is useful when you want to inject custom logic or configuration
1021// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1022//
1023//
1024//    // Example sending a request using the UpdateEnvironmentMembershipRequest method.
1025//    req, resp := client.UpdateEnvironmentMembershipRequest(params)
1026//
1027//    err := req.Send()
1028//    if err == nil { // resp is now filled
1029//        fmt.Println(resp)
1030//    }
1031//
1032// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironmentMembership
1033func (c *Cloud9) UpdateEnvironmentMembershipRequest(input *UpdateEnvironmentMembershipInput) (req *request.Request, output *UpdateEnvironmentMembershipOutput) {
1034	op := &request.Operation{
1035		Name:       opUpdateEnvironmentMembership,
1036		HTTPMethod: "POST",
1037		HTTPPath:   "/",
1038	}
1039
1040	if input == nil {
1041		input = &UpdateEnvironmentMembershipInput{}
1042	}
1043
1044	output = &UpdateEnvironmentMembershipOutput{}
1045	req = c.newRequest(op, input, output)
1046	return
1047}
1048
1049// UpdateEnvironmentMembership API operation for AWS Cloud9.
1050//
1051// Changes the settings of an existing environment member for an AWS Cloud9
1052// development environment.
1053//
1054// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1055// with awserr.Error's Code and Message methods to get detailed information about
1056// the error.
1057//
1058// See the AWS API reference guide for AWS Cloud9's
1059// API operation UpdateEnvironmentMembership for usage and error information.
1060//
1061// Returned Error Codes:
1062//   * ErrCodeBadRequestException "BadRequestException"
1063//   The target request is invalid.
1064//
1065//   * ErrCodeConflictException "ConflictException"
1066//   A conflict occurred.
1067//
1068//   * ErrCodeNotFoundException "NotFoundException"
1069//   The target resource cannot be found.
1070//
1071//   * ErrCodeForbiddenException "ForbiddenException"
1072//   An access permissions issue occurred.
1073//
1074//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1075//   Too many service requests were made over the given time period.
1076//
1077//   * ErrCodeLimitExceededException "LimitExceededException"
1078//   A service limit was exceeded.
1079//
1080//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1081//   An internal server error occurred.
1082//
1083// See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UpdateEnvironmentMembership
1084func (c *Cloud9) UpdateEnvironmentMembership(input *UpdateEnvironmentMembershipInput) (*UpdateEnvironmentMembershipOutput, error) {
1085	req, out := c.UpdateEnvironmentMembershipRequest(input)
1086	return out, req.Send()
1087}
1088
1089// UpdateEnvironmentMembershipWithContext is the same as UpdateEnvironmentMembership with the addition of
1090// the ability to pass a context and additional request options.
1091//
1092// See UpdateEnvironmentMembership for details on how to use this API operation.
1093//
1094// The context must be non-nil and will be used for request cancellation. If
1095// the context is nil a panic will occur. In the future the SDK may create
1096// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1097// for more information on using Contexts.
1098func (c *Cloud9) UpdateEnvironmentMembershipWithContext(ctx aws.Context, input *UpdateEnvironmentMembershipInput, opts ...request.Option) (*UpdateEnvironmentMembershipOutput, error) {
1099	req, out := c.UpdateEnvironmentMembershipRequest(input)
1100	req.SetContext(ctx)
1101	req.ApplyOptions(opts...)
1102	return out, req.Send()
1103}
1104
1105type CreateEnvironmentEC2Input struct {
1106	_ struct{} `type:"structure"`
1107
1108	// The number of minutes until the running instance is shut down after the environment
1109	// has last been used.
1110	AutomaticStopTimeMinutes *int64 `locationName:"automaticStopTimeMinutes" type:"integer"`
1111
1112	// A unique, case-sensitive string that helps AWS Cloud9 to ensure this operation
1113	// completes no more than one time.
1114	//
1115	// For more information, see Client Tokens (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html)
1116	// in the Amazon EC2 API Reference.
1117	ClientRequestToken *string `locationName:"clientRequestToken" type:"string"`
1118
1119	// The description of the environment to create.
1120	Description *string `locationName:"description" type:"string" sensitive:"true"`
1121
1122	// The type of instance to connect to the environment (for example, t2.micro).
1123	//
1124	// InstanceType is a required field
1125	InstanceType *string `locationName:"instanceType" min:"5" type:"string" required:"true"`
1126
1127	// The name of the environment to create.
1128	//
1129	// This name is visible to other AWS IAM users in the same AWS account.
1130	//
1131	// Name is a required field
1132	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
1133
1134	// The Amazon Resource Name (ARN) of the environment owner. This ARN can be
1135	// the ARN of any AWS IAM principal. If this value is not specified, the ARN
1136	// defaults to this environment's creator.
1137	OwnerArn *string `locationName:"ownerArn" type:"string"`
1138
1139	// The ID of the subnet in Amazon VPC that AWS Cloud9 will use to communicate
1140	// with the Amazon EC2 instance.
1141	SubnetId *string `locationName:"subnetId" min:"5" type:"string"`
1142}
1143
1144// String returns the string representation
1145func (s CreateEnvironmentEC2Input) String() string {
1146	return awsutil.Prettify(s)
1147}
1148
1149// GoString returns the string representation
1150func (s CreateEnvironmentEC2Input) GoString() string {
1151	return s.String()
1152}
1153
1154// Validate inspects the fields of the type to determine if they are valid.
1155func (s *CreateEnvironmentEC2Input) Validate() error {
1156	invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentEC2Input"}
1157	if s.InstanceType == nil {
1158		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
1159	}
1160	if s.InstanceType != nil && len(*s.InstanceType) < 5 {
1161		invalidParams.Add(request.NewErrParamMinLen("InstanceType", 5))
1162	}
1163	if s.Name == nil {
1164		invalidParams.Add(request.NewErrParamRequired("Name"))
1165	}
1166	if s.Name != nil && len(*s.Name) < 1 {
1167		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1168	}
1169	if s.SubnetId != nil && len(*s.SubnetId) < 5 {
1170		invalidParams.Add(request.NewErrParamMinLen("SubnetId", 5))
1171	}
1172
1173	if invalidParams.Len() > 0 {
1174		return invalidParams
1175	}
1176	return nil
1177}
1178
1179// SetAutomaticStopTimeMinutes sets the AutomaticStopTimeMinutes field's value.
1180func (s *CreateEnvironmentEC2Input) SetAutomaticStopTimeMinutes(v int64) *CreateEnvironmentEC2Input {
1181	s.AutomaticStopTimeMinutes = &v
1182	return s
1183}
1184
1185// SetClientRequestToken sets the ClientRequestToken field's value.
1186func (s *CreateEnvironmentEC2Input) SetClientRequestToken(v string) *CreateEnvironmentEC2Input {
1187	s.ClientRequestToken = &v
1188	return s
1189}
1190
1191// SetDescription sets the Description field's value.
1192func (s *CreateEnvironmentEC2Input) SetDescription(v string) *CreateEnvironmentEC2Input {
1193	s.Description = &v
1194	return s
1195}
1196
1197// SetInstanceType sets the InstanceType field's value.
1198func (s *CreateEnvironmentEC2Input) SetInstanceType(v string) *CreateEnvironmentEC2Input {
1199	s.InstanceType = &v
1200	return s
1201}
1202
1203// SetName sets the Name field's value.
1204func (s *CreateEnvironmentEC2Input) SetName(v string) *CreateEnvironmentEC2Input {
1205	s.Name = &v
1206	return s
1207}
1208
1209// SetOwnerArn sets the OwnerArn field's value.
1210func (s *CreateEnvironmentEC2Input) SetOwnerArn(v string) *CreateEnvironmentEC2Input {
1211	s.OwnerArn = &v
1212	return s
1213}
1214
1215// SetSubnetId sets the SubnetId field's value.
1216func (s *CreateEnvironmentEC2Input) SetSubnetId(v string) *CreateEnvironmentEC2Input {
1217	s.SubnetId = &v
1218	return s
1219}
1220
1221type CreateEnvironmentEC2Output struct {
1222	_ struct{} `type:"structure"`
1223
1224	// The ID of the environment that was created.
1225	EnvironmentId *string `locationName:"environmentId" type:"string"`
1226}
1227
1228// String returns the string representation
1229func (s CreateEnvironmentEC2Output) String() string {
1230	return awsutil.Prettify(s)
1231}
1232
1233// GoString returns the string representation
1234func (s CreateEnvironmentEC2Output) GoString() string {
1235	return s.String()
1236}
1237
1238// SetEnvironmentId sets the EnvironmentId field's value.
1239func (s *CreateEnvironmentEC2Output) SetEnvironmentId(v string) *CreateEnvironmentEC2Output {
1240	s.EnvironmentId = &v
1241	return s
1242}
1243
1244type CreateEnvironmentMembershipInput struct {
1245	_ struct{} `type:"structure"`
1246
1247	// The ID of the environment that contains the environment member you want to
1248	// add.
1249	//
1250	// EnvironmentId is a required field
1251	EnvironmentId *string `locationName:"environmentId" type:"string" required:"true"`
1252
1253	// The type of environment member permissions you want to associate with this
1254	// environment member. Available values include:
1255	//
1256	//    * read-only: Has read-only access to the environment.
1257	//
1258	//    * read-write: Has read-write access to the environment.
1259	//
1260	// Permissions is a required field
1261	Permissions *string `locationName:"permissions" type:"string" required:"true" enum:"MemberPermissions"`
1262
1263	// The Amazon Resource Name (ARN) of the environment member you want to add.
1264	//
1265	// UserArn is a required field
1266	UserArn *string `locationName:"userArn" type:"string" required:"true"`
1267}
1268
1269// String returns the string representation
1270func (s CreateEnvironmentMembershipInput) String() string {
1271	return awsutil.Prettify(s)
1272}
1273
1274// GoString returns the string representation
1275func (s CreateEnvironmentMembershipInput) GoString() string {
1276	return s.String()
1277}
1278
1279// Validate inspects the fields of the type to determine if they are valid.
1280func (s *CreateEnvironmentMembershipInput) Validate() error {
1281	invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentMembershipInput"}
1282	if s.EnvironmentId == nil {
1283		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
1284	}
1285	if s.Permissions == nil {
1286		invalidParams.Add(request.NewErrParamRequired("Permissions"))
1287	}
1288	if s.UserArn == nil {
1289		invalidParams.Add(request.NewErrParamRequired("UserArn"))
1290	}
1291
1292	if invalidParams.Len() > 0 {
1293		return invalidParams
1294	}
1295	return nil
1296}
1297
1298// SetEnvironmentId sets the EnvironmentId field's value.
1299func (s *CreateEnvironmentMembershipInput) SetEnvironmentId(v string) *CreateEnvironmentMembershipInput {
1300	s.EnvironmentId = &v
1301	return s
1302}
1303
1304// SetPermissions sets the Permissions field's value.
1305func (s *CreateEnvironmentMembershipInput) SetPermissions(v string) *CreateEnvironmentMembershipInput {
1306	s.Permissions = &v
1307	return s
1308}
1309
1310// SetUserArn sets the UserArn field's value.
1311func (s *CreateEnvironmentMembershipInput) SetUserArn(v string) *CreateEnvironmentMembershipInput {
1312	s.UserArn = &v
1313	return s
1314}
1315
1316type CreateEnvironmentMembershipOutput struct {
1317	_ struct{} `type:"structure"`
1318
1319	// Information about the environment member that was added.
1320	Membership *EnvironmentMember `locationName:"membership" type:"structure"`
1321}
1322
1323// String returns the string representation
1324func (s CreateEnvironmentMembershipOutput) String() string {
1325	return awsutil.Prettify(s)
1326}
1327
1328// GoString returns the string representation
1329func (s CreateEnvironmentMembershipOutput) GoString() string {
1330	return s.String()
1331}
1332
1333// SetMembership sets the Membership field's value.
1334func (s *CreateEnvironmentMembershipOutput) SetMembership(v *EnvironmentMember) *CreateEnvironmentMembershipOutput {
1335	s.Membership = v
1336	return s
1337}
1338
1339type DeleteEnvironmentInput struct {
1340	_ struct{} `type:"structure"`
1341
1342	// The ID of the environment to delete.
1343	//
1344	// EnvironmentId is a required field
1345	EnvironmentId *string `locationName:"environmentId" type:"string" required:"true"`
1346}
1347
1348// String returns the string representation
1349func (s DeleteEnvironmentInput) String() string {
1350	return awsutil.Prettify(s)
1351}
1352
1353// GoString returns the string representation
1354func (s DeleteEnvironmentInput) GoString() string {
1355	return s.String()
1356}
1357
1358// Validate inspects the fields of the type to determine if they are valid.
1359func (s *DeleteEnvironmentInput) Validate() error {
1360	invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentInput"}
1361	if s.EnvironmentId == nil {
1362		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
1363	}
1364
1365	if invalidParams.Len() > 0 {
1366		return invalidParams
1367	}
1368	return nil
1369}
1370
1371// SetEnvironmentId sets the EnvironmentId field's value.
1372func (s *DeleteEnvironmentInput) SetEnvironmentId(v string) *DeleteEnvironmentInput {
1373	s.EnvironmentId = &v
1374	return s
1375}
1376
1377type DeleteEnvironmentMembershipInput struct {
1378	_ struct{} `type:"structure"`
1379
1380	// The ID of the environment to delete the environment member from.
1381	//
1382	// EnvironmentId is a required field
1383	EnvironmentId *string `locationName:"environmentId" type:"string" required:"true"`
1384
1385	// The Amazon Resource Name (ARN) of the environment member to delete from the
1386	// environment.
1387	//
1388	// UserArn is a required field
1389	UserArn *string `locationName:"userArn" type:"string" required:"true"`
1390}
1391
1392// String returns the string representation
1393func (s DeleteEnvironmentMembershipInput) String() string {
1394	return awsutil.Prettify(s)
1395}
1396
1397// GoString returns the string representation
1398func (s DeleteEnvironmentMembershipInput) GoString() string {
1399	return s.String()
1400}
1401
1402// Validate inspects the fields of the type to determine if they are valid.
1403func (s *DeleteEnvironmentMembershipInput) Validate() error {
1404	invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentMembershipInput"}
1405	if s.EnvironmentId == nil {
1406		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
1407	}
1408	if s.UserArn == nil {
1409		invalidParams.Add(request.NewErrParamRequired("UserArn"))
1410	}
1411
1412	if invalidParams.Len() > 0 {
1413		return invalidParams
1414	}
1415	return nil
1416}
1417
1418// SetEnvironmentId sets the EnvironmentId field's value.
1419func (s *DeleteEnvironmentMembershipInput) SetEnvironmentId(v string) *DeleteEnvironmentMembershipInput {
1420	s.EnvironmentId = &v
1421	return s
1422}
1423
1424// SetUserArn sets the UserArn field's value.
1425func (s *DeleteEnvironmentMembershipInput) SetUserArn(v string) *DeleteEnvironmentMembershipInput {
1426	s.UserArn = &v
1427	return s
1428}
1429
1430type DeleteEnvironmentMembershipOutput struct {
1431	_ struct{} `type:"structure"`
1432}
1433
1434// String returns the string representation
1435func (s DeleteEnvironmentMembershipOutput) String() string {
1436	return awsutil.Prettify(s)
1437}
1438
1439// GoString returns the string representation
1440func (s DeleteEnvironmentMembershipOutput) GoString() string {
1441	return s.String()
1442}
1443
1444type DeleteEnvironmentOutput struct {
1445	_ struct{} `type:"structure"`
1446}
1447
1448// String returns the string representation
1449func (s DeleteEnvironmentOutput) String() string {
1450	return awsutil.Prettify(s)
1451}
1452
1453// GoString returns the string representation
1454func (s DeleteEnvironmentOutput) GoString() string {
1455	return s.String()
1456}
1457
1458type DescribeEnvironmentMembershipsInput struct {
1459	_ struct{} `type:"structure"`
1460
1461	// The ID of the environment to get environment member information about.
1462	EnvironmentId *string `locationName:"environmentId" type:"string"`
1463
1464	// The maximum number of environment members to get information about.
1465	MaxResults *int64 `locationName:"maxResults" type:"integer"`
1466
1467	// During a previous call, if there are more than 25 items in the list, only
1468	// the first 25 items are returned, along with a unique string called a next
1469	// token. To get the next batch of items in the list, call this operation again,
1470	// adding the next token to the call. To get all of the items in the list, keep
1471	// calling this operation with each subsequent next token that is returned,
1472	// until no more next tokens are returned.
1473	NextToken *string `locationName:"nextToken" type:"string"`
1474
1475	// The type of environment member permissions to get information about. Available
1476	// values include:
1477	//
1478	//    * owner: Owns the environment.
1479	//
1480	//    * read-only: Has read-only access to the environment.
1481	//
1482	//    * read-write: Has read-write access to the environment.
1483	//
1484	// If no value is specified, information about all environment members are returned.
1485	Permissions []*string `locationName:"permissions" type:"list"`
1486
1487	// The Amazon Resource Name (ARN) of an individual environment member to get
1488	// information about. If no value is specified, information about all environment
1489	// members are returned.
1490	UserArn *string `locationName:"userArn" type:"string"`
1491}
1492
1493// String returns the string representation
1494func (s DescribeEnvironmentMembershipsInput) String() string {
1495	return awsutil.Prettify(s)
1496}
1497
1498// GoString returns the string representation
1499func (s DescribeEnvironmentMembershipsInput) GoString() string {
1500	return s.String()
1501}
1502
1503// SetEnvironmentId sets the EnvironmentId field's value.
1504func (s *DescribeEnvironmentMembershipsInput) SetEnvironmentId(v string) *DescribeEnvironmentMembershipsInput {
1505	s.EnvironmentId = &v
1506	return s
1507}
1508
1509// SetMaxResults sets the MaxResults field's value.
1510func (s *DescribeEnvironmentMembershipsInput) SetMaxResults(v int64) *DescribeEnvironmentMembershipsInput {
1511	s.MaxResults = &v
1512	return s
1513}
1514
1515// SetNextToken sets the NextToken field's value.
1516func (s *DescribeEnvironmentMembershipsInput) SetNextToken(v string) *DescribeEnvironmentMembershipsInput {
1517	s.NextToken = &v
1518	return s
1519}
1520
1521// SetPermissions sets the Permissions field's value.
1522func (s *DescribeEnvironmentMembershipsInput) SetPermissions(v []*string) *DescribeEnvironmentMembershipsInput {
1523	s.Permissions = v
1524	return s
1525}
1526
1527// SetUserArn sets the UserArn field's value.
1528func (s *DescribeEnvironmentMembershipsInput) SetUserArn(v string) *DescribeEnvironmentMembershipsInput {
1529	s.UserArn = &v
1530	return s
1531}
1532
1533type DescribeEnvironmentMembershipsOutput struct {
1534	_ struct{} `type:"structure"`
1535
1536	// Information about the environment members for the environment.
1537	Memberships []*EnvironmentMember `locationName:"memberships" type:"list"`
1538
1539	// If there are more than 25 items in the list, only the first 25 items are
1540	// returned, along with a unique string called a next token. To get the next
1541	// batch of items in the list, call this operation again, adding the next token
1542	// to the call.
1543	NextToken *string `locationName:"nextToken" type:"string"`
1544}
1545
1546// String returns the string representation
1547func (s DescribeEnvironmentMembershipsOutput) String() string {
1548	return awsutil.Prettify(s)
1549}
1550
1551// GoString returns the string representation
1552func (s DescribeEnvironmentMembershipsOutput) GoString() string {
1553	return s.String()
1554}
1555
1556// SetMemberships sets the Memberships field's value.
1557func (s *DescribeEnvironmentMembershipsOutput) SetMemberships(v []*EnvironmentMember) *DescribeEnvironmentMembershipsOutput {
1558	s.Memberships = v
1559	return s
1560}
1561
1562// SetNextToken sets the NextToken field's value.
1563func (s *DescribeEnvironmentMembershipsOutput) SetNextToken(v string) *DescribeEnvironmentMembershipsOutput {
1564	s.NextToken = &v
1565	return s
1566}
1567
1568type DescribeEnvironmentStatusInput struct {
1569	_ struct{} `type:"structure"`
1570
1571	// The ID of the environment to get status information about.
1572	//
1573	// EnvironmentId is a required field
1574	EnvironmentId *string `locationName:"environmentId" type:"string" required:"true"`
1575}
1576
1577// String returns the string representation
1578func (s DescribeEnvironmentStatusInput) String() string {
1579	return awsutil.Prettify(s)
1580}
1581
1582// GoString returns the string representation
1583func (s DescribeEnvironmentStatusInput) GoString() string {
1584	return s.String()
1585}
1586
1587// Validate inspects the fields of the type to determine if they are valid.
1588func (s *DescribeEnvironmentStatusInput) Validate() error {
1589	invalidParams := request.ErrInvalidParams{Context: "DescribeEnvironmentStatusInput"}
1590	if s.EnvironmentId == nil {
1591		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
1592	}
1593
1594	if invalidParams.Len() > 0 {
1595		return invalidParams
1596	}
1597	return nil
1598}
1599
1600// SetEnvironmentId sets the EnvironmentId field's value.
1601func (s *DescribeEnvironmentStatusInput) SetEnvironmentId(v string) *DescribeEnvironmentStatusInput {
1602	s.EnvironmentId = &v
1603	return s
1604}
1605
1606type DescribeEnvironmentStatusOutput struct {
1607	_ struct{} `type:"structure"`
1608
1609	// Any informational message about the status of the environment.
1610	Message *string `locationName:"message" type:"string"`
1611
1612	// The status of the environment. Available values include:
1613	//
1614	//    * connecting: The environment is connecting.
1615	//
1616	//    * creating: The environment is being created.
1617	//
1618	//    * deleting: The environment is being deleted.
1619	//
1620	//    * error: The environment is in an error state.
1621	//
1622	//    * ready: The environment is ready.
1623	//
1624	//    * stopped: The environment is stopped.
1625	//
1626	//    * stopping: The environment is stopping.
1627	Status *string `locationName:"status" type:"string" enum:"EnvironmentStatus"`
1628}
1629
1630// String returns the string representation
1631func (s DescribeEnvironmentStatusOutput) String() string {
1632	return awsutil.Prettify(s)
1633}
1634
1635// GoString returns the string representation
1636func (s DescribeEnvironmentStatusOutput) GoString() string {
1637	return s.String()
1638}
1639
1640// SetMessage sets the Message field's value.
1641func (s *DescribeEnvironmentStatusOutput) SetMessage(v string) *DescribeEnvironmentStatusOutput {
1642	s.Message = &v
1643	return s
1644}
1645
1646// SetStatus sets the Status field's value.
1647func (s *DescribeEnvironmentStatusOutput) SetStatus(v string) *DescribeEnvironmentStatusOutput {
1648	s.Status = &v
1649	return s
1650}
1651
1652type DescribeEnvironmentsInput struct {
1653	_ struct{} `type:"structure"`
1654
1655	// The IDs of individual environments to get information about.
1656	//
1657	// EnvironmentIds is a required field
1658	EnvironmentIds []*string `locationName:"environmentIds" min:"1" type:"list" required:"true"`
1659}
1660
1661// String returns the string representation
1662func (s DescribeEnvironmentsInput) String() string {
1663	return awsutil.Prettify(s)
1664}
1665
1666// GoString returns the string representation
1667func (s DescribeEnvironmentsInput) GoString() string {
1668	return s.String()
1669}
1670
1671// Validate inspects the fields of the type to determine if they are valid.
1672func (s *DescribeEnvironmentsInput) Validate() error {
1673	invalidParams := request.ErrInvalidParams{Context: "DescribeEnvironmentsInput"}
1674	if s.EnvironmentIds == nil {
1675		invalidParams.Add(request.NewErrParamRequired("EnvironmentIds"))
1676	}
1677	if s.EnvironmentIds != nil && len(s.EnvironmentIds) < 1 {
1678		invalidParams.Add(request.NewErrParamMinLen("EnvironmentIds", 1))
1679	}
1680
1681	if invalidParams.Len() > 0 {
1682		return invalidParams
1683	}
1684	return nil
1685}
1686
1687// SetEnvironmentIds sets the EnvironmentIds field's value.
1688func (s *DescribeEnvironmentsInput) SetEnvironmentIds(v []*string) *DescribeEnvironmentsInput {
1689	s.EnvironmentIds = v
1690	return s
1691}
1692
1693type DescribeEnvironmentsOutput struct {
1694	_ struct{} `type:"structure"`
1695
1696	// Information about the environments that are returned.
1697	Environments []*Environment `locationName:"environments" type:"list"`
1698}
1699
1700// String returns the string representation
1701func (s DescribeEnvironmentsOutput) String() string {
1702	return awsutil.Prettify(s)
1703}
1704
1705// GoString returns the string representation
1706func (s DescribeEnvironmentsOutput) GoString() string {
1707	return s.String()
1708}
1709
1710// SetEnvironments sets the Environments field's value.
1711func (s *DescribeEnvironmentsOutput) SetEnvironments(v []*Environment) *DescribeEnvironmentsOutput {
1712	s.Environments = v
1713	return s
1714}
1715
1716// Information about an AWS Cloud9 development environment.
1717type Environment struct {
1718	_ struct{} `type:"structure"`
1719
1720	// The Amazon Resource Name (ARN) of the environment.
1721	Arn *string `locationName:"arn" type:"string"`
1722
1723	// The description for the environment.
1724	Description *string `locationName:"description" type:"string" sensitive:"true"`
1725
1726	// The ID of the environment.
1727	Id *string `locationName:"id" type:"string"`
1728
1729	// The state of the environment in its creation or deletion lifecycle.
1730	Lifecycle *EnvironmentLifecycle `locationName:"lifecycle" type:"structure"`
1731
1732	// The name of the environment.
1733	Name *string `locationName:"name" min:"1" type:"string"`
1734
1735	// The Amazon Resource Name (ARN) of the environment owner.
1736	OwnerArn *string `locationName:"ownerArn" type:"string"`
1737
1738	// The type of environment. Valid values include the following:
1739	//
1740	//    * ec2: An Amazon Elastic Compute Cloud (Amazon EC2) instance connects
1741	//    to the environment.
1742	//
1743	//    * ssh: Your own server connects to the environment.
1744	Type *string `locationName:"type" type:"string" enum:"EnvironmentType"`
1745}
1746
1747// String returns the string representation
1748func (s Environment) String() string {
1749	return awsutil.Prettify(s)
1750}
1751
1752// GoString returns the string representation
1753func (s Environment) GoString() string {
1754	return s.String()
1755}
1756
1757// SetArn sets the Arn field's value.
1758func (s *Environment) SetArn(v string) *Environment {
1759	s.Arn = &v
1760	return s
1761}
1762
1763// SetDescription sets the Description field's value.
1764func (s *Environment) SetDescription(v string) *Environment {
1765	s.Description = &v
1766	return s
1767}
1768
1769// SetId sets the Id field's value.
1770func (s *Environment) SetId(v string) *Environment {
1771	s.Id = &v
1772	return s
1773}
1774
1775// SetLifecycle sets the Lifecycle field's value.
1776func (s *Environment) SetLifecycle(v *EnvironmentLifecycle) *Environment {
1777	s.Lifecycle = v
1778	return s
1779}
1780
1781// SetName sets the Name field's value.
1782func (s *Environment) SetName(v string) *Environment {
1783	s.Name = &v
1784	return s
1785}
1786
1787// SetOwnerArn sets the OwnerArn field's value.
1788func (s *Environment) SetOwnerArn(v string) *Environment {
1789	s.OwnerArn = &v
1790	return s
1791}
1792
1793// SetType sets the Type field's value.
1794func (s *Environment) SetType(v string) *Environment {
1795	s.Type = &v
1796	return s
1797}
1798
1799// Information about the current creation or deletion lifecycle state of an
1800// AWS Cloud9 development environment.
1801type EnvironmentLifecycle struct {
1802	_ struct{} `type:"structure"`
1803
1804	// If the environment failed to delete, the Amazon Resource Name (ARN) of the
1805	// related AWS resource.
1806	FailureResource *string `locationName:"failureResource" type:"string"`
1807
1808	// Any informational message about the lifecycle state of the environment.
1809	Reason *string `locationName:"reason" type:"string"`
1810
1811	// The current creation or deletion lifecycle state of the environment.
1812	//
1813	//    * CREATED: The environment was successfully created.
1814	//
1815	//    * DELETE_FAILED: The environment failed to delete.
1816	//
1817	//    * DELETING: The environment is in the process of being deleted.
1818	Status *string `locationName:"status" type:"string" enum:"EnvironmentLifecycleStatus"`
1819}
1820
1821// String returns the string representation
1822func (s EnvironmentLifecycle) String() string {
1823	return awsutil.Prettify(s)
1824}
1825
1826// GoString returns the string representation
1827func (s EnvironmentLifecycle) GoString() string {
1828	return s.String()
1829}
1830
1831// SetFailureResource sets the FailureResource field's value.
1832func (s *EnvironmentLifecycle) SetFailureResource(v string) *EnvironmentLifecycle {
1833	s.FailureResource = &v
1834	return s
1835}
1836
1837// SetReason sets the Reason field's value.
1838func (s *EnvironmentLifecycle) SetReason(v string) *EnvironmentLifecycle {
1839	s.Reason = &v
1840	return s
1841}
1842
1843// SetStatus sets the Status field's value.
1844func (s *EnvironmentLifecycle) SetStatus(v string) *EnvironmentLifecycle {
1845	s.Status = &v
1846	return s
1847}
1848
1849// Information about an environment member for an AWS Cloud9 development environment.
1850type EnvironmentMember struct {
1851	_ struct{} `type:"structure"`
1852
1853	// The ID of the environment for the environment member.
1854	EnvironmentId *string `locationName:"environmentId" type:"string"`
1855
1856	// The time, expressed in epoch time format, when the environment member last
1857	// opened the environment.
1858	LastAccess *time.Time `locationName:"lastAccess" type:"timestamp"`
1859
1860	// The type of environment member permissions associated with this environment
1861	// member. Available values include:
1862	//
1863	//    * owner: Owns the environment.
1864	//
1865	//    * read-only: Has read-only access to the environment.
1866	//
1867	//    * read-write: Has read-write access to the environment.
1868	Permissions *string `locationName:"permissions" type:"string" enum:"Permissions"`
1869
1870	// The Amazon Resource Name (ARN) of the environment member.
1871	UserArn *string `locationName:"userArn" type:"string"`
1872
1873	// The user ID in AWS Identity and Access Management (AWS IAM) of the environment
1874	// member.
1875	UserId *string `locationName:"userId" type:"string"`
1876}
1877
1878// String returns the string representation
1879func (s EnvironmentMember) String() string {
1880	return awsutil.Prettify(s)
1881}
1882
1883// GoString returns the string representation
1884func (s EnvironmentMember) GoString() string {
1885	return s.String()
1886}
1887
1888// SetEnvironmentId sets the EnvironmentId field's value.
1889func (s *EnvironmentMember) SetEnvironmentId(v string) *EnvironmentMember {
1890	s.EnvironmentId = &v
1891	return s
1892}
1893
1894// SetLastAccess sets the LastAccess field's value.
1895func (s *EnvironmentMember) SetLastAccess(v time.Time) *EnvironmentMember {
1896	s.LastAccess = &v
1897	return s
1898}
1899
1900// SetPermissions sets the Permissions field's value.
1901func (s *EnvironmentMember) SetPermissions(v string) *EnvironmentMember {
1902	s.Permissions = &v
1903	return s
1904}
1905
1906// SetUserArn sets the UserArn field's value.
1907func (s *EnvironmentMember) SetUserArn(v string) *EnvironmentMember {
1908	s.UserArn = &v
1909	return s
1910}
1911
1912// SetUserId sets the UserId field's value.
1913func (s *EnvironmentMember) SetUserId(v string) *EnvironmentMember {
1914	s.UserId = &v
1915	return s
1916}
1917
1918type ListEnvironmentsInput struct {
1919	_ struct{} `type:"structure"`
1920
1921	// The maximum number of environments to get identifiers for.
1922	MaxResults *int64 `locationName:"maxResults" type:"integer"`
1923
1924	// During a previous call, if there are more than 25 items in the list, only
1925	// the first 25 items are returned, along with a unique string called a next
1926	// token. To get the next batch of items in the list, call this operation again,
1927	// adding the next token to the call. To get all of the items in the list, keep
1928	// calling this operation with each subsequent next token that is returned,
1929	// until no more next tokens are returned.
1930	NextToken *string `locationName:"nextToken" type:"string"`
1931}
1932
1933// String returns the string representation
1934func (s ListEnvironmentsInput) String() string {
1935	return awsutil.Prettify(s)
1936}
1937
1938// GoString returns the string representation
1939func (s ListEnvironmentsInput) GoString() string {
1940	return s.String()
1941}
1942
1943// SetMaxResults sets the MaxResults field's value.
1944func (s *ListEnvironmentsInput) SetMaxResults(v int64) *ListEnvironmentsInput {
1945	s.MaxResults = &v
1946	return s
1947}
1948
1949// SetNextToken sets the NextToken field's value.
1950func (s *ListEnvironmentsInput) SetNextToken(v string) *ListEnvironmentsInput {
1951	s.NextToken = &v
1952	return s
1953}
1954
1955type ListEnvironmentsOutput struct {
1956	_ struct{} `type:"structure"`
1957
1958	// The list of environment identifiers.
1959	EnvironmentIds []*string `locationName:"environmentIds" type:"list"`
1960
1961	// If there are more than 25 items in the list, only the first 25 items are
1962	// returned, along with a unique string called a next token. To get the next
1963	// batch of items in the list, call this operation again, adding the next token
1964	// to the call.
1965	NextToken *string `locationName:"nextToken" type:"string"`
1966}
1967
1968// String returns the string representation
1969func (s ListEnvironmentsOutput) String() string {
1970	return awsutil.Prettify(s)
1971}
1972
1973// GoString returns the string representation
1974func (s ListEnvironmentsOutput) GoString() string {
1975	return s.String()
1976}
1977
1978// SetEnvironmentIds sets the EnvironmentIds field's value.
1979func (s *ListEnvironmentsOutput) SetEnvironmentIds(v []*string) *ListEnvironmentsOutput {
1980	s.EnvironmentIds = v
1981	return s
1982}
1983
1984// SetNextToken sets the NextToken field's value.
1985func (s *ListEnvironmentsOutput) SetNextToken(v string) *ListEnvironmentsOutput {
1986	s.NextToken = &v
1987	return s
1988}
1989
1990type UpdateEnvironmentInput struct {
1991	_ struct{} `type:"structure"`
1992
1993	// Any new or replacement description for the environment.
1994	Description *string `locationName:"description" type:"string" sensitive:"true"`
1995
1996	// The ID of the environment to change settings.
1997	//
1998	// EnvironmentId is a required field
1999	EnvironmentId *string `locationName:"environmentId" type:"string" required:"true"`
2000
2001	// A replacement name for the environment.
2002	Name *string `locationName:"name" min:"1" type:"string"`
2003}
2004
2005// String returns the string representation
2006func (s UpdateEnvironmentInput) String() string {
2007	return awsutil.Prettify(s)
2008}
2009
2010// GoString returns the string representation
2011func (s UpdateEnvironmentInput) GoString() string {
2012	return s.String()
2013}
2014
2015// Validate inspects the fields of the type to determine if they are valid.
2016func (s *UpdateEnvironmentInput) Validate() error {
2017	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentInput"}
2018	if s.EnvironmentId == nil {
2019		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
2020	}
2021	if s.Name != nil && len(*s.Name) < 1 {
2022		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
2023	}
2024
2025	if invalidParams.Len() > 0 {
2026		return invalidParams
2027	}
2028	return nil
2029}
2030
2031// SetDescription sets the Description field's value.
2032func (s *UpdateEnvironmentInput) SetDescription(v string) *UpdateEnvironmentInput {
2033	s.Description = &v
2034	return s
2035}
2036
2037// SetEnvironmentId sets the EnvironmentId field's value.
2038func (s *UpdateEnvironmentInput) SetEnvironmentId(v string) *UpdateEnvironmentInput {
2039	s.EnvironmentId = &v
2040	return s
2041}
2042
2043// SetName sets the Name field's value.
2044func (s *UpdateEnvironmentInput) SetName(v string) *UpdateEnvironmentInput {
2045	s.Name = &v
2046	return s
2047}
2048
2049type UpdateEnvironmentMembershipInput struct {
2050	_ struct{} `type:"structure"`
2051
2052	// The ID of the environment for the environment member whose settings you want
2053	// to change.
2054	//
2055	// EnvironmentId is a required field
2056	EnvironmentId *string `locationName:"environmentId" type:"string" required:"true"`
2057
2058	// The replacement type of environment member permissions you want to associate
2059	// with this environment member. Available values include:
2060	//
2061	//    * read-only: Has read-only access to the environment.
2062	//
2063	//    * read-write: Has read-write access to the environment.
2064	//
2065	// Permissions is a required field
2066	Permissions *string `locationName:"permissions" type:"string" required:"true" enum:"MemberPermissions"`
2067
2068	// The Amazon Resource Name (ARN) of the environment member whose settings you
2069	// want to change.
2070	//
2071	// UserArn is a required field
2072	UserArn *string `locationName:"userArn" type:"string" required:"true"`
2073}
2074
2075// String returns the string representation
2076func (s UpdateEnvironmentMembershipInput) String() string {
2077	return awsutil.Prettify(s)
2078}
2079
2080// GoString returns the string representation
2081func (s UpdateEnvironmentMembershipInput) GoString() string {
2082	return s.String()
2083}
2084
2085// Validate inspects the fields of the type to determine if they are valid.
2086func (s *UpdateEnvironmentMembershipInput) Validate() error {
2087	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentMembershipInput"}
2088	if s.EnvironmentId == nil {
2089		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
2090	}
2091	if s.Permissions == nil {
2092		invalidParams.Add(request.NewErrParamRequired("Permissions"))
2093	}
2094	if s.UserArn == nil {
2095		invalidParams.Add(request.NewErrParamRequired("UserArn"))
2096	}
2097
2098	if invalidParams.Len() > 0 {
2099		return invalidParams
2100	}
2101	return nil
2102}
2103
2104// SetEnvironmentId sets the EnvironmentId field's value.
2105func (s *UpdateEnvironmentMembershipInput) SetEnvironmentId(v string) *UpdateEnvironmentMembershipInput {
2106	s.EnvironmentId = &v
2107	return s
2108}
2109
2110// SetPermissions sets the Permissions field's value.
2111func (s *UpdateEnvironmentMembershipInput) SetPermissions(v string) *UpdateEnvironmentMembershipInput {
2112	s.Permissions = &v
2113	return s
2114}
2115
2116// SetUserArn sets the UserArn field's value.
2117func (s *UpdateEnvironmentMembershipInput) SetUserArn(v string) *UpdateEnvironmentMembershipInput {
2118	s.UserArn = &v
2119	return s
2120}
2121
2122type UpdateEnvironmentMembershipOutput struct {
2123	_ struct{} `type:"structure"`
2124
2125	// Information about the environment member whose settings were changed.
2126	Membership *EnvironmentMember `locationName:"membership" type:"structure"`
2127}
2128
2129// String returns the string representation
2130func (s UpdateEnvironmentMembershipOutput) String() string {
2131	return awsutil.Prettify(s)
2132}
2133
2134// GoString returns the string representation
2135func (s UpdateEnvironmentMembershipOutput) GoString() string {
2136	return s.String()
2137}
2138
2139// SetMembership sets the Membership field's value.
2140func (s *UpdateEnvironmentMembershipOutput) SetMembership(v *EnvironmentMember) *UpdateEnvironmentMembershipOutput {
2141	s.Membership = v
2142	return s
2143}
2144
2145type UpdateEnvironmentOutput struct {
2146	_ struct{} `type:"structure"`
2147}
2148
2149// String returns the string representation
2150func (s UpdateEnvironmentOutput) String() string {
2151	return awsutil.Prettify(s)
2152}
2153
2154// GoString returns the string representation
2155func (s UpdateEnvironmentOutput) GoString() string {
2156	return s.String()
2157}
2158
2159const (
2160	// EnvironmentLifecycleStatusCreated is a EnvironmentLifecycleStatus enum value
2161	EnvironmentLifecycleStatusCreated = "CREATED"
2162
2163	// EnvironmentLifecycleStatusDeleting is a EnvironmentLifecycleStatus enum value
2164	EnvironmentLifecycleStatusDeleting = "DELETING"
2165
2166	// EnvironmentLifecycleStatusDeleteFailed is a EnvironmentLifecycleStatus enum value
2167	EnvironmentLifecycleStatusDeleteFailed = "DELETE_FAILED"
2168)
2169
2170const (
2171	// EnvironmentStatusError is a EnvironmentStatus enum value
2172	EnvironmentStatusError = "error"
2173
2174	// EnvironmentStatusCreating is a EnvironmentStatus enum value
2175	EnvironmentStatusCreating = "creating"
2176
2177	// EnvironmentStatusConnecting is a EnvironmentStatus enum value
2178	EnvironmentStatusConnecting = "connecting"
2179
2180	// EnvironmentStatusReady is a EnvironmentStatus enum value
2181	EnvironmentStatusReady = "ready"
2182
2183	// EnvironmentStatusStopping is a EnvironmentStatus enum value
2184	EnvironmentStatusStopping = "stopping"
2185
2186	// EnvironmentStatusStopped is a EnvironmentStatus enum value
2187	EnvironmentStatusStopped = "stopped"
2188
2189	// EnvironmentStatusDeleting is a EnvironmentStatus enum value
2190	EnvironmentStatusDeleting = "deleting"
2191)
2192
2193const (
2194	// EnvironmentTypeSsh is a EnvironmentType enum value
2195	EnvironmentTypeSsh = "ssh"
2196
2197	// EnvironmentTypeEc2 is a EnvironmentType enum value
2198	EnvironmentTypeEc2 = "ec2"
2199)
2200
2201const (
2202	// MemberPermissionsReadWrite is a MemberPermissions enum value
2203	MemberPermissionsReadWrite = "read-write"
2204
2205	// MemberPermissionsReadOnly is a MemberPermissions enum value
2206	MemberPermissionsReadOnly = "read-only"
2207)
2208
2209const (
2210	// PermissionsOwner is a Permissions enum value
2211	PermissionsOwner = "owner"
2212
2213	// PermissionsReadWrite is a Permissions enum value
2214	PermissionsReadWrite = "read-write"
2215
2216	// PermissionsReadOnly is a Permissions enum value
2217	PermissionsReadOnly = "read-only"
2218)
2219