diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -7,9 +7,8 @@
 
 
 ## Version
-
-`1.6.1`
-
+ 
+`2.0` - Derived from API version @2017-04-19@ of the AWS service descriptions, licensed under Apache 2.0.
 
 ## Description
 
@@ -26,7 +25,7 @@
 The provided lenses should be compatible with any of the major lens libraries
 [lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).
 
-See [Network.AWS.CodeStar](http://hackage.haskell.org/package/amazonka-codestar/docs/Network-AWS-CodeStar.html)
+See [Amazonka.CodeStar](http://hackage.haskell.org/package/amazonka-codestar/docs/Amazonka-CodeStar.html)
 or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.
 
 
diff --git a/Setup.hs b/Setup.hs
deleted file mode 100644
--- a/Setup.hs
+++ /dev/null
@@ -1,2 +0,0 @@
-import           Distribution.Simple
-main = defaultMain
diff --git a/amazonka-codestar.cabal b/amazonka-codestar.cabal
--- a/amazonka-codestar.cabal
+++ b/amazonka-codestar.cabal
@@ -1,103 +1,114 @@
-name:                  amazonka-codestar
-version:               1.6.1
-synopsis:              Amazon CodeStar SDK.
-homepage:              https://github.com/brendanhay/amazonka
-bug-reports:           https://github.com/brendanhay/amazonka/issues
-license:               MPL-2.0
-license-file:          LICENSE
-author:                Brendan Hay
-maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-copyright:             Copyright (c) 2013-2018 Brendan Hay
-category:              Network, AWS, Cloud, Distributed Computing
-build-type:            Simple
-cabal-version:         >= 1.10
-extra-source-files:    README.md fixture/*.yaml fixture/*.proto src/.gitkeep
+cabal-version:      2.2
+name:               amazonka-codestar
+version:            2.0
+synopsis:           Amazon CodeStar SDK.
+homepage:           https://github.com/brendanhay/amazonka
+bug-reports:        https://github.com/brendanhay/amazonka/issues
+license:            MPL-2.0
+license-file:       LICENSE
+author:             Brendan Hay
+maintainer:
+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>
+
+copyright:          Copyright (c) 2013-2023 Brendan Hay
+category:           AWS
+build-type:         Simple
+extra-source-files:
+  fixture/*.proto
+  fixture/*.yaml
+  README.md
+  src/.gitkeep
+
 description:
-    The types from this library are intended to be used with
-    <http://hackage.haskell.org/package/amazonka amazonka>, which provides
-    mechanisms for specifying AuthN/AuthZ information, sending requests,
-    and receiving responses.
-    .
-    Lenses are used for constructing and manipulating types,
-    due to the depth of nesting of AWS types and transparency regarding
-    de/serialisation into more palatable Haskell values.
-    The provided lenses should be compatible with any of the major lens libraries
-    such as <http://hackage.haskell.org/package/lens lens> or
-    <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
-    .
-    See "Network.AWS.CodeStar" or <https://aws.amazon.com/documentation/ the AWS documentation>
-    to get started.
+  Derived from API version @2017-04-19@ of the AWS service descriptions, licensed under Apache 2.0.
+  .
+  The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,
+  which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.
+  .
+  It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.
+  .
+  Generated lenses can be found in "Amazonka.CodeStar.Lens" and are
+  suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
+  .
+  See "Amazonka.CodeStar" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started.
 
 source-repository head
-    type:              git
-    location:          git://github.com/brendanhay/amazonka.git
-    subdir:            amazonka-codestar
+  type:     git
+  location: git://github.com/brendanhay/amazonka.git
+  subdir:   amazonka-codestar
 
 library
-    default-language:  Haskell2010
-    hs-source-dirs:    src gen
-
-    ghc-options:
-        -Wall
-        -fwarn-incomplete-uni-patterns
-        -fwarn-incomplete-record-updates
-        -funbox-strict-fields
-
-    exposed-modules:
-          Network.AWS.CodeStar
-        , Network.AWS.CodeStar.AssociateTeamMember
-        , Network.AWS.CodeStar.CreateProject
-        , Network.AWS.CodeStar.CreateUserProfile
-        , Network.AWS.CodeStar.DeleteProject
-        , Network.AWS.CodeStar.DeleteUserProfile
-        , Network.AWS.CodeStar.DescribeProject
-        , Network.AWS.CodeStar.DescribeUserProfile
-        , Network.AWS.CodeStar.DisassociateTeamMember
-        , Network.AWS.CodeStar.ListProjects
-        , Network.AWS.CodeStar.ListResources
-        , Network.AWS.CodeStar.ListTagsForProject
-        , Network.AWS.CodeStar.ListTeamMembers
-        , Network.AWS.CodeStar.ListUserProfiles
-        , Network.AWS.CodeStar.TagProject
-        , Network.AWS.CodeStar.Types
-        , Network.AWS.CodeStar.UntagProject
-        , Network.AWS.CodeStar.UpdateProject
-        , Network.AWS.CodeStar.UpdateTeamMember
-        , Network.AWS.CodeStar.UpdateUserProfile
-        , Network.AWS.CodeStar.Waiters
+  default-language: Haskell2010
+  hs-source-dirs:   src gen
+  ghc-options:
+    -Wall -fwarn-incomplete-uni-patterns
+    -fwarn-incomplete-record-updates -funbox-strict-fields
 
-    other-modules:
-          Network.AWS.CodeStar.Types.Product
-        , Network.AWS.CodeStar.Types.Sum
+  exposed-modules:
+    Amazonka.CodeStar
+    Amazonka.CodeStar.AssociateTeamMember
+    Amazonka.CodeStar.CreateProject
+    Amazonka.CodeStar.CreateUserProfile
+    Amazonka.CodeStar.DeleteProject
+    Amazonka.CodeStar.DeleteUserProfile
+    Amazonka.CodeStar.DescribeProject
+    Amazonka.CodeStar.DescribeUserProfile
+    Amazonka.CodeStar.DisassociateTeamMember
+    Amazonka.CodeStar.Lens
+    Amazonka.CodeStar.ListProjects
+    Amazonka.CodeStar.ListResources
+    Amazonka.CodeStar.ListTagsForProject
+    Amazonka.CodeStar.ListTeamMembers
+    Amazonka.CodeStar.ListUserProfiles
+    Amazonka.CodeStar.TagProject
+    Amazonka.CodeStar.Types
+    Amazonka.CodeStar.Types.Code
+    Amazonka.CodeStar.Types.CodeCommitCodeDestination
+    Amazonka.CodeStar.Types.CodeDestination
+    Amazonka.CodeStar.Types.CodeSource
+    Amazonka.CodeStar.Types.GitHubCodeDestination
+    Amazonka.CodeStar.Types.ProjectStatus
+    Amazonka.CodeStar.Types.ProjectSummary
+    Amazonka.CodeStar.Types.Resource
+    Amazonka.CodeStar.Types.S3Location
+    Amazonka.CodeStar.Types.TeamMember
+    Amazonka.CodeStar.Types.Toolchain
+    Amazonka.CodeStar.Types.ToolchainSource
+    Amazonka.CodeStar.Types.UserProfileSummary
+    Amazonka.CodeStar.UntagProject
+    Amazonka.CodeStar.UpdateProject
+    Amazonka.CodeStar.UpdateTeamMember
+    Amazonka.CodeStar.UpdateUserProfile
+    Amazonka.CodeStar.Waiters
 
-    build-depends:
-          amazonka-core == 1.6.1.*
-        , base          >= 4.7     && < 5
+  build-depends:
+    , amazonka-core  >=2.0  && <2.1
+    , base           >=4.12 && <5
 
 test-suite amazonka-codestar-test
-    type:              exitcode-stdio-1.0
-    default-language:  Haskell2010
-    hs-source-dirs:    test
-    main-is:           Main.hs
-
-    ghc-options:       -Wall -threaded
+  type:             exitcode-stdio-1.0
+  default-language: Haskell2010
+  hs-source-dirs:   test
+  main-is:          Main.hs
+  ghc-options:      -Wall -threaded
 
-    -- This section is encoded by the template and any modules added by
-    -- hand outside these namespaces will not correctly be added to the
-    -- distribution package.
-    other-modules:
-          Test.AWS.CodeStar
-        , Test.AWS.Gen.CodeStar
-        , Test.AWS.CodeStar.Internal
+  -- This section is encoded by the template and any modules added by
+  -- hand outside these namespaces will not correctly be added to the
+  -- distribution package.
+  other-modules:
+    Test.Amazonka.CodeStar
+    Test.Amazonka.CodeStar.Internal
+    Test.Amazonka.Gen.CodeStar
 
-    build-depends:
-          amazonka-core == 1.6.1.*
-        , amazonka-test == 1.6.1.*
-        , amazonka-codestar
-        , base
-        , bytestring
-        , tasty
-        , tasty-hunit
-        , text
-        , time
-        , unordered-containers
+  build-depends:
+    , amazonka-codestar
+    , amazonka-core         >=2.0 && <2.1
+    , amazonka-test         >=2.0 && <2.1
+    , base
+    , bytestring
+    , case-insensitive
+    , tasty
+    , tasty-hunit
+    , text
+    , time
+    , unordered-containers
diff --git a/gen/Amazonka/CodeStar.hs b/gen/Amazonka/CodeStar.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar.hs
@@ -0,0 +1,333 @@
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- |
+-- Module      : Amazonka.CodeStar
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Derived from API version @2017-04-19@ of the AWS service descriptions, licensed under Apache 2.0.
+--
+-- AWS CodeStar
+--
+-- This is the API reference for AWS CodeStar. This reference provides
+-- descriptions of the operations and data types for the AWS CodeStar API
+-- along with usage examples.
+--
+-- You can use the AWS CodeStar API to work with:
+--
+-- Projects and their resources, by calling the following:
+--
+-- -   @DeleteProject@, which deletes a project.
+--
+-- -   @DescribeProject@, which lists the attributes of a project.
+--
+-- -   @ListProjects@, which lists all projects associated with your AWS
+--     account.
+--
+-- -   @ListResources@, which lists the resources associated with a
+--     project.
+--
+-- -   @ListTagsForProject@, which lists the tags associated with a
+--     project.
+--
+-- -   @TagProject@, which adds tags to a project.
+--
+-- -   @UntagProject@, which removes tags from a project.
+--
+-- -   @UpdateProject@, which updates the attributes of a project.
+--
+-- Teams and team members, by calling the following:
+--
+-- -   @AssociateTeamMember@, which adds an IAM user to the team for a
+--     project.
+--
+-- -   @DisassociateTeamMember@, which removes an IAM user from the team
+--     for a project.
+--
+-- -   @ListTeamMembers@, which lists all the IAM users in the team for a
+--     project, including their roles and attributes.
+--
+-- -   @UpdateTeamMember@, which updates a team member\'s attributes in a
+--     project.
+--
+-- Users, by calling the following:
+--
+-- -   @CreateUserProfile@, which creates a user profile that contains data
+--     associated with the user across all projects.
+--
+-- -   @DeleteUserProfile@, which deletes all user profile information
+--     across all projects.
+--
+-- -   @DescribeUserProfile@, which describes the profile of a user.
+--
+-- -   @ListUserProfiles@, which lists all user profiles.
+--
+-- -   @UpdateUserProfile@, which updates the profile for a user.
+module Amazonka.CodeStar
+  ( -- * Service Configuration
+    defaultService,
+
+    -- * Errors
+    -- $errors
+
+    -- ** ConcurrentModificationException
+    _ConcurrentModificationException,
+
+    -- ** InvalidNextTokenException
+    _InvalidNextTokenException,
+
+    -- ** InvalidServiceRoleException
+    _InvalidServiceRoleException,
+
+    -- ** LimitExceededException
+    _LimitExceededException,
+
+    -- ** ProjectAlreadyExistsException
+    _ProjectAlreadyExistsException,
+
+    -- ** ProjectConfigurationException
+    _ProjectConfigurationException,
+
+    -- ** ProjectCreationFailedException
+    _ProjectCreationFailedException,
+
+    -- ** ProjectNotFoundException
+    _ProjectNotFoundException,
+
+    -- ** TeamMemberAlreadyAssociatedException
+    _TeamMemberAlreadyAssociatedException,
+
+    -- ** TeamMemberNotFoundException
+    _TeamMemberNotFoundException,
+
+    -- ** UserProfileAlreadyExistsException
+    _UserProfileAlreadyExistsException,
+
+    -- ** UserProfileNotFoundException
+    _UserProfileNotFoundException,
+
+    -- ** ValidationException
+    _ValidationException,
+
+    -- * Waiters
+    -- $waiters
+
+    -- * Operations
+    -- $operations
+
+    -- ** AssociateTeamMember
+    AssociateTeamMember (AssociateTeamMember'),
+    newAssociateTeamMember,
+    AssociateTeamMemberResponse (AssociateTeamMemberResponse'),
+    newAssociateTeamMemberResponse,
+
+    -- ** CreateProject
+    CreateProject (CreateProject'),
+    newCreateProject,
+    CreateProjectResponse (CreateProjectResponse'),
+    newCreateProjectResponse,
+
+    -- ** CreateUserProfile
+    CreateUserProfile (CreateUserProfile'),
+    newCreateUserProfile,
+    CreateUserProfileResponse (CreateUserProfileResponse'),
+    newCreateUserProfileResponse,
+
+    -- ** DeleteProject
+    DeleteProject (DeleteProject'),
+    newDeleteProject,
+    DeleteProjectResponse (DeleteProjectResponse'),
+    newDeleteProjectResponse,
+
+    -- ** DeleteUserProfile
+    DeleteUserProfile (DeleteUserProfile'),
+    newDeleteUserProfile,
+    DeleteUserProfileResponse (DeleteUserProfileResponse'),
+    newDeleteUserProfileResponse,
+
+    -- ** DescribeProject
+    DescribeProject (DescribeProject'),
+    newDescribeProject,
+    DescribeProjectResponse (DescribeProjectResponse'),
+    newDescribeProjectResponse,
+
+    -- ** DescribeUserProfile
+    DescribeUserProfile (DescribeUserProfile'),
+    newDescribeUserProfile,
+    DescribeUserProfileResponse (DescribeUserProfileResponse'),
+    newDescribeUserProfileResponse,
+
+    -- ** DisassociateTeamMember
+    DisassociateTeamMember (DisassociateTeamMember'),
+    newDisassociateTeamMember,
+    DisassociateTeamMemberResponse (DisassociateTeamMemberResponse'),
+    newDisassociateTeamMemberResponse,
+
+    -- ** ListProjects (Paginated)
+    ListProjects (ListProjects'),
+    newListProjects,
+    ListProjectsResponse (ListProjectsResponse'),
+    newListProjectsResponse,
+
+    -- ** ListResources (Paginated)
+    ListResources (ListResources'),
+    newListResources,
+    ListResourcesResponse (ListResourcesResponse'),
+    newListResourcesResponse,
+
+    -- ** ListTagsForProject
+    ListTagsForProject (ListTagsForProject'),
+    newListTagsForProject,
+    ListTagsForProjectResponse (ListTagsForProjectResponse'),
+    newListTagsForProjectResponse,
+
+    -- ** ListTeamMembers (Paginated)
+    ListTeamMembers (ListTeamMembers'),
+    newListTeamMembers,
+    ListTeamMembersResponse (ListTeamMembersResponse'),
+    newListTeamMembersResponse,
+
+    -- ** ListUserProfiles (Paginated)
+    ListUserProfiles (ListUserProfiles'),
+    newListUserProfiles,
+    ListUserProfilesResponse (ListUserProfilesResponse'),
+    newListUserProfilesResponse,
+
+    -- ** TagProject
+    TagProject (TagProject'),
+    newTagProject,
+    TagProjectResponse (TagProjectResponse'),
+    newTagProjectResponse,
+
+    -- ** UntagProject
+    UntagProject (UntagProject'),
+    newUntagProject,
+    UntagProjectResponse (UntagProjectResponse'),
+    newUntagProjectResponse,
+
+    -- ** UpdateProject
+    UpdateProject (UpdateProject'),
+    newUpdateProject,
+    UpdateProjectResponse (UpdateProjectResponse'),
+    newUpdateProjectResponse,
+
+    -- ** UpdateTeamMember
+    UpdateTeamMember (UpdateTeamMember'),
+    newUpdateTeamMember,
+    UpdateTeamMemberResponse (UpdateTeamMemberResponse'),
+    newUpdateTeamMemberResponse,
+
+    -- ** UpdateUserProfile
+    UpdateUserProfile (UpdateUserProfile'),
+    newUpdateUserProfile,
+    UpdateUserProfileResponse (UpdateUserProfileResponse'),
+    newUpdateUserProfileResponse,
+
+    -- * Types
+
+    -- ** Code
+    Code (Code'),
+    newCode,
+
+    -- ** CodeCommitCodeDestination
+    CodeCommitCodeDestination (CodeCommitCodeDestination'),
+    newCodeCommitCodeDestination,
+
+    -- ** CodeDestination
+    CodeDestination (CodeDestination'),
+    newCodeDestination,
+
+    -- ** CodeSource
+    CodeSource (CodeSource'),
+    newCodeSource,
+
+    -- ** GitHubCodeDestination
+    GitHubCodeDestination (GitHubCodeDestination'),
+    newGitHubCodeDestination,
+
+    -- ** ProjectStatus
+    ProjectStatus (ProjectStatus'),
+    newProjectStatus,
+
+    -- ** ProjectSummary
+    ProjectSummary (ProjectSummary'),
+    newProjectSummary,
+
+    -- ** Resource
+    Resource (Resource'),
+    newResource,
+
+    -- ** S3Location
+    S3Location (S3Location'),
+    newS3Location,
+
+    -- ** TeamMember
+    TeamMember (TeamMember'),
+    newTeamMember,
+
+    -- ** Toolchain
+    Toolchain (Toolchain'),
+    newToolchain,
+
+    -- ** ToolchainSource
+    ToolchainSource (ToolchainSource'),
+    newToolchainSource,
+
+    -- ** UserProfileSummary
+    UserProfileSummary (UserProfileSummary'),
+    newUserProfileSummary,
+  )
+where
+
+import Amazonka.CodeStar.AssociateTeamMember
+import Amazonka.CodeStar.CreateProject
+import Amazonka.CodeStar.CreateUserProfile
+import Amazonka.CodeStar.DeleteProject
+import Amazonka.CodeStar.DeleteUserProfile
+import Amazonka.CodeStar.DescribeProject
+import Amazonka.CodeStar.DescribeUserProfile
+import Amazonka.CodeStar.DisassociateTeamMember
+import Amazonka.CodeStar.Lens
+import Amazonka.CodeStar.ListProjects
+import Amazonka.CodeStar.ListResources
+import Amazonka.CodeStar.ListTagsForProject
+import Amazonka.CodeStar.ListTeamMembers
+import Amazonka.CodeStar.ListUserProfiles
+import Amazonka.CodeStar.TagProject
+import Amazonka.CodeStar.Types
+import Amazonka.CodeStar.UntagProject
+import Amazonka.CodeStar.UpdateProject
+import Amazonka.CodeStar.UpdateTeamMember
+import Amazonka.CodeStar.UpdateUserProfile
+import Amazonka.CodeStar.Waiters
+
+-- $errors
+-- Error matchers are designed for use with the functions provided by
+-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.
+-- This allows catching (and rethrowing) service specific errors returned
+-- by 'CodeStar'.
+
+-- $operations
+-- Some AWS operations return results that are incomplete and require subsequent
+-- requests in order to obtain the entire result set. The process of sending
+-- subsequent requests to continue where a previous request left off is called
+-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to
+-- 1000 objects at a time, and you must send subsequent requests with the
+-- appropriate Marker in order to retrieve the next page of results.
+--
+-- Operations that have an 'AWSPager' instance can transparently perform subsequent
+-- requests, correctly setting Markers and other request facets to iterate through
+-- the entire result set of a truncated API operation. Operations which support
+-- this have an additional note in the documentation.
+--
+-- Many operations have the ability to filter results on the server side. See the
+-- individual operation parameters for details.
+
+-- $waiters
+-- Waiters poll by repeatedly sending a request until some remote success condition
+-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification
+-- determines how many attempts should be made, in addition to delay and retry strategies.
diff --git a/gen/Amazonka/CodeStar/AssociateTeamMember.hs b/gen/Amazonka/CodeStar/AssociateTeamMember.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/AssociateTeamMember.hs
@@ -0,0 +1,256 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.AssociateTeamMember
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Adds an IAM user to the team for an AWS CodeStar project.
+module Amazonka.CodeStar.AssociateTeamMember
+  ( -- * Creating a Request
+    AssociateTeamMember (..),
+    newAssociateTeamMember,
+
+    -- * Request Lenses
+    associateTeamMember_clientRequestToken,
+    associateTeamMember_remoteAccessAllowed,
+    associateTeamMember_projectId,
+    associateTeamMember_userArn,
+    associateTeamMember_projectRole,
+
+    -- * Destructuring the Response
+    AssociateTeamMemberResponse (..),
+    newAssociateTeamMemberResponse,
+
+    -- * Response Lenses
+    associateTeamMemberResponse_clientRequestToken,
+    associateTeamMemberResponse_httpStatus,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newAssociateTeamMember' smart constructor.
+data AssociateTeamMember = AssociateTeamMember'
+  { -- | A user- or system-generated token that identifies the entity that
+    -- requested the team member association to the project. This token can be
+    -- used to repeat the request.
+    clientRequestToken :: Prelude.Maybe Prelude.Text,
+    -- | Whether the team member is allowed to use an SSH public\/private key
+    -- pair to remotely access project resources, for example Amazon EC2
+    -- instances.
+    remoteAccessAllowed :: Prelude.Maybe Prelude.Bool,
+    -- | The ID of the project to which you will add the IAM user.
+    projectId :: Prelude.Text,
+    -- | The Amazon Resource Name (ARN) for the IAM user you want to add to the
+    -- AWS CodeStar project.
+    userArn :: Prelude.Text,
+    -- | The AWS CodeStar project role that will apply to this user. This role
+    -- determines what actions a user can take in an AWS CodeStar project.
+    projectRole :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'AssociateTeamMember' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'clientRequestToken', 'associateTeamMember_clientRequestToken' - A user- or system-generated token that identifies the entity that
+-- requested the team member association to the project. This token can be
+-- used to repeat the request.
+--
+-- 'remoteAccessAllowed', 'associateTeamMember_remoteAccessAllowed' - Whether the team member is allowed to use an SSH public\/private key
+-- pair to remotely access project resources, for example Amazon EC2
+-- instances.
+--
+-- 'projectId', 'associateTeamMember_projectId' - The ID of the project to which you will add the IAM user.
+--
+-- 'userArn', 'associateTeamMember_userArn' - The Amazon Resource Name (ARN) for the IAM user you want to add to the
+-- AWS CodeStar project.
+--
+-- 'projectRole', 'associateTeamMember_projectRole' - The AWS CodeStar project role that will apply to this user. This role
+-- determines what actions a user can take in an AWS CodeStar project.
+newAssociateTeamMember ::
+  -- | 'projectId'
+  Prelude.Text ->
+  -- | 'userArn'
+  Prelude.Text ->
+  -- | 'projectRole'
+  Prelude.Text ->
+  AssociateTeamMember
+newAssociateTeamMember
+  pProjectId_
+  pUserArn_
+  pProjectRole_ =
+    AssociateTeamMember'
+      { clientRequestToken =
+          Prelude.Nothing,
+        remoteAccessAllowed = Prelude.Nothing,
+        projectId = pProjectId_,
+        userArn = pUserArn_,
+        projectRole = pProjectRole_
+      }
+
+-- | A user- or system-generated token that identifies the entity that
+-- requested the team member association to the project. This token can be
+-- used to repeat the request.
+associateTeamMember_clientRequestToken :: Lens.Lens' AssociateTeamMember (Prelude.Maybe Prelude.Text)
+associateTeamMember_clientRequestToken = Lens.lens (\AssociateTeamMember' {clientRequestToken} -> clientRequestToken) (\s@AssociateTeamMember' {} a -> s {clientRequestToken = a} :: AssociateTeamMember)
+
+-- | Whether the team member is allowed to use an SSH public\/private key
+-- pair to remotely access project resources, for example Amazon EC2
+-- instances.
+associateTeamMember_remoteAccessAllowed :: Lens.Lens' AssociateTeamMember (Prelude.Maybe Prelude.Bool)
+associateTeamMember_remoteAccessAllowed = Lens.lens (\AssociateTeamMember' {remoteAccessAllowed} -> remoteAccessAllowed) (\s@AssociateTeamMember' {} a -> s {remoteAccessAllowed = a} :: AssociateTeamMember)
+
+-- | The ID of the project to which you will add the IAM user.
+associateTeamMember_projectId :: Lens.Lens' AssociateTeamMember Prelude.Text
+associateTeamMember_projectId = Lens.lens (\AssociateTeamMember' {projectId} -> projectId) (\s@AssociateTeamMember' {} a -> s {projectId = a} :: AssociateTeamMember)
+
+-- | The Amazon Resource Name (ARN) for the IAM user you want to add to the
+-- AWS CodeStar project.
+associateTeamMember_userArn :: Lens.Lens' AssociateTeamMember Prelude.Text
+associateTeamMember_userArn = Lens.lens (\AssociateTeamMember' {userArn} -> userArn) (\s@AssociateTeamMember' {} a -> s {userArn = a} :: AssociateTeamMember)
+
+-- | The AWS CodeStar project role that will apply to this user. This role
+-- determines what actions a user can take in an AWS CodeStar project.
+associateTeamMember_projectRole :: Lens.Lens' AssociateTeamMember Prelude.Text
+associateTeamMember_projectRole = Lens.lens (\AssociateTeamMember' {projectRole} -> projectRole) (\s@AssociateTeamMember' {} a -> s {projectRole = a} :: AssociateTeamMember)
+
+instance Core.AWSRequest AssociateTeamMember where
+  type
+    AWSResponse AssociateTeamMember =
+      AssociateTeamMemberResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          AssociateTeamMemberResponse'
+            Prelude.<$> (x Data..?> "clientRequestToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable AssociateTeamMember where
+  hashWithSalt _salt AssociateTeamMember' {..} =
+    _salt
+      `Prelude.hashWithSalt` clientRequestToken
+      `Prelude.hashWithSalt` remoteAccessAllowed
+      `Prelude.hashWithSalt` projectId
+      `Prelude.hashWithSalt` userArn
+      `Prelude.hashWithSalt` projectRole
+
+instance Prelude.NFData AssociateTeamMember where
+  rnf AssociateTeamMember' {..} =
+    Prelude.rnf clientRequestToken
+      `Prelude.seq` Prelude.rnf remoteAccessAllowed
+      `Prelude.seq` Prelude.rnf projectId
+      `Prelude.seq` Prelude.rnf userArn
+      `Prelude.seq` Prelude.rnf projectRole
+
+instance Data.ToHeaders AssociateTeamMember where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.AssociateTeamMember" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON AssociateTeamMember where
+  toJSON AssociateTeamMember' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("clientRequestToken" Data..=)
+              Prelude.<$> clientRequestToken,
+            ("remoteAccessAllowed" Data..=)
+              Prelude.<$> remoteAccessAllowed,
+            Prelude.Just ("projectId" Data..= projectId),
+            Prelude.Just ("userArn" Data..= userArn),
+            Prelude.Just ("projectRole" Data..= projectRole)
+          ]
+      )
+
+instance Data.ToPath AssociateTeamMember where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery AssociateTeamMember where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newAssociateTeamMemberResponse' smart constructor.
+data AssociateTeamMemberResponse = AssociateTeamMemberResponse'
+  { -- | The user- or system-generated token from the initial request that can be
+    -- used to repeat the request.
+    clientRequestToken :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'AssociateTeamMemberResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'clientRequestToken', 'associateTeamMemberResponse_clientRequestToken' - The user- or system-generated token from the initial request that can be
+-- used to repeat the request.
+--
+-- 'httpStatus', 'associateTeamMemberResponse_httpStatus' - The response's http status code.
+newAssociateTeamMemberResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  AssociateTeamMemberResponse
+newAssociateTeamMemberResponse pHttpStatus_ =
+  AssociateTeamMemberResponse'
+    { clientRequestToken =
+        Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | The user- or system-generated token from the initial request that can be
+-- used to repeat the request.
+associateTeamMemberResponse_clientRequestToken :: Lens.Lens' AssociateTeamMemberResponse (Prelude.Maybe Prelude.Text)
+associateTeamMemberResponse_clientRequestToken = Lens.lens (\AssociateTeamMemberResponse' {clientRequestToken} -> clientRequestToken) (\s@AssociateTeamMemberResponse' {} a -> s {clientRequestToken = a} :: AssociateTeamMemberResponse)
+
+-- | The response's http status code.
+associateTeamMemberResponse_httpStatus :: Lens.Lens' AssociateTeamMemberResponse Prelude.Int
+associateTeamMemberResponse_httpStatus = Lens.lens (\AssociateTeamMemberResponse' {httpStatus} -> httpStatus) (\s@AssociateTeamMemberResponse' {} a -> s {httpStatus = a} :: AssociateTeamMemberResponse)
+
+instance Prelude.NFData AssociateTeamMemberResponse where
+  rnf AssociateTeamMemberResponse' {..} =
+    Prelude.rnf clientRequestToken
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/CodeStar/CreateProject.hs b/gen/Amazonka/CodeStar/CreateProject.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/CreateProject.hs
@@ -0,0 +1,319 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.CreateProject
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Creates a project, including project resources. This action creates a
+-- project based on a submitted project request. A set of source code files
+-- and a toolchain template file can be included with the project request.
+-- If these are not provided, an empty project is created.
+module Amazonka.CodeStar.CreateProject
+  ( -- * Creating a Request
+    CreateProject (..),
+    newCreateProject,
+
+    -- * Request Lenses
+    createProject_clientRequestToken,
+    createProject_description,
+    createProject_sourceCode,
+    createProject_tags,
+    createProject_toolchain,
+    createProject_name,
+    createProject_id,
+
+    -- * Destructuring the Response
+    CreateProjectResponse (..),
+    newCreateProjectResponse,
+
+    -- * Response Lenses
+    createProjectResponse_clientRequestToken,
+    createProjectResponse_projectTemplateId,
+    createProjectResponse_httpStatus,
+    createProjectResponse_id,
+    createProjectResponse_arn,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newCreateProject' smart constructor.
+data CreateProject = CreateProject'
+  { -- | A user- or system-generated token that identifies the entity that
+    -- requested project creation. This token can be used to repeat the
+    -- request.
+    clientRequestToken :: Prelude.Maybe Prelude.Text,
+    -- | The description of the project, if any.
+    description :: Prelude.Maybe (Data.Sensitive Prelude.Text),
+    -- | A list of the Code objects submitted with the project request. If this
+    -- parameter is specified, the request must also include the toolchain
+    -- parameter.
+    sourceCode :: Prelude.Maybe [Code],
+    -- | The tags created for the project.
+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | The name of the toolchain template file submitted with the project
+    -- request. If this parameter is specified, the request must also include
+    -- the sourceCode parameter.
+    toolchain :: Prelude.Maybe Toolchain,
+    -- | The display name for the project to be created in AWS CodeStar.
+    name :: Data.Sensitive Prelude.Text,
+    -- | The ID of the project to be created in AWS CodeStar.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CreateProject' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'clientRequestToken', 'createProject_clientRequestToken' - A user- or system-generated token that identifies the entity that
+-- requested project creation. This token can be used to repeat the
+-- request.
+--
+-- 'description', 'createProject_description' - The description of the project, if any.
+--
+-- 'sourceCode', 'createProject_sourceCode' - A list of the Code objects submitted with the project request. If this
+-- parameter is specified, the request must also include the toolchain
+-- parameter.
+--
+-- 'tags', 'createProject_tags' - The tags created for the project.
+--
+-- 'toolchain', 'createProject_toolchain' - The name of the toolchain template file submitted with the project
+-- request. If this parameter is specified, the request must also include
+-- the sourceCode parameter.
+--
+-- 'name', 'createProject_name' - The display name for the project to be created in AWS CodeStar.
+--
+-- 'id', 'createProject_id' - The ID of the project to be created in AWS CodeStar.
+newCreateProject ::
+  -- | 'name'
+  Prelude.Text ->
+  -- | 'id'
+  Prelude.Text ->
+  CreateProject
+newCreateProject pName_ pId_ =
+  CreateProject'
+    { clientRequestToken =
+        Prelude.Nothing,
+      description = Prelude.Nothing,
+      sourceCode = Prelude.Nothing,
+      tags = Prelude.Nothing,
+      toolchain = Prelude.Nothing,
+      name = Data._Sensitive Lens.# pName_,
+      id = pId_
+    }
+
+-- | A user- or system-generated token that identifies the entity that
+-- requested project creation. This token can be used to repeat the
+-- request.
+createProject_clientRequestToken :: Lens.Lens' CreateProject (Prelude.Maybe Prelude.Text)
+createProject_clientRequestToken = Lens.lens (\CreateProject' {clientRequestToken} -> clientRequestToken) (\s@CreateProject' {} a -> s {clientRequestToken = a} :: CreateProject)
+
+-- | The description of the project, if any.
+createProject_description :: Lens.Lens' CreateProject (Prelude.Maybe Prelude.Text)
+createProject_description = Lens.lens (\CreateProject' {description} -> description) (\s@CreateProject' {} a -> s {description = a} :: CreateProject) Prelude.. Lens.mapping Data._Sensitive
+
+-- | A list of the Code objects submitted with the project request. If this
+-- parameter is specified, the request must also include the toolchain
+-- parameter.
+createProject_sourceCode :: Lens.Lens' CreateProject (Prelude.Maybe [Code])
+createProject_sourceCode = Lens.lens (\CreateProject' {sourceCode} -> sourceCode) (\s@CreateProject' {} a -> s {sourceCode = a} :: CreateProject) Prelude.. Lens.mapping Lens.coerced
+
+-- | The tags created for the project.
+createProject_tags :: Lens.Lens' CreateProject (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+createProject_tags = Lens.lens (\CreateProject' {tags} -> tags) (\s@CreateProject' {} a -> s {tags = a} :: CreateProject) Prelude.. Lens.mapping Lens.coerced
+
+-- | The name of the toolchain template file submitted with the project
+-- request. If this parameter is specified, the request must also include
+-- the sourceCode parameter.
+createProject_toolchain :: Lens.Lens' CreateProject (Prelude.Maybe Toolchain)
+createProject_toolchain = Lens.lens (\CreateProject' {toolchain} -> toolchain) (\s@CreateProject' {} a -> s {toolchain = a} :: CreateProject)
+
+-- | The display name for the project to be created in AWS CodeStar.
+createProject_name :: Lens.Lens' CreateProject Prelude.Text
+createProject_name = Lens.lens (\CreateProject' {name} -> name) (\s@CreateProject' {} a -> s {name = a} :: CreateProject) Prelude.. Data._Sensitive
+
+-- | The ID of the project to be created in AWS CodeStar.
+createProject_id :: Lens.Lens' CreateProject Prelude.Text
+createProject_id = Lens.lens (\CreateProject' {id} -> id) (\s@CreateProject' {} a -> s {id = a} :: CreateProject)
+
+instance Core.AWSRequest CreateProject where
+  type
+    AWSResponse CreateProject =
+      CreateProjectResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          CreateProjectResponse'
+            Prelude.<$> (x Data..?> "clientRequestToken")
+            Prelude.<*> (x Data..?> "projectTemplateId")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "arn")
+      )
+
+instance Prelude.Hashable CreateProject where
+  hashWithSalt _salt CreateProject' {..} =
+    _salt
+      `Prelude.hashWithSalt` clientRequestToken
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` sourceCode
+      `Prelude.hashWithSalt` tags
+      `Prelude.hashWithSalt` toolchain
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` id
+
+instance Prelude.NFData CreateProject where
+  rnf CreateProject' {..} =
+    Prelude.rnf clientRequestToken
+      `Prelude.seq` Prelude.rnf description
+      `Prelude.seq` Prelude.rnf sourceCode
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf toolchain
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf id
+
+instance Data.ToHeaders CreateProject where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.CreateProject" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON CreateProject where
+  toJSON CreateProject' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("clientRequestToken" Data..=)
+              Prelude.<$> clientRequestToken,
+            ("description" Data..=) Prelude.<$> description,
+            ("sourceCode" Data..=) Prelude.<$> sourceCode,
+            ("tags" Data..=) Prelude.<$> tags,
+            ("toolchain" Data..=) Prelude.<$> toolchain,
+            Prelude.Just ("name" Data..= name),
+            Prelude.Just ("id" Data..= id)
+          ]
+      )
+
+instance Data.ToPath CreateProject where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery CreateProject where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newCreateProjectResponse' smart constructor.
+data CreateProjectResponse = CreateProjectResponse'
+  { -- | A user- or system-generated token that identifies the entity that
+    -- requested project creation.
+    clientRequestToken :: Prelude.Maybe Prelude.Text,
+    -- | Reserved for future use.
+    projectTemplateId :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The ID of the project.
+    id :: Prelude.Text,
+    -- | The Amazon Resource Name (ARN) of the created project.
+    arn :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CreateProjectResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'clientRequestToken', 'createProjectResponse_clientRequestToken' - A user- or system-generated token that identifies the entity that
+-- requested project creation.
+--
+-- 'projectTemplateId', 'createProjectResponse_projectTemplateId' - Reserved for future use.
+--
+-- 'httpStatus', 'createProjectResponse_httpStatus' - The response's http status code.
+--
+-- 'id', 'createProjectResponse_id' - The ID of the project.
+--
+-- 'arn', 'createProjectResponse_arn' - The Amazon Resource Name (ARN) of the created project.
+newCreateProjectResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'arn'
+  Prelude.Text ->
+  CreateProjectResponse
+newCreateProjectResponse pHttpStatus_ pId_ pArn_ =
+  CreateProjectResponse'
+    { clientRequestToken =
+        Prelude.Nothing,
+      projectTemplateId = Prelude.Nothing,
+      httpStatus = pHttpStatus_,
+      id = pId_,
+      arn = pArn_
+    }
+
+-- | A user- or system-generated token that identifies the entity that
+-- requested project creation.
+createProjectResponse_clientRequestToken :: Lens.Lens' CreateProjectResponse (Prelude.Maybe Prelude.Text)
+createProjectResponse_clientRequestToken = Lens.lens (\CreateProjectResponse' {clientRequestToken} -> clientRequestToken) (\s@CreateProjectResponse' {} a -> s {clientRequestToken = a} :: CreateProjectResponse)
+
+-- | Reserved for future use.
+createProjectResponse_projectTemplateId :: Lens.Lens' CreateProjectResponse (Prelude.Maybe Prelude.Text)
+createProjectResponse_projectTemplateId = Lens.lens (\CreateProjectResponse' {projectTemplateId} -> projectTemplateId) (\s@CreateProjectResponse' {} a -> s {projectTemplateId = a} :: CreateProjectResponse)
+
+-- | The response's http status code.
+createProjectResponse_httpStatus :: Lens.Lens' CreateProjectResponse Prelude.Int
+createProjectResponse_httpStatus = Lens.lens (\CreateProjectResponse' {httpStatus} -> httpStatus) (\s@CreateProjectResponse' {} a -> s {httpStatus = a} :: CreateProjectResponse)
+
+-- | The ID of the project.
+createProjectResponse_id :: Lens.Lens' CreateProjectResponse Prelude.Text
+createProjectResponse_id = Lens.lens (\CreateProjectResponse' {id} -> id) (\s@CreateProjectResponse' {} a -> s {id = a} :: CreateProjectResponse)
+
+-- | The Amazon Resource Name (ARN) of the created project.
+createProjectResponse_arn :: Lens.Lens' CreateProjectResponse Prelude.Text
+createProjectResponse_arn = Lens.lens (\CreateProjectResponse' {arn} -> arn) (\s@CreateProjectResponse' {} a -> s {arn = a} :: CreateProjectResponse)
+
+instance Prelude.NFData CreateProjectResponse where
+  rnf CreateProjectResponse' {..} =
+    Prelude.rnf clientRequestToken
+      `Prelude.seq` Prelude.rnf projectTemplateId
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf arn
diff --git a/gen/Amazonka/CodeStar/CreateUserProfile.hs b/gen/Amazonka/CodeStar/CreateUserProfile.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/CreateUserProfile.hs
@@ -0,0 +1,315 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.CreateUserProfile
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Creates a profile for a user that includes user preferences, such as the
+-- display name and email address assocciated with the user, in AWS
+-- CodeStar. The user profile is not project-specific. Information in the
+-- user profile is displayed wherever the user\'s information appears to
+-- other users in AWS CodeStar.
+module Amazonka.CodeStar.CreateUserProfile
+  ( -- * Creating a Request
+    CreateUserProfile (..),
+    newCreateUserProfile,
+
+    -- * Request Lenses
+    createUserProfile_sshPublicKey,
+    createUserProfile_userArn,
+    createUserProfile_displayName,
+    createUserProfile_emailAddress,
+
+    -- * Destructuring the Response
+    CreateUserProfileResponse (..),
+    newCreateUserProfileResponse,
+
+    -- * Response Lenses
+    createUserProfileResponse_createdTimestamp,
+    createUserProfileResponse_displayName,
+    createUserProfileResponse_emailAddress,
+    createUserProfileResponse_lastModifiedTimestamp,
+    createUserProfileResponse_sshPublicKey,
+    createUserProfileResponse_httpStatus,
+    createUserProfileResponse_userArn,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newCreateUserProfile' smart constructor.
+data CreateUserProfile = CreateUserProfile'
+  { -- | The SSH public key associated with the user in AWS CodeStar. If a
+    -- project owner allows the user remote access to project resources, this
+    -- public key will be used along with the user\'s private key for SSH
+    -- access.
+    sshPublicKey :: Prelude.Maybe Prelude.Text,
+    -- | The Amazon Resource Name (ARN) of the user in IAM.
+    userArn :: Prelude.Text,
+    -- | The name that will be displayed as the friendly name for the user in AWS
+    -- CodeStar.
+    displayName :: Data.Sensitive Prelude.Text,
+    -- | The email address that will be displayed as part of the user\'s profile
+    -- in AWS CodeStar.
+    emailAddress :: Data.Sensitive Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CreateUserProfile' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'sshPublicKey', 'createUserProfile_sshPublicKey' - The SSH public key associated with the user in AWS CodeStar. If a
+-- project owner allows the user remote access to project resources, this
+-- public key will be used along with the user\'s private key for SSH
+-- access.
+--
+-- 'userArn', 'createUserProfile_userArn' - The Amazon Resource Name (ARN) of the user in IAM.
+--
+-- 'displayName', 'createUserProfile_displayName' - The name that will be displayed as the friendly name for the user in AWS
+-- CodeStar.
+--
+-- 'emailAddress', 'createUserProfile_emailAddress' - The email address that will be displayed as part of the user\'s profile
+-- in AWS CodeStar.
+newCreateUserProfile ::
+  -- | 'userArn'
+  Prelude.Text ->
+  -- | 'displayName'
+  Prelude.Text ->
+  -- | 'emailAddress'
+  Prelude.Text ->
+  CreateUserProfile
+newCreateUserProfile
+  pUserArn_
+  pDisplayName_
+  pEmailAddress_ =
+    CreateUserProfile'
+      { sshPublicKey = Prelude.Nothing,
+        userArn = pUserArn_,
+        displayName = Data._Sensitive Lens.# pDisplayName_,
+        emailAddress = Data._Sensitive Lens.# pEmailAddress_
+      }
+
+-- | The SSH public key associated with the user in AWS CodeStar. If a
+-- project owner allows the user remote access to project resources, this
+-- public key will be used along with the user\'s private key for SSH
+-- access.
+createUserProfile_sshPublicKey :: Lens.Lens' CreateUserProfile (Prelude.Maybe Prelude.Text)
+createUserProfile_sshPublicKey = Lens.lens (\CreateUserProfile' {sshPublicKey} -> sshPublicKey) (\s@CreateUserProfile' {} a -> s {sshPublicKey = a} :: CreateUserProfile)
+
+-- | The Amazon Resource Name (ARN) of the user in IAM.
+createUserProfile_userArn :: Lens.Lens' CreateUserProfile Prelude.Text
+createUserProfile_userArn = Lens.lens (\CreateUserProfile' {userArn} -> userArn) (\s@CreateUserProfile' {} a -> s {userArn = a} :: CreateUserProfile)
+
+-- | The name that will be displayed as the friendly name for the user in AWS
+-- CodeStar.
+createUserProfile_displayName :: Lens.Lens' CreateUserProfile Prelude.Text
+createUserProfile_displayName = Lens.lens (\CreateUserProfile' {displayName} -> displayName) (\s@CreateUserProfile' {} a -> s {displayName = a} :: CreateUserProfile) Prelude.. Data._Sensitive
+
+-- | The email address that will be displayed as part of the user\'s profile
+-- in AWS CodeStar.
+createUserProfile_emailAddress :: Lens.Lens' CreateUserProfile Prelude.Text
+createUserProfile_emailAddress = Lens.lens (\CreateUserProfile' {emailAddress} -> emailAddress) (\s@CreateUserProfile' {} a -> s {emailAddress = a} :: CreateUserProfile) Prelude.. Data._Sensitive
+
+instance Core.AWSRequest CreateUserProfile where
+  type
+    AWSResponse CreateUserProfile =
+      CreateUserProfileResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          CreateUserProfileResponse'
+            Prelude.<$> (x Data..?> "createdTimestamp")
+            Prelude.<*> (x Data..?> "displayName")
+            Prelude.<*> (x Data..?> "emailAddress")
+            Prelude.<*> (x Data..?> "lastModifiedTimestamp")
+            Prelude.<*> (x Data..?> "sshPublicKey")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "userArn")
+      )
+
+instance Prelude.Hashable CreateUserProfile where
+  hashWithSalt _salt CreateUserProfile' {..} =
+    _salt
+      `Prelude.hashWithSalt` sshPublicKey
+      `Prelude.hashWithSalt` userArn
+      `Prelude.hashWithSalt` displayName
+      `Prelude.hashWithSalt` emailAddress
+
+instance Prelude.NFData CreateUserProfile where
+  rnf CreateUserProfile' {..} =
+    Prelude.rnf sshPublicKey
+      `Prelude.seq` Prelude.rnf userArn
+      `Prelude.seq` Prelude.rnf displayName
+      `Prelude.seq` Prelude.rnf emailAddress
+
+instance Data.ToHeaders CreateUserProfile where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.CreateUserProfile" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON CreateUserProfile where
+  toJSON CreateUserProfile' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("sshPublicKey" Data..=) Prelude.<$> sshPublicKey,
+            Prelude.Just ("userArn" Data..= userArn),
+            Prelude.Just ("displayName" Data..= displayName),
+            Prelude.Just ("emailAddress" Data..= emailAddress)
+          ]
+      )
+
+instance Data.ToPath CreateUserProfile where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery CreateUserProfile where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newCreateUserProfileResponse' smart constructor.
+data CreateUserProfileResponse = CreateUserProfileResponse'
+  { -- | The date the user profile was created, in timestamp format.
+    createdTimestamp :: Prelude.Maybe Data.POSIX,
+    -- | The name that is displayed as the friendly name for the user in AWS
+    -- CodeStar.
+    displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),
+    -- | The email address that is displayed as part of the user\'s profile in
+    -- AWS CodeStar.
+    emailAddress :: Prelude.Maybe (Data.Sensitive Prelude.Text),
+    -- | The date the user profile was last modified, in timestamp format.
+    lastModifiedTimestamp :: Prelude.Maybe Data.POSIX,
+    -- | The SSH public key associated with the user in AWS CodeStar. This is the
+    -- public portion of the public\/private keypair the user can use to access
+    -- project resources if a project owner allows the user remote access to
+    -- those resources.
+    sshPublicKey :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The Amazon Resource Name (ARN) of the user in IAM.
+    userArn :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CreateUserProfileResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'createdTimestamp', 'createUserProfileResponse_createdTimestamp' - The date the user profile was created, in timestamp format.
+--
+-- 'displayName', 'createUserProfileResponse_displayName' - The name that is displayed as the friendly name for the user in AWS
+-- CodeStar.
+--
+-- 'emailAddress', 'createUserProfileResponse_emailAddress' - The email address that is displayed as part of the user\'s profile in
+-- AWS CodeStar.
+--
+-- 'lastModifiedTimestamp', 'createUserProfileResponse_lastModifiedTimestamp' - The date the user profile was last modified, in timestamp format.
+--
+-- 'sshPublicKey', 'createUserProfileResponse_sshPublicKey' - The SSH public key associated with the user in AWS CodeStar. This is the
+-- public portion of the public\/private keypair the user can use to access
+-- project resources if a project owner allows the user remote access to
+-- those resources.
+--
+-- 'httpStatus', 'createUserProfileResponse_httpStatus' - The response's http status code.
+--
+-- 'userArn', 'createUserProfileResponse_userArn' - The Amazon Resource Name (ARN) of the user in IAM.
+newCreateUserProfileResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'userArn'
+  Prelude.Text ->
+  CreateUserProfileResponse
+newCreateUserProfileResponse pHttpStatus_ pUserArn_ =
+  CreateUserProfileResponse'
+    { createdTimestamp =
+        Prelude.Nothing,
+      displayName = Prelude.Nothing,
+      emailAddress = Prelude.Nothing,
+      lastModifiedTimestamp = Prelude.Nothing,
+      sshPublicKey = Prelude.Nothing,
+      httpStatus = pHttpStatus_,
+      userArn = pUserArn_
+    }
+
+-- | The date the user profile was created, in timestamp format.
+createUserProfileResponse_createdTimestamp :: Lens.Lens' CreateUserProfileResponse (Prelude.Maybe Prelude.UTCTime)
+createUserProfileResponse_createdTimestamp = Lens.lens (\CreateUserProfileResponse' {createdTimestamp} -> createdTimestamp) (\s@CreateUserProfileResponse' {} a -> s {createdTimestamp = a} :: CreateUserProfileResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The name that is displayed as the friendly name for the user in AWS
+-- CodeStar.
+createUserProfileResponse_displayName :: Lens.Lens' CreateUserProfileResponse (Prelude.Maybe Prelude.Text)
+createUserProfileResponse_displayName = Lens.lens (\CreateUserProfileResponse' {displayName} -> displayName) (\s@CreateUserProfileResponse' {} a -> s {displayName = a} :: CreateUserProfileResponse) Prelude.. Lens.mapping Data._Sensitive
+
+-- | The email address that is displayed as part of the user\'s profile in
+-- AWS CodeStar.
+createUserProfileResponse_emailAddress :: Lens.Lens' CreateUserProfileResponse (Prelude.Maybe Prelude.Text)
+createUserProfileResponse_emailAddress = Lens.lens (\CreateUserProfileResponse' {emailAddress} -> emailAddress) (\s@CreateUserProfileResponse' {} a -> s {emailAddress = a} :: CreateUserProfileResponse) Prelude.. Lens.mapping Data._Sensitive
+
+-- | The date the user profile was last modified, in timestamp format.
+createUserProfileResponse_lastModifiedTimestamp :: Lens.Lens' CreateUserProfileResponse (Prelude.Maybe Prelude.UTCTime)
+createUserProfileResponse_lastModifiedTimestamp = Lens.lens (\CreateUserProfileResponse' {lastModifiedTimestamp} -> lastModifiedTimestamp) (\s@CreateUserProfileResponse' {} a -> s {lastModifiedTimestamp = a} :: CreateUserProfileResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The SSH public key associated with the user in AWS CodeStar. This is the
+-- public portion of the public\/private keypair the user can use to access
+-- project resources if a project owner allows the user remote access to
+-- those resources.
+createUserProfileResponse_sshPublicKey :: Lens.Lens' CreateUserProfileResponse (Prelude.Maybe Prelude.Text)
+createUserProfileResponse_sshPublicKey = Lens.lens (\CreateUserProfileResponse' {sshPublicKey} -> sshPublicKey) (\s@CreateUserProfileResponse' {} a -> s {sshPublicKey = a} :: CreateUserProfileResponse)
+
+-- | The response's http status code.
+createUserProfileResponse_httpStatus :: Lens.Lens' CreateUserProfileResponse Prelude.Int
+createUserProfileResponse_httpStatus = Lens.lens (\CreateUserProfileResponse' {httpStatus} -> httpStatus) (\s@CreateUserProfileResponse' {} a -> s {httpStatus = a} :: CreateUserProfileResponse)
+
+-- | The Amazon Resource Name (ARN) of the user in IAM.
+createUserProfileResponse_userArn :: Lens.Lens' CreateUserProfileResponse Prelude.Text
+createUserProfileResponse_userArn = Lens.lens (\CreateUserProfileResponse' {userArn} -> userArn) (\s@CreateUserProfileResponse' {} a -> s {userArn = a} :: CreateUserProfileResponse)
+
+instance Prelude.NFData CreateUserProfileResponse where
+  rnf CreateUserProfileResponse' {..} =
+    Prelude.rnf createdTimestamp
+      `Prelude.seq` Prelude.rnf displayName
+      `Prelude.seq` Prelude.rnf emailAddress
+      `Prelude.seq` Prelude.rnf lastModifiedTimestamp
+      `Prelude.seq` Prelude.rnf sshPublicKey
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf userArn
diff --git a/gen/Amazonka/CodeStar/DeleteProject.hs b/gen/Amazonka/CodeStar/DeleteProject.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/DeleteProject.hs
@@ -0,0 +1,236 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.DeleteProject
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Deletes a project, including project resources. Does not delete users
+-- associated with the project, but does delete the IAM roles that allowed
+-- access to the project.
+module Amazonka.CodeStar.DeleteProject
+  ( -- * Creating a Request
+    DeleteProject (..),
+    newDeleteProject,
+
+    -- * Request Lenses
+    deleteProject_clientRequestToken,
+    deleteProject_deleteStack,
+    deleteProject_id,
+
+    -- * Destructuring the Response
+    DeleteProjectResponse (..),
+    newDeleteProjectResponse,
+
+    -- * Response Lenses
+    deleteProjectResponse_projectArn,
+    deleteProjectResponse_stackId,
+    deleteProjectResponse_httpStatus,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newDeleteProject' smart constructor.
+data DeleteProject = DeleteProject'
+  { -- | A user- or system-generated token that identifies the entity that
+    -- requested project deletion. This token can be used to repeat the
+    -- request.
+    clientRequestToken :: Prelude.Maybe Prelude.Text,
+    -- | Whether to send a delete request for the primary stack in AWS
+    -- CloudFormation originally used to generate the project and its
+    -- resources. This option will delete all AWS resources for the project
+    -- (except for any buckets in Amazon S3) as well as deleting the project
+    -- itself. Recommended for most use cases.
+    deleteStack :: Prelude.Maybe Prelude.Bool,
+    -- | The ID of the project to be deleted in AWS CodeStar.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteProject' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'clientRequestToken', 'deleteProject_clientRequestToken' - A user- or system-generated token that identifies the entity that
+-- requested project deletion. This token can be used to repeat the
+-- request.
+--
+-- 'deleteStack', 'deleteProject_deleteStack' - Whether to send a delete request for the primary stack in AWS
+-- CloudFormation originally used to generate the project and its
+-- resources. This option will delete all AWS resources for the project
+-- (except for any buckets in Amazon S3) as well as deleting the project
+-- itself. Recommended for most use cases.
+--
+-- 'id', 'deleteProject_id' - The ID of the project to be deleted in AWS CodeStar.
+newDeleteProject ::
+  -- | 'id'
+  Prelude.Text ->
+  DeleteProject
+newDeleteProject pId_ =
+  DeleteProject'
+    { clientRequestToken =
+        Prelude.Nothing,
+      deleteStack = Prelude.Nothing,
+      id = pId_
+    }
+
+-- | A user- or system-generated token that identifies the entity that
+-- requested project deletion. This token can be used to repeat the
+-- request.
+deleteProject_clientRequestToken :: Lens.Lens' DeleteProject (Prelude.Maybe Prelude.Text)
+deleteProject_clientRequestToken = Lens.lens (\DeleteProject' {clientRequestToken} -> clientRequestToken) (\s@DeleteProject' {} a -> s {clientRequestToken = a} :: DeleteProject)
+
+-- | Whether to send a delete request for the primary stack in AWS
+-- CloudFormation originally used to generate the project and its
+-- resources. This option will delete all AWS resources for the project
+-- (except for any buckets in Amazon S3) as well as deleting the project
+-- itself. Recommended for most use cases.
+deleteProject_deleteStack :: Lens.Lens' DeleteProject (Prelude.Maybe Prelude.Bool)
+deleteProject_deleteStack = Lens.lens (\DeleteProject' {deleteStack} -> deleteStack) (\s@DeleteProject' {} a -> s {deleteStack = a} :: DeleteProject)
+
+-- | The ID of the project to be deleted in AWS CodeStar.
+deleteProject_id :: Lens.Lens' DeleteProject Prelude.Text
+deleteProject_id = Lens.lens (\DeleteProject' {id} -> id) (\s@DeleteProject' {} a -> s {id = a} :: DeleteProject)
+
+instance Core.AWSRequest DeleteProject where
+  type
+    AWSResponse DeleteProject =
+      DeleteProjectResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          DeleteProjectResponse'
+            Prelude.<$> (x Data..?> "projectArn")
+            Prelude.<*> (x Data..?> "stackId")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable DeleteProject where
+  hashWithSalt _salt DeleteProject' {..} =
+    _salt
+      `Prelude.hashWithSalt` clientRequestToken
+      `Prelude.hashWithSalt` deleteStack
+      `Prelude.hashWithSalt` id
+
+instance Prelude.NFData DeleteProject where
+  rnf DeleteProject' {..} =
+    Prelude.rnf clientRequestToken
+      `Prelude.seq` Prelude.rnf deleteStack
+      `Prelude.seq` Prelude.rnf id
+
+instance Data.ToHeaders DeleteProject where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.DeleteProject" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON DeleteProject where
+  toJSON DeleteProject' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("clientRequestToken" Data..=)
+              Prelude.<$> clientRequestToken,
+            ("deleteStack" Data..=) Prelude.<$> deleteStack,
+            Prelude.Just ("id" Data..= id)
+          ]
+      )
+
+instance Data.ToPath DeleteProject where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery DeleteProject where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newDeleteProjectResponse' smart constructor.
+data DeleteProjectResponse = DeleteProjectResponse'
+  { -- | The Amazon Resource Name (ARN) of the deleted project.
+    projectArn :: Prelude.Maybe Prelude.Text,
+    -- | The ID of the primary stack in AWS CloudFormation that will be deleted
+    -- as part of deleting the project and its resources.
+    stackId :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteProjectResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'projectArn', 'deleteProjectResponse_projectArn' - The Amazon Resource Name (ARN) of the deleted project.
+--
+-- 'stackId', 'deleteProjectResponse_stackId' - The ID of the primary stack in AWS CloudFormation that will be deleted
+-- as part of deleting the project and its resources.
+--
+-- 'httpStatus', 'deleteProjectResponse_httpStatus' - The response's http status code.
+newDeleteProjectResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  DeleteProjectResponse
+newDeleteProjectResponse pHttpStatus_ =
+  DeleteProjectResponse'
+    { projectArn =
+        Prelude.Nothing,
+      stackId = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | The Amazon Resource Name (ARN) of the deleted project.
+deleteProjectResponse_projectArn :: Lens.Lens' DeleteProjectResponse (Prelude.Maybe Prelude.Text)
+deleteProjectResponse_projectArn = Lens.lens (\DeleteProjectResponse' {projectArn} -> projectArn) (\s@DeleteProjectResponse' {} a -> s {projectArn = a} :: DeleteProjectResponse)
+
+-- | The ID of the primary stack in AWS CloudFormation that will be deleted
+-- as part of deleting the project and its resources.
+deleteProjectResponse_stackId :: Lens.Lens' DeleteProjectResponse (Prelude.Maybe Prelude.Text)
+deleteProjectResponse_stackId = Lens.lens (\DeleteProjectResponse' {stackId} -> stackId) (\s@DeleteProjectResponse' {} a -> s {stackId = a} :: DeleteProjectResponse)
+
+-- | The response's http status code.
+deleteProjectResponse_httpStatus :: Lens.Lens' DeleteProjectResponse Prelude.Int
+deleteProjectResponse_httpStatus = Lens.lens (\DeleteProjectResponse' {httpStatus} -> httpStatus) (\s@DeleteProjectResponse' {} a -> s {httpStatus = a} :: DeleteProjectResponse)
+
+instance Prelude.NFData DeleteProjectResponse where
+  rnf DeleteProjectResponse' {..} =
+    Prelude.rnf projectArn
+      `Prelude.seq` Prelude.rnf stackId
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/CodeStar/DeleteUserProfile.hs b/gen/Amazonka/CodeStar/DeleteUserProfile.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/DeleteUserProfile.hs
@@ -0,0 +1,173 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.DeleteUserProfile
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Deletes a user profile in AWS CodeStar, including all personal
+-- preference data associated with that profile, such as display name and
+-- email address. It does not delete the history of that user, for example
+-- the history of commits made by that user.
+module Amazonka.CodeStar.DeleteUserProfile
+  ( -- * Creating a Request
+    DeleteUserProfile (..),
+    newDeleteUserProfile,
+
+    -- * Request Lenses
+    deleteUserProfile_userArn,
+
+    -- * Destructuring the Response
+    DeleteUserProfileResponse (..),
+    newDeleteUserProfileResponse,
+
+    -- * Response Lenses
+    deleteUserProfileResponse_httpStatus,
+    deleteUserProfileResponse_userArn,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newDeleteUserProfile' smart constructor.
+data DeleteUserProfile = DeleteUserProfile'
+  { -- | The Amazon Resource Name (ARN) of the user to delete from AWS CodeStar.
+    userArn :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteUserProfile' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'userArn', 'deleteUserProfile_userArn' - The Amazon Resource Name (ARN) of the user to delete from AWS CodeStar.
+newDeleteUserProfile ::
+  -- | 'userArn'
+  Prelude.Text ->
+  DeleteUserProfile
+newDeleteUserProfile pUserArn_ =
+  DeleteUserProfile' {userArn = pUserArn_}
+
+-- | The Amazon Resource Name (ARN) of the user to delete from AWS CodeStar.
+deleteUserProfile_userArn :: Lens.Lens' DeleteUserProfile Prelude.Text
+deleteUserProfile_userArn = Lens.lens (\DeleteUserProfile' {userArn} -> userArn) (\s@DeleteUserProfile' {} a -> s {userArn = a} :: DeleteUserProfile)
+
+instance Core.AWSRequest DeleteUserProfile where
+  type
+    AWSResponse DeleteUserProfile =
+      DeleteUserProfileResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          DeleteUserProfileResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "userArn")
+      )
+
+instance Prelude.Hashable DeleteUserProfile where
+  hashWithSalt _salt DeleteUserProfile' {..} =
+    _salt `Prelude.hashWithSalt` userArn
+
+instance Prelude.NFData DeleteUserProfile where
+  rnf DeleteUserProfile' {..} = Prelude.rnf userArn
+
+instance Data.ToHeaders DeleteUserProfile where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.DeleteUserProfile" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON DeleteUserProfile where
+  toJSON DeleteUserProfile' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [Prelude.Just ("userArn" Data..= userArn)]
+      )
+
+instance Data.ToPath DeleteUserProfile where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery DeleteUserProfile where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newDeleteUserProfileResponse' smart constructor.
+data DeleteUserProfileResponse = DeleteUserProfileResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The Amazon Resource Name (ARN) of the user deleted from AWS CodeStar.
+    userArn :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteUserProfileResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'httpStatus', 'deleteUserProfileResponse_httpStatus' - The response's http status code.
+--
+-- 'userArn', 'deleteUserProfileResponse_userArn' - The Amazon Resource Name (ARN) of the user deleted from AWS CodeStar.
+newDeleteUserProfileResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'userArn'
+  Prelude.Text ->
+  DeleteUserProfileResponse
+newDeleteUserProfileResponse pHttpStatus_ pUserArn_ =
+  DeleteUserProfileResponse'
+    { httpStatus =
+        pHttpStatus_,
+      userArn = pUserArn_
+    }
+
+-- | The response's http status code.
+deleteUserProfileResponse_httpStatus :: Lens.Lens' DeleteUserProfileResponse Prelude.Int
+deleteUserProfileResponse_httpStatus = Lens.lens (\DeleteUserProfileResponse' {httpStatus} -> httpStatus) (\s@DeleteUserProfileResponse' {} a -> s {httpStatus = a} :: DeleteUserProfileResponse)
+
+-- | The Amazon Resource Name (ARN) of the user deleted from AWS CodeStar.
+deleteUserProfileResponse_userArn :: Lens.Lens' DeleteUserProfileResponse Prelude.Text
+deleteUserProfileResponse_userArn = Lens.lens (\DeleteUserProfileResponse' {userArn} -> userArn) (\s@DeleteUserProfileResponse' {} a -> s {userArn = a} :: DeleteUserProfileResponse)
+
+instance Prelude.NFData DeleteUserProfileResponse where
+  rnf DeleteUserProfileResponse' {..} =
+    Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf userArn
diff --git a/gen/Amazonka/CodeStar/DescribeProject.hs b/gen/Amazonka/CodeStar/DescribeProject.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/DescribeProject.hs
@@ -0,0 +1,266 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.DescribeProject
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Describes a project and its resources.
+module Amazonka.CodeStar.DescribeProject
+  ( -- * Creating a Request
+    DescribeProject (..),
+    newDescribeProject,
+
+    -- * Request Lenses
+    describeProject_id,
+
+    -- * Destructuring the Response
+    DescribeProjectResponse (..),
+    newDescribeProjectResponse,
+
+    -- * Response Lenses
+    describeProjectResponse_arn,
+    describeProjectResponse_clientRequestToken,
+    describeProjectResponse_createdTimeStamp,
+    describeProjectResponse_description,
+    describeProjectResponse_id,
+    describeProjectResponse_name,
+    describeProjectResponse_projectTemplateId,
+    describeProjectResponse_stackId,
+    describeProjectResponse_status,
+    describeProjectResponse_httpStatus,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newDescribeProject' smart constructor.
+data DescribeProject = DescribeProject'
+  { -- | The ID of the project.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DescribeProject' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'id', 'describeProject_id' - The ID of the project.
+newDescribeProject ::
+  -- | 'id'
+  Prelude.Text ->
+  DescribeProject
+newDescribeProject pId_ = DescribeProject' {id = pId_}
+
+-- | The ID of the project.
+describeProject_id :: Lens.Lens' DescribeProject Prelude.Text
+describeProject_id = Lens.lens (\DescribeProject' {id} -> id) (\s@DescribeProject' {} a -> s {id = a} :: DescribeProject)
+
+instance Core.AWSRequest DescribeProject where
+  type
+    AWSResponse DescribeProject =
+      DescribeProjectResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          DescribeProjectResponse'
+            Prelude.<$> (x Data..?> "arn")
+            Prelude.<*> (x Data..?> "clientRequestToken")
+            Prelude.<*> (x Data..?> "createdTimeStamp")
+            Prelude.<*> (x Data..?> "description")
+            Prelude.<*> (x Data..?> "id")
+            Prelude.<*> (x Data..?> "name")
+            Prelude.<*> (x Data..?> "projectTemplateId")
+            Prelude.<*> (x Data..?> "stackId")
+            Prelude.<*> (x Data..?> "status")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable DescribeProject where
+  hashWithSalt _salt DescribeProject' {..} =
+    _salt `Prelude.hashWithSalt` id
+
+instance Prelude.NFData DescribeProject where
+  rnf DescribeProject' {..} = Prelude.rnf id
+
+instance Data.ToHeaders DescribeProject where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.DescribeProject" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON DescribeProject where
+  toJSON DescribeProject' {..} =
+    Data.object
+      (Prelude.catMaybes [Prelude.Just ("id" Data..= id)])
+
+instance Data.ToPath DescribeProject where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery DescribeProject where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newDescribeProjectResponse' smart constructor.
+data DescribeProjectResponse = DescribeProjectResponse'
+  { -- | The Amazon Resource Name (ARN) for the project.
+    arn :: Prelude.Maybe Prelude.Text,
+    -- | A user- or system-generated token that identifies the entity that
+    -- requested project creation.
+    clientRequestToken :: Prelude.Maybe Prelude.Text,
+    -- | The date and time the project was created, in timestamp format.
+    createdTimeStamp :: Prelude.Maybe Data.POSIX,
+    -- | The description of the project, if any.
+    description :: Prelude.Maybe (Data.Sensitive Prelude.Text),
+    -- | The ID of the project.
+    id :: Prelude.Maybe Prelude.Text,
+    -- | The display name for the project.
+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text),
+    -- | The ID for the AWS CodeStar project template used to create the project.
+    projectTemplateId :: Prelude.Maybe Prelude.Text,
+    -- | The ID of the primary stack in AWS CloudFormation used to generate
+    -- resources for the project.
+    stackId :: Prelude.Maybe Prelude.Text,
+    -- | The project creation or deletion status.
+    status :: Prelude.Maybe ProjectStatus,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DescribeProjectResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'arn', 'describeProjectResponse_arn' - The Amazon Resource Name (ARN) for the project.
+--
+-- 'clientRequestToken', 'describeProjectResponse_clientRequestToken' - A user- or system-generated token that identifies the entity that
+-- requested project creation.
+--
+-- 'createdTimeStamp', 'describeProjectResponse_createdTimeStamp' - The date and time the project was created, in timestamp format.
+--
+-- 'description', 'describeProjectResponse_description' - The description of the project, if any.
+--
+-- 'id', 'describeProjectResponse_id' - The ID of the project.
+--
+-- 'name', 'describeProjectResponse_name' - The display name for the project.
+--
+-- 'projectTemplateId', 'describeProjectResponse_projectTemplateId' - The ID for the AWS CodeStar project template used to create the project.
+--
+-- 'stackId', 'describeProjectResponse_stackId' - The ID of the primary stack in AWS CloudFormation used to generate
+-- resources for the project.
+--
+-- 'status', 'describeProjectResponse_status' - The project creation or deletion status.
+--
+-- 'httpStatus', 'describeProjectResponse_httpStatus' - The response's http status code.
+newDescribeProjectResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  DescribeProjectResponse
+newDescribeProjectResponse pHttpStatus_ =
+  DescribeProjectResponse'
+    { arn = Prelude.Nothing,
+      clientRequestToken = Prelude.Nothing,
+      createdTimeStamp = Prelude.Nothing,
+      description = Prelude.Nothing,
+      id = Prelude.Nothing,
+      name = Prelude.Nothing,
+      projectTemplateId = Prelude.Nothing,
+      stackId = Prelude.Nothing,
+      status = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | The Amazon Resource Name (ARN) for the project.
+describeProjectResponse_arn :: Lens.Lens' DescribeProjectResponse (Prelude.Maybe Prelude.Text)
+describeProjectResponse_arn = Lens.lens (\DescribeProjectResponse' {arn} -> arn) (\s@DescribeProjectResponse' {} a -> s {arn = a} :: DescribeProjectResponse)
+
+-- | A user- or system-generated token that identifies the entity that
+-- requested project creation.
+describeProjectResponse_clientRequestToken :: Lens.Lens' DescribeProjectResponse (Prelude.Maybe Prelude.Text)
+describeProjectResponse_clientRequestToken = Lens.lens (\DescribeProjectResponse' {clientRequestToken} -> clientRequestToken) (\s@DescribeProjectResponse' {} a -> s {clientRequestToken = a} :: DescribeProjectResponse)
+
+-- | The date and time the project was created, in timestamp format.
+describeProjectResponse_createdTimeStamp :: Lens.Lens' DescribeProjectResponse (Prelude.Maybe Prelude.UTCTime)
+describeProjectResponse_createdTimeStamp = Lens.lens (\DescribeProjectResponse' {createdTimeStamp} -> createdTimeStamp) (\s@DescribeProjectResponse' {} a -> s {createdTimeStamp = a} :: DescribeProjectResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The description of the project, if any.
+describeProjectResponse_description :: Lens.Lens' DescribeProjectResponse (Prelude.Maybe Prelude.Text)
+describeProjectResponse_description = Lens.lens (\DescribeProjectResponse' {description} -> description) (\s@DescribeProjectResponse' {} a -> s {description = a} :: DescribeProjectResponse) Prelude.. Lens.mapping Data._Sensitive
+
+-- | The ID of the project.
+describeProjectResponse_id :: Lens.Lens' DescribeProjectResponse (Prelude.Maybe Prelude.Text)
+describeProjectResponse_id = Lens.lens (\DescribeProjectResponse' {id} -> id) (\s@DescribeProjectResponse' {} a -> s {id = a} :: DescribeProjectResponse)
+
+-- | The display name for the project.
+describeProjectResponse_name :: Lens.Lens' DescribeProjectResponse (Prelude.Maybe Prelude.Text)
+describeProjectResponse_name = Lens.lens (\DescribeProjectResponse' {name} -> name) (\s@DescribeProjectResponse' {} a -> s {name = a} :: DescribeProjectResponse) Prelude.. Lens.mapping Data._Sensitive
+
+-- | The ID for the AWS CodeStar project template used to create the project.
+describeProjectResponse_projectTemplateId :: Lens.Lens' DescribeProjectResponse (Prelude.Maybe Prelude.Text)
+describeProjectResponse_projectTemplateId = Lens.lens (\DescribeProjectResponse' {projectTemplateId} -> projectTemplateId) (\s@DescribeProjectResponse' {} a -> s {projectTemplateId = a} :: DescribeProjectResponse)
+
+-- | The ID of the primary stack in AWS CloudFormation used to generate
+-- resources for the project.
+describeProjectResponse_stackId :: Lens.Lens' DescribeProjectResponse (Prelude.Maybe Prelude.Text)
+describeProjectResponse_stackId = Lens.lens (\DescribeProjectResponse' {stackId} -> stackId) (\s@DescribeProjectResponse' {} a -> s {stackId = a} :: DescribeProjectResponse)
+
+-- | The project creation or deletion status.
+describeProjectResponse_status :: Lens.Lens' DescribeProjectResponse (Prelude.Maybe ProjectStatus)
+describeProjectResponse_status = Lens.lens (\DescribeProjectResponse' {status} -> status) (\s@DescribeProjectResponse' {} a -> s {status = a} :: DescribeProjectResponse)
+
+-- | The response's http status code.
+describeProjectResponse_httpStatus :: Lens.Lens' DescribeProjectResponse Prelude.Int
+describeProjectResponse_httpStatus = Lens.lens (\DescribeProjectResponse' {httpStatus} -> httpStatus) (\s@DescribeProjectResponse' {} a -> s {httpStatus = a} :: DescribeProjectResponse)
+
+instance Prelude.NFData DescribeProjectResponse where
+  rnf DescribeProjectResponse' {..} =
+    Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf clientRequestToken
+      `Prelude.seq` Prelude.rnf createdTimeStamp
+      `Prelude.seq` Prelude.rnf description
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf projectTemplateId
+      `Prelude.seq` Prelude.rnf stackId
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/CodeStar/DescribeUserProfile.hs b/gen/Amazonka/CodeStar/DescribeUserProfile.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/DescribeUserProfile.hs
@@ -0,0 +1,286 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.DescribeUserProfile
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Describes a user in AWS CodeStar and the user attributes across all
+-- projects.
+module Amazonka.CodeStar.DescribeUserProfile
+  ( -- * Creating a Request
+    DescribeUserProfile (..),
+    newDescribeUserProfile,
+
+    -- * Request Lenses
+    describeUserProfile_userArn,
+
+    -- * Destructuring the Response
+    DescribeUserProfileResponse (..),
+    newDescribeUserProfileResponse,
+
+    -- * Response Lenses
+    describeUserProfileResponse_displayName,
+    describeUserProfileResponse_emailAddress,
+    describeUserProfileResponse_sshPublicKey,
+    describeUserProfileResponse_httpStatus,
+    describeUserProfileResponse_userArn,
+    describeUserProfileResponse_createdTimestamp,
+    describeUserProfileResponse_lastModifiedTimestamp,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newDescribeUserProfile' smart constructor.
+data DescribeUserProfile = DescribeUserProfile'
+  { -- | The Amazon Resource Name (ARN) of the user.
+    userArn :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DescribeUserProfile' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'userArn', 'describeUserProfile_userArn' - The Amazon Resource Name (ARN) of the user.
+newDescribeUserProfile ::
+  -- | 'userArn'
+  Prelude.Text ->
+  DescribeUserProfile
+newDescribeUserProfile pUserArn_ =
+  DescribeUserProfile' {userArn = pUserArn_}
+
+-- | The Amazon Resource Name (ARN) of the user.
+describeUserProfile_userArn :: Lens.Lens' DescribeUserProfile Prelude.Text
+describeUserProfile_userArn = Lens.lens (\DescribeUserProfile' {userArn} -> userArn) (\s@DescribeUserProfile' {} a -> s {userArn = a} :: DescribeUserProfile)
+
+instance Core.AWSRequest DescribeUserProfile where
+  type
+    AWSResponse DescribeUserProfile =
+      DescribeUserProfileResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          DescribeUserProfileResponse'
+            Prelude.<$> (x Data..?> "displayName")
+            Prelude.<*> (x Data..?> "emailAddress")
+            Prelude.<*> (x Data..?> "sshPublicKey")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "userArn")
+            Prelude.<*> (x Data..:> "createdTimestamp")
+            Prelude.<*> (x Data..:> "lastModifiedTimestamp")
+      )
+
+instance Prelude.Hashable DescribeUserProfile where
+  hashWithSalt _salt DescribeUserProfile' {..} =
+    _salt `Prelude.hashWithSalt` userArn
+
+instance Prelude.NFData DescribeUserProfile where
+  rnf DescribeUserProfile' {..} = Prelude.rnf userArn
+
+instance Data.ToHeaders DescribeUserProfile where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.DescribeUserProfile" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON DescribeUserProfile where
+  toJSON DescribeUserProfile' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [Prelude.Just ("userArn" Data..= userArn)]
+      )
+
+instance Data.ToPath DescribeUserProfile where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery DescribeUserProfile where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newDescribeUserProfileResponse' smart constructor.
+data DescribeUserProfileResponse = DescribeUserProfileResponse'
+  { -- | The display name shown for the user in AWS CodeStar projects. For
+    -- example, this could be set to both first and last name (\"Mary Major\")
+    -- or a single name (\"Mary\"). The display name is also used to generate
+    -- the initial icon associated with the user in AWS CodeStar projects. If
+    -- spaces are included in the display name, the first character that
+    -- appears after the space will be used as the second character in the user
+    -- initial icon. The initial icon displays a maximum of two characters, so
+    -- a display name with more than one space (for example \"Mary Jane
+    -- Major\") would generate an initial icon using the first character and
+    -- the first character after the space (\"MJ\", not \"MM\").
+    displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),
+    -- | The email address for the user. Optional.
+    emailAddress :: Prelude.Maybe (Data.Sensitive Prelude.Text),
+    -- | The SSH public key associated with the user. This SSH public key is
+    -- associated with the user profile, and can be used in conjunction with
+    -- the associated private key for access to project resources, such as
+    -- Amazon EC2 instances, if a project owner grants remote access to those
+    -- resources.
+    sshPublicKey :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The Amazon Resource Name (ARN) of the user.
+    userArn :: Prelude.Text,
+    -- | The date and time when the user profile was created in AWS CodeStar, in
+    -- timestamp format.
+    createdTimestamp :: Data.POSIX,
+    -- | The date and time when the user profile was last modified, in timestamp
+    -- format.
+    lastModifiedTimestamp :: Data.POSIX
+  }
+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DescribeUserProfileResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'displayName', 'describeUserProfileResponse_displayName' - The display name shown for the user in AWS CodeStar projects. For
+-- example, this could be set to both first and last name (\"Mary Major\")
+-- or a single name (\"Mary\"). The display name is also used to generate
+-- the initial icon associated with the user in AWS CodeStar projects. If
+-- spaces are included in the display name, the first character that
+-- appears after the space will be used as the second character in the user
+-- initial icon. The initial icon displays a maximum of two characters, so
+-- a display name with more than one space (for example \"Mary Jane
+-- Major\") would generate an initial icon using the first character and
+-- the first character after the space (\"MJ\", not \"MM\").
+--
+-- 'emailAddress', 'describeUserProfileResponse_emailAddress' - The email address for the user. Optional.
+--
+-- 'sshPublicKey', 'describeUserProfileResponse_sshPublicKey' - The SSH public key associated with the user. This SSH public key is
+-- associated with the user profile, and can be used in conjunction with
+-- the associated private key for access to project resources, such as
+-- Amazon EC2 instances, if a project owner grants remote access to those
+-- resources.
+--
+-- 'httpStatus', 'describeUserProfileResponse_httpStatus' - The response's http status code.
+--
+-- 'userArn', 'describeUserProfileResponse_userArn' - The Amazon Resource Name (ARN) of the user.
+--
+-- 'createdTimestamp', 'describeUserProfileResponse_createdTimestamp' - The date and time when the user profile was created in AWS CodeStar, in
+-- timestamp format.
+--
+-- 'lastModifiedTimestamp', 'describeUserProfileResponse_lastModifiedTimestamp' - The date and time when the user profile was last modified, in timestamp
+-- format.
+newDescribeUserProfileResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'userArn'
+  Prelude.Text ->
+  -- | 'createdTimestamp'
+  Prelude.UTCTime ->
+  -- | 'lastModifiedTimestamp'
+  Prelude.UTCTime ->
+  DescribeUserProfileResponse
+newDescribeUserProfileResponse
+  pHttpStatus_
+  pUserArn_
+  pCreatedTimestamp_
+  pLastModifiedTimestamp_ =
+    DescribeUserProfileResponse'
+      { displayName =
+          Prelude.Nothing,
+        emailAddress = Prelude.Nothing,
+        sshPublicKey = Prelude.Nothing,
+        httpStatus = pHttpStatus_,
+        userArn = pUserArn_,
+        createdTimestamp =
+          Data._Time Lens.# pCreatedTimestamp_,
+        lastModifiedTimestamp =
+          Data._Time Lens.# pLastModifiedTimestamp_
+      }
+
+-- | The display name shown for the user in AWS CodeStar projects. For
+-- example, this could be set to both first and last name (\"Mary Major\")
+-- or a single name (\"Mary\"). The display name is also used to generate
+-- the initial icon associated with the user in AWS CodeStar projects. If
+-- spaces are included in the display name, the first character that
+-- appears after the space will be used as the second character in the user
+-- initial icon. The initial icon displays a maximum of two characters, so
+-- a display name with more than one space (for example \"Mary Jane
+-- Major\") would generate an initial icon using the first character and
+-- the first character after the space (\"MJ\", not \"MM\").
+describeUserProfileResponse_displayName :: Lens.Lens' DescribeUserProfileResponse (Prelude.Maybe Prelude.Text)
+describeUserProfileResponse_displayName = Lens.lens (\DescribeUserProfileResponse' {displayName} -> displayName) (\s@DescribeUserProfileResponse' {} a -> s {displayName = a} :: DescribeUserProfileResponse) Prelude.. Lens.mapping Data._Sensitive
+
+-- | The email address for the user. Optional.
+describeUserProfileResponse_emailAddress :: Lens.Lens' DescribeUserProfileResponse (Prelude.Maybe Prelude.Text)
+describeUserProfileResponse_emailAddress = Lens.lens (\DescribeUserProfileResponse' {emailAddress} -> emailAddress) (\s@DescribeUserProfileResponse' {} a -> s {emailAddress = a} :: DescribeUserProfileResponse) Prelude.. Lens.mapping Data._Sensitive
+
+-- | The SSH public key associated with the user. This SSH public key is
+-- associated with the user profile, and can be used in conjunction with
+-- the associated private key for access to project resources, such as
+-- Amazon EC2 instances, if a project owner grants remote access to those
+-- resources.
+describeUserProfileResponse_sshPublicKey :: Lens.Lens' DescribeUserProfileResponse (Prelude.Maybe Prelude.Text)
+describeUserProfileResponse_sshPublicKey = Lens.lens (\DescribeUserProfileResponse' {sshPublicKey} -> sshPublicKey) (\s@DescribeUserProfileResponse' {} a -> s {sshPublicKey = a} :: DescribeUserProfileResponse)
+
+-- | The response's http status code.
+describeUserProfileResponse_httpStatus :: Lens.Lens' DescribeUserProfileResponse Prelude.Int
+describeUserProfileResponse_httpStatus = Lens.lens (\DescribeUserProfileResponse' {httpStatus} -> httpStatus) (\s@DescribeUserProfileResponse' {} a -> s {httpStatus = a} :: DescribeUserProfileResponse)
+
+-- | The Amazon Resource Name (ARN) of the user.
+describeUserProfileResponse_userArn :: Lens.Lens' DescribeUserProfileResponse Prelude.Text
+describeUserProfileResponse_userArn = Lens.lens (\DescribeUserProfileResponse' {userArn} -> userArn) (\s@DescribeUserProfileResponse' {} a -> s {userArn = a} :: DescribeUserProfileResponse)
+
+-- | The date and time when the user profile was created in AWS CodeStar, in
+-- timestamp format.
+describeUserProfileResponse_createdTimestamp :: Lens.Lens' DescribeUserProfileResponse Prelude.UTCTime
+describeUserProfileResponse_createdTimestamp = Lens.lens (\DescribeUserProfileResponse' {createdTimestamp} -> createdTimestamp) (\s@DescribeUserProfileResponse' {} a -> s {createdTimestamp = a} :: DescribeUserProfileResponse) Prelude.. Data._Time
+
+-- | The date and time when the user profile was last modified, in timestamp
+-- format.
+describeUserProfileResponse_lastModifiedTimestamp :: Lens.Lens' DescribeUserProfileResponse Prelude.UTCTime
+describeUserProfileResponse_lastModifiedTimestamp = Lens.lens (\DescribeUserProfileResponse' {lastModifiedTimestamp} -> lastModifiedTimestamp) (\s@DescribeUserProfileResponse' {} a -> s {lastModifiedTimestamp = a} :: DescribeUserProfileResponse) Prelude.. Data._Time
+
+instance Prelude.NFData DescribeUserProfileResponse where
+  rnf DescribeUserProfileResponse' {..} =
+    Prelude.rnf displayName
+      `Prelude.seq` Prelude.rnf emailAddress
+      `Prelude.seq` Prelude.rnf sshPublicKey
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf userArn
+      `Prelude.seq` Prelude.rnf createdTimestamp
+      `Prelude.seq` Prelude.rnf lastModifiedTimestamp
diff --git a/gen/Amazonka/CodeStar/DisassociateTeamMember.hs b/gen/Amazonka/CodeStar/DisassociateTeamMember.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/DisassociateTeamMember.hs
@@ -0,0 +1,189 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.DisassociateTeamMember
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Removes a user from a project. Removing a user from a project also
+-- removes the IAM policies from that user that allowed access to the
+-- project and its resources. Disassociating a team member does not remove
+-- that user\'s profile from AWS CodeStar. It does not remove the user from
+-- IAM.
+module Amazonka.CodeStar.DisassociateTeamMember
+  ( -- * Creating a Request
+    DisassociateTeamMember (..),
+    newDisassociateTeamMember,
+
+    -- * Request Lenses
+    disassociateTeamMember_projectId,
+    disassociateTeamMember_userArn,
+
+    -- * Destructuring the Response
+    DisassociateTeamMemberResponse (..),
+    newDisassociateTeamMemberResponse,
+
+    -- * Response Lenses
+    disassociateTeamMemberResponse_httpStatus,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newDisassociateTeamMember' smart constructor.
+data DisassociateTeamMember = DisassociateTeamMember'
+  { -- | The ID of the AWS CodeStar project from which you want to remove a team
+    -- member.
+    projectId :: Prelude.Text,
+    -- | The Amazon Resource Name (ARN) of the IAM user or group whom you want to
+    -- remove from the project.
+    userArn :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DisassociateTeamMember' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'projectId', 'disassociateTeamMember_projectId' - The ID of the AWS CodeStar project from which you want to remove a team
+-- member.
+--
+-- 'userArn', 'disassociateTeamMember_userArn' - The Amazon Resource Name (ARN) of the IAM user or group whom you want to
+-- remove from the project.
+newDisassociateTeamMember ::
+  -- | 'projectId'
+  Prelude.Text ->
+  -- | 'userArn'
+  Prelude.Text ->
+  DisassociateTeamMember
+newDisassociateTeamMember pProjectId_ pUserArn_ =
+  DisassociateTeamMember'
+    { projectId = pProjectId_,
+      userArn = pUserArn_
+    }
+
+-- | The ID of the AWS CodeStar project from which you want to remove a team
+-- member.
+disassociateTeamMember_projectId :: Lens.Lens' DisassociateTeamMember Prelude.Text
+disassociateTeamMember_projectId = Lens.lens (\DisassociateTeamMember' {projectId} -> projectId) (\s@DisassociateTeamMember' {} a -> s {projectId = a} :: DisassociateTeamMember)
+
+-- | The Amazon Resource Name (ARN) of the IAM user or group whom you want to
+-- remove from the project.
+disassociateTeamMember_userArn :: Lens.Lens' DisassociateTeamMember Prelude.Text
+disassociateTeamMember_userArn = Lens.lens (\DisassociateTeamMember' {userArn} -> userArn) (\s@DisassociateTeamMember' {} a -> s {userArn = a} :: DisassociateTeamMember)
+
+instance Core.AWSRequest DisassociateTeamMember where
+  type
+    AWSResponse DisassociateTeamMember =
+      DisassociateTeamMemberResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveEmpty
+      ( \s h x ->
+          DisassociateTeamMemberResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable DisassociateTeamMember where
+  hashWithSalt _salt DisassociateTeamMember' {..} =
+    _salt
+      `Prelude.hashWithSalt` projectId
+      `Prelude.hashWithSalt` userArn
+
+instance Prelude.NFData DisassociateTeamMember where
+  rnf DisassociateTeamMember' {..} =
+    Prelude.rnf projectId
+      `Prelude.seq` Prelude.rnf userArn
+
+instance Data.ToHeaders DisassociateTeamMember where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.DisassociateTeamMember" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON DisassociateTeamMember where
+  toJSON DisassociateTeamMember' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ Prelude.Just ("projectId" Data..= projectId),
+            Prelude.Just ("userArn" Data..= userArn)
+          ]
+      )
+
+instance Data.ToPath DisassociateTeamMember where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery DisassociateTeamMember where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newDisassociateTeamMemberResponse' smart constructor.
+data DisassociateTeamMemberResponse = DisassociateTeamMemberResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DisassociateTeamMemberResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'httpStatus', 'disassociateTeamMemberResponse_httpStatus' - The response's http status code.
+newDisassociateTeamMemberResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  DisassociateTeamMemberResponse
+newDisassociateTeamMemberResponse pHttpStatus_ =
+  DisassociateTeamMemberResponse'
+    { httpStatus =
+        pHttpStatus_
+    }
+
+-- | The response's http status code.
+disassociateTeamMemberResponse_httpStatus :: Lens.Lens' DisassociateTeamMemberResponse Prelude.Int
+disassociateTeamMemberResponse_httpStatus = Lens.lens (\DisassociateTeamMemberResponse' {httpStatus} -> httpStatus) (\s@DisassociateTeamMemberResponse' {} a -> s {httpStatus = a} :: DisassociateTeamMemberResponse)
+
+instance
+  Prelude.NFData
+    DisassociateTeamMemberResponse
+  where
+  rnf DisassociateTeamMemberResponse' {..} =
+    Prelude.rnf httpStatus
diff --git a/gen/Amazonka/CodeStar/Lens.hs b/gen/Amazonka/CodeStar/Lens.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/Lens.hs
@@ -0,0 +1,263 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.Lens
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Amazonka.CodeStar.Lens
+  ( -- * Operations
+
+    -- ** AssociateTeamMember
+    associateTeamMember_clientRequestToken,
+    associateTeamMember_remoteAccessAllowed,
+    associateTeamMember_projectId,
+    associateTeamMember_userArn,
+    associateTeamMember_projectRole,
+    associateTeamMemberResponse_clientRequestToken,
+    associateTeamMemberResponse_httpStatus,
+
+    -- ** CreateProject
+    createProject_clientRequestToken,
+    createProject_description,
+    createProject_sourceCode,
+    createProject_tags,
+    createProject_toolchain,
+    createProject_name,
+    createProject_id,
+    createProjectResponse_clientRequestToken,
+    createProjectResponse_projectTemplateId,
+    createProjectResponse_httpStatus,
+    createProjectResponse_id,
+    createProjectResponse_arn,
+
+    -- ** CreateUserProfile
+    createUserProfile_sshPublicKey,
+    createUserProfile_userArn,
+    createUserProfile_displayName,
+    createUserProfile_emailAddress,
+    createUserProfileResponse_createdTimestamp,
+    createUserProfileResponse_displayName,
+    createUserProfileResponse_emailAddress,
+    createUserProfileResponse_lastModifiedTimestamp,
+    createUserProfileResponse_sshPublicKey,
+    createUserProfileResponse_httpStatus,
+    createUserProfileResponse_userArn,
+
+    -- ** DeleteProject
+    deleteProject_clientRequestToken,
+    deleteProject_deleteStack,
+    deleteProject_id,
+    deleteProjectResponse_projectArn,
+    deleteProjectResponse_stackId,
+    deleteProjectResponse_httpStatus,
+
+    -- ** DeleteUserProfile
+    deleteUserProfile_userArn,
+    deleteUserProfileResponse_httpStatus,
+    deleteUserProfileResponse_userArn,
+
+    -- ** DescribeProject
+    describeProject_id,
+    describeProjectResponse_arn,
+    describeProjectResponse_clientRequestToken,
+    describeProjectResponse_createdTimeStamp,
+    describeProjectResponse_description,
+    describeProjectResponse_id,
+    describeProjectResponse_name,
+    describeProjectResponse_projectTemplateId,
+    describeProjectResponse_stackId,
+    describeProjectResponse_status,
+    describeProjectResponse_httpStatus,
+
+    -- ** DescribeUserProfile
+    describeUserProfile_userArn,
+    describeUserProfileResponse_displayName,
+    describeUserProfileResponse_emailAddress,
+    describeUserProfileResponse_sshPublicKey,
+    describeUserProfileResponse_httpStatus,
+    describeUserProfileResponse_userArn,
+    describeUserProfileResponse_createdTimestamp,
+    describeUserProfileResponse_lastModifiedTimestamp,
+
+    -- ** DisassociateTeamMember
+    disassociateTeamMember_projectId,
+    disassociateTeamMember_userArn,
+    disassociateTeamMemberResponse_httpStatus,
+
+    -- ** ListProjects
+    listProjects_maxResults,
+    listProjects_nextToken,
+    listProjectsResponse_nextToken,
+    listProjectsResponse_httpStatus,
+    listProjectsResponse_projects,
+
+    -- ** ListResources
+    listResources_maxResults,
+    listResources_nextToken,
+    listResources_projectId,
+    listResourcesResponse_nextToken,
+    listResourcesResponse_resources,
+    listResourcesResponse_httpStatus,
+
+    -- ** ListTagsForProject
+    listTagsForProject_maxResults,
+    listTagsForProject_nextToken,
+    listTagsForProject_id,
+    listTagsForProjectResponse_nextToken,
+    listTagsForProjectResponse_tags,
+    listTagsForProjectResponse_httpStatus,
+
+    -- ** ListTeamMembers
+    listTeamMembers_maxResults,
+    listTeamMembers_nextToken,
+    listTeamMembers_projectId,
+    listTeamMembersResponse_nextToken,
+    listTeamMembersResponse_httpStatus,
+    listTeamMembersResponse_teamMembers,
+
+    -- ** ListUserProfiles
+    listUserProfiles_maxResults,
+    listUserProfiles_nextToken,
+    listUserProfilesResponse_nextToken,
+    listUserProfilesResponse_httpStatus,
+    listUserProfilesResponse_userProfiles,
+
+    -- ** TagProject
+    tagProject_id,
+    tagProject_tags,
+    tagProjectResponse_tags,
+    tagProjectResponse_httpStatus,
+
+    -- ** UntagProject
+    untagProject_id,
+    untagProject_tags,
+    untagProjectResponse_httpStatus,
+
+    -- ** UpdateProject
+    updateProject_description,
+    updateProject_name,
+    updateProject_id,
+    updateProjectResponse_httpStatus,
+
+    -- ** UpdateTeamMember
+    updateTeamMember_projectRole,
+    updateTeamMember_remoteAccessAllowed,
+    updateTeamMember_projectId,
+    updateTeamMember_userArn,
+    updateTeamMemberResponse_projectRole,
+    updateTeamMemberResponse_remoteAccessAllowed,
+    updateTeamMemberResponse_userArn,
+    updateTeamMemberResponse_httpStatus,
+
+    -- ** UpdateUserProfile
+    updateUserProfile_displayName,
+    updateUserProfile_emailAddress,
+    updateUserProfile_sshPublicKey,
+    updateUserProfile_userArn,
+    updateUserProfileResponse_createdTimestamp,
+    updateUserProfileResponse_displayName,
+    updateUserProfileResponse_emailAddress,
+    updateUserProfileResponse_lastModifiedTimestamp,
+    updateUserProfileResponse_sshPublicKey,
+    updateUserProfileResponse_httpStatus,
+    updateUserProfileResponse_userArn,
+
+    -- * Types
+
+    -- ** Code
+    code_source,
+    code_destination,
+
+    -- ** CodeCommitCodeDestination
+    codeCommitCodeDestination_name,
+
+    -- ** CodeDestination
+    codeDestination_codeCommit,
+    codeDestination_gitHub,
+
+    -- ** CodeSource
+    codeSource_s3,
+
+    -- ** GitHubCodeDestination
+    gitHubCodeDestination_description,
+    gitHubCodeDestination_name,
+    gitHubCodeDestination_type,
+    gitHubCodeDestination_owner,
+    gitHubCodeDestination_privateRepository,
+    gitHubCodeDestination_issuesEnabled,
+    gitHubCodeDestination_token,
+
+    -- ** ProjectStatus
+    projectStatus_reason,
+    projectStatus_state,
+
+    -- ** ProjectSummary
+    projectSummary_projectArn,
+    projectSummary_projectId,
+
+    -- ** Resource
+    resource_id,
+
+    -- ** S3Location
+    s3Location_bucketKey,
+    s3Location_bucketName,
+
+    -- ** TeamMember
+    teamMember_remoteAccessAllowed,
+    teamMember_userArn,
+    teamMember_projectRole,
+
+    -- ** Toolchain
+    toolchain_roleArn,
+    toolchain_stackParameters,
+    toolchain_source,
+
+    -- ** ToolchainSource
+    toolchainSource_s3,
+
+    -- ** UserProfileSummary
+    userProfileSummary_displayName,
+    userProfileSummary_emailAddress,
+    userProfileSummary_sshPublicKey,
+    userProfileSummary_userArn,
+  )
+where
+
+import Amazonka.CodeStar.AssociateTeamMember
+import Amazonka.CodeStar.CreateProject
+import Amazonka.CodeStar.CreateUserProfile
+import Amazonka.CodeStar.DeleteProject
+import Amazonka.CodeStar.DeleteUserProfile
+import Amazonka.CodeStar.DescribeProject
+import Amazonka.CodeStar.DescribeUserProfile
+import Amazonka.CodeStar.DisassociateTeamMember
+import Amazonka.CodeStar.ListProjects
+import Amazonka.CodeStar.ListResources
+import Amazonka.CodeStar.ListTagsForProject
+import Amazonka.CodeStar.ListTeamMembers
+import Amazonka.CodeStar.ListUserProfiles
+import Amazonka.CodeStar.TagProject
+import Amazonka.CodeStar.Types.Code
+import Amazonka.CodeStar.Types.CodeCommitCodeDestination
+import Amazonka.CodeStar.Types.CodeDestination
+import Amazonka.CodeStar.Types.CodeSource
+import Amazonka.CodeStar.Types.GitHubCodeDestination
+import Amazonka.CodeStar.Types.ProjectStatus
+import Amazonka.CodeStar.Types.ProjectSummary
+import Amazonka.CodeStar.Types.Resource
+import Amazonka.CodeStar.Types.S3Location
+import Amazonka.CodeStar.Types.TeamMember
+import Amazonka.CodeStar.Types.Toolchain
+import Amazonka.CodeStar.Types.ToolchainSource
+import Amazonka.CodeStar.Types.UserProfileSummary
+import Amazonka.CodeStar.UntagProject
+import Amazonka.CodeStar.UpdateProject
+import Amazonka.CodeStar.UpdateTeamMember
+import Amazonka.CodeStar.UpdateUserProfile
diff --git a/gen/Amazonka/CodeStar/ListProjects.hs b/gen/Amazonka/CodeStar/ListProjects.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/ListProjects.hs
@@ -0,0 +1,223 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.ListProjects
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Lists all projects in AWS CodeStar associated with your AWS account.
+--
+-- This operation returns paginated results.
+module Amazonka.CodeStar.ListProjects
+  ( -- * Creating a Request
+    ListProjects (..),
+    newListProjects,
+
+    -- * Request Lenses
+    listProjects_maxResults,
+    listProjects_nextToken,
+
+    -- * Destructuring the Response
+    ListProjectsResponse (..),
+    newListProjectsResponse,
+
+    -- * Response Lenses
+    listProjectsResponse_nextToken,
+    listProjectsResponse_httpStatus,
+    listProjectsResponse_projects,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListProjects' smart constructor.
+data ListProjects = ListProjects'
+  { -- | The maximum amount of data that can be contained in a single set of
+    -- results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | The continuation token to be used to return the next set of results, if
+    -- the results cannot be returned in one response.
+    nextToken :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListProjects' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'maxResults', 'listProjects_maxResults' - The maximum amount of data that can be contained in a single set of
+-- results.
+--
+-- 'nextToken', 'listProjects_nextToken' - The continuation token to be used to return the next set of results, if
+-- the results cannot be returned in one response.
+newListProjects ::
+  ListProjects
+newListProjects =
+  ListProjects'
+    { maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing
+    }
+
+-- | The maximum amount of data that can be contained in a single set of
+-- results.
+listProjects_maxResults :: Lens.Lens' ListProjects (Prelude.Maybe Prelude.Natural)
+listProjects_maxResults = Lens.lens (\ListProjects' {maxResults} -> maxResults) (\s@ListProjects' {} a -> s {maxResults = a} :: ListProjects)
+
+-- | The continuation token to be used to return the next set of results, if
+-- the results cannot be returned in one response.
+listProjects_nextToken :: Lens.Lens' ListProjects (Prelude.Maybe Prelude.Text)
+listProjects_nextToken = Lens.lens (\ListProjects' {nextToken} -> nextToken) (\s@ListProjects' {} a -> s {nextToken = a} :: ListProjects)
+
+instance Core.AWSPager ListProjects where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listProjectsResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        (rs Lens.^. listProjectsResponse_projects) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listProjects_nextToken
+          Lens..~ rs
+          Lens.^? listProjectsResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListProjects where
+  type AWSResponse ListProjects = ListProjectsResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListProjectsResponse'
+            Prelude.<$> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..?> "projects" Core..!@ Prelude.mempty)
+      )
+
+instance Prelude.Hashable ListProjects where
+  hashWithSalt _salt ListProjects' {..} =
+    _salt
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+
+instance Prelude.NFData ListProjects where
+  rnf ListProjects' {..} =
+    Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+
+instance Data.ToHeaders ListProjects where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.ListProjects" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListProjects where
+  toJSON ListProjects' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("maxResults" Data..=) Prelude.<$> maxResults,
+            ("nextToken" Data..=) Prelude.<$> nextToken
+          ]
+      )
+
+instance Data.ToPath ListProjects where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery ListProjects where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newListProjectsResponse' smart constructor.
+data ListProjectsResponse = ListProjectsResponse'
+  { -- | The continuation token to use when requesting the next set of results,
+    -- if there are more results to be returned.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | A list of projects.
+    projects :: [ProjectSummary]
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListProjectsResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'nextToken', 'listProjectsResponse_nextToken' - The continuation token to use when requesting the next set of results,
+-- if there are more results to be returned.
+--
+-- 'httpStatus', 'listProjectsResponse_httpStatus' - The response's http status code.
+--
+-- 'projects', 'listProjectsResponse_projects' - A list of projects.
+newListProjectsResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListProjectsResponse
+newListProjectsResponse pHttpStatus_ =
+  ListProjectsResponse'
+    { nextToken = Prelude.Nothing,
+      httpStatus = pHttpStatus_,
+      projects = Prelude.mempty
+    }
+
+-- | The continuation token to use when requesting the next set of results,
+-- if there are more results to be returned.
+listProjectsResponse_nextToken :: Lens.Lens' ListProjectsResponse (Prelude.Maybe Prelude.Text)
+listProjectsResponse_nextToken = Lens.lens (\ListProjectsResponse' {nextToken} -> nextToken) (\s@ListProjectsResponse' {} a -> s {nextToken = a} :: ListProjectsResponse)
+
+-- | The response's http status code.
+listProjectsResponse_httpStatus :: Lens.Lens' ListProjectsResponse Prelude.Int
+listProjectsResponse_httpStatus = Lens.lens (\ListProjectsResponse' {httpStatus} -> httpStatus) (\s@ListProjectsResponse' {} a -> s {httpStatus = a} :: ListProjectsResponse)
+
+-- | A list of projects.
+listProjectsResponse_projects :: Lens.Lens' ListProjectsResponse [ProjectSummary]
+listProjectsResponse_projects = Lens.lens (\ListProjectsResponse' {projects} -> projects) (\s@ListProjectsResponse' {} a -> s {projects = a} :: ListProjectsResponse) Prelude.. Lens.coerced
+
+instance Prelude.NFData ListProjectsResponse where
+  rnf ListProjectsResponse' {..} =
+    Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf projects
diff --git a/gen/Amazonka/CodeStar/ListResources.hs b/gen/Amazonka/CodeStar/ListResources.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/ListResources.hs
@@ -0,0 +1,243 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.ListResources
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Lists resources associated with a project in AWS CodeStar.
+--
+-- This operation returns paginated results.
+module Amazonka.CodeStar.ListResources
+  ( -- * Creating a Request
+    ListResources (..),
+    newListResources,
+
+    -- * Request Lenses
+    listResources_maxResults,
+    listResources_nextToken,
+    listResources_projectId,
+
+    -- * Destructuring the Response
+    ListResourcesResponse (..),
+    newListResourcesResponse,
+
+    -- * Response Lenses
+    listResourcesResponse_nextToken,
+    listResourcesResponse_resources,
+    listResourcesResponse_httpStatus,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListResources' smart constructor.
+data ListResources = ListResources'
+  { -- | The maximum amount of data that can be contained in a single set of
+    -- results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | The continuation token for the next set of results, if the results
+    -- cannot be returned in one response.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The ID of the project.
+    projectId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListResources' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'maxResults', 'listResources_maxResults' - The maximum amount of data that can be contained in a single set of
+-- results.
+--
+-- 'nextToken', 'listResources_nextToken' - The continuation token for the next set of results, if the results
+-- cannot be returned in one response.
+--
+-- 'projectId', 'listResources_projectId' - The ID of the project.
+newListResources ::
+  -- | 'projectId'
+  Prelude.Text ->
+  ListResources
+newListResources pProjectId_ =
+  ListResources'
+    { maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      projectId = pProjectId_
+    }
+
+-- | The maximum amount of data that can be contained in a single set of
+-- results.
+listResources_maxResults :: Lens.Lens' ListResources (Prelude.Maybe Prelude.Natural)
+listResources_maxResults = Lens.lens (\ListResources' {maxResults} -> maxResults) (\s@ListResources' {} a -> s {maxResults = a} :: ListResources)
+
+-- | The continuation token for the next set of results, if the results
+-- cannot be returned in one response.
+listResources_nextToken :: Lens.Lens' ListResources (Prelude.Maybe Prelude.Text)
+listResources_nextToken = Lens.lens (\ListResources' {nextToken} -> nextToken) (\s@ListResources' {} a -> s {nextToken = a} :: ListResources)
+
+-- | The ID of the project.
+listResources_projectId :: Lens.Lens' ListResources Prelude.Text
+listResources_projectId = Lens.lens (\ListResources' {projectId} -> projectId) (\s@ListResources' {} a -> s {projectId = a} :: ListResources)
+
+instance Core.AWSPager ListResources where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listResourcesResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        ( rs
+            Lens.^? listResourcesResponse_resources
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listResources_nextToken
+          Lens..~ rs
+          Lens.^? listResourcesResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListResources where
+  type
+    AWSResponse ListResources =
+      ListResourcesResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListResourcesResponse'
+            Prelude.<$> (x Data..?> "nextToken")
+            Prelude.<*> (x Data..?> "resources" Core..!@ Prelude.mempty)
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable ListResources where
+  hashWithSalt _salt ListResources' {..} =
+    _salt
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+      `Prelude.hashWithSalt` projectId
+
+instance Prelude.NFData ListResources where
+  rnf ListResources' {..} =
+    Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf projectId
+
+instance Data.ToHeaders ListResources where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.ListResources" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListResources where
+  toJSON ListResources' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("maxResults" Data..=) Prelude.<$> maxResults,
+            ("nextToken" Data..=) Prelude.<$> nextToken,
+            Prelude.Just ("projectId" Data..= projectId)
+          ]
+      )
+
+instance Data.ToPath ListResources where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery ListResources where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newListResourcesResponse' smart constructor.
+data ListResourcesResponse = ListResourcesResponse'
+  { -- | The continuation token to use when requesting the next set of results,
+    -- if there are more results to be returned.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | An array of resources associated with the project.
+    resources :: Prelude.Maybe [Resource],
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListResourcesResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'nextToken', 'listResourcesResponse_nextToken' - The continuation token to use when requesting the next set of results,
+-- if there are more results to be returned.
+--
+-- 'resources', 'listResourcesResponse_resources' - An array of resources associated with the project.
+--
+-- 'httpStatus', 'listResourcesResponse_httpStatus' - The response's http status code.
+newListResourcesResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListResourcesResponse
+newListResourcesResponse pHttpStatus_ =
+  ListResourcesResponse'
+    { nextToken = Prelude.Nothing,
+      resources = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | The continuation token to use when requesting the next set of results,
+-- if there are more results to be returned.
+listResourcesResponse_nextToken :: Lens.Lens' ListResourcesResponse (Prelude.Maybe Prelude.Text)
+listResourcesResponse_nextToken = Lens.lens (\ListResourcesResponse' {nextToken} -> nextToken) (\s@ListResourcesResponse' {} a -> s {nextToken = a} :: ListResourcesResponse)
+
+-- | An array of resources associated with the project.
+listResourcesResponse_resources :: Lens.Lens' ListResourcesResponse (Prelude.Maybe [Resource])
+listResourcesResponse_resources = Lens.lens (\ListResourcesResponse' {resources} -> resources) (\s@ListResourcesResponse' {} a -> s {resources = a} :: ListResourcesResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | The response's http status code.
+listResourcesResponse_httpStatus :: Lens.Lens' ListResourcesResponse Prelude.Int
+listResourcesResponse_httpStatus = Lens.lens (\ListResourcesResponse' {httpStatus} -> httpStatus) (\s@ListResourcesResponse' {} a -> s {httpStatus = a} :: ListResourcesResponse)
+
+instance Prelude.NFData ListResourcesResponse where
+  rnf ListResourcesResponse' {..} =
+    Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf resources
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/CodeStar/ListTagsForProject.hs b/gen/Amazonka/CodeStar/ListTagsForProject.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/ListTagsForProject.hs
@@ -0,0 +1,211 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.ListTagsForProject
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Gets the tags for a project.
+module Amazonka.CodeStar.ListTagsForProject
+  ( -- * Creating a Request
+    ListTagsForProject (..),
+    newListTagsForProject,
+
+    -- * Request Lenses
+    listTagsForProject_maxResults,
+    listTagsForProject_nextToken,
+    listTagsForProject_id,
+
+    -- * Destructuring the Response
+    ListTagsForProjectResponse (..),
+    newListTagsForProjectResponse,
+
+    -- * Response Lenses
+    listTagsForProjectResponse_nextToken,
+    listTagsForProjectResponse_tags,
+    listTagsForProjectResponse_httpStatus,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListTagsForProject' smart constructor.
+data ListTagsForProject = ListTagsForProject'
+  { -- | Reserved for future use.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | Reserved for future use.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The ID of the project to get tags for.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListTagsForProject' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'maxResults', 'listTagsForProject_maxResults' - Reserved for future use.
+--
+-- 'nextToken', 'listTagsForProject_nextToken' - Reserved for future use.
+--
+-- 'id', 'listTagsForProject_id' - The ID of the project to get tags for.
+newListTagsForProject ::
+  -- | 'id'
+  Prelude.Text ->
+  ListTagsForProject
+newListTagsForProject pId_ =
+  ListTagsForProject'
+    { maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      id = pId_
+    }
+
+-- | Reserved for future use.
+listTagsForProject_maxResults :: Lens.Lens' ListTagsForProject (Prelude.Maybe Prelude.Natural)
+listTagsForProject_maxResults = Lens.lens (\ListTagsForProject' {maxResults} -> maxResults) (\s@ListTagsForProject' {} a -> s {maxResults = a} :: ListTagsForProject)
+
+-- | Reserved for future use.
+listTagsForProject_nextToken :: Lens.Lens' ListTagsForProject (Prelude.Maybe Prelude.Text)
+listTagsForProject_nextToken = Lens.lens (\ListTagsForProject' {nextToken} -> nextToken) (\s@ListTagsForProject' {} a -> s {nextToken = a} :: ListTagsForProject)
+
+-- | The ID of the project to get tags for.
+listTagsForProject_id :: Lens.Lens' ListTagsForProject Prelude.Text
+listTagsForProject_id = Lens.lens (\ListTagsForProject' {id} -> id) (\s@ListTagsForProject' {} a -> s {id = a} :: ListTagsForProject)
+
+instance Core.AWSRequest ListTagsForProject where
+  type
+    AWSResponse ListTagsForProject =
+      ListTagsForProjectResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListTagsForProjectResponse'
+            Prelude.<$> (x Data..?> "nextToken")
+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable ListTagsForProject where
+  hashWithSalt _salt ListTagsForProject' {..} =
+    _salt
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+      `Prelude.hashWithSalt` id
+
+instance Prelude.NFData ListTagsForProject where
+  rnf ListTagsForProject' {..} =
+    Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf id
+
+instance Data.ToHeaders ListTagsForProject where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.ListTagsForProject" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListTagsForProject where
+  toJSON ListTagsForProject' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("maxResults" Data..=) Prelude.<$> maxResults,
+            ("nextToken" Data..=) Prelude.<$> nextToken,
+            Prelude.Just ("id" Data..= id)
+          ]
+      )
+
+instance Data.ToPath ListTagsForProject where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery ListTagsForProject where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newListTagsForProjectResponse' smart constructor.
+data ListTagsForProjectResponse = ListTagsForProjectResponse'
+  { -- | Reserved for future use.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The tags for the project.
+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListTagsForProjectResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'nextToken', 'listTagsForProjectResponse_nextToken' - Reserved for future use.
+--
+-- 'tags', 'listTagsForProjectResponse_tags' - The tags for the project.
+--
+-- 'httpStatus', 'listTagsForProjectResponse_httpStatus' - The response's http status code.
+newListTagsForProjectResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListTagsForProjectResponse
+newListTagsForProjectResponse pHttpStatus_ =
+  ListTagsForProjectResponse'
+    { nextToken =
+        Prelude.Nothing,
+      tags = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | Reserved for future use.
+listTagsForProjectResponse_nextToken :: Lens.Lens' ListTagsForProjectResponse (Prelude.Maybe Prelude.Text)
+listTagsForProjectResponse_nextToken = Lens.lens (\ListTagsForProjectResponse' {nextToken} -> nextToken) (\s@ListTagsForProjectResponse' {} a -> s {nextToken = a} :: ListTagsForProjectResponse)
+
+-- | The tags for the project.
+listTagsForProjectResponse_tags :: Lens.Lens' ListTagsForProjectResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+listTagsForProjectResponse_tags = Lens.lens (\ListTagsForProjectResponse' {tags} -> tags) (\s@ListTagsForProjectResponse' {} a -> s {tags = a} :: ListTagsForProjectResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | The response's http status code.
+listTagsForProjectResponse_httpStatus :: Lens.Lens' ListTagsForProjectResponse Prelude.Int
+listTagsForProjectResponse_httpStatus = Lens.lens (\ListTagsForProjectResponse' {httpStatus} -> httpStatus) (\s@ListTagsForProjectResponse' {} a -> s {httpStatus = a} :: ListTagsForProjectResponse)
+
+instance Prelude.NFData ListTagsForProjectResponse where
+  rnf ListTagsForProjectResponse' {..} =
+    Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/CodeStar/ListTeamMembers.hs b/gen/Amazonka/CodeStar/ListTeamMembers.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/ListTeamMembers.hs
@@ -0,0 +1,238 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.ListTeamMembers
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Lists all team members associated with a project.
+--
+-- This operation returns paginated results.
+module Amazonka.CodeStar.ListTeamMembers
+  ( -- * Creating a Request
+    ListTeamMembers (..),
+    newListTeamMembers,
+
+    -- * Request Lenses
+    listTeamMembers_maxResults,
+    listTeamMembers_nextToken,
+    listTeamMembers_projectId,
+
+    -- * Destructuring the Response
+    ListTeamMembersResponse (..),
+    newListTeamMembersResponse,
+
+    -- * Response Lenses
+    listTeamMembersResponse_nextToken,
+    listTeamMembersResponse_httpStatus,
+    listTeamMembersResponse_teamMembers,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListTeamMembers' smart constructor.
+data ListTeamMembers = ListTeamMembers'
+  { -- | The maximum number of team members you want returned in a response.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | The continuation token for the next set of results, if the results
+    -- cannot be returned in one response.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The ID of the project for which you want to list team members.
+    projectId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListTeamMembers' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'maxResults', 'listTeamMembers_maxResults' - The maximum number of team members you want returned in a response.
+--
+-- 'nextToken', 'listTeamMembers_nextToken' - The continuation token for the next set of results, if the results
+-- cannot be returned in one response.
+--
+-- 'projectId', 'listTeamMembers_projectId' - The ID of the project for which you want to list team members.
+newListTeamMembers ::
+  -- | 'projectId'
+  Prelude.Text ->
+  ListTeamMembers
+newListTeamMembers pProjectId_ =
+  ListTeamMembers'
+    { maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      projectId = pProjectId_
+    }
+
+-- | The maximum number of team members you want returned in a response.
+listTeamMembers_maxResults :: Lens.Lens' ListTeamMembers (Prelude.Maybe Prelude.Natural)
+listTeamMembers_maxResults = Lens.lens (\ListTeamMembers' {maxResults} -> maxResults) (\s@ListTeamMembers' {} a -> s {maxResults = a} :: ListTeamMembers)
+
+-- | The continuation token for the next set of results, if the results
+-- cannot be returned in one response.
+listTeamMembers_nextToken :: Lens.Lens' ListTeamMembers (Prelude.Maybe Prelude.Text)
+listTeamMembers_nextToken = Lens.lens (\ListTeamMembers' {nextToken} -> nextToken) (\s@ListTeamMembers' {} a -> s {nextToken = a} :: ListTeamMembers)
+
+-- | The ID of the project for which you want to list team members.
+listTeamMembers_projectId :: Lens.Lens' ListTeamMembers Prelude.Text
+listTeamMembers_projectId = Lens.lens (\ListTeamMembers' {projectId} -> projectId) (\s@ListTeamMembers' {} a -> s {projectId = a} :: ListTeamMembers)
+
+instance Core.AWSPager ListTeamMembers where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listTeamMembersResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        (rs Lens.^. listTeamMembersResponse_teamMembers) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listTeamMembers_nextToken
+          Lens..~ rs
+          Lens.^? listTeamMembersResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListTeamMembers where
+  type
+    AWSResponse ListTeamMembers =
+      ListTeamMembersResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListTeamMembersResponse'
+            Prelude.<$> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..?> "teamMembers" Core..!@ Prelude.mempty)
+      )
+
+instance Prelude.Hashable ListTeamMembers where
+  hashWithSalt _salt ListTeamMembers' {..} =
+    _salt
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+      `Prelude.hashWithSalt` projectId
+
+instance Prelude.NFData ListTeamMembers where
+  rnf ListTeamMembers' {..} =
+    Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf projectId
+
+instance Data.ToHeaders ListTeamMembers where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.ListTeamMembers" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListTeamMembers where
+  toJSON ListTeamMembers' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("maxResults" Data..=) Prelude.<$> maxResults,
+            ("nextToken" Data..=) Prelude.<$> nextToken,
+            Prelude.Just ("projectId" Data..= projectId)
+          ]
+      )
+
+instance Data.ToPath ListTeamMembers where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery ListTeamMembers where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newListTeamMembersResponse' smart constructor.
+data ListTeamMembersResponse = ListTeamMembersResponse'
+  { -- | The continuation token to use when requesting the next set of results,
+    -- if there are more results to be returned.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | A list of team member objects for the project.
+    teamMembers :: [TeamMember]
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListTeamMembersResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'nextToken', 'listTeamMembersResponse_nextToken' - The continuation token to use when requesting the next set of results,
+-- if there are more results to be returned.
+--
+-- 'httpStatus', 'listTeamMembersResponse_httpStatus' - The response's http status code.
+--
+-- 'teamMembers', 'listTeamMembersResponse_teamMembers' - A list of team member objects for the project.
+newListTeamMembersResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListTeamMembersResponse
+newListTeamMembersResponse pHttpStatus_ =
+  ListTeamMembersResponse'
+    { nextToken =
+        Prelude.Nothing,
+      httpStatus = pHttpStatus_,
+      teamMembers = Prelude.mempty
+    }
+
+-- | The continuation token to use when requesting the next set of results,
+-- if there are more results to be returned.
+listTeamMembersResponse_nextToken :: Lens.Lens' ListTeamMembersResponse (Prelude.Maybe Prelude.Text)
+listTeamMembersResponse_nextToken = Lens.lens (\ListTeamMembersResponse' {nextToken} -> nextToken) (\s@ListTeamMembersResponse' {} a -> s {nextToken = a} :: ListTeamMembersResponse)
+
+-- | The response's http status code.
+listTeamMembersResponse_httpStatus :: Lens.Lens' ListTeamMembersResponse Prelude.Int
+listTeamMembersResponse_httpStatus = Lens.lens (\ListTeamMembersResponse' {httpStatus} -> httpStatus) (\s@ListTeamMembersResponse' {} a -> s {httpStatus = a} :: ListTeamMembersResponse)
+
+-- | A list of team member objects for the project.
+listTeamMembersResponse_teamMembers :: Lens.Lens' ListTeamMembersResponse [TeamMember]
+listTeamMembersResponse_teamMembers = Lens.lens (\ListTeamMembersResponse' {teamMembers} -> teamMembers) (\s@ListTeamMembersResponse' {} a -> s {teamMembers = a} :: ListTeamMembersResponse) Prelude.. Lens.coerced
+
+instance Prelude.NFData ListTeamMembersResponse where
+  rnf ListTeamMembersResponse' {..} =
+    Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf teamMembers
diff --git a/gen/Amazonka/CodeStar/ListUserProfiles.hs b/gen/Amazonka/CodeStar/ListUserProfiles.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/ListUserProfiles.hs
@@ -0,0 +1,224 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.ListUserProfiles
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Lists all the user profiles configured for your AWS account in AWS
+-- CodeStar.
+--
+-- This operation returns paginated results.
+module Amazonka.CodeStar.ListUserProfiles
+  ( -- * Creating a Request
+    ListUserProfiles (..),
+    newListUserProfiles,
+
+    -- * Request Lenses
+    listUserProfiles_maxResults,
+    listUserProfiles_nextToken,
+
+    -- * Destructuring the Response
+    ListUserProfilesResponse (..),
+    newListUserProfilesResponse,
+
+    -- * Response Lenses
+    listUserProfilesResponse_nextToken,
+    listUserProfilesResponse_httpStatus,
+    listUserProfilesResponse_userProfiles,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListUserProfiles' smart constructor.
+data ListUserProfiles = ListUserProfiles'
+  { -- | The maximum number of results to return in a response.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | The continuation token for the next set of results, if the results
+    -- cannot be returned in one response.
+    nextToken :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListUserProfiles' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'maxResults', 'listUserProfiles_maxResults' - The maximum number of results to return in a response.
+--
+-- 'nextToken', 'listUserProfiles_nextToken' - The continuation token for the next set of results, if the results
+-- cannot be returned in one response.
+newListUserProfiles ::
+  ListUserProfiles
+newListUserProfiles =
+  ListUserProfiles'
+    { maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing
+    }
+
+-- | The maximum number of results to return in a response.
+listUserProfiles_maxResults :: Lens.Lens' ListUserProfiles (Prelude.Maybe Prelude.Natural)
+listUserProfiles_maxResults = Lens.lens (\ListUserProfiles' {maxResults} -> maxResults) (\s@ListUserProfiles' {} a -> s {maxResults = a} :: ListUserProfiles)
+
+-- | The continuation token for the next set of results, if the results
+-- cannot be returned in one response.
+listUserProfiles_nextToken :: Lens.Lens' ListUserProfiles (Prelude.Maybe Prelude.Text)
+listUserProfiles_nextToken = Lens.lens (\ListUserProfiles' {nextToken} -> nextToken) (\s@ListUserProfiles' {} a -> s {nextToken = a} :: ListUserProfiles)
+
+instance Core.AWSPager ListUserProfiles where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listUserProfilesResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        (rs Lens.^. listUserProfilesResponse_userProfiles) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listUserProfiles_nextToken
+          Lens..~ rs
+          Lens.^? listUserProfilesResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListUserProfiles where
+  type
+    AWSResponse ListUserProfiles =
+      ListUserProfilesResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListUserProfilesResponse'
+            Prelude.<$> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..?> "userProfiles" Core..!@ Prelude.mempty)
+      )
+
+instance Prelude.Hashable ListUserProfiles where
+  hashWithSalt _salt ListUserProfiles' {..} =
+    _salt
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+
+instance Prelude.NFData ListUserProfiles where
+  rnf ListUserProfiles' {..} =
+    Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+
+instance Data.ToHeaders ListUserProfiles where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.ListUserProfiles" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListUserProfiles where
+  toJSON ListUserProfiles' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("maxResults" Data..=) Prelude.<$> maxResults,
+            ("nextToken" Data..=) Prelude.<$> nextToken
+          ]
+      )
+
+instance Data.ToPath ListUserProfiles where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery ListUserProfiles where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newListUserProfilesResponse' smart constructor.
+data ListUserProfilesResponse = ListUserProfilesResponse'
+  { -- | The continuation token to use when requesting the next set of results,
+    -- if there are more results to be returned.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | All the user profiles configured in AWS CodeStar for an AWS account.
+    userProfiles :: [UserProfileSummary]
+  }
+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListUserProfilesResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'nextToken', 'listUserProfilesResponse_nextToken' - The continuation token to use when requesting the next set of results,
+-- if there are more results to be returned.
+--
+-- 'httpStatus', 'listUserProfilesResponse_httpStatus' - The response's http status code.
+--
+-- 'userProfiles', 'listUserProfilesResponse_userProfiles' - All the user profiles configured in AWS CodeStar for an AWS account.
+newListUserProfilesResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListUserProfilesResponse
+newListUserProfilesResponse pHttpStatus_ =
+  ListUserProfilesResponse'
+    { nextToken =
+        Prelude.Nothing,
+      httpStatus = pHttpStatus_,
+      userProfiles = Prelude.mempty
+    }
+
+-- | The continuation token to use when requesting the next set of results,
+-- if there are more results to be returned.
+listUserProfilesResponse_nextToken :: Lens.Lens' ListUserProfilesResponse (Prelude.Maybe Prelude.Text)
+listUserProfilesResponse_nextToken = Lens.lens (\ListUserProfilesResponse' {nextToken} -> nextToken) (\s@ListUserProfilesResponse' {} a -> s {nextToken = a} :: ListUserProfilesResponse)
+
+-- | The response's http status code.
+listUserProfilesResponse_httpStatus :: Lens.Lens' ListUserProfilesResponse Prelude.Int
+listUserProfilesResponse_httpStatus = Lens.lens (\ListUserProfilesResponse' {httpStatus} -> httpStatus) (\s@ListUserProfilesResponse' {} a -> s {httpStatus = a} :: ListUserProfilesResponse)
+
+-- | All the user profiles configured in AWS CodeStar for an AWS account.
+listUserProfilesResponse_userProfiles :: Lens.Lens' ListUserProfilesResponse [UserProfileSummary]
+listUserProfilesResponse_userProfiles = Lens.lens (\ListUserProfilesResponse' {userProfiles} -> userProfiles) (\s@ListUserProfilesResponse' {} a -> s {userProfiles = a} :: ListUserProfilesResponse) Prelude.. Lens.coerced
+
+instance Prelude.NFData ListUserProfilesResponse where
+  rnf ListUserProfilesResponse' {..} =
+    Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf userProfiles
diff --git a/gen/Amazonka/CodeStar/TagProject.hs b/gen/Amazonka/CodeStar/TagProject.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/TagProject.hs
@@ -0,0 +1,179 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.TagProject
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Adds tags to a project.
+module Amazonka.CodeStar.TagProject
+  ( -- * Creating a Request
+    TagProject (..),
+    newTagProject,
+
+    -- * Request Lenses
+    tagProject_id,
+    tagProject_tags,
+
+    -- * Destructuring the Response
+    TagProjectResponse (..),
+    newTagProjectResponse,
+
+    -- * Response Lenses
+    tagProjectResponse_tags,
+    tagProjectResponse_httpStatus,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newTagProject' smart constructor.
+data TagProject = TagProject'
+  { -- | The ID of the project you want to add a tag to.
+    id :: Prelude.Text,
+    -- | The tags you want to add to the project.
+    tags :: Prelude.HashMap Prelude.Text Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'TagProject' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'id', 'tagProject_id' - The ID of the project you want to add a tag to.
+--
+-- 'tags', 'tagProject_tags' - The tags you want to add to the project.
+newTagProject ::
+  -- | 'id'
+  Prelude.Text ->
+  TagProject
+newTagProject pId_ =
+  TagProject' {id = pId_, tags = Prelude.mempty}
+
+-- | The ID of the project you want to add a tag to.
+tagProject_id :: Lens.Lens' TagProject Prelude.Text
+tagProject_id = Lens.lens (\TagProject' {id} -> id) (\s@TagProject' {} a -> s {id = a} :: TagProject)
+
+-- | The tags you want to add to the project.
+tagProject_tags :: Lens.Lens' TagProject (Prelude.HashMap Prelude.Text Prelude.Text)
+tagProject_tags = Lens.lens (\TagProject' {tags} -> tags) (\s@TagProject' {} a -> s {tags = a} :: TagProject) Prelude.. Lens.coerced
+
+instance Core.AWSRequest TagProject where
+  type AWSResponse TagProject = TagProjectResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          TagProjectResponse'
+            Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable TagProject where
+  hashWithSalt _salt TagProject' {..} =
+    _salt
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` tags
+
+instance Prelude.NFData TagProject where
+  rnf TagProject' {..} =
+    Prelude.rnf id `Prelude.seq` Prelude.rnf tags
+
+instance Data.ToHeaders TagProject where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.TagProject" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON TagProject where
+  toJSON TagProject' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ Prelude.Just ("id" Data..= id),
+            Prelude.Just ("tags" Data..= tags)
+          ]
+      )
+
+instance Data.ToPath TagProject where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery TagProject where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newTagProjectResponse' smart constructor.
+data TagProjectResponse = TagProjectResponse'
+  { -- | The tags for the project.
+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'TagProjectResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'tags', 'tagProjectResponse_tags' - The tags for the project.
+--
+-- 'httpStatus', 'tagProjectResponse_httpStatus' - The response's http status code.
+newTagProjectResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  TagProjectResponse
+newTagProjectResponse pHttpStatus_ =
+  TagProjectResponse'
+    { tags = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | The tags for the project.
+tagProjectResponse_tags :: Lens.Lens' TagProjectResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+tagProjectResponse_tags = Lens.lens (\TagProjectResponse' {tags} -> tags) (\s@TagProjectResponse' {} a -> s {tags = a} :: TagProjectResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | The response's http status code.
+tagProjectResponse_httpStatus :: Lens.Lens' TagProjectResponse Prelude.Int
+tagProjectResponse_httpStatus = Lens.lens (\TagProjectResponse' {httpStatus} -> httpStatus) (\s@TagProjectResponse' {} a -> s {httpStatus = a} :: TagProjectResponse)
+
+instance Prelude.NFData TagProjectResponse where
+  rnf TagProjectResponse' {..} =
+    Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/CodeStar/Types.hs b/gen/Amazonka/CodeStar/Types.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/Types.hs
@@ -0,0 +1,304 @@
+{-# LANGUAGE DisambiguateRecordFields #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.Types
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Amazonka.CodeStar.Types
+  ( -- * Service Configuration
+    defaultService,
+
+    -- * Errors
+    _ConcurrentModificationException,
+    _InvalidNextTokenException,
+    _InvalidServiceRoleException,
+    _LimitExceededException,
+    _ProjectAlreadyExistsException,
+    _ProjectConfigurationException,
+    _ProjectCreationFailedException,
+    _ProjectNotFoundException,
+    _TeamMemberAlreadyAssociatedException,
+    _TeamMemberNotFoundException,
+    _UserProfileAlreadyExistsException,
+    _UserProfileNotFoundException,
+    _ValidationException,
+
+    -- * Code
+    Code (..),
+    newCode,
+    code_source,
+    code_destination,
+
+    -- * CodeCommitCodeDestination
+    CodeCommitCodeDestination (..),
+    newCodeCommitCodeDestination,
+    codeCommitCodeDestination_name,
+
+    -- * CodeDestination
+    CodeDestination (..),
+    newCodeDestination,
+    codeDestination_codeCommit,
+    codeDestination_gitHub,
+
+    -- * CodeSource
+    CodeSource (..),
+    newCodeSource,
+    codeSource_s3,
+
+    -- * GitHubCodeDestination
+    GitHubCodeDestination (..),
+    newGitHubCodeDestination,
+    gitHubCodeDestination_description,
+    gitHubCodeDestination_name,
+    gitHubCodeDestination_type,
+    gitHubCodeDestination_owner,
+    gitHubCodeDestination_privateRepository,
+    gitHubCodeDestination_issuesEnabled,
+    gitHubCodeDestination_token,
+
+    -- * ProjectStatus
+    ProjectStatus (..),
+    newProjectStatus,
+    projectStatus_reason,
+    projectStatus_state,
+
+    -- * ProjectSummary
+    ProjectSummary (..),
+    newProjectSummary,
+    projectSummary_projectArn,
+    projectSummary_projectId,
+
+    -- * Resource
+    Resource (..),
+    newResource,
+    resource_id,
+
+    -- * S3Location
+    S3Location (..),
+    newS3Location,
+    s3Location_bucketKey,
+    s3Location_bucketName,
+
+    -- * TeamMember
+    TeamMember (..),
+    newTeamMember,
+    teamMember_remoteAccessAllowed,
+    teamMember_userArn,
+    teamMember_projectRole,
+
+    -- * Toolchain
+    Toolchain (..),
+    newToolchain,
+    toolchain_roleArn,
+    toolchain_stackParameters,
+    toolchain_source,
+
+    -- * ToolchainSource
+    ToolchainSource (..),
+    newToolchainSource,
+    toolchainSource_s3,
+
+    -- * UserProfileSummary
+    UserProfileSummary (..),
+    newUserProfileSummary,
+    userProfileSummary_displayName,
+    userProfileSummary_emailAddress,
+    userProfileSummary_sshPublicKey,
+    userProfileSummary_userArn,
+  )
+where
+
+import Amazonka.CodeStar.Types.Code
+import Amazonka.CodeStar.Types.CodeCommitCodeDestination
+import Amazonka.CodeStar.Types.CodeDestination
+import Amazonka.CodeStar.Types.CodeSource
+import Amazonka.CodeStar.Types.GitHubCodeDestination
+import Amazonka.CodeStar.Types.ProjectStatus
+import Amazonka.CodeStar.Types.ProjectSummary
+import Amazonka.CodeStar.Types.Resource
+import Amazonka.CodeStar.Types.S3Location
+import Amazonka.CodeStar.Types.TeamMember
+import Amazonka.CodeStar.Types.Toolchain
+import Amazonka.CodeStar.Types.ToolchainSource
+import Amazonka.CodeStar.Types.UserProfileSummary
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Sign.V4 as Sign
+
+-- | API version @2017-04-19@ of the Amazon CodeStar SDK configuration.
+defaultService :: Core.Service
+defaultService =
+  Core.Service
+    { Core.abbrev = "CodeStar",
+      Core.signer = Sign.v4,
+      Core.endpointPrefix = "codestar",
+      Core.signingName = "codestar",
+      Core.version = "2017-04-19",
+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,
+      Core.endpoint = Core.defaultEndpoint defaultService,
+      Core.timeout = Prelude.Just 70,
+      Core.check = Core.statusSuccess,
+      Core.error = Core.parseJSONError "CodeStar",
+      Core.retry = retry
+    }
+  where
+    retry =
+      Core.Exponential
+        { Core.base = 5.0e-2,
+          Core.growth = 2,
+          Core.attempts = 5,
+          Core.check = check
+        }
+    check e
+      | Lens.has (Core.hasStatus 502) e =
+          Prelude.Just "bad_gateway"
+      | Lens.has (Core.hasStatus 504) e =
+          Prelude.Just "gateway_timeout"
+      | Lens.has (Core.hasStatus 500) e =
+          Prelude.Just "general_server_error"
+      | Lens.has (Core.hasStatus 509) e =
+          Prelude.Just "limit_exceeded"
+      | Lens.has
+          ( Core.hasCode "RequestThrottledException"
+              Prelude.. Core.hasStatus 400
+          )
+          e =
+          Prelude.Just "request_throttled_exception"
+      | Lens.has (Core.hasStatus 503) e =
+          Prelude.Just "service_unavailable"
+      | Lens.has
+          ( Core.hasCode "ThrottledException"
+              Prelude.. Core.hasStatus 400
+          )
+          e =
+          Prelude.Just "throttled_exception"
+      | Lens.has
+          ( Core.hasCode "Throttling"
+              Prelude.. Core.hasStatus 400
+          )
+          e =
+          Prelude.Just "throttling"
+      | Lens.has
+          ( Core.hasCode "ThrottlingException"
+              Prelude.. Core.hasStatus 400
+          )
+          e =
+          Prelude.Just "throttling_exception"
+      | Lens.has
+          ( Core.hasCode
+              "ProvisionedThroughputExceededException"
+              Prelude.. Core.hasStatus 400
+          )
+          e =
+          Prelude.Just "throughput_exceeded"
+      | Lens.has (Core.hasStatus 429) e =
+          Prelude.Just "too_many_requests"
+      | Prelude.otherwise = Prelude.Nothing
+
+-- | Another modification is being made. That modification must complete
+-- before you can make your change.
+_ConcurrentModificationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_ConcurrentModificationException =
+  Core._MatchServiceError
+    defaultService
+    "ConcurrentModificationException"
+
+-- | The next token is not valid.
+_InvalidNextTokenException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_InvalidNextTokenException =
+  Core._MatchServiceError
+    defaultService
+    "InvalidNextTokenException"
+
+-- | The service role is not valid.
+_InvalidServiceRoleException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_InvalidServiceRoleException =
+  Core._MatchServiceError
+    defaultService
+    "InvalidServiceRoleException"
+
+-- | A resource limit has been exceeded.
+_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_LimitExceededException =
+  Core._MatchServiceError
+    defaultService
+    "LimitExceededException"
+
+-- | An AWS CodeStar project with the same ID already exists in this region
+-- for the AWS account. AWS CodeStar project IDs must be unique within a
+-- region for the AWS account.
+_ProjectAlreadyExistsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_ProjectAlreadyExistsException =
+  Core._MatchServiceError
+    defaultService
+    "ProjectAlreadyExistsException"
+
+-- | Project configuration information is required but not specified.
+_ProjectConfigurationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_ProjectConfigurationException =
+  Core._MatchServiceError
+    defaultService
+    "ProjectConfigurationException"
+
+-- | The project creation request was valid, but a nonspecific exception or
+-- error occurred during project creation. The project could not be created
+-- in AWS CodeStar.
+_ProjectCreationFailedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_ProjectCreationFailedException =
+  Core._MatchServiceError
+    defaultService
+    "ProjectCreationFailedException"
+
+-- | The specified AWS CodeStar project was not found.
+_ProjectNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_ProjectNotFoundException =
+  Core._MatchServiceError
+    defaultService
+    "ProjectNotFoundException"
+
+-- | The team member is already associated with a role in this project.
+_TeamMemberAlreadyAssociatedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_TeamMemberAlreadyAssociatedException =
+  Core._MatchServiceError
+    defaultService
+    "TeamMemberAlreadyAssociatedException"
+
+-- | The specified team member was not found.
+_TeamMemberNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_TeamMemberNotFoundException =
+  Core._MatchServiceError
+    defaultService
+    "TeamMemberNotFoundException"
+
+-- | A user profile with that name already exists in this region for the AWS
+-- account. AWS CodeStar user profile names must be unique within a region
+-- for the AWS account.
+_UserProfileAlreadyExistsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_UserProfileAlreadyExistsException =
+  Core._MatchServiceError
+    defaultService
+    "UserProfileAlreadyExistsException"
+
+-- | The user profile was not found.
+_UserProfileNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_UserProfileNotFoundException =
+  Core._MatchServiceError
+    defaultService
+    "UserProfileNotFoundException"
+
+-- | The specified input is either not valid, or it could not be validated.
+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_ValidationException =
+  Core._MatchServiceError
+    defaultService
+    "ValidationException"
diff --git a/gen/Amazonka/CodeStar/Types/Code.hs b/gen/Amazonka/CodeStar/Types/Code.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/Types/Code.hs
@@ -0,0 +1,106 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.Types.Code
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Amazonka.CodeStar.Types.Code where
+
+import Amazonka.CodeStar.Types.CodeDestination
+import Amazonka.CodeStar.Types.CodeSource
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+-- | Location and destination information about the source code files
+-- provided with the project request. The source code is uploaded to the
+-- new project source repository after project creation.
+--
+-- /See:/ 'newCode' smart constructor.
+data Code = Code'
+  { -- | The location where the source code files provided with the project
+    -- request are stored. AWS CodeStar retrieves the files during project
+    -- creation.
+    source :: CodeSource,
+    -- | The repository to be created in AWS CodeStar. Valid values are AWS
+    -- CodeCommit or GitHub. After AWS CodeStar provisions the new repository,
+    -- the source code files provided with the project request are placed in
+    -- the repository.
+    destination :: CodeDestination
+  }
+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'Code' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'source', 'code_source' - The location where the source code files provided with the project
+-- request are stored. AWS CodeStar retrieves the files during project
+-- creation.
+--
+-- 'destination', 'code_destination' - The repository to be created in AWS CodeStar. Valid values are AWS
+-- CodeCommit or GitHub. After AWS CodeStar provisions the new repository,
+-- the source code files provided with the project request are placed in
+-- the repository.
+newCode ::
+  -- | 'source'
+  CodeSource ->
+  -- | 'destination'
+  CodeDestination ->
+  Code
+newCode pSource_ pDestination_ =
+  Code'
+    { source = pSource_,
+      destination = pDestination_
+    }
+
+-- | The location where the source code files provided with the project
+-- request are stored. AWS CodeStar retrieves the files during project
+-- creation.
+code_source :: Lens.Lens' Code CodeSource
+code_source = Lens.lens (\Code' {source} -> source) (\s@Code' {} a -> s {source = a} :: Code)
+
+-- | The repository to be created in AWS CodeStar. Valid values are AWS
+-- CodeCommit or GitHub. After AWS CodeStar provisions the new repository,
+-- the source code files provided with the project request are placed in
+-- the repository.
+code_destination :: Lens.Lens' Code CodeDestination
+code_destination = Lens.lens (\Code' {destination} -> destination) (\s@Code' {} a -> s {destination = a} :: Code)
+
+instance Prelude.Hashable Code where
+  hashWithSalt _salt Code' {..} =
+    _salt
+      `Prelude.hashWithSalt` source
+      `Prelude.hashWithSalt` destination
+
+instance Prelude.NFData Code where
+  rnf Code' {..} =
+    Prelude.rnf source
+      `Prelude.seq` Prelude.rnf destination
+
+instance Data.ToJSON Code where
+  toJSON Code' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ Prelude.Just ("source" Data..= source),
+            Prelude.Just ("destination" Data..= destination)
+          ]
+      )
diff --git a/gen/Amazonka/CodeStar/Types/CodeCommitCodeDestination.hs b/gen/Amazonka/CodeStar/Types/CodeCommitCodeDestination.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/Types/CodeCommitCodeDestination.hs
@@ -0,0 +1,70 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.Types.CodeCommitCodeDestination
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Amazonka.CodeStar.Types.CodeCommitCodeDestination where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+-- | Information about the AWS CodeCommit repository to be created in AWS
+-- CodeStar. This is where the source code files provided with the project
+-- request will be uploaded after project creation.
+--
+-- /See:/ 'newCodeCommitCodeDestination' smart constructor.
+data CodeCommitCodeDestination = CodeCommitCodeDestination'
+  { -- | The name of the AWS CodeCommit repository to be created in AWS CodeStar.
+    name :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CodeCommitCodeDestination' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'name', 'codeCommitCodeDestination_name' - The name of the AWS CodeCommit repository to be created in AWS CodeStar.
+newCodeCommitCodeDestination ::
+  -- | 'name'
+  Prelude.Text ->
+  CodeCommitCodeDestination
+newCodeCommitCodeDestination pName_ =
+  CodeCommitCodeDestination' {name = pName_}
+
+-- | The name of the AWS CodeCommit repository to be created in AWS CodeStar.
+codeCommitCodeDestination_name :: Lens.Lens' CodeCommitCodeDestination Prelude.Text
+codeCommitCodeDestination_name = Lens.lens (\CodeCommitCodeDestination' {name} -> name) (\s@CodeCommitCodeDestination' {} a -> s {name = a} :: CodeCommitCodeDestination)
+
+instance Prelude.Hashable CodeCommitCodeDestination where
+  hashWithSalt _salt CodeCommitCodeDestination' {..} =
+    _salt `Prelude.hashWithSalt` name
+
+instance Prelude.NFData CodeCommitCodeDestination where
+  rnf CodeCommitCodeDestination' {..} = Prelude.rnf name
+
+instance Data.ToJSON CodeCommitCodeDestination where
+  toJSON CodeCommitCodeDestination' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [Prelude.Just ("name" Data..= name)]
+      )
diff --git a/gen/Amazonka/CodeStar/Types/CodeDestination.hs b/gen/Amazonka/CodeStar/Types/CodeDestination.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/Types/CodeDestination.hs
@@ -0,0 +1,100 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.Types.CodeDestination
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Amazonka.CodeStar.Types.CodeDestination where
+
+import Amazonka.CodeStar.Types.CodeCommitCodeDestination
+import Amazonka.CodeStar.Types.GitHubCodeDestination
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+-- | The repository to be created in AWS CodeStar. Valid values are AWS
+-- CodeCommit or GitHub. After AWS CodeStar provisions the new repository,
+-- the source code files provided with the project request are placed in
+-- the repository.
+--
+-- /See:/ 'newCodeDestination' smart constructor.
+data CodeDestination = CodeDestination'
+  { -- | Information about the AWS CodeCommit repository to be created in AWS
+    -- CodeStar. This is where the source code files provided with the project
+    -- request will be uploaded after project creation.
+    codeCommit :: Prelude.Maybe CodeCommitCodeDestination,
+    -- | Information about the GitHub repository to be created in AWS CodeStar.
+    -- This is where the source code files provided with the project request
+    -- will be uploaded after project creation.
+    gitHub :: Prelude.Maybe GitHubCodeDestination
+  }
+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CodeDestination' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'codeCommit', 'codeDestination_codeCommit' - Information about the AWS CodeCommit repository to be created in AWS
+-- CodeStar. This is where the source code files provided with the project
+-- request will be uploaded after project creation.
+--
+-- 'gitHub', 'codeDestination_gitHub' - Information about the GitHub repository to be created in AWS CodeStar.
+-- This is where the source code files provided with the project request
+-- will be uploaded after project creation.
+newCodeDestination ::
+  CodeDestination
+newCodeDestination =
+  CodeDestination'
+    { codeCommit = Prelude.Nothing,
+      gitHub = Prelude.Nothing
+    }
+
+-- | Information about the AWS CodeCommit repository to be created in AWS
+-- CodeStar. This is where the source code files provided with the project
+-- request will be uploaded after project creation.
+codeDestination_codeCommit :: Lens.Lens' CodeDestination (Prelude.Maybe CodeCommitCodeDestination)
+codeDestination_codeCommit = Lens.lens (\CodeDestination' {codeCommit} -> codeCommit) (\s@CodeDestination' {} a -> s {codeCommit = a} :: CodeDestination)
+
+-- | Information about the GitHub repository to be created in AWS CodeStar.
+-- This is where the source code files provided with the project request
+-- will be uploaded after project creation.
+codeDestination_gitHub :: Lens.Lens' CodeDestination (Prelude.Maybe GitHubCodeDestination)
+codeDestination_gitHub = Lens.lens (\CodeDestination' {gitHub} -> gitHub) (\s@CodeDestination' {} a -> s {gitHub = a} :: CodeDestination)
+
+instance Prelude.Hashable CodeDestination where
+  hashWithSalt _salt CodeDestination' {..} =
+    _salt
+      `Prelude.hashWithSalt` codeCommit
+      `Prelude.hashWithSalt` gitHub
+
+instance Prelude.NFData CodeDestination where
+  rnf CodeDestination' {..} =
+    Prelude.rnf codeCommit
+      `Prelude.seq` Prelude.rnf gitHub
+
+instance Data.ToJSON CodeDestination where
+  toJSON CodeDestination' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("codeCommit" Data..=) Prelude.<$> codeCommit,
+            ("gitHub" Data..=) Prelude.<$> gitHub
+          ]
+      )
diff --git a/gen/Amazonka/CodeStar/Types/CodeSource.hs b/gen/Amazonka/CodeStar/Types/CodeSource.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/Types/CodeSource.hs
@@ -0,0 +1,71 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.Types.CodeSource
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Amazonka.CodeStar.Types.CodeSource where
+
+import Amazonka.CodeStar.Types.S3Location
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+-- | The location where the source code files provided with the project
+-- request are stored. AWS CodeStar retrieves the files during project
+-- creation.
+--
+-- /See:/ 'newCodeSource' smart constructor.
+data CodeSource = CodeSource'
+  { -- | Information about the Amazon S3 location where the source code files
+    -- provided with the project request are stored.
+    s3 :: S3Location
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CodeSource' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 's3', 'codeSource_s3' - Information about the Amazon S3 location where the source code files
+-- provided with the project request are stored.
+newCodeSource ::
+  -- | 's3'
+  S3Location ->
+  CodeSource
+newCodeSource pS3_ = CodeSource' {s3 = pS3_}
+
+-- | Information about the Amazon S3 location where the source code files
+-- provided with the project request are stored.
+codeSource_s3 :: Lens.Lens' CodeSource S3Location
+codeSource_s3 = Lens.lens (\CodeSource' {s3} -> s3) (\s@CodeSource' {} a -> s {s3 = a} :: CodeSource)
+
+instance Prelude.Hashable CodeSource where
+  hashWithSalt _salt CodeSource' {..} =
+    _salt `Prelude.hashWithSalt` s3
+
+instance Prelude.NFData CodeSource where
+  rnf CodeSource' {..} = Prelude.rnf s3
+
+instance Data.ToJSON CodeSource where
+  toJSON CodeSource' {..} =
+    Data.object
+      (Prelude.catMaybes [Prelude.Just ("s3" Data..= s3)])
diff --git a/gen/Amazonka/CodeStar/Types/GitHubCodeDestination.hs b/gen/Amazonka/CodeStar/Types/GitHubCodeDestination.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/Types/GitHubCodeDestination.hs
@@ -0,0 +1,177 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.Types.GitHubCodeDestination
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Amazonka.CodeStar.Types.GitHubCodeDestination where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+-- | Information about the GitHub repository to be created in AWS CodeStar.
+-- This is where the source code files provided with the project request
+-- will be uploaded after project creation.
+--
+-- /See:/ 'newGitHubCodeDestination' smart constructor.
+data GitHubCodeDestination = GitHubCodeDestination'
+  { -- | Description for the GitHub repository to be created in AWS CodeStar.
+    -- This description displays in GitHub after the repository is created.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | Name of the GitHub repository to be created in AWS CodeStar.
+    name :: Prelude.Text,
+    -- | The type of GitHub repository to be created in AWS CodeStar. Valid
+    -- values are User or Organization.
+    type' :: Prelude.Text,
+    -- | The GitHub username for the owner of the GitHub repository to be created
+    -- in AWS CodeStar. If this repository should be owned by a GitHub
+    -- organization, provide its name.
+    owner :: Prelude.Text,
+    -- | Whether the GitHub repository is to be a private repository.
+    privateRepository :: Prelude.Bool,
+    -- | Whether to enable issues for the GitHub repository.
+    issuesEnabled :: Prelude.Bool,
+    -- | The GitHub user\'s personal access token for the GitHub repository.
+    token :: Data.Sensitive Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GitHubCodeDestination' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'description', 'gitHubCodeDestination_description' - Description for the GitHub repository to be created in AWS CodeStar.
+-- This description displays in GitHub after the repository is created.
+--
+-- 'name', 'gitHubCodeDestination_name' - Name of the GitHub repository to be created in AWS CodeStar.
+--
+-- 'type'', 'gitHubCodeDestination_type' - The type of GitHub repository to be created in AWS CodeStar. Valid
+-- values are User or Organization.
+--
+-- 'owner', 'gitHubCodeDestination_owner' - The GitHub username for the owner of the GitHub repository to be created
+-- in AWS CodeStar. If this repository should be owned by a GitHub
+-- organization, provide its name.
+--
+-- 'privateRepository', 'gitHubCodeDestination_privateRepository' - Whether the GitHub repository is to be a private repository.
+--
+-- 'issuesEnabled', 'gitHubCodeDestination_issuesEnabled' - Whether to enable issues for the GitHub repository.
+--
+-- 'token', 'gitHubCodeDestination_token' - The GitHub user\'s personal access token for the GitHub repository.
+newGitHubCodeDestination ::
+  -- | 'name'
+  Prelude.Text ->
+  -- | 'type''
+  Prelude.Text ->
+  -- | 'owner'
+  Prelude.Text ->
+  -- | 'privateRepository'
+  Prelude.Bool ->
+  -- | 'issuesEnabled'
+  Prelude.Bool ->
+  -- | 'token'
+  Prelude.Text ->
+  GitHubCodeDestination
+newGitHubCodeDestination
+  pName_
+  pType_
+  pOwner_
+  pPrivateRepository_
+  pIssuesEnabled_
+  pToken_ =
+    GitHubCodeDestination'
+      { description =
+          Prelude.Nothing,
+        name = pName_,
+        type' = pType_,
+        owner = pOwner_,
+        privateRepository = pPrivateRepository_,
+        issuesEnabled = pIssuesEnabled_,
+        token = Data._Sensitive Lens.# pToken_
+      }
+
+-- | Description for the GitHub repository to be created in AWS CodeStar.
+-- This description displays in GitHub after the repository is created.
+gitHubCodeDestination_description :: Lens.Lens' GitHubCodeDestination (Prelude.Maybe Prelude.Text)
+gitHubCodeDestination_description = Lens.lens (\GitHubCodeDestination' {description} -> description) (\s@GitHubCodeDestination' {} a -> s {description = a} :: GitHubCodeDestination)
+
+-- | Name of the GitHub repository to be created in AWS CodeStar.
+gitHubCodeDestination_name :: Lens.Lens' GitHubCodeDestination Prelude.Text
+gitHubCodeDestination_name = Lens.lens (\GitHubCodeDestination' {name} -> name) (\s@GitHubCodeDestination' {} a -> s {name = a} :: GitHubCodeDestination)
+
+-- | The type of GitHub repository to be created in AWS CodeStar. Valid
+-- values are User or Organization.
+gitHubCodeDestination_type :: Lens.Lens' GitHubCodeDestination Prelude.Text
+gitHubCodeDestination_type = Lens.lens (\GitHubCodeDestination' {type'} -> type') (\s@GitHubCodeDestination' {} a -> s {type' = a} :: GitHubCodeDestination)
+
+-- | The GitHub username for the owner of the GitHub repository to be created
+-- in AWS CodeStar. If this repository should be owned by a GitHub
+-- organization, provide its name.
+gitHubCodeDestination_owner :: Lens.Lens' GitHubCodeDestination Prelude.Text
+gitHubCodeDestination_owner = Lens.lens (\GitHubCodeDestination' {owner} -> owner) (\s@GitHubCodeDestination' {} a -> s {owner = a} :: GitHubCodeDestination)
+
+-- | Whether the GitHub repository is to be a private repository.
+gitHubCodeDestination_privateRepository :: Lens.Lens' GitHubCodeDestination Prelude.Bool
+gitHubCodeDestination_privateRepository = Lens.lens (\GitHubCodeDestination' {privateRepository} -> privateRepository) (\s@GitHubCodeDestination' {} a -> s {privateRepository = a} :: GitHubCodeDestination)
+
+-- | Whether to enable issues for the GitHub repository.
+gitHubCodeDestination_issuesEnabled :: Lens.Lens' GitHubCodeDestination Prelude.Bool
+gitHubCodeDestination_issuesEnabled = Lens.lens (\GitHubCodeDestination' {issuesEnabled} -> issuesEnabled) (\s@GitHubCodeDestination' {} a -> s {issuesEnabled = a} :: GitHubCodeDestination)
+
+-- | The GitHub user\'s personal access token for the GitHub repository.
+gitHubCodeDestination_token :: Lens.Lens' GitHubCodeDestination Prelude.Text
+gitHubCodeDestination_token = Lens.lens (\GitHubCodeDestination' {token} -> token) (\s@GitHubCodeDestination' {} a -> s {token = a} :: GitHubCodeDestination) Prelude.. Data._Sensitive
+
+instance Prelude.Hashable GitHubCodeDestination where
+  hashWithSalt _salt GitHubCodeDestination' {..} =
+    _salt
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` type'
+      `Prelude.hashWithSalt` owner
+      `Prelude.hashWithSalt` privateRepository
+      `Prelude.hashWithSalt` issuesEnabled
+      `Prelude.hashWithSalt` token
+
+instance Prelude.NFData GitHubCodeDestination where
+  rnf GitHubCodeDestination' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf type'
+      `Prelude.seq` Prelude.rnf owner
+      `Prelude.seq` Prelude.rnf privateRepository
+      `Prelude.seq` Prelude.rnf issuesEnabled
+      `Prelude.seq` Prelude.rnf token
+
+instance Data.ToJSON GitHubCodeDestination where
+  toJSON GitHubCodeDestination' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("description" Data..=) Prelude.<$> description,
+            Prelude.Just ("name" Data..= name),
+            Prelude.Just ("type" Data..= type'),
+            Prelude.Just ("owner" Data..= owner),
+            Prelude.Just
+              ("privateRepository" Data..= privateRepository),
+            Prelude.Just ("issuesEnabled" Data..= issuesEnabled),
+            Prelude.Just ("token" Data..= token)
+          ]
+      )
diff --git a/gen/Amazonka/CodeStar/Types/ProjectStatus.hs b/gen/Amazonka/CodeStar/Types/ProjectStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/Types/ProjectStatus.hs
@@ -0,0 +1,89 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.Types.ProjectStatus
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Amazonka.CodeStar.Types.ProjectStatus where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+-- | An indication of whether a project creation or deletion is failed or
+-- successful.
+--
+-- /See:/ 'newProjectStatus' smart constructor.
+data ProjectStatus = ProjectStatus'
+  { -- | In the case of a project creation or deletion failure, a reason for the
+    -- failure.
+    reason :: Prelude.Maybe Prelude.Text,
+    -- | The phase of completion for a project creation or deletion.
+    state :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ProjectStatus' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'reason', 'projectStatus_reason' - In the case of a project creation or deletion failure, a reason for the
+-- failure.
+--
+-- 'state', 'projectStatus_state' - The phase of completion for a project creation or deletion.
+newProjectStatus ::
+  -- | 'state'
+  Prelude.Text ->
+  ProjectStatus
+newProjectStatus pState_ =
+  ProjectStatus'
+    { reason = Prelude.Nothing,
+      state = pState_
+    }
+
+-- | In the case of a project creation or deletion failure, a reason for the
+-- failure.
+projectStatus_reason :: Lens.Lens' ProjectStatus (Prelude.Maybe Prelude.Text)
+projectStatus_reason = Lens.lens (\ProjectStatus' {reason} -> reason) (\s@ProjectStatus' {} a -> s {reason = a} :: ProjectStatus)
+
+-- | The phase of completion for a project creation or deletion.
+projectStatus_state :: Lens.Lens' ProjectStatus Prelude.Text
+projectStatus_state = Lens.lens (\ProjectStatus' {state} -> state) (\s@ProjectStatus' {} a -> s {state = a} :: ProjectStatus)
+
+instance Data.FromJSON ProjectStatus where
+  parseJSON =
+    Data.withObject
+      "ProjectStatus"
+      ( \x ->
+          ProjectStatus'
+            Prelude.<$> (x Data..:? "reason")
+            Prelude.<*> (x Data..: "state")
+      )
+
+instance Prelude.Hashable ProjectStatus where
+  hashWithSalt _salt ProjectStatus' {..} =
+    _salt
+      `Prelude.hashWithSalt` reason
+      `Prelude.hashWithSalt` state
+
+instance Prelude.NFData ProjectStatus where
+  rnf ProjectStatus' {..} =
+    Prelude.rnf reason `Prelude.seq` Prelude.rnf state
diff --git a/gen/Amazonka/CodeStar/Types/ProjectSummary.hs b/gen/Amazonka/CodeStar/Types/ProjectSummary.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/Types/ProjectSummary.hs
@@ -0,0 +1,84 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.Types.ProjectSummary
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Amazonka.CodeStar.Types.ProjectSummary where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+-- | Information about the metadata for a project.
+--
+-- /See:/ 'newProjectSummary' smart constructor.
+data ProjectSummary = ProjectSummary'
+  { -- | The Amazon Resource Name (ARN) of the project.
+    projectArn :: Prelude.Maybe Prelude.Text,
+    -- | The ID of the project.
+    projectId :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ProjectSummary' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'projectArn', 'projectSummary_projectArn' - The Amazon Resource Name (ARN) of the project.
+--
+-- 'projectId', 'projectSummary_projectId' - The ID of the project.
+newProjectSummary ::
+  ProjectSummary
+newProjectSummary =
+  ProjectSummary'
+    { projectArn = Prelude.Nothing,
+      projectId = Prelude.Nothing
+    }
+
+-- | The Amazon Resource Name (ARN) of the project.
+projectSummary_projectArn :: Lens.Lens' ProjectSummary (Prelude.Maybe Prelude.Text)
+projectSummary_projectArn = Lens.lens (\ProjectSummary' {projectArn} -> projectArn) (\s@ProjectSummary' {} a -> s {projectArn = a} :: ProjectSummary)
+
+-- | The ID of the project.
+projectSummary_projectId :: Lens.Lens' ProjectSummary (Prelude.Maybe Prelude.Text)
+projectSummary_projectId = Lens.lens (\ProjectSummary' {projectId} -> projectId) (\s@ProjectSummary' {} a -> s {projectId = a} :: ProjectSummary)
+
+instance Data.FromJSON ProjectSummary where
+  parseJSON =
+    Data.withObject
+      "ProjectSummary"
+      ( \x ->
+          ProjectSummary'
+            Prelude.<$> (x Data..:? "projectArn")
+            Prelude.<*> (x Data..:? "projectId")
+      )
+
+instance Prelude.Hashable ProjectSummary where
+  hashWithSalt _salt ProjectSummary' {..} =
+    _salt
+      `Prelude.hashWithSalt` projectArn
+      `Prelude.hashWithSalt` projectId
+
+instance Prelude.NFData ProjectSummary where
+  rnf ProjectSummary' {..} =
+    Prelude.rnf projectArn
+      `Prelude.seq` Prelude.rnf projectId
diff --git a/gen/Amazonka/CodeStar/Types/Resource.hs b/gen/Amazonka/CodeStar/Types/Resource.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/Types/Resource.hs
@@ -0,0 +1,66 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.Types.Resource
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Amazonka.CodeStar.Types.Resource where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+-- | Information about a resource for a project.
+--
+-- /See:/ 'newResource' smart constructor.
+data Resource = Resource'
+  { -- | The Amazon Resource Name (ARN) of the resource.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'Resource' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'id', 'resource_id' - The Amazon Resource Name (ARN) of the resource.
+newResource ::
+  -- | 'id'
+  Prelude.Text ->
+  Resource
+newResource pId_ = Resource' {id = pId_}
+
+-- | The Amazon Resource Name (ARN) of the resource.
+resource_id :: Lens.Lens' Resource Prelude.Text
+resource_id = Lens.lens (\Resource' {id} -> id) (\s@Resource' {} a -> s {id = a} :: Resource)
+
+instance Data.FromJSON Resource where
+  parseJSON =
+    Data.withObject
+      "Resource"
+      (\x -> Resource' Prelude.<$> (x Data..: "id"))
+
+instance Prelude.Hashable Resource where
+  hashWithSalt _salt Resource' {..} =
+    _salt `Prelude.hashWithSalt` id
+
+instance Prelude.NFData Resource where
+  rnf Resource' {..} = Prelude.rnf id
diff --git a/gen/Amazonka/CodeStar/Types/S3Location.hs b/gen/Amazonka/CodeStar/Types/S3Location.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/Types/S3Location.hs
@@ -0,0 +1,90 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.Types.S3Location
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Amazonka.CodeStar.Types.S3Location where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+-- | The Amazon S3 location where the source code files provided with the
+-- project request are stored.
+--
+-- /See:/ 'newS3Location' smart constructor.
+data S3Location = S3Location'
+  { -- | The Amazon S3 object key where the source code files provided with the
+    -- project request are stored.
+    bucketKey :: Prelude.Maybe Prelude.Text,
+    -- | The Amazon S3 bucket name where the source code files provided with the
+    -- project request are stored.
+    bucketName :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'S3Location' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'bucketKey', 's3Location_bucketKey' - The Amazon S3 object key where the source code files provided with the
+-- project request are stored.
+--
+-- 'bucketName', 's3Location_bucketName' - The Amazon S3 bucket name where the source code files provided with the
+-- project request are stored.
+newS3Location ::
+  S3Location
+newS3Location =
+  S3Location'
+    { bucketKey = Prelude.Nothing,
+      bucketName = Prelude.Nothing
+    }
+
+-- | The Amazon S3 object key where the source code files provided with the
+-- project request are stored.
+s3Location_bucketKey :: Lens.Lens' S3Location (Prelude.Maybe Prelude.Text)
+s3Location_bucketKey = Lens.lens (\S3Location' {bucketKey} -> bucketKey) (\s@S3Location' {} a -> s {bucketKey = a} :: S3Location)
+
+-- | The Amazon S3 bucket name where the source code files provided with the
+-- project request are stored.
+s3Location_bucketName :: Lens.Lens' S3Location (Prelude.Maybe Prelude.Text)
+s3Location_bucketName = Lens.lens (\S3Location' {bucketName} -> bucketName) (\s@S3Location' {} a -> s {bucketName = a} :: S3Location)
+
+instance Prelude.Hashable S3Location where
+  hashWithSalt _salt S3Location' {..} =
+    _salt
+      `Prelude.hashWithSalt` bucketKey
+      `Prelude.hashWithSalt` bucketName
+
+instance Prelude.NFData S3Location where
+  rnf S3Location' {..} =
+    Prelude.rnf bucketKey
+      `Prelude.seq` Prelude.rnf bucketName
+
+instance Data.ToJSON S3Location where
+  toJSON S3Location' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("bucketKey" Data..=) Prelude.<$> bucketKey,
+            ("bucketName" Data..=) Prelude.<$> bucketName
+          ]
+      )
diff --git a/gen/Amazonka/CodeStar/Types/TeamMember.hs b/gen/Amazonka/CodeStar/Types/TeamMember.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/Types/TeamMember.hs
@@ -0,0 +1,112 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.Types.TeamMember
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Amazonka.CodeStar.Types.TeamMember where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+-- | Information about a team member in a project.
+--
+-- /See:/ 'newTeamMember' smart constructor.
+data TeamMember = TeamMember'
+  { -- | Whether the user is allowed to remotely access project resources using
+    -- an SSH public\/private key pair.
+    remoteAccessAllowed :: Prelude.Maybe Prelude.Bool,
+    -- | The Amazon Resource Name (ARN) of the user in IAM.
+    userArn :: Prelude.Text,
+    -- | The role assigned to the user in the project. Project roles have
+    -- different levels of access. For more information, see
+    -- <http://docs.aws.amazon.com/codestar/latest/userguide/working-with-teams.html Working with Teams>
+    -- in the /AWS CodeStar User Guide/.
+    projectRole :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'TeamMember' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'remoteAccessAllowed', 'teamMember_remoteAccessAllowed' - Whether the user is allowed to remotely access project resources using
+-- an SSH public\/private key pair.
+--
+-- 'userArn', 'teamMember_userArn' - The Amazon Resource Name (ARN) of the user in IAM.
+--
+-- 'projectRole', 'teamMember_projectRole' - The role assigned to the user in the project. Project roles have
+-- different levels of access. For more information, see
+-- <http://docs.aws.amazon.com/codestar/latest/userguide/working-with-teams.html Working with Teams>
+-- in the /AWS CodeStar User Guide/.
+newTeamMember ::
+  -- | 'userArn'
+  Prelude.Text ->
+  -- | 'projectRole'
+  Prelude.Text ->
+  TeamMember
+newTeamMember pUserArn_ pProjectRole_ =
+  TeamMember'
+    { remoteAccessAllowed = Prelude.Nothing,
+      userArn = pUserArn_,
+      projectRole = pProjectRole_
+    }
+
+-- | Whether the user is allowed to remotely access project resources using
+-- an SSH public\/private key pair.
+teamMember_remoteAccessAllowed :: Lens.Lens' TeamMember (Prelude.Maybe Prelude.Bool)
+teamMember_remoteAccessAllowed = Lens.lens (\TeamMember' {remoteAccessAllowed} -> remoteAccessAllowed) (\s@TeamMember' {} a -> s {remoteAccessAllowed = a} :: TeamMember)
+
+-- | The Amazon Resource Name (ARN) of the user in IAM.
+teamMember_userArn :: Lens.Lens' TeamMember Prelude.Text
+teamMember_userArn = Lens.lens (\TeamMember' {userArn} -> userArn) (\s@TeamMember' {} a -> s {userArn = a} :: TeamMember)
+
+-- | The role assigned to the user in the project. Project roles have
+-- different levels of access. For more information, see
+-- <http://docs.aws.amazon.com/codestar/latest/userguide/working-with-teams.html Working with Teams>
+-- in the /AWS CodeStar User Guide/.
+teamMember_projectRole :: Lens.Lens' TeamMember Prelude.Text
+teamMember_projectRole = Lens.lens (\TeamMember' {projectRole} -> projectRole) (\s@TeamMember' {} a -> s {projectRole = a} :: TeamMember)
+
+instance Data.FromJSON TeamMember where
+  parseJSON =
+    Data.withObject
+      "TeamMember"
+      ( \x ->
+          TeamMember'
+            Prelude.<$> (x Data..:? "remoteAccessAllowed")
+            Prelude.<*> (x Data..: "userArn")
+            Prelude.<*> (x Data..: "projectRole")
+      )
+
+instance Prelude.Hashable TeamMember where
+  hashWithSalt _salt TeamMember' {..} =
+    _salt
+      `Prelude.hashWithSalt` remoteAccessAllowed
+      `Prelude.hashWithSalt` userArn
+      `Prelude.hashWithSalt` projectRole
+
+instance Prelude.NFData TeamMember where
+  rnf TeamMember' {..} =
+    Prelude.rnf remoteAccessAllowed
+      `Prelude.seq` Prelude.rnf userArn
+      `Prelude.seq` Prelude.rnf projectRole
diff --git a/gen/Amazonka/CodeStar/Types/Toolchain.hs b/gen/Amazonka/CodeStar/Types/Toolchain.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/Types/Toolchain.hs
@@ -0,0 +1,113 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.Types.Toolchain
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Amazonka.CodeStar.Types.Toolchain where
+
+import Amazonka.CodeStar.Types.ToolchainSource
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+-- | The toolchain template file provided with the project request. AWS
+-- CodeStar uses the template to provision the toolchain stack in AWS
+-- CloudFormation.
+--
+-- /See:/ 'newToolchain' smart constructor.
+data Toolchain = Toolchain'
+  { -- | The service role ARN for AWS CodeStar to use for the toolchain template
+    -- during stack provisioning.
+    roleArn :: Prelude.Maybe Prelude.Text,
+    -- | The list of parameter overrides to be passed into the toolchain template
+    -- during stack provisioning, if any.
+    stackParameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text)),
+    -- | The Amazon S3 location where the toolchain template file provided with
+    -- the project request is stored. AWS CodeStar retrieves the file during
+    -- project creation.
+    source :: ToolchainSource
+  }
+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'Toolchain' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'roleArn', 'toolchain_roleArn' - The service role ARN for AWS CodeStar to use for the toolchain template
+-- during stack provisioning.
+--
+-- 'stackParameters', 'toolchain_stackParameters' - The list of parameter overrides to be passed into the toolchain template
+-- during stack provisioning, if any.
+--
+-- 'source', 'toolchain_source' - The Amazon S3 location where the toolchain template file provided with
+-- the project request is stored. AWS CodeStar retrieves the file during
+-- project creation.
+newToolchain ::
+  -- | 'source'
+  ToolchainSource ->
+  Toolchain
+newToolchain pSource_ =
+  Toolchain'
+    { roleArn = Prelude.Nothing,
+      stackParameters = Prelude.Nothing,
+      source = pSource_
+    }
+
+-- | The service role ARN for AWS CodeStar to use for the toolchain template
+-- during stack provisioning.
+toolchain_roleArn :: Lens.Lens' Toolchain (Prelude.Maybe Prelude.Text)
+toolchain_roleArn = Lens.lens (\Toolchain' {roleArn} -> roleArn) (\s@Toolchain' {} a -> s {roleArn = a} :: Toolchain)
+
+-- | The list of parameter overrides to be passed into the toolchain template
+-- during stack provisioning, if any.
+toolchain_stackParameters :: Lens.Lens' Toolchain (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+toolchain_stackParameters = Lens.lens (\Toolchain' {stackParameters} -> stackParameters) (\s@Toolchain' {} a -> s {stackParameters = a} :: Toolchain) Prelude.. Lens.mapping Lens.coerced
+
+-- | The Amazon S3 location where the toolchain template file provided with
+-- the project request is stored. AWS CodeStar retrieves the file during
+-- project creation.
+toolchain_source :: Lens.Lens' Toolchain ToolchainSource
+toolchain_source = Lens.lens (\Toolchain' {source} -> source) (\s@Toolchain' {} a -> s {source = a} :: Toolchain)
+
+instance Prelude.Hashable Toolchain where
+  hashWithSalt _salt Toolchain' {..} =
+    _salt
+      `Prelude.hashWithSalt` roleArn
+      `Prelude.hashWithSalt` stackParameters
+      `Prelude.hashWithSalt` source
+
+instance Prelude.NFData Toolchain where
+  rnf Toolchain' {..} =
+    Prelude.rnf roleArn
+      `Prelude.seq` Prelude.rnf stackParameters
+      `Prelude.seq` Prelude.rnf source
+
+instance Data.ToJSON Toolchain where
+  toJSON Toolchain' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("roleArn" Data..=) Prelude.<$> roleArn,
+            ("stackParameters" Data..=)
+              Prelude.<$> stackParameters,
+            Prelude.Just ("source" Data..= source)
+          ]
+      )
diff --git a/gen/Amazonka/CodeStar/Types/ToolchainSource.hs b/gen/Amazonka/CodeStar/Types/ToolchainSource.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/Types/ToolchainSource.hs
@@ -0,0 +1,71 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.Types.ToolchainSource
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Amazonka.CodeStar.Types.ToolchainSource where
+
+import Amazonka.CodeStar.Types.S3Location
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+-- | The Amazon S3 location where the toolchain template file provided with
+-- the project request is stored. AWS CodeStar retrieves the file during
+-- project creation.
+--
+-- /See:/ 'newToolchainSource' smart constructor.
+data ToolchainSource = ToolchainSource'
+  { -- | The Amazon S3 bucket where the toolchain template file provided with the
+    -- project request is stored.
+    s3 :: S3Location
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ToolchainSource' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 's3', 'toolchainSource_s3' - The Amazon S3 bucket where the toolchain template file provided with the
+-- project request is stored.
+newToolchainSource ::
+  -- | 's3'
+  S3Location ->
+  ToolchainSource
+newToolchainSource pS3_ = ToolchainSource' {s3 = pS3_}
+
+-- | The Amazon S3 bucket where the toolchain template file provided with the
+-- project request is stored.
+toolchainSource_s3 :: Lens.Lens' ToolchainSource S3Location
+toolchainSource_s3 = Lens.lens (\ToolchainSource' {s3} -> s3) (\s@ToolchainSource' {} a -> s {s3 = a} :: ToolchainSource)
+
+instance Prelude.Hashable ToolchainSource where
+  hashWithSalt _salt ToolchainSource' {..} =
+    _salt `Prelude.hashWithSalt` s3
+
+instance Prelude.NFData ToolchainSource where
+  rnf ToolchainSource' {..} = Prelude.rnf s3
+
+instance Data.ToJSON ToolchainSource where
+  toJSON ToolchainSource' {..} =
+    Data.object
+      (Prelude.catMaybes [Prelude.Just ("s3" Data..= s3)])
diff --git a/gen/Amazonka/CodeStar/Types/UserProfileSummary.hs b/gen/Amazonka/CodeStar/Types/UserProfileSummary.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/Types/UserProfileSummary.hs
@@ -0,0 +1,144 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.Types.UserProfileSummary
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Amazonka.CodeStar.Types.UserProfileSummary where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+-- | Information about a user\'s profile in AWS CodeStar.
+--
+-- /See:/ 'newUserProfileSummary' smart constructor.
+data UserProfileSummary = UserProfileSummary'
+  { -- | The display name of a user in AWS CodeStar. For example, this could be
+    -- set to both first and last name (\"Mary Major\") or a single name
+    -- (\"Mary\"). The display name is also used to generate the initial icon
+    -- associated with the user in AWS CodeStar projects. If spaces are
+    -- included in the display name, the first character that appears after the
+    -- space will be used as the second character in the user initial icon. The
+    -- initial icon displays a maximum of two characters, so a display name
+    -- with more than one space (for example \"Mary Jane Major\") would
+    -- generate an initial icon using the first character and the first
+    -- character after the space (\"MJ\", not \"MM\").
+    displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),
+    -- | The email address associated with the user.
+    emailAddress :: Prelude.Maybe (Data.Sensitive Prelude.Text),
+    -- | The SSH public key associated with the user in AWS CodeStar. If a
+    -- project owner allows the user remote access to project resources, this
+    -- public key will be used along with the user\'s private key for SSH
+    -- access.
+    sshPublicKey :: Prelude.Maybe Prelude.Text,
+    -- | The Amazon Resource Name (ARN) of the user in IAM.
+    userArn :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UserProfileSummary' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'displayName', 'userProfileSummary_displayName' - The display name of a user in AWS CodeStar. For example, this could be
+-- set to both first and last name (\"Mary Major\") or a single name
+-- (\"Mary\"). The display name is also used to generate the initial icon
+-- associated with the user in AWS CodeStar projects. If spaces are
+-- included in the display name, the first character that appears after the
+-- space will be used as the second character in the user initial icon. The
+-- initial icon displays a maximum of two characters, so a display name
+-- with more than one space (for example \"Mary Jane Major\") would
+-- generate an initial icon using the first character and the first
+-- character after the space (\"MJ\", not \"MM\").
+--
+-- 'emailAddress', 'userProfileSummary_emailAddress' - The email address associated with the user.
+--
+-- 'sshPublicKey', 'userProfileSummary_sshPublicKey' - The SSH public key associated with the user in AWS CodeStar. If a
+-- project owner allows the user remote access to project resources, this
+-- public key will be used along with the user\'s private key for SSH
+-- access.
+--
+-- 'userArn', 'userProfileSummary_userArn' - The Amazon Resource Name (ARN) of the user in IAM.
+newUserProfileSummary ::
+  UserProfileSummary
+newUserProfileSummary =
+  UserProfileSummary'
+    { displayName = Prelude.Nothing,
+      emailAddress = Prelude.Nothing,
+      sshPublicKey = Prelude.Nothing,
+      userArn = Prelude.Nothing
+    }
+
+-- | The display name of a user in AWS CodeStar. For example, this could be
+-- set to both first and last name (\"Mary Major\") or a single name
+-- (\"Mary\"). The display name is also used to generate the initial icon
+-- associated with the user in AWS CodeStar projects. If spaces are
+-- included in the display name, the first character that appears after the
+-- space will be used as the second character in the user initial icon. The
+-- initial icon displays a maximum of two characters, so a display name
+-- with more than one space (for example \"Mary Jane Major\") would
+-- generate an initial icon using the first character and the first
+-- character after the space (\"MJ\", not \"MM\").
+userProfileSummary_displayName :: Lens.Lens' UserProfileSummary (Prelude.Maybe Prelude.Text)
+userProfileSummary_displayName = Lens.lens (\UserProfileSummary' {displayName} -> displayName) (\s@UserProfileSummary' {} a -> s {displayName = a} :: UserProfileSummary) Prelude.. Lens.mapping Data._Sensitive
+
+-- | The email address associated with the user.
+userProfileSummary_emailAddress :: Lens.Lens' UserProfileSummary (Prelude.Maybe Prelude.Text)
+userProfileSummary_emailAddress = Lens.lens (\UserProfileSummary' {emailAddress} -> emailAddress) (\s@UserProfileSummary' {} a -> s {emailAddress = a} :: UserProfileSummary) Prelude.. Lens.mapping Data._Sensitive
+
+-- | The SSH public key associated with the user in AWS CodeStar. If a
+-- project owner allows the user remote access to project resources, this
+-- public key will be used along with the user\'s private key for SSH
+-- access.
+userProfileSummary_sshPublicKey :: Lens.Lens' UserProfileSummary (Prelude.Maybe Prelude.Text)
+userProfileSummary_sshPublicKey = Lens.lens (\UserProfileSummary' {sshPublicKey} -> sshPublicKey) (\s@UserProfileSummary' {} a -> s {sshPublicKey = a} :: UserProfileSummary)
+
+-- | The Amazon Resource Name (ARN) of the user in IAM.
+userProfileSummary_userArn :: Lens.Lens' UserProfileSummary (Prelude.Maybe Prelude.Text)
+userProfileSummary_userArn = Lens.lens (\UserProfileSummary' {userArn} -> userArn) (\s@UserProfileSummary' {} a -> s {userArn = a} :: UserProfileSummary)
+
+instance Data.FromJSON UserProfileSummary where
+  parseJSON =
+    Data.withObject
+      "UserProfileSummary"
+      ( \x ->
+          UserProfileSummary'
+            Prelude.<$> (x Data..:? "displayName")
+            Prelude.<*> (x Data..:? "emailAddress")
+            Prelude.<*> (x Data..:? "sshPublicKey")
+            Prelude.<*> (x Data..:? "userArn")
+      )
+
+instance Prelude.Hashable UserProfileSummary where
+  hashWithSalt _salt UserProfileSummary' {..} =
+    _salt
+      `Prelude.hashWithSalt` displayName
+      `Prelude.hashWithSalt` emailAddress
+      `Prelude.hashWithSalt` sshPublicKey
+      `Prelude.hashWithSalt` userArn
+
+instance Prelude.NFData UserProfileSummary where
+  rnf UserProfileSummary' {..} =
+    Prelude.rnf displayName
+      `Prelude.seq` Prelude.rnf emailAddress
+      `Prelude.seq` Prelude.rnf sshPublicKey
+      `Prelude.seq` Prelude.rnf userArn
diff --git a/gen/Amazonka/CodeStar/UntagProject.hs b/gen/Amazonka/CodeStar/UntagProject.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/UntagProject.hs
@@ -0,0 +1,165 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.UntagProject
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Removes tags from a project.
+module Amazonka.CodeStar.UntagProject
+  ( -- * Creating a Request
+    UntagProject (..),
+    newUntagProject,
+
+    -- * Request Lenses
+    untagProject_id,
+    untagProject_tags,
+
+    -- * Destructuring the Response
+    UntagProjectResponse (..),
+    newUntagProjectResponse,
+
+    -- * Response Lenses
+    untagProjectResponse_httpStatus,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newUntagProject' smart constructor.
+data UntagProject = UntagProject'
+  { -- | The ID of the project to remove tags from.
+    id :: Prelude.Text,
+    -- | The tags to remove from the project.
+    tags :: [Prelude.Text]
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UntagProject' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'id', 'untagProject_id' - The ID of the project to remove tags from.
+--
+-- 'tags', 'untagProject_tags' - The tags to remove from the project.
+newUntagProject ::
+  -- | 'id'
+  Prelude.Text ->
+  UntagProject
+newUntagProject pId_ =
+  UntagProject' {id = pId_, tags = Prelude.mempty}
+
+-- | The ID of the project to remove tags from.
+untagProject_id :: Lens.Lens' UntagProject Prelude.Text
+untagProject_id = Lens.lens (\UntagProject' {id} -> id) (\s@UntagProject' {} a -> s {id = a} :: UntagProject)
+
+-- | The tags to remove from the project.
+untagProject_tags :: Lens.Lens' UntagProject [Prelude.Text]
+untagProject_tags = Lens.lens (\UntagProject' {tags} -> tags) (\s@UntagProject' {} a -> s {tags = a} :: UntagProject) Prelude.. Lens.coerced
+
+instance Core.AWSRequest UntagProject where
+  type AWSResponse UntagProject = UntagProjectResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveEmpty
+      ( \s h x ->
+          UntagProjectResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable UntagProject where
+  hashWithSalt _salt UntagProject' {..} =
+    _salt
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` tags
+
+instance Prelude.NFData UntagProject where
+  rnf UntagProject' {..} =
+    Prelude.rnf id `Prelude.seq` Prelude.rnf tags
+
+instance Data.ToHeaders UntagProject where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.UntagProject" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON UntagProject where
+  toJSON UntagProject' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ Prelude.Just ("id" Data..= id),
+            Prelude.Just ("tags" Data..= tags)
+          ]
+      )
+
+instance Data.ToPath UntagProject where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery UntagProject where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newUntagProjectResponse' smart constructor.
+data UntagProjectResponse = UntagProjectResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UntagProjectResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'httpStatus', 'untagProjectResponse_httpStatus' - The response's http status code.
+newUntagProjectResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  UntagProjectResponse
+newUntagProjectResponse pHttpStatus_ =
+  UntagProjectResponse' {httpStatus = pHttpStatus_}
+
+-- | The response's http status code.
+untagProjectResponse_httpStatus :: Lens.Lens' UntagProjectResponse Prelude.Int
+untagProjectResponse_httpStatus = Lens.lens (\UntagProjectResponse' {httpStatus} -> httpStatus) (\s@UntagProjectResponse' {} a -> s {httpStatus = a} :: UntagProjectResponse)
+
+instance Prelude.NFData UntagProjectResponse where
+  rnf UntagProjectResponse' {..} =
+    Prelude.rnf httpStatus
diff --git a/gen/Amazonka/CodeStar/UpdateProject.hs b/gen/Amazonka/CodeStar/UpdateProject.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/UpdateProject.hs
@@ -0,0 +1,184 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.UpdateProject
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Updates a project in AWS CodeStar.
+module Amazonka.CodeStar.UpdateProject
+  ( -- * Creating a Request
+    UpdateProject (..),
+    newUpdateProject,
+
+    -- * Request Lenses
+    updateProject_description,
+    updateProject_name,
+    updateProject_id,
+
+    -- * Destructuring the Response
+    UpdateProjectResponse (..),
+    newUpdateProjectResponse,
+
+    -- * Response Lenses
+    updateProjectResponse_httpStatus,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newUpdateProject' smart constructor.
+data UpdateProject = UpdateProject'
+  { -- | The description of the project, if any.
+    description :: Prelude.Maybe (Data.Sensitive Prelude.Text),
+    -- | The name of the project you want to update.
+    name :: Prelude.Maybe (Data.Sensitive Prelude.Text),
+    -- | The ID of the project you want to update.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UpdateProject' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'description', 'updateProject_description' - The description of the project, if any.
+--
+-- 'name', 'updateProject_name' - The name of the project you want to update.
+--
+-- 'id', 'updateProject_id' - The ID of the project you want to update.
+newUpdateProject ::
+  -- | 'id'
+  Prelude.Text ->
+  UpdateProject
+newUpdateProject pId_ =
+  UpdateProject'
+    { description = Prelude.Nothing,
+      name = Prelude.Nothing,
+      id = pId_
+    }
+
+-- | The description of the project, if any.
+updateProject_description :: Lens.Lens' UpdateProject (Prelude.Maybe Prelude.Text)
+updateProject_description = Lens.lens (\UpdateProject' {description} -> description) (\s@UpdateProject' {} a -> s {description = a} :: UpdateProject) Prelude.. Lens.mapping Data._Sensitive
+
+-- | The name of the project you want to update.
+updateProject_name :: Lens.Lens' UpdateProject (Prelude.Maybe Prelude.Text)
+updateProject_name = Lens.lens (\UpdateProject' {name} -> name) (\s@UpdateProject' {} a -> s {name = a} :: UpdateProject) Prelude.. Lens.mapping Data._Sensitive
+
+-- | The ID of the project you want to update.
+updateProject_id :: Lens.Lens' UpdateProject Prelude.Text
+updateProject_id = Lens.lens (\UpdateProject' {id} -> id) (\s@UpdateProject' {} a -> s {id = a} :: UpdateProject)
+
+instance Core.AWSRequest UpdateProject where
+  type
+    AWSResponse UpdateProject =
+      UpdateProjectResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveEmpty
+      ( \s h x ->
+          UpdateProjectResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable UpdateProject where
+  hashWithSalt _salt UpdateProject' {..} =
+    _salt
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` id
+
+instance Prelude.NFData UpdateProject where
+  rnf UpdateProject' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf id
+
+instance Data.ToHeaders UpdateProject where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.UpdateProject" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON UpdateProject where
+  toJSON UpdateProject' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("description" Data..=) Prelude.<$> description,
+            ("name" Data..=) Prelude.<$> name,
+            Prelude.Just ("id" Data..= id)
+          ]
+      )
+
+instance Data.ToPath UpdateProject where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery UpdateProject where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newUpdateProjectResponse' smart constructor.
+data UpdateProjectResponse = UpdateProjectResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UpdateProjectResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'httpStatus', 'updateProjectResponse_httpStatus' - The response's http status code.
+newUpdateProjectResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  UpdateProjectResponse
+newUpdateProjectResponse pHttpStatus_ =
+  UpdateProjectResponse' {httpStatus = pHttpStatus_}
+
+-- | The response's http status code.
+updateProjectResponse_httpStatus :: Lens.Lens' UpdateProjectResponse Prelude.Int
+updateProjectResponse_httpStatus = Lens.lens (\UpdateProjectResponse' {httpStatus} -> httpStatus) (\s@UpdateProjectResponse' {} a -> s {httpStatus = a} :: UpdateProjectResponse)
+
+instance Prelude.NFData UpdateProjectResponse where
+  rnf UpdateProjectResponse' {..} =
+    Prelude.rnf httpStatus
diff --git a/gen/Amazonka/CodeStar/UpdateTeamMember.hs b/gen/Amazonka/CodeStar/UpdateTeamMember.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/UpdateTeamMember.hs
@@ -0,0 +1,268 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.UpdateTeamMember
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Updates a team member\'s attributes in an AWS CodeStar project. For
+-- example, you can change a team member\'s role in the project, or change
+-- whether they have remote access to project resources.
+module Amazonka.CodeStar.UpdateTeamMember
+  ( -- * Creating a Request
+    UpdateTeamMember (..),
+    newUpdateTeamMember,
+
+    -- * Request Lenses
+    updateTeamMember_projectRole,
+    updateTeamMember_remoteAccessAllowed,
+    updateTeamMember_projectId,
+    updateTeamMember_userArn,
+
+    -- * Destructuring the Response
+    UpdateTeamMemberResponse (..),
+    newUpdateTeamMemberResponse,
+
+    -- * Response Lenses
+    updateTeamMemberResponse_projectRole,
+    updateTeamMemberResponse_remoteAccessAllowed,
+    updateTeamMemberResponse_userArn,
+    updateTeamMemberResponse_httpStatus,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newUpdateTeamMember' smart constructor.
+data UpdateTeamMember = UpdateTeamMember'
+  { -- | The role assigned to the user in the project. Project roles have
+    -- different levels of access. For more information, see
+    -- <http://docs.aws.amazon.com/codestar/latest/userguide/working-with-teams.html Working with Teams>
+    -- in the /AWS CodeStar User Guide/.
+    projectRole :: Prelude.Maybe Prelude.Text,
+    -- | Whether a team member is allowed to remotely access project resources
+    -- using the SSH public key associated with the user\'s profile. Even if
+    -- this is set to True, the user must associate a public key with their
+    -- profile before the user can access resources.
+    remoteAccessAllowed :: Prelude.Maybe Prelude.Bool,
+    -- | The ID of the project.
+    projectId :: Prelude.Text,
+    -- | The Amazon Resource Name (ARN) of the user for whom you want to change
+    -- team membership attributes.
+    userArn :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UpdateTeamMember' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'projectRole', 'updateTeamMember_projectRole' - The role assigned to the user in the project. Project roles have
+-- different levels of access. For more information, see
+-- <http://docs.aws.amazon.com/codestar/latest/userguide/working-with-teams.html Working with Teams>
+-- in the /AWS CodeStar User Guide/.
+--
+-- 'remoteAccessAllowed', 'updateTeamMember_remoteAccessAllowed' - Whether a team member is allowed to remotely access project resources
+-- using the SSH public key associated with the user\'s profile. Even if
+-- this is set to True, the user must associate a public key with their
+-- profile before the user can access resources.
+--
+-- 'projectId', 'updateTeamMember_projectId' - The ID of the project.
+--
+-- 'userArn', 'updateTeamMember_userArn' - The Amazon Resource Name (ARN) of the user for whom you want to change
+-- team membership attributes.
+newUpdateTeamMember ::
+  -- | 'projectId'
+  Prelude.Text ->
+  -- | 'userArn'
+  Prelude.Text ->
+  UpdateTeamMember
+newUpdateTeamMember pProjectId_ pUserArn_ =
+  UpdateTeamMember'
+    { projectRole = Prelude.Nothing,
+      remoteAccessAllowed = Prelude.Nothing,
+      projectId = pProjectId_,
+      userArn = pUserArn_
+    }
+
+-- | The role assigned to the user in the project. Project roles have
+-- different levels of access. For more information, see
+-- <http://docs.aws.amazon.com/codestar/latest/userguide/working-with-teams.html Working with Teams>
+-- in the /AWS CodeStar User Guide/.
+updateTeamMember_projectRole :: Lens.Lens' UpdateTeamMember (Prelude.Maybe Prelude.Text)
+updateTeamMember_projectRole = Lens.lens (\UpdateTeamMember' {projectRole} -> projectRole) (\s@UpdateTeamMember' {} a -> s {projectRole = a} :: UpdateTeamMember)
+
+-- | Whether a team member is allowed to remotely access project resources
+-- using the SSH public key associated with the user\'s profile. Even if
+-- this is set to True, the user must associate a public key with their
+-- profile before the user can access resources.
+updateTeamMember_remoteAccessAllowed :: Lens.Lens' UpdateTeamMember (Prelude.Maybe Prelude.Bool)
+updateTeamMember_remoteAccessAllowed = Lens.lens (\UpdateTeamMember' {remoteAccessAllowed} -> remoteAccessAllowed) (\s@UpdateTeamMember' {} a -> s {remoteAccessAllowed = a} :: UpdateTeamMember)
+
+-- | The ID of the project.
+updateTeamMember_projectId :: Lens.Lens' UpdateTeamMember Prelude.Text
+updateTeamMember_projectId = Lens.lens (\UpdateTeamMember' {projectId} -> projectId) (\s@UpdateTeamMember' {} a -> s {projectId = a} :: UpdateTeamMember)
+
+-- | The Amazon Resource Name (ARN) of the user for whom you want to change
+-- team membership attributes.
+updateTeamMember_userArn :: Lens.Lens' UpdateTeamMember Prelude.Text
+updateTeamMember_userArn = Lens.lens (\UpdateTeamMember' {userArn} -> userArn) (\s@UpdateTeamMember' {} a -> s {userArn = a} :: UpdateTeamMember)
+
+instance Core.AWSRequest UpdateTeamMember where
+  type
+    AWSResponse UpdateTeamMember =
+      UpdateTeamMemberResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          UpdateTeamMemberResponse'
+            Prelude.<$> (x Data..?> "projectRole")
+            Prelude.<*> (x Data..?> "remoteAccessAllowed")
+            Prelude.<*> (x Data..?> "userArn")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable UpdateTeamMember where
+  hashWithSalt _salt UpdateTeamMember' {..} =
+    _salt
+      `Prelude.hashWithSalt` projectRole
+      `Prelude.hashWithSalt` remoteAccessAllowed
+      `Prelude.hashWithSalt` projectId
+      `Prelude.hashWithSalt` userArn
+
+instance Prelude.NFData UpdateTeamMember where
+  rnf UpdateTeamMember' {..} =
+    Prelude.rnf projectRole
+      `Prelude.seq` Prelude.rnf remoteAccessAllowed
+      `Prelude.seq` Prelude.rnf projectId
+      `Prelude.seq` Prelude.rnf userArn
+
+instance Data.ToHeaders UpdateTeamMember where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.UpdateTeamMember" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON UpdateTeamMember where
+  toJSON UpdateTeamMember' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("projectRole" Data..=) Prelude.<$> projectRole,
+            ("remoteAccessAllowed" Data..=)
+              Prelude.<$> remoteAccessAllowed,
+            Prelude.Just ("projectId" Data..= projectId),
+            Prelude.Just ("userArn" Data..= userArn)
+          ]
+      )
+
+instance Data.ToPath UpdateTeamMember where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery UpdateTeamMember where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newUpdateTeamMemberResponse' smart constructor.
+data UpdateTeamMemberResponse = UpdateTeamMemberResponse'
+  { -- | The project role granted to the user.
+    projectRole :: Prelude.Maybe Prelude.Text,
+    -- | Whether a team member is allowed to remotely access project resources
+    -- using the SSH public key associated with the user\'s profile.
+    remoteAccessAllowed :: Prelude.Maybe Prelude.Bool,
+    -- | The Amazon Resource Name (ARN) of the user whose team membership
+    -- attributes were updated.
+    userArn :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UpdateTeamMemberResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'projectRole', 'updateTeamMemberResponse_projectRole' - The project role granted to the user.
+--
+-- 'remoteAccessAllowed', 'updateTeamMemberResponse_remoteAccessAllowed' - Whether a team member is allowed to remotely access project resources
+-- using the SSH public key associated with the user\'s profile.
+--
+-- 'userArn', 'updateTeamMemberResponse_userArn' - The Amazon Resource Name (ARN) of the user whose team membership
+-- attributes were updated.
+--
+-- 'httpStatus', 'updateTeamMemberResponse_httpStatus' - The response's http status code.
+newUpdateTeamMemberResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  UpdateTeamMemberResponse
+newUpdateTeamMemberResponse pHttpStatus_ =
+  UpdateTeamMemberResponse'
+    { projectRole =
+        Prelude.Nothing,
+      remoteAccessAllowed = Prelude.Nothing,
+      userArn = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | The project role granted to the user.
+updateTeamMemberResponse_projectRole :: Lens.Lens' UpdateTeamMemberResponse (Prelude.Maybe Prelude.Text)
+updateTeamMemberResponse_projectRole = Lens.lens (\UpdateTeamMemberResponse' {projectRole} -> projectRole) (\s@UpdateTeamMemberResponse' {} a -> s {projectRole = a} :: UpdateTeamMemberResponse)
+
+-- | Whether a team member is allowed to remotely access project resources
+-- using the SSH public key associated with the user\'s profile.
+updateTeamMemberResponse_remoteAccessAllowed :: Lens.Lens' UpdateTeamMemberResponse (Prelude.Maybe Prelude.Bool)
+updateTeamMemberResponse_remoteAccessAllowed = Lens.lens (\UpdateTeamMemberResponse' {remoteAccessAllowed} -> remoteAccessAllowed) (\s@UpdateTeamMemberResponse' {} a -> s {remoteAccessAllowed = a} :: UpdateTeamMemberResponse)
+
+-- | The Amazon Resource Name (ARN) of the user whose team membership
+-- attributes were updated.
+updateTeamMemberResponse_userArn :: Lens.Lens' UpdateTeamMemberResponse (Prelude.Maybe Prelude.Text)
+updateTeamMemberResponse_userArn = Lens.lens (\UpdateTeamMemberResponse' {userArn} -> userArn) (\s@UpdateTeamMemberResponse' {} a -> s {userArn = a} :: UpdateTeamMemberResponse)
+
+-- | The response's http status code.
+updateTeamMemberResponse_httpStatus :: Lens.Lens' UpdateTeamMemberResponse Prelude.Int
+updateTeamMemberResponse_httpStatus = Lens.lens (\UpdateTeamMemberResponse' {httpStatus} -> httpStatus) (\s@UpdateTeamMemberResponse' {} a -> s {httpStatus = a} :: UpdateTeamMemberResponse)
+
+instance Prelude.NFData UpdateTeamMemberResponse where
+  rnf UpdateTeamMemberResponse' {..} =
+    Prelude.rnf projectRole
+      `Prelude.seq` Prelude.rnf remoteAccessAllowed
+      `Prelude.seq` Prelude.rnf userArn
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/CodeStar/UpdateUserProfile.hs b/gen/Amazonka/CodeStar/UpdateUserProfile.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/UpdateUserProfile.hs
@@ -0,0 +1,309 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE NamedFieldPuns #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.UpdateUserProfile
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Updates a user\'s profile in AWS CodeStar. The user profile is not
+-- project-specific. Information in the user profile is displayed wherever
+-- the user\'s information appears to other users in AWS CodeStar.
+module Amazonka.CodeStar.UpdateUserProfile
+  ( -- * Creating a Request
+    UpdateUserProfile (..),
+    newUpdateUserProfile,
+
+    -- * Request Lenses
+    updateUserProfile_displayName,
+    updateUserProfile_emailAddress,
+    updateUserProfile_sshPublicKey,
+    updateUserProfile_userArn,
+
+    -- * Destructuring the Response
+    UpdateUserProfileResponse (..),
+    newUpdateUserProfileResponse,
+
+    -- * Response Lenses
+    updateUserProfileResponse_createdTimestamp,
+    updateUserProfileResponse_displayName,
+    updateUserProfileResponse_emailAddress,
+    updateUserProfileResponse_lastModifiedTimestamp,
+    updateUserProfileResponse_sshPublicKey,
+    updateUserProfileResponse_httpStatus,
+    updateUserProfileResponse_userArn,
+  )
+where
+
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newUpdateUserProfile' smart constructor.
+data UpdateUserProfile = UpdateUserProfile'
+  { -- | The name that is displayed as the friendly name for the user in AWS
+    -- CodeStar.
+    displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),
+    -- | The email address that is displayed as part of the user\'s profile in
+    -- AWS CodeStar.
+    emailAddress :: Prelude.Maybe (Data.Sensitive Prelude.Text),
+    -- | The SSH public key associated with the user in AWS CodeStar. If a
+    -- project owner allows the user remote access to project resources, this
+    -- public key will be used along with the user\'s private key for SSH
+    -- access.
+    sshPublicKey :: Prelude.Maybe Prelude.Text,
+    -- | The name that will be displayed as the friendly name for the user in AWS
+    -- CodeStar.
+    userArn :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UpdateUserProfile' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'displayName', 'updateUserProfile_displayName' - The name that is displayed as the friendly name for the user in AWS
+-- CodeStar.
+--
+-- 'emailAddress', 'updateUserProfile_emailAddress' - The email address that is displayed as part of the user\'s profile in
+-- AWS CodeStar.
+--
+-- 'sshPublicKey', 'updateUserProfile_sshPublicKey' - The SSH public key associated with the user in AWS CodeStar. If a
+-- project owner allows the user remote access to project resources, this
+-- public key will be used along with the user\'s private key for SSH
+-- access.
+--
+-- 'userArn', 'updateUserProfile_userArn' - The name that will be displayed as the friendly name for the user in AWS
+-- CodeStar.
+newUpdateUserProfile ::
+  -- | 'userArn'
+  Prelude.Text ->
+  UpdateUserProfile
+newUpdateUserProfile pUserArn_ =
+  UpdateUserProfile'
+    { displayName = Prelude.Nothing,
+      emailAddress = Prelude.Nothing,
+      sshPublicKey = Prelude.Nothing,
+      userArn = pUserArn_
+    }
+
+-- | The name that is displayed as the friendly name for the user in AWS
+-- CodeStar.
+updateUserProfile_displayName :: Lens.Lens' UpdateUserProfile (Prelude.Maybe Prelude.Text)
+updateUserProfile_displayName = Lens.lens (\UpdateUserProfile' {displayName} -> displayName) (\s@UpdateUserProfile' {} a -> s {displayName = a} :: UpdateUserProfile) Prelude.. Lens.mapping Data._Sensitive
+
+-- | The email address that is displayed as part of the user\'s profile in
+-- AWS CodeStar.
+updateUserProfile_emailAddress :: Lens.Lens' UpdateUserProfile (Prelude.Maybe Prelude.Text)
+updateUserProfile_emailAddress = Lens.lens (\UpdateUserProfile' {emailAddress} -> emailAddress) (\s@UpdateUserProfile' {} a -> s {emailAddress = a} :: UpdateUserProfile) Prelude.. Lens.mapping Data._Sensitive
+
+-- | The SSH public key associated with the user in AWS CodeStar. If a
+-- project owner allows the user remote access to project resources, this
+-- public key will be used along with the user\'s private key for SSH
+-- access.
+updateUserProfile_sshPublicKey :: Lens.Lens' UpdateUserProfile (Prelude.Maybe Prelude.Text)
+updateUserProfile_sshPublicKey = Lens.lens (\UpdateUserProfile' {sshPublicKey} -> sshPublicKey) (\s@UpdateUserProfile' {} a -> s {sshPublicKey = a} :: UpdateUserProfile)
+
+-- | The name that will be displayed as the friendly name for the user in AWS
+-- CodeStar.
+updateUserProfile_userArn :: Lens.Lens' UpdateUserProfile Prelude.Text
+updateUserProfile_userArn = Lens.lens (\UpdateUserProfile' {userArn} -> userArn) (\s@UpdateUserProfile' {} a -> s {userArn = a} :: UpdateUserProfile)
+
+instance Core.AWSRequest UpdateUserProfile where
+  type
+    AWSResponse UpdateUserProfile =
+      UpdateUserProfileResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          UpdateUserProfileResponse'
+            Prelude.<$> (x Data..?> "createdTimestamp")
+            Prelude.<*> (x Data..?> "displayName")
+            Prelude.<*> (x Data..?> "emailAddress")
+            Prelude.<*> (x Data..?> "lastModifiedTimestamp")
+            Prelude.<*> (x Data..?> "sshPublicKey")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "userArn")
+      )
+
+instance Prelude.Hashable UpdateUserProfile where
+  hashWithSalt _salt UpdateUserProfile' {..} =
+    _salt
+      `Prelude.hashWithSalt` displayName
+      `Prelude.hashWithSalt` emailAddress
+      `Prelude.hashWithSalt` sshPublicKey
+      `Prelude.hashWithSalt` userArn
+
+instance Prelude.NFData UpdateUserProfile where
+  rnf UpdateUserProfile' {..} =
+    Prelude.rnf displayName
+      `Prelude.seq` Prelude.rnf emailAddress
+      `Prelude.seq` Prelude.rnf sshPublicKey
+      `Prelude.seq` Prelude.rnf userArn
+
+instance Data.ToHeaders UpdateUserProfile where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "X-Amz-Target"
+              Data.=# ( "CodeStar_20170419.UpdateUserProfile" ::
+                          Prelude.ByteString
+                      ),
+            "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON UpdateUserProfile where
+  toJSON UpdateUserProfile' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("displayName" Data..=) Prelude.<$> displayName,
+            ("emailAddress" Data..=) Prelude.<$> emailAddress,
+            ("sshPublicKey" Data..=) Prelude.<$> sshPublicKey,
+            Prelude.Just ("userArn" Data..= userArn)
+          ]
+      )
+
+instance Data.ToPath UpdateUserProfile where
+  toPath = Prelude.const "/"
+
+instance Data.ToQuery UpdateUserProfile where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newUpdateUserProfileResponse' smart constructor.
+data UpdateUserProfileResponse = UpdateUserProfileResponse'
+  { -- | The date the user profile was created, in timestamp format.
+    createdTimestamp :: Prelude.Maybe Data.POSIX,
+    -- | The name that is displayed as the friendly name for the user in AWS
+    -- CodeStar.
+    displayName :: Prelude.Maybe (Data.Sensitive Prelude.Text),
+    -- | The email address that is displayed as part of the user\'s profile in
+    -- AWS CodeStar.
+    emailAddress :: Prelude.Maybe (Data.Sensitive Prelude.Text),
+    -- | The date the user profile was last modified, in timestamp format.
+    lastModifiedTimestamp :: Prelude.Maybe Data.POSIX,
+    -- | The SSH public key associated with the user in AWS CodeStar. This is the
+    -- public portion of the public\/private keypair the user can use to access
+    -- project resources if a project owner allows the user remote access to
+    -- those resources.
+    sshPublicKey :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The Amazon Resource Name (ARN) of the user in IAM.
+    userArn :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UpdateUserProfileResponse' with all optional fields omitted.
+--
+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
+--
+-- The following record fields are available, with the corresponding lenses provided
+-- for backwards compatibility:
+--
+-- 'createdTimestamp', 'updateUserProfileResponse_createdTimestamp' - The date the user profile was created, in timestamp format.
+--
+-- 'displayName', 'updateUserProfileResponse_displayName' - The name that is displayed as the friendly name for the user in AWS
+-- CodeStar.
+--
+-- 'emailAddress', 'updateUserProfileResponse_emailAddress' - The email address that is displayed as part of the user\'s profile in
+-- AWS CodeStar.
+--
+-- 'lastModifiedTimestamp', 'updateUserProfileResponse_lastModifiedTimestamp' - The date the user profile was last modified, in timestamp format.
+--
+-- 'sshPublicKey', 'updateUserProfileResponse_sshPublicKey' - The SSH public key associated with the user in AWS CodeStar. This is the
+-- public portion of the public\/private keypair the user can use to access
+-- project resources if a project owner allows the user remote access to
+-- those resources.
+--
+-- 'httpStatus', 'updateUserProfileResponse_httpStatus' - The response's http status code.
+--
+-- 'userArn', 'updateUserProfileResponse_userArn' - The Amazon Resource Name (ARN) of the user in IAM.
+newUpdateUserProfileResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'userArn'
+  Prelude.Text ->
+  UpdateUserProfileResponse
+newUpdateUserProfileResponse pHttpStatus_ pUserArn_ =
+  UpdateUserProfileResponse'
+    { createdTimestamp =
+        Prelude.Nothing,
+      displayName = Prelude.Nothing,
+      emailAddress = Prelude.Nothing,
+      lastModifiedTimestamp = Prelude.Nothing,
+      sshPublicKey = Prelude.Nothing,
+      httpStatus = pHttpStatus_,
+      userArn = pUserArn_
+    }
+
+-- | The date the user profile was created, in timestamp format.
+updateUserProfileResponse_createdTimestamp :: Lens.Lens' UpdateUserProfileResponse (Prelude.Maybe Prelude.UTCTime)
+updateUserProfileResponse_createdTimestamp = Lens.lens (\UpdateUserProfileResponse' {createdTimestamp} -> createdTimestamp) (\s@UpdateUserProfileResponse' {} a -> s {createdTimestamp = a} :: UpdateUserProfileResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The name that is displayed as the friendly name for the user in AWS
+-- CodeStar.
+updateUserProfileResponse_displayName :: Lens.Lens' UpdateUserProfileResponse (Prelude.Maybe Prelude.Text)
+updateUserProfileResponse_displayName = Lens.lens (\UpdateUserProfileResponse' {displayName} -> displayName) (\s@UpdateUserProfileResponse' {} a -> s {displayName = a} :: UpdateUserProfileResponse) Prelude.. Lens.mapping Data._Sensitive
+
+-- | The email address that is displayed as part of the user\'s profile in
+-- AWS CodeStar.
+updateUserProfileResponse_emailAddress :: Lens.Lens' UpdateUserProfileResponse (Prelude.Maybe Prelude.Text)
+updateUserProfileResponse_emailAddress = Lens.lens (\UpdateUserProfileResponse' {emailAddress} -> emailAddress) (\s@UpdateUserProfileResponse' {} a -> s {emailAddress = a} :: UpdateUserProfileResponse) Prelude.. Lens.mapping Data._Sensitive
+
+-- | The date the user profile was last modified, in timestamp format.
+updateUserProfileResponse_lastModifiedTimestamp :: Lens.Lens' UpdateUserProfileResponse (Prelude.Maybe Prelude.UTCTime)
+updateUserProfileResponse_lastModifiedTimestamp = Lens.lens (\UpdateUserProfileResponse' {lastModifiedTimestamp} -> lastModifiedTimestamp) (\s@UpdateUserProfileResponse' {} a -> s {lastModifiedTimestamp = a} :: UpdateUserProfileResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The SSH public key associated with the user in AWS CodeStar. This is the
+-- public portion of the public\/private keypair the user can use to access
+-- project resources if a project owner allows the user remote access to
+-- those resources.
+updateUserProfileResponse_sshPublicKey :: Lens.Lens' UpdateUserProfileResponse (Prelude.Maybe Prelude.Text)
+updateUserProfileResponse_sshPublicKey = Lens.lens (\UpdateUserProfileResponse' {sshPublicKey} -> sshPublicKey) (\s@UpdateUserProfileResponse' {} a -> s {sshPublicKey = a} :: UpdateUserProfileResponse)
+
+-- | The response's http status code.
+updateUserProfileResponse_httpStatus :: Lens.Lens' UpdateUserProfileResponse Prelude.Int
+updateUserProfileResponse_httpStatus = Lens.lens (\UpdateUserProfileResponse' {httpStatus} -> httpStatus) (\s@UpdateUserProfileResponse' {} a -> s {httpStatus = a} :: UpdateUserProfileResponse)
+
+-- | The Amazon Resource Name (ARN) of the user in IAM.
+updateUserProfileResponse_userArn :: Lens.Lens' UpdateUserProfileResponse Prelude.Text
+updateUserProfileResponse_userArn = Lens.lens (\UpdateUserProfileResponse' {userArn} -> userArn) (\s@UpdateUserProfileResponse' {} a -> s {userArn = a} :: UpdateUserProfileResponse)
+
+instance Prelude.NFData UpdateUserProfileResponse where
+  rnf UpdateUserProfileResponse' {..} =
+    Prelude.rnf createdTimestamp
+      `Prelude.seq` Prelude.rnf displayName
+      `Prelude.seq` Prelude.rnf emailAddress
+      `Prelude.seq` Prelude.rnf lastModifiedTimestamp
+      `Prelude.seq` Prelude.rnf sshPublicKey
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf userArn
diff --git a/gen/Amazonka/CodeStar/Waiters.hs b/gen/Amazonka/CodeStar/Waiters.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/CodeStar/Waiters.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE DisambiguateRecordFields #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.CodeStar.Waiters
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Amazonka.CodeStar.Waiters where
+
+import Amazonka.CodeStar.Lens
+import Amazonka.CodeStar.Types
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
diff --git a/gen/Network/AWS/CodeStar.hs b/gen/Network/AWS/CodeStar.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar.hs
+++ /dev/null
@@ -1,251 +0,0 @@
-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- __AWS CodeStar__
---
--- This is the API reference for AWS CodeStar. This reference provides descriptions of the operations and data types for the AWS CodeStar API along with usage examples.
---
--- You can use the AWS CodeStar API to work with:
---
--- Projects and their resources, by calling the following:
---
---     * @DeleteProject@ , which deletes a project.
---
---     * @DescribeProject@ , which lists the attributes of a project.
---
---     * @ListProjects@ , which lists all projects associated with your AWS account.
---
---     * @ListResources@ , which lists the resources associated with a project.
---
---     * @ListTagsForProject@ , which lists the tags associated with a project.
---
---     * @TagProject@ , which adds tags to a project.
---
---     * @UntagProject@ , which removes tags from a project.
---
---     * @UpdateProject@ , which updates the attributes of a project.
---
---
---
--- Teams and team members, by calling the following:
---
---     * @AssociateTeamMember@ , which adds an IAM user to the team for a project.
---
---     * @DisassociateTeamMember@ , which removes an IAM user from the team for a project.
---
---     * @ListTeamMembers@ , which lists all the IAM users in the team for a project, including their roles and attributes.
---
---     * @UpdateTeamMember@ , which updates a team member's attributes in a project.
---
---
---
--- Users, by calling the following:
---
---     * @CreateUserProfile@ , which creates a user profile that contains data associated with the user across all projects.
---
---     * @DeleteUserProfile@ , which deletes all user profile information across all projects.
---
---     * @DescribeUserProfile@ , which describes the profile of a user.
---
---     * @ListUserProfiles@ , which lists all user profiles.
---
---     * @UpdateUserProfile@ , which updates the profile for a user.
---
---
---
-module Network.AWS.CodeStar
-    (
-    -- * Service Configuration
-      codeStar
-
-    -- * Errors
-    -- $errors
-
-    -- ** TeamMemberAlreadyAssociatedException
-    , _TeamMemberAlreadyAssociatedException
-
-    -- ** ValidationException
-    , _ValidationException
-
-    -- ** InvalidServiceRoleException
-    , _InvalidServiceRoleException
-
-    -- ** ProjectCreationFailedException
-    , _ProjectCreationFailedException
-
-    -- ** UserProfileAlreadyExistsException
-    , _UserProfileAlreadyExistsException
-
-    -- ** ProjectNotFoundException
-    , _ProjectNotFoundException
-
-    -- ** TeamMemberNotFoundException
-    , _TeamMemberNotFoundException
-
-    -- ** ProjectAlreadyExistsException
-    , _ProjectAlreadyExistsException
-
-    -- ** ProjectConfigurationException
-    , _ProjectConfigurationException
-
-    -- ** ConcurrentModificationException
-    , _ConcurrentModificationException
-
-    -- ** InvalidNextTokenException
-    , _InvalidNextTokenException
-
-    -- ** UserProfileNotFoundException
-    , _UserProfileNotFoundException
-
-    -- ** LimitExceededException
-    , _LimitExceededException
-
-    -- * Waiters
-    -- $waiters
-
-    -- * Operations
-    -- $operations
-
-    -- ** ListProjects
-    , module Network.AWS.CodeStar.ListProjects
-
-    -- ** ListTeamMembers
-    , module Network.AWS.CodeStar.ListTeamMembers
-
-    -- ** DeleteProject
-    , module Network.AWS.CodeStar.DeleteProject
-
-    -- ** UpdateProject
-    , module Network.AWS.CodeStar.UpdateProject
-
-    -- ** DisassociateTeamMember
-    , module Network.AWS.CodeStar.DisassociateTeamMember
-
-    -- ** TagProject
-    , module Network.AWS.CodeStar.TagProject
-
-    -- ** DescribeProject
-    , module Network.AWS.CodeStar.DescribeProject
-
-    -- ** ListUserProfiles
-    , module Network.AWS.CodeStar.ListUserProfiles
-
-    -- ** ListResources
-    , module Network.AWS.CodeStar.ListResources
-
-    -- ** AssociateTeamMember
-    , module Network.AWS.CodeStar.AssociateTeamMember
-
-    -- ** UntagProject
-    , module Network.AWS.CodeStar.UntagProject
-
-    -- ** UpdateTeamMember
-    , module Network.AWS.CodeStar.UpdateTeamMember
-
-    -- ** DescribeUserProfile
-    , module Network.AWS.CodeStar.DescribeUserProfile
-
-    -- ** ListTagsForProject
-    , module Network.AWS.CodeStar.ListTagsForProject
-
-    -- ** DeleteUserProfile
-    , module Network.AWS.CodeStar.DeleteUserProfile
-
-    -- ** UpdateUserProfile
-    , module Network.AWS.CodeStar.UpdateUserProfile
-
-    -- ** CreateUserProfile
-    , module Network.AWS.CodeStar.CreateUserProfile
-
-    -- ** CreateProject
-    , module Network.AWS.CodeStar.CreateProject
-
-    -- * Types
-
-    -- ** ProjectSummary
-    , ProjectSummary
-    , projectSummary
-    , psProjectARN
-    , psProjectId
-
-    -- ** Resource
-    , Resource
-    , resource
-    , rId
-
-    -- ** TeamMember
-    , TeamMember
-    , teamMember
-    , tmRemoteAccessAllowed
-    , tmUserARN
-    , tmProjectRole
-
-    -- ** UserProfileSummary
-    , UserProfileSummary
-    , userProfileSummary
-    , upsSshPublicKey
-    , upsUserARN
-    , upsEmailAddress
-    , upsDisplayName
-    ) where
-
-import Network.AWS.CodeStar.AssociateTeamMember
-import Network.AWS.CodeStar.CreateProject
-import Network.AWS.CodeStar.CreateUserProfile
-import Network.AWS.CodeStar.DeleteProject
-import Network.AWS.CodeStar.DeleteUserProfile
-import Network.AWS.CodeStar.DescribeProject
-import Network.AWS.CodeStar.DescribeUserProfile
-import Network.AWS.CodeStar.DisassociateTeamMember
-import Network.AWS.CodeStar.ListProjects
-import Network.AWS.CodeStar.ListResources
-import Network.AWS.CodeStar.ListTagsForProject
-import Network.AWS.CodeStar.ListTeamMembers
-import Network.AWS.CodeStar.ListUserProfiles
-import Network.AWS.CodeStar.TagProject
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.UntagProject
-import Network.AWS.CodeStar.UpdateProject
-import Network.AWS.CodeStar.UpdateTeamMember
-import Network.AWS.CodeStar.UpdateUserProfile
-import Network.AWS.CodeStar.Waiters
-
-{- $errors
-Error matchers are designed for use with the functions provided by
-<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.
-This allows catching (and rethrowing) service specific errors returned
-by 'CodeStar'.
--}
-
-{- $operations
-Some AWS operations return results that are incomplete and require subsequent
-requests in order to obtain the entire result set. The process of sending
-subsequent requests to continue where a previous request left off is called
-pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to
-1000 objects at a time, and you must send subsequent requests with the
-appropriate Marker in order to retrieve the next page of results.
-
-Operations that have an 'AWSPager' instance can transparently perform subsequent
-requests, correctly setting Markers and other request facets to iterate through
-the entire result set of a truncated API operation. Operations which support
-this have an additional note in the documentation.
-
-Many operations have the ability to filter results on the server side. See the
-individual operation parameters for details.
--}
-
-{- $waiters
-Waiters poll by repeatedly sending a request until some remote success condition
-configured by the 'Wait' specification is fulfilled. The 'Wait' specification
-determines how many attempts should be made, in addition to delay and retry strategies.
--}
diff --git a/gen/Network/AWS/CodeStar/AssociateTeamMember.hs b/gen/Network/AWS/CodeStar/AssociateTeamMember.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/AssociateTeamMember.hs
+++ /dev/null
@@ -1,182 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.AssociateTeamMember
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Adds an IAM user to the team for an AWS CodeStar project.
---
---
-module Network.AWS.CodeStar.AssociateTeamMember
-    (
-    -- * Creating a Request
-      associateTeamMember
-    , AssociateTeamMember
-    -- * Request Lenses
-    , atmRemoteAccessAllowed
-    , atmClientRequestToken
-    , atmProjectId
-    , atmUserARN
-    , atmProjectRole
-
-    -- * Destructuring the Response
-    , associateTeamMemberResponse
-    , AssociateTeamMemberResponse
-    -- * Response Lenses
-    , atmrsClientRequestToken
-    , atmrsResponseStatus
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'associateTeamMember' smart constructor.
-data AssociateTeamMember = AssociateTeamMember'
-  { _atmRemoteAccessAllowed :: !(Maybe Bool)
-  , _atmClientRequestToken  :: !(Maybe Text)
-  , _atmProjectId           :: !Text
-  , _atmUserARN             :: !Text
-  , _atmProjectRole         :: !Text
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AssociateTeamMember' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'atmRemoteAccessAllowed' - Whether the team member is allowed to use an SSH public/private key pair to remotely access project resources, for example Amazon EC2 instances.
---
--- * 'atmClientRequestToken' - A user- or system-generated token that identifies the entity that requested the team member association to the project. This token can be used to repeat the request.
---
--- * 'atmProjectId' - The ID of the project to which you will add the IAM user.
---
--- * 'atmUserARN' - The Amazon Resource Name (ARN) for the IAM user you want to add to the AWS CodeStar project.
---
--- * 'atmProjectRole' - The AWS CodeStar project role that will apply to this user. This role determines what actions a user can take in an AWS CodeStar project.
-associateTeamMember
-    :: Text -- ^ 'atmProjectId'
-    -> Text -- ^ 'atmUserARN'
-    -> Text -- ^ 'atmProjectRole'
-    -> AssociateTeamMember
-associateTeamMember pProjectId_ pUserARN_ pProjectRole_ =
-  AssociateTeamMember'
-    { _atmRemoteAccessAllowed = Nothing
-    , _atmClientRequestToken = Nothing
-    , _atmProjectId = pProjectId_
-    , _atmUserARN = pUserARN_
-    , _atmProjectRole = pProjectRole_
-    }
-
-
--- | Whether the team member is allowed to use an SSH public/private key pair to remotely access project resources, for example Amazon EC2 instances.
-atmRemoteAccessAllowed :: Lens' AssociateTeamMember (Maybe Bool)
-atmRemoteAccessAllowed = lens _atmRemoteAccessAllowed (\ s a -> s{_atmRemoteAccessAllowed = a})
-
--- | A user- or system-generated token that identifies the entity that requested the team member association to the project. This token can be used to repeat the request.
-atmClientRequestToken :: Lens' AssociateTeamMember (Maybe Text)
-atmClientRequestToken = lens _atmClientRequestToken (\ s a -> s{_atmClientRequestToken = a})
-
--- | The ID of the project to which you will add the IAM user.
-atmProjectId :: Lens' AssociateTeamMember Text
-atmProjectId = lens _atmProjectId (\ s a -> s{_atmProjectId = a})
-
--- | The Amazon Resource Name (ARN) for the IAM user you want to add to the AWS CodeStar project.
-atmUserARN :: Lens' AssociateTeamMember Text
-atmUserARN = lens _atmUserARN (\ s a -> s{_atmUserARN = a})
-
--- | The AWS CodeStar project role that will apply to this user. This role determines what actions a user can take in an AWS CodeStar project.
-atmProjectRole :: Lens' AssociateTeamMember Text
-atmProjectRole = lens _atmProjectRole (\ s a -> s{_atmProjectRole = a})
-
-instance AWSRequest AssociateTeamMember where
-        type Rs AssociateTeamMember =
-             AssociateTeamMemberResponse
-        request = postJSON codeStar
-        response
-          = receiveJSON
-              (\ s h x ->
-                 AssociateTeamMemberResponse' <$>
-                   (x .?> "clientRequestToken") <*> (pure (fromEnum s)))
-
-instance Hashable AssociateTeamMember where
-
-instance NFData AssociateTeamMember where
-
-instance ToHeaders AssociateTeamMember where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.AssociateTeamMember" ::
-                       ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON AssociateTeamMember where
-        toJSON AssociateTeamMember'{..}
-          = object
-              (catMaybes
-                 [("remoteAccessAllowed" .=) <$>
-                    _atmRemoteAccessAllowed,
-                  ("clientRequestToken" .=) <$> _atmClientRequestToken,
-                  Just ("projectId" .= _atmProjectId),
-                  Just ("userArn" .= _atmUserARN),
-                  Just ("projectRole" .= _atmProjectRole)])
-
-instance ToPath AssociateTeamMember where
-        toPath = const "/"
-
-instance ToQuery AssociateTeamMember where
-        toQuery = const mempty
-
--- | /See:/ 'associateTeamMemberResponse' smart constructor.
-data AssociateTeamMemberResponse = AssociateTeamMemberResponse'
-  { _atmrsClientRequestToken :: !(Maybe Text)
-  , _atmrsResponseStatus     :: !Int
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AssociateTeamMemberResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'atmrsClientRequestToken' - The user- or system-generated token from the initial request that can be used to repeat the request.
---
--- * 'atmrsResponseStatus' - -- | The response status code.
-associateTeamMemberResponse
-    :: Int -- ^ 'atmrsResponseStatus'
-    -> AssociateTeamMemberResponse
-associateTeamMemberResponse pResponseStatus_ =
-  AssociateTeamMemberResponse'
-    { _atmrsClientRequestToken = Nothing
-    , _atmrsResponseStatus = pResponseStatus_
-    }
-
-
--- | The user- or system-generated token from the initial request that can be used to repeat the request.
-atmrsClientRequestToken :: Lens' AssociateTeamMemberResponse (Maybe Text)
-atmrsClientRequestToken = lens _atmrsClientRequestToken (\ s a -> s{_atmrsClientRequestToken = a})
-
--- | -- | The response status code.
-atmrsResponseStatus :: Lens' AssociateTeamMemberResponse Int
-atmrsResponseStatus = lens _atmrsResponseStatus (\ s a -> s{_atmrsResponseStatus = a})
-
-instance NFData AssociateTeamMemberResponse where
diff --git a/gen/Network/AWS/CodeStar/CreateProject.hs b/gen/Network/AWS/CodeStar/CreateProject.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/CreateProject.hs
+++ /dev/null
@@ -1,200 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.CreateProject
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Reserved for future use. To create a project, use the AWS CodeStar console.
---
---
-module Network.AWS.CodeStar.CreateProject
-    (
-    -- * Creating a Request
-      createProject
-    , CreateProject
-    -- * Request Lenses
-    , cpClientRequestToken
-    , cpDescription
-    , cpName
-    , cpId
-
-    -- * Destructuring the Response
-    , createProjectResponse
-    , CreateProjectResponse
-    -- * Response Lenses
-    , cprsProjectTemplateId
-    , cprsClientRequestToken
-    , cprsResponseStatus
-    , cprsId
-    , cprsArn
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'createProject' smart constructor.
-data CreateProject = CreateProject'
-  { _cpClientRequestToken :: !(Maybe Text)
-  , _cpDescription        :: !(Maybe (Sensitive Text))
-  , _cpName               :: !(Sensitive Text)
-  , _cpId                 :: !Text
-  } deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CreateProject' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cpClientRequestToken' - Reserved for future use.
---
--- * 'cpDescription' - Reserved for future use.
---
--- * 'cpName' - Reserved for future use.
---
--- * 'cpId' - Reserved for future use.
-createProject
-    :: Text -- ^ 'cpName'
-    -> Text -- ^ 'cpId'
-    -> CreateProject
-createProject pName_ pId_ =
-  CreateProject'
-    { _cpClientRequestToken = Nothing
-    , _cpDescription = Nothing
-    , _cpName = _Sensitive # pName_
-    , _cpId = pId_
-    }
-
-
--- | Reserved for future use.
-cpClientRequestToken :: Lens' CreateProject (Maybe Text)
-cpClientRequestToken = lens _cpClientRequestToken (\ s a -> s{_cpClientRequestToken = a})
-
--- | Reserved for future use.
-cpDescription :: Lens' CreateProject (Maybe Text)
-cpDescription = lens _cpDescription (\ s a -> s{_cpDescription = a}) . mapping _Sensitive
-
--- | Reserved for future use.
-cpName :: Lens' CreateProject Text
-cpName = lens _cpName (\ s a -> s{_cpName = a}) . _Sensitive
-
--- | Reserved for future use.
-cpId :: Lens' CreateProject Text
-cpId = lens _cpId (\ s a -> s{_cpId = a})
-
-instance AWSRequest CreateProject where
-        type Rs CreateProject = CreateProjectResponse
-        request = postJSON codeStar
-        response
-          = receiveJSON
-              (\ s h x ->
-                 CreateProjectResponse' <$>
-                   (x .?> "projectTemplateId") <*>
-                     (x .?> "clientRequestToken")
-                     <*> (pure (fromEnum s))
-                     <*> (x .:> "id")
-                     <*> (x .:> "arn"))
-
-instance Hashable CreateProject where
-
-instance NFData CreateProject where
-
-instance ToHeaders CreateProject where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.CreateProject" :: ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON CreateProject where
-        toJSON CreateProject'{..}
-          = object
-              (catMaybes
-                 [("clientRequestToken" .=) <$> _cpClientRequestToken,
-                  ("description" .=) <$> _cpDescription,
-                  Just ("name" .= _cpName), Just ("id" .= _cpId)])
-
-instance ToPath CreateProject where
-        toPath = const "/"
-
-instance ToQuery CreateProject where
-        toQuery = const mempty
-
--- | /See:/ 'createProjectResponse' smart constructor.
-data CreateProjectResponse = CreateProjectResponse'
-  { _cprsProjectTemplateId  :: !(Maybe Text)
-  , _cprsClientRequestToken :: !(Maybe Text)
-  , _cprsResponseStatus     :: !Int
-  , _cprsId                 :: !Text
-  , _cprsArn                :: !Text
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CreateProjectResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cprsProjectTemplateId' - Reserved for future use.
---
--- * 'cprsClientRequestToken' - Reserved for future use.
---
--- * 'cprsResponseStatus' - -- | The response status code.
---
--- * 'cprsId' - Reserved for future use.
---
--- * 'cprsArn' - Reserved for future use.
-createProjectResponse
-    :: Int -- ^ 'cprsResponseStatus'
-    -> Text -- ^ 'cprsId'
-    -> Text -- ^ 'cprsArn'
-    -> CreateProjectResponse
-createProjectResponse pResponseStatus_ pId_ pArn_ =
-  CreateProjectResponse'
-    { _cprsProjectTemplateId = Nothing
-    , _cprsClientRequestToken = Nothing
-    , _cprsResponseStatus = pResponseStatus_
-    , _cprsId = pId_
-    , _cprsArn = pArn_
-    }
-
-
--- | Reserved for future use.
-cprsProjectTemplateId :: Lens' CreateProjectResponse (Maybe Text)
-cprsProjectTemplateId = lens _cprsProjectTemplateId (\ s a -> s{_cprsProjectTemplateId = a})
-
--- | Reserved for future use.
-cprsClientRequestToken :: Lens' CreateProjectResponse (Maybe Text)
-cprsClientRequestToken = lens _cprsClientRequestToken (\ s a -> s{_cprsClientRequestToken = a})
-
--- | -- | The response status code.
-cprsResponseStatus :: Lens' CreateProjectResponse Int
-cprsResponseStatus = lens _cprsResponseStatus (\ s a -> s{_cprsResponseStatus = a})
-
--- | Reserved for future use.
-cprsId :: Lens' CreateProjectResponse Text
-cprsId = lens _cprsId (\ s a -> s{_cprsId = a})
-
--- | Reserved for future use.
-cprsArn :: Lens' CreateProjectResponse Text
-cprsArn = lens _cprsArn (\ s a -> s{_cprsArn = a})
-
-instance NFData CreateProjectResponse where
diff --git a/gen/Network/AWS/CodeStar/CreateUserProfile.hs b/gen/Network/AWS/CodeStar/CreateUserProfile.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/CreateUserProfile.hs
+++ /dev/null
@@ -1,222 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.CreateUserProfile
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Creates a profile for a user that includes user preferences, such as the display name and email address assocciated with the user, in AWS CodeStar. The user profile is not project-specific. Information in the user profile is displayed wherever the user's information appears to other users in AWS CodeStar.
---
---
-module Network.AWS.CodeStar.CreateUserProfile
-    (
-    -- * Creating a Request
-      createUserProfile
-    , CreateUserProfile
-    -- * Request Lenses
-    , cupSshPublicKey
-    , cupUserARN
-    , cupDisplayName
-    , cupEmailAddress
-
-    -- * Destructuring the Response
-    , createUserProfileResponse
-    , CreateUserProfileResponse
-    -- * Response Lenses
-    , cuprsLastModifiedTimestamp
-    , cuprsSshPublicKey
-    , cuprsEmailAddress
-    , cuprsDisplayName
-    , cuprsCreatedTimestamp
-    , cuprsResponseStatus
-    , cuprsUserARN
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'createUserProfile' smart constructor.
-data CreateUserProfile = CreateUserProfile'
-  { _cupSshPublicKey :: !(Maybe Text)
-  , _cupUserARN      :: !Text
-  , _cupDisplayName  :: !Text
-  , _cupEmailAddress :: !(Sensitive Text)
-  } deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CreateUserProfile' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cupSshPublicKey' - The SSH public key associated with the user in AWS CodeStar. If a project owner allows the user remote access to project resources, this public key will be used along with the user's private key for SSH access.
---
--- * 'cupUserARN' - The Amazon Resource Name (ARN) of the user in IAM.
---
--- * 'cupDisplayName' - The name that will be displayed as the friendly name for the user in AWS CodeStar.
---
--- * 'cupEmailAddress' - The email address that will be displayed as part of the user's profile in AWS CodeStar.
-createUserProfile
-    :: Text -- ^ 'cupUserARN'
-    -> Text -- ^ 'cupDisplayName'
-    -> Text -- ^ 'cupEmailAddress'
-    -> CreateUserProfile
-createUserProfile pUserARN_ pDisplayName_ pEmailAddress_ =
-  CreateUserProfile'
-    { _cupSshPublicKey = Nothing
-    , _cupUserARN = pUserARN_
-    , _cupDisplayName = pDisplayName_
-    , _cupEmailAddress = _Sensitive # pEmailAddress_
-    }
-
-
--- | The SSH public key associated with the user in AWS CodeStar. If a project owner allows the user remote access to project resources, this public key will be used along with the user's private key for SSH access.
-cupSshPublicKey :: Lens' CreateUserProfile (Maybe Text)
-cupSshPublicKey = lens _cupSshPublicKey (\ s a -> s{_cupSshPublicKey = a})
-
--- | The Amazon Resource Name (ARN) of the user in IAM.
-cupUserARN :: Lens' CreateUserProfile Text
-cupUserARN = lens _cupUserARN (\ s a -> s{_cupUserARN = a})
-
--- | The name that will be displayed as the friendly name for the user in AWS CodeStar.
-cupDisplayName :: Lens' CreateUserProfile Text
-cupDisplayName = lens _cupDisplayName (\ s a -> s{_cupDisplayName = a})
-
--- | The email address that will be displayed as part of the user's profile in AWS CodeStar.
-cupEmailAddress :: Lens' CreateUserProfile Text
-cupEmailAddress = lens _cupEmailAddress (\ s a -> s{_cupEmailAddress = a}) . _Sensitive
-
-instance AWSRequest CreateUserProfile where
-        type Rs CreateUserProfile = CreateUserProfileResponse
-        request = postJSON codeStar
-        response
-          = receiveJSON
-              (\ s h x ->
-                 CreateUserProfileResponse' <$>
-                   (x .?> "lastModifiedTimestamp") <*>
-                     (x .?> "sshPublicKey")
-                     <*> (x .?> "emailAddress")
-                     <*> (x .?> "displayName")
-                     <*> (x .?> "createdTimestamp")
-                     <*> (pure (fromEnum s))
-                     <*> (x .:> "userArn"))
-
-instance Hashable CreateUserProfile where
-
-instance NFData CreateUserProfile where
-
-instance ToHeaders CreateUserProfile where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.CreateUserProfile" ::
-                       ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON CreateUserProfile where
-        toJSON CreateUserProfile'{..}
-          = object
-              (catMaybes
-                 [("sshPublicKey" .=) <$> _cupSshPublicKey,
-                  Just ("userArn" .= _cupUserARN),
-                  Just ("displayName" .= _cupDisplayName),
-                  Just ("emailAddress" .= _cupEmailAddress)])
-
-instance ToPath CreateUserProfile where
-        toPath = const "/"
-
-instance ToQuery CreateUserProfile where
-        toQuery = const mempty
-
--- | /See:/ 'createUserProfileResponse' smart constructor.
-data CreateUserProfileResponse = CreateUserProfileResponse'
-  { _cuprsLastModifiedTimestamp :: !(Maybe POSIX)
-  , _cuprsSshPublicKey          :: !(Maybe Text)
-  , _cuprsEmailAddress          :: !(Maybe (Sensitive Text))
-  , _cuprsDisplayName           :: !(Maybe Text)
-  , _cuprsCreatedTimestamp      :: !(Maybe POSIX)
-  , _cuprsResponseStatus        :: !Int
-  , _cuprsUserARN               :: !Text
-  } deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CreateUserProfileResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cuprsLastModifiedTimestamp' - The date the user profile was last modified, in timestamp format.
---
--- * 'cuprsSshPublicKey' - The SSH public key associated with the user in AWS CodeStar. This is the public portion of the public/private keypair the user can use to access project resources if a project owner allows the user remote access to those resources.
---
--- * 'cuprsEmailAddress' - The email address that is displayed as part of the user's profile in AWS CodeStar.
---
--- * 'cuprsDisplayName' - The name that is displayed as the friendly name for the user in AWS CodeStar.
---
--- * 'cuprsCreatedTimestamp' - The date the user profile was created, in timestamp format.
---
--- * 'cuprsResponseStatus' - -- | The response status code.
---
--- * 'cuprsUserARN' - The Amazon Resource Name (ARN) of the user in IAM.
-createUserProfileResponse
-    :: Int -- ^ 'cuprsResponseStatus'
-    -> Text -- ^ 'cuprsUserARN'
-    -> CreateUserProfileResponse
-createUserProfileResponse pResponseStatus_ pUserARN_ =
-  CreateUserProfileResponse'
-    { _cuprsLastModifiedTimestamp = Nothing
-    , _cuprsSshPublicKey = Nothing
-    , _cuprsEmailAddress = Nothing
-    , _cuprsDisplayName = Nothing
-    , _cuprsCreatedTimestamp = Nothing
-    , _cuprsResponseStatus = pResponseStatus_
-    , _cuprsUserARN = pUserARN_
-    }
-
-
--- | The date the user profile was last modified, in timestamp format.
-cuprsLastModifiedTimestamp :: Lens' CreateUserProfileResponse (Maybe UTCTime)
-cuprsLastModifiedTimestamp = lens _cuprsLastModifiedTimestamp (\ s a -> s{_cuprsLastModifiedTimestamp = a}) . mapping _Time
-
--- | The SSH public key associated with the user in AWS CodeStar. This is the public portion of the public/private keypair the user can use to access project resources if a project owner allows the user remote access to those resources.
-cuprsSshPublicKey :: Lens' CreateUserProfileResponse (Maybe Text)
-cuprsSshPublicKey = lens _cuprsSshPublicKey (\ s a -> s{_cuprsSshPublicKey = a})
-
--- | The email address that is displayed as part of the user's profile in AWS CodeStar.
-cuprsEmailAddress :: Lens' CreateUserProfileResponse (Maybe Text)
-cuprsEmailAddress = lens _cuprsEmailAddress (\ s a -> s{_cuprsEmailAddress = a}) . mapping _Sensitive
-
--- | The name that is displayed as the friendly name for the user in AWS CodeStar.
-cuprsDisplayName :: Lens' CreateUserProfileResponse (Maybe Text)
-cuprsDisplayName = lens _cuprsDisplayName (\ s a -> s{_cuprsDisplayName = a})
-
--- | The date the user profile was created, in timestamp format.
-cuprsCreatedTimestamp :: Lens' CreateUserProfileResponse (Maybe UTCTime)
-cuprsCreatedTimestamp = lens _cuprsCreatedTimestamp (\ s a -> s{_cuprsCreatedTimestamp = a}) . mapping _Time
-
--- | -- | The response status code.
-cuprsResponseStatus :: Lens' CreateUserProfileResponse Int
-cuprsResponseStatus = lens _cuprsResponseStatus (\ s a -> s{_cuprsResponseStatus = a})
-
--- | The Amazon Resource Name (ARN) of the user in IAM.
-cuprsUserARN :: Lens' CreateUserProfileResponse Text
-cuprsUserARN = lens _cuprsUserARN (\ s a -> s{_cuprsUserARN = a})
-
-instance NFData CreateUserProfileResponse where
diff --git a/gen/Network/AWS/CodeStar/DeleteProject.hs b/gen/Network/AWS/CodeStar/DeleteProject.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/DeleteProject.hs
+++ /dev/null
@@ -1,164 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.DeleteProject
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Deletes a project, including project resources. Does not delete users associated with the project, but does delete the IAM roles that allowed access to the project.
---
---
-module Network.AWS.CodeStar.DeleteProject
-    (
-    -- * Creating a Request
-      deleteProject
-    , DeleteProject
-    -- * Request Lenses
-    , dpDeleteStack
-    , dpClientRequestToken
-    , dpId
-
-    -- * Destructuring the Response
-    , deleteProjectResponse
-    , DeleteProjectResponse
-    -- * Response Lenses
-    , dprsProjectARN
-    , dprsStackId
-    , dprsResponseStatus
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'deleteProject' smart constructor.
-data DeleteProject = DeleteProject'
-  { _dpDeleteStack        :: !(Maybe Bool)
-  , _dpClientRequestToken :: !(Maybe Text)
-  , _dpId                 :: !Text
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'DeleteProject' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dpDeleteStack' - Whether to send a delete request for the primary stack in AWS CloudFormation originally used to generate the project and its resources. This option will delete all AWS resources for the project (except for any buckets in Amazon S3) as well as deleting the project itself. Recommended for most use cases.
---
--- * 'dpClientRequestToken' - A user- or system-generated token that identifies the entity that requested project deletion. This token can be used to repeat the request.
---
--- * 'dpId' - The ID of the project to be deleted in AWS CodeStar.
-deleteProject
-    :: Text -- ^ 'dpId'
-    -> DeleteProject
-deleteProject pId_ =
-  DeleteProject'
-    {_dpDeleteStack = Nothing, _dpClientRequestToken = Nothing, _dpId = pId_}
-
-
--- | Whether to send a delete request for the primary stack in AWS CloudFormation originally used to generate the project and its resources. This option will delete all AWS resources for the project (except for any buckets in Amazon S3) as well as deleting the project itself. Recommended for most use cases.
-dpDeleteStack :: Lens' DeleteProject (Maybe Bool)
-dpDeleteStack = lens _dpDeleteStack (\ s a -> s{_dpDeleteStack = a})
-
--- | A user- or system-generated token that identifies the entity that requested project deletion. This token can be used to repeat the request.
-dpClientRequestToken :: Lens' DeleteProject (Maybe Text)
-dpClientRequestToken = lens _dpClientRequestToken (\ s a -> s{_dpClientRequestToken = a})
-
--- | The ID of the project to be deleted in AWS CodeStar.
-dpId :: Lens' DeleteProject Text
-dpId = lens _dpId (\ s a -> s{_dpId = a})
-
-instance AWSRequest DeleteProject where
-        type Rs DeleteProject = DeleteProjectResponse
-        request = postJSON codeStar
-        response
-          = receiveJSON
-              (\ s h x ->
-                 DeleteProjectResponse' <$>
-                   (x .?> "projectArn") <*> (x .?> "stackId") <*>
-                     (pure (fromEnum s)))
-
-instance Hashable DeleteProject where
-
-instance NFData DeleteProject where
-
-instance ToHeaders DeleteProject where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.DeleteProject" :: ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON DeleteProject where
-        toJSON DeleteProject'{..}
-          = object
-              (catMaybes
-                 [("deleteStack" .=) <$> _dpDeleteStack,
-                  ("clientRequestToken" .=) <$> _dpClientRequestToken,
-                  Just ("id" .= _dpId)])
-
-instance ToPath DeleteProject where
-        toPath = const "/"
-
-instance ToQuery DeleteProject where
-        toQuery = const mempty
-
--- | /See:/ 'deleteProjectResponse' smart constructor.
-data DeleteProjectResponse = DeleteProjectResponse'
-  { _dprsProjectARN     :: !(Maybe Text)
-  , _dprsStackId        :: !(Maybe Text)
-  , _dprsResponseStatus :: !Int
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'DeleteProjectResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dprsProjectARN' - The Amazon Resource Name (ARN) of the deleted project.
---
--- * 'dprsStackId' - The ID of the primary stack in AWS CloudFormation that will be deleted as part of deleting the project and its resources.
---
--- * 'dprsResponseStatus' - -- | The response status code.
-deleteProjectResponse
-    :: Int -- ^ 'dprsResponseStatus'
-    -> DeleteProjectResponse
-deleteProjectResponse pResponseStatus_ =
-  DeleteProjectResponse'
-    { _dprsProjectARN = Nothing
-    , _dprsStackId = Nothing
-    , _dprsResponseStatus = pResponseStatus_
-    }
-
-
--- | The Amazon Resource Name (ARN) of the deleted project.
-dprsProjectARN :: Lens' DeleteProjectResponse (Maybe Text)
-dprsProjectARN = lens _dprsProjectARN (\ s a -> s{_dprsProjectARN = a})
-
--- | The ID of the primary stack in AWS CloudFormation that will be deleted as part of deleting the project and its resources.
-dprsStackId :: Lens' DeleteProjectResponse (Maybe Text)
-dprsStackId = lens _dprsStackId (\ s a -> s{_dprsStackId = a})
-
--- | -- | The response status code.
-dprsResponseStatus :: Lens' DeleteProjectResponse Int
-dprsResponseStatus = lens _dprsResponseStatus (\ s a -> s{_dprsResponseStatus = a})
-
-instance NFData DeleteProjectResponse where
diff --git a/gen/Network/AWS/CodeStar/DeleteUserProfile.hs b/gen/Network/AWS/CodeStar/DeleteUserProfile.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/DeleteUserProfile.hs
+++ /dev/null
@@ -1,132 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.DeleteUserProfile
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Deletes a user profile in AWS CodeStar, including all personal preference data associated with that profile, such as display name and email address. It does not delete the history of that user, for example the history of commits made by that user.
---
---
-module Network.AWS.CodeStar.DeleteUserProfile
-    (
-    -- * Creating a Request
-      deleteUserProfile
-    , DeleteUserProfile
-    -- * Request Lenses
-    , dUserARN
-
-    -- * Destructuring the Response
-    , deleteUserProfileResponse
-    , DeleteUserProfileResponse
-    -- * Response Lenses
-    , delrsResponseStatus
-    , delrsUserARN
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'deleteUserProfile' smart constructor.
-newtype DeleteUserProfile = DeleteUserProfile'
-  { _dUserARN :: Text
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'DeleteUserProfile' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dUserARN' - The Amazon Resource Name (ARN) of the user to delete from AWS CodeStar.
-deleteUserProfile
-    :: Text -- ^ 'dUserARN'
-    -> DeleteUserProfile
-deleteUserProfile pUserARN_ = DeleteUserProfile' {_dUserARN = pUserARN_}
-
-
--- | The Amazon Resource Name (ARN) of the user to delete from AWS CodeStar.
-dUserARN :: Lens' DeleteUserProfile Text
-dUserARN = lens _dUserARN (\ s a -> s{_dUserARN = a})
-
-instance AWSRequest DeleteUserProfile where
-        type Rs DeleteUserProfile = DeleteUserProfileResponse
-        request = postJSON codeStar
-        response
-          = receiveJSON
-              (\ s h x ->
-                 DeleteUserProfileResponse' <$>
-                   (pure (fromEnum s)) <*> (x .:> "userArn"))
-
-instance Hashable DeleteUserProfile where
-
-instance NFData DeleteUserProfile where
-
-instance ToHeaders DeleteUserProfile where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.DeleteUserProfile" ::
-                       ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON DeleteUserProfile where
-        toJSON DeleteUserProfile'{..}
-          = object (catMaybes [Just ("userArn" .= _dUserARN)])
-
-instance ToPath DeleteUserProfile where
-        toPath = const "/"
-
-instance ToQuery DeleteUserProfile where
-        toQuery = const mempty
-
--- | /See:/ 'deleteUserProfileResponse' smart constructor.
-data DeleteUserProfileResponse = DeleteUserProfileResponse'
-  { _delrsResponseStatus :: !Int
-  , _delrsUserARN        :: !Text
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'DeleteUserProfileResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'delrsResponseStatus' - -- | The response status code.
---
--- * 'delrsUserARN' - The Amazon Resource Name (ARN) of the user deleted from AWS CodeStar.
-deleteUserProfileResponse
-    :: Int -- ^ 'delrsResponseStatus'
-    -> Text -- ^ 'delrsUserARN'
-    -> DeleteUserProfileResponse
-deleteUserProfileResponse pResponseStatus_ pUserARN_ =
-  DeleteUserProfileResponse'
-    {_delrsResponseStatus = pResponseStatus_, _delrsUserARN = pUserARN_}
-
-
--- | -- | The response status code.
-delrsResponseStatus :: Lens' DeleteUserProfileResponse Int
-delrsResponseStatus = lens _delrsResponseStatus (\ s a -> s{_delrsResponseStatus = a})
-
--- | The Amazon Resource Name (ARN) of the user deleted from AWS CodeStar.
-delrsUserARN :: Lens' DeleteUserProfileResponse Text
-delrsUserARN = lens _delrsUserARN (\ s a -> s{_delrsUserARN = a})
-
-instance NFData DeleteUserProfileResponse where
diff --git a/gen/Network/AWS/CodeStar/DescribeProject.hs b/gen/Network/AWS/CodeStar/DescribeProject.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/DescribeProject.hs
+++ /dev/null
@@ -1,202 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.DescribeProject
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Describes a project and its resources.
---
---
-module Network.AWS.CodeStar.DescribeProject
-    (
-    -- * Creating a Request
-      describeProject
-    , DescribeProject
-    -- * Request Lenses
-    , dId
-
-    -- * Destructuring the Response
-    , describeProjectResponse
-    , DescribeProjectResponse
-    -- * Response Lenses
-    , drsArn
-    , drsProjectTemplateId
-    , drsName
-    , drsId
-    , drsStackId
-    , drsClientRequestToken
-    , drsCreatedTimeStamp
-    , drsDescription
-    , drsResponseStatus
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'describeProject' smart constructor.
-newtype DescribeProject = DescribeProject'
-  { _dId :: Text
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'DescribeProject' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dId' - The ID of the project.
-describeProject
-    :: Text -- ^ 'dId'
-    -> DescribeProject
-describeProject pId_ = DescribeProject' {_dId = pId_}
-
-
--- | The ID of the project.
-dId :: Lens' DescribeProject Text
-dId = lens _dId (\ s a -> s{_dId = a})
-
-instance AWSRequest DescribeProject where
-        type Rs DescribeProject = DescribeProjectResponse
-        request = postJSON codeStar
-        response
-          = receiveJSON
-              (\ s h x ->
-                 DescribeProjectResponse' <$>
-                   (x .?> "arn") <*> (x .?> "projectTemplateId") <*>
-                     (x .?> "name")
-                     <*> (x .?> "id")
-                     <*> (x .?> "stackId")
-                     <*> (x .?> "clientRequestToken")
-                     <*> (x .?> "createdTimeStamp")
-                     <*> (x .?> "description")
-                     <*> (pure (fromEnum s)))
-
-instance Hashable DescribeProject where
-
-instance NFData DescribeProject where
-
-instance ToHeaders DescribeProject where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.DescribeProject" :: ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON DescribeProject where
-        toJSON DescribeProject'{..}
-          = object (catMaybes [Just ("id" .= _dId)])
-
-instance ToPath DescribeProject where
-        toPath = const "/"
-
-instance ToQuery DescribeProject where
-        toQuery = const mempty
-
--- | /See:/ 'describeProjectResponse' smart constructor.
-data DescribeProjectResponse = DescribeProjectResponse'
-  { _drsArn                :: !(Maybe Text)
-  , _drsProjectTemplateId  :: !(Maybe Text)
-  , _drsName               :: !(Maybe (Sensitive Text))
-  , _drsId                 :: !(Maybe Text)
-  , _drsStackId            :: !(Maybe Text)
-  , _drsClientRequestToken :: !(Maybe Text)
-  , _drsCreatedTimeStamp   :: !(Maybe POSIX)
-  , _drsDescription        :: !(Maybe (Sensitive Text))
-  , _drsResponseStatus     :: !Int
-  } deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'DescribeProjectResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'drsArn' - The Amazon Resource Name (ARN) for the project.
---
--- * 'drsProjectTemplateId' - The ID for the AWS CodeStar project template used to create the project.
---
--- * 'drsName' - The display name for the project.
---
--- * 'drsId' - The ID of the project.
---
--- * 'drsStackId' - The ID of the primary stack in AWS CloudFormation used to generate resources for the project.
---
--- * 'drsClientRequestToken' - A user- or system-generated token that identifies the entity that requested project creation.
---
--- * 'drsCreatedTimeStamp' - The date and time the project was created, in timestamp format.
---
--- * 'drsDescription' - The description of the project, if any.
---
--- * 'drsResponseStatus' - -- | The response status code.
-describeProjectResponse
-    :: Int -- ^ 'drsResponseStatus'
-    -> DescribeProjectResponse
-describeProjectResponse pResponseStatus_ =
-  DescribeProjectResponse'
-    { _drsArn = Nothing
-    , _drsProjectTemplateId = Nothing
-    , _drsName = Nothing
-    , _drsId = Nothing
-    , _drsStackId = Nothing
-    , _drsClientRequestToken = Nothing
-    , _drsCreatedTimeStamp = Nothing
-    , _drsDescription = Nothing
-    , _drsResponseStatus = pResponseStatus_
-    }
-
-
--- | The Amazon Resource Name (ARN) for the project.
-drsArn :: Lens' DescribeProjectResponse (Maybe Text)
-drsArn = lens _drsArn (\ s a -> s{_drsArn = a})
-
--- | The ID for the AWS CodeStar project template used to create the project.
-drsProjectTemplateId :: Lens' DescribeProjectResponse (Maybe Text)
-drsProjectTemplateId = lens _drsProjectTemplateId (\ s a -> s{_drsProjectTemplateId = a})
-
--- | The display name for the project.
-drsName :: Lens' DescribeProjectResponse (Maybe Text)
-drsName = lens _drsName (\ s a -> s{_drsName = a}) . mapping _Sensitive
-
--- | The ID of the project.
-drsId :: Lens' DescribeProjectResponse (Maybe Text)
-drsId = lens _drsId (\ s a -> s{_drsId = a})
-
--- | The ID of the primary stack in AWS CloudFormation used to generate resources for the project.
-drsStackId :: Lens' DescribeProjectResponse (Maybe Text)
-drsStackId = lens _drsStackId (\ s a -> s{_drsStackId = a})
-
--- | A user- or system-generated token that identifies the entity that requested project creation.
-drsClientRequestToken :: Lens' DescribeProjectResponse (Maybe Text)
-drsClientRequestToken = lens _drsClientRequestToken (\ s a -> s{_drsClientRequestToken = a})
-
--- | The date and time the project was created, in timestamp format.
-drsCreatedTimeStamp :: Lens' DescribeProjectResponse (Maybe UTCTime)
-drsCreatedTimeStamp = lens _drsCreatedTimeStamp (\ s a -> s{_drsCreatedTimeStamp = a}) . mapping _Time
-
--- | The description of the project, if any.
-drsDescription :: Lens' DescribeProjectResponse (Maybe Text)
-drsDescription = lens _drsDescription (\ s a -> s{_drsDescription = a}) . mapping _Sensitive
-
--- | -- | The response status code.
-drsResponseStatus :: Lens' DescribeProjectResponse Int
-drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a})
-
-instance NFData DescribeProjectResponse where
diff --git a/gen/Network/AWS/CodeStar/DescribeUserProfile.hs b/gen/Network/AWS/CodeStar/DescribeUserProfile.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/DescribeUserProfile.hs
+++ /dev/null
@@ -1,188 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.DescribeUserProfile
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Describes a user in AWS CodeStar and the user attributes across all projects.
---
---
-module Network.AWS.CodeStar.DescribeUserProfile
-    (
-    -- * Creating a Request
-      describeUserProfile
-    , DescribeUserProfile
-    -- * Request Lenses
-    , dupUserARN
-
-    -- * Destructuring the Response
-    , describeUserProfileResponse
-    , DescribeUserProfileResponse
-    -- * Response Lenses
-    , duprsSshPublicKey
-    , duprsEmailAddress
-    , duprsDisplayName
-    , duprsResponseStatus
-    , duprsUserARN
-    , duprsCreatedTimestamp
-    , duprsLastModifiedTimestamp
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'describeUserProfile' smart constructor.
-newtype DescribeUserProfile = DescribeUserProfile'
-  { _dupUserARN :: Text
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'DescribeUserProfile' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dupUserARN' - The Amazon Resource Name (ARN) of the user.
-describeUserProfile
-    :: Text -- ^ 'dupUserARN'
-    -> DescribeUserProfile
-describeUserProfile pUserARN_ = DescribeUserProfile' {_dupUserARN = pUserARN_}
-
-
--- | The Amazon Resource Name (ARN) of the user.
-dupUserARN :: Lens' DescribeUserProfile Text
-dupUserARN = lens _dupUserARN (\ s a -> s{_dupUserARN = a})
-
-instance AWSRequest DescribeUserProfile where
-        type Rs DescribeUserProfile =
-             DescribeUserProfileResponse
-        request = postJSON codeStar
-        response
-          = receiveJSON
-              (\ s h x ->
-                 DescribeUserProfileResponse' <$>
-                   (x .?> "sshPublicKey") <*> (x .?> "emailAddress") <*>
-                     (x .?> "displayName")
-                     <*> (pure (fromEnum s))
-                     <*> (x .:> "userArn")
-                     <*> (x .:> "createdTimestamp")
-                     <*> (x .:> "lastModifiedTimestamp"))
-
-instance Hashable DescribeUserProfile where
-
-instance NFData DescribeUserProfile where
-
-instance ToHeaders DescribeUserProfile where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.DescribeUserProfile" ::
-                       ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON DescribeUserProfile where
-        toJSON DescribeUserProfile'{..}
-          = object
-              (catMaybes [Just ("userArn" .= _dupUserARN)])
-
-instance ToPath DescribeUserProfile where
-        toPath = const "/"
-
-instance ToQuery DescribeUserProfile where
-        toQuery = const mempty
-
--- | /See:/ 'describeUserProfileResponse' smart constructor.
-data DescribeUserProfileResponse = DescribeUserProfileResponse'
-  { _duprsSshPublicKey          :: !(Maybe Text)
-  , _duprsEmailAddress          :: !(Maybe (Sensitive Text))
-  , _duprsDisplayName           :: !(Maybe Text)
-  , _duprsResponseStatus        :: !Int
-  , _duprsUserARN               :: !Text
-  , _duprsCreatedTimestamp      :: !POSIX
-  , _duprsLastModifiedTimestamp :: !POSIX
-  } deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'DescribeUserProfileResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'duprsSshPublicKey' - The SSH public key associated with the user. This SSH public key is associated with the user profile, and can be used in conjunction with the associated private key for access to project resources, such as Amazon EC2 instances, if a project owner grants remote access to those resources.
---
--- * 'duprsEmailAddress' - The email address for the user. Optional.
---
--- * 'duprsDisplayName' - The display name shown for the user in AWS CodeStar projects. For example, this could be set to both first and last name ("Mary Major") or a single name ("Mary"). The display name is also used to generate the initial icon associated with the user in AWS CodeStar projects. If spaces are included in the display name, the first character that appears after the space will be used as the second character in the user initial icon. The initial icon displays a maximum of two characters, so a display name with more than one space (for example "Mary Jane Major") would generate an initial icon using the first character and the first character after the space ("MJ", not "MM").
---
--- * 'duprsResponseStatus' - -- | The response status code.
---
--- * 'duprsUserARN' - The Amazon Resource Name (ARN) of the user.
---
--- * 'duprsCreatedTimestamp' - The date and time when the user profile was created in AWS CodeStar, in timestamp format.
---
--- * 'duprsLastModifiedTimestamp' - The date and time when the user profile was last modified, in timestamp format.
-describeUserProfileResponse
-    :: Int -- ^ 'duprsResponseStatus'
-    -> Text -- ^ 'duprsUserARN'
-    -> UTCTime -- ^ 'duprsCreatedTimestamp'
-    -> UTCTime -- ^ 'duprsLastModifiedTimestamp'
-    -> DescribeUserProfileResponse
-describeUserProfileResponse pResponseStatus_ pUserARN_ pCreatedTimestamp_ pLastModifiedTimestamp_ =
-  DescribeUserProfileResponse'
-    { _duprsSshPublicKey = Nothing
-    , _duprsEmailAddress = Nothing
-    , _duprsDisplayName = Nothing
-    , _duprsResponseStatus = pResponseStatus_
-    , _duprsUserARN = pUserARN_
-    , _duprsCreatedTimestamp = _Time # pCreatedTimestamp_
-    , _duprsLastModifiedTimestamp = _Time # pLastModifiedTimestamp_
-    }
-
-
--- | The SSH public key associated with the user. This SSH public key is associated with the user profile, and can be used in conjunction with the associated private key for access to project resources, such as Amazon EC2 instances, if a project owner grants remote access to those resources.
-duprsSshPublicKey :: Lens' DescribeUserProfileResponse (Maybe Text)
-duprsSshPublicKey = lens _duprsSshPublicKey (\ s a -> s{_duprsSshPublicKey = a})
-
--- | The email address for the user. Optional.
-duprsEmailAddress :: Lens' DescribeUserProfileResponse (Maybe Text)
-duprsEmailAddress = lens _duprsEmailAddress (\ s a -> s{_duprsEmailAddress = a}) . mapping _Sensitive
-
--- | The display name shown for the user in AWS CodeStar projects. For example, this could be set to both first and last name ("Mary Major") or a single name ("Mary"). The display name is also used to generate the initial icon associated with the user in AWS CodeStar projects. If spaces are included in the display name, the first character that appears after the space will be used as the second character in the user initial icon. The initial icon displays a maximum of two characters, so a display name with more than one space (for example "Mary Jane Major") would generate an initial icon using the first character and the first character after the space ("MJ", not "MM").
-duprsDisplayName :: Lens' DescribeUserProfileResponse (Maybe Text)
-duprsDisplayName = lens _duprsDisplayName (\ s a -> s{_duprsDisplayName = a})
-
--- | -- | The response status code.
-duprsResponseStatus :: Lens' DescribeUserProfileResponse Int
-duprsResponseStatus = lens _duprsResponseStatus (\ s a -> s{_duprsResponseStatus = a})
-
--- | The Amazon Resource Name (ARN) of the user.
-duprsUserARN :: Lens' DescribeUserProfileResponse Text
-duprsUserARN = lens _duprsUserARN (\ s a -> s{_duprsUserARN = a})
-
--- | The date and time when the user profile was created in AWS CodeStar, in timestamp format.
-duprsCreatedTimestamp :: Lens' DescribeUserProfileResponse UTCTime
-duprsCreatedTimestamp = lens _duprsCreatedTimestamp (\ s a -> s{_duprsCreatedTimestamp = a}) . _Time
-
--- | The date and time when the user profile was last modified, in timestamp format.
-duprsLastModifiedTimestamp :: Lens' DescribeUserProfileResponse UTCTime
-duprsLastModifiedTimestamp = lens _duprsLastModifiedTimestamp (\ s a -> s{_duprsLastModifiedTimestamp = a}) . _Time
-
-instance NFData DescribeUserProfileResponse where
diff --git a/gen/Network/AWS/CodeStar/DisassociateTeamMember.hs b/gen/Network/AWS/CodeStar/DisassociateTeamMember.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/DisassociateTeamMember.hs
+++ /dev/null
@@ -1,136 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.DisassociateTeamMember
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Removes a user from a project. Removing a user from a project also removes the IAM policies from that user that allowed access to the project and its resources. Disassociating a team member does not remove that user's profile from AWS CodeStar. It does not remove the user from IAM.
---
---
-module Network.AWS.CodeStar.DisassociateTeamMember
-    (
-    -- * Creating a Request
-      disassociateTeamMember
-    , DisassociateTeamMember
-    -- * Request Lenses
-    , dtmProjectId
-    , dtmUserARN
-
-    -- * Destructuring the Response
-    , disassociateTeamMemberResponse
-    , DisassociateTeamMemberResponse
-    -- * Response Lenses
-    , dtmrsResponseStatus
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'disassociateTeamMember' smart constructor.
-data DisassociateTeamMember = DisassociateTeamMember'
-  { _dtmProjectId :: !Text
-  , _dtmUserARN   :: !Text
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'DisassociateTeamMember' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dtmProjectId' - The ID of the AWS CodeStar project from which you want to remove a team member.
---
--- * 'dtmUserARN' - The Amazon Resource Name (ARN) of the IAM user or group whom you want to remove from the project.
-disassociateTeamMember
-    :: Text -- ^ 'dtmProjectId'
-    -> Text -- ^ 'dtmUserARN'
-    -> DisassociateTeamMember
-disassociateTeamMember pProjectId_ pUserARN_ =
-  DisassociateTeamMember' {_dtmProjectId = pProjectId_, _dtmUserARN = pUserARN_}
-
-
--- | The ID of the AWS CodeStar project from which you want to remove a team member.
-dtmProjectId :: Lens' DisassociateTeamMember Text
-dtmProjectId = lens _dtmProjectId (\ s a -> s{_dtmProjectId = a})
-
--- | The Amazon Resource Name (ARN) of the IAM user or group whom you want to remove from the project.
-dtmUserARN :: Lens' DisassociateTeamMember Text
-dtmUserARN = lens _dtmUserARN (\ s a -> s{_dtmUserARN = a})
-
-instance AWSRequest DisassociateTeamMember where
-        type Rs DisassociateTeamMember =
-             DisassociateTeamMemberResponse
-        request = postJSON codeStar
-        response
-          = receiveEmpty
-              (\ s h x ->
-                 DisassociateTeamMemberResponse' <$>
-                   (pure (fromEnum s)))
-
-instance Hashable DisassociateTeamMember where
-
-instance NFData DisassociateTeamMember where
-
-instance ToHeaders DisassociateTeamMember where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.DisassociateTeamMember" ::
-                       ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON DisassociateTeamMember where
-        toJSON DisassociateTeamMember'{..}
-          = object
-              (catMaybes
-                 [Just ("projectId" .= _dtmProjectId),
-                  Just ("userArn" .= _dtmUserARN)])
-
-instance ToPath DisassociateTeamMember where
-        toPath = const "/"
-
-instance ToQuery DisassociateTeamMember where
-        toQuery = const mempty
-
--- | /See:/ 'disassociateTeamMemberResponse' smart constructor.
-newtype DisassociateTeamMemberResponse = DisassociateTeamMemberResponse'
-  { _dtmrsResponseStatus :: Int
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'DisassociateTeamMemberResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'dtmrsResponseStatus' - -- | The response status code.
-disassociateTeamMemberResponse
-    :: Int -- ^ 'dtmrsResponseStatus'
-    -> DisassociateTeamMemberResponse
-disassociateTeamMemberResponse pResponseStatus_ =
-  DisassociateTeamMemberResponse' {_dtmrsResponseStatus = pResponseStatus_}
-
-
--- | -- | The response status code.
-dtmrsResponseStatus :: Lens' DisassociateTeamMemberResponse Int
-dtmrsResponseStatus = lens _dtmrsResponseStatus (\ s a -> s{_dtmrsResponseStatus = a})
-
-instance NFData DisassociateTeamMemberResponse where
diff --git a/gen/Network/AWS/CodeStar/ListProjects.hs b/gen/Network/AWS/CodeStar/ListProjects.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/ListProjects.hs
+++ /dev/null
@@ -1,152 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.ListProjects
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Lists all projects in AWS CodeStar associated with your AWS account.
---
---
-module Network.AWS.CodeStar.ListProjects
-    (
-    -- * Creating a Request
-      listProjects
-    , ListProjects
-    -- * Request Lenses
-    , lpNextToken
-    , lpMaxResults
-
-    -- * Destructuring the Response
-    , listProjectsResponse
-    , ListProjectsResponse
-    -- * Response Lenses
-    , lprsNextToken
-    , lprsResponseStatus
-    , lprsProjects
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'listProjects' smart constructor.
-data ListProjects = ListProjects'
-  { _lpNextToken  :: !(Maybe Text)
-  , _lpMaxResults :: !(Maybe Nat)
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListProjects' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lpNextToken' - The continuation token to be used to return the next set of results, if the results cannot be returned in one response.
---
--- * 'lpMaxResults' - The maximum amount of data that can be contained in a single set of results.
-listProjects
-    :: ListProjects
-listProjects = ListProjects' {_lpNextToken = Nothing, _lpMaxResults = Nothing}
-
-
--- | The continuation token to be used to return the next set of results, if the results cannot be returned in one response.
-lpNextToken :: Lens' ListProjects (Maybe Text)
-lpNextToken = lens _lpNextToken (\ s a -> s{_lpNextToken = a})
-
--- | The maximum amount of data that can be contained in a single set of results.
-lpMaxResults :: Lens' ListProjects (Maybe Natural)
-lpMaxResults = lens _lpMaxResults (\ s a -> s{_lpMaxResults = a}) . mapping _Nat
-
-instance AWSRequest ListProjects where
-        type Rs ListProjects = ListProjectsResponse
-        request = postJSON codeStar
-        response
-          = receiveJSON
-              (\ s h x ->
-                 ListProjectsResponse' <$>
-                   (x .?> "nextToken") <*> (pure (fromEnum s)) <*>
-                     (x .?> "projects" .!@ mempty))
-
-instance Hashable ListProjects where
-
-instance NFData ListProjects where
-
-instance ToHeaders ListProjects where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.ListProjects" :: ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON ListProjects where
-        toJSON ListProjects'{..}
-          = object
-              (catMaybes
-                 [("nextToken" .=) <$> _lpNextToken,
-                  ("maxResults" .=) <$> _lpMaxResults])
-
-instance ToPath ListProjects where
-        toPath = const "/"
-
-instance ToQuery ListProjects where
-        toQuery = const mempty
-
--- | /See:/ 'listProjectsResponse' smart constructor.
-data ListProjectsResponse = ListProjectsResponse'
-  { _lprsNextToken      :: !(Maybe Text)
-  , _lprsResponseStatus :: !Int
-  , _lprsProjects       :: ![ProjectSummary]
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListProjectsResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lprsNextToken' - The continuation token to use when requesting the next set of results, if there are more results to be returned.
---
--- * 'lprsResponseStatus' - -- | The response status code.
---
--- * 'lprsProjects' - A list of projects.
-listProjectsResponse
-    :: Int -- ^ 'lprsResponseStatus'
-    -> ListProjectsResponse
-listProjectsResponse pResponseStatus_ =
-  ListProjectsResponse'
-    { _lprsNextToken = Nothing
-    , _lprsResponseStatus = pResponseStatus_
-    , _lprsProjects = mempty
-    }
-
-
--- | The continuation token to use when requesting the next set of results, if there are more results to be returned.
-lprsNextToken :: Lens' ListProjectsResponse (Maybe Text)
-lprsNextToken = lens _lprsNextToken (\ s a -> s{_lprsNextToken = a})
-
--- | -- | The response status code.
-lprsResponseStatus :: Lens' ListProjectsResponse Int
-lprsResponseStatus = lens _lprsResponseStatus (\ s a -> s{_lprsResponseStatus = a})
-
--- | A list of projects.
-lprsProjects :: Lens' ListProjectsResponse [ProjectSummary]
-lprsProjects = lens _lprsProjects (\ s a -> s{_lprsProjects = a}) . _Coerce
-
-instance NFData ListProjectsResponse where
diff --git a/gen/Network/AWS/CodeStar/ListResources.hs b/gen/Network/AWS/CodeStar/ListResources.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/ListResources.hs
+++ /dev/null
@@ -1,168 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.ListResources
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Lists resources associated with a project in AWS CodeStar.
---
---
-module Network.AWS.CodeStar.ListResources
-    (
-    -- * Creating a Request
-      listResources
-    , ListResources
-    -- * Request Lenses
-    , lrNextToken
-    , lrMaxResults
-    , lrProjectId
-
-    -- * Destructuring the Response
-    , listResourcesResponse
-    , ListResourcesResponse
-    -- * Response Lenses
-    , lrrsResources
-    , lrrsNextToken
-    , lrrsResponseStatus
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'listResources' smart constructor.
-data ListResources = ListResources'
-  { _lrNextToken  :: !(Maybe Text)
-  , _lrMaxResults :: !(Maybe Nat)
-  , _lrProjectId  :: !Text
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListResources' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lrNextToken' - The continuation token for the next set of results, if the results cannot be returned in one response.
---
--- * 'lrMaxResults' - The maximum amount of data that can be contained in a single set of results.
---
--- * 'lrProjectId' - The ID of the project.
-listResources
-    :: Text -- ^ 'lrProjectId'
-    -> ListResources
-listResources pProjectId_ =
-  ListResources'
-    { _lrNextToken = Nothing
-    , _lrMaxResults = Nothing
-    , _lrProjectId = pProjectId_
-    }
-
-
--- | The continuation token for the next set of results, if the results cannot be returned in one response.
-lrNextToken :: Lens' ListResources (Maybe Text)
-lrNextToken = lens _lrNextToken (\ s a -> s{_lrNextToken = a})
-
--- | The maximum amount of data that can be contained in a single set of results.
-lrMaxResults :: Lens' ListResources (Maybe Natural)
-lrMaxResults = lens _lrMaxResults (\ s a -> s{_lrMaxResults = a}) . mapping _Nat
-
--- | The ID of the project.
-lrProjectId :: Lens' ListResources Text
-lrProjectId = lens _lrProjectId (\ s a -> s{_lrProjectId = a})
-
-instance AWSRequest ListResources where
-        type Rs ListResources = ListResourcesResponse
-        request = postJSON codeStar
-        response
-          = receiveJSON
-              (\ s h x ->
-                 ListResourcesResponse' <$>
-                   (x .?> "resources" .!@ mempty) <*>
-                     (x .?> "nextToken")
-                     <*> (pure (fromEnum s)))
-
-instance Hashable ListResources where
-
-instance NFData ListResources where
-
-instance ToHeaders ListResources where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.ListResources" :: ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON ListResources where
-        toJSON ListResources'{..}
-          = object
-              (catMaybes
-                 [("nextToken" .=) <$> _lrNextToken,
-                  ("maxResults" .=) <$> _lrMaxResults,
-                  Just ("projectId" .= _lrProjectId)])
-
-instance ToPath ListResources where
-        toPath = const "/"
-
-instance ToQuery ListResources where
-        toQuery = const mempty
-
--- | /See:/ 'listResourcesResponse' smart constructor.
-data ListResourcesResponse = ListResourcesResponse'
-  { _lrrsResources      :: !(Maybe [Resource])
-  , _lrrsNextToken      :: !(Maybe Text)
-  , _lrrsResponseStatus :: !Int
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListResourcesResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lrrsResources' - An array of resources associated with the project.
---
--- * 'lrrsNextToken' - The continuation token to use when requesting the next set of results, if there are more results to be returned.
---
--- * 'lrrsResponseStatus' - -- | The response status code.
-listResourcesResponse
-    :: Int -- ^ 'lrrsResponseStatus'
-    -> ListResourcesResponse
-listResourcesResponse pResponseStatus_ =
-  ListResourcesResponse'
-    { _lrrsResources = Nothing
-    , _lrrsNextToken = Nothing
-    , _lrrsResponseStatus = pResponseStatus_
-    }
-
-
--- | An array of resources associated with the project.
-lrrsResources :: Lens' ListResourcesResponse [Resource]
-lrrsResources = lens _lrrsResources (\ s a -> s{_lrrsResources = a}) . _Default . _Coerce
-
--- | The continuation token to use when requesting the next set of results, if there are more results to be returned.
-lrrsNextToken :: Lens' ListResourcesResponse (Maybe Text)
-lrrsNextToken = lens _lrrsNextToken (\ s a -> s{_lrrsNextToken = a})
-
--- | -- | The response status code.
-lrrsResponseStatus :: Lens' ListResourcesResponse Int
-lrrsResponseStatus = lens _lrrsResponseStatus (\ s a -> s{_lrrsResponseStatus = a})
-
-instance NFData ListResourcesResponse where
diff --git a/gen/Network/AWS/CodeStar/ListTagsForProject.hs b/gen/Network/AWS/CodeStar/ListTagsForProject.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/ListTagsForProject.hs
+++ /dev/null
@@ -1,166 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.ListTagsForProject
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Gets the tags for a project.
---
---
-module Network.AWS.CodeStar.ListTagsForProject
-    (
-    -- * Creating a Request
-      listTagsForProject
-    , ListTagsForProject
-    -- * Request Lenses
-    , ltfpNextToken
-    , ltfpMaxResults
-    , ltfpId
-
-    -- * Destructuring the Response
-    , listTagsForProjectResponse
-    , ListTagsForProjectResponse
-    -- * Response Lenses
-    , ltfprsNextToken
-    , ltfprsTags
-    , ltfprsResponseStatus
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'listTagsForProject' smart constructor.
-data ListTagsForProject = ListTagsForProject'
-  { _ltfpNextToken  :: !(Maybe Text)
-  , _ltfpMaxResults :: !(Maybe Nat)
-  , _ltfpId         :: !Text
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListTagsForProject' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ltfpNextToken' - Reserved for future use.
---
--- * 'ltfpMaxResults' - Reserved for future use.
---
--- * 'ltfpId' - The ID of the project to get tags for.
-listTagsForProject
-    :: Text -- ^ 'ltfpId'
-    -> ListTagsForProject
-listTagsForProject pId_ =
-  ListTagsForProject'
-    {_ltfpNextToken = Nothing, _ltfpMaxResults = Nothing, _ltfpId = pId_}
-
-
--- | Reserved for future use.
-ltfpNextToken :: Lens' ListTagsForProject (Maybe Text)
-ltfpNextToken = lens _ltfpNextToken (\ s a -> s{_ltfpNextToken = a})
-
--- | Reserved for future use.
-ltfpMaxResults :: Lens' ListTagsForProject (Maybe Natural)
-ltfpMaxResults = lens _ltfpMaxResults (\ s a -> s{_ltfpMaxResults = a}) . mapping _Nat
-
--- | The ID of the project to get tags for.
-ltfpId :: Lens' ListTagsForProject Text
-ltfpId = lens _ltfpId (\ s a -> s{_ltfpId = a})
-
-instance AWSRequest ListTagsForProject where
-        type Rs ListTagsForProject =
-             ListTagsForProjectResponse
-        request = postJSON codeStar
-        response
-          = receiveJSON
-              (\ s h x ->
-                 ListTagsForProjectResponse' <$>
-                   (x .?> "nextToken") <*> (x .?> "tags" .!@ mempty) <*>
-                     (pure (fromEnum s)))
-
-instance Hashable ListTagsForProject where
-
-instance NFData ListTagsForProject where
-
-instance ToHeaders ListTagsForProject where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.ListTagsForProject" ::
-                       ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON ListTagsForProject where
-        toJSON ListTagsForProject'{..}
-          = object
-              (catMaybes
-                 [("nextToken" .=) <$> _ltfpNextToken,
-                  ("maxResults" .=) <$> _ltfpMaxResults,
-                  Just ("id" .= _ltfpId)])
-
-instance ToPath ListTagsForProject where
-        toPath = const "/"
-
-instance ToQuery ListTagsForProject where
-        toQuery = const mempty
-
--- | /See:/ 'listTagsForProjectResponse' smart constructor.
-data ListTagsForProjectResponse = ListTagsForProjectResponse'
-  { _ltfprsNextToken      :: !(Maybe Text)
-  , _ltfprsTags           :: !(Maybe (Map Text Text))
-  , _ltfprsResponseStatus :: !Int
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListTagsForProjectResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ltfprsNextToken' - Reserved for future use.
---
--- * 'ltfprsTags' - The tags for the project.
---
--- * 'ltfprsResponseStatus' - -- | The response status code.
-listTagsForProjectResponse
-    :: Int -- ^ 'ltfprsResponseStatus'
-    -> ListTagsForProjectResponse
-listTagsForProjectResponse pResponseStatus_ =
-  ListTagsForProjectResponse'
-    { _ltfprsNextToken = Nothing
-    , _ltfprsTags = Nothing
-    , _ltfprsResponseStatus = pResponseStatus_
-    }
-
-
--- | Reserved for future use.
-ltfprsNextToken :: Lens' ListTagsForProjectResponse (Maybe Text)
-ltfprsNextToken = lens _ltfprsNextToken (\ s a -> s{_ltfprsNextToken = a})
-
--- | The tags for the project.
-ltfprsTags :: Lens' ListTagsForProjectResponse (HashMap Text Text)
-ltfprsTags = lens _ltfprsTags (\ s a -> s{_ltfprsTags = a}) . _Default . _Map
-
--- | -- | The response status code.
-ltfprsResponseStatus :: Lens' ListTagsForProjectResponse Int
-ltfprsResponseStatus = lens _ltfprsResponseStatus (\ s a -> s{_ltfprsResponseStatus = a})
-
-instance NFData ListTagsForProjectResponse where
diff --git a/gen/Network/AWS/CodeStar/ListTeamMembers.hs b/gen/Network/AWS/CodeStar/ListTeamMembers.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/ListTeamMembers.hs
+++ /dev/null
@@ -1,167 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.ListTeamMembers
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Lists all team members associated with a project.
---
---
-module Network.AWS.CodeStar.ListTeamMembers
-    (
-    -- * Creating a Request
-      listTeamMembers
-    , ListTeamMembers
-    -- * Request Lenses
-    , ltmNextToken
-    , ltmMaxResults
-    , ltmProjectId
-
-    -- * Destructuring the Response
-    , listTeamMembersResponse
-    , ListTeamMembersResponse
-    -- * Response Lenses
-    , ltmrsNextToken
-    , ltmrsResponseStatus
-    , ltmrsTeamMembers
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'listTeamMembers' smart constructor.
-data ListTeamMembers = ListTeamMembers'
-  { _ltmNextToken  :: !(Maybe Text)
-  , _ltmMaxResults :: !(Maybe Nat)
-  , _ltmProjectId  :: !Text
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListTeamMembers' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ltmNextToken' - The continuation token for the next set of results, if the results cannot be returned in one response.
---
--- * 'ltmMaxResults' - The maximum number of team members you want returned in a response.
---
--- * 'ltmProjectId' - The ID of the project for which you want to list team members.
-listTeamMembers
-    :: Text -- ^ 'ltmProjectId'
-    -> ListTeamMembers
-listTeamMembers pProjectId_ =
-  ListTeamMembers'
-    { _ltmNextToken = Nothing
-    , _ltmMaxResults = Nothing
-    , _ltmProjectId = pProjectId_
-    }
-
-
--- | The continuation token for the next set of results, if the results cannot be returned in one response.
-ltmNextToken :: Lens' ListTeamMembers (Maybe Text)
-ltmNextToken = lens _ltmNextToken (\ s a -> s{_ltmNextToken = a})
-
--- | The maximum number of team members you want returned in a response.
-ltmMaxResults :: Lens' ListTeamMembers (Maybe Natural)
-ltmMaxResults = lens _ltmMaxResults (\ s a -> s{_ltmMaxResults = a}) . mapping _Nat
-
--- | The ID of the project for which you want to list team members.
-ltmProjectId :: Lens' ListTeamMembers Text
-ltmProjectId = lens _ltmProjectId (\ s a -> s{_ltmProjectId = a})
-
-instance AWSRequest ListTeamMembers where
-        type Rs ListTeamMembers = ListTeamMembersResponse
-        request = postJSON codeStar
-        response
-          = receiveJSON
-              (\ s h x ->
-                 ListTeamMembersResponse' <$>
-                   (x .?> "nextToken") <*> (pure (fromEnum s)) <*>
-                     (x .?> "teamMembers" .!@ mempty))
-
-instance Hashable ListTeamMembers where
-
-instance NFData ListTeamMembers where
-
-instance ToHeaders ListTeamMembers where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.ListTeamMembers" :: ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON ListTeamMembers where
-        toJSON ListTeamMembers'{..}
-          = object
-              (catMaybes
-                 [("nextToken" .=) <$> _ltmNextToken,
-                  ("maxResults" .=) <$> _ltmMaxResults,
-                  Just ("projectId" .= _ltmProjectId)])
-
-instance ToPath ListTeamMembers where
-        toPath = const "/"
-
-instance ToQuery ListTeamMembers where
-        toQuery = const mempty
-
--- | /See:/ 'listTeamMembersResponse' smart constructor.
-data ListTeamMembersResponse = ListTeamMembersResponse'
-  { _ltmrsNextToken      :: !(Maybe Text)
-  , _ltmrsResponseStatus :: !Int
-  , _ltmrsTeamMembers    :: ![TeamMember]
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListTeamMembersResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ltmrsNextToken' - The continuation token to use when requesting the next set of results, if there are more results to be returned.
---
--- * 'ltmrsResponseStatus' - -- | The response status code.
---
--- * 'ltmrsTeamMembers' - A list of team member objects for the project.
-listTeamMembersResponse
-    :: Int -- ^ 'ltmrsResponseStatus'
-    -> ListTeamMembersResponse
-listTeamMembersResponse pResponseStatus_ =
-  ListTeamMembersResponse'
-    { _ltmrsNextToken = Nothing
-    , _ltmrsResponseStatus = pResponseStatus_
-    , _ltmrsTeamMembers = mempty
-    }
-
-
--- | The continuation token to use when requesting the next set of results, if there are more results to be returned.
-ltmrsNextToken :: Lens' ListTeamMembersResponse (Maybe Text)
-ltmrsNextToken = lens _ltmrsNextToken (\ s a -> s{_ltmrsNextToken = a})
-
--- | -- | The response status code.
-ltmrsResponseStatus :: Lens' ListTeamMembersResponse Int
-ltmrsResponseStatus = lens _ltmrsResponseStatus (\ s a -> s{_ltmrsResponseStatus = a})
-
--- | A list of team member objects for the project.
-ltmrsTeamMembers :: Lens' ListTeamMembersResponse [TeamMember]
-ltmrsTeamMembers = lens _ltmrsTeamMembers (\ s a -> s{_ltmrsTeamMembers = a}) . _Coerce
-
-instance NFData ListTeamMembersResponse where
diff --git a/gen/Network/AWS/CodeStar/ListUserProfiles.hs b/gen/Network/AWS/CodeStar/ListUserProfiles.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/ListUserProfiles.hs
+++ /dev/null
@@ -1,153 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.ListUserProfiles
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Lists all the user profiles configured for your AWS account in AWS CodeStar.
---
---
-module Network.AWS.CodeStar.ListUserProfiles
-    (
-    -- * Creating a Request
-      listUserProfiles
-    , ListUserProfiles
-    -- * Request Lenses
-    , lupNextToken
-    , lupMaxResults
-
-    -- * Destructuring the Response
-    , listUserProfilesResponse
-    , ListUserProfilesResponse
-    -- * Response Lenses
-    , luprsNextToken
-    , luprsResponseStatus
-    , luprsUserProfiles
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'listUserProfiles' smart constructor.
-data ListUserProfiles = ListUserProfiles'
-  { _lupNextToken  :: !(Maybe Text)
-  , _lupMaxResults :: !(Maybe Nat)
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListUserProfiles' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'lupNextToken' - The continuation token for the next set of results, if the results cannot be returned in one response.
---
--- * 'lupMaxResults' - The maximum number of results to return in a response.
-listUserProfiles
-    :: ListUserProfiles
-listUserProfiles =
-  ListUserProfiles' {_lupNextToken = Nothing, _lupMaxResults = Nothing}
-
-
--- | The continuation token for the next set of results, if the results cannot be returned in one response.
-lupNextToken :: Lens' ListUserProfiles (Maybe Text)
-lupNextToken = lens _lupNextToken (\ s a -> s{_lupNextToken = a})
-
--- | The maximum number of results to return in a response.
-lupMaxResults :: Lens' ListUserProfiles (Maybe Natural)
-lupMaxResults = lens _lupMaxResults (\ s a -> s{_lupMaxResults = a}) . mapping _Nat
-
-instance AWSRequest ListUserProfiles where
-        type Rs ListUserProfiles = ListUserProfilesResponse
-        request = postJSON codeStar
-        response
-          = receiveJSON
-              (\ s h x ->
-                 ListUserProfilesResponse' <$>
-                   (x .?> "nextToken") <*> (pure (fromEnum s)) <*>
-                     (x .?> "userProfiles" .!@ mempty))
-
-instance Hashable ListUserProfiles where
-
-instance NFData ListUserProfiles where
-
-instance ToHeaders ListUserProfiles where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.ListUserProfiles" :: ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON ListUserProfiles where
-        toJSON ListUserProfiles'{..}
-          = object
-              (catMaybes
-                 [("nextToken" .=) <$> _lupNextToken,
-                  ("maxResults" .=) <$> _lupMaxResults])
-
-instance ToPath ListUserProfiles where
-        toPath = const "/"
-
-instance ToQuery ListUserProfiles where
-        toQuery = const mempty
-
--- | /See:/ 'listUserProfilesResponse' smart constructor.
-data ListUserProfilesResponse = ListUserProfilesResponse'
-  { _luprsNextToken      :: !(Maybe Text)
-  , _luprsResponseStatus :: !Int
-  , _luprsUserProfiles   :: ![UserProfileSummary]
-  } deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ListUserProfilesResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'luprsNextToken' - The continuation token to use when requesting the next set of results, if there are more results to be returned.
---
--- * 'luprsResponseStatus' - -- | The response status code.
---
--- * 'luprsUserProfiles' - All the user profiles configured in AWS CodeStar for an AWS account.
-listUserProfilesResponse
-    :: Int -- ^ 'luprsResponseStatus'
-    -> ListUserProfilesResponse
-listUserProfilesResponse pResponseStatus_ =
-  ListUserProfilesResponse'
-    { _luprsNextToken = Nothing
-    , _luprsResponseStatus = pResponseStatus_
-    , _luprsUserProfiles = mempty
-    }
-
-
--- | The continuation token to use when requesting the next set of results, if there are more results to be returned.
-luprsNextToken :: Lens' ListUserProfilesResponse (Maybe Text)
-luprsNextToken = lens _luprsNextToken (\ s a -> s{_luprsNextToken = a})
-
--- | -- | The response status code.
-luprsResponseStatus :: Lens' ListUserProfilesResponse Int
-luprsResponseStatus = lens _luprsResponseStatus (\ s a -> s{_luprsResponseStatus = a})
-
--- | All the user profiles configured in AWS CodeStar for an AWS account.
-luprsUserProfiles :: Lens' ListUserProfilesResponse [UserProfileSummary]
-luprsUserProfiles = lens _luprsUserProfiles (\ s a -> s{_luprsUserProfiles = a}) . _Coerce
-
-instance NFData ListUserProfilesResponse where
diff --git a/gen/Network/AWS/CodeStar/TagProject.hs b/gen/Network/AWS/CodeStar/TagProject.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/TagProject.hs
+++ /dev/null
@@ -1,140 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.TagProject
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Adds tags to a project.
---
---
-module Network.AWS.CodeStar.TagProject
-    (
-    -- * Creating a Request
-      tagProject
-    , TagProject
-    -- * Request Lenses
-    , tpId
-    , tpTags
-
-    -- * Destructuring the Response
-    , tagProjectResponse
-    , TagProjectResponse
-    -- * Response Lenses
-    , tprsTags
-    , tprsResponseStatus
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'tagProject' smart constructor.
-data TagProject = TagProject'
-  { _tpId   :: !Text
-  , _tpTags :: !(Map Text Text)
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TagProject' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tpId' - The ID of the project you want to add a tag to.
---
--- * 'tpTags' - The tags you want to add to the project.
-tagProject
-    :: Text -- ^ 'tpId'
-    -> TagProject
-tagProject pId_ = TagProject' {_tpId = pId_, _tpTags = mempty}
-
-
--- | The ID of the project you want to add a tag to.
-tpId :: Lens' TagProject Text
-tpId = lens _tpId (\ s a -> s{_tpId = a})
-
--- | The tags you want to add to the project.
-tpTags :: Lens' TagProject (HashMap Text Text)
-tpTags = lens _tpTags (\ s a -> s{_tpTags = a}) . _Map
-
-instance AWSRequest TagProject where
-        type Rs TagProject = TagProjectResponse
-        request = postJSON codeStar
-        response
-          = receiveJSON
-              (\ s h x ->
-                 TagProjectResponse' <$>
-                   (x .?> "tags" .!@ mempty) <*> (pure (fromEnum s)))
-
-instance Hashable TagProject where
-
-instance NFData TagProject where
-
-instance ToHeaders TagProject where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.TagProject" :: ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON TagProject where
-        toJSON TagProject'{..}
-          = object
-              (catMaybes
-                 [Just ("id" .= _tpId), Just ("tags" .= _tpTags)])
-
-instance ToPath TagProject where
-        toPath = const "/"
-
-instance ToQuery TagProject where
-        toQuery = const mempty
-
--- | /See:/ 'tagProjectResponse' smart constructor.
-data TagProjectResponse = TagProjectResponse'
-  { _tprsTags           :: !(Maybe (Map Text Text))
-  , _tprsResponseStatus :: !Int
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TagProjectResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tprsTags' - The tags for the project.
---
--- * 'tprsResponseStatus' - -- | The response status code.
-tagProjectResponse
-    :: Int -- ^ 'tprsResponseStatus'
-    -> TagProjectResponse
-tagProjectResponse pResponseStatus_ =
-  TagProjectResponse'
-    {_tprsTags = Nothing, _tprsResponseStatus = pResponseStatus_}
-
-
--- | The tags for the project.
-tprsTags :: Lens' TagProjectResponse (HashMap Text Text)
-tprsTags = lens _tprsTags (\ s a -> s{_tprsTags = a}) . _Default . _Map
-
--- | -- | The response status code.
-tprsResponseStatus :: Lens' TagProjectResponse Int
-tprsResponseStatus = lens _tprsResponseStatus (\ s a -> s{_tprsResponseStatus = a})
-
-instance NFData TagProjectResponse where
diff --git a/gen/Network/AWS/CodeStar/Types.hs b/gen/Network/AWS/CodeStar/Types.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/Types.hs
+++ /dev/null
@@ -1,205 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.Types
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
-module Network.AWS.CodeStar.Types
-    (
-    -- * Service Configuration
-      codeStar
-
-    -- * Errors
-    , _TeamMemberAlreadyAssociatedException
-    , _ValidationException
-    , _InvalidServiceRoleException
-    , _ProjectCreationFailedException
-    , _UserProfileAlreadyExistsException
-    , _ProjectNotFoundException
-    , _TeamMemberNotFoundException
-    , _ProjectAlreadyExistsException
-    , _ProjectConfigurationException
-    , _ConcurrentModificationException
-    , _InvalidNextTokenException
-    , _UserProfileNotFoundException
-    , _LimitExceededException
-
-    -- * ProjectSummary
-    , ProjectSummary
-    , projectSummary
-    , psProjectARN
-    , psProjectId
-
-    -- * Resource
-    , Resource
-    , resource
-    , rId
-
-    -- * TeamMember
-    , TeamMember
-    , teamMember
-    , tmRemoteAccessAllowed
-    , tmUserARN
-    , tmProjectRole
-
-    -- * UserProfileSummary
-    , UserProfileSummary
-    , userProfileSummary
-    , upsSshPublicKey
-    , upsUserARN
-    , upsEmailAddress
-    , upsDisplayName
-    ) where
-
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.CodeStar.Types.Sum
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Sign.V4
-
--- | API version @2017-04-19@ of the Amazon CodeStar SDK configuration.
-codeStar :: Service
-codeStar =
-  Service
-    { _svcAbbrev = "CodeStar"
-    , _svcSigner = v4
-    , _svcPrefix = "codestar"
-    , _svcVersion = "2017-04-19"
-    , _svcEndpoint = defaultEndpoint codeStar
-    , _svcTimeout = Just 70
-    , _svcCheck = statusSuccess
-    , _svcError = parseJSONError "CodeStar"
-    , _svcRetry = retry
-    }
-  where
-    retry =
-      Exponential
-        { _retryBase = 5.0e-2
-        , _retryGrowth = 2
-        , _retryAttempts = 5
-        , _retryCheck = check
-        }
-    check e
-      | has (hasCode "ThrottledException" . hasStatus 400) e =
-        Just "throttled_exception"
-      | has (hasStatus 429) e = Just "too_many_requests"
-      | has (hasCode "ThrottlingException" . hasStatus 400) e =
-        Just "throttling_exception"
-      | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
-      | has (hasStatus 504) e = Just "gateway_timeout"
-      | has (hasCode "RequestThrottledException" . hasStatus 400) e =
-        Just "request_throttled_exception"
-      | has (hasStatus 502) e = Just "bad_gateway"
-      | has (hasStatus 503) e = Just "service_unavailable"
-      | has (hasStatus 500) e = Just "general_server_error"
-      | has (hasStatus 509) e = Just "limit_exceeded"
-      | otherwise = Nothing
-
-
--- | The team member is already associated with a role in this project.
---
---
-_TeamMemberAlreadyAssociatedException :: AsError a => Getting (First ServiceError) a ServiceError
-_TeamMemberAlreadyAssociatedException =
-  _MatchServiceError codeStar "TeamMemberAlreadyAssociatedException"
-
-
--- | The specified input is either not valid, or it could not be validated.
---
---
-_ValidationException :: AsError a => Getting (First ServiceError) a ServiceError
-_ValidationException = _MatchServiceError codeStar "ValidationException"
-
-
--- | The service role is not valid.
---
---
-_InvalidServiceRoleException :: AsError a => Getting (First ServiceError) a ServiceError
-_InvalidServiceRoleException =
-  _MatchServiceError codeStar "InvalidServiceRoleException"
-
-
--- | The project creation request was valid, but a nonspecific exception or error occurred during project creation. The project could not be created in AWS CodeStar.
---
---
-_ProjectCreationFailedException :: AsError a => Getting (First ServiceError) a ServiceError
-_ProjectCreationFailedException =
-  _MatchServiceError codeStar "ProjectCreationFailedException"
-
-
--- | A user profile with that name already exists in this region for the AWS account. AWS CodeStar user profile names must be unique within a region for the AWS account.
---
---
-_UserProfileAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
-_UserProfileAlreadyExistsException =
-  _MatchServiceError codeStar "UserProfileAlreadyExistsException"
-
-
--- | The specified AWS CodeStar project was not found.
---
---
-_ProjectNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
-_ProjectNotFoundException =
-  _MatchServiceError codeStar "ProjectNotFoundException"
-
-
--- | The specified team member was not found.
---
---
-_TeamMemberNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
-_TeamMemberNotFoundException =
-  _MatchServiceError codeStar "TeamMemberNotFoundException"
-
-
--- | An AWS CodeStar project with the same ID already exists in this region for the AWS account. AWS CodeStar project IDs must be unique within a region for the AWS account.
---
---
-_ProjectAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
-_ProjectAlreadyExistsException =
-  _MatchServiceError codeStar "ProjectAlreadyExistsException"
-
-
--- | Project configuration information is required but not specified.
---
---
-_ProjectConfigurationException :: AsError a => Getting (First ServiceError) a ServiceError
-_ProjectConfigurationException =
-  _MatchServiceError codeStar "ProjectConfigurationException"
-
-
--- | Another modification is being made. That modification must complete before you can make your change.
---
---
-_ConcurrentModificationException :: AsError a => Getting (First ServiceError) a ServiceError
-_ConcurrentModificationException =
-  _MatchServiceError codeStar "ConcurrentModificationException"
-
-
--- | The next token is not valid.
---
---
-_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError
-_InvalidNextTokenException =
-  _MatchServiceError codeStar "InvalidNextTokenException"
-
-
--- | The user profile was not found.
---
---
-_UserProfileNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
-_UserProfileNotFoundException =
-  _MatchServiceError codeStar "UserProfileNotFoundException"
-
-
--- | A resource limit has been exceeded.
---
---
-_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
-_LimitExceededException = _MatchServiceError codeStar "LimitExceededException"
-
diff --git a/gen/Network/AWS/CodeStar/Types/Product.hs b/gen/Network/AWS/CodeStar/Types/Product.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/Types/Product.hs
+++ /dev/null
@@ -1,220 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.Types.Product
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
-module Network.AWS.CodeStar.Types.Product where
-
-import Network.AWS.CodeStar.Types.Sum
-import Network.AWS.Lens
-import Network.AWS.Prelude
-
--- | Information about the metadata for a project.
---
---
---
--- /See:/ 'projectSummary' smart constructor.
-data ProjectSummary = ProjectSummary'
-  { _psProjectARN :: !(Maybe Text)
-  , _psProjectId  :: !(Maybe Text)
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ProjectSummary' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'psProjectARN' - The Amazon Resource Name (ARN) of the project.
---
--- * 'psProjectId' - The ID of the project.
-projectSummary
-    :: ProjectSummary
-projectSummary =
-  ProjectSummary' {_psProjectARN = Nothing, _psProjectId = Nothing}
-
-
--- | The Amazon Resource Name (ARN) of the project.
-psProjectARN :: Lens' ProjectSummary (Maybe Text)
-psProjectARN = lens _psProjectARN (\ s a -> s{_psProjectARN = a})
-
--- | The ID of the project.
-psProjectId :: Lens' ProjectSummary (Maybe Text)
-psProjectId = lens _psProjectId (\ s a -> s{_psProjectId = a})
-
-instance FromJSON ProjectSummary where
-        parseJSON
-          = withObject "ProjectSummary"
-              (\ x ->
-                 ProjectSummary' <$>
-                   (x .:? "projectArn") <*> (x .:? "projectId"))
-
-instance Hashable ProjectSummary where
-
-instance NFData ProjectSummary where
-
--- | Information about a resource for a project.
---
---
---
--- /See:/ 'resource' smart constructor.
-newtype Resource = Resource'
-  { _rId :: Text
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Resource' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'rId' - The Amazon Resource Name (ARN) of the resource.
-resource
-    :: Text -- ^ 'rId'
-    -> Resource
-resource pId_ = Resource' {_rId = pId_}
-
-
--- | The Amazon Resource Name (ARN) of the resource.
-rId :: Lens' Resource Text
-rId = lens _rId (\ s a -> s{_rId = a})
-
-instance FromJSON Resource where
-        parseJSON
-          = withObject "Resource"
-              (\ x -> Resource' <$> (x .: "id"))
-
-instance Hashable Resource where
-
-instance NFData Resource where
-
--- | Information about a team member in a project.
---
---
---
--- /See:/ 'teamMember' smart constructor.
-data TeamMember = TeamMember'
-  { _tmRemoteAccessAllowed :: !(Maybe Bool)
-  , _tmUserARN             :: !Text
-  , _tmProjectRole         :: !Text
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'TeamMember' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'tmRemoteAccessAllowed' - Whether the user is allowed to remotely access project resources using an SSH public/private key pair.
---
--- * 'tmUserARN' - The Amazon Resource Name (ARN) of the user in IAM.
---
--- * 'tmProjectRole' - The role assigned to the user in the project. Project roles have different levels of access. For more information, see <http://docs.aws.amazon.com/codestar/latest/userguide/working-with-teams.html Working with Teams> in the /AWS CodeStar User Guide/ .
-teamMember
-    :: Text -- ^ 'tmUserARN'
-    -> Text -- ^ 'tmProjectRole'
-    -> TeamMember
-teamMember pUserARN_ pProjectRole_ =
-  TeamMember'
-    { _tmRemoteAccessAllowed = Nothing
-    , _tmUserARN = pUserARN_
-    , _tmProjectRole = pProjectRole_
-    }
-
-
--- | Whether the user is allowed to remotely access project resources using an SSH public/private key pair.
-tmRemoteAccessAllowed :: Lens' TeamMember (Maybe Bool)
-tmRemoteAccessAllowed = lens _tmRemoteAccessAllowed (\ s a -> s{_tmRemoteAccessAllowed = a})
-
--- | The Amazon Resource Name (ARN) of the user in IAM.
-tmUserARN :: Lens' TeamMember Text
-tmUserARN = lens _tmUserARN (\ s a -> s{_tmUserARN = a})
-
--- | The role assigned to the user in the project. Project roles have different levels of access. For more information, see <http://docs.aws.amazon.com/codestar/latest/userguide/working-with-teams.html Working with Teams> in the /AWS CodeStar User Guide/ .
-tmProjectRole :: Lens' TeamMember Text
-tmProjectRole = lens _tmProjectRole (\ s a -> s{_tmProjectRole = a})
-
-instance FromJSON TeamMember where
-        parseJSON
-          = withObject "TeamMember"
-              (\ x ->
-                 TeamMember' <$>
-                   (x .:? "remoteAccessAllowed") <*> (x .: "userArn")
-                     <*> (x .: "projectRole"))
-
-instance Hashable TeamMember where
-
-instance NFData TeamMember where
-
--- | Information about a user's profile in AWS CodeStar.
---
---
---
--- /See:/ 'userProfileSummary' smart constructor.
-data UserProfileSummary = UserProfileSummary'
-  { _upsSshPublicKey :: !(Maybe Text)
-  , _upsUserARN      :: !(Maybe Text)
-  , _upsEmailAddress :: !(Maybe (Sensitive Text))
-  , _upsDisplayName  :: !(Maybe Text)
-  } deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'UserProfileSummary' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'upsSshPublicKey' - The SSH public key associated with the user in AWS CodeStar. If a project owner allows the user remote access to project resources, this public key will be used along with the user's private key for SSH access.
---
--- * 'upsUserARN' - The Amazon Resource Name (ARN) of the user in IAM.
---
--- * 'upsEmailAddress' - The email address associated with the user.
---
--- * 'upsDisplayName' - The display name of a user in AWS CodeStar. For example, this could be set to both first and last name ("Mary Major") or a single name ("Mary"). The display name is also used to generate the initial icon associated with the user in AWS CodeStar projects. If spaces are included in the display name, the first character that appears after the space will be used as the second character in the user initial icon. The initial icon displays a maximum of two characters, so a display name with more than one space (for example "Mary Jane Major") would generate an initial icon using the first character and the first character after the space ("MJ", not "MM").
-userProfileSummary
-    :: UserProfileSummary
-userProfileSummary =
-  UserProfileSummary'
-    { _upsSshPublicKey = Nothing
-    , _upsUserARN = Nothing
-    , _upsEmailAddress = Nothing
-    , _upsDisplayName = Nothing
-    }
-
-
--- | The SSH public key associated with the user in AWS CodeStar. If a project owner allows the user remote access to project resources, this public key will be used along with the user's private key for SSH access.
-upsSshPublicKey :: Lens' UserProfileSummary (Maybe Text)
-upsSshPublicKey = lens _upsSshPublicKey (\ s a -> s{_upsSshPublicKey = a})
-
--- | The Amazon Resource Name (ARN) of the user in IAM.
-upsUserARN :: Lens' UserProfileSummary (Maybe Text)
-upsUserARN = lens _upsUserARN (\ s a -> s{_upsUserARN = a})
-
--- | The email address associated with the user.
-upsEmailAddress :: Lens' UserProfileSummary (Maybe Text)
-upsEmailAddress = lens _upsEmailAddress (\ s a -> s{_upsEmailAddress = a}) . mapping _Sensitive
-
--- | The display name of a user in AWS CodeStar. For example, this could be set to both first and last name ("Mary Major") or a single name ("Mary"). The display name is also used to generate the initial icon associated with the user in AWS CodeStar projects. If spaces are included in the display name, the first character that appears after the space will be used as the second character in the user initial icon. The initial icon displays a maximum of two characters, so a display name with more than one space (for example "Mary Jane Major") would generate an initial icon using the first character and the first character after the space ("MJ", not "MM").
-upsDisplayName :: Lens' UserProfileSummary (Maybe Text)
-upsDisplayName = lens _upsDisplayName (\ s a -> s{_upsDisplayName = a})
-
-instance FromJSON UserProfileSummary where
-        parseJSON
-          = withObject "UserProfileSummary"
-              (\ x ->
-                 UserProfileSummary' <$>
-                   (x .:? "sshPublicKey") <*> (x .:? "userArn") <*>
-                     (x .:? "emailAddress")
-                     <*> (x .:? "displayName"))
-
-instance Hashable UserProfileSummary where
-
-instance NFData UserProfileSummary where
diff --git a/gen/Network/AWS/CodeStar/Types/Sum.hs b/gen/Network/AWS/CodeStar/Types/Sum.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/Types/Sum.hs
+++ /dev/null
@@ -1,20 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE LambdaCase         #-}
-{-# LANGUAGE OverloadedStrings  #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.Types.Sum
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
-module Network.AWS.CodeStar.Types.Sum where
-
-import Network.AWS.Prelude
diff --git a/gen/Network/AWS/CodeStar/UntagProject.hs b/gen/Network/AWS/CodeStar/UntagProject.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/UntagProject.hs
+++ /dev/null
@@ -1,130 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.UntagProject
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Removes tags from a project.
---
---
-module Network.AWS.CodeStar.UntagProject
-    (
-    -- * Creating a Request
-      untagProject
-    , UntagProject
-    -- * Request Lenses
-    , uId
-    , uTags
-
-    -- * Destructuring the Response
-    , untagProjectResponse
-    , UntagProjectResponse
-    -- * Response Lenses
-    , ursResponseStatus
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'untagProject' smart constructor.
-data UntagProject = UntagProject'
-  { _uId   :: !Text
-  , _uTags :: ![Text]
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'UntagProject' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'uId' - The ID of the project to remove tags from.
---
--- * 'uTags' - The tags to remove from the project.
-untagProject
-    :: Text -- ^ 'uId'
-    -> UntagProject
-untagProject pId_ = UntagProject' {_uId = pId_, _uTags = mempty}
-
-
--- | The ID of the project to remove tags from.
-uId :: Lens' UntagProject Text
-uId = lens _uId (\ s a -> s{_uId = a})
-
--- | The tags to remove from the project.
-uTags :: Lens' UntagProject [Text]
-uTags = lens _uTags (\ s a -> s{_uTags = a}) . _Coerce
-
-instance AWSRequest UntagProject where
-        type Rs UntagProject = UntagProjectResponse
-        request = postJSON codeStar
-        response
-          = receiveEmpty
-              (\ s h x ->
-                 UntagProjectResponse' <$> (pure (fromEnum s)))
-
-instance Hashable UntagProject where
-
-instance NFData UntagProject where
-
-instance ToHeaders UntagProject where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.UntagProject" :: ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON UntagProject where
-        toJSON UntagProject'{..}
-          = object
-              (catMaybes
-                 [Just ("id" .= _uId), Just ("tags" .= _uTags)])
-
-instance ToPath UntagProject where
-        toPath = const "/"
-
-instance ToQuery UntagProject where
-        toQuery = const mempty
-
--- | /See:/ 'untagProjectResponse' smart constructor.
-newtype UntagProjectResponse = UntagProjectResponse'
-  { _ursResponseStatus :: Int
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'UntagProjectResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ursResponseStatus' - -- | The response status code.
-untagProjectResponse
-    :: Int -- ^ 'ursResponseStatus'
-    -> UntagProjectResponse
-untagProjectResponse pResponseStatus_ =
-  UntagProjectResponse' {_ursResponseStatus = pResponseStatus_}
-
-
--- | -- | The response status code.
-ursResponseStatus :: Lens' UntagProjectResponse Int
-ursResponseStatus = lens _ursResponseStatus (\ s a -> s{_ursResponseStatus = a})
-
-instance NFData UntagProjectResponse where
diff --git a/gen/Network/AWS/CodeStar/UpdateProject.hs b/gen/Network/AWS/CodeStar/UpdateProject.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/UpdateProject.hs
+++ /dev/null
@@ -1,141 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.UpdateProject
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Updates a project in AWS CodeStar.
---
---
-module Network.AWS.CodeStar.UpdateProject
-    (
-    -- * Creating a Request
-      updateProject
-    , UpdateProject
-    -- * Request Lenses
-    , upName
-    , upDescription
-    , upId
-
-    -- * Destructuring the Response
-    , updateProjectResponse
-    , UpdateProjectResponse
-    -- * Response Lenses
-    , uprsResponseStatus
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'updateProject' smart constructor.
-data UpdateProject = UpdateProject'
-  { _upName        :: !(Maybe (Sensitive Text))
-  , _upDescription :: !(Maybe (Sensitive Text))
-  , _upId          :: !Text
-  } deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'UpdateProject' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'upName' - The name of the project you want to update.
---
--- * 'upDescription' - The description of the project, if any.
---
--- * 'upId' - The ID of the project you want to update.
-updateProject
-    :: Text -- ^ 'upId'
-    -> UpdateProject
-updateProject pId_ =
-  UpdateProject' {_upName = Nothing, _upDescription = Nothing, _upId = pId_}
-
-
--- | The name of the project you want to update.
-upName :: Lens' UpdateProject (Maybe Text)
-upName = lens _upName (\ s a -> s{_upName = a}) . mapping _Sensitive
-
--- | The description of the project, if any.
-upDescription :: Lens' UpdateProject (Maybe Text)
-upDescription = lens _upDescription (\ s a -> s{_upDescription = a}) . mapping _Sensitive
-
--- | The ID of the project you want to update.
-upId :: Lens' UpdateProject Text
-upId = lens _upId (\ s a -> s{_upId = a})
-
-instance AWSRequest UpdateProject where
-        type Rs UpdateProject = UpdateProjectResponse
-        request = postJSON codeStar
-        response
-          = receiveEmpty
-              (\ s h x ->
-                 UpdateProjectResponse' <$> (pure (fromEnum s)))
-
-instance Hashable UpdateProject where
-
-instance NFData UpdateProject where
-
-instance ToHeaders UpdateProject where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.UpdateProject" :: ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON UpdateProject where
-        toJSON UpdateProject'{..}
-          = object
-              (catMaybes
-                 [("name" .=) <$> _upName,
-                  ("description" .=) <$> _upDescription,
-                  Just ("id" .= _upId)])
-
-instance ToPath UpdateProject where
-        toPath = const "/"
-
-instance ToQuery UpdateProject where
-        toQuery = const mempty
-
--- | /See:/ 'updateProjectResponse' smart constructor.
-newtype UpdateProjectResponse = UpdateProjectResponse'
-  { _uprsResponseStatus :: Int
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'UpdateProjectResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'uprsResponseStatus' - -- | The response status code.
-updateProjectResponse
-    :: Int -- ^ 'uprsResponseStatus'
-    -> UpdateProjectResponse
-updateProjectResponse pResponseStatus_ =
-  UpdateProjectResponse' {_uprsResponseStatus = pResponseStatus_}
-
-
--- | -- | The response status code.
-uprsResponseStatus :: Lens' UpdateProjectResponse Int
-uprsResponseStatus = lens _uprsResponseStatus (\ s a -> s{_uprsResponseStatus = a})
-
-instance NFData UpdateProjectResponse where
diff --git a/gen/Network/AWS/CodeStar/UpdateTeamMember.hs b/gen/Network/AWS/CodeStar/UpdateTeamMember.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/UpdateTeamMember.hs
+++ /dev/null
@@ -1,189 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.UpdateTeamMember
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Updates a team member's attributes in an AWS CodeStar project. For example, you can change a team member's role in the project, or change whether they have remote access to project resources.
---
---
-module Network.AWS.CodeStar.UpdateTeamMember
-    (
-    -- * Creating a Request
-      updateTeamMember
-    , UpdateTeamMember
-    -- * Request Lenses
-    , utmRemoteAccessAllowed
-    , utmProjectRole
-    , utmProjectId
-    , utmUserARN
-
-    -- * Destructuring the Response
-    , updateTeamMemberResponse
-    , UpdateTeamMemberResponse
-    -- * Response Lenses
-    , utmrsUserARN
-    , utmrsRemoteAccessAllowed
-    , utmrsProjectRole
-    , utmrsResponseStatus
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'updateTeamMember' smart constructor.
-data UpdateTeamMember = UpdateTeamMember'
-  { _utmRemoteAccessAllowed :: !(Maybe Bool)
-  , _utmProjectRole         :: !(Maybe Text)
-  , _utmProjectId           :: !Text
-  , _utmUserARN             :: !Text
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'UpdateTeamMember' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'utmRemoteAccessAllowed' - Whether a team member is allowed to remotely access project resources using the SSH public key associated with the user's profile. Even if this is set to True, the user must associate a public key with their profile before the user can access resources.
---
--- * 'utmProjectRole' - The role assigned to the user in the project. Project roles have different levels of access. For more information, see <http://docs.aws.amazon.com/codestar/latest/userguide/working-with-teams.html Working with Teams> in the /AWS CodeStar User Guide/ .
---
--- * 'utmProjectId' - The ID of the project.
---
--- * 'utmUserARN' - The Amazon Resource Name (ARN) of the user for whom you want to change team membership attributes.
-updateTeamMember
-    :: Text -- ^ 'utmProjectId'
-    -> Text -- ^ 'utmUserARN'
-    -> UpdateTeamMember
-updateTeamMember pProjectId_ pUserARN_ =
-  UpdateTeamMember'
-    { _utmRemoteAccessAllowed = Nothing
-    , _utmProjectRole = Nothing
-    , _utmProjectId = pProjectId_
-    , _utmUserARN = pUserARN_
-    }
-
-
--- | Whether a team member is allowed to remotely access project resources using the SSH public key associated with the user's profile. Even if this is set to True, the user must associate a public key with their profile before the user can access resources.
-utmRemoteAccessAllowed :: Lens' UpdateTeamMember (Maybe Bool)
-utmRemoteAccessAllowed = lens _utmRemoteAccessAllowed (\ s a -> s{_utmRemoteAccessAllowed = a})
-
--- | The role assigned to the user in the project. Project roles have different levels of access. For more information, see <http://docs.aws.amazon.com/codestar/latest/userguide/working-with-teams.html Working with Teams> in the /AWS CodeStar User Guide/ .
-utmProjectRole :: Lens' UpdateTeamMember (Maybe Text)
-utmProjectRole = lens _utmProjectRole (\ s a -> s{_utmProjectRole = a})
-
--- | The ID of the project.
-utmProjectId :: Lens' UpdateTeamMember Text
-utmProjectId = lens _utmProjectId (\ s a -> s{_utmProjectId = a})
-
--- | The Amazon Resource Name (ARN) of the user for whom you want to change team membership attributes.
-utmUserARN :: Lens' UpdateTeamMember Text
-utmUserARN = lens _utmUserARN (\ s a -> s{_utmUserARN = a})
-
-instance AWSRequest UpdateTeamMember where
-        type Rs UpdateTeamMember = UpdateTeamMemberResponse
-        request = postJSON codeStar
-        response
-          = receiveJSON
-              (\ s h x ->
-                 UpdateTeamMemberResponse' <$>
-                   (x .?> "userArn") <*> (x .?> "remoteAccessAllowed")
-                     <*> (x .?> "projectRole")
-                     <*> (pure (fromEnum s)))
-
-instance Hashable UpdateTeamMember where
-
-instance NFData UpdateTeamMember where
-
-instance ToHeaders UpdateTeamMember where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.UpdateTeamMember" :: ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON UpdateTeamMember where
-        toJSON UpdateTeamMember'{..}
-          = object
-              (catMaybes
-                 [("remoteAccessAllowed" .=) <$>
-                    _utmRemoteAccessAllowed,
-                  ("projectRole" .=) <$> _utmProjectRole,
-                  Just ("projectId" .= _utmProjectId),
-                  Just ("userArn" .= _utmUserARN)])
-
-instance ToPath UpdateTeamMember where
-        toPath = const "/"
-
-instance ToQuery UpdateTeamMember where
-        toQuery = const mempty
-
--- | /See:/ 'updateTeamMemberResponse' smart constructor.
-data UpdateTeamMemberResponse = UpdateTeamMemberResponse'
-  { _utmrsUserARN             :: !(Maybe Text)
-  , _utmrsRemoteAccessAllowed :: !(Maybe Bool)
-  , _utmrsProjectRole         :: !(Maybe Text)
-  , _utmrsResponseStatus      :: !Int
-  } deriving (Eq, Read, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'UpdateTeamMemberResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'utmrsUserARN' - The Amazon Resource Name (ARN) of the user whose team membership attributes were updated.
---
--- * 'utmrsRemoteAccessAllowed' - Whether a team member is allowed to remotely access project resources using the SSH public key associated with the user's profile.
---
--- * 'utmrsProjectRole' - The project role granted to the user.
---
--- * 'utmrsResponseStatus' - -- | The response status code.
-updateTeamMemberResponse
-    :: Int -- ^ 'utmrsResponseStatus'
-    -> UpdateTeamMemberResponse
-updateTeamMemberResponse pResponseStatus_ =
-  UpdateTeamMemberResponse'
-    { _utmrsUserARN = Nothing
-    , _utmrsRemoteAccessAllowed = Nothing
-    , _utmrsProjectRole = Nothing
-    , _utmrsResponseStatus = pResponseStatus_
-    }
-
-
--- | The Amazon Resource Name (ARN) of the user whose team membership attributes were updated.
-utmrsUserARN :: Lens' UpdateTeamMemberResponse (Maybe Text)
-utmrsUserARN = lens _utmrsUserARN (\ s a -> s{_utmrsUserARN = a})
-
--- | Whether a team member is allowed to remotely access project resources using the SSH public key associated with the user's profile.
-utmrsRemoteAccessAllowed :: Lens' UpdateTeamMemberResponse (Maybe Bool)
-utmrsRemoteAccessAllowed = lens _utmrsRemoteAccessAllowed (\ s a -> s{_utmrsRemoteAccessAllowed = a})
-
--- | The project role granted to the user.
-utmrsProjectRole :: Lens' UpdateTeamMemberResponse (Maybe Text)
-utmrsProjectRole = lens _utmrsProjectRole (\ s a -> s{_utmrsProjectRole = a})
-
--- | -- | The response status code.
-utmrsResponseStatus :: Lens' UpdateTeamMemberResponse Int
-utmrsResponseStatus = lens _utmrsResponseStatus (\ s a -> s{_utmrsResponseStatus = a})
-
-instance NFData UpdateTeamMemberResponse where
diff --git a/gen/Network/AWS/CodeStar/UpdateUserProfile.hs b/gen/Network/AWS/CodeStar/UpdateUserProfile.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/UpdateUserProfile.hs
+++ /dev/null
@@ -1,220 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.UpdateUserProfile
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
--- Updates a user's profile in AWS CodeStar. The user profile is not project-specific. Information in the user profile is displayed wherever the user's information appears to other users in AWS CodeStar.
---
---
-module Network.AWS.CodeStar.UpdateUserProfile
-    (
-    -- * Creating a Request
-      updateUserProfile
-    , UpdateUserProfile
-    -- * Request Lenses
-    , uupSshPublicKey
-    , uupEmailAddress
-    , uupDisplayName
-    , uupUserARN
-
-    -- * Destructuring the Response
-    , updateUserProfileResponse
-    , UpdateUserProfileResponse
-    -- * Response Lenses
-    , uuprsLastModifiedTimestamp
-    , uuprsSshPublicKey
-    , uuprsEmailAddress
-    , uuprsDisplayName
-    , uuprsCreatedTimestamp
-    , uuprsResponseStatus
-    , uuprsUserARN
-    ) where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.CodeStar.Types.Product
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Request
-import Network.AWS.Response
-
--- | /See:/ 'updateUserProfile' smart constructor.
-data UpdateUserProfile = UpdateUserProfile'
-  { _uupSshPublicKey :: !(Maybe Text)
-  , _uupEmailAddress :: !(Maybe (Sensitive Text))
-  , _uupDisplayName  :: !(Maybe Text)
-  , _uupUserARN      :: !Text
-  } deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'UpdateUserProfile' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'uupSshPublicKey' - The SSH public key associated with the user in AWS CodeStar. If a project owner allows the user remote access to project resources, this public key will be used along with the user's private key for SSH access.
---
--- * 'uupEmailAddress' - The email address that is displayed as part of the user's profile in AWS CodeStar.
---
--- * 'uupDisplayName' - The name that is displayed as the friendly name for the user in AWS CodeStar.
---
--- * 'uupUserARN' - The name that will be displayed as the friendly name for the user in AWS CodeStar.
-updateUserProfile
-    :: Text -- ^ 'uupUserARN'
-    -> UpdateUserProfile
-updateUserProfile pUserARN_ =
-  UpdateUserProfile'
-    { _uupSshPublicKey = Nothing
-    , _uupEmailAddress = Nothing
-    , _uupDisplayName = Nothing
-    , _uupUserARN = pUserARN_
-    }
-
-
--- | The SSH public key associated with the user in AWS CodeStar. If a project owner allows the user remote access to project resources, this public key will be used along with the user's private key for SSH access.
-uupSshPublicKey :: Lens' UpdateUserProfile (Maybe Text)
-uupSshPublicKey = lens _uupSshPublicKey (\ s a -> s{_uupSshPublicKey = a})
-
--- | The email address that is displayed as part of the user's profile in AWS CodeStar.
-uupEmailAddress :: Lens' UpdateUserProfile (Maybe Text)
-uupEmailAddress = lens _uupEmailAddress (\ s a -> s{_uupEmailAddress = a}) . mapping _Sensitive
-
--- | The name that is displayed as the friendly name for the user in AWS CodeStar.
-uupDisplayName :: Lens' UpdateUserProfile (Maybe Text)
-uupDisplayName = lens _uupDisplayName (\ s a -> s{_uupDisplayName = a})
-
--- | The name that will be displayed as the friendly name for the user in AWS CodeStar.
-uupUserARN :: Lens' UpdateUserProfile Text
-uupUserARN = lens _uupUserARN (\ s a -> s{_uupUserARN = a})
-
-instance AWSRequest UpdateUserProfile where
-        type Rs UpdateUserProfile = UpdateUserProfileResponse
-        request = postJSON codeStar
-        response
-          = receiveJSON
-              (\ s h x ->
-                 UpdateUserProfileResponse' <$>
-                   (x .?> "lastModifiedTimestamp") <*>
-                     (x .?> "sshPublicKey")
-                     <*> (x .?> "emailAddress")
-                     <*> (x .?> "displayName")
-                     <*> (x .?> "createdTimestamp")
-                     <*> (pure (fromEnum s))
-                     <*> (x .:> "userArn"))
-
-instance Hashable UpdateUserProfile where
-
-instance NFData UpdateUserProfile where
-
-instance ToHeaders UpdateUserProfile where
-        toHeaders
-          = const
-              (mconcat
-                 ["X-Amz-Target" =#
-                    ("CodeStar_20170419.UpdateUserProfile" ::
-                       ByteString),
-                  "Content-Type" =#
-                    ("application/x-amz-json-1.1" :: ByteString)])
-
-instance ToJSON UpdateUserProfile where
-        toJSON UpdateUserProfile'{..}
-          = object
-              (catMaybes
-                 [("sshPublicKey" .=) <$> _uupSshPublicKey,
-                  ("emailAddress" .=) <$> _uupEmailAddress,
-                  ("displayName" .=) <$> _uupDisplayName,
-                  Just ("userArn" .= _uupUserARN)])
-
-instance ToPath UpdateUserProfile where
-        toPath = const "/"
-
-instance ToQuery UpdateUserProfile where
-        toQuery = const mempty
-
--- | /See:/ 'updateUserProfileResponse' smart constructor.
-data UpdateUserProfileResponse = UpdateUserProfileResponse'
-  { _uuprsLastModifiedTimestamp :: !(Maybe POSIX)
-  , _uuprsSshPublicKey          :: !(Maybe Text)
-  , _uuprsEmailAddress          :: !(Maybe (Sensitive Text))
-  , _uuprsDisplayName           :: !(Maybe Text)
-  , _uuprsCreatedTimestamp      :: !(Maybe POSIX)
-  , _uuprsResponseStatus        :: !Int
-  , _uuprsUserARN               :: !Text
-  } deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'UpdateUserProfileResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'uuprsLastModifiedTimestamp' - The date the user profile was last modified, in timestamp format.
---
--- * 'uuprsSshPublicKey' - The SSH public key associated with the user in AWS CodeStar. This is the public portion of the public/private keypair the user can use to access project resources if a project owner allows the user remote access to those resources.
---
--- * 'uuprsEmailAddress' - The email address that is displayed as part of the user's profile in AWS CodeStar.
---
--- * 'uuprsDisplayName' - The name that is displayed as the friendly name for the user in AWS CodeStar.
---
--- * 'uuprsCreatedTimestamp' - The date the user profile was created, in timestamp format.
---
--- * 'uuprsResponseStatus' - -- | The response status code.
---
--- * 'uuprsUserARN' - The Amazon Resource Name (ARN) of the user in IAM.
-updateUserProfileResponse
-    :: Int -- ^ 'uuprsResponseStatus'
-    -> Text -- ^ 'uuprsUserARN'
-    -> UpdateUserProfileResponse
-updateUserProfileResponse pResponseStatus_ pUserARN_ =
-  UpdateUserProfileResponse'
-    { _uuprsLastModifiedTimestamp = Nothing
-    , _uuprsSshPublicKey = Nothing
-    , _uuprsEmailAddress = Nothing
-    , _uuprsDisplayName = Nothing
-    , _uuprsCreatedTimestamp = Nothing
-    , _uuprsResponseStatus = pResponseStatus_
-    , _uuprsUserARN = pUserARN_
-    }
-
-
--- | The date the user profile was last modified, in timestamp format.
-uuprsLastModifiedTimestamp :: Lens' UpdateUserProfileResponse (Maybe UTCTime)
-uuprsLastModifiedTimestamp = lens _uuprsLastModifiedTimestamp (\ s a -> s{_uuprsLastModifiedTimestamp = a}) . mapping _Time
-
--- | The SSH public key associated with the user in AWS CodeStar. This is the public portion of the public/private keypair the user can use to access project resources if a project owner allows the user remote access to those resources.
-uuprsSshPublicKey :: Lens' UpdateUserProfileResponse (Maybe Text)
-uuprsSshPublicKey = lens _uuprsSshPublicKey (\ s a -> s{_uuprsSshPublicKey = a})
-
--- | The email address that is displayed as part of the user's profile in AWS CodeStar.
-uuprsEmailAddress :: Lens' UpdateUserProfileResponse (Maybe Text)
-uuprsEmailAddress = lens _uuprsEmailAddress (\ s a -> s{_uuprsEmailAddress = a}) . mapping _Sensitive
-
--- | The name that is displayed as the friendly name for the user in AWS CodeStar.
-uuprsDisplayName :: Lens' UpdateUserProfileResponse (Maybe Text)
-uuprsDisplayName = lens _uuprsDisplayName (\ s a -> s{_uuprsDisplayName = a})
-
--- | The date the user profile was created, in timestamp format.
-uuprsCreatedTimestamp :: Lens' UpdateUserProfileResponse (Maybe UTCTime)
-uuprsCreatedTimestamp = lens _uuprsCreatedTimestamp (\ s a -> s{_uuprsCreatedTimestamp = a}) . mapping _Time
-
--- | -- | The response status code.
-uuprsResponseStatus :: Lens' UpdateUserProfileResponse Int
-uuprsResponseStatus = lens _uuprsResponseStatus (\ s a -> s{_uuprsResponseStatus = a})
-
--- | The Amazon Resource Name (ARN) of the user in IAM.
-uuprsUserARN :: Lens' UpdateUserProfileResponse Text
-uuprsUserARN = lens _uuprsUserARN (\ s a -> s{_uuprsUserARN = a})
-
-instance NFData UpdateUserProfileResponse where
diff --git a/gen/Network/AWS/CodeStar/Waiters.hs b/gen/Network/AWS/CodeStar/Waiters.hs
deleted file mode 100644
--- a/gen/Network/AWS/CodeStar/Waiters.hs
+++ /dev/null
@@ -1,21 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE TypeFamilies      #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Network.AWS.CodeStar.Waiters
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
-module Network.AWS.CodeStar.Waiters where
-
-import Network.AWS.CodeStar.Types
-import Network.AWS.Lens
-import Network.AWS.Prelude
-import Network.AWS.Waiter
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -2,20 +2,22 @@
 
 -- |
 -- Module      : Main
--- Copyright   : (c) 2013-2018 Brendan Hay
+-- Copyright   : (c) 2013-2023 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
+-- Maintainer  : Brendan Hay
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
---
 module Main (main) where
 
+import Test.Amazonka.CodeStar
+import Test.Amazonka.CodeStar.Internal
 import Test.Tasty
-import Test.AWS.CodeStar
-import Test.AWS.CodeStar.Internal
 
 main :: IO ()
-main = defaultMain $ testGroup "CodeStar"
-    [ testGroup "tests"    tests
-    , testGroup "fixtures" fixtures
-    ]
+main =
+  defaultMain $
+    testGroup
+      "CodeStar"
+      [ testGroup "tests" tests,
+        testGroup "fixtures" fixtures
+      ]
diff --git a/test/Test/AWS/CodeStar.hs b/test/Test/AWS/CodeStar.hs
deleted file mode 100644
--- a/test/Test/AWS/CodeStar.hs
+++ /dev/null
@@ -1,20 +0,0 @@
--- |
--- Module      : Test.AWS.CodeStar
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
-module Test.AWS.CodeStar
-    ( tests
-    , fixtures
-    ) where
-
-import Test.Tasty (TestTree)
-
-tests :: [TestTree]
-tests = []
-
-fixtures :: [TestTree]
-fixtures = []
diff --git a/test/Test/AWS/CodeStar/Internal.hs b/test/Test/AWS/CodeStar/Internal.hs
deleted file mode 100644
--- a/test/Test/AWS/CodeStar/Internal.hs
+++ /dev/null
@@ -1,9 +0,0 @@
--- |
--- Module      : Test.AWS.CodeStar.Internal
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
-module Test.AWS.CodeStar.Internal where
diff --git a/test/Test/AWS/Gen/CodeStar.hs b/test/Test/AWS/Gen/CodeStar.hs
deleted file mode 100644
--- a/test/Test/AWS/Gen/CodeStar.hs
+++ /dev/null
@@ -1,363 +0,0 @@
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans        #-}
-
--- Derived from AWS service descriptions, licensed under Apache 2.0.
-
--- |
--- Module      : Test.AWS.Gen.CodeStar
--- Copyright   : (c) 2013-2018 Brendan Hay
--- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
--- Stability   : auto-generated
--- Portability : non-portable (GHC extensions)
---
-module Test.AWS.Gen.CodeStar where
-
-import Data.Proxy
-import Network.AWS.CodeStar
-import Test.AWS.CodeStar.Internal
-import Test.AWS.Fixture
-import Test.AWS.Prelude
-import Test.Tasty
-
--- Auto-generated: the actual test selection needs to be manually placed into
--- the top-level so that real test data can be incrementally added.
---
--- This commented snippet is what the entire set should look like:
-
--- fixtures :: TestTree
--- fixtures =
---     [ testGroup "request"
---         [ requestListProjects $
---             listProjects
---
---         , requestListTeamMembers $
---             listTeamMembers
---
---         , requestDeleteProject $
---             deleteProject
---
---         , requestUpdateProject $
---             updateProject
---
---         , requestDisassociateTeamMember $
---             disassociateTeamMember
---
---         , requestTagProject $
---             tagProject
---
---         , requestDescribeProject $
---             describeProject
---
---         , requestListUserProfiles $
---             listUserProfiles
---
---         , requestListResources $
---             listResources
---
---         , requestAssociateTeamMember $
---             associateTeamMember
---
---         , requestUntagProject $
---             untagProject
---
---         , requestUpdateTeamMember $
---             updateTeamMember
---
---         , requestDescribeUserProfile $
---             describeUserProfile
---
---         , requestListTagsForProject $
---             listTagsForProject
---
---         , requestDeleteUserProfile $
---             deleteUserProfile
---
---         , requestUpdateUserProfile $
---             updateUserProfile
---
---         , requestCreateUserProfile $
---             createUserProfile
---
---         , requestCreateProject $
---             createProject
---
---           ]
-
---     , testGroup "response"
---         [ responseListProjects $
---             listProjectsResponse
---
---         , responseListTeamMembers $
---             listTeamMembersResponse
---
---         , responseDeleteProject $
---             deleteProjectResponse
---
---         , responseUpdateProject $
---             updateProjectResponse
---
---         , responseDisassociateTeamMember $
---             disassociateTeamMemberResponse
---
---         , responseTagProject $
---             tagProjectResponse
---
---         , responseDescribeProject $
---             describeProjectResponse
---
---         , responseListUserProfiles $
---             listUserProfilesResponse
---
---         , responseListResources $
---             listResourcesResponse
---
---         , responseAssociateTeamMember $
---             associateTeamMemberResponse
---
---         , responseUntagProject $
---             untagProjectResponse
---
---         , responseUpdateTeamMember $
---             updateTeamMemberResponse
---
---         , responseDescribeUserProfile $
---             describeUserProfileResponse
---
---         , responseListTagsForProject $
---             listTagsForProjectResponse
---
---         , responseDeleteUserProfile $
---             deleteUserProfileResponse
---
---         , responseUpdateUserProfile $
---             updateUserProfileResponse
---
---         , responseCreateUserProfile $
---             createUserProfileResponse
---
---         , responseCreateProject $
---             createProjectResponse
---
---           ]
---     ]
-
--- Requests
-
-requestListProjects :: ListProjects -> TestTree
-requestListProjects = req
-    "ListProjects"
-    "fixture/ListProjects.yaml"
-
-requestListTeamMembers :: ListTeamMembers -> TestTree
-requestListTeamMembers = req
-    "ListTeamMembers"
-    "fixture/ListTeamMembers.yaml"
-
-requestDeleteProject :: DeleteProject -> TestTree
-requestDeleteProject = req
-    "DeleteProject"
-    "fixture/DeleteProject.yaml"
-
-requestUpdateProject :: UpdateProject -> TestTree
-requestUpdateProject = req
-    "UpdateProject"
-    "fixture/UpdateProject.yaml"
-
-requestDisassociateTeamMember :: DisassociateTeamMember -> TestTree
-requestDisassociateTeamMember = req
-    "DisassociateTeamMember"
-    "fixture/DisassociateTeamMember.yaml"
-
-requestTagProject :: TagProject -> TestTree
-requestTagProject = req
-    "TagProject"
-    "fixture/TagProject.yaml"
-
-requestDescribeProject :: DescribeProject -> TestTree
-requestDescribeProject = req
-    "DescribeProject"
-    "fixture/DescribeProject.yaml"
-
-requestListUserProfiles :: ListUserProfiles -> TestTree
-requestListUserProfiles = req
-    "ListUserProfiles"
-    "fixture/ListUserProfiles.yaml"
-
-requestListResources :: ListResources -> TestTree
-requestListResources = req
-    "ListResources"
-    "fixture/ListResources.yaml"
-
-requestAssociateTeamMember :: AssociateTeamMember -> TestTree
-requestAssociateTeamMember = req
-    "AssociateTeamMember"
-    "fixture/AssociateTeamMember.yaml"
-
-requestUntagProject :: UntagProject -> TestTree
-requestUntagProject = req
-    "UntagProject"
-    "fixture/UntagProject.yaml"
-
-requestUpdateTeamMember :: UpdateTeamMember -> TestTree
-requestUpdateTeamMember = req
-    "UpdateTeamMember"
-    "fixture/UpdateTeamMember.yaml"
-
-requestDescribeUserProfile :: DescribeUserProfile -> TestTree
-requestDescribeUserProfile = req
-    "DescribeUserProfile"
-    "fixture/DescribeUserProfile.yaml"
-
-requestListTagsForProject :: ListTagsForProject -> TestTree
-requestListTagsForProject = req
-    "ListTagsForProject"
-    "fixture/ListTagsForProject.yaml"
-
-requestDeleteUserProfile :: DeleteUserProfile -> TestTree
-requestDeleteUserProfile = req
-    "DeleteUserProfile"
-    "fixture/DeleteUserProfile.yaml"
-
-requestUpdateUserProfile :: UpdateUserProfile -> TestTree
-requestUpdateUserProfile = req
-    "UpdateUserProfile"
-    "fixture/UpdateUserProfile.yaml"
-
-requestCreateUserProfile :: CreateUserProfile -> TestTree
-requestCreateUserProfile = req
-    "CreateUserProfile"
-    "fixture/CreateUserProfile.yaml"
-
-requestCreateProject :: CreateProject -> TestTree
-requestCreateProject = req
-    "CreateProject"
-    "fixture/CreateProject.yaml"
-
--- Responses
-
-responseListProjects :: ListProjectsResponse -> TestTree
-responseListProjects = res
-    "ListProjectsResponse"
-    "fixture/ListProjectsResponse.proto"
-    codeStar
-    (Proxy :: Proxy ListProjects)
-
-responseListTeamMembers :: ListTeamMembersResponse -> TestTree
-responseListTeamMembers = res
-    "ListTeamMembersResponse"
-    "fixture/ListTeamMembersResponse.proto"
-    codeStar
-    (Proxy :: Proxy ListTeamMembers)
-
-responseDeleteProject :: DeleteProjectResponse -> TestTree
-responseDeleteProject = res
-    "DeleteProjectResponse"
-    "fixture/DeleteProjectResponse.proto"
-    codeStar
-    (Proxy :: Proxy DeleteProject)
-
-responseUpdateProject :: UpdateProjectResponse -> TestTree
-responseUpdateProject = res
-    "UpdateProjectResponse"
-    "fixture/UpdateProjectResponse.proto"
-    codeStar
-    (Proxy :: Proxy UpdateProject)
-
-responseDisassociateTeamMember :: DisassociateTeamMemberResponse -> TestTree
-responseDisassociateTeamMember = res
-    "DisassociateTeamMemberResponse"
-    "fixture/DisassociateTeamMemberResponse.proto"
-    codeStar
-    (Proxy :: Proxy DisassociateTeamMember)
-
-responseTagProject :: TagProjectResponse -> TestTree
-responseTagProject = res
-    "TagProjectResponse"
-    "fixture/TagProjectResponse.proto"
-    codeStar
-    (Proxy :: Proxy TagProject)
-
-responseDescribeProject :: DescribeProjectResponse -> TestTree
-responseDescribeProject = res
-    "DescribeProjectResponse"
-    "fixture/DescribeProjectResponse.proto"
-    codeStar
-    (Proxy :: Proxy DescribeProject)
-
-responseListUserProfiles :: ListUserProfilesResponse -> TestTree
-responseListUserProfiles = res
-    "ListUserProfilesResponse"
-    "fixture/ListUserProfilesResponse.proto"
-    codeStar
-    (Proxy :: Proxy ListUserProfiles)
-
-responseListResources :: ListResourcesResponse -> TestTree
-responseListResources = res
-    "ListResourcesResponse"
-    "fixture/ListResourcesResponse.proto"
-    codeStar
-    (Proxy :: Proxy ListResources)
-
-responseAssociateTeamMember :: AssociateTeamMemberResponse -> TestTree
-responseAssociateTeamMember = res
-    "AssociateTeamMemberResponse"
-    "fixture/AssociateTeamMemberResponse.proto"
-    codeStar
-    (Proxy :: Proxy AssociateTeamMember)
-
-responseUntagProject :: UntagProjectResponse -> TestTree
-responseUntagProject = res
-    "UntagProjectResponse"
-    "fixture/UntagProjectResponse.proto"
-    codeStar
-    (Proxy :: Proxy UntagProject)
-
-responseUpdateTeamMember :: UpdateTeamMemberResponse -> TestTree
-responseUpdateTeamMember = res
-    "UpdateTeamMemberResponse"
-    "fixture/UpdateTeamMemberResponse.proto"
-    codeStar
-    (Proxy :: Proxy UpdateTeamMember)
-
-responseDescribeUserProfile :: DescribeUserProfileResponse -> TestTree
-responseDescribeUserProfile = res
-    "DescribeUserProfileResponse"
-    "fixture/DescribeUserProfileResponse.proto"
-    codeStar
-    (Proxy :: Proxy DescribeUserProfile)
-
-responseListTagsForProject :: ListTagsForProjectResponse -> TestTree
-responseListTagsForProject = res
-    "ListTagsForProjectResponse"
-    "fixture/ListTagsForProjectResponse.proto"
-    codeStar
-    (Proxy :: Proxy ListTagsForProject)
-
-responseDeleteUserProfile :: DeleteUserProfileResponse -> TestTree
-responseDeleteUserProfile = res
-    "DeleteUserProfileResponse"
-    "fixture/DeleteUserProfileResponse.proto"
-    codeStar
-    (Proxy :: Proxy DeleteUserProfile)
-
-responseUpdateUserProfile :: UpdateUserProfileResponse -> TestTree
-responseUpdateUserProfile = res
-    "UpdateUserProfileResponse"
-    "fixture/UpdateUserProfileResponse.proto"
-    codeStar
-    (Proxy :: Proxy UpdateUserProfile)
-
-responseCreateUserProfile :: CreateUserProfileResponse -> TestTree
-responseCreateUserProfile = res
-    "CreateUserProfileResponse"
-    "fixture/CreateUserProfileResponse.proto"
-    codeStar
-    (Proxy :: Proxy CreateUserProfile)
-
-responseCreateProject :: CreateProjectResponse -> TestTree
-responseCreateProject = res
-    "CreateProjectResponse"
-    "fixture/CreateProjectResponse.proto"
-    codeStar
-    (Proxy :: Proxy CreateProject)
diff --git a/test/Test/Amazonka/CodeStar.hs b/test/Test/Amazonka/CodeStar.hs
new file mode 100644
--- /dev/null
+++ b/test/Test/Amazonka/CodeStar.hs
@@ -0,0 +1,20 @@
+-- |
+-- Module      : Test.Amazonka.CodeStar
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Test.Amazonka.CodeStar
+  ( tests,
+    fixtures,
+  )
+where
+
+import Test.Tasty (TestTree)
+
+tests :: [TestTree]
+tests = []
+
+fixtures :: [TestTree]
+fixtures = []
diff --git a/test/Test/Amazonka/CodeStar/Internal.hs b/test/Test/Amazonka/CodeStar/Internal.hs
new file mode 100644
--- /dev/null
+++ b/test/Test/Amazonka/CodeStar/Internal.hs
@@ -0,0 +1,8 @@
+-- |
+-- Module      : Test.Amazonka.CodeStar.Internal
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Test.Amazonka.CodeStar.Internal where
diff --git a/test/Test/Amazonka/Gen/CodeStar.hs b/test/Test/Amazonka/Gen/CodeStar.hs
new file mode 100644
--- /dev/null
+++ b/test/Test/Amazonka/Gen/CodeStar.hs
@@ -0,0 +1,398 @@
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Test.Amazonka.Gen.CodeStar
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Test.Amazonka.Gen.CodeStar where
+
+import Amazonka.CodeStar
+import qualified Data.Proxy as Proxy
+import Test.Amazonka.CodeStar.Internal
+import Test.Amazonka.Fixture
+import Test.Amazonka.Prelude
+import Test.Tasty
+
+-- Auto-generated: the actual test selection needs to be manually placed into
+-- the top-level so that real test data can be incrementally added.
+--
+-- This commented snippet is what the entire set should look like:
+
+-- fixtures :: TestTree
+-- fixtures =
+--     [ testGroup "request"
+--         [ requestAssociateTeamMember $
+--             newAssociateTeamMember
+--
+--         , requestCreateProject $
+--             newCreateProject
+--
+--         , requestCreateUserProfile $
+--             newCreateUserProfile
+--
+--         , requestDeleteProject $
+--             newDeleteProject
+--
+--         , requestDeleteUserProfile $
+--             newDeleteUserProfile
+--
+--         , requestDescribeProject $
+--             newDescribeProject
+--
+--         , requestDescribeUserProfile $
+--             newDescribeUserProfile
+--
+--         , requestDisassociateTeamMember $
+--             newDisassociateTeamMember
+--
+--         , requestListProjects $
+--             newListProjects
+--
+--         , requestListResources $
+--             newListResources
+--
+--         , requestListTagsForProject $
+--             newListTagsForProject
+--
+--         , requestListTeamMembers $
+--             newListTeamMembers
+--
+--         , requestListUserProfiles $
+--             newListUserProfiles
+--
+--         , requestTagProject $
+--             newTagProject
+--
+--         , requestUntagProject $
+--             newUntagProject
+--
+--         , requestUpdateProject $
+--             newUpdateProject
+--
+--         , requestUpdateTeamMember $
+--             newUpdateTeamMember
+--
+--         , requestUpdateUserProfile $
+--             newUpdateUserProfile
+--
+--           ]
+
+--     , testGroup "response"
+--         [ responseAssociateTeamMember $
+--             newAssociateTeamMemberResponse
+--
+--         , responseCreateProject $
+--             newCreateProjectResponse
+--
+--         , responseCreateUserProfile $
+--             newCreateUserProfileResponse
+--
+--         , responseDeleteProject $
+--             newDeleteProjectResponse
+--
+--         , responseDeleteUserProfile $
+--             newDeleteUserProfileResponse
+--
+--         , responseDescribeProject $
+--             newDescribeProjectResponse
+--
+--         , responseDescribeUserProfile $
+--             newDescribeUserProfileResponse
+--
+--         , responseDisassociateTeamMember $
+--             newDisassociateTeamMemberResponse
+--
+--         , responseListProjects $
+--             newListProjectsResponse
+--
+--         , responseListResources $
+--             newListResourcesResponse
+--
+--         , responseListTagsForProject $
+--             newListTagsForProjectResponse
+--
+--         , responseListTeamMembers $
+--             newListTeamMembersResponse
+--
+--         , responseListUserProfiles $
+--             newListUserProfilesResponse
+--
+--         , responseTagProject $
+--             newTagProjectResponse
+--
+--         , responseUntagProject $
+--             newUntagProjectResponse
+--
+--         , responseUpdateProject $
+--             newUpdateProjectResponse
+--
+--         , responseUpdateTeamMember $
+--             newUpdateTeamMemberResponse
+--
+--         , responseUpdateUserProfile $
+--             newUpdateUserProfileResponse
+--
+--           ]
+--     ]
+
+-- Requests
+
+requestAssociateTeamMember :: AssociateTeamMember -> TestTree
+requestAssociateTeamMember =
+  req
+    "AssociateTeamMember"
+    "fixture/AssociateTeamMember.yaml"
+
+requestCreateProject :: CreateProject -> TestTree
+requestCreateProject =
+  req
+    "CreateProject"
+    "fixture/CreateProject.yaml"
+
+requestCreateUserProfile :: CreateUserProfile -> TestTree
+requestCreateUserProfile =
+  req
+    "CreateUserProfile"
+    "fixture/CreateUserProfile.yaml"
+
+requestDeleteProject :: DeleteProject -> TestTree
+requestDeleteProject =
+  req
+    "DeleteProject"
+    "fixture/DeleteProject.yaml"
+
+requestDeleteUserProfile :: DeleteUserProfile -> TestTree
+requestDeleteUserProfile =
+  req
+    "DeleteUserProfile"
+    "fixture/DeleteUserProfile.yaml"
+
+requestDescribeProject :: DescribeProject -> TestTree
+requestDescribeProject =
+  req
+    "DescribeProject"
+    "fixture/DescribeProject.yaml"
+
+requestDescribeUserProfile :: DescribeUserProfile -> TestTree
+requestDescribeUserProfile =
+  req
+    "DescribeUserProfile"
+    "fixture/DescribeUserProfile.yaml"
+
+requestDisassociateTeamMember :: DisassociateTeamMember -> TestTree
+requestDisassociateTeamMember =
+  req
+    "DisassociateTeamMember"
+    "fixture/DisassociateTeamMember.yaml"
+
+requestListProjects :: ListProjects -> TestTree
+requestListProjects =
+  req
+    "ListProjects"
+    "fixture/ListProjects.yaml"
+
+requestListResources :: ListResources -> TestTree
+requestListResources =
+  req
+    "ListResources"
+    "fixture/ListResources.yaml"
+
+requestListTagsForProject :: ListTagsForProject -> TestTree
+requestListTagsForProject =
+  req
+    "ListTagsForProject"
+    "fixture/ListTagsForProject.yaml"
+
+requestListTeamMembers :: ListTeamMembers -> TestTree
+requestListTeamMembers =
+  req
+    "ListTeamMembers"
+    "fixture/ListTeamMembers.yaml"
+
+requestListUserProfiles :: ListUserProfiles -> TestTree
+requestListUserProfiles =
+  req
+    "ListUserProfiles"
+    "fixture/ListUserProfiles.yaml"
+
+requestTagProject :: TagProject -> TestTree
+requestTagProject =
+  req
+    "TagProject"
+    "fixture/TagProject.yaml"
+
+requestUntagProject :: UntagProject -> TestTree
+requestUntagProject =
+  req
+    "UntagProject"
+    "fixture/UntagProject.yaml"
+
+requestUpdateProject :: UpdateProject -> TestTree
+requestUpdateProject =
+  req
+    "UpdateProject"
+    "fixture/UpdateProject.yaml"
+
+requestUpdateTeamMember :: UpdateTeamMember -> TestTree
+requestUpdateTeamMember =
+  req
+    "UpdateTeamMember"
+    "fixture/UpdateTeamMember.yaml"
+
+requestUpdateUserProfile :: UpdateUserProfile -> TestTree
+requestUpdateUserProfile =
+  req
+    "UpdateUserProfile"
+    "fixture/UpdateUserProfile.yaml"
+
+-- Responses
+
+responseAssociateTeamMember :: AssociateTeamMemberResponse -> TestTree
+responseAssociateTeamMember =
+  res
+    "AssociateTeamMemberResponse"
+    "fixture/AssociateTeamMemberResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy AssociateTeamMember)
+
+responseCreateProject :: CreateProjectResponse -> TestTree
+responseCreateProject =
+  res
+    "CreateProjectResponse"
+    "fixture/CreateProjectResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy CreateProject)
+
+responseCreateUserProfile :: CreateUserProfileResponse -> TestTree
+responseCreateUserProfile =
+  res
+    "CreateUserProfileResponse"
+    "fixture/CreateUserProfileResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy CreateUserProfile)
+
+responseDeleteProject :: DeleteProjectResponse -> TestTree
+responseDeleteProject =
+  res
+    "DeleteProjectResponse"
+    "fixture/DeleteProjectResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy DeleteProject)
+
+responseDeleteUserProfile :: DeleteUserProfileResponse -> TestTree
+responseDeleteUserProfile =
+  res
+    "DeleteUserProfileResponse"
+    "fixture/DeleteUserProfileResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy DeleteUserProfile)
+
+responseDescribeProject :: DescribeProjectResponse -> TestTree
+responseDescribeProject =
+  res
+    "DescribeProjectResponse"
+    "fixture/DescribeProjectResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy DescribeProject)
+
+responseDescribeUserProfile :: DescribeUserProfileResponse -> TestTree
+responseDescribeUserProfile =
+  res
+    "DescribeUserProfileResponse"
+    "fixture/DescribeUserProfileResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy DescribeUserProfile)
+
+responseDisassociateTeamMember :: DisassociateTeamMemberResponse -> TestTree
+responseDisassociateTeamMember =
+  res
+    "DisassociateTeamMemberResponse"
+    "fixture/DisassociateTeamMemberResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy DisassociateTeamMember)
+
+responseListProjects :: ListProjectsResponse -> TestTree
+responseListProjects =
+  res
+    "ListProjectsResponse"
+    "fixture/ListProjectsResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListProjects)
+
+responseListResources :: ListResourcesResponse -> TestTree
+responseListResources =
+  res
+    "ListResourcesResponse"
+    "fixture/ListResourcesResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListResources)
+
+responseListTagsForProject :: ListTagsForProjectResponse -> TestTree
+responseListTagsForProject =
+  res
+    "ListTagsForProjectResponse"
+    "fixture/ListTagsForProjectResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListTagsForProject)
+
+responseListTeamMembers :: ListTeamMembersResponse -> TestTree
+responseListTeamMembers =
+  res
+    "ListTeamMembersResponse"
+    "fixture/ListTeamMembersResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListTeamMembers)
+
+responseListUserProfiles :: ListUserProfilesResponse -> TestTree
+responseListUserProfiles =
+  res
+    "ListUserProfilesResponse"
+    "fixture/ListUserProfilesResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListUserProfiles)
+
+responseTagProject :: TagProjectResponse -> TestTree
+responseTagProject =
+  res
+    "TagProjectResponse"
+    "fixture/TagProjectResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy TagProject)
+
+responseUntagProject :: UntagProjectResponse -> TestTree
+responseUntagProject =
+  res
+    "UntagProjectResponse"
+    "fixture/UntagProjectResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy UntagProject)
+
+responseUpdateProject :: UpdateProjectResponse -> TestTree
+responseUpdateProject =
+  res
+    "UpdateProjectResponse"
+    "fixture/UpdateProjectResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy UpdateProject)
+
+responseUpdateTeamMember :: UpdateTeamMemberResponse -> TestTree
+responseUpdateTeamMember =
+  res
+    "UpdateTeamMemberResponse"
+    "fixture/UpdateTeamMemberResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy UpdateTeamMember)
+
+responseUpdateUserProfile :: UpdateUserProfileResponse -> TestTree
+responseUpdateUserProfile =
+  res
+    "UpdateUserProfileResponse"
+    "fixture/UpdateUserProfileResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy UpdateUserProfile)
