1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package codestar
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opAssociateTeamMember = "AssociateTeamMember"
17
18// AssociateTeamMemberRequest generates a "aws/request.Request" representing the
19// client's request for the AssociateTeamMember operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AssociateTeamMember for more information on using the AssociateTeamMember
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AssociateTeamMemberRequest method.
34//    req, resp := client.AssociateTeamMemberRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/AssociateTeamMember
42func (c *CodeStar) AssociateTeamMemberRequest(input *AssociateTeamMemberInput) (req *request.Request, output *AssociateTeamMemberOutput) {
43	op := &request.Operation{
44		Name:       opAssociateTeamMember,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AssociateTeamMemberInput{}
51	}
52
53	output = &AssociateTeamMemberOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// AssociateTeamMember API operation for AWS CodeStar.
59//
60// Adds an IAM user to the team for an AWS CodeStar project.
61//
62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
63// with awserr.Error's Code and Message methods to get detailed information about
64// the error.
65//
66// See the AWS API reference guide for AWS CodeStar's
67// API operation AssociateTeamMember for usage and error information.
68//
69// Returned Error Codes:
70//   * ErrCodeLimitExceededException "LimitExceededException"
71//   A resource limit has been exceeded.
72//
73//   * ErrCodeProjectNotFoundException "ProjectNotFoundException"
74//   The specified AWS CodeStar project was not found.
75//
76//   * ErrCodeTeamMemberAlreadyAssociatedException "TeamMemberAlreadyAssociatedException"
77//   The team member is already associated with a role in this project.
78//
79//   * ErrCodeValidationException "ValidationException"
80//   The specified input is either not valid, or it could not be validated.
81//
82//   * ErrCodeInvalidServiceRoleException "InvalidServiceRoleException"
83//   The service role is not valid.
84//
85//   * ErrCodeProjectConfigurationException "ProjectConfigurationException"
86//   Project configuration information is required but not specified.
87//
88//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
89//   Another modification is being made. That modification must complete before
90//   you can make your change.
91//
92// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/AssociateTeamMember
93func (c *CodeStar) AssociateTeamMember(input *AssociateTeamMemberInput) (*AssociateTeamMemberOutput, error) {
94	req, out := c.AssociateTeamMemberRequest(input)
95	return out, req.Send()
96}
97
98// AssociateTeamMemberWithContext is the same as AssociateTeamMember with the addition of
99// the ability to pass a context and additional request options.
100//
101// See AssociateTeamMember 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 *CodeStar) AssociateTeamMemberWithContext(ctx aws.Context, input *AssociateTeamMemberInput, opts ...request.Option) (*AssociateTeamMemberOutput, error) {
108	req, out := c.AssociateTeamMemberRequest(input)
109	req.SetContext(ctx)
110	req.ApplyOptions(opts...)
111	return out, req.Send()
112}
113
114const opCreateProject = "CreateProject"
115
116// CreateProjectRequest generates a "aws/request.Request" representing the
117// client's request for the CreateProject 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 CreateProject for more information on using the CreateProject
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 CreateProjectRequest method.
132//    req, resp := client.CreateProjectRequest(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/codestar-2017-04-19/CreateProject
140func (c *CodeStar) CreateProjectRequest(input *CreateProjectInput) (req *request.Request, output *CreateProjectOutput) {
141	op := &request.Operation{
142		Name:       opCreateProject,
143		HTTPMethod: "POST",
144		HTTPPath:   "/",
145	}
146
147	if input == nil {
148		input = &CreateProjectInput{}
149	}
150
151	output = &CreateProjectOutput{}
152	req = c.newRequest(op, input, output)
153	return
154}
155
156// CreateProject API operation for AWS CodeStar.
157//
158// Creates a project, including project resources. This action creates a project
159// based on a submitted project request. A set of source code files and a toolchain
160// template file can be included with the project request. If these are not
161// provided, an empty project is created.
162//
163// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
164// with awserr.Error's Code and Message methods to get detailed information about
165// the error.
166//
167// See the AWS API reference guide for AWS CodeStar's
168// API operation CreateProject for usage and error information.
169//
170// Returned Error Codes:
171//   * ErrCodeProjectAlreadyExistsException "ProjectAlreadyExistsException"
172//   An AWS CodeStar project with the same ID already exists in this region for
173//   the AWS account. AWS CodeStar project IDs must be unique within a region
174//   for the AWS account.
175//
176//   * ErrCodeLimitExceededException "LimitExceededException"
177//   A resource limit has been exceeded.
178//
179//   * ErrCodeValidationException "ValidationException"
180//   The specified input is either not valid, or it could not be validated.
181//
182//   * ErrCodeProjectCreationFailedException "ProjectCreationFailedException"
183//   The project creation request was valid, but a nonspecific exception or error
184//   occurred during project creation. The project could not be created in AWS
185//   CodeStar.
186//
187//   * ErrCodeInvalidServiceRoleException "InvalidServiceRoleException"
188//   The service role is not valid.
189//
190//   * ErrCodeProjectConfigurationException "ProjectConfigurationException"
191//   Project configuration information is required but not specified.
192//
193//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
194//   Another modification is being made. That modification must complete before
195//   you can make your change.
196//
197// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/CreateProject
198func (c *CodeStar) CreateProject(input *CreateProjectInput) (*CreateProjectOutput, error) {
199	req, out := c.CreateProjectRequest(input)
200	return out, req.Send()
201}
202
203// CreateProjectWithContext is the same as CreateProject with the addition of
204// the ability to pass a context and additional request options.
205//
206// See CreateProject for details on how to use this API operation.
207//
208// The context must be non-nil and will be used for request cancellation. If
209// the context is nil a panic will occur. In the future the SDK may create
210// sub-contexts for http.Requests. See https://golang.org/pkg/context/
211// for more information on using Contexts.
212func (c *CodeStar) CreateProjectWithContext(ctx aws.Context, input *CreateProjectInput, opts ...request.Option) (*CreateProjectOutput, error) {
213	req, out := c.CreateProjectRequest(input)
214	req.SetContext(ctx)
215	req.ApplyOptions(opts...)
216	return out, req.Send()
217}
218
219const opCreateUserProfile = "CreateUserProfile"
220
221// CreateUserProfileRequest generates a "aws/request.Request" representing the
222// client's request for the CreateUserProfile operation. The "output" return
223// value will be populated with the request's response once the request completes
224// successfully.
225//
226// Use "Send" method on the returned Request to send the API call to the service.
227// the "output" return value is not valid until after Send returns without error.
228//
229// See CreateUserProfile for more information on using the CreateUserProfile
230// API call, and error handling.
231//
232// This method is useful when you want to inject custom logic or configuration
233// into the SDK's request lifecycle. Such as custom headers, or retry logic.
234//
235//
236//    // Example sending a request using the CreateUserProfileRequest method.
237//    req, resp := client.CreateUserProfileRequest(params)
238//
239//    err := req.Send()
240//    if err == nil { // resp is now filled
241//        fmt.Println(resp)
242//    }
243//
244// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/CreateUserProfile
245func (c *CodeStar) CreateUserProfileRequest(input *CreateUserProfileInput) (req *request.Request, output *CreateUserProfileOutput) {
246	op := &request.Operation{
247		Name:       opCreateUserProfile,
248		HTTPMethod: "POST",
249		HTTPPath:   "/",
250	}
251
252	if input == nil {
253		input = &CreateUserProfileInput{}
254	}
255
256	output = &CreateUserProfileOutput{}
257	req = c.newRequest(op, input, output)
258	return
259}
260
261// CreateUserProfile API operation for AWS CodeStar.
262//
263// Creates a profile for a user that includes user preferences, such as the
264// display name and email address assocciated with the user, in AWS CodeStar.
265// The user profile is not project-specific. Information in the user profile
266// is displayed wherever the user's information appears to other users in AWS
267// CodeStar.
268//
269// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
270// with awserr.Error's Code and Message methods to get detailed information about
271// the error.
272//
273// See the AWS API reference guide for AWS CodeStar's
274// API operation CreateUserProfile for usage and error information.
275//
276// Returned Error Codes:
277//   * ErrCodeUserProfileAlreadyExistsException "UserProfileAlreadyExistsException"
278//   A user profile with that name already exists in this region for the AWS account.
279//   AWS CodeStar user profile names must be unique within a region for the AWS
280//   account.
281//
282//   * ErrCodeValidationException "ValidationException"
283//   The specified input is either not valid, or it could not be validated.
284//
285// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/CreateUserProfile
286func (c *CodeStar) CreateUserProfile(input *CreateUserProfileInput) (*CreateUserProfileOutput, error) {
287	req, out := c.CreateUserProfileRequest(input)
288	return out, req.Send()
289}
290
291// CreateUserProfileWithContext is the same as CreateUserProfile with the addition of
292// the ability to pass a context and additional request options.
293//
294// See CreateUserProfile for details on how to use this API operation.
295//
296// The context must be non-nil and will be used for request cancellation. If
297// the context is nil a panic will occur. In the future the SDK may create
298// sub-contexts for http.Requests. See https://golang.org/pkg/context/
299// for more information on using Contexts.
300func (c *CodeStar) CreateUserProfileWithContext(ctx aws.Context, input *CreateUserProfileInput, opts ...request.Option) (*CreateUserProfileOutput, error) {
301	req, out := c.CreateUserProfileRequest(input)
302	req.SetContext(ctx)
303	req.ApplyOptions(opts...)
304	return out, req.Send()
305}
306
307const opDeleteProject = "DeleteProject"
308
309// DeleteProjectRequest generates a "aws/request.Request" representing the
310// client's request for the DeleteProject operation. The "output" return
311// value will be populated with the request's response once the request completes
312// successfully.
313//
314// Use "Send" method on the returned Request to send the API call to the service.
315// the "output" return value is not valid until after Send returns without error.
316//
317// See DeleteProject for more information on using the DeleteProject
318// API call, and error handling.
319//
320// This method is useful when you want to inject custom logic or configuration
321// into the SDK's request lifecycle. Such as custom headers, or retry logic.
322//
323//
324//    // Example sending a request using the DeleteProjectRequest method.
325//    req, resp := client.DeleteProjectRequest(params)
326//
327//    err := req.Send()
328//    if err == nil { // resp is now filled
329//        fmt.Println(resp)
330//    }
331//
332// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/DeleteProject
333func (c *CodeStar) DeleteProjectRequest(input *DeleteProjectInput) (req *request.Request, output *DeleteProjectOutput) {
334	op := &request.Operation{
335		Name:       opDeleteProject,
336		HTTPMethod: "POST",
337		HTTPPath:   "/",
338	}
339
340	if input == nil {
341		input = &DeleteProjectInput{}
342	}
343
344	output = &DeleteProjectOutput{}
345	req = c.newRequest(op, input, output)
346	return
347}
348
349// DeleteProject API operation for AWS CodeStar.
350//
351// Deletes a project, including project resources. Does not delete users associated
352// with the project, but does delete the IAM roles that allowed access to the
353// project.
354//
355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
356// with awserr.Error's Code and Message methods to get detailed information about
357// the error.
358//
359// See the AWS API reference guide for AWS CodeStar's
360// API operation DeleteProject for usage and error information.
361//
362// Returned Error Codes:
363//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
364//   Another modification is being made. That modification must complete before
365//   you can make your change.
366//
367//   * ErrCodeValidationException "ValidationException"
368//   The specified input is either not valid, or it could not be validated.
369//
370//   * ErrCodeInvalidServiceRoleException "InvalidServiceRoleException"
371//   The service role is not valid.
372//
373// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/DeleteProject
374func (c *CodeStar) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) {
375	req, out := c.DeleteProjectRequest(input)
376	return out, req.Send()
377}
378
379// DeleteProjectWithContext is the same as DeleteProject with the addition of
380// the ability to pass a context and additional request options.
381//
382// See DeleteProject for details on how to use this API operation.
383//
384// The context must be non-nil and will be used for request cancellation. If
385// the context is nil a panic will occur. In the future the SDK may create
386// sub-contexts for http.Requests. See https://golang.org/pkg/context/
387// for more information on using Contexts.
388func (c *CodeStar) DeleteProjectWithContext(ctx aws.Context, input *DeleteProjectInput, opts ...request.Option) (*DeleteProjectOutput, error) {
389	req, out := c.DeleteProjectRequest(input)
390	req.SetContext(ctx)
391	req.ApplyOptions(opts...)
392	return out, req.Send()
393}
394
395const opDeleteUserProfile = "DeleteUserProfile"
396
397// DeleteUserProfileRequest generates a "aws/request.Request" representing the
398// client's request for the DeleteUserProfile operation. The "output" return
399// value will be populated with the request's response once the request completes
400// successfully.
401//
402// Use "Send" method on the returned Request to send the API call to the service.
403// the "output" return value is not valid until after Send returns without error.
404//
405// See DeleteUserProfile for more information on using the DeleteUserProfile
406// API call, and error handling.
407//
408// This method is useful when you want to inject custom logic or configuration
409// into the SDK's request lifecycle. Such as custom headers, or retry logic.
410//
411//
412//    // Example sending a request using the DeleteUserProfileRequest method.
413//    req, resp := client.DeleteUserProfileRequest(params)
414//
415//    err := req.Send()
416//    if err == nil { // resp is now filled
417//        fmt.Println(resp)
418//    }
419//
420// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/DeleteUserProfile
421func (c *CodeStar) DeleteUserProfileRequest(input *DeleteUserProfileInput) (req *request.Request, output *DeleteUserProfileOutput) {
422	op := &request.Operation{
423		Name:       opDeleteUserProfile,
424		HTTPMethod: "POST",
425		HTTPPath:   "/",
426	}
427
428	if input == nil {
429		input = &DeleteUserProfileInput{}
430	}
431
432	output = &DeleteUserProfileOutput{}
433	req = c.newRequest(op, input, output)
434	return
435}
436
437// DeleteUserProfile API operation for AWS CodeStar.
438//
439// Deletes a user profile in AWS CodeStar, including all personal preference
440// data associated with that profile, such as display name and email address.
441// It does not delete the history of that user, for example the history of commits
442// made by that user.
443//
444// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
445// with awserr.Error's Code and Message methods to get detailed information about
446// the error.
447//
448// See the AWS API reference guide for AWS CodeStar's
449// API operation DeleteUserProfile for usage and error information.
450//
451// Returned Error Codes:
452//   * ErrCodeValidationException "ValidationException"
453//   The specified input is either not valid, or it could not be validated.
454//
455// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/DeleteUserProfile
456func (c *CodeStar) DeleteUserProfile(input *DeleteUserProfileInput) (*DeleteUserProfileOutput, error) {
457	req, out := c.DeleteUserProfileRequest(input)
458	return out, req.Send()
459}
460
461// DeleteUserProfileWithContext is the same as DeleteUserProfile with the addition of
462// the ability to pass a context and additional request options.
463//
464// See DeleteUserProfile for details on how to use this API operation.
465//
466// The context must be non-nil and will be used for request cancellation. If
467// the context is nil a panic will occur. In the future the SDK may create
468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
469// for more information on using Contexts.
470func (c *CodeStar) DeleteUserProfileWithContext(ctx aws.Context, input *DeleteUserProfileInput, opts ...request.Option) (*DeleteUserProfileOutput, error) {
471	req, out := c.DeleteUserProfileRequest(input)
472	req.SetContext(ctx)
473	req.ApplyOptions(opts...)
474	return out, req.Send()
475}
476
477const opDescribeProject = "DescribeProject"
478
479// DescribeProjectRequest generates a "aws/request.Request" representing the
480// client's request for the DescribeProject operation. The "output" return
481// value will be populated with the request's response once the request completes
482// successfully.
483//
484// Use "Send" method on the returned Request to send the API call to the service.
485// the "output" return value is not valid until after Send returns without error.
486//
487// See DescribeProject for more information on using the DescribeProject
488// API call, and error handling.
489//
490// This method is useful when you want to inject custom logic or configuration
491// into the SDK's request lifecycle. Such as custom headers, or retry logic.
492//
493//
494//    // Example sending a request using the DescribeProjectRequest method.
495//    req, resp := client.DescribeProjectRequest(params)
496//
497//    err := req.Send()
498//    if err == nil { // resp is now filled
499//        fmt.Println(resp)
500//    }
501//
502// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/DescribeProject
503func (c *CodeStar) DescribeProjectRequest(input *DescribeProjectInput) (req *request.Request, output *DescribeProjectOutput) {
504	op := &request.Operation{
505		Name:       opDescribeProject,
506		HTTPMethod: "POST",
507		HTTPPath:   "/",
508	}
509
510	if input == nil {
511		input = &DescribeProjectInput{}
512	}
513
514	output = &DescribeProjectOutput{}
515	req = c.newRequest(op, input, output)
516	return
517}
518
519// DescribeProject API operation for AWS CodeStar.
520//
521// Describes a project and its resources.
522//
523// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
524// with awserr.Error's Code and Message methods to get detailed information about
525// the error.
526//
527// See the AWS API reference guide for AWS CodeStar's
528// API operation DescribeProject for usage and error information.
529//
530// Returned Error Codes:
531//   * ErrCodeProjectNotFoundException "ProjectNotFoundException"
532//   The specified AWS CodeStar project was not found.
533//
534//   * ErrCodeValidationException "ValidationException"
535//   The specified input is either not valid, or it could not be validated.
536//
537//   * ErrCodeInvalidServiceRoleException "InvalidServiceRoleException"
538//   The service role is not valid.
539//
540//   * ErrCodeProjectConfigurationException "ProjectConfigurationException"
541//   Project configuration information is required but not specified.
542//
543//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
544//   Another modification is being made. That modification must complete before
545//   you can make your change.
546//
547// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/DescribeProject
548func (c *CodeStar) DescribeProject(input *DescribeProjectInput) (*DescribeProjectOutput, error) {
549	req, out := c.DescribeProjectRequest(input)
550	return out, req.Send()
551}
552
553// DescribeProjectWithContext is the same as DescribeProject with the addition of
554// the ability to pass a context and additional request options.
555//
556// See DescribeProject for details on how to use this API operation.
557//
558// The context must be non-nil and will be used for request cancellation. If
559// the context is nil a panic will occur. In the future the SDK may create
560// sub-contexts for http.Requests. See https://golang.org/pkg/context/
561// for more information on using Contexts.
562func (c *CodeStar) DescribeProjectWithContext(ctx aws.Context, input *DescribeProjectInput, opts ...request.Option) (*DescribeProjectOutput, error) {
563	req, out := c.DescribeProjectRequest(input)
564	req.SetContext(ctx)
565	req.ApplyOptions(opts...)
566	return out, req.Send()
567}
568
569const opDescribeUserProfile = "DescribeUserProfile"
570
571// DescribeUserProfileRequest generates a "aws/request.Request" representing the
572// client's request for the DescribeUserProfile operation. The "output" return
573// value will be populated with the request's response once the request completes
574// successfully.
575//
576// Use "Send" method on the returned Request to send the API call to the service.
577// the "output" return value is not valid until after Send returns without error.
578//
579// See DescribeUserProfile for more information on using the DescribeUserProfile
580// API call, and error handling.
581//
582// This method is useful when you want to inject custom logic or configuration
583// into the SDK's request lifecycle. Such as custom headers, or retry logic.
584//
585//
586//    // Example sending a request using the DescribeUserProfileRequest method.
587//    req, resp := client.DescribeUserProfileRequest(params)
588//
589//    err := req.Send()
590//    if err == nil { // resp is now filled
591//        fmt.Println(resp)
592//    }
593//
594// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/DescribeUserProfile
595func (c *CodeStar) DescribeUserProfileRequest(input *DescribeUserProfileInput) (req *request.Request, output *DescribeUserProfileOutput) {
596	op := &request.Operation{
597		Name:       opDescribeUserProfile,
598		HTTPMethod: "POST",
599		HTTPPath:   "/",
600	}
601
602	if input == nil {
603		input = &DescribeUserProfileInput{}
604	}
605
606	output = &DescribeUserProfileOutput{}
607	req = c.newRequest(op, input, output)
608	return
609}
610
611// DescribeUserProfile API operation for AWS CodeStar.
612//
613// Describes a user in AWS CodeStar and the user attributes across all projects.
614//
615// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
616// with awserr.Error's Code and Message methods to get detailed information about
617// the error.
618//
619// See the AWS API reference guide for AWS CodeStar's
620// API operation DescribeUserProfile for usage and error information.
621//
622// Returned Error Codes:
623//   * ErrCodeUserProfileNotFoundException "UserProfileNotFoundException"
624//   The user profile was not found.
625//
626//   * ErrCodeValidationException "ValidationException"
627//   The specified input is either not valid, or it could not be validated.
628//
629// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/DescribeUserProfile
630func (c *CodeStar) DescribeUserProfile(input *DescribeUserProfileInput) (*DescribeUserProfileOutput, error) {
631	req, out := c.DescribeUserProfileRequest(input)
632	return out, req.Send()
633}
634
635// DescribeUserProfileWithContext is the same as DescribeUserProfile with the addition of
636// the ability to pass a context and additional request options.
637//
638// See DescribeUserProfile for details on how to use this API operation.
639//
640// The context must be non-nil and will be used for request cancellation. If
641// the context is nil a panic will occur. In the future the SDK may create
642// sub-contexts for http.Requests. See https://golang.org/pkg/context/
643// for more information on using Contexts.
644func (c *CodeStar) DescribeUserProfileWithContext(ctx aws.Context, input *DescribeUserProfileInput, opts ...request.Option) (*DescribeUserProfileOutput, error) {
645	req, out := c.DescribeUserProfileRequest(input)
646	req.SetContext(ctx)
647	req.ApplyOptions(opts...)
648	return out, req.Send()
649}
650
651const opDisassociateTeamMember = "DisassociateTeamMember"
652
653// DisassociateTeamMemberRequest generates a "aws/request.Request" representing the
654// client's request for the DisassociateTeamMember operation. The "output" return
655// value will be populated with the request's response once the request completes
656// successfully.
657//
658// Use "Send" method on the returned Request to send the API call to the service.
659// the "output" return value is not valid until after Send returns without error.
660//
661// See DisassociateTeamMember for more information on using the DisassociateTeamMember
662// API call, and error handling.
663//
664// This method is useful when you want to inject custom logic or configuration
665// into the SDK's request lifecycle. Such as custom headers, or retry logic.
666//
667//
668//    // Example sending a request using the DisassociateTeamMemberRequest method.
669//    req, resp := client.DisassociateTeamMemberRequest(params)
670//
671//    err := req.Send()
672//    if err == nil { // resp is now filled
673//        fmt.Println(resp)
674//    }
675//
676// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/DisassociateTeamMember
677func (c *CodeStar) DisassociateTeamMemberRequest(input *DisassociateTeamMemberInput) (req *request.Request, output *DisassociateTeamMemberOutput) {
678	op := &request.Operation{
679		Name:       opDisassociateTeamMember,
680		HTTPMethod: "POST",
681		HTTPPath:   "/",
682	}
683
684	if input == nil {
685		input = &DisassociateTeamMemberInput{}
686	}
687
688	output = &DisassociateTeamMemberOutput{}
689	req = c.newRequest(op, input, output)
690	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
691	return
692}
693
694// DisassociateTeamMember API operation for AWS CodeStar.
695//
696// Removes a user from a project. Removing a user from a project also removes
697// the IAM policies from that user that allowed access to the project and its
698// resources. Disassociating a team member does not remove that user's profile
699// from AWS CodeStar. It does not remove the user from IAM.
700//
701// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
702// with awserr.Error's Code and Message methods to get detailed information about
703// the error.
704//
705// See the AWS API reference guide for AWS CodeStar's
706// API operation DisassociateTeamMember for usage and error information.
707//
708// Returned Error Codes:
709//   * ErrCodeProjectNotFoundException "ProjectNotFoundException"
710//   The specified AWS CodeStar project was not found.
711//
712//   * ErrCodeValidationException "ValidationException"
713//   The specified input is either not valid, or it could not be validated.
714//
715//   * ErrCodeInvalidServiceRoleException "InvalidServiceRoleException"
716//   The service role is not valid.
717//
718//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
719//   Another modification is being made. That modification must complete before
720//   you can make your change.
721//
722// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/DisassociateTeamMember
723func (c *CodeStar) DisassociateTeamMember(input *DisassociateTeamMemberInput) (*DisassociateTeamMemberOutput, error) {
724	req, out := c.DisassociateTeamMemberRequest(input)
725	return out, req.Send()
726}
727
728// DisassociateTeamMemberWithContext is the same as DisassociateTeamMember with the addition of
729// the ability to pass a context and additional request options.
730//
731// See DisassociateTeamMember for details on how to use this API operation.
732//
733// The context must be non-nil and will be used for request cancellation. If
734// the context is nil a panic will occur. In the future the SDK may create
735// sub-contexts for http.Requests. See https://golang.org/pkg/context/
736// for more information on using Contexts.
737func (c *CodeStar) DisassociateTeamMemberWithContext(ctx aws.Context, input *DisassociateTeamMemberInput, opts ...request.Option) (*DisassociateTeamMemberOutput, error) {
738	req, out := c.DisassociateTeamMemberRequest(input)
739	req.SetContext(ctx)
740	req.ApplyOptions(opts...)
741	return out, req.Send()
742}
743
744const opListProjects = "ListProjects"
745
746// ListProjectsRequest generates a "aws/request.Request" representing the
747// client's request for the ListProjects operation. The "output" return
748// value will be populated with the request's response once the request completes
749// successfully.
750//
751// Use "Send" method on the returned Request to send the API call to the service.
752// the "output" return value is not valid until after Send returns without error.
753//
754// See ListProjects for more information on using the ListProjects
755// API call, and error handling.
756//
757// This method is useful when you want to inject custom logic or configuration
758// into the SDK's request lifecycle. Such as custom headers, or retry logic.
759//
760//
761//    // Example sending a request using the ListProjectsRequest method.
762//    req, resp := client.ListProjectsRequest(params)
763//
764//    err := req.Send()
765//    if err == nil { // resp is now filled
766//        fmt.Println(resp)
767//    }
768//
769// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/ListProjects
770func (c *CodeStar) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) {
771	op := &request.Operation{
772		Name:       opListProjects,
773		HTTPMethod: "POST",
774		HTTPPath:   "/",
775	}
776
777	if input == nil {
778		input = &ListProjectsInput{}
779	}
780
781	output = &ListProjectsOutput{}
782	req = c.newRequest(op, input, output)
783	return
784}
785
786// ListProjects API operation for AWS CodeStar.
787//
788// Lists all projects in AWS CodeStar associated with your AWS account.
789//
790// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
791// with awserr.Error's Code and Message methods to get detailed information about
792// the error.
793//
794// See the AWS API reference guide for AWS CodeStar's
795// API operation ListProjects for usage and error information.
796//
797// Returned Error Codes:
798//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
799//   The next token is not valid.
800//
801//   * ErrCodeValidationException "ValidationException"
802//   The specified input is either not valid, or it could not be validated.
803//
804// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/ListProjects
805func (c *CodeStar) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) {
806	req, out := c.ListProjectsRequest(input)
807	return out, req.Send()
808}
809
810// ListProjectsWithContext is the same as ListProjects with the addition of
811// the ability to pass a context and additional request options.
812//
813// See ListProjects for details on how to use this API operation.
814//
815// The context must be non-nil and will be used for request cancellation. If
816// the context is nil a panic will occur. In the future the SDK may create
817// sub-contexts for http.Requests. See https://golang.org/pkg/context/
818// for more information on using Contexts.
819func (c *CodeStar) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) {
820	req, out := c.ListProjectsRequest(input)
821	req.SetContext(ctx)
822	req.ApplyOptions(opts...)
823	return out, req.Send()
824}
825
826const opListResources = "ListResources"
827
828// ListResourcesRequest generates a "aws/request.Request" representing the
829// client's request for the ListResources operation. The "output" return
830// value will be populated with the request's response once the request completes
831// successfully.
832//
833// Use "Send" method on the returned Request to send the API call to the service.
834// the "output" return value is not valid until after Send returns without error.
835//
836// See ListResources for more information on using the ListResources
837// API call, and error handling.
838//
839// This method is useful when you want to inject custom logic or configuration
840// into the SDK's request lifecycle. Such as custom headers, or retry logic.
841//
842//
843//    // Example sending a request using the ListResourcesRequest method.
844//    req, resp := client.ListResourcesRequest(params)
845//
846//    err := req.Send()
847//    if err == nil { // resp is now filled
848//        fmt.Println(resp)
849//    }
850//
851// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/ListResources
852func (c *CodeStar) ListResourcesRequest(input *ListResourcesInput) (req *request.Request, output *ListResourcesOutput) {
853	op := &request.Operation{
854		Name:       opListResources,
855		HTTPMethod: "POST",
856		HTTPPath:   "/",
857	}
858
859	if input == nil {
860		input = &ListResourcesInput{}
861	}
862
863	output = &ListResourcesOutput{}
864	req = c.newRequest(op, input, output)
865	return
866}
867
868// ListResources API operation for AWS CodeStar.
869//
870// Lists resources associated with a project in AWS CodeStar.
871//
872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
873// with awserr.Error's Code and Message methods to get detailed information about
874// the error.
875//
876// See the AWS API reference guide for AWS CodeStar's
877// API operation ListResources for usage and error information.
878//
879// Returned Error Codes:
880//   * ErrCodeProjectNotFoundException "ProjectNotFoundException"
881//   The specified AWS CodeStar project was not found.
882//
883//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
884//   The next token is not valid.
885//
886//   * ErrCodeValidationException "ValidationException"
887//   The specified input is either not valid, or it could not be validated.
888//
889// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/ListResources
890func (c *CodeStar) ListResources(input *ListResourcesInput) (*ListResourcesOutput, error) {
891	req, out := c.ListResourcesRequest(input)
892	return out, req.Send()
893}
894
895// ListResourcesWithContext is the same as ListResources with the addition of
896// the ability to pass a context and additional request options.
897//
898// See ListResources for details on how to use this API operation.
899//
900// The context must be non-nil and will be used for request cancellation. If
901// the context is nil a panic will occur. In the future the SDK may create
902// sub-contexts for http.Requests. See https://golang.org/pkg/context/
903// for more information on using Contexts.
904func (c *CodeStar) ListResourcesWithContext(ctx aws.Context, input *ListResourcesInput, opts ...request.Option) (*ListResourcesOutput, error) {
905	req, out := c.ListResourcesRequest(input)
906	req.SetContext(ctx)
907	req.ApplyOptions(opts...)
908	return out, req.Send()
909}
910
911const opListTagsForProject = "ListTagsForProject"
912
913// ListTagsForProjectRequest generates a "aws/request.Request" representing the
914// client's request for the ListTagsForProject operation. The "output" return
915// value will be populated with the request's response once the request completes
916// successfully.
917//
918// Use "Send" method on the returned Request to send the API call to the service.
919// the "output" return value is not valid until after Send returns without error.
920//
921// See ListTagsForProject for more information on using the ListTagsForProject
922// API call, and error handling.
923//
924// This method is useful when you want to inject custom logic or configuration
925// into the SDK's request lifecycle. Such as custom headers, or retry logic.
926//
927//
928//    // Example sending a request using the ListTagsForProjectRequest method.
929//    req, resp := client.ListTagsForProjectRequest(params)
930//
931//    err := req.Send()
932//    if err == nil { // resp is now filled
933//        fmt.Println(resp)
934//    }
935//
936// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/ListTagsForProject
937func (c *CodeStar) ListTagsForProjectRequest(input *ListTagsForProjectInput) (req *request.Request, output *ListTagsForProjectOutput) {
938	op := &request.Operation{
939		Name:       opListTagsForProject,
940		HTTPMethod: "POST",
941		HTTPPath:   "/",
942	}
943
944	if input == nil {
945		input = &ListTagsForProjectInput{}
946	}
947
948	output = &ListTagsForProjectOutput{}
949	req = c.newRequest(op, input, output)
950	return
951}
952
953// ListTagsForProject API operation for AWS CodeStar.
954//
955// Gets the tags for a project.
956//
957// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
958// with awserr.Error's Code and Message methods to get detailed information about
959// the error.
960//
961// See the AWS API reference guide for AWS CodeStar's
962// API operation ListTagsForProject for usage and error information.
963//
964// Returned Error Codes:
965//   * ErrCodeProjectNotFoundException "ProjectNotFoundException"
966//   The specified AWS CodeStar project was not found.
967//
968//   * ErrCodeValidationException "ValidationException"
969//   The specified input is either not valid, or it could not be validated.
970//
971//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
972//   The next token is not valid.
973//
974// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/ListTagsForProject
975func (c *CodeStar) ListTagsForProject(input *ListTagsForProjectInput) (*ListTagsForProjectOutput, error) {
976	req, out := c.ListTagsForProjectRequest(input)
977	return out, req.Send()
978}
979
980// ListTagsForProjectWithContext is the same as ListTagsForProject with the addition of
981// the ability to pass a context and additional request options.
982//
983// See ListTagsForProject for details on how to use this API operation.
984//
985// The context must be non-nil and will be used for request cancellation. If
986// the context is nil a panic will occur. In the future the SDK may create
987// sub-contexts for http.Requests. See https://golang.org/pkg/context/
988// for more information on using Contexts.
989func (c *CodeStar) ListTagsForProjectWithContext(ctx aws.Context, input *ListTagsForProjectInput, opts ...request.Option) (*ListTagsForProjectOutput, error) {
990	req, out := c.ListTagsForProjectRequest(input)
991	req.SetContext(ctx)
992	req.ApplyOptions(opts...)
993	return out, req.Send()
994}
995
996const opListTeamMembers = "ListTeamMembers"
997
998// ListTeamMembersRequest generates a "aws/request.Request" representing the
999// client's request for the ListTeamMembers operation. The "output" return
1000// value will be populated with the request's response once the request completes
1001// successfully.
1002//
1003// Use "Send" method on the returned Request to send the API call to the service.
1004// the "output" return value is not valid until after Send returns without error.
1005//
1006// See ListTeamMembers for more information on using the ListTeamMembers
1007// API call, and error handling.
1008//
1009// This method is useful when you want to inject custom logic or configuration
1010// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1011//
1012//
1013//    // Example sending a request using the ListTeamMembersRequest method.
1014//    req, resp := client.ListTeamMembersRequest(params)
1015//
1016//    err := req.Send()
1017//    if err == nil { // resp is now filled
1018//        fmt.Println(resp)
1019//    }
1020//
1021// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/ListTeamMembers
1022func (c *CodeStar) ListTeamMembersRequest(input *ListTeamMembersInput) (req *request.Request, output *ListTeamMembersOutput) {
1023	op := &request.Operation{
1024		Name:       opListTeamMembers,
1025		HTTPMethod: "POST",
1026		HTTPPath:   "/",
1027	}
1028
1029	if input == nil {
1030		input = &ListTeamMembersInput{}
1031	}
1032
1033	output = &ListTeamMembersOutput{}
1034	req = c.newRequest(op, input, output)
1035	return
1036}
1037
1038// ListTeamMembers API operation for AWS CodeStar.
1039//
1040// Lists all team members associated with a project.
1041//
1042// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1043// with awserr.Error's Code and Message methods to get detailed information about
1044// the error.
1045//
1046// See the AWS API reference guide for AWS CodeStar's
1047// API operation ListTeamMembers for usage and error information.
1048//
1049// Returned Error Codes:
1050//   * ErrCodeProjectNotFoundException "ProjectNotFoundException"
1051//   The specified AWS CodeStar project was not found.
1052//
1053//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
1054//   The next token is not valid.
1055//
1056//   * ErrCodeValidationException "ValidationException"
1057//   The specified input is either not valid, or it could not be validated.
1058//
1059// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/ListTeamMembers
1060func (c *CodeStar) ListTeamMembers(input *ListTeamMembersInput) (*ListTeamMembersOutput, error) {
1061	req, out := c.ListTeamMembersRequest(input)
1062	return out, req.Send()
1063}
1064
1065// ListTeamMembersWithContext is the same as ListTeamMembers with the addition of
1066// the ability to pass a context and additional request options.
1067//
1068// See ListTeamMembers for details on how to use this API operation.
1069//
1070// The context must be non-nil and will be used for request cancellation. If
1071// the context is nil a panic will occur. In the future the SDK may create
1072// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1073// for more information on using Contexts.
1074func (c *CodeStar) ListTeamMembersWithContext(ctx aws.Context, input *ListTeamMembersInput, opts ...request.Option) (*ListTeamMembersOutput, error) {
1075	req, out := c.ListTeamMembersRequest(input)
1076	req.SetContext(ctx)
1077	req.ApplyOptions(opts...)
1078	return out, req.Send()
1079}
1080
1081const opListUserProfiles = "ListUserProfiles"
1082
1083// ListUserProfilesRequest generates a "aws/request.Request" representing the
1084// client's request for the ListUserProfiles operation. The "output" return
1085// value will be populated with the request's response once the request completes
1086// successfully.
1087//
1088// Use "Send" method on the returned Request to send the API call to the service.
1089// the "output" return value is not valid until after Send returns without error.
1090//
1091// See ListUserProfiles for more information on using the ListUserProfiles
1092// API call, and error handling.
1093//
1094// This method is useful when you want to inject custom logic or configuration
1095// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1096//
1097//
1098//    // Example sending a request using the ListUserProfilesRequest method.
1099//    req, resp := client.ListUserProfilesRequest(params)
1100//
1101//    err := req.Send()
1102//    if err == nil { // resp is now filled
1103//        fmt.Println(resp)
1104//    }
1105//
1106// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/ListUserProfiles
1107func (c *CodeStar) ListUserProfilesRequest(input *ListUserProfilesInput) (req *request.Request, output *ListUserProfilesOutput) {
1108	op := &request.Operation{
1109		Name:       opListUserProfiles,
1110		HTTPMethod: "POST",
1111		HTTPPath:   "/",
1112	}
1113
1114	if input == nil {
1115		input = &ListUserProfilesInput{}
1116	}
1117
1118	output = &ListUserProfilesOutput{}
1119	req = c.newRequest(op, input, output)
1120	return
1121}
1122
1123// ListUserProfiles API operation for AWS CodeStar.
1124//
1125// Lists all the user profiles configured for your AWS account in AWS CodeStar.
1126//
1127// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1128// with awserr.Error's Code and Message methods to get detailed information about
1129// the error.
1130//
1131// See the AWS API reference guide for AWS CodeStar's
1132// API operation ListUserProfiles for usage and error information.
1133//
1134// Returned Error Codes:
1135//   * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
1136//   The next token is not valid.
1137//
1138//   * ErrCodeValidationException "ValidationException"
1139//   The specified input is either not valid, or it could not be validated.
1140//
1141// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/ListUserProfiles
1142func (c *CodeStar) ListUserProfiles(input *ListUserProfilesInput) (*ListUserProfilesOutput, error) {
1143	req, out := c.ListUserProfilesRequest(input)
1144	return out, req.Send()
1145}
1146
1147// ListUserProfilesWithContext is the same as ListUserProfiles with the addition of
1148// the ability to pass a context and additional request options.
1149//
1150// See ListUserProfiles for details on how to use this API operation.
1151//
1152// The context must be non-nil and will be used for request cancellation. If
1153// the context is nil a panic will occur. In the future the SDK may create
1154// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1155// for more information on using Contexts.
1156func (c *CodeStar) ListUserProfilesWithContext(ctx aws.Context, input *ListUserProfilesInput, opts ...request.Option) (*ListUserProfilesOutput, error) {
1157	req, out := c.ListUserProfilesRequest(input)
1158	req.SetContext(ctx)
1159	req.ApplyOptions(opts...)
1160	return out, req.Send()
1161}
1162
1163const opTagProject = "TagProject"
1164
1165// TagProjectRequest generates a "aws/request.Request" representing the
1166// client's request for the TagProject operation. The "output" return
1167// value will be populated with the request's response once the request completes
1168// successfully.
1169//
1170// Use "Send" method on the returned Request to send the API call to the service.
1171// the "output" return value is not valid until after Send returns without error.
1172//
1173// See TagProject for more information on using the TagProject
1174// API call, and error handling.
1175//
1176// This method is useful when you want to inject custom logic or configuration
1177// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1178//
1179//
1180//    // Example sending a request using the TagProjectRequest method.
1181//    req, resp := client.TagProjectRequest(params)
1182//
1183//    err := req.Send()
1184//    if err == nil { // resp is now filled
1185//        fmt.Println(resp)
1186//    }
1187//
1188// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/TagProject
1189func (c *CodeStar) TagProjectRequest(input *TagProjectInput) (req *request.Request, output *TagProjectOutput) {
1190	op := &request.Operation{
1191		Name:       opTagProject,
1192		HTTPMethod: "POST",
1193		HTTPPath:   "/",
1194	}
1195
1196	if input == nil {
1197		input = &TagProjectInput{}
1198	}
1199
1200	output = &TagProjectOutput{}
1201	req = c.newRequest(op, input, output)
1202	return
1203}
1204
1205// TagProject API operation for AWS CodeStar.
1206//
1207// Adds tags to a project.
1208//
1209// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1210// with awserr.Error's Code and Message methods to get detailed information about
1211// the error.
1212//
1213// See the AWS API reference guide for AWS CodeStar's
1214// API operation TagProject for usage and error information.
1215//
1216// Returned Error Codes:
1217//   * ErrCodeProjectNotFoundException "ProjectNotFoundException"
1218//   The specified AWS CodeStar project was not found.
1219//
1220//   * ErrCodeValidationException "ValidationException"
1221//   The specified input is either not valid, or it could not be validated.
1222//
1223//   * ErrCodeLimitExceededException "LimitExceededException"
1224//   A resource limit has been exceeded.
1225//
1226//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1227//   Another modification is being made. That modification must complete before
1228//   you can make your change.
1229//
1230// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/TagProject
1231func (c *CodeStar) TagProject(input *TagProjectInput) (*TagProjectOutput, error) {
1232	req, out := c.TagProjectRequest(input)
1233	return out, req.Send()
1234}
1235
1236// TagProjectWithContext is the same as TagProject with the addition of
1237// the ability to pass a context and additional request options.
1238//
1239// See TagProject for details on how to use this API operation.
1240//
1241// The context must be non-nil and will be used for request cancellation. If
1242// the context is nil a panic will occur. In the future the SDK may create
1243// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1244// for more information on using Contexts.
1245func (c *CodeStar) TagProjectWithContext(ctx aws.Context, input *TagProjectInput, opts ...request.Option) (*TagProjectOutput, error) {
1246	req, out := c.TagProjectRequest(input)
1247	req.SetContext(ctx)
1248	req.ApplyOptions(opts...)
1249	return out, req.Send()
1250}
1251
1252const opUntagProject = "UntagProject"
1253
1254// UntagProjectRequest generates a "aws/request.Request" representing the
1255// client's request for the UntagProject operation. The "output" return
1256// value will be populated with the request's response once the request completes
1257// successfully.
1258//
1259// Use "Send" method on the returned Request to send the API call to the service.
1260// the "output" return value is not valid until after Send returns without error.
1261//
1262// See UntagProject for more information on using the UntagProject
1263// API call, and error handling.
1264//
1265// This method is useful when you want to inject custom logic or configuration
1266// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1267//
1268//
1269//    // Example sending a request using the UntagProjectRequest method.
1270//    req, resp := client.UntagProjectRequest(params)
1271//
1272//    err := req.Send()
1273//    if err == nil { // resp is now filled
1274//        fmt.Println(resp)
1275//    }
1276//
1277// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/UntagProject
1278func (c *CodeStar) UntagProjectRequest(input *UntagProjectInput) (req *request.Request, output *UntagProjectOutput) {
1279	op := &request.Operation{
1280		Name:       opUntagProject,
1281		HTTPMethod: "POST",
1282		HTTPPath:   "/",
1283	}
1284
1285	if input == nil {
1286		input = &UntagProjectInput{}
1287	}
1288
1289	output = &UntagProjectOutput{}
1290	req = c.newRequest(op, input, output)
1291	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1292	return
1293}
1294
1295// UntagProject API operation for AWS CodeStar.
1296//
1297// Removes tags from a project.
1298//
1299// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1300// with awserr.Error's Code and Message methods to get detailed information about
1301// the error.
1302//
1303// See the AWS API reference guide for AWS CodeStar's
1304// API operation UntagProject for usage and error information.
1305//
1306// Returned Error Codes:
1307//   * ErrCodeProjectNotFoundException "ProjectNotFoundException"
1308//   The specified AWS CodeStar project was not found.
1309//
1310//   * ErrCodeValidationException "ValidationException"
1311//   The specified input is either not valid, or it could not be validated.
1312//
1313//   * ErrCodeLimitExceededException "LimitExceededException"
1314//   A resource limit has been exceeded.
1315//
1316//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1317//   Another modification is being made. That modification must complete before
1318//   you can make your change.
1319//
1320// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/UntagProject
1321func (c *CodeStar) UntagProject(input *UntagProjectInput) (*UntagProjectOutput, error) {
1322	req, out := c.UntagProjectRequest(input)
1323	return out, req.Send()
1324}
1325
1326// UntagProjectWithContext is the same as UntagProject with the addition of
1327// the ability to pass a context and additional request options.
1328//
1329// See UntagProject for details on how to use this API operation.
1330//
1331// The context must be non-nil and will be used for request cancellation. If
1332// the context is nil a panic will occur. In the future the SDK may create
1333// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1334// for more information on using Contexts.
1335func (c *CodeStar) UntagProjectWithContext(ctx aws.Context, input *UntagProjectInput, opts ...request.Option) (*UntagProjectOutput, error) {
1336	req, out := c.UntagProjectRequest(input)
1337	req.SetContext(ctx)
1338	req.ApplyOptions(opts...)
1339	return out, req.Send()
1340}
1341
1342const opUpdateProject = "UpdateProject"
1343
1344// UpdateProjectRequest generates a "aws/request.Request" representing the
1345// client's request for the UpdateProject operation. The "output" return
1346// value will be populated with the request's response once the request completes
1347// successfully.
1348//
1349// Use "Send" method on the returned Request to send the API call to the service.
1350// the "output" return value is not valid until after Send returns without error.
1351//
1352// See UpdateProject for more information on using the UpdateProject
1353// API call, and error handling.
1354//
1355// This method is useful when you want to inject custom logic or configuration
1356// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1357//
1358//
1359//    // Example sending a request using the UpdateProjectRequest method.
1360//    req, resp := client.UpdateProjectRequest(params)
1361//
1362//    err := req.Send()
1363//    if err == nil { // resp is now filled
1364//        fmt.Println(resp)
1365//    }
1366//
1367// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/UpdateProject
1368func (c *CodeStar) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) {
1369	op := &request.Operation{
1370		Name:       opUpdateProject,
1371		HTTPMethod: "POST",
1372		HTTPPath:   "/",
1373	}
1374
1375	if input == nil {
1376		input = &UpdateProjectInput{}
1377	}
1378
1379	output = &UpdateProjectOutput{}
1380	req = c.newRequest(op, input, output)
1381	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1382	return
1383}
1384
1385// UpdateProject API operation for AWS CodeStar.
1386//
1387// Updates a project in AWS CodeStar.
1388//
1389// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1390// with awserr.Error's Code and Message methods to get detailed information about
1391// the error.
1392//
1393// See the AWS API reference guide for AWS CodeStar's
1394// API operation UpdateProject for usage and error information.
1395//
1396// Returned Error Codes:
1397//   * ErrCodeProjectNotFoundException "ProjectNotFoundException"
1398//   The specified AWS CodeStar project was not found.
1399//
1400//   * ErrCodeValidationException "ValidationException"
1401//   The specified input is either not valid, or it could not be validated.
1402//
1403// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/UpdateProject
1404func (c *CodeStar) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) {
1405	req, out := c.UpdateProjectRequest(input)
1406	return out, req.Send()
1407}
1408
1409// UpdateProjectWithContext is the same as UpdateProject with the addition of
1410// the ability to pass a context and additional request options.
1411//
1412// See UpdateProject for details on how to use this API operation.
1413//
1414// The context must be non-nil and will be used for request cancellation. If
1415// the context is nil a panic will occur. In the future the SDK may create
1416// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1417// for more information on using Contexts.
1418func (c *CodeStar) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) {
1419	req, out := c.UpdateProjectRequest(input)
1420	req.SetContext(ctx)
1421	req.ApplyOptions(opts...)
1422	return out, req.Send()
1423}
1424
1425const opUpdateTeamMember = "UpdateTeamMember"
1426
1427// UpdateTeamMemberRequest generates a "aws/request.Request" representing the
1428// client's request for the UpdateTeamMember operation. The "output" return
1429// value will be populated with the request's response once the request completes
1430// successfully.
1431//
1432// Use "Send" method on the returned Request to send the API call to the service.
1433// the "output" return value is not valid until after Send returns without error.
1434//
1435// See UpdateTeamMember for more information on using the UpdateTeamMember
1436// API call, and error handling.
1437//
1438// This method is useful when you want to inject custom logic or configuration
1439// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1440//
1441//
1442//    // Example sending a request using the UpdateTeamMemberRequest method.
1443//    req, resp := client.UpdateTeamMemberRequest(params)
1444//
1445//    err := req.Send()
1446//    if err == nil { // resp is now filled
1447//        fmt.Println(resp)
1448//    }
1449//
1450// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/UpdateTeamMember
1451func (c *CodeStar) UpdateTeamMemberRequest(input *UpdateTeamMemberInput) (req *request.Request, output *UpdateTeamMemberOutput) {
1452	op := &request.Operation{
1453		Name:       opUpdateTeamMember,
1454		HTTPMethod: "POST",
1455		HTTPPath:   "/",
1456	}
1457
1458	if input == nil {
1459		input = &UpdateTeamMemberInput{}
1460	}
1461
1462	output = &UpdateTeamMemberOutput{}
1463	req = c.newRequest(op, input, output)
1464	return
1465}
1466
1467// UpdateTeamMember API operation for AWS CodeStar.
1468//
1469// Updates a team member's attributes in an AWS CodeStar project. For example,
1470// you can change a team member's role in the project, or change whether they
1471// have remote access to project resources.
1472//
1473// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1474// with awserr.Error's Code and Message methods to get detailed information about
1475// the error.
1476//
1477// See the AWS API reference guide for AWS CodeStar's
1478// API operation UpdateTeamMember for usage and error information.
1479//
1480// Returned Error Codes:
1481//   * ErrCodeLimitExceededException "LimitExceededException"
1482//   A resource limit has been exceeded.
1483//
1484//   * ErrCodeProjectNotFoundException "ProjectNotFoundException"
1485//   The specified AWS CodeStar project was not found.
1486//
1487//   * ErrCodeValidationException "ValidationException"
1488//   The specified input is either not valid, or it could not be validated.
1489//
1490//   * ErrCodeInvalidServiceRoleException "InvalidServiceRoleException"
1491//   The service role is not valid.
1492//
1493//   * ErrCodeProjectConfigurationException "ProjectConfigurationException"
1494//   Project configuration information is required but not specified.
1495//
1496//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1497//   Another modification is being made. That modification must complete before
1498//   you can make your change.
1499//
1500//   * ErrCodeTeamMemberNotFoundException "TeamMemberNotFoundException"
1501//   The specified team member was not found.
1502//
1503// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/UpdateTeamMember
1504func (c *CodeStar) UpdateTeamMember(input *UpdateTeamMemberInput) (*UpdateTeamMemberOutput, error) {
1505	req, out := c.UpdateTeamMemberRequest(input)
1506	return out, req.Send()
1507}
1508
1509// UpdateTeamMemberWithContext is the same as UpdateTeamMember with the addition of
1510// the ability to pass a context and additional request options.
1511//
1512// See UpdateTeamMember for details on how to use this API operation.
1513//
1514// The context must be non-nil and will be used for request cancellation. If
1515// the context is nil a panic will occur. In the future the SDK may create
1516// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1517// for more information on using Contexts.
1518func (c *CodeStar) UpdateTeamMemberWithContext(ctx aws.Context, input *UpdateTeamMemberInput, opts ...request.Option) (*UpdateTeamMemberOutput, error) {
1519	req, out := c.UpdateTeamMemberRequest(input)
1520	req.SetContext(ctx)
1521	req.ApplyOptions(opts...)
1522	return out, req.Send()
1523}
1524
1525const opUpdateUserProfile = "UpdateUserProfile"
1526
1527// UpdateUserProfileRequest generates a "aws/request.Request" representing the
1528// client's request for the UpdateUserProfile operation. The "output" return
1529// value will be populated with the request's response once the request completes
1530// successfully.
1531//
1532// Use "Send" method on the returned Request to send the API call to the service.
1533// the "output" return value is not valid until after Send returns without error.
1534//
1535// See UpdateUserProfile for more information on using the UpdateUserProfile
1536// API call, and error handling.
1537//
1538// This method is useful when you want to inject custom logic or configuration
1539// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1540//
1541//
1542//    // Example sending a request using the UpdateUserProfileRequest method.
1543//    req, resp := client.UpdateUserProfileRequest(params)
1544//
1545//    err := req.Send()
1546//    if err == nil { // resp is now filled
1547//        fmt.Println(resp)
1548//    }
1549//
1550// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/UpdateUserProfile
1551func (c *CodeStar) UpdateUserProfileRequest(input *UpdateUserProfileInput) (req *request.Request, output *UpdateUserProfileOutput) {
1552	op := &request.Operation{
1553		Name:       opUpdateUserProfile,
1554		HTTPMethod: "POST",
1555		HTTPPath:   "/",
1556	}
1557
1558	if input == nil {
1559		input = &UpdateUserProfileInput{}
1560	}
1561
1562	output = &UpdateUserProfileOutput{}
1563	req = c.newRequest(op, input, output)
1564	return
1565}
1566
1567// UpdateUserProfile API operation for AWS CodeStar.
1568//
1569// Updates a user's profile in AWS CodeStar. The user profile is not project-specific.
1570// Information in the user profile is displayed wherever the user's information
1571// appears to other users in AWS CodeStar.
1572//
1573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1574// with awserr.Error's Code and Message methods to get detailed information about
1575// the error.
1576//
1577// See the AWS API reference guide for AWS CodeStar's
1578// API operation UpdateUserProfile for usage and error information.
1579//
1580// Returned Error Codes:
1581//   * ErrCodeUserProfileNotFoundException "UserProfileNotFoundException"
1582//   The user profile was not found.
1583//
1584//   * ErrCodeValidationException "ValidationException"
1585//   The specified input is either not valid, or it could not be validated.
1586//
1587// See also, https://docs.aws.amazon.com/goto/WebAPI/codestar-2017-04-19/UpdateUserProfile
1588func (c *CodeStar) UpdateUserProfile(input *UpdateUserProfileInput) (*UpdateUserProfileOutput, error) {
1589	req, out := c.UpdateUserProfileRequest(input)
1590	return out, req.Send()
1591}
1592
1593// UpdateUserProfileWithContext is the same as UpdateUserProfile with the addition of
1594// the ability to pass a context and additional request options.
1595//
1596// See UpdateUserProfile for details on how to use this API operation.
1597//
1598// The context must be non-nil and will be used for request cancellation. If
1599// the context is nil a panic will occur. In the future the SDK may create
1600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1601// for more information on using Contexts.
1602func (c *CodeStar) UpdateUserProfileWithContext(ctx aws.Context, input *UpdateUserProfileInput, opts ...request.Option) (*UpdateUserProfileOutput, error) {
1603	req, out := c.UpdateUserProfileRequest(input)
1604	req.SetContext(ctx)
1605	req.ApplyOptions(opts...)
1606	return out, req.Send()
1607}
1608
1609type AssociateTeamMemberInput struct {
1610	_ struct{} `type:"structure"`
1611
1612	// A user- or system-generated token that identifies the entity that requested
1613	// the team member association to the project. This token can be used to repeat
1614	// the request.
1615	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
1616
1617	// The ID of the project to which you will add the IAM user.
1618	//
1619	// ProjectId is a required field
1620	ProjectId *string `locationName:"projectId" min:"2" type:"string" required:"true"`
1621
1622	// The AWS CodeStar project role that will apply to this user. This role determines
1623	// what actions a user can take in an AWS CodeStar project.
1624	//
1625	// ProjectRole is a required field
1626	ProjectRole *string `locationName:"projectRole" type:"string" required:"true"`
1627
1628	// Whether the team member is allowed to use an SSH public/private key pair
1629	// to remotely access project resources, for example Amazon EC2 instances.
1630	RemoteAccessAllowed *bool `locationName:"remoteAccessAllowed" type:"boolean"`
1631
1632	// The Amazon Resource Name (ARN) for the IAM user you want to add to the AWS
1633	// CodeStar project.
1634	//
1635	// UserArn is a required field
1636	UserArn *string `locationName:"userArn" min:"32" type:"string" required:"true"`
1637}
1638
1639// String returns the string representation
1640func (s AssociateTeamMemberInput) String() string {
1641	return awsutil.Prettify(s)
1642}
1643
1644// GoString returns the string representation
1645func (s AssociateTeamMemberInput) GoString() string {
1646	return s.String()
1647}
1648
1649// Validate inspects the fields of the type to determine if they are valid.
1650func (s *AssociateTeamMemberInput) Validate() error {
1651	invalidParams := request.ErrInvalidParams{Context: "AssociateTeamMemberInput"}
1652	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
1653		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
1654	}
1655	if s.ProjectId == nil {
1656		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
1657	}
1658	if s.ProjectId != nil && len(*s.ProjectId) < 2 {
1659		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 2))
1660	}
1661	if s.ProjectRole == nil {
1662		invalidParams.Add(request.NewErrParamRequired("ProjectRole"))
1663	}
1664	if s.UserArn == nil {
1665		invalidParams.Add(request.NewErrParamRequired("UserArn"))
1666	}
1667	if s.UserArn != nil && len(*s.UserArn) < 32 {
1668		invalidParams.Add(request.NewErrParamMinLen("UserArn", 32))
1669	}
1670
1671	if invalidParams.Len() > 0 {
1672		return invalidParams
1673	}
1674	return nil
1675}
1676
1677// SetClientRequestToken sets the ClientRequestToken field's value.
1678func (s *AssociateTeamMemberInput) SetClientRequestToken(v string) *AssociateTeamMemberInput {
1679	s.ClientRequestToken = &v
1680	return s
1681}
1682
1683// SetProjectId sets the ProjectId field's value.
1684func (s *AssociateTeamMemberInput) SetProjectId(v string) *AssociateTeamMemberInput {
1685	s.ProjectId = &v
1686	return s
1687}
1688
1689// SetProjectRole sets the ProjectRole field's value.
1690func (s *AssociateTeamMemberInput) SetProjectRole(v string) *AssociateTeamMemberInput {
1691	s.ProjectRole = &v
1692	return s
1693}
1694
1695// SetRemoteAccessAllowed sets the RemoteAccessAllowed field's value.
1696func (s *AssociateTeamMemberInput) SetRemoteAccessAllowed(v bool) *AssociateTeamMemberInput {
1697	s.RemoteAccessAllowed = &v
1698	return s
1699}
1700
1701// SetUserArn sets the UserArn field's value.
1702func (s *AssociateTeamMemberInput) SetUserArn(v string) *AssociateTeamMemberInput {
1703	s.UserArn = &v
1704	return s
1705}
1706
1707type AssociateTeamMemberOutput struct {
1708	_ struct{} `type:"structure"`
1709
1710	// The user- or system-generated token from the initial request that can be
1711	// used to repeat the request.
1712	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
1713}
1714
1715// String returns the string representation
1716func (s AssociateTeamMemberOutput) String() string {
1717	return awsutil.Prettify(s)
1718}
1719
1720// GoString returns the string representation
1721func (s AssociateTeamMemberOutput) GoString() string {
1722	return s.String()
1723}
1724
1725// SetClientRequestToken sets the ClientRequestToken field's value.
1726func (s *AssociateTeamMemberOutput) SetClientRequestToken(v string) *AssociateTeamMemberOutput {
1727	s.ClientRequestToken = &v
1728	return s
1729}
1730
1731// Location and destination information about the source code files provided
1732// with the project request. The source code is uploaded to the new project
1733// source repository after project creation.
1734type Code struct {
1735	_ struct{} `type:"structure"`
1736
1737	// The repository to be created in AWS CodeStar. Valid values are AWS CodeCommit
1738	// or GitHub. After AWS CodeStar provisions the new repository, the source code
1739	// files provided with the project request are placed in the repository.
1740	//
1741	// Destination is a required field
1742	Destination *CodeDestination `locationName:"destination" type:"structure" required:"true"`
1743
1744	// The location where the source code files provided with the project request
1745	// are stored. AWS CodeStar retrieves the files during project creation.
1746	//
1747	// Source is a required field
1748	Source *CodeSource `locationName:"source" type:"structure" required:"true"`
1749}
1750
1751// String returns the string representation
1752func (s Code) String() string {
1753	return awsutil.Prettify(s)
1754}
1755
1756// GoString returns the string representation
1757func (s Code) GoString() string {
1758	return s.String()
1759}
1760
1761// Validate inspects the fields of the type to determine if they are valid.
1762func (s *Code) Validate() error {
1763	invalidParams := request.ErrInvalidParams{Context: "Code"}
1764	if s.Destination == nil {
1765		invalidParams.Add(request.NewErrParamRequired("Destination"))
1766	}
1767	if s.Source == nil {
1768		invalidParams.Add(request.NewErrParamRequired("Source"))
1769	}
1770	if s.Destination != nil {
1771		if err := s.Destination.Validate(); err != nil {
1772			invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
1773		}
1774	}
1775	if s.Source != nil {
1776		if err := s.Source.Validate(); err != nil {
1777			invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
1778		}
1779	}
1780
1781	if invalidParams.Len() > 0 {
1782		return invalidParams
1783	}
1784	return nil
1785}
1786
1787// SetDestination sets the Destination field's value.
1788func (s *Code) SetDestination(v *CodeDestination) *Code {
1789	s.Destination = v
1790	return s
1791}
1792
1793// SetSource sets the Source field's value.
1794func (s *Code) SetSource(v *CodeSource) *Code {
1795	s.Source = v
1796	return s
1797}
1798
1799// Information about the AWS CodeCommit repository to be created in AWS CodeStar.
1800// This is where the source code files provided with the project request will
1801// be uploaded after project creation.
1802type CodeCommitCodeDestination struct {
1803	_ struct{} `type:"structure"`
1804
1805	// The name of the AWS CodeCommit repository to be created in AWS CodeStar.
1806	//
1807	// Name is a required field
1808	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
1809}
1810
1811// String returns the string representation
1812func (s CodeCommitCodeDestination) String() string {
1813	return awsutil.Prettify(s)
1814}
1815
1816// GoString returns the string representation
1817func (s CodeCommitCodeDestination) GoString() string {
1818	return s.String()
1819}
1820
1821// Validate inspects the fields of the type to determine if they are valid.
1822func (s *CodeCommitCodeDestination) Validate() error {
1823	invalidParams := request.ErrInvalidParams{Context: "CodeCommitCodeDestination"}
1824	if s.Name == nil {
1825		invalidParams.Add(request.NewErrParamRequired("Name"))
1826	}
1827	if s.Name != nil && len(*s.Name) < 1 {
1828		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1829	}
1830
1831	if invalidParams.Len() > 0 {
1832		return invalidParams
1833	}
1834	return nil
1835}
1836
1837// SetName sets the Name field's value.
1838func (s *CodeCommitCodeDestination) SetName(v string) *CodeCommitCodeDestination {
1839	s.Name = &v
1840	return s
1841}
1842
1843// The repository to be created in AWS CodeStar. Valid values are AWS CodeCommit
1844// or GitHub. After AWS CodeStar provisions the new repository, the source code
1845// files provided with the project request are placed in the repository.
1846type CodeDestination struct {
1847	_ struct{} `type:"structure"`
1848
1849	// Information about the AWS CodeCommit repository to be created in AWS CodeStar.
1850	// This is where the source code files provided with the project request will
1851	// be uploaded after project creation.
1852	CodeCommit *CodeCommitCodeDestination `locationName:"codeCommit" type:"structure"`
1853
1854	// Information about the GitHub repository to be created in AWS CodeStar. This
1855	// is where the source code files provided with the project request will be
1856	// uploaded after project creation.
1857	GitHub *GitHubCodeDestination `locationName:"gitHub" type:"structure"`
1858}
1859
1860// String returns the string representation
1861func (s CodeDestination) String() string {
1862	return awsutil.Prettify(s)
1863}
1864
1865// GoString returns the string representation
1866func (s CodeDestination) GoString() string {
1867	return s.String()
1868}
1869
1870// Validate inspects the fields of the type to determine if they are valid.
1871func (s *CodeDestination) Validate() error {
1872	invalidParams := request.ErrInvalidParams{Context: "CodeDestination"}
1873	if s.CodeCommit != nil {
1874		if err := s.CodeCommit.Validate(); err != nil {
1875			invalidParams.AddNested("CodeCommit", err.(request.ErrInvalidParams))
1876		}
1877	}
1878	if s.GitHub != nil {
1879		if err := s.GitHub.Validate(); err != nil {
1880			invalidParams.AddNested("GitHub", err.(request.ErrInvalidParams))
1881		}
1882	}
1883
1884	if invalidParams.Len() > 0 {
1885		return invalidParams
1886	}
1887	return nil
1888}
1889
1890// SetCodeCommit sets the CodeCommit field's value.
1891func (s *CodeDestination) SetCodeCommit(v *CodeCommitCodeDestination) *CodeDestination {
1892	s.CodeCommit = v
1893	return s
1894}
1895
1896// SetGitHub sets the GitHub field's value.
1897func (s *CodeDestination) SetGitHub(v *GitHubCodeDestination) *CodeDestination {
1898	s.GitHub = v
1899	return s
1900}
1901
1902// The location where the source code files provided with the project request
1903// are stored. AWS CodeStar retrieves the files during project creation.
1904type CodeSource struct {
1905	_ struct{} `type:"structure"`
1906
1907	// Information about the Amazon S3 location where the source code files provided
1908	// with the project request are stored.
1909	//
1910	// S3 is a required field
1911	S3 *S3Location `locationName:"s3" type:"structure" required:"true"`
1912}
1913
1914// String returns the string representation
1915func (s CodeSource) String() string {
1916	return awsutil.Prettify(s)
1917}
1918
1919// GoString returns the string representation
1920func (s CodeSource) GoString() string {
1921	return s.String()
1922}
1923
1924// Validate inspects the fields of the type to determine if they are valid.
1925func (s *CodeSource) Validate() error {
1926	invalidParams := request.ErrInvalidParams{Context: "CodeSource"}
1927	if s.S3 == nil {
1928		invalidParams.Add(request.NewErrParamRequired("S3"))
1929	}
1930	if s.S3 != nil {
1931		if err := s.S3.Validate(); err != nil {
1932			invalidParams.AddNested("S3", err.(request.ErrInvalidParams))
1933		}
1934	}
1935
1936	if invalidParams.Len() > 0 {
1937		return invalidParams
1938	}
1939	return nil
1940}
1941
1942// SetS3 sets the S3 field's value.
1943func (s *CodeSource) SetS3(v *S3Location) *CodeSource {
1944	s.S3 = v
1945	return s
1946}
1947
1948type CreateProjectInput struct {
1949	_ struct{} `type:"structure"`
1950
1951	// A user- or system-generated token that identifies the entity that requested
1952	// project creation. This token can be used to repeat the request.
1953	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
1954
1955	// The description of the project, if any.
1956	Description *string `locationName:"description" type:"string" sensitive:"true"`
1957
1958	// The ID of the project to be created in AWS CodeStar.
1959	//
1960	// Id is a required field
1961	Id *string `locationName:"id" min:"2" type:"string" required:"true"`
1962
1963	// The display name for the project to be created in AWS CodeStar.
1964	//
1965	// Name is a required field
1966	Name *string `locationName:"name" min:"1" type:"string" required:"true" sensitive:"true"`
1967
1968	// A list of the Code objects submitted with the project request. If this parameter
1969	// is specified, the request must also include the toolchain parameter.
1970	SourceCode []*Code `locationName:"sourceCode" type:"list"`
1971
1972	// The tags created for the project.
1973	Tags map[string]*string `locationName:"tags" type:"map"`
1974
1975	// The name of the toolchain template file submitted with the project request.
1976	// If this parameter is specified, the request must also include the sourceCode
1977	// parameter.
1978	Toolchain *Toolchain `locationName:"toolchain" type:"structure"`
1979}
1980
1981// String returns the string representation
1982func (s CreateProjectInput) String() string {
1983	return awsutil.Prettify(s)
1984}
1985
1986// GoString returns the string representation
1987func (s CreateProjectInput) GoString() string {
1988	return s.String()
1989}
1990
1991// Validate inspects the fields of the type to determine if they are valid.
1992func (s *CreateProjectInput) Validate() error {
1993	invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"}
1994	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
1995		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
1996	}
1997	if s.Id == nil {
1998		invalidParams.Add(request.NewErrParamRequired("Id"))
1999	}
2000	if s.Id != nil && len(*s.Id) < 2 {
2001		invalidParams.Add(request.NewErrParamMinLen("Id", 2))
2002	}
2003	if s.Name == nil {
2004		invalidParams.Add(request.NewErrParamRequired("Name"))
2005	}
2006	if s.Name != nil && len(*s.Name) < 1 {
2007		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
2008	}
2009	if s.SourceCode != nil {
2010		for i, v := range s.SourceCode {
2011			if v == nil {
2012				continue
2013			}
2014			if err := v.Validate(); err != nil {
2015				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SourceCode", i), err.(request.ErrInvalidParams))
2016			}
2017		}
2018	}
2019	if s.Toolchain != nil {
2020		if err := s.Toolchain.Validate(); err != nil {
2021			invalidParams.AddNested("Toolchain", err.(request.ErrInvalidParams))
2022		}
2023	}
2024
2025	if invalidParams.Len() > 0 {
2026		return invalidParams
2027	}
2028	return nil
2029}
2030
2031// SetClientRequestToken sets the ClientRequestToken field's value.
2032func (s *CreateProjectInput) SetClientRequestToken(v string) *CreateProjectInput {
2033	s.ClientRequestToken = &v
2034	return s
2035}
2036
2037// SetDescription sets the Description field's value.
2038func (s *CreateProjectInput) SetDescription(v string) *CreateProjectInput {
2039	s.Description = &v
2040	return s
2041}
2042
2043// SetId sets the Id field's value.
2044func (s *CreateProjectInput) SetId(v string) *CreateProjectInput {
2045	s.Id = &v
2046	return s
2047}
2048
2049// SetName sets the Name field's value.
2050func (s *CreateProjectInput) SetName(v string) *CreateProjectInput {
2051	s.Name = &v
2052	return s
2053}
2054
2055// SetSourceCode sets the SourceCode field's value.
2056func (s *CreateProjectInput) SetSourceCode(v []*Code) *CreateProjectInput {
2057	s.SourceCode = v
2058	return s
2059}
2060
2061// SetTags sets the Tags field's value.
2062func (s *CreateProjectInput) SetTags(v map[string]*string) *CreateProjectInput {
2063	s.Tags = v
2064	return s
2065}
2066
2067// SetToolchain sets the Toolchain field's value.
2068func (s *CreateProjectInput) SetToolchain(v *Toolchain) *CreateProjectInput {
2069	s.Toolchain = v
2070	return s
2071}
2072
2073type CreateProjectOutput struct {
2074	_ struct{} `type:"structure"`
2075
2076	// The Amazon Resource Name (ARN) of the created project.
2077	//
2078	// Arn is a required field
2079	Arn *string `locationName:"arn" type:"string" required:"true"`
2080
2081	// A user- or system-generated token that identifies the entity that requested
2082	// project creation.
2083	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
2084
2085	// The ID of the project.
2086	//
2087	// Id is a required field
2088	Id *string `locationName:"id" min:"2" type:"string" required:"true"`
2089
2090	// Reserved for future use.
2091	ProjectTemplateId *string `locationName:"projectTemplateId" min:"1" type:"string"`
2092}
2093
2094// String returns the string representation
2095func (s CreateProjectOutput) String() string {
2096	return awsutil.Prettify(s)
2097}
2098
2099// GoString returns the string representation
2100func (s CreateProjectOutput) GoString() string {
2101	return s.String()
2102}
2103
2104// SetArn sets the Arn field's value.
2105func (s *CreateProjectOutput) SetArn(v string) *CreateProjectOutput {
2106	s.Arn = &v
2107	return s
2108}
2109
2110// SetClientRequestToken sets the ClientRequestToken field's value.
2111func (s *CreateProjectOutput) SetClientRequestToken(v string) *CreateProjectOutput {
2112	s.ClientRequestToken = &v
2113	return s
2114}
2115
2116// SetId sets the Id field's value.
2117func (s *CreateProjectOutput) SetId(v string) *CreateProjectOutput {
2118	s.Id = &v
2119	return s
2120}
2121
2122// SetProjectTemplateId sets the ProjectTemplateId field's value.
2123func (s *CreateProjectOutput) SetProjectTemplateId(v string) *CreateProjectOutput {
2124	s.ProjectTemplateId = &v
2125	return s
2126}
2127
2128type CreateUserProfileInput struct {
2129	_ struct{} `type:"structure"`
2130
2131	// The name that will be displayed as the friendly name for the user in AWS
2132	// CodeStar.
2133	//
2134	// DisplayName is a required field
2135	DisplayName *string `locationName:"displayName" min:"1" type:"string" required:"true" sensitive:"true"`
2136
2137	// The email address that will be displayed as part of the user's profile in
2138	// AWS CodeStar.
2139	//
2140	// EmailAddress is a required field
2141	EmailAddress *string `locationName:"emailAddress" min:"3" type:"string" required:"true" sensitive:"true"`
2142
2143	// The SSH public key associated with the user in AWS CodeStar. If a project
2144	// owner allows the user remote access to project resources, this public key
2145	// will be used along with the user's private key for SSH access.
2146	SshPublicKey *string `locationName:"sshPublicKey" type:"string"`
2147
2148	// The Amazon Resource Name (ARN) of the user in IAM.
2149	//
2150	// UserArn is a required field
2151	UserArn *string `locationName:"userArn" min:"32" type:"string" required:"true"`
2152}
2153
2154// String returns the string representation
2155func (s CreateUserProfileInput) String() string {
2156	return awsutil.Prettify(s)
2157}
2158
2159// GoString returns the string representation
2160func (s CreateUserProfileInput) GoString() string {
2161	return s.String()
2162}
2163
2164// Validate inspects the fields of the type to determine if they are valid.
2165func (s *CreateUserProfileInput) Validate() error {
2166	invalidParams := request.ErrInvalidParams{Context: "CreateUserProfileInput"}
2167	if s.DisplayName == nil {
2168		invalidParams.Add(request.NewErrParamRequired("DisplayName"))
2169	}
2170	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
2171		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
2172	}
2173	if s.EmailAddress == nil {
2174		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
2175	}
2176	if s.EmailAddress != nil && len(*s.EmailAddress) < 3 {
2177		invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 3))
2178	}
2179	if s.UserArn == nil {
2180		invalidParams.Add(request.NewErrParamRequired("UserArn"))
2181	}
2182	if s.UserArn != nil && len(*s.UserArn) < 32 {
2183		invalidParams.Add(request.NewErrParamMinLen("UserArn", 32))
2184	}
2185
2186	if invalidParams.Len() > 0 {
2187		return invalidParams
2188	}
2189	return nil
2190}
2191
2192// SetDisplayName sets the DisplayName field's value.
2193func (s *CreateUserProfileInput) SetDisplayName(v string) *CreateUserProfileInput {
2194	s.DisplayName = &v
2195	return s
2196}
2197
2198// SetEmailAddress sets the EmailAddress field's value.
2199func (s *CreateUserProfileInput) SetEmailAddress(v string) *CreateUserProfileInput {
2200	s.EmailAddress = &v
2201	return s
2202}
2203
2204// SetSshPublicKey sets the SshPublicKey field's value.
2205func (s *CreateUserProfileInput) SetSshPublicKey(v string) *CreateUserProfileInput {
2206	s.SshPublicKey = &v
2207	return s
2208}
2209
2210// SetUserArn sets the UserArn field's value.
2211func (s *CreateUserProfileInput) SetUserArn(v string) *CreateUserProfileInput {
2212	s.UserArn = &v
2213	return s
2214}
2215
2216type CreateUserProfileOutput struct {
2217	_ struct{} `type:"structure"`
2218
2219	// The date the user profile was created, in timestamp format.
2220	CreatedTimestamp *time.Time `locationName:"createdTimestamp" type:"timestamp"`
2221
2222	// The name that is displayed as the friendly name for the user in AWS CodeStar.
2223	DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"`
2224
2225	// The email address that is displayed as part of the user's profile in AWS
2226	// CodeStar.
2227	EmailAddress *string `locationName:"emailAddress" min:"3" type:"string" sensitive:"true"`
2228
2229	// The date the user profile was last modified, in timestamp format.
2230	LastModifiedTimestamp *time.Time `locationName:"lastModifiedTimestamp" type:"timestamp"`
2231
2232	// The SSH public key associated with the user in AWS CodeStar. This is the
2233	// public portion of the public/private keypair the user can use to access project
2234	// resources if a project owner allows the user remote access to those resources.
2235	SshPublicKey *string `locationName:"sshPublicKey" type:"string"`
2236
2237	// The Amazon Resource Name (ARN) of the user in IAM.
2238	//
2239	// UserArn is a required field
2240	UserArn *string `locationName:"userArn" min:"32" type:"string" required:"true"`
2241}
2242
2243// String returns the string representation
2244func (s CreateUserProfileOutput) String() string {
2245	return awsutil.Prettify(s)
2246}
2247
2248// GoString returns the string representation
2249func (s CreateUserProfileOutput) GoString() string {
2250	return s.String()
2251}
2252
2253// SetCreatedTimestamp sets the CreatedTimestamp field's value.
2254func (s *CreateUserProfileOutput) SetCreatedTimestamp(v time.Time) *CreateUserProfileOutput {
2255	s.CreatedTimestamp = &v
2256	return s
2257}
2258
2259// SetDisplayName sets the DisplayName field's value.
2260func (s *CreateUserProfileOutput) SetDisplayName(v string) *CreateUserProfileOutput {
2261	s.DisplayName = &v
2262	return s
2263}
2264
2265// SetEmailAddress sets the EmailAddress field's value.
2266func (s *CreateUserProfileOutput) SetEmailAddress(v string) *CreateUserProfileOutput {
2267	s.EmailAddress = &v
2268	return s
2269}
2270
2271// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value.
2272func (s *CreateUserProfileOutput) SetLastModifiedTimestamp(v time.Time) *CreateUserProfileOutput {
2273	s.LastModifiedTimestamp = &v
2274	return s
2275}
2276
2277// SetSshPublicKey sets the SshPublicKey field's value.
2278func (s *CreateUserProfileOutput) SetSshPublicKey(v string) *CreateUserProfileOutput {
2279	s.SshPublicKey = &v
2280	return s
2281}
2282
2283// SetUserArn sets the UserArn field's value.
2284func (s *CreateUserProfileOutput) SetUserArn(v string) *CreateUserProfileOutput {
2285	s.UserArn = &v
2286	return s
2287}
2288
2289type DeleteProjectInput struct {
2290	_ struct{} `type:"structure"`
2291
2292	// A user- or system-generated token that identifies the entity that requested
2293	// project deletion. This token can be used to repeat the request.
2294	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
2295
2296	// Whether to send a delete request for the primary stack in AWS CloudFormation
2297	// originally used to generate the project and its resources. This option will
2298	// delete all AWS resources for the project (except for any buckets in Amazon
2299	// S3) as well as deleting the project itself. Recommended for most use cases.
2300	DeleteStack *bool `locationName:"deleteStack" type:"boolean"`
2301
2302	// The ID of the project to be deleted in AWS CodeStar.
2303	//
2304	// Id is a required field
2305	Id *string `locationName:"id" min:"2" type:"string" required:"true"`
2306}
2307
2308// String returns the string representation
2309func (s DeleteProjectInput) String() string {
2310	return awsutil.Prettify(s)
2311}
2312
2313// GoString returns the string representation
2314func (s DeleteProjectInput) GoString() string {
2315	return s.String()
2316}
2317
2318// Validate inspects the fields of the type to determine if they are valid.
2319func (s *DeleteProjectInput) Validate() error {
2320	invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"}
2321	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
2322		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
2323	}
2324	if s.Id == nil {
2325		invalidParams.Add(request.NewErrParamRequired("Id"))
2326	}
2327	if s.Id != nil && len(*s.Id) < 2 {
2328		invalidParams.Add(request.NewErrParamMinLen("Id", 2))
2329	}
2330
2331	if invalidParams.Len() > 0 {
2332		return invalidParams
2333	}
2334	return nil
2335}
2336
2337// SetClientRequestToken sets the ClientRequestToken field's value.
2338func (s *DeleteProjectInput) SetClientRequestToken(v string) *DeleteProjectInput {
2339	s.ClientRequestToken = &v
2340	return s
2341}
2342
2343// SetDeleteStack sets the DeleteStack field's value.
2344func (s *DeleteProjectInput) SetDeleteStack(v bool) *DeleteProjectInput {
2345	s.DeleteStack = &v
2346	return s
2347}
2348
2349// SetId sets the Id field's value.
2350func (s *DeleteProjectInput) SetId(v string) *DeleteProjectInput {
2351	s.Id = &v
2352	return s
2353}
2354
2355type DeleteProjectOutput struct {
2356	_ struct{} `type:"structure"`
2357
2358	// The Amazon Resource Name (ARN) of the deleted project.
2359	ProjectArn *string `locationName:"projectArn" type:"string"`
2360
2361	// The ID of the primary stack in AWS CloudFormation that will be deleted as
2362	// part of deleting the project and its resources.
2363	StackId *string `locationName:"stackId" type:"string"`
2364}
2365
2366// String returns the string representation
2367func (s DeleteProjectOutput) String() string {
2368	return awsutil.Prettify(s)
2369}
2370
2371// GoString returns the string representation
2372func (s DeleteProjectOutput) GoString() string {
2373	return s.String()
2374}
2375
2376// SetProjectArn sets the ProjectArn field's value.
2377func (s *DeleteProjectOutput) SetProjectArn(v string) *DeleteProjectOutput {
2378	s.ProjectArn = &v
2379	return s
2380}
2381
2382// SetStackId sets the StackId field's value.
2383func (s *DeleteProjectOutput) SetStackId(v string) *DeleteProjectOutput {
2384	s.StackId = &v
2385	return s
2386}
2387
2388type DeleteUserProfileInput struct {
2389	_ struct{} `type:"structure"`
2390
2391	// The Amazon Resource Name (ARN) of the user to delete from AWS CodeStar.
2392	//
2393	// UserArn is a required field
2394	UserArn *string `locationName:"userArn" min:"32" type:"string" required:"true"`
2395}
2396
2397// String returns the string representation
2398func (s DeleteUserProfileInput) String() string {
2399	return awsutil.Prettify(s)
2400}
2401
2402// GoString returns the string representation
2403func (s DeleteUserProfileInput) GoString() string {
2404	return s.String()
2405}
2406
2407// Validate inspects the fields of the type to determine if they are valid.
2408func (s *DeleteUserProfileInput) Validate() error {
2409	invalidParams := request.ErrInvalidParams{Context: "DeleteUserProfileInput"}
2410	if s.UserArn == nil {
2411		invalidParams.Add(request.NewErrParamRequired("UserArn"))
2412	}
2413	if s.UserArn != nil && len(*s.UserArn) < 32 {
2414		invalidParams.Add(request.NewErrParamMinLen("UserArn", 32))
2415	}
2416
2417	if invalidParams.Len() > 0 {
2418		return invalidParams
2419	}
2420	return nil
2421}
2422
2423// SetUserArn sets the UserArn field's value.
2424func (s *DeleteUserProfileInput) SetUserArn(v string) *DeleteUserProfileInput {
2425	s.UserArn = &v
2426	return s
2427}
2428
2429type DeleteUserProfileOutput struct {
2430	_ struct{} `type:"structure"`
2431
2432	// The Amazon Resource Name (ARN) of the user deleted from AWS CodeStar.
2433	//
2434	// UserArn is a required field
2435	UserArn *string `locationName:"userArn" min:"32" type:"string" required:"true"`
2436}
2437
2438// String returns the string representation
2439func (s DeleteUserProfileOutput) String() string {
2440	return awsutil.Prettify(s)
2441}
2442
2443// GoString returns the string representation
2444func (s DeleteUserProfileOutput) GoString() string {
2445	return s.String()
2446}
2447
2448// SetUserArn sets the UserArn field's value.
2449func (s *DeleteUserProfileOutput) SetUserArn(v string) *DeleteUserProfileOutput {
2450	s.UserArn = &v
2451	return s
2452}
2453
2454type DescribeProjectInput struct {
2455	_ struct{} `type:"structure"`
2456
2457	// The ID of the project.
2458	//
2459	// Id is a required field
2460	Id *string `locationName:"id" min:"2" type:"string" required:"true"`
2461}
2462
2463// String returns the string representation
2464func (s DescribeProjectInput) String() string {
2465	return awsutil.Prettify(s)
2466}
2467
2468// GoString returns the string representation
2469func (s DescribeProjectInput) GoString() string {
2470	return s.String()
2471}
2472
2473// Validate inspects the fields of the type to determine if they are valid.
2474func (s *DescribeProjectInput) Validate() error {
2475	invalidParams := request.ErrInvalidParams{Context: "DescribeProjectInput"}
2476	if s.Id == nil {
2477		invalidParams.Add(request.NewErrParamRequired("Id"))
2478	}
2479	if s.Id != nil && len(*s.Id) < 2 {
2480		invalidParams.Add(request.NewErrParamMinLen("Id", 2))
2481	}
2482
2483	if invalidParams.Len() > 0 {
2484		return invalidParams
2485	}
2486	return nil
2487}
2488
2489// SetId sets the Id field's value.
2490func (s *DescribeProjectInput) SetId(v string) *DescribeProjectInput {
2491	s.Id = &v
2492	return s
2493}
2494
2495type DescribeProjectOutput struct {
2496	_ struct{} `type:"structure"`
2497
2498	// The Amazon Resource Name (ARN) for the project.
2499	Arn *string `locationName:"arn" type:"string"`
2500
2501	// A user- or system-generated token that identifies the entity that requested
2502	// project creation.
2503	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
2504
2505	// The date and time the project was created, in timestamp format.
2506	CreatedTimeStamp *time.Time `locationName:"createdTimeStamp" type:"timestamp"`
2507
2508	// The description of the project, if any.
2509	Description *string `locationName:"description" type:"string" sensitive:"true"`
2510
2511	// The ID of the project.
2512	Id *string `locationName:"id" min:"2" type:"string"`
2513
2514	// The display name for the project.
2515	Name *string `locationName:"name" min:"1" type:"string" sensitive:"true"`
2516
2517	// The ID for the AWS CodeStar project template used to create the project.
2518	ProjectTemplateId *string `locationName:"projectTemplateId" min:"1" type:"string"`
2519
2520	// The ID of the primary stack in AWS CloudFormation used to generate resources
2521	// for the project.
2522	StackId *string `locationName:"stackId" type:"string"`
2523
2524	// The project creation or deletion status.
2525	Status *ProjectStatus `locationName:"status" type:"structure"`
2526}
2527
2528// String returns the string representation
2529func (s DescribeProjectOutput) String() string {
2530	return awsutil.Prettify(s)
2531}
2532
2533// GoString returns the string representation
2534func (s DescribeProjectOutput) GoString() string {
2535	return s.String()
2536}
2537
2538// SetArn sets the Arn field's value.
2539func (s *DescribeProjectOutput) SetArn(v string) *DescribeProjectOutput {
2540	s.Arn = &v
2541	return s
2542}
2543
2544// SetClientRequestToken sets the ClientRequestToken field's value.
2545func (s *DescribeProjectOutput) SetClientRequestToken(v string) *DescribeProjectOutput {
2546	s.ClientRequestToken = &v
2547	return s
2548}
2549
2550// SetCreatedTimeStamp sets the CreatedTimeStamp field's value.
2551func (s *DescribeProjectOutput) SetCreatedTimeStamp(v time.Time) *DescribeProjectOutput {
2552	s.CreatedTimeStamp = &v
2553	return s
2554}
2555
2556// SetDescription sets the Description field's value.
2557func (s *DescribeProjectOutput) SetDescription(v string) *DescribeProjectOutput {
2558	s.Description = &v
2559	return s
2560}
2561
2562// SetId sets the Id field's value.
2563func (s *DescribeProjectOutput) SetId(v string) *DescribeProjectOutput {
2564	s.Id = &v
2565	return s
2566}
2567
2568// SetName sets the Name field's value.
2569func (s *DescribeProjectOutput) SetName(v string) *DescribeProjectOutput {
2570	s.Name = &v
2571	return s
2572}
2573
2574// SetProjectTemplateId sets the ProjectTemplateId field's value.
2575func (s *DescribeProjectOutput) SetProjectTemplateId(v string) *DescribeProjectOutput {
2576	s.ProjectTemplateId = &v
2577	return s
2578}
2579
2580// SetStackId sets the StackId field's value.
2581func (s *DescribeProjectOutput) SetStackId(v string) *DescribeProjectOutput {
2582	s.StackId = &v
2583	return s
2584}
2585
2586// SetStatus sets the Status field's value.
2587func (s *DescribeProjectOutput) SetStatus(v *ProjectStatus) *DescribeProjectOutput {
2588	s.Status = v
2589	return s
2590}
2591
2592type DescribeUserProfileInput struct {
2593	_ struct{} `type:"structure"`
2594
2595	// The Amazon Resource Name (ARN) of the user.
2596	//
2597	// UserArn is a required field
2598	UserArn *string `locationName:"userArn" min:"32" type:"string" required:"true"`
2599}
2600
2601// String returns the string representation
2602func (s DescribeUserProfileInput) String() string {
2603	return awsutil.Prettify(s)
2604}
2605
2606// GoString returns the string representation
2607func (s DescribeUserProfileInput) GoString() string {
2608	return s.String()
2609}
2610
2611// Validate inspects the fields of the type to determine if they are valid.
2612func (s *DescribeUserProfileInput) Validate() error {
2613	invalidParams := request.ErrInvalidParams{Context: "DescribeUserProfileInput"}
2614	if s.UserArn == nil {
2615		invalidParams.Add(request.NewErrParamRequired("UserArn"))
2616	}
2617	if s.UserArn != nil && len(*s.UserArn) < 32 {
2618		invalidParams.Add(request.NewErrParamMinLen("UserArn", 32))
2619	}
2620
2621	if invalidParams.Len() > 0 {
2622		return invalidParams
2623	}
2624	return nil
2625}
2626
2627// SetUserArn sets the UserArn field's value.
2628func (s *DescribeUserProfileInput) SetUserArn(v string) *DescribeUserProfileInput {
2629	s.UserArn = &v
2630	return s
2631}
2632
2633type DescribeUserProfileOutput struct {
2634	_ struct{} `type:"structure"`
2635
2636	// The date and time when the user profile was created in AWS CodeStar, in timestamp
2637	// format.
2638	//
2639	// CreatedTimestamp is a required field
2640	CreatedTimestamp *time.Time `locationName:"createdTimestamp" type:"timestamp" required:"true"`
2641
2642	// The display name shown for the user in AWS CodeStar projects. For example,
2643	// this could be set to both first and last name ("Mary Major") or a single
2644	// name ("Mary"). The display name is also used to generate the initial icon
2645	// associated with the user in AWS CodeStar projects. If spaces are included
2646	// in the display name, the first character that appears after the space will
2647	// be used as the second character in the user initial icon. The initial icon
2648	// displays a maximum of two characters, so a display name with more than one
2649	// space (for example "Mary Jane Major") would generate an initial icon using
2650	// the first character and the first character after the space ("MJ", not "MM").
2651	DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"`
2652
2653	// The email address for the user. Optional.
2654	EmailAddress *string `locationName:"emailAddress" min:"3" type:"string" sensitive:"true"`
2655
2656	// The date and time when the user profile was last modified, in timestamp format.
2657	//
2658	// LastModifiedTimestamp is a required field
2659	LastModifiedTimestamp *time.Time `locationName:"lastModifiedTimestamp" type:"timestamp" required:"true"`
2660
2661	// The SSH public key associated with the user. This SSH public key is associated
2662	// with the user profile, and can be used in conjunction with the associated
2663	// private key for access to project resources, such as Amazon EC2 instances,
2664	// if a project owner grants remote access to those resources.
2665	SshPublicKey *string `locationName:"sshPublicKey" type:"string"`
2666
2667	// The Amazon Resource Name (ARN) of the user.
2668	//
2669	// UserArn is a required field
2670	UserArn *string `locationName:"userArn" min:"32" type:"string" required:"true"`
2671}
2672
2673// String returns the string representation
2674func (s DescribeUserProfileOutput) String() string {
2675	return awsutil.Prettify(s)
2676}
2677
2678// GoString returns the string representation
2679func (s DescribeUserProfileOutput) GoString() string {
2680	return s.String()
2681}
2682
2683// SetCreatedTimestamp sets the CreatedTimestamp field's value.
2684func (s *DescribeUserProfileOutput) SetCreatedTimestamp(v time.Time) *DescribeUserProfileOutput {
2685	s.CreatedTimestamp = &v
2686	return s
2687}
2688
2689// SetDisplayName sets the DisplayName field's value.
2690func (s *DescribeUserProfileOutput) SetDisplayName(v string) *DescribeUserProfileOutput {
2691	s.DisplayName = &v
2692	return s
2693}
2694
2695// SetEmailAddress sets the EmailAddress field's value.
2696func (s *DescribeUserProfileOutput) SetEmailAddress(v string) *DescribeUserProfileOutput {
2697	s.EmailAddress = &v
2698	return s
2699}
2700
2701// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value.
2702func (s *DescribeUserProfileOutput) SetLastModifiedTimestamp(v time.Time) *DescribeUserProfileOutput {
2703	s.LastModifiedTimestamp = &v
2704	return s
2705}
2706
2707// SetSshPublicKey sets the SshPublicKey field's value.
2708func (s *DescribeUserProfileOutput) SetSshPublicKey(v string) *DescribeUserProfileOutput {
2709	s.SshPublicKey = &v
2710	return s
2711}
2712
2713// SetUserArn sets the UserArn field's value.
2714func (s *DescribeUserProfileOutput) SetUserArn(v string) *DescribeUserProfileOutput {
2715	s.UserArn = &v
2716	return s
2717}
2718
2719type DisassociateTeamMemberInput struct {
2720	_ struct{} `type:"structure"`
2721
2722	// The ID of the AWS CodeStar project from which you want to remove a team member.
2723	//
2724	// ProjectId is a required field
2725	ProjectId *string `locationName:"projectId" min:"2" type:"string" required:"true"`
2726
2727	// The Amazon Resource Name (ARN) of the IAM user or group whom you want to
2728	// remove from the project.
2729	//
2730	// UserArn is a required field
2731	UserArn *string `locationName:"userArn" min:"32" type:"string" required:"true"`
2732}
2733
2734// String returns the string representation
2735func (s DisassociateTeamMemberInput) String() string {
2736	return awsutil.Prettify(s)
2737}
2738
2739// GoString returns the string representation
2740func (s DisassociateTeamMemberInput) GoString() string {
2741	return s.String()
2742}
2743
2744// Validate inspects the fields of the type to determine if they are valid.
2745func (s *DisassociateTeamMemberInput) Validate() error {
2746	invalidParams := request.ErrInvalidParams{Context: "DisassociateTeamMemberInput"}
2747	if s.ProjectId == nil {
2748		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
2749	}
2750	if s.ProjectId != nil && len(*s.ProjectId) < 2 {
2751		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 2))
2752	}
2753	if s.UserArn == nil {
2754		invalidParams.Add(request.NewErrParamRequired("UserArn"))
2755	}
2756	if s.UserArn != nil && len(*s.UserArn) < 32 {
2757		invalidParams.Add(request.NewErrParamMinLen("UserArn", 32))
2758	}
2759
2760	if invalidParams.Len() > 0 {
2761		return invalidParams
2762	}
2763	return nil
2764}
2765
2766// SetProjectId sets the ProjectId field's value.
2767func (s *DisassociateTeamMemberInput) SetProjectId(v string) *DisassociateTeamMemberInput {
2768	s.ProjectId = &v
2769	return s
2770}
2771
2772// SetUserArn sets the UserArn field's value.
2773func (s *DisassociateTeamMemberInput) SetUserArn(v string) *DisassociateTeamMemberInput {
2774	s.UserArn = &v
2775	return s
2776}
2777
2778type DisassociateTeamMemberOutput struct {
2779	_ struct{} `type:"structure"`
2780}
2781
2782// String returns the string representation
2783func (s DisassociateTeamMemberOutput) String() string {
2784	return awsutil.Prettify(s)
2785}
2786
2787// GoString returns the string representation
2788func (s DisassociateTeamMemberOutput) GoString() string {
2789	return s.String()
2790}
2791
2792// Information about the GitHub repository to be created in AWS CodeStar. This
2793// is where the source code files provided with the project request will be
2794// uploaded after project creation.
2795type GitHubCodeDestination struct {
2796	_ struct{} `type:"structure"`
2797
2798	// Description for the GitHub repository to be created in AWS CodeStar. This
2799	// description displays in GitHub after the repository is created.
2800	Description *string `locationName:"description" min:"1" type:"string"`
2801
2802	// Whether to enable issues for the GitHub repository.
2803	//
2804	// IssuesEnabled is a required field
2805	IssuesEnabled *bool `locationName:"issuesEnabled" type:"boolean" required:"true"`
2806
2807	// Name of the GitHub repository to be created in AWS CodeStar.
2808	//
2809	// Name is a required field
2810	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
2811
2812	// The GitHub username for the owner of the GitHub repository to be created
2813	// in AWS CodeStar. If this repository should be owned by a GitHub organization,
2814	// provide its name.
2815	//
2816	// Owner is a required field
2817	Owner *string `locationName:"owner" min:"1" type:"string" required:"true"`
2818
2819	// Whether the GitHub repository is to be a private repository.
2820	//
2821	// PrivateRepository is a required field
2822	PrivateRepository *bool `locationName:"privateRepository" type:"boolean" required:"true"`
2823
2824	// The GitHub user's personal access token for the GitHub repository.
2825	//
2826	// Token is a required field
2827	Token *string `locationName:"token" min:"1" type:"string" required:"true" sensitive:"true"`
2828
2829	// The type of GitHub repository to be created in AWS CodeStar. Valid values
2830	// are User or Organization.
2831	//
2832	// Type is a required field
2833	Type *string `locationName:"type" type:"string" required:"true"`
2834}
2835
2836// String returns the string representation
2837func (s GitHubCodeDestination) String() string {
2838	return awsutil.Prettify(s)
2839}
2840
2841// GoString returns the string representation
2842func (s GitHubCodeDestination) GoString() string {
2843	return s.String()
2844}
2845
2846// Validate inspects the fields of the type to determine if they are valid.
2847func (s *GitHubCodeDestination) Validate() error {
2848	invalidParams := request.ErrInvalidParams{Context: "GitHubCodeDestination"}
2849	if s.Description != nil && len(*s.Description) < 1 {
2850		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
2851	}
2852	if s.IssuesEnabled == nil {
2853		invalidParams.Add(request.NewErrParamRequired("IssuesEnabled"))
2854	}
2855	if s.Name == nil {
2856		invalidParams.Add(request.NewErrParamRequired("Name"))
2857	}
2858	if s.Name != nil && len(*s.Name) < 1 {
2859		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
2860	}
2861	if s.Owner == nil {
2862		invalidParams.Add(request.NewErrParamRequired("Owner"))
2863	}
2864	if s.Owner != nil && len(*s.Owner) < 1 {
2865		invalidParams.Add(request.NewErrParamMinLen("Owner", 1))
2866	}
2867	if s.PrivateRepository == nil {
2868		invalidParams.Add(request.NewErrParamRequired("PrivateRepository"))
2869	}
2870	if s.Token == nil {
2871		invalidParams.Add(request.NewErrParamRequired("Token"))
2872	}
2873	if s.Token != nil && len(*s.Token) < 1 {
2874		invalidParams.Add(request.NewErrParamMinLen("Token", 1))
2875	}
2876	if s.Type == nil {
2877		invalidParams.Add(request.NewErrParamRequired("Type"))
2878	}
2879
2880	if invalidParams.Len() > 0 {
2881		return invalidParams
2882	}
2883	return nil
2884}
2885
2886// SetDescription sets the Description field's value.
2887func (s *GitHubCodeDestination) SetDescription(v string) *GitHubCodeDestination {
2888	s.Description = &v
2889	return s
2890}
2891
2892// SetIssuesEnabled sets the IssuesEnabled field's value.
2893func (s *GitHubCodeDestination) SetIssuesEnabled(v bool) *GitHubCodeDestination {
2894	s.IssuesEnabled = &v
2895	return s
2896}
2897
2898// SetName sets the Name field's value.
2899func (s *GitHubCodeDestination) SetName(v string) *GitHubCodeDestination {
2900	s.Name = &v
2901	return s
2902}
2903
2904// SetOwner sets the Owner field's value.
2905func (s *GitHubCodeDestination) SetOwner(v string) *GitHubCodeDestination {
2906	s.Owner = &v
2907	return s
2908}
2909
2910// SetPrivateRepository sets the PrivateRepository field's value.
2911func (s *GitHubCodeDestination) SetPrivateRepository(v bool) *GitHubCodeDestination {
2912	s.PrivateRepository = &v
2913	return s
2914}
2915
2916// SetToken sets the Token field's value.
2917func (s *GitHubCodeDestination) SetToken(v string) *GitHubCodeDestination {
2918	s.Token = &v
2919	return s
2920}
2921
2922// SetType sets the Type field's value.
2923func (s *GitHubCodeDestination) SetType(v string) *GitHubCodeDestination {
2924	s.Type = &v
2925	return s
2926}
2927
2928type ListProjectsInput struct {
2929	_ struct{} `type:"structure"`
2930
2931	// The maximum amount of data that can be contained in a single set of results.
2932	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
2933
2934	// The continuation token to be used to return the next set of results, if the
2935	// results cannot be returned in one response.
2936	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
2937}
2938
2939// String returns the string representation
2940func (s ListProjectsInput) String() string {
2941	return awsutil.Prettify(s)
2942}
2943
2944// GoString returns the string representation
2945func (s ListProjectsInput) GoString() string {
2946	return s.String()
2947}
2948
2949// Validate inspects the fields of the type to determine if they are valid.
2950func (s *ListProjectsInput) Validate() error {
2951	invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"}
2952	if s.MaxResults != nil && *s.MaxResults < 1 {
2953		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
2954	}
2955	if s.NextToken != nil && len(*s.NextToken) < 1 {
2956		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
2957	}
2958
2959	if invalidParams.Len() > 0 {
2960		return invalidParams
2961	}
2962	return nil
2963}
2964
2965// SetMaxResults sets the MaxResults field's value.
2966func (s *ListProjectsInput) SetMaxResults(v int64) *ListProjectsInput {
2967	s.MaxResults = &v
2968	return s
2969}
2970
2971// SetNextToken sets the NextToken field's value.
2972func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput {
2973	s.NextToken = &v
2974	return s
2975}
2976
2977type ListProjectsOutput struct {
2978	_ struct{} `type:"structure"`
2979
2980	// The continuation token to use when requesting the next set of results, if
2981	// there are more results to be returned.
2982	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
2983
2984	// A list of projects.
2985	//
2986	// Projects is a required field
2987	Projects []*ProjectSummary `locationName:"projects" type:"list" required:"true"`
2988}
2989
2990// String returns the string representation
2991func (s ListProjectsOutput) String() string {
2992	return awsutil.Prettify(s)
2993}
2994
2995// GoString returns the string representation
2996func (s ListProjectsOutput) GoString() string {
2997	return s.String()
2998}
2999
3000// SetNextToken sets the NextToken field's value.
3001func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput {
3002	s.NextToken = &v
3003	return s
3004}
3005
3006// SetProjects sets the Projects field's value.
3007func (s *ListProjectsOutput) SetProjects(v []*ProjectSummary) *ListProjectsOutput {
3008	s.Projects = v
3009	return s
3010}
3011
3012type ListResourcesInput struct {
3013	_ struct{} `type:"structure"`
3014
3015	// The maximum amount of data that can be contained in a single set of results.
3016	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
3017
3018	// The continuation token for the next set of results, if the results cannot
3019	// be returned in one response.
3020	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
3021
3022	// The ID of the project.
3023	//
3024	// ProjectId is a required field
3025	ProjectId *string `locationName:"projectId" min:"2" type:"string" required:"true"`
3026}
3027
3028// String returns the string representation
3029func (s ListResourcesInput) String() string {
3030	return awsutil.Prettify(s)
3031}
3032
3033// GoString returns the string representation
3034func (s ListResourcesInput) GoString() string {
3035	return s.String()
3036}
3037
3038// Validate inspects the fields of the type to determine if they are valid.
3039func (s *ListResourcesInput) Validate() error {
3040	invalidParams := request.ErrInvalidParams{Context: "ListResourcesInput"}
3041	if s.MaxResults != nil && *s.MaxResults < 1 {
3042		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3043	}
3044	if s.NextToken != nil && len(*s.NextToken) < 1 {
3045		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
3046	}
3047	if s.ProjectId == nil {
3048		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
3049	}
3050	if s.ProjectId != nil && len(*s.ProjectId) < 2 {
3051		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 2))
3052	}
3053
3054	if invalidParams.Len() > 0 {
3055		return invalidParams
3056	}
3057	return nil
3058}
3059
3060// SetMaxResults sets the MaxResults field's value.
3061func (s *ListResourcesInput) SetMaxResults(v int64) *ListResourcesInput {
3062	s.MaxResults = &v
3063	return s
3064}
3065
3066// SetNextToken sets the NextToken field's value.
3067func (s *ListResourcesInput) SetNextToken(v string) *ListResourcesInput {
3068	s.NextToken = &v
3069	return s
3070}
3071
3072// SetProjectId sets the ProjectId field's value.
3073func (s *ListResourcesInput) SetProjectId(v string) *ListResourcesInput {
3074	s.ProjectId = &v
3075	return s
3076}
3077
3078type ListResourcesOutput struct {
3079	_ struct{} `type:"structure"`
3080
3081	// The continuation token to use when requesting the next set of results, if
3082	// there are more results to be returned.
3083	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
3084
3085	// An array of resources associated with the project.
3086	Resources []*Resource `locationName:"resources" type:"list"`
3087}
3088
3089// String returns the string representation
3090func (s ListResourcesOutput) String() string {
3091	return awsutil.Prettify(s)
3092}
3093
3094// GoString returns the string representation
3095func (s ListResourcesOutput) GoString() string {
3096	return s.String()
3097}
3098
3099// SetNextToken sets the NextToken field's value.
3100func (s *ListResourcesOutput) SetNextToken(v string) *ListResourcesOutput {
3101	s.NextToken = &v
3102	return s
3103}
3104
3105// SetResources sets the Resources field's value.
3106func (s *ListResourcesOutput) SetResources(v []*Resource) *ListResourcesOutput {
3107	s.Resources = v
3108	return s
3109}
3110
3111type ListTagsForProjectInput struct {
3112	_ struct{} `type:"structure"`
3113
3114	// The ID of the project to get tags for.
3115	//
3116	// Id is a required field
3117	Id *string `locationName:"id" min:"2" type:"string" required:"true"`
3118
3119	// Reserved for future use.
3120	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
3121
3122	// Reserved for future use.
3123	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
3124}
3125
3126// String returns the string representation
3127func (s ListTagsForProjectInput) String() string {
3128	return awsutil.Prettify(s)
3129}
3130
3131// GoString returns the string representation
3132func (s ListTagsForProjectInput) GoString() string {
3133	return s.String()
3134}
3135
3136// Validate inspects the fields of the type to determine if they are valid.
3137func (s *ListTagsForProjectInput) Validate() error {
3138	invalidParams := request.ErrInvalidParams{Context: "ListTagsForProjectInput"}
3139	if s.Id == nil {
3140		invalidParams.Add(request.NewErrParamRequired("Id"))
3141	}
3142	if s.Id != nil && len(*s.Id) < 2 {
3143		invalidParams.Add(request.NewErrParamMinLen("Id", 2))
3144	}
3145	if s.MaxResults != nil && *s.MaxResults < 1 {
3146		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3147	}
3148	if s.NextToken != nil && len(*s.NextToken) < 1 {
3149		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
3150	}
3151
3152	if invalidParams.Len() > 0 {
3153		return invalidParams
3154	}
3155	return nil
3156}
3157
3158// SetId sets the Id field's value.
3159func (s *ListTagsForProjectInput) SetId(v string) *ListTagsForProjectInput {
3160	s.Id = &v
3161	return s
3162}
3163
3164// SetMaxResults sets the MaxResults field's value.
3165func (s *ListTagsForProjectInput) SetMaxResults(v int64) *ListTagsForProjectInput {
3166	s.MaxResults = &v
3167	return s
3168}
3169
3170// SetNextToken sets the NextToken field's value.
3171func (s *ListTagsForProjectInput) SetNextToken(v string) *ListTagsForProjectInput {
3172	s.NextToken = &v
3173	return s
3174}
3175
3176type ListTagsForProjectOutput struct {
3177	_ struct{} `type:"structure"`
3178
3179	// Reserved for future use.
3180	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
3181
3182	// The tags for the project.
3183	Tags map[string]*string `locationName:"tags" type:"map"`
3184}
3185
3186// String returns the string representation
3187func (s ListTagsForProjectOutput) String() string {
3188	return awsutil.Prettify(s)
3189}
3190
3191// GoString returns the string representation
3192func (s ListTagsForProjectOutput) GoString() string {
3193	return s.String()
3194}
3195
3196// SetNextToken sets the NextToken field's value.
3197func (s *ListTagsForProjectOutput) SetNextToken(v string) *ListTagsForProjectOutput {
3198	s.NextToken = &v
3199	return s
3200}
3201
3202// SetTags sets the Tags field's value.
3203func (s *ListTagsForProjectOutput) SetTags(v map[string]*string) *ListTagsForProjectOutput {
3204	s.Tags = v
3205	return s
3206}
3207
3208type ListTeamMembersInput struct {
3209	_ struct{} `type:"structure"`
3210
3211	// The maximum number of team members you want returned in a response.
3212	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
3213
3214	// The continuation token for the next set of results, if the results cannot
3215	// be returned in one response.
3216	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
3217
3218	// The ID of the project for which you want to list team members.
3219	//
3220	// ProjectId is a required field
3221	ProjectId *string `locationName:"projectId" min:"2" type:"string" required:"true"`
3222}
3223
3224// String returns the string representation
3225func (s ListTeamMembersInput) String() string {
3226	return awsutil.Prettify(s)
3227}
3228
3229// GoString returns the string representation
3230func (s ListTeamMembersInput) GoString() string {
3231	return s.String()
3232}
3233
3234// Validate inspects the fields of the type to determine if they are valid.
3235func (s *ListTeamMembersInput) Validate() error {
3236	invalidParams := request.ErrInvalidParams{Context: "ListTeamMembersInput"}
3237	if s.MaxResults != nil && *s.MaxResults < 1 {
3238		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3239	}
3240	if s.NextToken != nil && len(*s.NextToken) < 1 {
3241		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
3242	}
3243	if s.ProjectId == nil {
3244		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
3245	}
3246	if s.ProjectId != nil && len(*s.ProjectId) < 2 {
3247		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 2))
3248	}
3249
3250	if invalidParams.Len() > 0 {
3251		return invalidParams
3252	}
3253	return nil
3254}
3255
3256// SetMaxResults sets the MaxResults field's value.
3257func (s *ListTeamMembersInput) SetMaxResults(v int64) *ListTeamMembersInput {
3258	s.MaxResults = &v
3259	return s
3260}
3261
3262// SetNextToken sets the NextToken field's value.
3263func (s *ListTeamMembersInput) SetNextToken(v string) *ListTeamMembersInput {
3264	s.NextToken = &v
3265	return s
3266}
3267
3268// SetProjectId sets the ProjectId field's value.
3269func (s *ListTeamMembersInput) SetProjectId(v string) *ListTeamMembersInput {
3270	s.ProjectId = &v
3271	return s
3272}
3273
3274type ListTeamMembersOutput struct {
3275	_ struct{} `type:"structure"`
3276
3277	// The continuation token to use when requesting the next set of results, if
3278	// there are more results to be returned.
3279	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
3280
3281	// A list of team member objects for the project.
3282	//
3283	// TeamMembers is a required field
3284	TeamMembers []*TeamMember `locationName:"teamMembers" type:"list" required:"true"`
3285}
3286
3287// String returns the string representation
3288func (s ListTeamMembersOutput) String() string {
3289	return awsutil.Prettify(s)
3290}
3291
3292// GoString returns the string representation
3293func (s ListTeamMembersOutput) GoString() string {
3294	return s.String()
3295}
3296
3297// SetNextToken sets the NextToken field's value.
3298func (s *ListTeamMembersOutput) SetNextToken(v string) *ListTeamMembersOutput {
3299	s.NextToken = &v
3300	return s
3301}
3302
3303// SetTeamMembers sets the TeamMembers field's value.
3304func (s *ListTeamMembersOutput) SetTeamMembers(v []*TeamMember) *ListTeamMembersOutput {
3305	s.TeamMembers = v
3306	return s
3307}
3308
3309type ListUserProfilesInput struct {
3310	_ struct{} `type:"structure"`
3311
3312	// The maximum number of results to return in a response.
3313	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
3314
3315	// The continuation token for the next set of results, if the results cannot
3316	// be returned in one response.
3317	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
3318}
3319
3320// String returns the string representation
3321func (s ListUserProfilesInput) String() string {
3322	return awsutil.Prettify(s)
3323}
3324
3325// GoString returns the string representation
3326func (s ListUserProfilesInput) GoString() string {
3327	return s.String()
3328}
3329
3330// Validate inspects the fields of the type to determine if they are valid.
3331func (s *ListUserProfilesInput) Validate() error {
3332	invalidParams := request.ErrInvalidParams{Context: "ListUserProfilesInput"}
3333	if s.MaxResults != nil && *s.MaxResults < 1 {
3334		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3335	}
3336	if s.NextToken != nil && len(*s.NextToken) < 1 {
3337		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
3338	}
3339
3340	if invalidParams.Len() > 0 {
3341		return invalidParams
3342	}
3343	return nil
3344}
3345
3346// SetMaxResults sets the MaxResults field's value.
3347func (s *ListUserProfilesInput) SetMaxResults(v int64) *ListUserProfilesInput {
3348	s.MaxResults = &v
3349	return s
3350}
3351
3352// SetNextToken sets the NextToken field's value.
3353func (s *ListUserProfilesInput) SetNextToken(v string) *ListUserProfilesInput {
3354	s.NextToken = &v
3355	return s
3356}
3357
3358type ListUserProfilesOutput struct {
3359	_ struct{} `type:"structure"`
3360
3361	// The continuation token to use when requesting the next set of results, if
3362	// there are more results to be returned.
3363	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
3364
3365	// All the user profiles configured in AWS CodeStar for an AWS account.
3366	//
3367	// UserProfiles is a required field
3368	UserProfiles []*UserProfileSummary `locationName:"userProfiles" type:"list" required:"true"`
3369}
3370
3371// String returns the string representation
3372func (s ListUserProfilesOutput) String() string {
3373	return awsutil.Prettify(s)
3374}
3375
3376// GoString returns the string representation
3377func (s ListUserProfilesOutput) GoString() string {
3378	return s.String()
3379}
3380
3381// SetNextToken sets the NextToken field's value.
3382func (s *ListUserProfilesOutput) SetNextToken(v string) *ListUserProfilesOutput {
3383	s.NextToken = &v
3384	return s
3385}
3386
3387// SetUserProfiles sets the UserProfiles field's value.
3388func (s *ListUserProfilesOutput) SetUserProfiles(v []*UserProfileSummary) *ListUserProfilesOutput {
3389	s.UserProfiles = v
3390	return s
3391}
3392
3393// An indication of whether a project creation or deletion is failed or successful.
3394type ProjectStatus struct {
3395	_ struct{} `type:"structure"`
3396
3397	// In the case of a project creation or deletion failure, a reason for the failure.
3398	Reason *string `locationName:"reason" type:"string"`
3399
3400	// The phase of completion for a project creation or deletion.
3401	//
3402	// State is a required field
3403	State *string `locationName:"state" type:"string" required:"true"`
3404}
3405
3406// String returns the string representation
3407func (s ProjectStatus) String() string {
3408	return awsutil.Prettify(s)
3409}
3410
3411// GoString returns the string representation
3412func (s ProjectStatus) GoString() string {
3413	return s.String()
3414}
3415
3416// SetReason sets the Reason field's value.
3417func (s *ProjectStatus) SetReason(v string) *ProjectStatus {
3418	s.Reason = &v
3419	return s
3420}
3421
3422// SetState sets the State field's value.
3423func (s *ProjectStatus) SetState(v string) *ProjectStatus {
3424	s.State = &v
3425	return s
3426}
3427
3428// Information about the metadata for a project.
3429type ProjectSummary struct {
3430	_ struct{} `type:"structure"`
3431
3432	// The Amazon Resource Name (ARN) of the project.
3433	ProjectArn *string `locationName:"projectArn" type:"string"`
3434
3435	// The ID of the project.
3436	ProjectId *string `locationName:"projectId" min:"2" type:"string"`
3437}
3438
3439// String returns the string representation
3440func (s ProjectSummary) String() string {
3441	return awsutil.Prettify(s)
3442}
3443
3444// GoString returns the string representation
3445func (s ProjectSummary) GoString() string {
3446	return s.String()
3447}
3448
3449// SetProjectArn sets the ProjectArn field's value.
3450func (s *ProjectSummary) SetProjectArn(v string) *ProjectSummary {
3451	s.ProjectArn = &v
3452	return s
3453}
3454
3455// SetProjectId sets the ProjectId field's value.
3456func (s *ProjectSummary) SetProjectId(v string) *ProjectSummary {
3457	s.ProjectId = &v
3458	return s
3459}
3460
3461// Information about a resource for a project.
3462type Resource struct {
3463	_ struct{} `type:"structure"`
3464
3465	// The Amazon Resource Name (ARN) of the resource.
3466	//
3467	// Id is a required field
3468	Id *string `locationName:"id" min:"11" type:"string" required:"true"`
3469}
3470
3471// String returns the string representation
3472func (s Resource) String() string {
3473	return awsutil.Prettify(s)
3474}
3475
3476// GoString returns the string representation
3477func (s Resource) GoString() string {
3478	return s.String()
3479}
3480
3481// SetId sets the Id field's value.
3482func (s *Resource) SetId(v string) *Resource {
3483	s.Id = &v
3484	return s
3485}
3486
3487// The Amazon S3 location where the source code files provided with the project
3488// request are stored.
3489type S3Location struct {
3490	_ struct{} `type:"structure"`
3491
3492	// The Amazon S3 object key where the source code files provided with the project
3493	// request are stored.
3494	BucketKey *string `locationName:"bucketKey" type:"string"`
3495
3496	// The Amazon S3 bucket name where the source code files provided with the project
3497	// request are stored.
3498	BucketName *string `locationName:"bucketName" min:"3" type:"string"`
3499}
3500
3501// String returns the string representation
3502func (s S3Location) String() string {
3503	return awsutil.Prettify(s)
3504}
3505
3506// GoString returns the string representation
3507func (s S3Location) GoString() string {
3508	return s.String()
3509}
3510
3511// Validate inspects the fields of the type to determine if they are valid.
3512func (s *S3Location) Validate() error {
3513	invalidParams := request.ErrInvalidParams{Context: "S3Location"}
3514	if s.BucketName != nil && len(*s.BucketName) < 3 {
3515		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
3516	}
3517
3518	if invalidParams.Len() > 0 {
3519		return invalidParams
3520	}
3521	return nil
3522}
3523
3524// SetBucketKey sets the BucketKey field's value.
3525func (s *S3Location) SetBucketKey(v string) *S3Location {
3526	s.BucketKey = &v
3527	return s
3528}
3529
3530// SetBucketName sets the BucketName field's value.
3531func (s *S3Location) SetBucketName(v string) *S3Location {
3532	s.BucketName = &v
3533	return s
3534}
3535
3536type TagProjectInput struct {
3537	_ struct{} `type:"structure"`
3538
3539	// The ID of the project you want to add a tag to.
3540	//
3541	// Id is a required field
3542	Id *string `locationName:"id" min:"2" type:"string" required:"true"`
3543
3544	// The tags you want to add to the project.
3545	//
3546	// Tags is a required field
3547	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
3548}
3549
3550// String returns the string representation
3551func (s TagProjectInput) String() string {
3552	return awsutil.Prettify(s)
3553}
3554
3555// GoString returns the string representation
3556func (s TagProjectInput) GoString() string {
3557	return s.String()
3558}
3559
3560// Validate inspects the fields of the type to determine if they are valid.
3561func (s *TagProjectInput) Validate() error {
3562	invalidParams := request.ErrInvalidParams{Context: "TagProjectInput"}
3563	if s.Id == nil {
3564		invalidParams.Add(request.NewErrParamRequired("Id"))
3565	}
3566	if s.Id != nil && len(*s.Id) < 2 {
3567		invalidParams.Add(request.NewErrParamMinLen("Id", 2))
3568	}
3569	if s.Tags == nil {
3570		invalidParams.Add(request.NewErrParamRequired("Tags"))
3571	}
3572
3573	if invalidParams.Len() > 0 {
3574		return invalidParams
3575	}
3576	return nil
3577}
3578
3579// SetId sets the Id field's value.
3580func (s *TagProjectInput) SetId(v string) *TagProjectInput {
3581	s.Id = &v
3582	return s
3583}
3584
3585// SetTags sets the Tags field's value.
3586func (s *TagProjectInput) SetTags(v map[string]*string) *TagProjectInput {
3587	s.Tags = v
3588	return s
3589}
3590
3591type TagProjectOutput struct {
3592	_ struct{} `type:"structure"`
3593
3594	// The tags for the project.
3595	Tags map[string]*string `locationName:"tags" type:"map"`
3596}
3597
3598// String returns the string representation
3599func (s TagProjectOutput) String() string {
3600	return awsutil.Prettify(s)
3601}
3602
3603// GoString returns the string representation
3604func (s TagProjectOutput) GoString() string {
3605	return s.String()
3606}
3607
3608// SetTags sets the Tags field's value.
3609func (s *TagProjectOutput) SetTags(v map[string]*string) *TagProjectOutput {
3610	s.Tags = v
3611	return s
3612}
3613
3614// Information about a team member in a project.
3615type TeamMember struct {
3616	_ struct{} `type:"structure"`
3617
3618	// The role assigned to the user in the project. Project roles have different
3619	// levels of access. For more information, see Working with Teams (http://docs.aws.amazon.com/codestar/latest/userguide/working-with-teams.html)
3620	// in the AWS CodeStar User Guide.
3621	//
3622	// ProjectRole is a required field
3623	ProjectRole *string `locationName:"projectRole" type:"string" required:"true"`
3624
3625	// Whether the user is allowed to remotely access project resources using an
3626	// SSH public/private key pair.
3627	RemoteAccessAllowed *bool `locationName:"remoteAccessAllowed" type:"boolean"`
3628
3629	// The Amazon Resource Name (ARN) of the user in IAM.
3630	//
3631	// UserArn is a required field
3632	UserArn *string `locationName:"userArn" min:"32" type:"string" required:"true"`
3633}
3634
3635// String returns the string representation
3636func (s TeamMember) String() string {
3637	return awsutil.Prettify(s)
3638}
3639
3640// GoString returns the string representation
3641func (s TeamMember) GoString() string {
3642	return s.String()
3643}
3644
3645// SetProjectRole sets the ProjectRole field's value.
3646func (s *TeamMember) SetProjectRole(v string) *TeamMember {
3647	s.ProjectRole = &v
3648	return s
3649}
3650
3651// SetRemoteAccessAllowed sets the RemoteAccessAllowed field's value.
3652func (s *TeamMember) SetRemoteAccessAllowed(v bool) *TeamMember {
3653	s.RemoteAccessAllowed = &v
3654	return s
3655}
3656
3657// SetUserArn sets the UserArn field's value.
3658func (s *TeamMember) SetUserArn(v string) *TeamMember {
3659	s.UserArn = &v
3660	return s
3661}
3662
3663// The toolchain template file provided with the project request. AWS CodeStar
3664// uses the template to provision the toolchain stack in AWS CloudFormation.
3665type Toolchain struct {
3666	_ struct{} `type:"structure"`
3667
3668	// The service role ARN for AWS CodeStar to use for the toolchain template during
3669	// stack provisioning.
3670	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
3671
3672	// The Amazon S3 location where the toolchain template file provided with the
3673	// project request is stored. AWS CodeStar retrieves the file during project
3674	// creation.
3675	//
3676	// Source is a required field
3677	Source *ToolchainSource `locationName:"source" type:"structure" required:"true"`
3678
3679	// The list of parameter overrides to be passed into the toolchain template
3680	// during stack provisioning, if any.
3681	StackParameters map[string]*string `locationName:"stackParameters" type:"map"`
3682}
3683
3684// String returns the string representation
3685func (s Toolchain) String() string {
3686	return awsutil.Prettify(s)
3687}
3688
3689// GoString returns the string representation
3690func (s Toolchain) GoString() string {
3691	return s.String()
3692}
3693
3694// Validate inspects the fields of the type to determine if they are valid.
3695func (s *Toolchain) Validate() error {
3696	invalidParams := request.ErrInvalidParams{Context: "Toolchain"}
3697	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
3698		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
3699	}
3700	if s.Source == nil {
3701		invalidParams.Add(request.NewErrParamRequired("Source"))
3702	}
3703	if s.Source != nil {
3704		if err := s.Source.Validate(); err != nil {
3705			invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
3706		}
3707	}
3708
3709	if invalidParams.Len() > 0 {
3710		return invalidParams
3711	}
3712	return nil
3713}
3714
3715// SetRoleArn sets the RoleArn field's value.
3716func (s *Toolchain) SetRoleArn(v string) *Toolchain {
3717	s.RoleArn = &v
3718	return s
3719}
3720
3721// SetSource sets the Source field's value.
3722func (s *Toolchain) SetSource(v *ToolchainSource) *Toolchain {
3723	s.Source = v
3724	return s
3725}
3726
3727// SetStackParameters sets the StackParameters field's value.
3728func (s *Toolchain) SetStackParameters(v map[string]*string) *Toolchain {
3729	s.StackParameters = v
3730	return s
3731}
3732
3733// The Amazon S3 location where the toolchain template file provided with the
3734// project request is stored. AWS CodeStar retrieves the file during project
3735// creation.
3736type ToolchainSource struct {
3737	_ struct{} `type:"structure"`
3738
3739	// The Amazon S3 bucket where the toolchain template file provided with the
3740	// project request is stored.
3741	//
3742	// S3 is a required field
3743	S3 *S3Location `locationName:"s3" type:"structure" required:"true"`
3744}
3745
3746// String returns the string representation
3747func (s ToolchainSource) String() string {
3748	return awsutil.Prettify(s)
3749}
3750
3751// GoString returns the string representation
3752func (s ToolchainSource) GoString() string {
3753	return s.String()
3754}
3755
3756// Validate inspects the fields of the type to determine if they are valid.
3757func (s *ToolchainSource) Validate() error {
3758	invalidParams := request.ErrInvalidParams{Context: "ToolchainSource"}
3759	if s.S3 == nil {
3760		invalidParams.Add(request.NewErrParamRequired("S3"))
3761	}
3762	if s.S3 != nil {
3763		if err := s.S3.Validate(); err != nil {
3764			invalidParams.AddNested("S3", err.(request.ErrInvalidParams))
3765		}
3766	}
3767
3768	if invalidParams.Len() > 0 {
3769		return invalidParams
3770	}
3771	return nil
3772}
3773
3774// SetS3 sets the S3 field's value.
3775func (s *ToolchainSource) SetS3(v *S3Location) *ToolchainSource {
3776	s.S3 = v
3777	return s
3778}
3779
3780type UntagProjectInput struct {
3781	_ struct{} `type:"structure"`
3782
3783	// The ID of the project to remove tags from.
3784	//
3785	// Id is a required field
3786	Id *string `locationName:"id" min:"2" type:"string" required:"true"`
3787
3788	// The tags to remove from the project.
3789	//
3790	// Tags is a required field
3791	Tags []*string `locationName:"tags" type:"list" required:"true"`
3792}
3793
3794// String returns the string representation
3795func (s UntagProjectInput) String() string {
3796	return awsutil.Prettify(s)
3797}
3798
3799// GoString returns the string representation
3800func (s UntagProjectInput) GoString() string {
3801	return s.String()
3802}
3803
3804// Validate inspects the fields of the type to determine if they are valid.
3805func (s *UntagProjectInput) Validate() error {
3806	invalidParams := request.ErrInvalidParams{Context: "UntagProjectInput"}
3807	if s.Id == nil {
3808		invalidParams.Add(request.NewErrParamRequired("Id"))
3809	}
3810	if s.Id != nil && len(*s.Id) < 2 {
3811		invalidParams.Add(request.NewErrParamMinLen("Id", 2))
3812	}
3813	if s.Tags == nil {
3814		invalidParams.Add(request.NewErrParamRequired("Tags"))
3815	}
3816
3817	if invalidParams.Len() > 0 {
3818		return invalidParams
3819	}
3820	return nil
3821}
3822
3823// SetId sets the Id field's value.
3824func (s *UntagProjectInput) SetId(v string) *UntagProjectInput {
3825	s.Id = &v
3826	return s
3827}
3828
3829// SetTags sets the Tags field's value.
3830func (s *UntagProjectInput) SetTags(v []*string) *UntagProjectInput {
3831	s.Tags = v
3832	return s
3833}
3834
3835type UntagProjectOutput struct {
3836	_ struct{} `type:"structure"`
3837}
3838
3839// String returns the string representation
3840func (s UntagProjectOutput) String() string {
3841	return awsutil.Prettify(s)
3842}
3843
3844// GoString returns the string representation
3845func (s UntagProjectOutput) GoString() string {
3846	return s.String()
3847}
3848
3849type UpdateProjectInput struct {
3850	_ struct{} `type:"structure"`
3851
3852	// The description of the project, if any.
3853	Description *string `locationName:"description" type:"string" sensitive:"true"`
3854
3855	// The ID of the project you want to update.
3856	//
3857	// Id is a required field
3858	Id *string `locationName:"id" min:"2" type:"string" required:"true"`
3859
3860	// The name of the project you want to update.
3861	Name *string `locationName:"name" min:"1" type:"string" sensitive:"true"`
3862}
3863
3864// String returns the string representation
3865func (s UpdateProjectInput) String() string {
3866	return awsutil.Prettify(s)
3867}
3868
3869// GoString returns the string representation
3870func (s UpdateProjectInput) GoString() string {
3871	return s.String()
3872}
3873
3874// Validate inspects the fields of the type to determine if they are valid.
3875func (s *UpdateProjectInput) Validate() error {
3876	invalidParams := request.ErrInvalidParams{Context: "UpdateProjectInput"}
3877	if s.Id == nil {
3878		invalidParams.Add(request.NewErrParamRequired("Id"))
3879	}
3880	if s.Id != nil && len(*s.Id) < 2 {
3881		invalidParams.Add(request.NewErrParamMinLen("Id", 2))
3882	}
3883	if s.Name != nil && len(*s.Name) < 1 {
3884		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3885	}
3886
3887	if invalidParams.Len() > 0 {
3888		return invalidParams
3889	}
3890	return nil
3891}
3892
3893// SetDescription sets the Description field's value.
3894func (s *UpdateProjectInput) SetDescription(v string) *UpdateProjectInput {
3895	s.Description = &v
3896	return s
3897}
3898
3899// SetId sets the Id field's value.
3900func (s *UpdateProjectInput) SetId(v string) *UpdateProjectInput {
3901	s.Id = &v
3902	return s
3903}
3904
3905// SetName sets the Name field's value.
3906func (s *UpdateProjectInput) SetName(v string) *UpdateProjectInput {
3907	s.Name = &v
3908	return s
3909}
3910
3911type UpdateProjectOutput struct {
3912	_ struct{} `type:"structure"`
3913}
3914
3915// String returns the string representation
3916func (s UpdateProjectOutput) String() string {
3917	return awsutil.Prettify(s)
3918}
3919
3920// GoString returns the string representation
3921func (s UpdateProjectOutput) GoString() string {
3922	return s.String()
3923}
3924
3925type UpdateTeamMemberInput struct {
3926	_ struct{} `type:"structure"`
3927
3928	// The ID of the project.
3929	//
3930	// ProjectId is a required field
3931	ProjectId *string `locationName:"projectId" min:"2" type:"string" required:"true"`
3932
3933	// The role assigned to the user in the project. Project roles have different
3934	// levels of access. For more information, see Working with Teams (http://docs.aws.amazon.com/codestar/latest/userguide/working-with-teams.html)
3935	// in the AWS CodeStar User Guide.
3936	ProjectRole *string `locationName:"projectRole" type:"string"`
3937
3938	// Whether a team member is allowed to remotely access project resources using
3939	// the SSH public key associated with the user's profile. Even if this is set
3940	// to True, the user must associate a public key with their profile before the
3941	// user can access resources.
3942	RemoteAccessAllowed *bool `locationName:"remoteAccessAllowed" type:"boolean"`
3943
3944	// The Amazon Resource Name (ARN) of the user for whom you want to change team
3945	// membership attributes.
3946	//
3947	// UserArn is a required field
3948	UserArn *string `locationName:"userArn" min:"32" type:"string" required:"true"`
3949}
3950
3951// String returns the string representation
3952func (s UpdateTeamMemberInput) String() string {
3953	return awsutil.Prettify(s)
3954}
3955
3956// GoString returns the string representation
3957func (s UpdateTeamMemberInput) GoString() string {
3958	return s.String()
3959}
3960
3961// Validate inspects the fields of the type to determine if they are valid.
3962func (s *UpdateTeamMemberInput) Validate() error {
3963	invalidParams := request.ErrInvalidParams{Context: "UpdateTeamMemberInput"}
3964	if s.ProjectId == nil {
3965		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
3966	}
3967	if s.ProjectId != nil && len(*s.ProjectId) < 2 {
3968		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 2))
3969	}
3970	if s.UserArn == nil {
3971		invalidParams.Add(request.NewErrParamRequired("UserArn"))
3972	}
3973	if s.UserArn != nil && len(*s.UserArn) < 32 {
3974		invalidParams.Add(request.NewErrParamMinLen("UserArn", 32))
3975	}
3976
3977	if invalidParams.Len() > 0 {
3978		return invalidParams
3979	}
3980	return nil
3981}
3982
3983// SetProjectId sets the ProjectId field's value.
3984func (s *UpdateTeamMemberInput) SetProjectId(v string) *UpdateTeamMemberInput {
3985	s.ProjectId = &v
3986	return s
3987}
3988
3989// SetProjectRole sets the ProjectRole field's value.
3990func (s *UpdateTeamMemberInput) SetProjectRole(v string) *UpdateTeamMemberInput {
3991	s.ProjectRole = &v
3992	return s
3993}
3994
3995// SetRemoteAccessAllowed sets the RemoteAccessAllowed field's value.
3996func (s *UpdateTeamMemberInput) SetRemoteAccessAllowed(v bool) *UpdateTeamMemberInput {
3997	s.RemoteAccessAllowed = &v
3998	return s
3999}
4000
4001// SetUserArn sets the UserArn field's value.
4002func (s *UpdateTeamMemberInput) SetUserArn(v string) *UpdateTeamMemberInput {
4003	s.UserArn = &v
4004	return s
4005}
4006
4007type UpdateTeamMemberOutput struct {
4008	_ struct{} `type:"structure"`
4009
4010	// The project role granted to the user.
4011	ProjectRole *string `locationName:"projectRole" type:"string"`
4012
4013	// Whether a team member is allowed to remotely access project resources using
4014	// the SSH public key associated with the user's profile.
4015	RemoteAccessAllowed *bool `locationName:"remoteAccessAllowed" type:"boolean"`
4016
4017	// The Amazon Resource Name (ARN) of the user whose team membership attributes
4018	// were updated.
4019	UserArn *string `locationName:"userArn" min:"32" type:"string"`
4020}
4021
4022// String returns the string representation
4023func (s UpdateTeamMemberOutput) String() string {
4024	return awsutil.Prettify(s)
4025}
4026
4027// GoString returns the string representation
4028func (s UpdateTeamMemberOutput) GoString() string {
4029	return s.String()
4030}
4031
4032// SetProjectRole sets the ProjectRole field's value.
4033func (s *UpdateTeamMemberOutput) SetProjectRole(v string) *UpdateTeamMemberOutput {
4034	s.ProjectRole = &v
4035	return s
4036}
4037
4038// SetRemoteAccessAllowed sets the RemoteAccessAllowed field's value.
4039func (s *UpdateTeamMemberOutput) SetRemoteAccessAllowed(v bool) *UpdateTeamMemberOutput {
4040	s.RemoteAccessAllowed = &v
4041	return s
4042}
4043
4044// SetUserArn sets the UserArn field's value.
4045func (s *UpdateTeamMemberOutput) SetUserArn(v string) *UpdateTeamMemberOutput {
4046	s.UserArn = &v
4047	return s
4048}
4049
4050type UpdateUserProfileInput struct {
4051	_ struct{} `type:"structure"`
4052
4053	// The name that is displayed as the friendly name for the user in AWS CodeStar.
4054	DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"`
4055
4056	// The email address that is displayed as part of the user's profile in AWS
4057	// CodeStar.
4058	EmailAddress *string `locationName:"emailAddress" min:"3" type:"string" sensitive:"true"`
4059
4060	// The SSH public key associated with the user in AWS CodeStar. If a project
4061	// owner allows the user remote access to project resources, this public key
4062	// will be used along with the user's private key for SSH access.
4063	SshPublicKey *string `locationName:"sshPublicKey" type:"string"`
4064
4065	// The name that will be displayed as the friendly name for the user in AWS
4066	// CodeStar.
4067	//
4068	// UserArn is a required field
4069	UserArn *string `locationName:"userArn" min:"32" type:"string" required:"true"`
4070}
4071
4072// String returns the string representation
4073func (s UpdateUserProfileInput) String() string {
4074	return awsutil.Prettify(s)
4075}
4076
4077// GoString returns the string representation
4078func (s UpdateUserProfileInput) GoString() string {
4079	return s.String()
4080}
4081
4082// Validate inspects the fields of the type to determine if they are valid.
4083func (s *UpdateUserProfileInput) Validate() error {
4084	invalidParams := request.ErrInvalidParams{Context: "UpdateUserProfileInput"}
4085	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
4086		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
4087	}
4088	if s.EmailAddress != nil && len(*s.EmailAddress) < 3 {
4089		invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 3))
4090	}
4091	if s.UserArn == nil {
4092		invalidParams.Add(request.NewErrParamRequired("UserArn"))
4093	}
4094	if s.UserArn != nil && len(*s.UserArn) < 32 {
4095		invalidParams.Add(request.NewErrParamMinLen("UserArn", 32))
4096	}
4097
4098	if invalidParams.Len() > 0 {
4099		return invalidParams
4100	}
4101	return nil
4102}
4103
4104// SetDisplayName sets the DisplayName field's value.
4105func (s *UpdateUserProfileInput) SetDisplayName(v string) *UpdateUserProfileInput {
4106	s.DisplayName = &v
4107	return s
4108}
4109
4110// SetEmailAddress sets the EmailAddress field's value.
4111func (s *UpdateUserProfileInput) SetEmailAddress(v string) *UpdateUserProfileInput {
4112	s.EmailAddress = &v
4113	return s
4114}
4115
4116// SetSshPublicKey sets the SshPublicKey field's value.
4117func (s *UpdateUserProfileInput) SetSshPublicKey(v string) *UpdateUserProfileInput {
4118	s.SshPublicKey = &v
4119	return s
4120}
4121
4122// SetUserArn sets the UserArn field's value.
4123func (s *UpdateUserProfileInput) SetUserArn(v string) *UpdateUserProfileInput {
4124	s.UserArn = &v
4125	return s
4126}
4127
4128type UpdateUserProfileOutput struct {
4129	_ struct{} `type:"structure"`
4130
4131	// The date the user profile was created, in timestamp format.
4132	CreatedTimestamp *time.Time `locationName:"createdTimestamp" type:"timestamp"`
4133
4134	// The name that is displayed as the friendly name for the user in AWS CodeStar.
4135	DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"`
4136
4137	// The email address that is displayed as part of the user's profile in AWS
4138	// CodeStar.
4139	EmailAddress *string `locationName:"emailAddress" min:"3" type:"string" sensitive:"true"`
4140
4141	// The date the user profile was last modified, in timestamp format.
4142	LastModifiedTimestamp *time.Time `locationName:"lastModifiedTimestamp" type:"timestamp"`
4143
4144	// The SSH public key associated with the user in AWS CodeStar. This is the
4145	// public portion of the public/private keypair the user can use to access project
4146	// resources if a project owner allows the user remote access to those resources.
4147	SshPublicKey *string `locationName:"sshPublicKey" type:"string"`
4148
4149	// The Amazon Resource Name (ARN) of the user in IAM.
4150	//
4151	// UserArn is a required field
4152	UserArn *string `locationName:"userArn" min:"32" type:"string" required:"true"`
4153}
4154
4155// String returns the string representation
4156func (s UpdateUserProfileOutput) String() string {
4157	return awsutil.Prettify(s)
4158}
4159
4160// GoString returns the string representation
4161func (s UpdateUserProfileOutput) GoString() string {
4162	return s.String()
4163}
4164
4165// SetCreatedTimestamp sets the CreatedTimestamp field's value.
4166func (s *UpdateUserProfileOutput) SetCreatedTimestamp(v time.Time) *UpdateUserProfileOutput {
4167	s.CreatedTimestamp = &v
4168	return s
4169}
4170
4171// SetDisplayName sets the DisplayName field's value.
4172func (s *UpdateUserProfileOutput) SetDisplayName(v string) *UpdateUserProfileOutput {
4173	s.DisplayName = &v
4174	return s
4175}
4176
4177// SetEmailAddress sets the EmailAddress field's value.
4178func (s *UpdateUserProfileOutput) SetEmailAddress(v string) *UpdateUserProfileOutput {
4179	s.EmailAddress = &v
4180	return s
4181}
4182
4183// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value.
4184func (s *UpdateUserProfileOutput) SetLastModifiedTimestamp(v time.Time) *UpdateUserProfileOutput {
4185	s.LastModifiedTimestamp = &v
4186	return s
4187}
4188
4189// SetSshPublicKey sets the SshPublicKey field's value.
4190func (s *UpdateUserProfileOutput) SetSshPublicKey(v string) *UpdateUserProfileOutput {
4191	s.SshPublicKey = &v
4192	return s
4193}
4194
4195// SetUserArn sets the UserArn field's value.
4196func (s *UpdateUserProfileOutput) SetUserArn(v string) *UpdateUserProfileOutput {
4197	s.UserArn = &v
4198	return s
4199}
4200
4201// Information about a user's profile in AWS CodeStar.
4202type UserProfileSummary struct {
4203	_ struct{} `type:"structure"`
4204
4205	// The display name of a user in AWS CodeStar. For example, this could be set
4206	// to both first and last name ("Mary Major") or a single name ("Mary"). The
4207	// display name is also used to generate the initial icon associated with the
4208	// user in AWS CodeStar projects. If spaces are included in the display name,
4209	// the first character that appears after the space will be used as the second
4210	// character in the user initial icon. The initial icon displays a maximum of
4211	// two characters, so a display name with more than one space (for example "Mary
4212	// Jane Major") would generate an initial icon using the first character and
4213	// the first character after the space ("MJ", not "MM").
4214	DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"`
4215
4216	// The email address associated with the user.
4217	EmailAddress *string `locationName:"emailAddress" min:"3" type:"string" sensitive:"true"`
4218
4219	// The SSH public key associated with the user in AWS CodeStar. If a project
4220	// owner allows the user remote access to project resources, this public key
4221	// will be used along with the user's private key for SSH access.
4222	SshPublicKey *string `locationName:"sshPublicKey" type:"string"`
4223
4224	// The Amazon Resource Name (ARN) of the user in IAM.
4225	UserArn *string `locationName:"userArn" min:"32" type:"string"`
4226}
4227
4228// String returns the string representation
4229func (s UserProfileSummary) String() string {
4230	return awsutil.Prettify(s)
4231}
4232
4233// GoString returns the string representation
4234func (s UserProfileSummary) GoString() string {
4235	return s.String()
4236}
4237
4238// SetDisplayName sets the DisplayName field's value.
4239func (s *UserProfileSummary) SetDisplayName(v string) *UserProfileSummary {
4240	s.DisplayName = &v
4241	return s
4242}
4243
4244// SetEmailAddress sets the EmailAddress field's value.
4245func (s *UserProfileSummary) SetEmailAddress(v string) *UserProfileSummary {
4246	s.EmailAddress = &v
4247	return s
4248}
4249
4250// SetSshPublicKey sets the SshPublicKey field's value.
4251func (s *UserProfileSummary) SetSshPublicKey(v string) *UserProfileSummary {
4252	s.SshPublicKey = &v
4253	return s
4254}
4255
4256// SetUserArn sets the UserArn field's value.
4257func (s *UserProfileSummary) SetUserArn(v string) *UserProfileSummary {
4258	s.UserArn = &v
4259	return s
4260}
4261