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