diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,20 @@
+Copyright (c) 2016 David Reaver
+Copyright (c) 2022 Markus Schirp
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/gen/Stratosphere/CodeStarConnections/Connection.hs b/gen/Stratosphere/CodeStarConnections/Connection.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/CodeStarConnections/Connection.hs
@@ -0,0 +1,65 @@
+module Stratosphere.CodeStarConnections.Connection (
+        Connection(..), mkConnection
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Tag
+import Stratosphere.Value
+data Connection
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html>
+    Connection {haddock_workaround_ :: (),
+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-connectionname>
+                connectionName :: (Value Prelude.Text),
+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-hostarn>
+                hostArn :: (Prelude.Maybe (Value Prelude.Text)),
+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-providertype>
+                providerType :: (Prelude.Maybe (Value Prelude.Text)),
+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html#cfn-codestarconnections-connection-tags>
+                tags :: (Prelude.Maybe [Tag])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkConnection :: Value Prelude.Text -> Connection
+mkConnection connectionName
+  = Connection
+      {haddock_workaround_ = (), connectionName = connectionName,
+       hostArn = Prelude.Nothing, providerType = Prelude.Nothing,
+       tags = Prelude.Nothing}
+instance ToResourceProperties Connection where
+  toResourceProperties Connection {..}
+    = ResourceProperties
+        {awsType = "AWS::CodeStarConnections::Connection",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ConnectionName" JSON..= connectionName]
+                           (Prelude.catMaybes
+                              [(JSON..=) "HostArn" Prelude.<$> hostArn,
+                               (JSON..=) "ProviderType" Prelude.<$> providerType,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON Connection where
+  toJSON Connection {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ConnectionName" JSON..= connectionName]
+              (Prelude.catMaybes
+                 [(JSON..=) "HostArn" Prelude.<$> hostArn,
+                  (JSON..=) "ProviderType" Prelude.<$> providerType,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "ConnectionName" Connection where
+  type PropertyType "ConnectionName" Connection = Value Prelude.Text
+  set newValue Connection {..}
+    = Connection {connectionName = newValue, ..}
+instance Property "HostArn" Connection where
+  type PropertyType "HostArn" Connection = Value Prelude.Text
+  set newValue Connection {..}
+    = Connection {hostArn = Prelude.pure newValue, ..}
+instance Property "ProviderType" Connection where
+  type PropertyType "ProviderType" Connection = Value Prelude.Text
+  set newValue Connection {..}
+    = Connection {providerType = Prelude.pure newValue, ..}
+instance Property "Tags" Connection where
+  type PropertyType "Tags" Connection = [Tag]
+  set newValue Connection {..}
+    = Connection {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/CodeStarConnections/RepositoryLink.hs b/gen/Stratosphere/CodeStarConnections/RepositoryLink.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/CodeStarConnections/RepositoryLink.hs
@@ -0,0 +1,73 @@
+module Stratosphere.CodeStarConnections.RepositoryLink (
+        RepositoryLink(..), mkRepositoryLink
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Tag
+import Stratosphere.Value
+data RepositoryLink
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html>
+    RepositoryLink {haddock_workaround_ :: (),
+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html#cfn-codestarconnections-repositorylink-connectionarn>
+                    connectionArn :: (Value Prelude.Text),
+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html#cfn-codestarconnections-repositorylink-encryptionkeyarn>
+                    encryptionKeyArn :: (Prelude.Maybe (Value Prelude.Text)),
+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html#cfn-codestarconnections-repositorylink-ownerid>
+                    ownerId :: (Value Prelude.Text),
+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html#cfn-codestarconnections-repositorylink-repositoryname>
+                    repositoryName :: (Value Prelude.Text),
+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html#cfn-codestarconnections-repositorylink-tags>
+                    tags :: (Prelude.Maybe [Tag])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkRepositoryLink ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> Value Prelude.Text -> RepositoryLink
+mkRepositoryLink connectionArn ownerId repositoryName
+  = RepositoryLink
+      {haddock_workaround_ = (), connectionArn = connectionArn,
+       ownerId = ownerId, repositoryName = repositoryName,
+       encryptionKeyArn = Prelude.Nothing, tags = Prelude.Nothing}
+instance ToResourceProperties RepositoryLink where
+  toResourceProperties RepositoryLink {..}
+    = ResourceProperties
+        {awsType = "AWS::CodeStarConnections::RepositoryLink",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ConnectionArn" JSON..= connectionArn, "OwnerId" JSON..= ownerId,
+                            "RepositoryName" JSON..= repositoryName]
+                           (Prelude.catMaybes
+                              [(JSON..=) "EncryptionKeyArn" Prelude.<$> encryptionKeyArn,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON RepositoryLink where
+  toJSON RepositoryLink {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ConnectionArn" JSON..= connectionArn, "OwnerId" JSON..= ownerId,
+               "RepositoryName" JSON..= repositoryName]
+              (Prelude.catMaybes
+                 [(JSON..=) "EncryptionKeyArn" Prelude.<$> encryptionKeyArn,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "ConnectionArn" RepositoryLink where
+  type PropertyType "ConnectionArn" RepositoryLink = Value Prelude.Text
+  set newValue RepositoryLink {..}
+    = RepositoryLink {connectionArn = newValue, ..}
+instance Property "EncryptionKeyArn" RepositoryLink where
+  type PropertyType "EncryptionKeyArn" RepositoryLink = Value Prelude.Text
+  set newValue RepositoryLink {..}
+    = RepositoryLink {encryptionKeyArn = Prelude.pure newValue, ..}
+instance Property "OwnerId" RepositoryLink where
+  type PropertyType "OwnerId" RepositoryLink = Value Prelude.Text
+  set newValue RepositoryLink {..}
+    = RepositoryLink {ownerId = newValue, ..}
+instance Property "RepositoryName" RepositoryLink where
+  type PropertyType "RepositoryName" RepositoryLink = Value Prelude.Text
+  set newValue RepositoryLink {..}
+    = RepositoryLink {repositoryName = newValue, ..}
+instance Property "Tags" RepositoryLink where
+  type PropertyType "Tags" RepositoryLink = [Tag]
+  set newValue RepositoryLink {..}
+    = RepositoryLink {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/CodeStarConnections/SyncConfiguration.hs b/gen/Stratosphere/CodeStarConnections/SyncConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/CodeStarConnections/SyncConfiguration.hs
@@ -0,0 +1,111 @@
+module Stratosphere.CodeStarConnections.SyncConfiguration (
+        SyncConfiguration(..), mkSyncConfiguration
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data SyncConfiguration
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html>
+    SyncConfiguration {haddock_workaround_ :: (),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html#cfn-codestarconnections-syncconfiguration-branch>
+                       branch :: (Value Prelude.Text),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html#cfn-codestarconnections-syncconfiguration-configfile>
+                       configFile :: (Value Prelude.Text),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html#cfn-codestarconnections-syncconfiguration-publishdeploymentstatus>
+                       publishDeploymentStatus :: (Prelude.Maybe (Value Prelude.Text)),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html#cfn-codestarconnections-syncconfiguration-repositorylinkid>
+                       repositoryLinkId :: (Value Prelude.Text),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html#cfn-codestarconnections-syncconfiguration-resourcename>
+                       resourceName :: (Value Prelude.Text),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html#cfn-codestarconnections-syncconfiguration-rolearn>
+                       roleArn :: (Value Prelude.Text),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html#cfn-codestarconnections-syncconfiguration-synctype>
+                       syncType :: (Value Prelude.Text),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html#cfn-codestarconnections-syncconfiguration-triggerresourceupdateon>
+                       triggerResourceUpdateOn :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkSyncConfiguration ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text
+        -> Value Prelude.Text
+           -> Value Prelude.Text -> Value Prelude.Text -> SyncConfiguration
+mkSyncConfiguration
+  branch
+  configFile
+  repositoryLinkId
+  resourceName
+  roleArn
+  syncType
+  = SyncConfiguration
+      {haddock_workaround_ = (), branch = branch,
+       configFile = configFile, repositoryLinkId = repositoryLinkId,
+       resourceName = resourceName, roleArn = roleArn,
+       syncType = syncType, publishDeploymentStatus = Prelude.Nothing,
+       triggerResourceUpdateOn = Prelude.Nothing}
+instance ToResourceProperties SyncConfiguration where
+  toResourceProperties SyncConfiguration {..}
+    = ResourceProperties
+        {awsType = "AWS::CodeStarConnections::SyncConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Branch" JSON..= branch, "ConfigFile" JSON..= configFile,
+                            "RepositoryLinkId" JSON..= repositoryLinkId,
+                            "ResourceName" JSON..= resourceName, "RoleArn" JSON..= roleArn,
+                            "SyncType" JSON..= syncType]
+                           (Prelude.catMaybes
+                              [(JSON..=) "PublishDeploymentStatus"
+                                 Prelude.<$> publishDeploymentStatus,
+                               (JSON..=) "TriggerResourceUpdateOn"
+                                 Prelude.<$> triggerResourceUpdateOn]))}
+instance JSON.ToJSON SyncConfiguration where
+  toJSON SyncConfiguration {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Branch" JSON..= branch, "ConfigFile" JSON..= configFile,
+               "RepositoryLinkId" JSON..= repositoryLinkId,
+               "ResourceName" JSON..= resourceName, "RoleArn" JSON..= roleArn,
+               "SyncType" JSON..= syncType]
+              (Prelude.catMaybes
+                 [(JSON..=) "PublishDeploymentStatus"
+                    Prelude.<$> publishDeploymentStatus,
+                  (JSON..=) "TriggerResourceUpdateOn"
+                    Prelude.<$> triggerResourceUpdateOn])))
+instance Property "Branch" SyncConfiguration where
+  type PropertyType "Branch" SyncConfiguration = Value Prelude.Text
+  set newValue SyncConfiguration {..}
+    = SyncConfiguration {branch = newValue, ..}
+instance Property "ConfigFile" SyncConfiguration where
+  type PropertyType "ConfigFile" SyncConfiguration = Value Prelude.Text
+  set newValue SyncConfiguration {..}
+    = SyncConfiguration {configFile = newValue, ..}
+instance Property "PublishDeploymentStatus" SyncConfiguration where
+  type PropertyType "PublishDeploymentStatus" SyncConfiguration = Value Prelude.Text
+  set newValue SyncConfiguration {..}
+    = SyncConfiguration
+        {publishDeploymentStatus = Prelude.pure newValue, ..}
+instance Property "RepositoryLinkId" SyncConfiguration where
+  type PropertyType "RepositoryLinkId" SyncConfiguration = Value Prelude.Text
+  set newValue SyncConfiguration {..}
+    = SyncConfiguration {repositoryLinkId = newValue, ..}
+instance Property "ResourceName" SyncConfiguration where
+  type PropertyType "ResourceName" SyncConfiguration = Value Prelude.Text
+  set newValue SyncConfiguration {..}
+    = SyncConfiguration {resourceName = newValue, ..}
+instance Property "RoleArn" SyncConfiguration where
+  type PropertyType "RoleArn" SyncConfiguration = Value Prelude.Text
+  set newValue SyncConfiguration {..}
+    = SyncConfiguration {roleArn = newValue, ..}
+instance Property "SyncType" SyncConfiguration where
+  type PropertyType "SyncType" SyncConfiguration = Value Prelude.Text
+  set newValue SyncConfiguration {..}
+    = SyncConfiguration {syncType = newValue, ..}
+instance Property "TriggerResourceUpdateOn" SyncConfiguration where
+  type PropertyType "TriggerResourceUpdateOn" SyncConfiguration = Value Prelude.Text
+  set newValue SyncConfiguration {..}
+    = SyncConfiguration
+        {triggerResourceUpdateOn = Prelude.pure newValue, ..}
diff --git a/stratosphere-codestarconnections.cabal b/stratosphere-codestarconnections.cabal
new file mode 100644
--- /dev/null
+++ b/stratosphere-codestarconnections.cabal
@@ -0,0 +1,75 @@
+cabal-version: 1.12
+
+-- This file has been generated from package.yaml by hpack version 0.38.2.
+--
+-- see: https://github.com/sol/hpack
+
+name:           stratosphere-codestarconnections
+version:        1.0.0
+synopsis:       Stratosphere integration for AWS CodeStarConnections.
+description:    Integration into stratosphere to generate resources and properties for AWS CodeStarConnections
+category:       AWS, Cloud, CodeStarConnections
+stability:      experimental
+homepage:       https://github.com/mbj/stratosphere#readme
+bug-reports:    https://github.com/mbj/stratosphere/issues
+maintainer:     Markus Schirp
+license:        MIT
+license-file:   LICENSE.md
+build-type:     Simple
+
+source-repository head
+  type: git
+  location: https://github.com/mbj/stratosphere
+
+flag development
+  description: Run GHC with development flags
+  manual: True
+  default: False
+
+library
+  exposed-modules:
+      Stratosphere.CodeStarConnections.Connection
+      Stratosphere.CodeStarConnections.RepositoryLink
+      Stratosphere.CodeStarConnections.SyncConfiguration
+  other-modules:
+      Paths_stratosphere_codestarconnections
+  hs-source-dirs:
+      gen
+  default-extensions:
+      DataKinds
+      DeriveGeneric
+      DerivingStrategies
+      DerivingVia
+      DuplicateRecordFields
+      FlexibleContexts
+      FlexibleInstances
+      GADTs
+      GeneralizedNewtypeDeriving
+      InstanceSigs
+      LambdaCase
+      MultiParamTypeClasses
+      NoFieldSelectors
+      NoImplicitPrelude
+      NumericUnderscores
+      OverloadedLists
+      OverloadedRecordDot
+      OverloadedStrings
+      PolyKinds
+      RecordWildCards
+      ScopedTypeVariables
+      StandaloneDeriving
+      Strict
+      TemplateHaskell
+      TupleSections
+      TypeApplications
+      TypeFamilies
+  ghc-options: -Wall -Wcompat -Widentities -Wimplicit-prelude -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-local-signatures -Wmissing-signatures -Wmonomorphism-restriction -Wredundant-constraints -fhide-source-paths -funbox-strict-fields -optP-Wno-nonportable-include-path -Wno-unused-imports
+  build-depends:
+      aeson ==2.*
+    , base >=4.8 && <4.22
+    , stratosphere ==1.0.0
+  default-language: Haskell2010
+  if flag(development)
+    ghc-options: -Werror
+  else
+    ghc-options: -Wwarn
