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