{ "version":"2.0", "metadata":{ "apiVersion":"2017-04-19", "endpointPrefix":"codestar", "jsonVersion":"1.1", "protocol":"json", "serviceAbbreviation":"CodeStar", "serviceFullName":"AWS CodeStar", "signatureVersion":"v4", "targetPrefix":"CodeStar_20170419", "uid":"codestar-2017-04-19" }, "operations":{ "AssociateTeamMember":{ "name":"AssociateTeamMember", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"AssociateTeamMemberRequest"}, "output":{"shape":"AssociateTeamMemberResult"}, "errors":[ {"shape":"LimitExceededException"}, {"shape":"ProjectNotFoundException"}, {"shape":"TeamMemberAlreadyAssociatedException"}, {"shape":"ValidationException"}, {"shape":"InvalidServiceRoleException"}, {"shape":"ProjectConfigurationException"}, {"shape":"ConcurrentModificationException"} ] }, "CreateProject":{ "name":"CreateProject", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"CreateProjectRequest"}, "output":{"shape":"CreateProjectResult"}, "errors":[ {"shape":"ProjectAlreadyExistsException"}, {"shape":"LimitExceededException"}, {"shape":"ValidationException"}, {"shape":"ProjectCreationFailedException"}, {"shape":"InvalidServiceRoleException"}, {"shape":"ProjectConfigurationException"}, {"shape":"ConcurrentModificationException"} ] }, "CreateUserProfile":{ "name":"CreateUserProfile", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"CreateUserProfileRequest"}, "output":{"shape":"CreateUserProfileResult"}, "errors":[ {"shape":"UserProfileAlreadyExistsException"}, {"shape":"ValidationException"} ] }, "DeleteProject":{ "name":"DeleteProject", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"DeleteProjectRequest"}, "output":{"shape":"DeleteProjectResult"}, "errors":[ {"shape":"ConcurrentModificationException"}, {"shape":"ValidationException"}, {"shape":"InvalidServiceRoleException"} ] }, "DeleteUserProfile":{ "name":"DeleteUserProfile", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"DeleteUserProfileRequest"}, "output":{"shape":"DeleteUserProfileResult"}, "errors":[ {"shape":"ValidationException"} ] }, "DescribeProject":{ "name":"DescribeProject", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"DescribeProjectRequest"}, "output":{"shape":"DescribeProjectResult"}, "errors":[ {"shape":"ProjectNotFoundException"}, {"shape":"ValidationException"}, {"shape":"InvalidServiceRoleException"}, {"shape":"ProjectConfigurationException"}, {"shape":"ConcurrentModificationException"} ] }, "DescribeUserProfile":{ "name":"DescribeUserProfile", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"DescribeUserProfileRequest"}, "output":{"shape":"DescribeUserProfileResult"}, "errors":[ {"shape":"UserProfileNotFoundException"}, {"shape":"ValidationException"} ] }, "DisassociateTeamMember":{ "name":"DisassociateTeamMember", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"DisassociateTeamMemberRequest"}, "output":{"shape":"DisassociateTeamMemberResult"}, "errors":[ {"shape":"ProjectNotFoundException"}, {"shape":"ValidationException"}, {"shape":"InvalidServiceRoleException"}, {"shape":"ConcurrentModificationException"} ] }, "ListProjects":{ "name":"ListProjects", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"ListProjectsRequest"}, "output":{"shape":"ListProjectsResult"}, "errors":[ {"shape":"InvalidNextTokenException"}, {"shape":"ValidationException"} ] }, "ListResources":{ "name":"ListResources", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"ListResourcesRequest"}, "output":{"shape":"ListResourcesResult"}, "errors":[ {"shape":"ProjectNotFoundException"}, {"shape":"InvalidNextTokenException"}, {"shape":"ValidationException"} ] }, "ListTagsForProject":{ "name":"ListTagsForProject", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"ListTagsForProjectRequest"}, "output":{"shape":"ListTagsForProjectResult"}, "errors":[ {"shape":"ProjectNotFoundException"}, {"shape":"ValidationException"}, {"shape":"InvalidNextTokenException"} ] }, "ListTeamMembers":{ "name":"ListTeamMembers", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"ListTeamMembersRequest"}, "output":{"shape":"ListTeamMembersResult"}, "errors":[ {"shape":"ProjectNotFoundException"}, {"shape":"InvalidNextTokenException"}, {"shape":"ValidationException"} ] }, "ListUserProfiles":{ "name":"ListUserProfiles", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"ListUserProfilesRequest"}, "output":{"shape":"ListUserProfilesResult"}, "errors":[ {"shape":"InvalidNextTokenException"}, {"shape":"ValidationException"} ] }, "TagProject":{ "name":"TagProject", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"TagProjectRequest"}, "output":{"shape":"TagProjectResult"}, "errors":[ {"shape":"ProjectNotFoundException"}, {"shape":"ValidationException"}, {"shape":"LimitExceededException"}, {"shape":"ConcurrentModificationException"} ] }, "UntagProject":{ "name":"UntagProject", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"UntagProjectRequest"}, "output":{"shape":"UntagProjectResult"}, "errors":[ {"shape":"ProjectNotFoundException"}, {"shape":"ValidationException"}, {"shape":"LimitExceededException"}, {"shape":"ConcurrentModificationException"} ] }, "UpdateProject":{ "name":"UpdateProject", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"UpdateProjectRequest"}, "output":{"shape":"UpdateProjectResult"}, "errors":[ {"shape":"ProjectNotFoundException"}, {"shape":"ValidationException"} ] }, "UpdateTeamMember":{ "name":"UpdateTeamMember", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"UpdateTeamMemberRequest"}, "output":{"shape":"UpdateTeamMemberResult"}, "errors":[ {"shape":"LimitExceededException"}, {"shape":"ProjectNotFoundException"}, {"shape":"ValidationException"}, {"shape":"InvalidServiceRoleException"}, {"shape":"ProjectConfigurationException"}, {"shape":"ConcurrentModificationException"}, {"shape":"TeamMemberNotFoundException"} ] }, "UpdateUserProfile":{ "name":"UpdateUserProfile", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"UpdateUserProfileRequest"}, "output":{"shape":"UpdateUserProfileResult"}, "errors":[ {"shape":"UserProfileNotFoundException"}, {"shape":"ValidationException"} ] } }, "shapes":{ "AssociateTeamMemberRequest":{ "type":"structure", "required":[ "projectId", "userArn", "projectRole" ], "members":{ "projectId":{"shape":"ProjectId"}, "clientRequestToken":{"shape":"ClientRequestToken"}, "userArn":{"shape":"UserArn"}, "projectRole":{"shape":"Role"}, "remoteAccessAllowed":{ "shape":"RemoteAccessAllowed", "box":true } } }, "AssociateTeamMemberResult":{ "type":"structure", "members":{ "clientRequestToken":{"shape":"ClientRequestToken"} } }, "ClientRequestToken":{ "type":"string", "max":256, "min":1, "pattern":"^[\\w:/-]+$" }, "ConcurrentModificationException":{ "type":"structure", "members":{ }, "exception":true }, "CreateProjectRequest":{ "type":"structure", "required":[ "name", "id" ], "members":{ "name":{"shape":"ProjectName"}, "id":{"shape":"ProjectId"}, "description":{"shape":"ProjectDescription"}, "clientRequestToken":{"shape":"ClientRequestToken"} } }, "CreateProjectResult":{ "type":"structure", "required":[ "id", "arn" ], "members":{ "id":{"shape":"ProjectId"}, "arn":{"shape":"ProjectArn"}, "clientRequestToken":{"shape":"ClientRequestToken"}, "projectTemplateId":{"shape":"ProjectTemplateId"} } }, "CreateUserProfileRequest":{ "type":"structure", "required":[ "userArn", "displayName", "emailAddress" ], "members":{ "userArn":{"shape":"UserArn"}, "displayName":{"shape":"UserProfileDisplayName"}, "emailAddress":{"shape":"Email"}, "sshPublicKey":{"shape":"SshPublicKey"} } }, "CreateUserProfileResult":{ "type":"structure", "required":["userArn"], "members":{ "userArn":{"shape":"UserArn"}, "displayName":{"shape":"UserProfileDisplayName"}, "emailAddress":{"shape":"Email"}, "sshPublicKey":{"shape":"SshPublicKey"}, "createdTimestamp":{"shape":"CreatedTimestamp"}, "lastModifiedTimestamp":{"shape":"LastModifiedTimestamp"} } }, "CreatedTimestamp":{"type":"timestamp"}, "DeleteProjectRequest":{ "type":"structure", "required":["id"], "members":{ "id":{"shape":"ProjectId"}, "clientRequestToken":{"shape":"ClientRequestToken"}, "deleteStack":{"shape":"DeleteStack"} } }, "DeleteProjectResult":{ "type":"structure", "members":{ "stackId":{"shape":"StackId"}, "projectArn":{"shape":"ProjectArn"} } }, "DeleteStack":{"type":"boolean"}, "DeleteUserProfileRequest":{ "type":"structure", "required":["userArn"], "members":{ "userArn":{"shape":"UserArn"} } }, "DeleteUserProfileResult":{ "type":"structure", "required":["userArn"], "members":{ "userArn":{"shape":"UserArn"} } }, "DescribeProjectRequest":{ "type":"structure", "required":["id"], "members":{ "id":{"shape":"ProjectId"} } }, "DescribeProjectResult":{ "type":"structure", "members":{ "name":{"shape":"ProjectName"}, "id":{"shape":"ProjectId"}, "arn":{"shape":"ProjectArn"}, "description":{"shape":"ProjectDescription"}, "clientRequestToken":{"shape":"ClientRequestToken"}, "createdTimeStamp":{"shape":"CreatedTimestamp"}, "stackId":{"shape":"StackId"}, "projectTemplateId":{"shape":"ProjectTemplateId"} } }, "DescribeUserProfileRequest":{ "type":"structure", "required":["userArn"], "members":{ "userArn":{"shape":"UserArn"} } }, "DescribeUserProfileResult":{ "type":"structure", "required":[ "userArn", "createdTimestamp", "lastModifiedTimestamp" ], "members":{ "userArn":{"shape":"UserArn"}, "displayName":{"shape":"UserProfileDisplayName"}, "emailAddress":{"shape":"Email"}, "sshPublicKey":{"shape":"SshPublicKey"}, "createdTimestamp":{"shape":"CreatedTimestamp"}, "lastModifiedTimestamp":{"shape":"LastModifiedTimestamp"} } }, "DisassociateTeamMemberRequest":{ "type":"structure", "required":[ "projectId", "userArn" ], "members":{ "projectId":{"shape":"ProjectId"}, "userArn":{"shape":"UserArn"} } }, "DisassociateTeamMemberResult":{ "type":"structure", "members":{ } }, "Email":{ "type":"string", "max":128, "min":3, "pattern":"^[\\w-.+]+@[\\w-.+]+$", "sensitive":true }, "InvalidNextTokenException":{ "type":"structure", "members":{ }, "exception":true }, "InvalidServiceRoleException":{ "type":"structure", "members":{ }, "exception":true }, "LastModifiedTimestamp":{"type":"timestamp"}, "LimitExceededException":{ "type":"structure", "members":{ }, "exception":true }, "ListProjectsRequest":{ "type":"structure", "members":{ "nextToken":{"shape":"PaginationToken"}, "maxResults":{ "shape":"MaxResults", "box":true } } }, "ListProjectsResult":{ "type":"structure", "required":["projects"], "members":{ "projects":{"shape":"ProjectsList"}, "nextToken":{"shape":"PaginationToken"} } }, "ListResourcesRequest":{ "type":"structure", "required":["projectId"], "members":{ "projectId":{"shape":"ProjectId"}, "nextToken":{"shape":"PaginationToken"}, "maxResults":{ "shape":"MaxResults", "box":true } } }, "ListResourcesResult":{ "type":"structure", "members":{ "resources":{"shape":"ResourcesResult"}, "nextToken":{"shape":"PaginationToken"} } }, "ListTagsForProjectRequest":{ "type":"structure", "required":["id"], "members":{ "id":{"shape":"ProjectId"}, "nextToken":{"shape":"PaginationToken"}, "maxResults":{ "shape":"MaxResults", "box":true } } }, "ListTagsForProjectResult":{ "type":"structure", "members":{ "tags":{"shape":"Tags"}, "nextToken":{"shape":"PaginationToken"} } }, "ListTeamMembersRequest":{ "type":"structure", "required":["projectId"], "members":{ "projectId":{"shape":"ProjectId"}, "nextToken":{"shape":"PaginationToken"}, "maxResults":{ "shape":"MaxResults", "box":true } } }, "ListTeamMembersResult":{ "type":"structure", "required":["teamMembers"], "members":{ "teamMembers":{"shape":"TeamMemberResult"}, "nextToken":{"shape":"PaginationToken"} } }, "ListUserProfilesRequest":{ "type":"structure", "members":{ "nextToken":{"shape":"PaginationToken"}, "maxResults":{ "shape":"MaxResults", "box":true } } }, "ListUserProfilesResult":{ "type":"structure", "required":["userProfiles"], "members":{ "userProfiles":{"shape":"UserProfilesList"}, "nextToken":{"shape":"PaginationToken"} } }, "MaxResults":{ "type":"integer", "max":100, "min":1 }, "PaginationToken":{ "type":"string", "max":512, "min":1, "pattern":"^[\\w/+=]+$" }, "ProjectAlreadyExistsException":{ "type":"structure", "members":{ }, "exception":true }, "ProjectArn":{ "type":"string", "pattern":"^arn:aws[^:\\s]*:codestar:[^:\\s]+:[0-9]{12}:project\\/[a-z]([a-z0-9|-])+$" }, "ProjectConfigurationException":{ "type":"structure", "members":{ }, "exception":true }, "ProjectCreationFailedException":{ "type":"structure", "members":{ }, "exception":true }, "ProjectDescription":{ "type":"string", "max":1024, "pattern":"^$|^\\S(.*\\S)?$", "sensitive":true }, "ProjectId":{ "type":"string", "max":15, "min":2, "pattern":"^[a-z][a-z0-9-]+$" }, "ProjectName":{ "type":"string", "max":100, "min":1, "pattern":"^\\S(.*\\S)?$", "sensitive":true }, "ProjectNotFoundException":{ "type":"structure", "members":{ }, "exception":true }, "ProjectSummary":{ "type":"structure", "members":{ "projectId":{"shape":"ProjectId"}, "projectArn":{"shape":"ProjectArn"} } }, "ProjectTemplateId":{ "type":"string", "min":1, "pattern":"^arn:aws[^:\\s]{0,5}:codestar:[^:\\s]+::project-template\\/[a-z0-9-]+$" }, "ProjectsList":{ "type":"list", "member":{"shape":"ProjectSummary"} }, "RemoteAccessAllowed":{"type":"boolean"}, "Resource":{ "type":"structure", "required":["id"], "members":{ "id":{"shape":"ResourceId"} } }, "ResourceId":{ "type":"string", "min":11, "pattern":"^arn\\:aws\\:\\S.*\\:.*" }, "ResourcesResult":{ "type":"list", "member":{"shape":"Resource"} }, "Role":{ "type":"string", "pattern":"^(Owner|Viewer|Contributor)$" }, "SshPublicKey":{ "type":"string", "max":16384, "pattern":"^[\\t\\r\\n\\u0020-\\u00FF]*$" }, "StackId":{ "type":"string", "pattern":"^arn:aws[^:\\s]*:cloudformation:[^:\\s]+:[0-9]{12}:stack\\/[^:\\s]+\\/[^:\\s]+$" }, "TagKey":{ "type":"string", "max":128, "min":1, "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "TagKeys":{ "type":"list", "member":{"shape":"TagKey"} }, "TagProjectRequest":{ "type":"structure", "required":[ "id", "tags" ], "members":{ "id":{"shape":"ProjectId"}, "tags":{"shape":"Tags"} } }, "TagProjectResult":{ "type":"structure", "members":{ "tags":{"shape":"Tags"} } }, "TagValue":{ "type":"string", "max":256, "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "Tags":{ "type":"map", "key":{"shape":"TagKey"}, "value":{"shape":"TagValue"} }, "TeamMember":{ "type":"structure", "required":[ "userArn", "projectRole" ], "members":{ "userArn":{"shape":"UserArn"}, "projectRole":{"shape":"Role"}, "remoteAccessAllowed":{ "shape":"RemoteAccessAllowed", "box":true } } }, "TeamMemberAlreadyAssociatedException":{ "type":"structure", "members":{ }, "exception":true }, "TeamMemberNotFoundException":{ "type":"structure", "members":{ }, "exception":true }, "TeamMemberResult":{ "type":"list", "member":{"shape":"TeamMember"} }, "UntagProjectRequest":{ "type":"structure", "required":[ "id", "tags" ], "members":{ "id":{"shape":"ProjectId"}, "tags":{"shape":"TagKeys"} } }, "UntagProjectResult":{ "type":"structure", "members":{ } }, "UpdateProjectRequest":{ "type":"structure", "required":["id"], "members":{ "id":{"shape":"ProjectId"}, "name":{"shape":"ProjectName"}, "description":{"shape":"ProjectDescription"} } }, "UpdateProjectResult":{ "type":"structure", "members":{ } }, "UpdateTeamMemberRequest":{ "type":"structure", "required":[ "projectId", "userArn" ], "members":{ "projectId":{"shape":"ProjectId"}, "userArn":{"shape":"UserArn"}, "projectRole":{"shape":"Role"}, "remoteAccessAllowed":{ "shape":"RemoteAccessAllowed", "box":true } } }, "UpdateTeamMemberResult":{ "type":"structure", "members":{ "userArn":{"shape":"UserArn"}, "projectRole":{"shape":"Role"}, "remoteAccessAllowed":{ "shape":"RemoteAccessAllowed", "box":true } } }, "UpdateUserProfileRequest":{ "type":"structure", "required":["userArn"], "members":{ "userArn":{"shape":"UserArn"}, "displayName":{"shape":"UserProfileDisplayName"}, "emailAddress":{"shape":"Email"}, "sshPublicKey":{"shape":"SshPublicKey"} } }, "UpdateUserProfileResult":{ "type":"structure", "required":["userArn"], "members":{ "userArn":{"shape":"UserArn"}, "displayName":{"shape":"UserProfileDisplayName"}, "emailAddress":{"shape":"Email"}, "sshPublicKey":{"shape":"SshPublicKey"}, "createdTimestamp":{"shape":"CreatedTimestamp"}, "lastModifiedTimestamp":{"shape":"LastModifiedTimestamp"} } }, "UserArn":{ "type":"string", "max":95, "min":32, "pattern":"^arn:aws:iam::\\d{12}:user(?:(\\u002F)|(\\u002F[\\u0021-\\u007E]+\\u002F))[\\w+=,.@-]+$" }, "UserProfileAlreadyExistsException":{ "type":"structure", "members":{ }, "exception":true }, "UserProfileDisplayName":{ "type":"string", "max":64, "min":1, "pattern":"^\\S(.*\\S)?$" }, "UserProfileNotFoundException":{ "type":"structure", "members":{ }, "exception":true }, "UserProfileSummary":{ "type":"structure", "members":{ "userArn":{"shape":"UserArn"}, "displayName":{"shape":"UserProfileDisplayName"}, "emailAddress":{"shape":"Email"}, "sshPublicKey":{"shape":"SshPublicKey"} } }, "UserProfilesList":{ "type":"list", "member":{"shape":"UserProfileSummary"} }, "ValidationException":{ "type":"structure", "members":{ }, "exception":true } } }