packages feed

stratosphere-codeartifact (empty) → 1.0.0

raw patch · 11 files changed

+523/−0 lines, 11 filesdep +aesondep +basedep +stratosphere

Dependencies added: aeson, base, stratosphere

Files

+ LICENSE.md view
@@ -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.
+ gen/Stratosphere/CodeArtifact/Domain.hs view
@@ -0,0 +1,67 @@+module Stratosphere.CodeArtifact.Domain (+        Domain(..), mkDomain+    ) 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 Domain+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html>+    Domain {haddock_workaround_ :: (),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html#cfn-codeartifact-domain-domainname>+            domainName :: (Value Prelude.Text),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html#cfn-codeartifact-domain-encryptionkey>+            encryptionKey :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html#cfn-codeartifact-domain-permissionspolicydocument>+            permissionsPolicyDocument :: (Prelude.Maybe JSON.Object),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html#cfn-codeartifact-domain-tags>+            tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDomain :: Value Prelude.Text -> Domain+mkDomain domainName+  = Domain+      {haddock_workaround_ = (), domainName = domainName,+       encryptionKey = Prelude.Nothing,+       permissionsPolicyDocument = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties Domain where+  toResourceProperties Domain {..}+    = ResourceProperties+        {awsType = "AWS::CodeArtifact::Domain",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DomainName" JSON..= domainName]+                           (Prelude.catMaybes+                              [(JSON..=) "EncryptionKey" Prelude.<$> encryptionKey,+                               (JSON..=) "PermissionsPolicyDocument"+                                 Prelude.<$> permissionsPolicyDocument,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON Domain where+  toJSON Domain {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DomainName" JSON..= domainName]+              (Prelude.catMaybes+                 [(JSON..=) "EncryptionKey" Prelude.<$> encryptionKey,+                  (JSON..=) "PermissionsPolicyDocument"+                    Prelude.<$> permissionsPolicyDocument,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "DomainName" Domain where+  type PropertyType "DomainName" Domain = Value Prelude.Text+  set newValue Domain {..} = Domain {domainName = newValue, ..}+instance Property "EncryptionKey" Domain where+  type PropertyType "EncryptionKey" Domain = Value Prelude.Text+  set newValue Domain {..}+    = Domain {encryptionKey = Prelude.pure newValue, ..}+instance Property "PermissionsPolicyDocument" Domain where+  type PropertyType "PermissionsPolicyDocument" Domain = JSON.Object+  set newValue Domain {..}+    = Domain {permissionsPolicyDocument = Prelude.pure newValue, ..}+instance Property "Tags" Domain where+  type PropertyType "Tags" Domain = [Tag]+  set newValue Domain {..}+    = Domain {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/CodeArtifact/PackageGroup.hs view
@@ -0,0 +1,90 @@+module Stratosphere.CodeArtifact.PackageGroup (+        module Exports, PackageGroup(..), mkPackageGroup+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CodeArtifact.PackageGroup.OriginConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data PackageGroup+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html>+    PackageGroup {haddock_workaround_ :: (),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html#cfn-codeartifact-packagegroup-contactinfo>+                  contactInfo :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html#cfn-codeartifact-packagegroup-description>+                  description :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html#cfn-codeartifact-packagegroup-domainname>+                  domainName :: (Value Prelude.Text),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html#cfn-codeartifact-packagegroup-domainowner>+                  domainOwner :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html#cfn-codeartifact-packagegroup-originconfiguration>+                  originConfiguration :: (Prelude.Maybe OriginConfigurationProperty),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html#cfn-codeartifact-packagegroup-pattern>+                  pattern :: (Value Prelude.Text),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html#cfn-codeartifact-packagegroup-tags>+                  tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPackageGroup ::+  Value Prelude.Text -> Value Prelude.Text -> PackageGroup+mkPackageGroup domainName pattern+  = PackageGroup+      {haddock_workaround_ = (), domainName = domainName,+       pattern = pattern, contactInfo = Prelude.Nothing,+       description = Prelude.Nothing, domainOwner = Prelude.Nothing,+       originConfiguration = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties PackageGroup where+  toResourceProperties PackageGroup {..}+    = ResourceProperties+        {awsType = "AWS::CodeArtifact::PackageGroup",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DomainName" JSON..= domainName, "Pattern" JSON..= pattern]+                           (Prelude.catMaybes+                              [(JSON..=) "ContactInfo" Prelude.<$> contactInfo,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "DomainOwner" Prelude.<$> domainOwner,+                               (JSON..=) "OriginConfiguration" Prelude.<$> originConfiguration,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON PackageGroup where+  toJSON PackageGroup {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DomainName" JSON..= domainName, "Pattern" JSON..= pattern]+              (Prelude.catMaybes+                 [(JSON..=) "ContactInfo" Prelude.<$> contactInfo,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "DomainOwner" Prelude.<$> domainOwner,+                  (JSON..=) "OriginConfiguration" Prelude.<$> originConfiguration,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "ContactInfo" PackageGroup where+  type PropertyType "ContactInfo" PackageGroup = Value Prelude.Text+  set newValue PackageGroup {..}+    = PackageGroup {contactInfo = Prelude.pure newValue, ..}+instance Property "Description" PackageGroup where+  type PropertyType "Description" PackageGroup = Value Prelude.Text+  set newValue PackageGroup {..}+    = PackageGroup {description = Prelude.pure newValue, ..}+instance Property "DomainName" PackageGroup where+  type PropertyType "DomainName" PackageGroup = Value Prelude.Text+  set newValue PackageGroup {..}+    = PackageGroup {domainName = newValue, ..}+instance Property "DomainOwner" PackageGroup where+  type PropertyType "DomainOwner" PackageGroup = Value Prelude.Text+  set newValue PackageGroup {..}+    = PackageGroup {domainOwner = Prelude.pure newValue, ..}+instance Property "OriginConfiguration" PackageGroup where+  type PropertyType "OriginConfiguration" PackageGroup = OriginConfigurationProperty+  set newValue PackageGroup {..}+    = PackageGroup {originConfiguration = Prelude.pure newValue, ..}+instance Property "Pattern" PackageGroup where+  type PropertyType "Pattern" PackageGroup = Value Prelude.Text+  set newValue PackageGroup {..}+    = PackageGroup {pattern = newValue, ..}+instance Property "Tags" PackageGroup where+  type PropertyType "Tags" PackageGroup = [Tag]+  set newValue PackageGroup {..}+    = PackageGroup {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/CodeArtifact/PackageGroup/OriginConfigurationProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.CodeArtifact.PackageGroup.OriginConfigurationProperty (+        module Exports, OriginConfigurationProperty(..),+        mkOriginConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CodeArtifact.PackageGroup.RestrictionsProperty as Exports+import Stratosphere.ResourceProperties+data OriginConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-originconfiguration.html>+    OriginConfigurationProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-originconfiguration.html#cfn-codeartifact-packagegroup-originconfiguration-restrictions>+                                 restrictions :: RestrictionsProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOriginConfigurationProperty ::+  RestrictionsProperty -> OriginConfigurationProperty+mkOriginConfigurationProperty restrictions+  = OriginConfigurationProperty+      {haddock_workaround_ = (), restrictions = restrictions}+instance ToResourceProperties OriginConfigurationProperty where+  toResourceProperties OriginConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::CodeArtifact::PackageGroup.OriginConfiguration",+         supportsTags = Prelude.False,+         properties = ["Restrictions" JSON..= restrictions]}+instance JSON.ToJSON OriginConfigurationProperty where+  toJSON OriginConfigurationProperty {..}+    = JSON.object ["Restrictions" JSON..= restrictions]+instance Property "Restrictions" OriginConfigurationProperty where+  type PropertyType "Restrictions" OriginConfigurationProperty = RestrictionsProperty+  set newValue OriginConfigurationProperty {..}+    = OriginConfigurationProperty {restrictions = newValue, ..}
+ gen/Stratosphere/CodeArtifact/PackageGroup/OriginConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CodeArtifact.PackageGroup.OriginConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OriginConfigurationProperty :: Prelude.Type+instance ToResourceProperties OriginConfigurationProperty+instance Prelude.Eq OriginConfigurationProperty+instance Prelude.Show OriginConfigurationProperty+instance JSON.ToJSON OriginConfigurationProperty
+ gen/Stratosphere/CodeArtifact/PackageGroup/RestrictionTypeProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.CodeArtifact.PackageGroup.RestrictionTypeProperty (+        RestrictionTypeProperty(..), mkRestrictionTypeProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RestrictionTypeProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-restrictiontype.html>+    RestrictionTypeProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-restrictiontype.html#cfn-codeartifact-packagegroup-restrictiontype-repositories>+                             repositories :: (Prelude.Maybe (ValueList Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-restrictiontype.html#cfn-codeartifact-packagegroup-restrictiontype-restrictionmode>+                             restrictionMode :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRestrictionTypeProperty ::+  Value Prelude.Text -> RestrictionTypeProperty+mkRestrictionTypeProperty restrictionMode+  = RestrictionTypeProperty+      {haddock_workaround_ = (), restrictionMode = restrictionMode,+       repositories = Prelude.Nothing}+instance ToResourceProperties RestrictionTypeProperty where+  toResourceProperties RestrictionTypeProperty {..}+    = ResourceProperties+        {awsType = "AWS::CodeArtifact::PackageGroup.RestrictionType",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["RestrictionMode" JSON..= restrictionMode]+                           (Prelude.catMaybes+                              [(JSON..=) "Repositories" Prelude.<$> repositories]))}+instance JSON.ToJSON RestrictionTypeProperty where+  toJSON RestrictionTypeProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["RestrictionMode" JSON..= restrictionMode]+              (Prelude.catMaybes+                 [(JSON..=) "Repositories" Prelude.<$> repositories])))+instance Property "Repositories" RestrictionTypeProperty where+  type PropertyType "Repositories" RestrictionTypeProperty = ValueList Prelude.Text+  set newValue RestrictionTypeProperty {..}+    = RestrictionTypeProperty+        {repositories = Prelude.pure newValue, ..}+instance Property "RestrictionMode" RestrictionTypeProperty where+  type PropertyType "RestrictionMode" RestrictionTypeProperty = Value Prelude.Text+  set newValue RestrictionTypeProperty {..}+    = RestrictionTypeProperty {restrictionMode = newValue, ..}
+ gen/Stratosphere/CodeArtifact/PackageGroup/RestrictionTypeProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CodeArtifact.PackageGroup.RestrictionTypeProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RestrictionTypeProperty :: Prelude.Type+instance ToResourceProperties RestrictionTypeProperty+instance Prelude.Eq RestrictionTypeProperty+instance Prelude.Show RestrictionTypeProperty+instance JSON.ToJSON RestrictionTypeProperty
+ gen/Stratosphere/CodeArtifact/PackageGroup/RestrictionsProperty.hs view
@@ -0,0 +1,55 @@+module Stratosphere.CodeArtifact.PackageGroup.RestrictionsProperty (+        module Exports, RestrictionsProperty(..), mkRestrictionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CodeArtifact.PackageGroup.RestrictionTypeProperty as Exports+import Stratosphere.ResourceProperties+data RestrictionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-restrictions.html>+    RestrictionsProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-restrictions.html#cfn-codeartifact-packagegroup-restrictions-externalupstream>+                          externalUpstream :: (Prelude.Maybe RestrictionTypeProperty),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-restrictions.html#cfn-codeartifact-packagegroup-restrictions-internalupstream>+                          internalUpstream :: (Prelude.Maybe RestrictionTypeProperty),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codeartifact-packagegroup-restrictions.html#cfn-codeartifact-packagegroup-restrictions-publish>+                          publish :: (Prelude.Maybe RestrictionTypeProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRestrictionsProperty :: RestrictionsProperty+mkRestrictionsProperty+  = RestrictionsProperty+      {haddock_workaround_ = (), externalUpstream = Prelude.Nothing,+       internalUpstream = Prelude.Nothing, publish = Prelude.Nothing}+instance ToResourceProperties RestrictionsProperty where+  toResourceProperties RestrictionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::CodeArtifact::PackageGroup.Restrictions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ExternalUpstream" Prelude.<$> externalUpstream,+                            (JSON..=) "InternalUpstream" Prelude.<$> internalUpstream,+                            (JSON..=) "Publish" Prelude.<$> publish])}+instance JSON.ToJSON RestrictionsProperty where+  toJSON RestrictionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ExternalUpstream" Prelude.<$> externalUpstream,+               (JSON..=) "InternalUpstream" Prelude.<$> internalUpstream,+               (JSON..=) "Publish" Prelude.<$> publish]))+instance Property "ExternalUpstream" RestrictionsProperty where+  type PropertyType "ExternalUpstream" RestrictionsProperty = RestrictionTypeProperty+  set newValue RestrictionsProperty {..}+    = RestrictionsProperty+        {externalUpstream = Prelude.pure newValue, ..}+instance Property "InternalUpstream" RestrictionsProperty where+  type PropertyType "InternalUpstream" RestrictionsProperty = RestrictionTypeProperty+  set newValue RestrictionsProperty {..}+    = RestrictionsProperty+        {internalUpstream = Prelude.pure newValue, ..}+instance Property "Publish" RestrictionsProperty where+  type PropertyType "Publish" RestrictionsProperty = RestrictionTypeProperty+  set newValue RestrictionsProperty {..}+    = RestrictionsProperty {publish = Prelude.pure newValue, ..}
+ gen/Stratosphere/CodeArtifact/PackageGroup/RestrictionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CodeArtifact.PackageGroup.RestrictionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RestrictionsProperty :: Prelude.Type+instance ToResourceProperties RestrictionsProperty+instance Prelude.Eq RestrictionsProperty+instance Prelude.Show RestrictionsProperty+instance JSON.ToJSON RestrictionsProperty
+ gen/Stratosphere/CodeArtifact/Repository.hs view
@@ -0,0 +1,104 @@+module Stratosphere.CodeArtifact.Repository (+        Repository(..), mkRepository+    ) 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 Repository+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html>+    Repository {haddock_workaround_ :: (),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-description>+                description :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-domainname>+                domainName :: (Value Prelude.Text),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-domainowner>+                domainOwner :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-externalconnections>+                externalConnections :: (Prelude.Maybe (ValueList Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-permissionspolicydocument>+                permissionsPolicyDocument :: (Prelude.Maybe JSON.Object),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-repositoryname>+                repositoryName :: (Value Prelude.Text),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-tags>+                tags :: (Prelude.Maybe [Tag]),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html#cfn-codeartifact-repository-upstreams>+                upstreams :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRepository ::+  Value Prelude.Text -> Value Prelude.Text -> Repository+mkRepository domainName repositoryName+  = Repository+      {haddock_workaround_ = (), domainName = domainName,+       repositoryName = repositoryName, description = Prelude.Nothing,+       domainOwner = Prelude.Nothing,+       externalConnections = Prelude.Nothing,+       permissionsPolicyDocument = Prelude.Nothing,+       tags = Prelude.Nothing, upstreams = Prelude.Nothing}+instance ToResourceProperties Repository where+  toResourceProperties Repository {..}+    = ResourceProperties+        {awsType = "AWS::CodeArtifact::Repository",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DomainName" JSON..= domainName,+                            "RepositoryName" JSON..= repositoryName]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "DomainOwner" Prelude.<$> domainOwner,+                               (JSON..=) "ExternalConnections" Prelude.<$> externalConnections,+                               (JSON..=) "PermissionsPolicyDocument"+                                 Prelude.<$> permissionsPolicyDocument,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "Upstreams" Prelude.<$> upstreams]))}+instance JSON.ToJSON Repository where+  toJSON Repository {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DomainName" JSON..= domainName,+               "RepositoryName" JSON..= repositoryName]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "DomainOwner" Prelude.<$> domainOwner,+                  (JSON..=) "ExternalConnections" Prelude.<$> externalConnections,+                  (JSON..=) "PermissionsPolicyDocument"+                    Prelude.<$> permissionsPolicyDocument,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "Upstreams" Prelude.<$> upstreams])))+instance Property "Description" Repository where+  type PropertyType "Description" Repository = Value Prelude.Text+  set newValue Repository {..}+    = Repository {description = Prelude.pure newValue, ..}+instance Property "DomainName" Repository where+  type PropertyType "DomainName" Repository = Value Prelude.Text+  set newValue Repository {..}+    = Repository {domainName = newValue, ..}+instance Property "DomainOwner" Repository where+  type PropertyType "DomainOwner" Repository = Value Prelude.Text+  set newValue Repository {..}+    = Repository {domainOwner = Prelude.pure newValue, ..}+instance Property "ExternalConnections" Repository where+  type PropertyType "ExternalConnections" Repository = ValueList Prelude.Text+  set newValue Repository {..}+    = Repository {externalConnections = Prelude.pure newValue, ..}+instance Property "PermissionsPolicyDocument" Repository where+  type PropertyType "PermissionsPolicyDocument" Repository = JSON.Object+  set newValue Repository {..}+    = Repository+        {permissionsPolicyDocument = Prelude.pure newValue, ..}+instance Property "RepositoryName" Repository where+  type PropertyType "RepositoryName" Repository = Value Prelude.Text+  set newValue Repository {..}+    = Repository {repositoryName = newValue, ..}+instance Property "Tags" Repository where+  type PropertyType "Tags" Repository = [Tag]+  set newValue Repository {..}+    = Repository {tags = Prelude.pure newValue, ..}+instance Property "Upstreams" Repository where+  type PropertyType "Upstreams" Repository = ValueList Prelude.Text+  set newValue Repository {..}+    = Repository {upstreams = Prelude.pure newValue, ..}
+ stratosphere-codeartifact.cabal view
@@ -0,0 +1,78 @@+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-codeartifact+version:        1.0.0+synopsis:       Stratosphere integration for AWS CodeArtifact.+description:    Integration into stratosphere to generate resources and properties for AWS CodeArtifact+category:       AWS, Cloud, CodeArtifact+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.CodeArtifact.Domain+      Stratosphere.CodeArtifact.PackageGroup+      Stratosphere.CodeArtifact.PackageGroup.OriginConfigurationProperty+      Stratosphere.CodeArtifact.PackageGroup.RestrictionsProperty+      Stratosphere.CodeArtifact.PackageGroup.RestrictionTypeProperty+      Stratosphere.CodeArtifact.Repository+  other-modules:+      Paths_stratosphere_codeartifact+  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