diff --git a/LICENSE b/LICENSE
new file mode 100644
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,367 @@
+Mozilla Public License Version 2.0
+==================================
+
+1. Definitions
+--------------
+
+1.1. "Contributor"
+    means each individual or legal entity that creates, contributes to
+    the creation of, or owns Covered Software.
+
+1.2. "Contributor Version"
+    means the combination of the Contributions of others (if any) used
+    by a Contributor and that particular Contributor's Contribution.
+
+1.3. "Contribution"
+    means Covered Software of a particular Contributor.
+
+1.4. "Covered Software"
+    means Source Code Form to which the initial Contributor has attached
+    the notice in Exhibit A, the Executable Form of such Source Code
+    Form, and Modifications of such Source Code Form, in each case
+    including portions thereof.
+
+1.5. "Incompatible With Secondary Licenses"
+    means
+
+    (a) that the initial Contributor has attached the notice described
+        in Exhibit B to the Covered Software; or
+
+    (b) that the Covered Software was made available under the terms of
+        version 1.1 or earlier of the License, but not also under the
+        terms of a Secondary License.
+
+1.6. "Executable Form"
+    means any form of the work other than Source Code Form.
+
+1.7. "Larger Work"
+    means a work that combines Covered Software with other material, in
+    a separate file or files, that is not Covered Software.
+
+1.8. "License"
+    means this document.
+
+1.9. "Licensable"
+    means having the right to grant, to the maximum extent possible,
+    whether at the time of the initial grant or subsequently, any and
+    all of the rights conveyed by this License.
+
+1.10. "Modifications"
+    means any of the following:
+
+    (a) any file in Source Code Form that results from an addition to,
+        deletion from, or modification of the contents of Covered
+        Software; or
+
+    (b) any new file in Source Code Form that contains any Covered
+        Software.
+
+1.11. "Patent Claims" of a Contributor
+    means any patent claim(s), including without limitation, method,
+    process, and apparatus claims, in any patent Licensable by such
+    Contributor that would be infringed, but for the grant of the
+    License, by the making, using, selling, offering for sale, having
+    made, import, or transfer of either its Contributions or its
+    Contributor Version.
+
+1.12. "Secondary License"
+    means either the GNU General Public License, Version 2.0, the GNU
+    Lesser General Public License, Version 2.1, the GNU Affero General
+    Public License, Version 3.0, or any later versions of those
+    licenses.
+
+1.13. "Source Code Form"
+    means the form of the work preferred for making modifications.
+
+1.14. "You" (or "Your")
+    means an individual or a legal entity exercising rights under this
+    License. For legal entities, "You" includes any entity that
+    controls, is controlled by, or is under common control with You. For
+    purposes of this definition, "control" means (a) the power, direct
+    or indirect, to cause the direction or management of such entity,
+    whether by contract or otherwise, or (b) ownership of more than
+    fifty percent (50%) of the outstanding shares or beneficial
+    ownership of such entity.
+
+2. License Grants and Conditions
+--------------------------------
+
+2.1. Grants
+
+Each Contributor hereby grants You a world-wide, royalty-free,
+non-exclusive license:
+
+(a) under intellectual property rights (other than patent or trademark)
+    Licensable by such Contributor to use, reproduce, make available,
+    modify, display, perform, distribute, and otherwise exploit its
+    Contributions, either on an unmodified basis, with Modifications, or
+    as part of a Larger Work; and
+
+(b) under Patent Claims of such Contributor to make, use, sell, offer
+    for sale, have made, import, and otherwise transfer either its
+    Contributions or its Contributor Version.
+
+2.2. Effective Date
+
+The licenses granted in Section 2.1 with respect to any Contribution
+become effective for each Contribution on the date the Contributor first
+distributes such Contribution.
+
+2.3. Limitations on Grant Scope
+
+The licenses granted in this Section 2 are the only rights granted under
+this License. No additional rights or licenses will be implied from the
+distribution or licensing of Covered Software under this License.
+Notwithstanding Section 2.1(b) above, no patent license is granted by a
+Contributor:
+
+(a) for any code that a Contributor has removed from Covered Software;
+    or
+
+(b) for infringements caused by: (i) Your and any other third party's
+    modifications of Covered Software, or (ii) the combination of its
+    Contributions with other software (except as part of its Contributor
+    Version); or
+
+(c) under Patent Claims infringed by Covered Software in the absence of
+    its Contributions.
+
+This License does not grant any rights in the trademarks, service marks,
+or logos of any Contributor (except as may be necessary to comply with
+the notice requirements in Section 3.4).
+
+2.4. Subsequent Licenses
+
+No Contributor makes additional grants as a result of Your choice to
+distribute the Covered Software under a subsequent version of this
+License (see Section 10.2) or under the terms of a Secondary License (if
+permitted under the terms of Section 3.3).
+
+2.5. Representation
+
+Each Contributor represents that the Contributor believes its
+Contributions are its original creation(s) or it has sufficient rights
+to grant the rights to its Contributions conveyed by this License.
+
+2.6. Fair Use
+
+This License is not intended to limit any rights You have under
+applicable copyright doctrines of fair use, fair dealing, or other
+equivalents.
+
+2.7. Conditions
+
+Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
+in Section 2.1.
+
+3. Responsibilities
+-------------------
+
+3.1. Distribution of Source Form
+
+All distribution of Covered Software in Source Code Form, including any
+Modifications that You create or to which You contribute, must be under
+the terms of this License. You must inform recipients that the Source
+Code Form of the Covered Software is governed by the terms of this
+License, and how they can obtain a copy of this License. You may not
+attempt to alter or restrict the recipients' rights in the Source Code
+Form.
+
+3.2. Distribution of Executable Form
+
+If You distribute Covered Software in Executable Form then:
+
+(a) such Covered Software must also be made available in Source Code
+    Form, as described in Section 3.1, and You must inform recipients of
+    the Executable Form how they can obtain a copy of such Source Code
+    Form by reasonable means in a timely manner, at a charge no more
+    than the cost of distribution to the recipient; and
+
+(b) You may distribute such Executable Form under the terms of this
+    License, or sublicense it under different terms, provided that the
+    license for the Executable Form does not attempt to limit or alter
+    the recipients' rights in the Source Code Form under this License.
+
+3.3. Distribution of a Larger Work
+
+You may create and distribute a Larger Work under terms of Your choice,
+provided that You also comply with the requirements of this License for
+the Covered Software. If the Larger Work is a combination of Covered
+Software with a work governed by one or more Secondary Licenses, and the
+Covered Software is not Incompatible With Secondary Licenses, this
+License permits You to additionally distribute such Covered Software
+under the terms of such Secondary License(s), so that the recipient of
+the Larger Work may, at their option, further distribute the Covered
+Software under the terms of either this License or such Secondary
+License(s).
+
+3.4. Notices
+
+You may not remove or alter the substance of any license notices
+(including copyright notices, patent notices, disclaimers of warranty,
+or limitations of liability) contained within the Source Code Form of
+the Covered Software, except that You may alter any license notices to
+the extent required to remedy known factual inaccuracies.
+
+3.5. Application of Additional Terms
+
+You may choose to offer, and to charge a fee for, warranty, support,
+indemnity or liability obligations to one or more recipients of Covered
+Software. However, You may do so only on Your own behalf, and not on
+behalf of any Contributor. You must make it absolutely clear that any
+such warranty, support, indemnity, or liability obligation is offered by
+You alone, and You hereby agree to indemnify every Contributor for any
+liability incurred by such Contributor as a result of warranty, support,
+indemnity or liability terms You offer. You may include additional
+disclaimers of warranty and limitations of liability specific to any
+jurisdiction.
+
+4. Inability to Comply Due to Statute or Regulation
+---------------------------------------------------
+
+If it is impossible for You to comply with any of the terms of this
+License with respect to some or all of the Covered Software due to
+statute, judicial order, or regulation then You must: (a) comply with
+the terms of this License to the maximum extent possible; and (b)
+describe the limitations and the code they affect. Such description must
+be placed in a text file included with all distributions of the Covered
+Software under this License. Except to the extent prohibited by statute
+or regulation, such description must be sufficiently detailed for a
+recipient of ordinary skill to be able to understand it.
+
+5. Termination
+--------------
+
+5.1. The rights granted under this License will terminate automatically
+if You fail to comply with any of its terms. However, if You become
+compliant, then the rights granted under this License from a particular
+Contributor are reinstated (a) provisionally, unless and until such
+Contributor explicitly and finally terminates Your grants, and (b) on an
+ongoing basis, if such Contributor fails to notify You of the
+non-compliance by some reasonable means prior to 60 days after You have
+come back into compliance. Moreover, Your grants from a particular
+Contributor are reinstated on an ongoing basis if such Contributor
+notifies You of the non-compliance by some reasonable means, this is the
+first time You have received notice of non-compliance with this License
+from such Contributor, and You become compliant prior to 30 days after
+Your receipt of the notice.
+
+5.2. If You initiate litigation against any entity by asserting a patent
+infringement claim (excluding declaratory judgment actions,
+counter-claims, and cross-claims) alleging that a Contributor Version
+directly or indirectly infringes any patent, then the rights granted to
+You by any and all Contributors for the Covered Software under Section
+2.1 of this License shall terminate.
+
+5.3. In the event of termination under Sections 5.1 or 5.2 above, all
+end user license agreements (excluding distributors and resellers) which
+have been validly granted by You or Your distributors under this License
+prior to termination shall survive termination.
+
+************************************************************************
+*                                                                      *
+*  6. Disclaimer of Warranty                                           *
+*  -------------------------                                           *
+*                                                                      *
+*  Covered Software is provided under this License on an "as is"       *
+*  basis, without warranty of any kind, either expressed, implied, or  *
+*  statutory, including, without limitation, warranties that the       *
+*  Covered Software is free of defects, merchantable, fit for a        *
+*  particular purpose or non-infringing. The entire risk as to the     *
+*  quality and performance of the Covered Software is with You.        *
+*  Should any Covered Software prove defective in any respect, You     *
+*  (not any Contributor) assume the cost of any necessary servicing,   *
+*  repair, or correction. This disclaimer of warranty constitutes an   *
+*  essential part of this License. No use of any Covered Software is   *
+*  authorized under this License except under this disclaimer.         *
+*                                                                      *
+************************************************************************
+
+************************************************************************
+*                                                                      *
+*  7. Limitation of Liability                                          *
+*  --------------------------                                          *
+*                                                                      *
+*  Under no circumstances and under no legal theory, whether tort      *
+*  (including negligence), contract, or otherwise, shall any           *
+*  Contributor, or anyone who distributes Covered Software as          *
+*  permitted above, be liable to You for any direct, indirect,         *
+*  special, incidental, or consequential damages of any character      *
+*  including, without limitation, damages for lost profits, loss of    *
+*  goodwill, work stoppage, computer failure or malfunction, or any    *
+*  and all other commercial damages or losses, even if such party      *
+*  shall have been informed of the possibility of such damages. This   *
+*  limitation of liability shall not apply to liability for death or   *
+*  personal injury resulting from such party's negligence to the       *
+*  extent applicable law prohibits such limitation. Some               *
+*  jurisdictions do not allow the exclusion or limitation of           *
+*  incidental or consequential damages, so this exclusion and          *
+*  limitation may not apply to You.                                    *
+*                                                                      *
+************************************************************************
+
+8. Litigation
+-------------
+
+Any litigation relating to this License may be brought only in the
+courts of a jurisdiction where the defendant maintains its principal
+place of business and such litigation shall be governed by laws of that
+jurisdiction, without reference to its conflict-of-law provisions.
+Nothing in this Section shall prevent a party's ability to bring
+cross-claims or counter-claims.
+
+9. Miscellaneous
+----------------
+
+This License represents the complete agreement concerning the subject
+matter hereof. If any provision of this License is held to be
+unenforceable, such provision shall be reformed only to the extent
+necessary to make it enforceable. Any law or regulation which provides
+that the language of a contract shall be construed against the drafter
+shall not be used to construe this License against a Contributor.
+
+10. Versions of the License
+---------------------------
+
+10.1. New Versions
+
+Mozilla Foundation is the license steward. Except as provided in Section
+10.3, no one other than the license steward has the right to modify or
+publish new versions of this License. Each version will be given a
+distinguishing version number.
+
+10.2. Effect of New Versions
+
+You may distribute the Covered Software under the terms of the version
+of the License under which You originally received the Covered Software,
+or under the terms of any subsequent version published by the license
+steward.
+
+10.3. Modified Versions
+
+If you create software not governed by this License, and you want to
+create a new license for such software, you may create and use a
+modified version of this License if you rename the license and remove
+any references to the name of the license steward (except to note that
+such modified license differs from this License).
+
+10.4. Distributing Source Code Form that is Incompatible With Secondary
+Licenses
+
+If You choose to distribute Source Code Form that is Incompatible With
+Secondary Licenses under the terms of this version of the License, the
+notice described in Exhibit B of this License must be attached.
+
+Exhibit A - Source Code Form License Notice
+-------------------------------------------
+
+  This Source Code Form is subject to the terms of the Mozilla Public
+  License, v. 2.0. If a copy of the MPL was not distributed with this
+  file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+If it is not possible or desirable to put the notice in a particular
+file, then You may include the notice in a location (such as a LICENSE
+file in a relevant directory) where a recipient would be likely to look
+for such a notice.
+
+You may add additional accurate notices of copyright ownership.
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,44 @@
+# Amazon Omics SDK
+
+* [Version](#version)
+* [Description](#description)
+* [Contribute](#contribute)
+* [Licence](#licence)
+
+
+## Version
+ 
+`2.0` - Derived from API version @2022-11-28@ of the AWS service descriptions, licensed under Apache 2.0.
+
+## Description
+
+Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-omics)
+and the [AWS API Reference](https://aws.amazon.com/documentation/).
+
+The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/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
+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).
+
+See [Amazonka.Omics](http://hackage.haskell.org/package/amazonka-omics/docs/Amazonka-Omics.html)
+or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.
+
+
+## Contribute
+
+For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).
+
+> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.
+
+
+## Licence
+
+`amazonka-omics` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
+
+Parts of the code are derived from AWS service descriptions, licensed under Apache 2.0.
+Source files subject to this contain an additional licensing clause in their header.
diff --git a/amazonka-omics.cabal b/amazonka-omics.cabal
new file mode 100644
--- /dev/null
+++ b/amazonka-omics.cabal
@@ -0,0 +1,233 @@
+cabal-version:      2.2
+name:               amazonka-omics
+version:            2.0
+synopsis:           Amazon Omics 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:
+  Derived from API version @2022-11-28@ 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.Omics.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.Omics" 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-omics
+
+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:
+    Amazonka.Omics
+    Amazonka.Omics.BatchDeleteReadSet
+    Amazonka.Omics.CancelAnnotationImportJob
+    Amazonka.Omics.CancelRun
+    Amazonka.Omics.CancelVariantImportJob
+    Amazonka.Omics.CreateAnnotationStore
+    Amazonka.Omics.CreateReferenceStore
+    Amazonka.Omics.CreateRunGroup
+    Amazonka.Omics.CreateSequenceStore
+    Amazonka.Omics.CreateVariantStore
+    Amazonka.Omics.CreateWorkflow
+    Amazonka.Omics.DeleteAnnotationStore
+    Amazonka.Omics.DeleteReference
+    Amazonka.Omics.DeleteReferenceStore
+    Amazonka.Omics.DeleteRun
+    Amazonka.Omics.DeleteRunGroup
+    Amazonka.Omics.DeleteSequenceStore
+    Amazonka.Omics.DeleteVariantStore
+    Amazonka.Omics.DeleteWorkflow
+    Amazonka.Omics.GetAnnotationImportJob
+    Amazonka.Omics.GetAnnotationStore
+    Amazonka.Omics.GetReadSet
+    Amazonka.Omics.GetReadSetActivationJob
+    Amazonka.Omics.GetReadSetExportJob
+    Amazonka.Omics.GetReadSetImportJob
+    Amazonka.Omics.GetReadSetMetadata
+    Amazonka.Omics.GetReference
+    Amazonka.Omics.GetReferenceImportJob
+    Amazonka.Omics.GetReferenceMetadata
+    Amazonka.Omics.GetReferenceStore
+    Amazonka.Omics.GetRun
+    Amazonka.Omics.GetRunGroup
+    Amazonka.Omics.GetRunTask
+    Amazonka.Omics.GetSequenceStore
+    Amazonka.Omics.GetVariantImportJob
+    Amazonka.Omics.GetVariantStore
+    Amazonka.Omics.GetWorkflow
+    Amazonka.Omics.Lens
+    Amazonka.Omics.ListAnnotationImportJobs
+    Amazonka.Omics.ListAnnotationStores
+    Amazonka.Omics.ListReadSetActivationJobs
+    Amazonka.Omics.ListReadSetExportJobs
+    Amazonka.Omics.ListReadSetImportJobs
+    Amazonka.Omics.ListReadSets
+    Amazonka.Omics.ListReferenceImportJobs
+    Amazonka.Omics.ListReferences
+    Amazonka.Omics.ListReferenceStores
+    Amazonka.Omics.ListRunGroups
+    Amazonka.Omics.ListRuns
+    Amazonka.Omics.ListRunTasks
+    Amazonka.Omics.ListSequenceStores
+    Amazonka.Omics.ListTagsForResource
+    Amazonka.Omics.ListVariantImportJobs
+    Amazonka.Omics.ListVariantStores
+    Amazonka.Omics.ListWorkflows
+    Amazonka.Omics.StartAnnotationImportJob
+    Amazonka.Omics.StartReadSetActivationJob
+    Amazonka.Omics.StartReadSetExportJob
+    Amazonka.Omics.StartReadSetImportJob
+    Amazonka.Omics.StartReferenceImportJob
+    Amazonka.Omics.StartRun
+    Amazonka.Omics.StartVariantImportJob
+    Amazonka.Omics.TagResource
+    Amazonka.Omics.Types
+    Amazonka.Omics.Types.ActivateReadSetFilter
+    Amazonka.Omics.Types.ActivateReadSetJobItem
+    Amazonka.Omics.Types.ActivateReadSetSourceItem
+    Amazonka.Omics.Types.AnnotationImportItemDetail
+    Amazonka.Omics.Types.AnnotationImportItemSource
+    Amazonka.Omics.Types.AnnotationImportJobItem
+    Amazonka.Omics.Types.AnnotationStoreItem
+    Amazonka.Omics.Types.AnnotationType
+    Amazonka.Omics.Types.EncryptionType
+    Amazonka.Omics.Types.ExportReadSet
+    Amazonka.Omics.Types.ExportReadSetDetail
+    Amazonka.Omics.Types.ExportReadSetFilter
+    Amazonka.Omics.Types.ExportReadSetJobDetail
+    Amazonka.Omics.Types.FileInformation
+    Amazonka.Omics.Types.FileType
+    Amazonka.Omics.Types.FormatOptions
+    Amazonka.Omics.Types.FormatToHeaderKey
+    Amazonka.Omics.Types.ImportReadSetFilter
+    Amazonka.Omics.Types.ImportReadSetJobItem
+    Amazonka.Omics.Types.ImportReadSetSourceItem
+    Amazonka.Omics.Types.ImportReferenceFilter
+    Amazonka.Omics.Types.ImportReferenceJobItem
+    Amazonka.Omics.Types.ImportReferenceSourceItem
+    Amazonka.Omics.Types.JobStatus
+    Amazonka.Omics.Types.ListAnnotationImportJobsFilter
+    Amazonka.Omics.Types.ListAnnotationStoresFilter
+    Amazonka.Omics.Types.ListVariantImportJobsFilter
+    Amazonka.Omics.Types.ListVariantStoresFilter
+    Amazonka.Omics.Types.ReadOptions
+    Amazonka.Omics.Types.ReadSetActivationJobItemStatus
+    Amazonka.Omics.Types.ReadSetActivationJobStatus
+    Amazonka.Omics.Types.ReadSetBatchError
+    Amazonka.Omics.Types.ReadSetExportJobItemStatus
+    Amazonka.Omics.Types.ReadSetExportJobStatus
+    Amazonka.Omics.Types.ReadSetFile
+    Amazonka.Omics.Types.ReadSetFiles
+    Amazonka.Omics.Types.ReadSetFilter
+    Amazonka.Omics.Types.ReadSetImportJobItemStatus
+    Amazonka.Omics.Types.ReadSetImportJobStatus
+    Amazonka.Omics.Types.ReadSetListItem
+    Amazonka.Omics.Types.ReadSetStatus
+    Amazonka.Omics.Types.ReferenceFile
+    Amazonka.Omics.Types.ReferenceFiles
+    Amazonka.Omics.Types.ReferenceFilter
+    Amazonka.Omics.Types.ReferenceImportJobItemStatus
+    Amazonka.Omics.Types.ReferenceImportJobStatus
+    Amazonka.Omics.Types.ReferenceItem
+    Amazonka.Omics.Types.ReferenceListItem
+    Amazonka.Omics.Types.ReferenceStatus
+    Amazonka.Omics.Types.ReferenceStoreDetail
+    Amazonka.Omics.Types.ReferenceStoreFilter
+    Amazonka.Omics.Types.RunExport
+    Amazonka.Omics.Types.RunGroupListItem
+    Amazonka.Omics.Types.RunListItem
+    Amazonka.Omics.Types.RunLogLevel
+    Amazonka.Omics.Types.RunParameters
+    Amazonka.Omics.Types.RunStatus
+    Amazonka.Omics.Types.SchemaValueType
+    Amazonka.Omics.Types.SequenceInformation
+    Amazonka.Omics.Types.SequenceStoreDetail
+    Amazonka.Omics.Types.SequenceStoreFilter
+    Amazonka.Omics.Types.SourceFiles
+    Amazonka.Omics.Types.SseConfig
+    Amazonka.Omics.Types.StartReadSetActivationJobSourceItem
+    Amazonka.Omics.Types.StartReadSetImportJobSourceItem
+    Amazonka.Omics.Types.StartReferenceImportJobSourceItem
+    Amazonka.Omics.Types.StoreFormat
+    Amazonka.Omics.Types.StoreOptions
+    Amazonka.Omics.Types.StoreStatus
+    Amazonka.Omics.Types.TaskListItem
+    Amazonka.Omics.Types.TaskStatus
+    Amazonka.Omics.Types.TsvOptions
+    Amazonka.Omics.Types.TsvStoreOptions
+    Amazonka.Omics.Types.VariantImportItemDetail
+    Amazonka.Omics.Types.VariantImportItemSource
+    Amazonka.Omics.Types.VariantImportJobItem
+    Amazonka.Omics.Types.VariantStoreItem
+    Amazonka.Omics.Types.VcfOptions
+    Amazonka.Omics.Types.WorkflowEngine
+    Amazonka.Omics.Types.WorkflowExport
+    Amazonka.Omics.Types.WorkflowListItem
+    Amazonka.Omics.Types.WorkflowParameter
+    Amazonka.Omics.Types.WorkflowStatus
+    Amazonka.Omics.Types.WorkflowType
+    Amazonka.Omics.UntagResource
+    Amazonka.Omics.UpdateAnnotationStore
+    Amazonka.Omics.UpdateRunGroup
+    Amazonka.Omics.UpdateVariantStore
+    Amazonka.Omics.UpdateWorkflow
+    Amazonka.Omics.Waiters
+
+  build-depends:
+    , amazonka-core  >=2.0  && <2.1
+    , base           >=4.12 && <5
+
+test-suite amazonka-omics-test
+  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.Amazonka.Gen.Omics
+    Test.Amazonka.Omics
+    Test.Amazonka.Omics.Internal
+
+  build-depends:
+    , amazonka-core         >=2.0 && <2.1
+    , amazonka-omics
+    , amazonka-test         >=2.0 && <2.1
+    , base
+    , bytestring
+    , case-insensitive
+    , tasty
+    , tasty-hunit
+    , text
+    , time
+    , unordered-containers
diff --git a/fixture/BatchDeleteReadSet.yaml b/fixture/BatchDeleteReadSet.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/BatchDeleteReadSet.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/BatchDeleteReadSetResponse.proto b/fixture/BatchDeleteReadSetResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/BatchDeleteReadSetResponse.proto
diff --git a/fixture/CancelAnnotationImportJob.yaml b/fixture/CancelAnnotationImportJob.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/CancelAnnotationImportJob.yaml
@@ -0,0 +1,10 @@
+---
+method: DELETE
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/CancelAnnotationImportJobResponse.proto b/fixture/CancelAnnotationImportJobResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/CancelAnnotationImportJobResponse.proto
diff --git a/fixture/CancelRun.yaml b/fixture/CancelRun.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/CancelRun.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/CancelRunResponse.proto b/fixture/CancelRunResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/CancelRunResponse.proto
diff --git a/fixture/CancelVariantImportJob.yaml b/fixture/CancelVariantImportJob.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/CancelVariantImportJob.yaml
@@ -0,0 +1,10 @@
+---
+method: DELETE
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/CancelVariantImportJobResponse.proto b/fixture/CancelVariantImportJobResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/CancelVariantImportJobResponse.proto
diff --git a/fixture/CreateAnnotationStore.yaml b/fixture/CreateAnnotationStore.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/CreateAnnotationStore.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/CreateAnnotationStoreResponse.proto b/fixture/CreateAnnotationStoreResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/CreateAnnotationStoreResponse.proto
diff --git a/fixture/CreateReferenceStore.yaml b/fixture/CreateReferenceStore.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/CreateReferenceStore.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/CreateReferenceStoreResponse.proto b/fixture/CreateReferenceStoreResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/CreateReferenceStoreResponse.proto
diff --git a/fixture/CreateRunGroup.yaml b/fixture/CreateRunGroup.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/CreateRunGroup.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/CreateRunGroupResponse.proto b/fixture/CreateRunGroupResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/CreateRunGroupResponse.proto
diff --git a/fixture/CreateSequenceStore.yaml b/fixture/CreateSequenceStore.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/CreateSequenceStore.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/CreateSequenceStoreResponse.proto b/fixture/CreateSequenceStoreResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/CreateSequenceStoreResponse.proto
diff --git a/fixture/CreateVariantStore.yaml b/fixture/CreateVariantStore.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/CreateVariantStore.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/CreateVariantStoreResponse.proto b/fixture/CreateVariantStoreResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/CreateVariantStoreResponse.proto
diff --git a/fixture/CreateWorkflow.yaml b/fixture/CreateWorkflow.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/CreateWorkflow.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/CreateWorkflowResponse.proto b/fixture/CreateWorkflowResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/CreateWorkflowResponse.proto
diff --git a/fixture/DeleteAnnotationStore.yaml b/fixture/DeleteAnnotationStore.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteAnnotationStore.yaml
@@ -0,0 +1,10 @@
+---
+method: DELETE
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/DeleteAnnotationStoreResponse.proto b/fixture/DeleteAnnotationStoreResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteAnnotationStoreResponse.proto
diff --git a/fixture/DeleteReference.yaml b/fixture/DeleteReference.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteReference.yaml
@@ -0,0 +1,10 @@
+---
+method: DELETE
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/DeleteReferenceResponse.proto b/fixture/DeleteReferenceResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteReferenceResponse.proto
diff --git a/fixture/DeleteReferenceStore.yaml b/fixture/DeleteReferenceStore.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteReferenceStore.yaml
@@ -0,0 +1,10 @@
+---
+method: DELETE
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/DeleteReferenceStoreResponse.proto b/fixture/DeleteReferenceStoreResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteReferenceStoreResponse.proto
diff --git a/fixture/DeleteRun.yaml b/fixture/DeleteRun.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteRun.yaml
@@ -0,0 +1,10 @@
+---
+method: DELETE
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/DeleteRunGroup.yaml b/fixture/DeleteRunGroup.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteRunGroup.yaml
@@ -0,0 +1,10 @@
+---
+method: DELETE
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/DeleteRunGroupResponse.proto b/fixture/DeleteRunGroupResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteRunGroupResponse.proto
diff --git a/fixture/DeleteRunResponse.proto b/fixture/DeleteRunResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteRunResponse.proto
diff --git a/fixture/DeleteSequenceStore.yaml b/fixture/DeleteSequenceStore.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteSequenceStore.yaml
@@ -0,0 +1,10 @@
+---
+method: DELETE
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/DeleteSequenceStoreResponse.proto b/fixture/DeleteSequenceStoreResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteSequenceStoreResponse.proto
diff --git a/fixture/DeleteVariantStore.yaml b/fixture/DeleteVariantStore.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteVariantStore.yaml
@@ -0,0 +1,10 @@
+---
+method: DELETE
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/DeleteVariantStoreResponse.proto b/fixture/DeleteVariantStoreResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteVariantStoreResponse.proto
diff --git a/fixture/DeleteWorkflow.yaml b/fixture/DeleteWorkflow.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteWorkflow.yaml
@@ -0,0 +1,10 @@
+---
+method: DELETE
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/DeleteWorkflowResponse.proto b/fixture/DeleteWorkflowResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/DeleteWorkflowResponse.proto
diff --git a/fixture/GetAnnotationImportJob.yaml b/fixture/GetAnnotationImportJob.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetAnnotationImportJob.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetAnnotationImportJobResponse.proto b/fixture/GetAnnotationImportJobResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetAnnotationImportJobResponse.proto
diff --git a/fixture/GetAnnotationStore.yaml b/fixture/GetAnnotationStore.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetAnnotationStore.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetAnnotationStoreResponse.proto b/fixture/GetAnnotationStoreResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetAnnotationStoreResponse.proto
diff --git a/fixture/GetReadSet.yaml b/fixture/GetReadSet.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetReadSet.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetReadSetActivationJob.yaml b/fixture/GetReadSetActivationJob.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetReadSetActivationJob.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetReadSetActivationJobResponse.proto b/fixture/GetReadSetActivationJobResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetReadSetActivationJobResponse.proto
diff --git a/fixture/GetReadSetExportJob.yaml b/fixture/GetReadSetExportJob.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetReadSetExportJob.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetReadSetExportJobResponse.proto b/fixture/GetReadSetExportJobResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetReadSetExportJobResponse.proto
diff --git a/fixture/GetReadSetImportJob.yaml b/fixture/GetReadSetImportJob.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetReadSetImportJob.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetReadSetImportJobResponse.proto b/fixture/GetReadSetImportJobResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetReadSetImportJobResponse.proto
diff --git a/fixture/GetReadSetMetadata.yaml b/fixture/GetReadSetMetadata.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetReadSetMetadata.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetReadSetMetadataResponse.proto b/fixture/GetReadSetMetadataResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetReadSetMetadataResponse.proto
diff --git a/fixture/GetReadSetResponse.proto b/fixture/GetReadSetResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetReadSetResponse.proto
diff --git a/fixture/GetReference.yaml b/fixture/GetReference.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetReference.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetReferenceImportJob.yaml b/fixture/GetReferenceImportJob.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetReferenceImportJob.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetReferenceImportJobResponse.proto b/fixture/GetReferenceImportJobResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetReferenceImportJobResponse.proto
diff --git a/fixture/GetReferenceMetadata.yaml b/fixture/GetReferenceMetadata.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetReferenceMetadata.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetReferenceMetadataResponse.proto b/fixture/GetReferenceMetadataResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetReferenceMetadataResponse.proto
diff --git a/fixture/GetReferenceResponse.proto b/fixture/GetReferenceResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetReferenceResponse.proto
diff --git a/fixture/GetReferenceStore.yaml b/fixture/GetReferenceStore.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetReferenceStore.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetReferenceStoreResponse.proto b/fixture/GetReferenceStoreResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetReferenceStoreResponse.proto
diff --git a/fixture/GetRun.yaml b/fixture/GetRun.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetRun.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetRunGroup.yaml b/fixture/GetRunGroup.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetRunGroup.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetRunGroupResponse.proto b/fixture/GetRunGroupResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetRunGroupResponse.proto
diff --git a/fixture/GetRunResponse.proto b/fixture/GetRunResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetRunResponse.proto
diff --git a/fixture/GetRunTask.yaml b/fixture/GetRunTask.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetRunTask.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetRunTaskResponse.proto b/fixture/GetRunTaskResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetRunTaskResponse.proto
diff --git a/fixture/GetSequenceStore.yaml b/fixture/GetSequenceStore.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetSequenceStore.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetSequenceStoreResponse.proto b/fixture/GetSequenceStoreResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetSequenceStoreResponse.proto
diff --git a/fixture/GetVariantImportJob.yaml b/fixture/GetVariantImportJob.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetVariantImportJob.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetVariantImportJobResponse.proto b/fixture/GetVariantImportJobResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetVariantImportJobResponse.proto
diff --git a/fixture/GetVariantStore.yaml b/fixture/GetVariantStore.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetVariantStore.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetVariantStoreResponse.proto b/fixture/GetVariantStoreResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetVariantStoreResponse.proto
diff --git a/fixture/GetWorkflow.yaml b/fixture/GetWorkflow.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/GetWorkflow.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/GetWorkflowResponse.proto b/fixture/GetWorkflowResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/GetWorkflowResponse.proto
diff --git a/fixture/ListAnnotationImportJobs.yaml b/fixture/ListAnnotationImportJobs.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListAnnotationImportJobs.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListAnnotationImportJobsResponse.proto b/fixture/ListAnnotationImportJobsResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListAnnotationImportJobsResponse.proto
diff --git a/fixture/ListAnnotationStores.yaml b/fixture/ListAnnotationStores.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListAnnotationStores.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListAnnotationStoresResponse.proto b/fixture/ListAnnotationStoresResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListAnnotationStoresResponse.proto
diff --git a/fixture/ListReadSetActivationJobs.yaml b/fixture/ListReadSetActivationJobs.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListReadSetActivationJobs.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListReadSetActivationJobsResponse.proto b/fixture/ListReadSetActivationJobsResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListReadSetActivationJobsResponse.proto
diff --git a/fixture/ListReadSetExportJobs.yaml b/fixture/ListReadSetExportJobs.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListReadSetExportJobs.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListReadSetExportJobsResponse.proto b/fixture/ListReadSetExportJobsResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListReadSetExportJobsResponse.proto
diff --git a/fixture/ListReadSetImportJobs.yaml b/fixture/ListReadSetImportJobs.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListReadSetImportJobs.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListReadSetImportJobsResponse.proto b/fixture/ListReadSetImportJobsResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListReadSetImportJobsResponse.proto
diff --git a/fixture/ListReadSets.yaml b/fixture/ListReadSets.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListReadSets.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListReadSetsResponse.proto b/fixture/ListReadSetsResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListReadSetsResponse.proto
diff --git a/fixture/ListReferenceImportJobs.yaml b/fixture/ListReferenceImportJobs.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListReferenceImportJobs.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListReferenceImportJobsResponse.proto b/fixture/ListReferenceImportJobsResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListReferenceImportJobsResponse.proto
diff --git a/fixture/ListReferenceStores.yaml b/fixture/ListReferenceStores.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListReferenceStores.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListReferenceStoresResponse.proto b/fixture/ListReferenceStoresResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListReferenceStoresResponse.proto
diff --git a/fixture/ListReferences.yaml b/fixture/ListReferences.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListReferences.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListReferencesResponse.proto b/fixture/ListReferencesResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListReferencesResponse.proto
diff --git a/fixture/ListRunGroups.yaml b/fixture/ListRunGroups.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListRunGroups.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListRunGroupsResponse.proto b/fixture/ListRunGroupsResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListRunGroupsResponse.proto
diff --git a/fixture/ListRunTasks.yaml b/fixture/ListRunTasks.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListRunTasks.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListRunTasksResponse.proto b/fixture/ListRunTasksResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListRunTasksResponse.proto
diff --git a/fixture/ListRuns.yaml b/fixture/ListRuns.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListRuns.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListRunsResponse.proto b/fixture/ListRunsResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListRunsResponse.proto
diff --git a/fixture/ListSequenceStores.yaml b/fixture/ListSequenceStores.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListSequenceStores.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListSequenceStoresResponse.proto b/fixture/ListSequenceStoresResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListSequenceStoresResponse.proto
diff --git a/fixture/ListTagsForResource.yaml b/fixture/ListTagsForResource.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListTagsForResource.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListTagsForResourceResponse.proto b/fixture/ListTagsForResourceResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListTagsForResourceResponse.proto
diff --git a/fixture/ListVariantImportJobs.yaml b/fixture/ListVariantImportJobs.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListVariantImportJobs.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListVariantImportJobsResponse.proto b/fixture/ListVariantImportJobsResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListVariantImportJobsResponse.proto
diff --git a/fixture/ListVariantStores.yaml b/fixture/ListVariantStores.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListVariantStores.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListVariantStoresResponse.proto b/fixture/ListVariantStoresResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListVariantStoresResponse.proto
diff --git a/fixture/ListWorkflows.yaml b/fixture/ListWorkflows.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/ListWorkflows.yaml
@@ -0,0 +1,10 @@
+---
+method: GET
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/ListWorkflowsResponse.proto b/fixture/ListWorkflowsResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/ListWorkflowsResponse.proto
diff --git a/fixture/StartAnnotationImportJob.yaml b/fixture/StartAnnotationImportJob.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/StartAnnotationImportJob.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/StartAnnotationImportJobResponse.proto b/fixture/StartAnnotationImportJobResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/StartAnnotationImportJobResponse.proto
diff --git a/fixture/StartReadSetActivationJob.yaml b/fixture/StartReadSetActivationJob.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/StartReadSetActivationJob.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/StartReadSetActivationJobResponse.proto b/fixture/StartReadSetActivationJobResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/StartReadSetActivationJobResponse.proto
diff --git a/fixture/StartReadSetExportJob.yaml b/fixture/StartReadSetExportJob.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/StartReadSetExportJob.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/StartReadSetExportJobResponse.proto b/fixture/StartReadSetExportJobResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/StartReadSetExportJobResponse.proto
diff --git a/fixture/StartReadSetImportJob.yaml b/fixture/StartReadSetImportJob.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/StartReadSetImportJob.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/StartReadSetImportJobResponse.proto b/fixture/StartReadSetImportJobResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/StartReadSetImportJobResponse.proto
diff --git a/fixture/StartReferenceImportJob.yaml b/fixture/StartReferenceImportJob.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/StartReferenceImportJob.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/StartReferenceImportJobResponse.proto b/fixture/StartReferenceImportJobResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/StartReferenceImportJobResponse.proto
diff --git a/fixture/StartRun.yaml b/fixture/StartRun.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/StartRun.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/StartRunResponse.proto b/fixture/StartRunResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/StartRunResponse.proto
diff --git a/fixture/StartVariantImportJob.yaml b/fixture/StartVariantImportJob.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/StartVariantImportJob.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/StartVariantImportJobResponse.proto b/fixture/StartVariantImportJobResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/StartVariantImportJobResponse.proto
diff --git a/fixture/TagResource.yaml b/fixture/TagResource.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/TagResource.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/TagResourceResponse.proto b/fixture/TagResourceResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/TagResourceResponse.proto
diff --git a/fixture/UntagResource.yaml b/fixture/UntagResource.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/UntagResource.yaml
@@ -0,0 +1,10 @@
+---
+method: DELETE
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/UntagResourceResponse.proto b/fixture/UntagResourceResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/UntagResourceResponse.proto
diff --git a/fixture/UpdateAnnotationStore.yaml b/fixture/UpdateAnnotationStore.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/UpdateAnnotationStore.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/UpdateAnnotationStoreResponse.proto b/fixture/UpdateAnnotationStoreResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/UpdateAnnotationStoreResponse.proto
diff --git a/fixture/UpdateRunGroup.yaml b/fixture/UpdateRunGroup.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/UpdateRunGroup.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/UpdateRunGroupResponse.proto b/fixture/UpdateRunGroupResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/UpdateRunGroupResponse.proto
diff --git a/fixture/UpdateVariantStore.yaml b/fixture/UpdateVariantStore.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/UpdateVariantStore.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/UpdateVariantStoreResponse.proto b/fixture/UpdateVariantStoreResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/UpdateVariantStoreResponse.proto
diff --git a/fixture/UpdateWorkflow.yaml b/fixture/UpdateWorkflow.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/UpdateWorkflow.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/omics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  omics.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/UpdateWorkflowResponse.proto b/fixture/UpdateWorkflowResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/UpdateWorkflowResponse.proto
diff --git a/gen/Amazonka/Omics.hs b/gen/Amazonka/Omics.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics.hs
@@ -0,0 +1,906 @@
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- |
+-- Module      : Amazonka.Omics
+-- 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 @2022-11-28@ of the AWS service descriptions, licensed under Apache 2.0.
+--
+-- This is the /Amazon Omics API Reference/. For an introduction to the
+-- service, see
+-- <https://docs.aws.amazon.com/omics/latest/dev/ What is Amazon Omics?> in
+-- the /Amazon Omics Developer Guide/.
+module Amazonka.Omics
+  ( -- * Service Configuration
+    defaultService,
+
+    -- * Errors
+    -- $errors
+
+    -- ** AccessDeniedException
+    _AccessDeniedException,
+
+    -- ** ConflictException
+    _ConflictException,
+
+    -- ** InternalServerException
+    _InternalServerException,
+
+    -- ** RangeNotSatisfiableException
+    _RangeNotSatisfiableException,
+
+    -- ** RequestTimeoutException
+    _RequestTimeoutException,
+
+    -- ** ResourceNotFoundException
+    _ResourceNotFoundException,
+
+    -- ** ServiceQuotaExceededException
+    _ServiceQuotaExceededException,
+
+    -- ** ThrottlingException
+    _ThrottlingException,
+
+    -- ** ValidationException
+    _ValidationException,
+
+    -- * Waiters
+    -- $waiters
+
+    -- ** AnnotationImportJobCreated
+    newAnnotationImportJobCreated,
+
+    -- ** AnnotationStoreCreated
+    newAnnotationStoreCreated,
+
+    -- ** AnnotationStoreDeleted
+    newAnnotationStoreDeleted,
+
+    -- ** ReadSetActivationJobCompleted
+    newReadSetActivationJobCompleted,
+
+    -- ** ReadSetExportJobCompleted
+    newReadSetExportJobCompleted,
+
+    -- ** ReadSetImportJobCompleted
+    newReadSetImportJobCompleted,
+
+    -- ** ReferenceImportJobCompleted
+    newReferenceImportJobCompleted,
+
+    -- ** RunCompleted
+    newRunCompleted,
+
+    -- ** RunRunning
+    newRunRunning,
+
+    -- ** TaskCompleted
+    newTaskCompleted,
+
+    -- ** TaskRunning
+    newTaskRunning,
+
+    -- ** VariantImportJobCreated
+    newVariantImportJobCreated,
+
+    -- ** VariantStoreCreated
+    newVariantStoreCreated,
+
+    -- ** VariantStoreDeleted
+    newVariantStoreDeleted,
+
+    -- ** WorkflowActive
+    newWorkflowActive,
+
+    -- * Operations
+    -- $operations
+
+    -- ** BatchDeleteReadSet
+    BatchDeleteReadSet (BatchDeleteReadSet'),
+    newBatchDeleteReadSet,
+    BatchDeleteReadSetResponse (BatchDeleteReadSetResponse'),
+    newBatchDeleteReadSetResponse,
+
+    -- ** CancelAnnotationImportJob
+    CancelAnnotationImportJob (CancelAnnotationImportJob'),
+    newCancelAnnotationImportJob,
+    CancelAnnotationImportJobResponse (CancelAnnotationImportJobResponse'),
+    newCancelAnnotationImportJobResponse,
+
+    -- ** CancelRun
+    CancelRun (CancelRun'),
+    newCancelRun,
+    CancelRunResponse (CancelRunResponse'),
+    newCancelRunResponse,
+
+    -- ** CancelVariantImportJob
+    CancelVariantImportJob (CancelVariantImportJob'),
+    newCancelVariantImportJob,
+    CancelVariantImportJobResponse (CancelVariantImportJobResponse'),
+    newCancelVariantImportJobResponse,
+
+    -- ** CreateAnnotationStore
+    CreateAnnotationStore (CreateAnnotationStore'),
+    newCreateAnnotationStore,
+    CreateAnnotationStoreResponse (CreateAnnotationStoreResponse'),
+    newCreateAnnotationStoreResponse,
+
+    -- ** CreateReferenceStore
+    CreateReferenceStore (CreateReferenceStore'),
+    newCreateReferenceStore,
+    CreateReferenceStoreResponse (CreateReferenceStoreResponse'),
+    newCreateReferenceStoreResponse,
+
+    -- ** CreateRunGroup
+    CreateRunGroup (CreateRunGroup'),
+    newCreateRunGroup,
+    CreateRunGroupResponse (CreateRunGroupResponse'),
+    newCreateRunGroupResponse,
+
+    -- ** CreateSequenceStore
+    CreateSequenceStore (CreateSequenceStore'),
+    newCreateSequenceStore,
+    CreateSequenceStoreResponse (CreateSequenceStoreResponse'),
+    newCreateSequenceStoreResponse,
+
+    -- ** CreateVariantStore
+    CreateVariantStore (CreateVariantStore'),
+    newCreateVariantStore,
+    CreateVariantStoreResponse (CreateVariantStoreResponse'),
+    newCreateVariantStoreResponse,
+
+    -- ** CreateWorkflow
+    CreateWorkflow (CreateWorkflow'),
+    newCreateWorkflow,
+    CreateWorkflowResponse (CreateWorkflowResponse'),
+    newCreateWorkflowResponse,
+
+    -- ** DeleteAnnotationStore
+    DeleteAnnotationStore (DeleteAnnotationStore'),
+    newDeleteAnnotationStore,
+    DeleteAnnotationStoreResponse (DeleteAnnotationStoreResponse'),
+    newDeleteAnnotationStoreResponse,
+
+    -- ** DeleteReference
+    DeleteReference (DeleteReference'),
+    newDeleteReference,
+    DeleteReferenceResponse (DeleteReferenceResponse'),
+    newDeleteReferenceResponse,
+
+    -- ** DeleteReferenceStore
+    DeleteReferenceStore (DeleteReferenceStore'),
+    newDeleteReferenceStore,
+    DeleteReferenceStoreResponse (DeleteReferenceStoreResponse'),
+    newDeleteReferenceStoreResponse,
+
+    -- ** DeleteRun
+    DeleteRun (DeleteRun'),
+    newDeleteRun,
+    DeleteRunResponse (DeleteRunResponse'),
+    newDeleteRunResponse,
+
+    -- ** DeleteRunGroup
+    DeleteRunGroup (DeleteRunGroup'),
+    newDeleteRunGroup,
+    DeleteRunGroupResponse (DeleteRunGroupResponse'),
+    newDeleteRunGroupResponse,
+
+    -- ** DeleteSequenceStore
+    DeleteSequenceStore (DeleteSequenceStore'),
+    newDeleteSequenceStore,
+    DeleteSequenceStoreResponse (DeleteSequenceStoreResponse'),
+    newDeleteSequenceStoreResponse,
+
+    -- ** DeleteVariantStore
+    DeleteVariantStore (DeleteVariantStore'),
+    newDeleteVariantStore,
+    DeleteVariantStoreResponse (DeleteVariantStoreResponse'),
+    newDeleteVariantStoreResponse,
+
+    -- ** DeleteWorkflow
+    DeleteWorkflow (DeleteWorkflow'),
+    newDeleteWorkflow,
+    DeleteWorkflowResponse (DeleteWorkflowResponse'),
+    newDeleteWorkflowResponse,
+
+    -- ** GetAnnotationImportJob
+    GetAnnotationImportJob (GetAnnotationImportJob'),
+    newGetAnnotationImportJob,
+    GetAnnotationImportJobResponse (GetAnnotationImportJobResponse'),
+    newGetAnnotationImportJobResponse,
+
+    -- ** GetAnnotationStore
+    GetAnnotationStore (GetAnnotationStore'),
+    newGetAnnotationStore,
+    GetAnnotationStoreResponse (GetAnnotationStoreResponse'),
+    newGetAnnotationStoreResponse,
+
+    -- ** GetReadSet
+    GetReadSet (GetReadSet'),
+    newGetReadSet,
+    GetReadSetResponse (GetReadSetResponse'),
+    newGetReadSetResponse,
+
+    -- ** GetReadSetActivationJob
+    GetReadSetActivationJob (GetReadSetActivationJob'),
+    newGetReadSetActivationJob,
+    GetReadSetActivationJobResponse (GetReadSetActivationJobResponse'),
+    newGetReadSetActivationJobResponse,
+
+    -- ** GetReadSetExportJob
+    GetReadSetExportJob (GetReadSetExportJob'),
+    newGetReadSetExportJob,
+    GetReadSetExportJobResponse (GetReadSetExportJobResponse'),
+    newGetReadSetExportJobResponse,
+
+    -- ** GetReadSetImportJob
+    GetReadSetImportJob (GetReadSetImportJob'),
+    newGetReadSetImportJob,
+    GetReadSetImportJobResponse (GetReadSetImportJobResponse'),
+    newGetReadSetImportJobResponse,
+
+    -- ** GetReadSetMetadata
+    GetReadSetMetadata (GetReadSetMetadata'),
+    newGetReadSetMetadata,
+    GetReadSetMetadataResponse (GetReadSetMetadataResponse'),
+    newGetReadSetMetadataResponse,
+
+    -- ** GetReference
+    GetReference (GetReference'),
+    newGetReference,
+    GetReferenceResponse (GetReferenceResponse'),
+    newGetReferenceResponse,
+
+    -- ** GetReferenceImportJob
+    GetReferenceImportJob (GetReferenceImportJob'),
+    newGetReferenceImportJob,
+    GetReferenceImportJobResponse (GetReferenceImportJobResponse'),
+    newGetReferenceImportJobResponse,
+
+    -- ** GetReferenceMetadata
+    GetReferenceMetadata (GetReferenceMetadata'),
+    newGetReferenceMetadata,
+    GetReferenceMetadataResponse (GetReferenceMetadataResponse'),
+    newGetReferenceMetadataResponse,
+
+    -- ** GetReferenceStore
+    GetReferenceStore (GetReferenceStore'),
+    newGetReferenceStore,
+    GetReferenceStoreResponse (GetReferenceStoreResponse'),
+    newGetReferenceStoreResponse,
+
+    -- ** GetRun
+    GetRun (GetRun'),
+    newGetRun,
+    GetRunResponse (GetRunResponse'),
+    newGetRunResponse,
+
+    -- ** GetRunGroup
+    GetRunGroup (GetRunGroup'),
+    newGetRunGroup,
+    GetRunGroupResponse (GetRunGroupResponse'),
+    newGetRunGroupResponse,
+
+    -- ** GetRunTask
+    GetRunTask (GetRunTask'),
+    newGetRunTask,
+    GetRunTaskResponse (GetRunTaskResponse'),
+    newGetRunTaskResponse,
+
+    -- ** GetSequenceStore
+    GetSequenceStore (GetSequenceStore'),
+    newGetSequenceStore,
+    GetSequenceStoreResponse (GetSequenceStoreResponse'),
+    newGetSequenceStoreResponse,
+
+    -- ** GetVariantImportJob
+    GetVariantImportJob (GetVariantImportJob'),
+    newGetVariantImportJob,
+    GetVariantImportJobResponse (GetVariantImportJobResponse'),
+    newGetVariantImportJobResponse,
+
+    -- ** GetVariantStore
+    GetVariantStore (GetVariantStore'),
+    newGetVariantStore,
+    GetVariantStoreResponse (GetVariantStoreResponse'),
+    newGetVariantStoreResponse,
+
+    -- ** GetWorkflow
+    GetWorkflow (GetWorkflow'),
+    newGetWorkflow,
+    GetWorkflowResponse (GetWorkflowResponse'),
+    newGetWorkflowResponse,
+
+    -- ** ListAnnotationImportJobs (Paginated)
+    ListAnnotationImportJobs (ListAnnotationImportJobs'),
+    newListAnnotationImportJobs,
+    ListAnnotationImportJobsResponse (ListAnnotationImportJobsResponse'),
+    newListAnnotationImportJobsResponse,
+
+    -- ** ListAnnotationStores (Paginated)
+    ListAnnotationStores (ListAnnotationStores'),
+    newListAnnotationStores,
+    ListAnnotationStoresResponse (ListAnnotationStoresResponse'),
+    newListAnnotationStoresResponse,
+
+    -- ** ListReadSetActivationJobs (Paginated)
+    ListReadSetActivationJobs (ListReadSetActivationJobs'),
+    newListReadSetActivationJobs,
+    ListReadSetActivationJobsResponse (ListReadSetActivationJobsResponse'),
+    newListReadSetActivationJobsResponse,
+
+    -- ** ListReadSetExportJobs (Paginated)
+    ListReadSetExportJobs (ListReadSetExportJobs'),
+    newListReadSetExportJobs,
+    ListReadSetExportJobsResponse (ListReadSetExportJobsResponse'),
+    newListReadSetExportJobsResponse,
+
+    -- ** ListReadSetImportJobs (Paginated)
+    ListReadSetImportJobs (ListReadSetImportJobs'),
+    newListReadSetImportJobs,
+    ListReadSetImportJobsResponse (ListReadSetImportJobsResponse'),
+    newListReadSetImportJobsResponse,
+
+    -- ** ListReadSets (Paginated)
+    ListReadSets (ListReadSets'),
+    newListReadSets,
+    ListReadSetsResponse (ListReadSetsResponse'),
+    newListReadSetsResponse,
+
+    -- ** ListReferenceImportJobs (Paginated)
+    ListReferenceImportJobs (ListReferenceImportJobs'),
+    newListReferenceImportJobs,
+    ListReferenceImportJobsResponse (ListReferenceImportJobsResponse'),
+    newListReferenceImportJobsResponse,
+
+    -- ** ListReferenceStores (Paginated)
+    ListReferenceStores (ListReferenceStores'),
+    newListReferenceStores,
+    ListReferenceStoresResponse (ListReferenceStoresResponse'),
+    newListReferenceStoresResponse,
+
+    -- ** ListReferences (Paginated)
+    ListReferences (ListReferences'),
+    newListReferences,
+    ListReferencesResponse (ListReferencesResponse'),
+    newListReferencesResponse,
+
+    -- ** ListRunGroups (Paginated)
+    ListRunGroups (ListRunGroups'),
+    newListRunGroups,
+    ListRunGroupsResponse (ListRunGroupsResponse'),
+    newListRunGroupsResponse,
+
+    -- ** ListRunTasks (Paginated)
+    ListRunTasks (ListRunTasks'),
+    newListRunTasks,
+    ListRunTasksResponse (ListRunTasksResponse'),
+    newListRunTasksResponse,
+
+    -- ** ListRuns (Paginated)
+    ListRuns (ListRuns'),
+    newListRuns,
+    ListRunsResponse (ListRunsResponse'),
+    newListRunsResponse,
+
+    -- ** ListSequenceStores (Paginated)
+    ListSequenceStores (ListSequenceStores'),
+    newListSequenceStores,
+    ListSequenceStoresResponse (ListSequenceStoresResponse'),
+    newListSequenceStoresResponse,
+
+    -- ** ListTagsForResource
+    ListTagsForResource (ListTagsForResource'),
+    newListTagsForResource,
+    ListTagsForResourceResponse (ListTagsForResourceResponse'),
+    newListTagsForResourceResponse,
+
+    -- ** ListVariantImportJobs (Paginated)
+    ListVariantImportJobs (ListVariantImportJobs'),
+    newListVariantImportJobs,
+    ListVariantImportJobsResponse (ListVariantImportJobsResponse'),
+    newListVariantImportJobsResponse,
+
+    -- ** ListVariantStores (Paginated)
+    ListVariantStores (ListVariantStores'),
+    newListVariantStores,
+    ListVariantStoresResponse (ListVariantStoresResponse'),
+    newListVariantStoresResponse,
+
+    -- ** ListWorkflows (Paginated)
+    ListWorkflows (ListWorkflows'),
+    newListWorkflows,
+    ListWorkflowsResponse (ListWorkflowsResponse'),
+    newListWorkflowsResponse,
+
+    -- ** StartAnnotationImportJob
+    StartAnnotationImportJob (StartAnnotationImportJob'),
+    newStartAnnotationImportJob,
+    StartAnnotationImportJobResponse (StartAnnotationImportJobResponse'),
+    newStartAnnotationImportJobResponse,
+
+    -- ** StartReadSetActivationJob
+    StartReadSetActivationJob (StartReadSetActivationJob'),
+    newStartReadSetActivationJob,
+    StartReadSetActivationJobResponse (StartReadSetActivationJobResponse'),
+    newStartReadSetActivationJobResponse,
+
+    -- ** StartReadSetExportJob
+    StartReadSetExportJob (StartReadSetExportJob'),
+    newStartReadSetExportJob,
+    StartReadSetExportJobResponse (StartReadSetExportJobResponse'),
+    newStartReadSetExportJobResponse,
+
+    -- ** StartReadSetImportJob
+    StartReadSetImportJob (StartReadSetImportJob'),
+    newStartReadSetImportJob,
+    StartReadSetImportJobResponse (StartReadSetImportJobResponse'),
+    newStartReadSetImportJobResponse,
+
+    -- ** StartReferenceImportJob
+    StartReferenceImportJob (StartReferenceImportJob'),
+    newStartReferenceImportJob,
+    StartReferenceImportJobResponse (StartReferenceImportJobResponse'),
+    newStartReferenceImportJobResponse,
+
+    -- ** StartRun
+    StartRun (StartRun'),
+    newStartRun,
+    StartRunResponse (StartRunResponse'),
+    newStartRunResponse,
+
+    -- ** StartVariantImportJob
+    StartVariantImportJob (StartVariantImportJob'),
+    newStartVariantImportJob,
+    StartVariantImportJobResponse (StartVariantImportJobResponse'),
+    newStartVariantImportJobResponse,
+
+    -- ** TagResource
+    TagResource (TagResource'),
+    newTagResource,
+    TagResourceResponse (TagResourceResponse'),
+    newTagResourceResponse,
+
+    -- ** UntagResource
+    UntagResource (UntagResource'),
+    newUntagResource,
+    UntagResourceResponse (UntagResourceResponse'),
+    newUntagResourceResponse,
+
+    -- ** UpdateAnnotationStore
+    UpdateAnnotationStore (UpdateAnnotationStore'),
+    newUpdateAnnotationStore,
+    UpdateAnnotationStoreResponse (UpdateAnnotationStoreResponse'),
+    newUpdateAnnotationStoreResponse,
+
+    -- ** UpdateRunGroup
+    UpdateRunGroup (UpdateRunGroup'),
+    newUpdateRunGroup,
+    UpdateRunGroupResponse (UpdateRunGroupResponse'),
+    newUpdateRunGroupResponse,
+
+    -- ** UpdateVariantStore
+    UpdateVariantStore (UpdateVariantStore'),
+    newUpdateVariantStore,
+    UpdateVariantStoreResponse (UpdateVariantStoreResponse'),
+    newUpdateVariantStoreResponse,
+
+    -- ** UpdateWorkflow
+    UpdateWorkflow (UpdateWorkflow'),
+    newUpdateWorkflow,
+    UpdateWorkflowResponse (UpdateWorkflowResponse'),
+    newUpdateWorkflowResponse,
+
+    -- * Types
+
+    -- ** AnnotationType
+    AnnotationType (..),
+
+    -- ** EncryptionType
+    EncryptionType (..),
+
+    -- ** FileType
+    FileType (..),
+
+    -- ** FormatToHeaderKey
+    FormatToHeaderKey (..),
+
+    -- ** JobStatus
+    JobStatus (..),
+
+    -- ** ReadSetActivationJobItemStatus
+    ReadSetActivationJobItemStatus (..),
+
+    -- ** ReadSetActivationJobStatus
+    ReadSetActivationJobStatus (..),
+
+    -- ** ReadSetExportJobItemStatus
+    ReadSetExportJobItemStatus (..),
+
+    -- ** ReadSetExportJobStatus
+    ReadSetExportJobStatus (..),
+
+    -- ** ReadSetFile
+    ReadSetFile (..),
+
+    -- ** ReadSetImportJobItemStatus
+    ReadSetImportJobItemStatus (..),
+
+    -- ** ReadSetImportJobStatus
+    ReadSetImportJobStatus (..),
+
+    -- ** ReadSetStatus
+    ReadSetStatus (..),
+
+    -- ** ReferenceFile
+    ReferenceFile (..),
+
+    -- ** ReferenceImportJobItemStatus
+    ReferenceImportJobItemStatus (..),
+
+    -- ** ReferenceImportJobStatus
+    ReferenceImportJobStatus (..),
+
+    -- ** ReferenceStatus
+    ReferenceStatus (..),
+
+    -- ** RunExport
+    RunExport (..),
+
+    -- ** RunLogLevel
+    RunLogLevel (..),
+
+    -- ** RunStatus
+    RunStatus (..),
+
+    -- ** SchemaValueType
+    SchemaValueType (..),
+
+    -- ** StoreFormat
+    StoreFormat (..),
+
+    -- ** StoreStatus
+    StoreStatus (..),
+
+    -- ** TaskStatus
+    TaskStatus (..),
+
+    -- ** WorkflowEngine
+    WorkflowEngine (..),
+
+    -- ** WorkflowExport
+    WorkflowExport (..),
+
+    -- ** WorkflowStatus
+    WorkflowStatus (..),
+
+    -- ** WorkflowType
+    WorkflowType (..),
+
+    -- ** ActivateReadSetFilter
+    ActivateReadSetFilter (ActivateReadSetFilter'),
+    newActivateReadSetFilter,
+
+    -- ** ActivateReadSetJobItem
+    ActivateReadSetJobItem (ActivateReadSetJobItem'),
+    newActivateReadSetJobItem,
+
+    -- ** ActivateReadSetSourceItem
+    ActivateReadSetSourceItem (ActivateReadSetSourceItem'),
+    newActivateReadSetSourceItem,
+
+    -- ** AnnotationImportItemDetail
+    AnnotationImportItemDetail (AnnotationImportItemDetail'),
+    newAnnotationImportItemDetail,
+
+    -- ** AnnotationImportItemSource
+    AnnotationImportItemSource (AnnotationImportItemSource'),
+    newAnnotationImportItemSource,
+
+    -- ** AnnotationImportJobItem
+    AnnotationImportJobItem (AnnotationImportJobItem'),
+    newAnnotationImportJobItem,
+
+    -- ** AnnotationStoreItem
+    AnnotationStoreItem (AnnotationStoreItem'),
+    newAnnotationStoreItem,
+
+    -- ** ExportReadSet
+    ExportReadSet (ExportReadSet'),
+    newExportReadSet,
+
+    -- ** ExportReadSetDetail
+    ExportReadSetDetail (ExportReadSetDetail'),
+    newExportReadSetDetail,
+
+    -- ** ExportReadSetFilter
+    ExportReadSetFilter (ExportReadSetFilter'),
+    newExportReadSetFilter,
+
+    -- ** ExportReadSetJobDetail
+    ExportReadSetJobDetail (ExportReadSetJobDetail'),
+    newExportReadSetJobDetail,
+
+    -- ** FileInformation
+    FileInformation (FileInformation'),
+    newFileInformation,
+
+    -- ** FormatOptions
+    FormatOptions (FormatOptions'),
+    newFormatOptions,
+
+    -- ** ImportReadSetFilter
+    ImportReadSetFilter (ImportReadSetFilter'),
+    newImportReadSetFilter,
+
+    -- ** ImportReadSetJobItem
+    ImportReadSetJobItem (ImportReadSetJobItem'),
+    newImportReadSetJobItem,
+
+    -- ** ImportReadSetSourceItem
+    ImportReadSetSourceItem (ImportReadSetSourceItem'),
+    newImportReadSetSourceItem,
+
+    -- ** ImportReferenceFilter
+    ImportReferenceFilter (ImportReferenceFilter'),
+    newImportReferenceFilter,
+
+    -- ** ImportReferenceJobItem
+    ImportReferenceJobItem (ImportReferenceJobItem'),
+    newImportReferenceJobItem,
+
+    -- ** ImportReferenceSourceItem
+    ImportReferenceSourceItem (ImportReferenceSourceItem'),
+    newImportReferenceSourceItem,
+
+    -- ** ListAnnotationImportJobsFilter
+    ListAnnotationImportJobsFilter (ListAnnotationImportJobsFilter'),
+    newListAnnotationImportJobsFilter,
+
+    -- ** ListAnnotationStoresFilter
+    ListAnnotationStoresFilter (ListAnnotationStoresFilter'),
+    newListAnnotationStoresFilter,
+
+    -- ** ListVariantImportJobsFilter
+    ListVariantImportJobsFilter (ListVariantImportJobsFilter'),
+    newListVariantImportJobsFilter,
+
+    -- ** ListVariantStoresFilter
+    ListVariantStoresFilter (ListVariantStoresFilter'),
+    newListVariantStoresFilter,
+
+    -- ** ReadOptions
+    ReadOptions (ReadOptions'),
+    newReadOptions,
+
+    -- ** ReadSetBatchError
+    ReadSetBatchError (ReadSetBatchError'),
+    newReadSetBatchError,
+
+    -- ** ReadSetFiles
+    ReadSetFiles (ReadSetFiles'),
+    newReadSetFiles,
+
+    -- ** ReadSetFilter
+    ReadSetFilter (ReadSetFilter'),
+    newReadSetFilter,
+
+    -- ** ReadSetListItem
+    ReadSetListItem (ReadSetListItem'),
+    newReadSetListItem,
+
+    -- ** ReferenceFiles
+    ReferenceFiles (ReferenceFiles'),
+    newReferenceFiles,
+
+    -- ** ReferenceFilter
+    ReferenceFilter (ReferenceFilter'),
+    newReferenceFilter,
+
+    -- ** ReferenceItem
+    ReferenceItem (ReferenceItem'),
+    newReferenceItem,
+
+    -- ** ReferenceListItem
+    ReferenceListItem (ReferenceListItem'),
+    newReferenceListItem,
+
+    -- ** ReferenceStoreDetail
+    ReferenceStoreDetail (ReferenceStoreDetail'),
+    newReferenceStoreDetail,
+
+    -- ** ReferenceStoreFilter
+    ReferenceStoreFilter (ReferenceStoreFilter'),
+    newReferenceStoreFilter,
+
+    -- ** RunGroupListItem
+    RunGroupListItem (RunGroupListItem'),
+    newRunGroupListItem,
+
+    -- ** RunListItem
+    RunListItem (RunListItem'),
+    newRunListItem,
+
+    -- ** RunParameters
+    RunParameters (RunParameters'),
+    newRunParameters,
+
+    -- ** SequenceInformation
+    SequenceInformation (SequenceInformation'),
+    newSequenceInformation,
+
+    -- ** SequenceStoreDetail
+    SequenceStoreDetail (SequenceStoreDetail'),
+    newSequenceStoreDetail,
+
+    -- ** SequenceStoreFilter
+    SequenceStoreFilter (SequenceStoreFilter'),
+    newSequenceStoreFilter,
+
+    -- ** SourceFiles
+    SourceFiles (SourceFiles'),
+    newSourceFiles,
+
+    -- ** SseConfig
+    SseConfig (SseConfig'),
+    newSseConfig,
+
+    -- ** StartReadSetActivationJobSourceItem
+    StartReadSetActivationJobSourceItem (StartReadSetActivationJobSourceItem'),
+    newStartReadSetActivationJobSourceItem,
+
+    -- ** StartReadSetImportJobSourceItem
+    StartReadSetImportJobSourceItem (StartReadSetImportJobSourceItem'),
+    newStartReadSetImportJobSourceItem,
+
+    -- ** StartReferenceImportJobSourceItem
+    StartReferenceImportJobSourceItem (StartReferenceImportJobSourceItem'),
+    newStartReferenceImportJobSourceItem,
+
+    -- ** StoreOptions
+    StoreOptions (StoreOptions'),
+    newStoreOptions,
+
+    -- ** TaskListItem
+    TaskListItem (TaskListItem'),
+    newTaskListItem,
+
+    -- ** TsvOptions
+    TsvOptions (TsvOptions'),
+    newTsvOptions,
+
+    -- ** TsvStoreOptions
+    TsvStoreOptions (TsvStoreOptions'),
+    newTsvStoreOptions,
+
+    -- ** VariantImportItemDetail
+    VariantImportItemDetail (VariantImportItemDetail'),
+    newVariantImportItemDetail,
+
+    -- ** VariantImportItemSource
+    VariantImportItemSource (VariantImportItemSource'),
+    newVariantImportItemSource,
+
+    -- ** VariantImportJobItem
+    VariantImportJobItem (VariantImportJobItem'),
+    newVariantImportJobItem,
+
+    -- ** VariantStoreItem
+    VariantStoreItem (VariantStoreItem'),
+    newVariantStoreItem,
+
+    -- ** VcfOptions
+    VcfOptions (VcfOptions'),
+    newVcfOptions,
+
+    -- ** WorkflowListItem
+    WorkflowListItem (WorkflowListItem'),
+    newWorkflowListItem,
+
+    -- ** WorkflowParameter
+    WorkflowParameter (WorkflowParameter'),
+    newWorkflowParameter,
+  )
+where
+
+import Amazonka.Omics.BatchDeleteReadSet
+import Amazonka.Omics.CancelAnnotationImportJob
+import Amazonka.Omics.CancelRun
+import Amazonka.Omics.CancelVariantImportJob
+import Amazonka.Omics.CreateAnnotationStore
+import Amazonka.Omics.CreateReferenceStore
+import Amazonka.Omics.CreateRunGroup
+import Amazonka.Omics.CreateSequenceStore
+import Amazonka.Omics.CreateVariantStore
+import Amazonka.Omics.CreateWorkflow
+import Amazonka.Omics.DeleteAnnotationStore
+import Amazonka.Omics.DeleteReference
+import Amazonka.Omics.DeleteReferenceStore
+import Amazonka.Omics.DeleteRun
+import Amazonka.Omics.DeleteRunGroup
+import Amazonka.Omics.DeleteSequenceStore
+import Amazonka.Omics.DeleteVariantStore
+import Amazonka.Omics.DeleteWorkflow
+import Amazonka.Omics.GetAnnotationImportJob
+import Amazonka.Omics.GetAnnotationStore
+import Amazonka.Omics.GetReadSet
+import Amazonka.Omics.GetReadSetActivationJob
+import Amazonka.Omics.GetReadSetExportJob
+import Amazonka.Omics.GetReadSetImportJob
+import Amazonka.Omics.GetReadSetMetadata
+import Amazonka.Omics.GetReference
+import Amazonka.Omics.GetReferenceImportJob
+import Amazonka.Omics.GetReferenceMetadata
+import Amazonka.Omics.GetReferenceStore
+import Amazonka.Omics.GetRun
+import Amazonka.Omics.GetRunGroup
+import Amazonka.Omics.GetRunTask
+import Amazonka.Omics.GetSequenceStore
+import Amazonka.Omics.GetVariantImportJob
+import Amazonka.Omics.GetVariantStore
+import Amazonka.Omics.GetWorkflow
+import Amazonka.Omics.Lens
+import Amazonka.Omics.ListAnnotationImportJobs
+import Amazonka.Omics.ListAnnotationStores
+import Amazonka.Omics.ListReadSetActivationJobs
+import Amazonka.Omics.ListReadSetExportJobs
+import Amazonka.Omics.ListReadSetImportJobs
+import Amazonka.Omics.ListReadSets
+import Amazonka.Omics.ListReferenceImportJobs
+import Amazonka.Omics.ListReferenceStores
+import Amazonka.Omics.ListReferences
+import Amazonka.Omics.ListRunGroups
+import Amazonka.Omics.ListRunTasks
+import Amazonka.Omics.ListRuns
+import Amazonka.Omics.ListSequenceStores
+import Amazonka.Omics.ListTagsForResource
+import Amazonka.Omics.ListVariantImportJobs
+import Amazonka.Omics.ListVariantStores
+import Amazonka.Omics.ListWorkflows
+import Amazonka.Omics.StartAnnotationImportJob
+import Amazonka.Omics.StartReadSetActivationJob
+import Amazonka.Omics.StartReadSetExportJob
+import Amazonka.Omics.StartReadSetImportJob
+import Amazonka.Omics.StartReferenceImportJob
+import Amazonka.Omics.StartRun
+import Amazonka.Omics.StartVariantImportJob
+import Amazonka.Omics.TagResource
+import Amazonka.Omics.Types
+import Amazonka.Omics.UntagResource
+import Amazonka.Omics.UpdateAnnotationStore
+import Amazonka.Omics.UpdateRunGroup
+import Amazonka.Omics.UpdateVariantStore
+import Amazonka.Omics.UpdateWorkflow
+import Amazonka.Omics.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 'Omics'.
+
+-- $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/Omics/BatchDeleteReadSet.hs b/gen/Amazonka/Omics/BatchDeleteReadSet.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/BatchDeleteReadSet.hs
@@ -0,0 +1,188 @@
+{-# 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.Omics.BatchDeleteReadSet
+-- 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 one or more read sets.
+module Amazonka.Omics.BatchDeleteReadSet
+  ( -- * Creating a Request
+    BatchDeleteReadSet (..),
+    newBatchDeleteReadSet,
+
+    -- * Request Lenses
+    batchDeleteReadSet_ids,
+    batchDeleteReadSet_sequenceStoreId,
+
+    -- * Destructuring the Response
+    BatchDeleteReadSetResponse (..),
+    newBatchDeleteReadSetResponse,
+
+    -- * Response Lenses
+    batchDeleteReadSetResponse_errors,
+    batchDeleteReadSetResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newBatchDeleteReadSet' smart constructor.
+data BatchDeleteReadSet = BatchDeleteReadSet'
+  { -- | The read sets\' IDs.
+    ids :: Prelude.NonEmpty Prelude.Text,
+    -- | The read sets\' sequence store ID.
+    sequenceStoreId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'BatchDeleteReadSet' 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:
+--
+-- 'ids', 'batchDeleteReadSet_ids' - The read sets\' IDs.
+--
+-- 'sequenceStoreId', 'batchDeleteReadSet_sequenceStoreId' - The read sets\' sequence store ID.
+newBatchDeleteReadSet ::
+  -- | 'ids'
+  Prelude.NonEmpty Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  BatchDeleteReadSet
+newBatchDeleteReadSet pIds_ pSequenceStoreId_ =
+  BatchDeleteReadSet'
+    { ids =
+        Lens.coerced Lens.# pIds_,
+      sequenceStoreId = pSequenceStoreId_
+    }
+
+-- | The read sets\' IDs.
+batchDeleteReadSet_ids :: Lens.Lens' BatchDeleteReadSet (Prelude.NonEmpty Prelude.Text)
+batchDeleteReadSet_ids = Lens.lens (\BatchDeleteReadSet' {ids} -> ids) (\s@BatchDeleteReadSet' {} a -> s {ids = a} :: BatchDeleteReadSet) Prelude.. Lens.coerced
+
+-- | The read sets\' sequence store ID.
+batchDeleteReadSet_sequenceStoreId :: Lens.Lens' BatchDeleteReadSet Prelude.Text
+batchDeleteReadSet_sequenceStoreId = Lens.lens (\BatchDeleteReadSet' {sequenceStoreId} -> sequenceStoreId) (\s@BatchDeleteReadSet' {} a -> s {sequenceStoreId = a} :: BatchDeleteReadSet)
+
+instance Core.AWSRequest BatchDeleteReadSet where
+  type
+    AWSResponse BatchDeleteReadSet =
+      BatchDeleteReadSetResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          BatchDeleteReadSetResponse'
+            Prelude.<$> (x Data..?> "errors" Core..!@ Prelude.mempty)
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable BatchDeleteReadSet where
+  hashWithSalt _salt BatchDeleteReadSet' {..} =
+    _salt
+      `Prelude.hashWithSalt` ids
+      `Prelude.hashWithSalt` sequenceStoreId
+
+instance Prelude.NFData BatchDeleteReadSet where
+  rnf BatchDeleteReadSet' {..} =
+    Prelude.rnf ids
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+
+instance Data.ToHeaders BatchDeleteReadSet where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON BatchDeleteReadSet where
+  toJSON BatchDeleteReadSet' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [Prelude.Just ("ids" Data..= ids)]
+      )
+
+instance Data.ToPath BatchDeleteReadSet where
+  toPath BatchDeleteReadSet' {..} =
+    Prelude.mconcat
+      [ "/sequencestore/",
+        Data.toBS sequenceStoreId,
+        "/readset/batch/delete"
+      ]
+
+instance Data.ToQuery BatchDeleteReadSet where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newBatchDeleteReadSetResponse' smart constructor.
+data BatchDeleteReadSetResponse = BatchDeleteReadSetResponse'
+  { -- | Errors returned by individual delete operations.
+    errors :: Prelude.Maybe [ReadSetBatchError],
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'BatchDeleteReadSetResponse' 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:
+--
+-- 'errors', 'batchDeleteReadSetResponse_errors' - Errors returned by individual delete operations.
+--
+-- 'httpStatus', 'batchDeleteReadSetResponse_httpStatus' - The response's http status code.
+newBatchDeleteReadSetResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  BatchDeleteReadSetResponse
+newBatchDeleteReadSetResponse pHttpStatus_ =
+  BatchDeleteReadSetResponse'
+    { errors =
+        Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | Errors returned by individual delete operations.
+batchDeleteReadSetResponse_errors :: Lens.Lens' BatchDeleteReadSetResponse (Prelude.Maybe [ReadSetBatchError])
+batchDeleteReadSetResponse_errors = Lens.lens (\BatchDeleteReadSetResponse' {errors} -> errors) (\s@BatchDeleteReadSetResponse' {} a -> s {errors = a} :: BatchDeleteReadSetResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | The response's http status code.
+batchDeleteReadSetResponse_httpStatus :: Lens.Lens' BatchDeleteReadSetResponse Prelude.Int
+batchDeleteReadSetResponse_httpStatus = Lens.lens (\BatchDeleteReadSetResponse' {httpStatus} -> httpStatus) (\s@BatchDeleteReadSetResponse' {} a -> s {httpStatus = a} :: BatchDeleteReadSetResponse)
+
+instance Prelude.NFData BatchDeleteReadSetResponse where
+  rnf BatchDeleteReadSetResponse' {..} =
+    Prelude.rnf errors
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/CancelAnnotationImportJob.hs b/gen/Amazonka/Omics/CancelAnnotationImportJob.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/CancelAnnotationImportJob.hs
@@ -0,0 +1,151 @@
+{-# 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.Omics.CancelAnnotationImportJob
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Cancels an annotation import job.
+module Amazonka.Omics.CancelAnnotationImportJob
+  ( -- * Creating a Request
+    CancelAnnotationImportJob (..),
+    newCancelAnnotationImportJob,
+
+    -- * Request Lenses
+    cancelAnnotationImportJob_jobId,
+
+    -- * Destructuring the Response
+    CancelAnnotationImportJobResponse (..),
+    newCancelAnnotationImportJobResponse,
+
+    -- * Response Lenses
+    cancelAnnotationImportJobResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newCancelAnnotationImportJob' smart constructor.
+data CancelAnnotationImportJob = CancelAnnotationImportJob'
+  { -- | The job\'s ID.
+    jobId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CancelAnnotationImportJob' 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:
+--
+-- 'jobId', 'cancelAnnotationImportJob_jobId' - The job\'s ID.
+newCancelAnnotationImportJob ::
+  -- | 'jobId'
+  Prelude.Text ->
+  CancelAnnotationImportJob
+newCancelAnnotationImportJob pJobId_ =
+  CancelAnnotationImportJob' {jobId = pJobId_}
+
+-- | The job\'s ID.
+cancelAnnotationImportJob_jobId :: Lens.Lens' CancelAnnotationImportJob Prelude.Text
+cancelAnnotationImportJob_jobId = Lens.lens (\CancelAnnotationImportJob' {jobId} -> jobId) (\s@CancelAnnotationImportJob' {} a -> s {jobId = a} :: CancelAnnotationImportJob)
+
+instance Core.AWSRequest CancelAnnotationImportJob where
+  type
+    AWSResponse CancelAnnotationImportJob =
+      CancelAnnotationImportJobResponse
+  request overrides =
+    Request.delete (overrides defaultService)
+  response =
+    Response.receiveEmpty
+      ( \s h x ->
+          CancelAnnotationImportJobResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable CancelAnnotationImportJob where
+  hashWithSalt _salt CancelAnnotationImportJob' {..} =
+    _salt `Prelude.hashWithSalt` jobId
+
+instance Prelude.NFData CancelAnnotationImportJob where
+  rnf CancelAnnotationImportJob' {..} =
+    Prelude.rnf jobId
+
+instance Data.ToHeaders CancelAnnotationImportJob where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath CancelAnnotationImportJob where
+  toPath CancelAnnotationImportJob' {..} =
+    Prelude.mconcat
+      ["/import/annotation/", Data.toBS jobId]
+
+instance Data.ToQuery CancelAnnotationImportJob where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newCancelAnnotationImportJobResponse' smart constructor.
+data CancelAnnotationImportJobResponse = CancelAnnotationImportJobResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CancelAnnotationImportJobResponse' 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', 'cancelAnnotationImportJobResponse_httpStatus' - The response's http status code.
+newCancelAnnotationImportJobResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  CancelAnnotationImportJobResponse
+newCancelAnnotationImportJobResponse pHttpStatus_ =
+  CancelAnnotationImportJobResponse'
+    { httpStatus =
+        pHttpStatus_
+    }
+
+-- | The response's http status code.
+cancelAnnotationImportJobResponse_httpStatus :: Lens.Lens' CancelAnnotationImportJobResponse Prelude.Int
+cancelAnnotationImportJobResponse_httpStatus = Lens.lens (\CancelAnnotationImportJobResponse' {httpStatus} -> httpStatus) (\s@CancelAnnotationImportJobResponse' {} a -> s {httpStatus = a} :: CancelAnnotationImportJobResponse)
+
+instance
+  Prelude.NFData
+    CancelAnnotationImportJobResponse
+  where
+  rnf CancelAnnotationImportJobResponse' {..} =
+    Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/CancelRun.hs b/gen/Amazonka/Omics/CancelRun.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/CancelRun.hs
@@ -0,0 +1,121 @@
+{-# 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.Omics.CancelRun
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Cancels a run.
+module Amazonka.Omics.CancelRun
+  ( -- * Creating a Request
+    CancelRun (..),
+    newCancelRun,
+
+    -- * Request Lenses
+    cancelRun_id,
+
+    -- * Destructuring the Response
+    CancelRunResponse (..),
+    newCancelRunResponse,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newCancelRun' smart constructor.
+data CancelRun = CancelRun'
+  { -- | The run\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CancelRun' 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', 'cancelRun_id' - The run\'s ID.
+newCancelRun ::
+  -- | 'id'
+  Prelude.Text ->
+  CancelRun
+newCancelRun pId_ = CancelRun' {id = pId_}
+
+-- | The run\'s ID.
+cancelRun_id :: Lens.Lens' CancelRun Prelude.Text
+cancelRun_id = Lens.lens (\CancelRun' {id} -> id) (\s@CancelRun' {} a -> s {id = a} :: CancelRun)
+
+instance Core.AWSRequest CancelRun where
+  type AWSResponse CancelRun = CancelRunResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response = Response.receiveNull CancelRunResponse'
+
+instance Prelude.Hashable CancelRun where
+  hashWithSalt _salt CancelRun' {..} =
+    _salt `Prelude.hashWithSalt` id
+
+instance Prelude.NFData CancelRun where
+  rnf CancelRun' {..} = Prelude.rnf id
+
+instance Data.ToHeaders CancelRun where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON CancelRun where
+  toJSON = Prelude.const (Data.Object Prelude.mempty)
+
+instance Data.ToPath CancelRun where
+  toPath CancelRun' {..} =
+    Prelude.mconcat ["/run/", Data.toBS id, "/cancel"]
+
+instance Data.ToQuery CancelRun where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newCancelRunResponse' smart constructor.
+data CancelRunResponse = CancelRunResponse'
+  {
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CancelRunResponse' 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.
+newCancelRunResponse ::
+  CancelRunResponse
+newCancelRunResponse = CancelRunResponse'
+
+instance Prelude.NFData CancelRunResponse where
+  rnf _ = ()
diff --git a/gen/Amazonka/Omics/CancelVariantImportJob.hs b/gen/Amazonka/Omics/CancelVariantImportJob.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/CancelVariantImportJob.hs
@@ -0,0 +1,150 @@
+{-# 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.Omics.CancelVariantImportJob
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Cancels a variant import job.
+module Amazonka.Omics.CancelVariantImportJob
+  ( -- * Creating a Request
+    CancelVariantImportJob (..),
+    newCancelVariantImportJob,
+
+    -- * Request Lenses
+    cancelVariantImportJob_jobId,
+
+    -- * Destructuring the Response
+    CancelVariantImportJobResponse (..),
+    newCancelVariantImportJobResponse,
+
+    -- * Response Lenses
+    cancelVariantImportJobResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newCancelVariantImportJob' smart constructor.
+data CancelVariantImportJob = CancelVariantImportJob'
+  { -- | The job\'s ID.
+    jobId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CancelVariantImportJob' 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:
+--
+-- 'jobId', 'cancelVariantImportJob_jobId' - The job\'s ID.
+newCancelVariantImportJob ::
+  -- | 'jobId'
+  Prelude.Text ->
+  CancelVariantImportJob
+newCancelVariantImportJob pJobId_ =
+  CancelVariantImportJob' {jobId = pJobId_}
+
+-- | The job\'s ID.
+cancelVariantImportJob_jobId :: Lens.Lens' CancelVariantImportJob Prelude.Text
+cancelVariantImportJob_jobId = Lens.lens (\CancelVariantImportJob' {jobId} -> jobId) (\s@CancelVariantImportJob' {} a -> s {jobId = a} :: CancelVariantImportJob)
+
+instance Core.AWSRequest CancelVariantImportJob where
+  type
+    AWSResponse CancelVariantImportJob =
+      CancelVariantImportJobResponse
+  request overrides =
+    Request.delete (overrides defaultService)
+  response =
+    Response.receiveEmpty
+      ( \s h x ->
+          CancelVariantImportJobResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable CancelVariantImportJob where
+  hashWithSalt _salt CancelVariantImportJob' {..} =
+    _salt `Prelude.hashWithSalt` jobId
+
+instance Prelude.NFData CancelVariantImportJob where
+  rnf CancelVariantImportJob' {..} = Prelude.rnf jobId
+
+instance Data.ToHeaders CancelVariantImportJob where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath CancelVariantImportJob where
+  toPath CancelVariantImportJob' {..} =
+    Prelude.mconcat
+      ["/import/variant/", Data.toBS jobId]
+
+instance Data.ToQuery CancelVariantImportJob where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newCancelVariantImportJobResponse' smart constructor.
+data CancelVariantImportJobResponse = CancelVariantImportJobResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CancelVariantImportJobResponse' 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', 'cancelVariantImportJobResponse_httpStatus' - The response's http status code.
+newCancelVariantImportJobResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  CancelVariantImportJobResponse
+newCancelVariantImportJobResponse pHttpStatus_ =
+  CancelVariantImportJobResponse'
+    { httpStatus =
+        pHttpStatus_
+    }
+
+-- | The response's http status code.
+cancelVariantImportJobResponse_httpStatus :: Lens.Lens' CancelVariantImportJobResponse Prelude.Int
+cancelVariantImportJobResponse_httpStatus = Lens.lens (\CancelVariantImportJobResponse' {httpStatus} -> httpStatus) (\s@CancelVariantImportJobResponse' {} a -> s {httpStatus = a} :: CancelVariantImportJobResponse)
+
+instance
+  Prelude.NFData
+    CancelVariantImportJobResponse
+  where
+  rnf CancelVariantImportJobResponse' {..} =
+    Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/CreateAnnotationStore.hs b/gen/Amazonka/Omics/CreateAnnotationStore.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/CreateAnnotationStore.hs
@@ -0,0 +1,334 @@
+{-# 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.Omics.CreateAnnotationStore
+-- 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 an annotation store.
+module Amazonka.Omics.CreateAnnotationStore
+  ( -- * Creating a Request
+    CreateAnnotationStore (..),
+    newCreateAnnotationStore,
+
+    -- * Request Lenses
+    createAnnotationStore_description,
+    createAnnotationStore_name,
+    createAnnotationStore_reference,
+    createAnnotationStore_sseConfig,
+    createAnnotationStore_storeOptions,
+    createAnnotationStore_tags,
+    createAnnotationStore_storeFormat,
+
+    -- * Destructuring the Response
+    CreateAnnotationStoreResponse (..),
+    newCreateAnnotationStoreResponse,
+
+    -- * Response Lenses
+    createAnnotationStoreResponse_reference,
+    createAnnotationStoreResponse_storeFormat,
+    createAnnotationStoreResponse_storeOptions,
+    createAnnotationStoreResponse_httpStatus,
+    createAnnotationStoreResponse_creationTime,
+    createAnnotationStoreResponse_id,
+    createAnnotationStoreResponse_name,
+    createAnnotationStoreResponse_status,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newCreateAnnotationStore' smart constructor.
+data CreateAnnotationStore = CreateAnnotationStore'
+  { -- | A description for the store.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | A name for the store.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The genome reference for the store\'s annotations.
+    reference :: Prelude.Maybe ReferenceItem,
+    -- | Server-side encryption (SSE) settings for the store.
+    sseConfig :: Prelude.Maybe SseConfig,
+    -- | File parsing options for the annotation store.
+    storeOptions :: Prelude.Maybe StoreOptions,
+    -- | Tags for the store.
+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | The annotation file format of the store.
+    storeFormat :: StoreFormat
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CreateAnnotationStore' 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', 'createAnnotationStore_description' - A description for the store.
+--
+-- 'name', 'createAnnotationStore_name' - A name for the store.
+--
+-- 'reference', 'createAnnotationStore_reference' - The genome reference for the store\'s annotations.
+--
+-- 'sseConfig', 'createAnnotationStore_sseConfig' - Server-side encryption (SSE) settings for the store.
+--
+-- 'storeOptions', 'createAnnotationStore_storeOptions' - File parsing options for the annotation store.
+--
+-- 'tags', 'createAnnotationStore_tags' - Tags for the store.
+--
+-- 'storeFormat', 'createAnnotationStore_storeFormat' - The annotation file format of the store.
+newCreateAnnotationStore ::
+  -- | 'storeFormat'
+  StoreFormat ->
+  CreateAnnotationStore
+newCreateAnnotationStore pStoreFormat_ =
+  CreateAnnotationStore'
+    { description =
+        Prelude.Nothing,
+      name = Prelude.Nothing,
+      reference = Prelude.Nothing,
+      sseConfig = Prelude.Nothing,
+      storeOptions = Prelude.Nothing,
+      tags = Prelude.Nothing,
+      storeFormat = pStoreFormat_
+    }
+
+-- | A description for the store.
+createAnnotationStore_description :: Lens.Lens' CreateAnnotationStore (Prelude.Maybe Prelude.Text)
+createAnnotationStore_description = Lens.lens (\CreateAnnotationStore' {description} -> description) (\s@CreateAnnotationStore' {} a -> s {description = a} :: CreateAnnotationStore)
+
+-- | A name for the store.
+createAnnotationStore_name :: Lens.Lens' CreateAnnotationStore (Prelude.Maybe Prelude.Text)
+createAnnotationStore_name = Lens.lens (\CreateAnnotationStore' {name} -> name) (\s@CreateAnnotationStore' {} a -> s {name = a} :: CreateAnnotationStore)
+
+-- | The genome reference for the store\'s annotations.
+createAnnotationStore_reference :: Lens.Lens' CreateAnnotationStore (Prelude.Maybe ReferenceItem)
+createAnnotationStore_reference = Lens.lens (\CreateAnnotationStore' {reference} -> reference) (\s@CreateAnnotationStore' {} a -> s {reference = a} :: CreateAnnotationStore)
+
+-- | Server-side encryption (SSE) settings for the store.
+createAnnotationStore_sseConfig :: Lens.Lens' CreateAnnotationStore (Prelude.Maybe SseConfig)
+createAnnotationStore_sseConfig = Lens.lens (\CreateAnnotationStore' {sseConfig} -> sseConfig) (\s@CreateAnnotationStore' {} a -> s {sseConfig = a} :: CreateAnnotationStore)
+
+-- | File parsing options for the annotation store.
+createAnnotationStore_storeOptions :: Lens.Lens' CreateAnnotationStore (Prelude.Maybe StoreOptions)
+createAnnotationStore_storeOptions = Lens.lens (\CreateAnnotationStore' {storeOptions} -> storeOptions) (\s@CreateAnnotationStore' {} a -> s {storeOptions = a} :: CreateAnnotationStore)
+
+-- | Tags for the store.
+createAnnotationStore_tags :: Lens.Lens' CreateAnnotationStore (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+createAnnotationStore_tags = Lens.lens (\CreateAnnotationStore' {tags} -> tags) (\s@CreateAnnotationStore' {} a -> s {tags = a} :: CreateAnnotationStore) Prelude.. Lens.mapping Lens.coerced
+
+-- | The annotation file format of the store.
+createAnnotationStore_storeFormat :: Lens.Lens' CreateAnnotationStore StoreFormat
+createAnnotationStore_storeFormat = Lens.lens (\CreateAnnotationStore' {storeFormat} -> storeFormat) (\s@CreateAnnotationStore' {} a -> s {storeFormat = a} :: CreateAnnotationStore)
+
+instance Core.AWSRequest CreateAnnotationStore where
+  type
+    AWSResponse CreateAnnotationStore =
+      CreateAnnotationStoreResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          CreateAnnotationStoreResponse'
+            Prelude.<$> (x Data..?> "reference")
+            Prelude.<*> (x Data..?> "storeFormat")
+            Prelude.<*> (x Data..?> "storeOptions")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "name")
+            Prelude.<*> (x Data..:> "status")
+      )
+
+instance Prelude.Hashable CreateAnnotationStore where
+  hashWithSalt _salt CreateAnnotationStore' {..} =
+    _salt
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` reference
+      `Prelude.hashWithSalt` sseConfig
+      `Prelude.hashWithSalt` storeOptions
+      `Prelude.hashWithSalt` tags
+      `Prelude.hashWithSalt` storeFormat
+
+instance Prelude.NFData CreateAnnotationStore where
+  rnf CreateAnnotationStore' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf reference
+      `Prelude.seq` Prelude.rnf sseConfig
+      `Prelude.seq` Prelude.rnf storeOptions
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf storeFormat
+
+instance Data.ToHeaders CreateAnnotationStore where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON CreateAnnotationStore where
+  toJSON CreateAnnotationStore' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("description" Data..=) Prelude.<$> description,
+            ("name" Data..=) Prelude.<$> name,
+            ("reference" Data..=) Prelude.<$> reference,
+            ("sseConfig" Data..=) Prelude.<$> sseConfig,
+            ("storeOptions" Data..=) Prelude.<$> storeOptions,
+            ("tags" Data..=) Prelude.<$> tags,
+            Prelude.Just ("storeFormat" Data..= storeFormat)
+          ]
+      )
+
+instance Data.ToPath CreateAnnotationStore where
+  toPath = Prelude.const "/annotationStore"
+
+instance Data.ToQuery CreateAnnotationStore where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newCreateAnnotationStoreResponse' smart constructor.
+data CreateAnnotationStoreResponse = CreateAnnotationStoreResponse'
+  { -- | The store\'s genome reference.
+    reference :: Prelude.Maybe ReferenceItem,
+    -- | The annotation file format of the store.
+    storeFormat :: Prelude.Maybe StoreFormat,
+    -- | The store\'s file parsing options.
+    storeOptions :: Prelude.Maybe StoreOptions,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | When the store was created.
+    creationTime :: Data.ISO8601,
+    -- | The store\'s ID.
+    id :: Prelude.Text,
+    -- | The store\'s name.
+    name :: Prelude.Text,
+    -- | The store\'s status.
+    status :: StoreStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CreateAnnotationStoreResponse' 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:
+--
+-- 'reference', 'createAnnotationStoreResponse_reference' - The store\'s genome reference.
+--
+-- 'storeFormat', 'createAnnotationStoreResponse_storeFormat' - The annotation file format of the store.
+--
+-- 'storeOptions', 'createAnnotationStoreResponse_storeOptions' - The store\'s file parsing options.
+--
+-- 'httpStatus', 'createAnnotationStoreResponse_httpStatus' - The response's http status code.
+--
+-- 'creationTime', 'createAnnotationStoreResponse_creationTime' - When the store was created.
+--
+-- 'id', 'createAnnotationStoreResponse_id' - The store\'s ID.
+--
+-- 'name', 'createAnnotationStoreResponse_name' - The store\'s name.
+--
+-- 'status', 'createAnnotationStoreResponse_status' - The store\'s status.
+newCreateAnnotationStoreResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'name'
+  Prelude.Text ->
+  -- | 'status'
+  StoreStatus ->
+  CreateAnnotationStoreResponse
+newCreateAnnotationStoreResponse
+  pHttpStatus_
+  pCreationTime_
+  pId_
+  pName_
+  pStatus_ =
+    CreateAnnotationStoreResponse'
+      { reference =
+          Prelude.Nothing,
+        storeFormat = Prelude.Nothing,
+        storeOptions = Prelude.Nothing,
+        httpStatus = pHttpStatus_,
+        creationTime =
+          Data._Time Lens.# pCreationTime_,
+        id = pId_,
+        name = pName_,
+        status = pStatus_
+      }
+
+-- | The store\'s genome reference.
+createAnnotationStoreResponse_reference :: Lens.Lens' CreateAnnotationStoreResponse (Prelude.Maybe ReferenceItem)
+createAnnotationStoreResponse_reference = Lens.lens (\CreateAnnotationStoreResponse' {reference} -> reference) (\s@CreateAnnotationStoreResponse' {} a -> s {reference = a} :: CreateAnnotationStoreResponse)
+
+-- | The annotation file format of the store.
+createAnnotationStoreResponse_storeFormat :: Lens.Lens' CreateAnnotationStoreResponse (Prelude.Maybe StoreFormat)
+createAnnotationStoreResponse_storeFormat = Lens.lens (\CreateAnnotationStoreResponse' {storeFormat} -> storeFormat) (\s@CreateAnnotationStoreResponse' {} a -> s {storeFormat = a} :: CreateAnnotationStoreResponse)
+
+-- | The store\'s file parsing options.
+createAnnotationStoreResponse_storeOptions :: Lens.Lens' CreateAnnotationStoreResponse (Prelude.Maybe StoreOptions)
+createAnnotationStoreResponse_storeOptions = Lens.lens (\CreateAnnotationStoreResponse' {storeOptions} -> storeOptions) (\s@CreateAnnotationStoreResponse' {} a -> s {storeOptions = a} :: CreateAnnotationStoreResponse)
+
+-- | The response's http status code.
+createAnnotationStoreResponse_httpStatus :: Lens.Lens' CreateAnnotationStoreResponse Prelude.Int
+createAnnotationStoreResponse_httpStatus = Lens.lens (\CreateAnnotationStoreResponse' {httpStatus} -> httpStatus) (\s@CreateAnnotationStoreResponse' {} a -> s {httpStatus = a} :: CreateAnnotationStoreResponse)
+
+-- | When the store was created.
+createAnnotationStoreResponse_creationTime :: Lens.Lens' CreateAnnotationStoreResponse Prelude.UTCTime
+createAnnotationStoreResponse_creationTime = Lens.lens (\CreateAnnotationStoreResponse' {creationTime} -> creationTime) (\s@CreateAnnotationStoreResponse' {} a -> s {creationTime = a} :: CreateAnnotationStoreResponse) Prelude.. Data._Time
+
+-- | The store\'s ID.
+createAnnotationStoreResponse_id :: Lens.Lens' CreateAnnotationStoreResponse Prelude.Text
+createAnnotationStoreResponse_id = Lens.lens (\CreateAnnotationStoreResponse' {id} -> id) (\s@CreateAnnotationStoreResponse' {} a -> s {id = a} :: CreateAnnotationStoreResponse)
+
+-- | The store\'s name.
+createAnnotationStoreResponse_name :: Lens.Lens' CreateAnnotationStoreResponse Prelude.Text
+createAnnotationStoreResponse_name = Lens.lens (\CreateAnnotationStoreResponse' {name} -> name) (\s@CreateAnnotationStoreResponse' {} a -> s {name = a} :: CreateAnnotationStoreResponse)
+
+-- | The store\'s status.
+createAnnotationStoreResponse_status :: Lens.Lens' CreateAnnotationStoreResponse StoreStatus
+createAnnotationStoreResponse_status = Lens.lens (\CreateAnnotationStoreResponse' {status} -> status) (\s@CreateAnnotationStoreResponse' {} a -> s {status = a} :: CreateAnnotationStoreResponse)
+
+instance Prelude.NFData CreateAnnotationStoreResponse where
+  rnf CreateAnnotationStoreResponse' {..} =
+    Prelude.rnf reference
+      `Prelude.seq` Prelude.rnf storeFormat
+      `Prelude.seq` Prelude.rnf storeOptions
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/CreateReferenceStore.hs b/gen/Amazonka/Omics/CreateReferenceStore.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/CreateReferenceStore.hs
@@ -0,0 +1,296 @@
+{-# 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.Omics.CreateReferenceStore
+-- 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 reference store.
+module Amazonka.Omics.CreateReferenceStore
+  ( -- * Creating a Request
+    CreateReferenceStore (..),
+    newCreateReferenceStore,
+
+    -- * Request Lenses
+    createReferenceStore_clientToken,
+    createReferenceStore_description,
+    createReferenceStore_sseConfig,
+    createReferenceStore_tags,
+    createReferenceStore_name,
+
+    -- * Destructuring the Response
+    CreateReferenceStoreResponse (..),
+    newCreateReferenceStoreResponse,
+
+    -- * Response Lenses
+    createReferenceStoreResponse_description,
+    createReferenceStoreResponse_name,
+    createReferenceStoreResponse_sseConfig,
+    createReferenceStoreResponse_httpStatus,
+    createReferenceStoreResponse_arn,
+    createReferenceStoreResponse_creationTime,
+    createReferenceStoreResponse_id,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newCreateReferenceStore' smart constructor.
+data CreateReferenceStore = CreateReferenceStore'
+  { -- | To ensure that requests don\'t run multiple times, specify a unique
+    -- token for each request.
+    clientToken :: Prelude.Maybe Prelude.Text,
+    -- | A description for the store.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | Server-side encryption (SSE) settings for the store.
+    sseConfig :: Prelude.Maybe SseConfig,
+    -- | Tags for the store.
+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | A name for the store.
+    name :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CreateReferenceStore' 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:
+--
+-- 'clientToken', 'createReferenceStore_clientToken' - To ensure that requests don\'t run multiple times, specify a unique
+-- token for each request.
+--
+-- 'description', 'createReferenceStore_description' - A description for the store.
+--
+-- 'sseConfig', 'createReferenceStore_sseConfig' - Server-side encryption (SSE) settings for the store.
+--
+-- 'tags', 'createReferenceStore_tags' - Tags for the store.
+--
+-- 'name', 'createReferenceStore_name' - A name for the store.
+newCreateReferenceStore ::
+  -- | 'name'
+  Prelude.Text ->
+  CreateReferenceStore
+newCreateReferenceStore pName_ =
+  CreateReferenceStore'
+    { clientToken =
+        Prelude.Nothing,
+      description = Prelude.Nothing,
+      sseConfig = Prelude.Nothing,
+      tags = Prelude.Nothing,
+      name = pName_
+    }
+
+-- | To ensure that requests don\'t run multiple times, specify a unique
+-- token for each request.
+createReferenceStore_clientToken :: Lens.Lens' CreateReferenceStore (Prelude.Maybe Prelude.Text)
+createReferenceStore_clientToken = Lens.lens (\CreateReferenceStore' {clientToken} -> clientToken) (\s@CreateReferenceStore' {} a -> s {clientToken = a} :: CreateReferenceStore)
+
+-- | A description for the store.
+createReferenceStore_description :: Lens.Lens' CreateReferenceStore (Prelude.Maybe Prelude.Text)
+createReferenceStore_description = Lens.lens (\CreateReferenceStore' {description} -> description) (\s@CreateReferenceStore' {} a -> s {description = a} :: CreateReferenceStore)
+
+-- | Server-side encryption (SSE) settings for the store.
+createReferenceStore_sseConfig :: Lens.Lens' CreateReferenceStore (Prelude.Maybe SseConfig)
+createReferenceStore_sseConfig = Lens.lens (\CreateReferenceStore' {sseConfig} -> sseConfig) (\s@CreateReferenceStore' {} a -> s {sseConfig = a} :: CreateReferenceStore)
+
+-- | Tags for the store.
+createReferenceStore_tags :: Lens.Lens' CreateReferenceStore (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+createReferenceStore_tags = Lens.lens (\CreateReferenceStore' {tags} -> tags) (\s@CreateReferenceStore' {} a -> s {tags = a} :: CreateReferenceStore) Prelude.. Lens.mapping Lens.coerced
+
+-- | A name for the store.
+createReferenceStore_name :: Lens.Lens' CreateReferenceStore Prelude.Text
+createReferenceStore_name = Lens.lens (\CreateReferenceStore' {name} -> name) (\s@CreateReferenceStore' {} a -> s {name = a} :: CreateReferenceStore)
+
+instance Core.AWSRequest CreateReferenceStore where
+  type
+    AWSResponse CreateReferenceStore =
+      CreateReferenceStoreResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          CreateReferenceStoreResponse'
+            Prelude.<$> (x Data..?> "description")
+            Prelude.<*> (x Data..?> "name")
+            Prelude.<*> (x Data..?> "sseConfig")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "arn")
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "id")
+      )
+
+instance Prelude.Hashable CreateReferenceStore where
+  hashWithSalt _salt CreateReferenceStore' {..} =
+    _salt
+      `Prelude.hashWithSalt` clientToken
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` sseConfig
+      `Prelude.hashWithSalt` tags
+      `Prelude.hashWithSalt` name
+
+instance Prelude.NFData CreateReferenceStore where
+  rnf CreateReferenceStore' {..} =
+    Prelude.rnf clientToken
+      `Prelude.seq` Prelude.rnf description
+      `Prelude.seq` Prelude.rnf sseConfig
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf name
+
+instance Data.ToHeaders CreateReferenceStore where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON CreateReferenceStore where
+  toJSON CreateReferenceStore' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("clientToken" Data..=) Prelude.<$> clientToken,
+            ("description" Data..=) Prelude.<$> description,
+            ("sseConfig" Data..=) Prelude.<$> sseConfig,
+            ("tags" Data..=) Prelude.<$> tags,
+            Prelude.Just ("name" Data..= name)
+          ]
+      )
+
+instance Data.ToPath CreateReferenceStore where
+  toPath = Prelude.const "/referencestore"
+
+instance Data.ToQuery CreateReferenceStore where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newCreateReferenceStoreResponse' smart constructor.
+data CreateReferenceStoreResponse = CreateReferenceStoreResponse'
+  { -- | The store\'s description.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | The store\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The store\'s SSE settings.
+    sseConfig :: Prelude.Maybe SseConfig,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The store\'s ARN.
+    arn :: Prelude.Text,
+    -- | When the store was created.
+    creationTime :: Data.ISO8601,
+    -- | The store\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CreateReferenceStoreResponse' 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', 'createReferenceStoreResponse_description' - The store\'s description.
+--
+-- 'name', 'createReferenceStoreResponse_name' - The store\'s name.
+--
+-- 'sseConfig', 'createReferenceStoreResponse_sseConfig' - The store\'s SSE settings.
+--
+-- 'httpStatus', 'createReferenceStoreResponse_httpStatus' - The response's http status code.
+--
+-- 'arn', 'createReferenceStoreResponse_arn' - The store\'s ARN.
+--
+-- 'creationTime', 'createReferenceStoreResponse_creationTime' - When the store was created.
+--
+-- 'id', 'createReferenceStoreResponse_id' - The store\'s ID.
+newCreateReferenceStoreResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'arn'
+  Prelude.Text ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  CreateReferenceStoreResponse
+newCreateReferenceStoreResponse
+  pHttpStatus_
+  pArn_
+  pCreationTime_
+  pId_ =
+    CreateReferenceStoreResponse'
+      { description =
+          Prelude.Nothing,
+        name = Prelude.Nothing,
+        sseConfig = Prelude.Nothing,
+        httpStatus = pHttpStatus_,
+        arn = pArn_,
+        creationTime =
+          Data._Time Lens.# pCreationTime_,
+        id = pId_
+      }
+
+-- | The store\'s description.
+createReferenceStoreResponse_description :: Lens.Lens' CreateReferenceStoreResponse (Prelude.Maybe Prelude.Text)
+createReferenceStoreResponse_description = Lens.lens (\CreateReferenceStoreResponse' {description} -> description) (\s@CreateReferenceStoreResponse' {} a -> s {description = a} :: CreateReferenceStoreResponse)
+
+-- | The store\'s name.
+createReferenceStoreResponse_name :: Lens.Lens' CreateReferenceStoreResponse (Prelude.Maybe Prelude.Text)
+createReferenceStoreResponse_name = Lens.lens (\CreateReferenceStoreResponse' {name} -> name) (\s@CreateReferenceStoreResponse' {} a -> s {name = a} :: CreateReferenceStoreResponse)
+
+-- | The store\'s SSE settings.
+createReferenceStoreResponse_sseConfig :: Lens.Lens' CreateReferenceStoreResponse (Prelude.Maybe SseConfig)
+createReferenceStoreResponse_sseConfig = Lens.lens (\CreateReferenceStoreResponse' {sseConfig} -> sseConfig) (\s@CreateReferenceStoreResponse' {} a -> s {sseConfig = a} :: CreateReferenceStoreResponse)
+
+-- | The response's http status code.
+createReferenceStoreResponse_httpStatus :: Lens.Lens' CreateReferenceStoreResponse Prelude.Int
+createReferenceStoreResponse_httpStatus = Lens.lens (\CreateReferenceStoreResponse' {httpStatus} -> httpStatus) (\s@CreateReferenceStoreResponse' {} a -> s {httpStatus = a} :: CreateReferenceStoreResponse)
+
+-- | The store\'s ARN.
+createReferenceStoreResponse_arn :: Lens.Lens' CreateReferenceStoreResponse Prelude.Text
+createReferenceStoreResponse_arn = Lens.lens (\CreateReferenceStoreResponse' {arn} -> arn) (\s@CreateReferenceStoreResponse' {} a -> s {arn = a} :: CreateReferenceStoreResponse)
+
+-- | When the store was created.
+createReferenceStoreResponse_creationTime :: Lens.Lens' CreateReferenceStoreResponse Prelude.UTCTime
+createReferenceStoreResponse_creationTime = Lens.lens (\CreateReferenceStoreResponse' {creationTime} -> creationTime) (\s@CreateReferenceStoreResponse' {} a -> s {creationTime = a} :: CreateReferenceStoreResponse) Prelude.. Data._Time
+
+-- | The store\'s ID.
+createReferenceStoreResponse_id :: Lens.Lens' CreateReferenceStoreResponse Prelude.Text
+createReferenceStoreResponse_id = Lens.lens (\CreateReferenceStoreResponse' {id} -> id) (\s@CreateReferenceStoreResponse' {} a -> s {id = a} :: CreateReferenceStoreResponse)
+
+instance Prelude.NFData CreateReferenceStoreResponse where
+  rnf CreateReferenceStoreResponse' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf sseConfig
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
diff --git a/gen/Amazonka/Omics/CreateRunGroup.hs b/gen/Amazonka/Omics/CreateRunGroup.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/CreateRunGroup.hs
@@ -0,0 +1,257 @@
+{-# 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.Omics.CreateRunGroup
+-- 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 run group.
+module Amazonka.Omics.CreateRunGroup
+  ( -- * Creating a Request
+    CreateRunGroup (..),
+    newCreateRunGroup,
+
+    -- * Request Lenses
+    createRunGroup_maxCpus,
+    createRunGroup_maxDuration,
+    createRunGroup_maxRuns,
+    createRunGroup_name,
+    createRunGroup_tags,
+    createRunGroup_requestId,
+
+    -- * Destructuring the Response
+    CreateRunGroupResponse (..),
+    newCreateRunGroupResponse,
+
+    -- * Response Lenses
+    createRunGroupResponse_arn,
+    createRunGroupResponse_id,
+    createRunGroupResponse_tags,
+    createRunGroupResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newCreateRunGroup' smart constructor.
+data CreateRunGroup = CreateRunGroup'
+  { -- | The maximum number of CPUs to use in the group.
+    maxCpus :: Prelude.Maybe Prelude.Natural,
+    -- | A max duration for the group.
+    maxDuration :: Prelude.Maybe Prelude.Natural,
+    -- | The maximum number of concurrent runs for the group.
+    maxRuns :: Prelude.Maybe Prelude.Natural,
+    -- | A name for the group.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | Tags for the group.
+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | A request ID for the group.
+    requestId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CreateRunGroup' 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:
+--
+-- 'maxCpus', 'createRunGroup_maxCpus' - The maximum number of CPUs to use in the group.
+--
+-- 'maxDuration', 'createRunGroup_maxDuration' - A max duration for the group.
+--
+-- 'maxRuns', 'createRunGroup_maxRuns' - The maximum number of concurrent runs for the group.
+--
+-- 'name', 'createRunGroup_name' - A name for the group.
+--
+-- 'tags', 'createRunGroup_tags' - Tags for the group.
+--
+-- 'requestId', 'createRunGroup_requestId' - A request ID for the group.
+newCreateRunGroup ::
+  -- | 'requestId'
+  Prelude.Text ->
+  CreateRunGroup
+newCreateRunGroup pRequestId_ =
+  CreateRunGroup'
+    { maxCpus = Prelude.Nothing,
+      maxDuration = Prelude.Nothing,
+      maxRuns = Prelude.Nothing,
+      name = Prelude.Nothing,
+      tags = Prelude.Nothing,
+      requestId = pRequestId_
+    }
+
+-- | The maximum number of CPUs to use in the group.
+createRunGroup_maxCpus :: Lens.Lens' CreateRunGroup (Prelude.Maybe Prelude.Natural)
+createRunGroup_maxCpus = Lens.lens (\CreateRunGroup' {maxCpus} -> maxCpus) (\s@CreateRunGroup' {} a -> s {maxCpus = a} :: CreateRunGroup)
+
+-- | A max duration for the group.
+createRunGroup_maxDuration :: Lens.Lens' CreateRunGroup (Prelude.Maybe Prelude.Natural)
+createRunGroup_maxDuration = Lens.lens (\CreateRunGroup' {maxDuration} -> maxDuration) (\s@CreateRunGroup' {} a -> s {maxDuration = a} :: CreateRunGroup)
+
+-- | The maximum number of concurrent runs for the group.
+createRunGroup_maxRuns :: Lens.Lens' CreateRunGroup (Prelude.Maybe Prelude.Natural)
+createRunGroup_maxRuns = Lens.lens (\CreateRunGroup' {maxRuns} -> maxRuns) (\s@CreateRunGroup' {} a -> s {maxRuns = a} :: CreateRunGroup)
+
+-- | A name for the group.
+createRunGroup_name :: Lens.Lens' CreateRunGroup (Prelude.Maybe Prelude.Text)
+createRunGroup_name = Lens.lens (\CreateRunGroup' {name} -> name) (\s@CreateRunGroup' {} a -> s {name = a} :: CreateRunGroup)
+
+-- | Tags for the group.
+createRunGroup_tags :: Lens.Lens' CreateRunGroup (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+createRunGroup_tags = Lens.lens (\CreateRunGroup' {tags} -> tags) (\s@CreateRunGroup' {} a -> s {tags = a} :: CreateRunGroup) Prelude.. Lens.mapping Lens.coerced
+
+-- | A request ID for the group.
+createRunGroup_requestId :: Lens.Lens' CreateRunGroup Prelude.Text
+createRunGroup_requestId = Lens.lens (\CreateRunGroup' {requestId} -> requestId) (\s@CreateRunGroup' {} a -> s {requestId = a} :: CreateRunGroup)
+
+instance Core.AWSRequest CreateRunGroup where
+  type
+    AWSResponse CreateRunGroup =
+      CreateRunGroupResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          CreateRunGroupResponse'
+            Prelude.<$> (x Data..?> "arn")
+            Prelude.<*> (x Data..?> "id")
+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable CreateRunGroup where
+  hashWithSalt _salt CreateRunGroup' {..} =
+    _salt
+      `Prelude.hashWithSalt` maxCpus
+      `Prelude.hashWithSalt` maxDuration
+      `Prelude.hashWithSalt` maxRuns
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` tags
+      `Prelude.hashWithSalt` requestId
+
+instance Prelude.NFData CreateRunGroup where
+  rnf CreateRunGroup' {..} =
+    Prelude.rnf maxCpus
+      `Prelude.seq` Prelude.rnf maxDuration
+      `Prelude.seq` Prelude.rnf maxRuns
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf requestId
+
+instance Data.ToHeaders CreateRunGroup where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON CreateRunGroup where
+  toJSON CreateRunGroup' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("maxCpus" Data..=) Prelude.<$> maxCpus,
+            ("maxDuration" Data..=) Prelude.<$> maxDuration,
+            ("maxRuns" Data..=) Prelude.<$> maxRuns,
+            ("name" Data..=) Prelude.<$> name,
+            ("tags" Data..=) Prelude.<$> tags,
+            Prelude.Just ("requestId" Data..= requestId)
+          ]
+      )
+
+instance Data.ToPath CreateRunGroup where
+  toPath = Prelude.const "/runGroup"
+
+instance Data.ToQuery CreateRunGroup where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newCreateRunGroupResponse' smart constructor.
+data CreateRunGroupResponse = CreateRunGroupResponse'
+  { -- | The group\'s ARN.
+    arn :: Prelude.Maybe Prelude.Text,
+    -- | The group\'s ID.
+    id :: Prelude.Maybe Prelude.Text,
+    -- | Tags for the run group.
+    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 'CreateRunGroupResponse' 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', 'createRunGroupResponse_arn' - The group\'s ARN.
+--
+-- 'id', 'createRunGroupResponse_id' - The group\'s ID.
+--
+-- 'tags', 'createRunGroupResponse_tags' - Tags for the run group.
+--
+-- 'httpStatus', 'createRunGroupResponse_httpStatus' - The response's http status code.
+newCreateRunGroupResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  CreateRunGroupResponse
+newCreateRunGroupResponse pHttpStatus_ =
+  CreateRunGroupResponse'
+    { arn = Prelude.Nothing,
+      id = Prelude.Nothing,
+      tags = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | The group\'s ARN.
+createRunGroupResponse_arn :: Lens.Lens' CreateRunGroupResponse (Prelude.Maybe Prelude.Text)
+createRunGroupResponse_arn = Lens.lens (\CreateRunGroupResponse' {arn} -> arn) (\s@CreateRunGroupResponse' {} a -> s {arn = a} :: CreateRunGroupResponse)
+
+-- | The group\'s ID.
+createRunGroupResponse_id :: Lens.Lens' CreateRunGroupResponse (Prelude.Maybe Prelude.Text)
+createRunGroupResponse_id = Lens.lens (\CreateRunGroupResponse' {id} -> id) (\s@CreateRunGroupResponse' {} a -> s {id = a} :: CreateRunGroupResponse)
+
+-- | Tags for the run group.
+createRunGroupResponse_tags :: Lens.Lens' CreateRunGroupResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+createRunGroupResponse_tags = Lens.lens (\CreateRunGroupResponse' {tags} -> tags) (\s@CreateRunGroupResponse' {} a -> s {tags = a} :: CreateRunGroupResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | The response's http status code.
+createRunGroupResponse_httpStatus :: Lens.Lens' CreateRunGroupResponse Prelude.Int
+createRunGroupResponse_httpStatus = Lens.lens (\CreateRunGroupResponse' {httpStatus} -> httpStatus) (\s@CreateRunGroupResponse' {} a -> s {httpStatus = a} :: CreateRunGroupResponse)
+
+instance Prelude.NFData CreateRunGroupResponse where
+  rnf CreateRunGroupResponse' {..} =
+    Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/CreateSequenceStore.hs b/gen/Amazonka/Omics/CreateSequenceStore.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/CreateSequenceStore.hs
@@ -0,0 +1,295 @@
+{-# 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.Omics.CreateSequenceStore
+-- 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 sequence store.
+module Amazonka.Omics.CreateSequenceStore
+  ( -- * Creating a Request
+    CreateSequenceStore (..),
+    newCreateSequenceStore,
+
+    -- * Request Lenses
+    createSequenceStore_clientToken,
+    createSequenceStore_description,
+    createSequenceStore_sseConfig,
+    createSequenceStore_tags,
+    createSequenceStore_name,
+
+    -- * Destructuring the Response
+    CreateSequenceStoreResponse (..),
+    newCreateSequenceStoreResponse,
+
+    -- * Response Lenses
+    createSequenceStoreResponse_description,
+    createSequenceStoreResponse_name,
+    createSequenceStoreResponse_sseConfig,
+    createSequenceStoreResponse_httpStatus,
+    createSequenceStoreResponse_arn,
+    createSequenceStoreResponse_creationTime,
+    createSequenceStoreResponse_id,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newCreateSequenceStore' smart constructor.
+data CreateSequenceStore = CreateSequenceStore'
+  { -- | To ensure that requests don\'t run multiple times, specify a unique
+    -- token for each request.
+    clientToken :: Prelude.Maybe Prelude.Text,
+    -- | A description for the store.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | Server-side encryption (SSE) settings for the store.
+    sseConfig :: Prelude.Maybe SseConfig,
+    -- | Tags for the store.
+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | A name for the store.
+    name :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CreateSequenceStore' 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:
+--
+-- 'clientToken', 'createSequenceStore_clientToken' - To ensure that requests don\'t run multiple times, specify a unique
+-- token for each request.
+--
+-- 'description', 'createSequenceStore_description' - A description for the store.
+--
+-- 'sseConfig', 'createSequenceStore_sseConfig' - Server-side encryption (SSE) settings for the store.
+--
+-- 'tags', 'createSequenceStore_tags' - Tags for the store.
+--
+-- 'name', 'createSequenceStore_name' - A name for the store.
+newCreateSequenceStore ::
+  -- | 'name'
+  Prelude.Text ->
+  CreateSequenceStore
+newCreateSequenceStore pName_ =
+  CreateSequenceStore'
+    { clientToken = Prelude.Nothing,
+      description = Prelude.Nothing,
+      sseConfig = Prelude.Nothing,
+      tags = Prelude.Nothing,
+      name = pName_
+    }
+
+-- | To ensure that requests don\'t run multiple times, specify a unique
+-- token for each request.
+createSequenceStore_clientToken :: Lens.Lens' CreateSequenceStore (Prelude.Maybe Prelude.Text)
+createSequenceStore_clientToken = Lens.lens (\CreateSequenceStore' {clientToken} -> clientToken) (\s@CreateSequenceStore' {} a -> s {clientToken = a} :: CreateSequenceStore)
+
+-- | A description for the store.
+createSequenceStore_description :: Lens.Lens' CreateSequenceStore (Prelude.Maybe Prelude.Text)
+createSequenceStore_description = Lens.lens (\CreateSequenceStore' {description} -> description) (\s@CreateSequenceStore' {} a -> s {description = a} :: CreateSequenceStore)
+
+-- | Server-side encryption (SSE) settings for the store.
+createSequenceStore_sseConfig :: Lens.Lens' CreateSequenceStore (Prelude.Maybe SseConfig)
+createSequenceStore_sseConfig = Lens.lens (\CreateSequenceStore' {sseConfig} -> sseConfig) (\s@CreateSequenceStore' {} a -> s {sseConfig = a} :: CreateSequenceStore)
+
+-- | Tags for the store.
+createSequenceStore_tags :: Lens.Lens' CreateSequenceStore (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+createSequenceStore_tags = Lens.lens (\CreateSequenceStore' {tags} -> tags) (\s@CreateSequenceStore' {} a -> s {tags = a} :: CreateSequenceStore) Prelude.. Lens.mapping Lens.coerced
+
+-- | A name for the store.
+createSequenceStore_name :: Lens.Lens' CreateSequenceStore Prelude.Text
+createSequenceStore_name = Lens.lens (\CreateSequenceStore' {name} -> name) (\s@CreateSequenceStore' {} a -> s {name = a} :: CreateSequenceStore)
+
+instance Core.AWSRequest CreateSequenceStore where
+  type
+    AWSResponse CreateSequenceStore =
+      CreateSequenceStoreResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          CreateSequenceStoreResponse'
+            Prelude.<$> (x Data..?> "description")
+            Prelude.<*> (x Data..?> "name")
+            Prelude.<*> (x Data..?> "sseConfig")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "arn")
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "id")
+      )
+
+instance Prelude.Hashable CreateSequenceStore where
+  hashWithSalt _salt CreateSequenceStore' {..} =
+    _salt
+      `Prelude.hashWithSalt` clientToken
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` sseConfig
+      `Prelude.hashWithSalt` tags
+      `Prelude.hashWithSalt` name
+
+instance Prelude.NFData CreateSequenceStore where
+  rnf CreateSequenceStore' {..} =
+    Prelude.rnf clientToken
+      `Prelude.seq` Prelude.rnf description
+      `Prelude.seq` Prelude.rnf sseConfig
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf name
+
+instance Data.ToHeaders CreateSequenceStore where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON CreateSequenceStore where
+  toJSON CreateSequenceStore' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("clientToken" Data..=) Prelude.<$> clientToken,
+            ("description" Data..=) Prelude.<$> description,
+            ("sseConfig" Data..=) Prelude.<$> sseConfig,
+            ("tags" Data..=) Prelude.<$> tags,
+            Prelude.Just ("name" Data..= name)
+          ]
+      )
+
+instance Data.ToPath CreateSequenceStore where
+  toPath = Prelude.const "/sequencestore"
+
+instance Data.ToQuery CreateSequenceStore where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newCreateSequenceStoreResponse' smart constructor.
+data CreateSequenceStoreResponse = CreateSequenceStoreResponse'
+  { -- | The store\'s description.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | The store\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The store\'s SSE settings.
+    sseConfig :: Prelude.Maybe SseConfig,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The store\'s ARN.
+    arn :: Prelude.Text,
+    -- | When the store was created.
+    creationTime :: Data.ISO8601,
+    -- | The store\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CreateSequenceStoreResponse' 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', 'createSequenceStoreResponse_description' - The store\'s description.
+--
+-- 'name', 'createSequenceStoreResponse_name' - The store\'s name.
+--
+-- 'sseConfig', 'createSequenceStoreResponse_sseConfig' - The store\'s SSE settings.
+--
+-- 'httpStatus', 'createSequenceStoreResponse_httpStatus' - The response's http status code.
+--
+-- 'arn', 'createSequenceStoreResponse_arn' - The store\'s ARN.
+--
+-- 'creationTime', 'createSequenceStoreResponse_creationTime' - When the store was created.
+--
+-- 'id', 'createSequenceStoreResponse_id' - The store\'s ID.
+newCreateSequenceStoreResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'arn'
+  Prelude.Text ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  CreateSequenceStoreResponse
+newCreateSequenceStoreResponse
+  pHttpStatus_
+  pArn_
+  pCreationTime_
+  pId_ =
+    CreateSequenceStoreResponse'
+      { description =
+          Prelude.Nothing,
+        name = Prelude.Nothing,
+        sseConfig = Prelude.Nothing,
+        httpStatus = pHttpStatus_,
+        arn = pArn_,
+        creationTime =
+          Data._Time Lens.# pCreationTime_,
+        id = pId_
+      }
+
+-- | The store\'s description.
+createSequenceStoreResponse_description :: Lens.Lens' CreateSequenceStoreResponse (Prelude.Maybe Prelude.Text)
+createSequenceStoreResponse_description = Lens.lens (\CreateSequenceStoreResponse' {description} -> description) (\s@CreateSequenceStoreResponse' {} a -> s {description = a} :: CreateSequenceStoreResponse)
+
+-- | The store\'s name.
+createSequenceStoreResponse_name :: Lens.Lens' CreateSequenceStoreResponse (Prelude.Maybe Prelude.Text)
+createSequenceStoreResponse_name = Lens.lens (\CreateSequenceStoreResponse' {name} -> name) (\s@CreateSequenceStoreResponse' {} a -> s {name = a} :: CreateSequenceStoreResponse)
+
+-- | The store\'s SSE settings.
+createSequenceStoreResponse_sseConfig :: Lens.Lens' CreateSequenceStoreResponse (Prelude.Maybe SseConfig)
+createSequenceStoreResponse_sseConfig = Lens.lens (\CreateSequenceStoreResponse' {sseConfig} -> sseConfig) (\s@CreateSequenceStoreResponse' {} a -> s {sseConfig = a} :: CreateSequenceStoreResponse)
+
+-- | The response's http status code.
+createSequenceStoreResponse_httpStatus :: Lens.Lens' CreateSequenceStoreResponse Prelude.Int
+createSequenceStoreResponse_httpStatus = Lens.lens (\CreateSequenceStoreResponse' {httpStatus} -> httpStatus) (\s@CreateSequenceStoreResponse' {} a -> s {httpStatus = a} :: CreateSequenceStoreResponse)
+
+-- | The store\'s ARN.
+createSequenceStoreResponse_arn :: Lens.Lens' CreateSequenceStoreResponse Prelude.Text
+createSequenceStoreResponse_arn = Lens.lens (\CreateSequenceStoreResponse' {arn} -> arn) (\s@CreateSequenceStoreResponse' {} a -> s {arn = a} :: CreateSequenceStoreResponse)
+
+-- | When the store was created.
+createSequenceStoreResponse_creationTime :: Lens.Lens' CreateSequenceStoreResponse Prelude.UTCTime
+createSequenceStoreResponse_creationTime = Lens.lens (\CreateSequenceStoreResponse' {creationTime} -> creationTime) (\s@CreateSequenceStoreResponse' {} a -> s {creationTime = a} :: CreateSequenceStoreResponse) Prelude.. Data._Time
+
+-- | The store\'s ID.
+createSequenceStoreResponse_id :: Lens.Lens' CreateSequenceStoreResponse Prelude.Text
+createSequenceStoreResponse_id = Lens.lens (\CreateSequenceStoreResponse' {id} -> id) (\s@CreateSequenceStoreResponse' {} a -> s {id = a} :: CreateSequenceStoreResponse)
+
+instance Prelude.NFData CreateSequenceStoreResponse where
+  rnf CreateSequenceStoreResponse' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf sseConfig
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
diff --git a/gen/Amazonka/Omics/CreateVariantStore.hs b/gen/Amazonka/Omics/CreateVariantStore.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/CreateVariantStore.hs
@@ -0,0 +1,282 @@
+{-# 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.Omics.CreateVariantStore
+-- 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 variant store.
+module Amazonka.Omics.CreateVariantStore
+  ( -- * Creating a Request
+    CreateVariantStore (..),
+    newCreateVariantStore,
+
+    -- * Request Lenses
+    createVariantStore_description,
+    createVariantStore_name,
+    createVariantStore_sseConfig,
+    createVariantStore_tags,
+    createVariantStore_reference,
+
+    -- * Destructuring the Response
+    CreateVariantStoreResponse (..),
+    newCreateVariantStoreResponse,
+
+    -- * Response Lenses
+    createVariantStoreResponse_reference,
+    createVariantStoreResponse_httpStatus,
+    createVariantStoreResponse_creationTime,
+    createVariantStoreResponse_id,
+    createVariantStoreResponse_name,
+    createVariantStoreResponse_status,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newCreateVariantStore' smart constructor.
+data CreateVariantStore = CreateVariantStore'
+  { -- | A description for the store.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | A name for the store.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | Server-side encryption (SSE) settings for the store.
+    sseConfig :: Prelude.Maybe SseConfig,
+    -- | Tags for the store.
+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | The genome reference for the store\'s variants.
+    reference :: ReferenceItem
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CreateVariantStore' 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', 'createVariantStore_description' - A description for the store.
+--
+-- 'name', 'createVariantStore_name' - A name for the store.
+--
+-- 'sseConfig', 'createVariantStore_sseConfig' - Server-side encryption (SSE) settings for the store.
+--
+-- 'tags', 'createVariantStore_tags' - Tags for the store.
+--
+-- 'reference', 'createVariantStore_reference' - The genome reference for the store\'s variants.
+newCreateVariantStore ::
+  -- | 'reference'
+  ReferenceItem ->
+  CreateVariantStore
+newCreateVariantStore pReference_ =
+  CreateVariantStore'
+    { description = Prelude.Nothing,
+      name = Prelude.Nothing,
+      sseConfig = Prelude.Nothing,
+      tags = Prelude.Nothing,
+      reference = pReference_
+    }
+
+-- | A description for the store.
+createVariantStore_description :: Lens.Lens' CreateVariantStore (Prelude.Maybe Prelude.Text)
+createVariantStore_description = Lens.lens (\CreateVariantStore' {description} -> description) (\s@CreateVariantStore' {} a -> s {description = a} :: CreateVariantStore)
+
+-- | A name for the store.
+createVariantStore_name :: Lens.Lens' CreateVariantStore (Prelude.Maybe Prelude.Text)
+createVariantStore_name = Lens.lens (\CreateVariantStore' {name} -> name) (\s@CreateVariantStore' {} a -> s {name = a} :: CreateVariantStore)
+
+-- | Server-side encryption (SSE) settings for the store.
+createVariantStore_sseConfig :: Lens.Lens' CreateVariantStore (Prelude.Maybe SseConfig)
+createVariantStore_sseConfig = Lens.lens (\CreateVariantStore' {sseConfig} -> sseConfig) (\s@CreateVariantStore' {} a -> s {sseConfig = a} :: CreateVariantStore)
+
+-- | Tags for the store.
+createVariantStore_tags :: Lens.Lens' CreateVariantStore (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+createVariantStore_tags = Lens.lens (\CreateVariantStore' {tags} -> tags) (\s@CreateVariantStore' {} a -> s {tags = a} :: CreateVariantStore) Prelude.. Lens.mapping Lens.coerced
+
+-- | The genome reference for the store\'s variants.
+createVariantStore_reference :: Lens.Lens' CreateVariantStore ReferenceItem
+createVariantStore_reference = Lens.lens (\CreateVariantStore' {reference} -> reference) (\s@CreateVariantStore' {} a -> s {reference = a} :: CreateVariantStore)
+
+instance Core.AWSRequest CreateVariantStore where
+  type
+    AWSResponse CreateVariantStore =
+      CreateVariantStoreResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          CreateVariantStoreResponse'
+            Prelude.<$> (x Data..?> "reference")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "name")
+            Prelude.<*> (x Data..:> "status")
+      )
+
+instance Prelude.Hashable CreateVariantStore where
+  hashWithSalt _salt CreateVariantStore' {..} =
+    _salt
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` sseConfig
+      `Prelude.hashWithSalt` tags
+      `Prelude.hashWithSalt` reference
+
+instance Prelude.NFData CreateVariantStore where
+  rnf CreateVariantStore' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf sseConfig
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf reference
+
+instance Data.ToHeaders CreateVariantStore where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON CreateVariantStore where
+  toJSON CreateVariantStore' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("description" Data..=) Prelude.<$> description,
+            ("name" Data..=) Prelude.<$> name,
+            ("sseConfig" Data..=) Prelude.<$> sseConfig,
+            ("tags" Data..=) Prelude.<$> tags,
+            Prelude.Just ("reference" Data..= reference)
+          ]
+      )
+
+instance Data.ToPath CreateVariantStore where
+  toPath = Prelude.const "/variantStore"
+
+instance Data.ToQuery CreateVariantStore where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newCreateVariantStoreResponse' smart constructor.
+data CreateVariantStoreResponse = CreateVariantStoreResponse'
+  { -- | The store\'s genome reference.
+    reference :: Prelude.Maybe ReferenceItem,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | When the store was created.
+    creationTime :: Data.ISO8601,
+    -- | The store\'s ID.
+    id :: Prelude.Text,
+    -- | The store\'s name.
+    name :: Prelude.Text,
+    -- | The store\'s status.
+    status :: StoreStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CreateVariantStoreResponse' 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:
+--
+-- 'reference', 'createVariantStoreResponse_reference' - The store\'s genome reference.
+--
+-- 'httpStatus', 'createVariantStoreResponse_httpStatus' - The response's http status code.
+--
+-- 'creationTime', 'createVariantStoreResponse_creationTime' - When the store was created.
+--
+-- 'id', 'createVariantStoreResponse_id' - The store\'s ID.
+--
+-- 'name', 'createVariantStoreResponse_name' - The store\'s name.
+--
+-- 'status', 'createVariantStoreResponse_status' - The store\'s status.
+newCreateVariantStoreResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'name'
+  Prelude.Text ->
+  -- | 'status'
+  StoreStatus ->
+  CreateVariantStoreResponse
+newCreateVariantStoreResponse
+  pHttpStatus_
+  pCreationTime_
+  pId_
+  pName_
+  pStatus_ =
+    CreateVariantStoreResponse'
+      { reference =
+          Prelude.Nothing,
+        httpStatus = pHttpStatus_,
+        creationTime = Data._Time Lens.# pCreationTime_,
+        id = pId_,
+        name = pName_,
+        status = pStatus_
+      }
+
+-- | The store\'s genome reference.
+createVariantStoreResponse_reference :: Lens.Lens' CreateVariantStoreResponse (Prelude.Maybe ReferenceItem)
+createVariantStoreResponse_reference = Lens.lens (\CreateVariantStoreResponse' {reference} -> reference) (\s@CreateVariantStoreResponse' {} a -> s {reference = a} :: CreateVariantStoreResponse)
+
+-- | The response's http status code.
+createVariantStoreResponse_httpStatus :: Lens.Lens' CreateVariantStoreResponse Prelude.Int
+createVariantStoreResponse_httpStatus = Lens.lens (\CreateVariantStoreResponse' {httpStatus} -> httpStatus) (\s@CreateVariantStoreResponse' {} a -> s {httpStatus = a} :: CreateVariantStoreResponse)
+
+-- | When the store was created.
+createVariantStoreResponse_creationTime :: Lens.Lens' CreateVariantStoreResponse Prelude.UTCTime
+createVariantStoreResponse_creationTime = Lens.lens (\CreateVariantStoreResponse' {creationTime} -> creationTime) (\s@CreateVariantStoreResponse' {} a -> s {creationTime = a} :: CreateVariantStoreResponse) Prelude.. Data._Time
+
+-- | The store\'s ID.
+createVariantStoreResponse_id :: Lens.Lens' CreateVariantStoreResponse Prelude.Text
+createVariantStoreResponse_id = Lens.lens (\CreateVariantStoreResponse' {id} -> id) (\s@CreateVariantStoreResponse' {} a -> s {id = a} :: CreateVariantStoreResponse)
+
+-- | The store\'s name.
+createVariantStoreResponse_name :: Lens.Lens' CreateVariantStoreResponse Prelude.Text
+createVariantStoreResponse_name = Lens.lens (\CreateVariantStoreResponse' {name} -> name) (\s@CreateVariantStoreResponse' {} a -> s {name = a} :: CreateVariantStoreResponse)
+
+-- | The store\'s status.
+createVariantStoreResponse_status :: Lens.Lens' CreateVariantStoreResponse StoreStatus
+createVariantStoreResponse_status = Lens.lens (\CreateVariantStoreResponse' {status} -> status) (\s@CreateVariantStoreResponse' {} a -> s {status = a} :: CreateVariantStoreResponse)
+
+instance Prelude.NFData CreateVariantStoreResponse where
+  rnf CreateVariantStoreResponse' {..} =
+    Prelude.rnf reference
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/CreateWorkflow.hs b/gen/Amazonka/Omics/CreateWorkflow.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/CreateWorkflow.hs
@@ -0,0 +1,331 @@
+{-# 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.Omics.CreateWorkflow
+-- 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 workflow.
+module Amazonka.Omics.CreateWorkflow
+  ( -- * Creating a Request
+    CreateWorkflow (..),
+    newCreateWorkflow,
+
+    -- * Request Lenses
+    createWorkflow_definitionUri,
+    createWorkflow_definitionZip,
+    createWorkflow_description,
+    createWorkflow_engine,
+    createWorkflow_main,
+    createWorkflow_name,
+    createWorkflow_parameterTemplate,
+    createWorkflow_storageCapacity,
+    createWorkflow_tags,
+    createWorkflow_requestId,
+
+    -- * Destructuring the Response
+    CreateWorkflowResponse (..),
+    newCreateWorkflowResponse,
+
+    -- * Response Lenses
+    createWorkflowResponse_arn,
+    createWorkflowResponse_id,
+    createWorkflowResponse_status,
+    createWorkflowResponse_tags,
+    createWorkflowResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newCreateWorkflow' smart constructor.
+data CreateWorkflow = CreateWorkflow'
+  { -- | The URI of a definition for the workflow.
+    definitionUri :: Prelude.Maybe Prelude.Text,
+    -- | A ZIP archive for the workflow.
+    definitionZip :: Prelude.Maybe Data.Base64,
+    -- | A description for the workflow.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | An engine for the workflow.
+    engine :: Prelude.Maybe WorkflowEngine,
+    -- | The path of the main definition file for the workflow.
+    main :: Prelude.Maybe Prelude.Text,
+    -- | A name for the workflow.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | A parameter template for the workflow.
+    parameterTemplate :: Prelude.Maybe (Prelude.HashMap Prelude.Text WorkflowParameter),
+    -- | A storage capacity for the workflow.
+    storageCapacity :: Prelude.Maybe Prelude.Natural,
+    -- | Tags for the workflow.
+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | A request ID for the workflow.
+    requestId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'CreateWorkflow' 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:
+--
+-- 'definitionUri', 'createWorkflow_definitionUri' - The URI of a definition for the workflow.
+--
+-- 'definitionZip', 'createWorkflow_definitionZip' - A ZIP archive for the workflow.--
+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.
+-- -- The underlying isomorphism will encode to Base64 representation during
+-- -- serialisation, and decode from Base64 representation during deserialisation.
+-- -- This 'Lens' accepts and returns only raw unencoded data.
+--
+-- 'description', 'createWorkflow_description' - A description for the workflow.
+--
+-- 'engine', 'createWorkflow_engine' - An engine for the workflow.
+--
+-- 'main', 'createWorkflow_main' - The path of the main definition file for the workflow.
+--
+-- 'name', 'createWorkflow_name' - A name for the workflow.
+--
+-- 'parameterTemplate', 'createWorkflow_parameterTemplate' - A parameter template for the workflow.
+--
+-- 'storageCapacity', 'createWorkflow_storageCapacity' - A storage capacity for the workflow.
+--
+-- 'tags', 'createWorkflow_tags' - Tags for the workflow.
+--
+-- 'requestId', 'createWorkflow_requestId' - A request ID for the workflow.
+newCreateWorkflow ::
+  -- | 'requestId'
+  Prelude.Text ->
+  CreateWorkflow
+newCreateWorkflow pRequestId_ =
+  CreateWorkflow'
+    { definitionUri = Prelude.Nothing,
+      definitionZip = Prelude.Nothing,
+      description = Prelude.Nothing,
+      engine = Prelude.Nothing,
+      main = Prelude.Nothing,
+      name = Prelude.Nothing,
+      parameterTemplate = Prelude.Nothing,
+      storageCapacity = Prelude.Nothing,
+      tags = Prelude.Nothing,
+      requestId = pRequestId_
+    }
+
+-- | The URI of a definition for the workflow.
+createWorkflow_definitionUri :: Lens.Lens' CreateWorkflow (Prelude.Maybe Prelude.Text)
+createWorkflow_definitionUri = Lens.lens (\CreateWorkflow' {definitionUri} -> definitionUri) (\s@CreateWorkflow' {} a -> s {definitionUri = a} :: CreateWorkflow)
+
+-- | A ZIP archive for the workflow.--
+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.
+-- -- The underlying isomorphism will encode to Base64 representation during
+-- -- serialisation, and decode from Base64 representation during deserialisation.
+-- -- This 'Lens' accepts and returns only raw unencoded data.
+createWorkflow_definitionZip :: Lens.Lens' CreateWorkflow (Prelude.Maybe Prelude.ByteString)
+createWorkflow_definitionZip = Lens.lens (\CreateWorkflow' {definitionZip} -> definitionZip) (\s@CreateWorkflow' {} a -> s {definitionZip = a} :: CreateWorkflow) Prelude.. Lens.mapping Data._Base64
+
+-- | A description for the workflow.
+createWorkflow_description :: Lens.Lens' CreateWorkflow (Prelude.Maybe Prelude.Text)
+createWorkflow_description = Lens.lens (\CreateWorkflow' {description} -> description) (\s@CreateWorkflow' {} a -> s {description = a} :: CreateWorkflow)
+
+-- | An engine for the workflow.
+createWorkflow_engine :: Lens.Lens' CreateWorkflow (Prelude.Maybe WorkflowEngine)
+createWorkflow_engine = Lens.lens (\CreateWorkflow' {engine} -> engine) (\s@CreateWorkflow' {} a -> s {engine = a} :: CreateWorkflow)
+
+-- | The path of the main definition file for the workflow.
+createWorkflow_main :: Lens.Lens' CreateWorkflow (Prelude.Maybe Prelude.Text)
+createWorkflow_main = Lens.lens (\CreateWorkflow' {main} -> main) (\s@CreateWorkflow' {} a -> s {main = a} :: CreateWorkflow)
+
+-- | A name for the workflow.
+createWorkflow_name :: Lens.Lens' CreateWorkflow (Prelude.Maybe Prelude.Text)
+createWorkflow_name = Lens.lens (\CreateWorkflow' {name} -> name) (\s@CreateWorkflow' {} a -> s {name = a} :: CreateWorkflow)
+
+-- | A parameter template for the workflow.
+createWorkflow_parameterTemplate :: Lens.Lens' CreateWorkflow (Prelude.Maybe (Prelude.HashMap Prelude.Text WorkflowParameter))
+createWorkflow_parameterTemplate = Lens.lens (\CreateWorkflow' {parameterTemplate} -> parameterTemplate) (\s@CreateWorkflow' {} a -> s {parameterTemplate = a} :: CreateWorkflow) Prelude.. Lens.mapping Lens.coerced
+
+-- | A storage capacity for the workflow.
+createWorkflow_storageCapacity :: Lens.Lens' CreateWorkflow (Prelude.Maybe Prelude.Natural)
+createWorkflow_storageCapacity = Lens.lens (\CreateWorkflow' {storageCapacity} -> storageCapacity) (\s@CreateWorkflow' {} a -> s {storageCapacity = a} :: CreateWorkflow)
+
+-- | Tags for the workflow.
+createWorkflow_tags :: Lens.Lens' CreateWorkflow (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+createWorkflow_tags = Lens.lens (\CreateWorkflow' {tags} -> tags) (\s@CreateWorkflow' {} a -> s {tags = a} :: CreateWorkflow) Prelude.. Lens.mapping Lens.coerced
+
+-- | A request ID for the workflow.
+createWorkflow_requestId :: Lens.Lens' CreateWorkflow Prelude.Text
+createWorkflow_requestId = Lens.lens (\CreateWorkflow' {requestId} -> requestId) (\s@CreateWorkflow' {} a -> s {requestId = a} :: CreateWorkflow)
+
+instance Core.AWSRequest CreateWorkflow where
+  type
+    AWSResponse CreateWorkflow =
+      CreateWorkflowResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          CreateWorkflowResponse'
+            Prelude.<$> (x Data..?> "arn")
+            Prelude.<*> (x Data..?> "id")
+            Prelude.<*> (x Data..?> "status")
+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable CreateWorkflow where
+  hashWithSalt _salt CreateWorkflow' {..} =
+    _salt
+      `Prelude.hashWithSalt` definitionUri
+      `Prelude.hashWithSalt` definitionZip
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` engine
+      `Prelude.hashWithSalt` main
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` parameterTemplate
+      `Prelude.hashWithSalt` storageCapacity
+      `Prelude.hashWithSalt` tags
+      `Prelude.hashWithSalt` requestId
+
+instance Prelude.NFData CreateWorkflow where
+  rnf CreateWorkflow' {..} =
+    Prelude.rnf definitionUri
+      `Prelude.seq` Prelude.rnf definitionZip
+      `Prelude.seq` Prelude.rnf description
+      `Prelude.seq` Prelude.rnf engine
+      `Prelude.seq` Prelude.rnf main
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf parameterTemplate
+      `Prelude.seq` Prelude.rnf storageCapacity
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf requestId
+
+instance Data.ToHeaders CreateWorkflow where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON CreateWorkflow where
+  toJSON CreateWorkflow' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("definitionUri" Data..=) Prelude.<$> definitionUri,
+            ("definitionZip" Data..=) Prelude.<$> definitionZip,
+            ("description" Data..=) Prelude.<$> description,
+            ("engine" Data..=) Prelude.<$> engine,
+            ("main" Data..=) Prelude.<$> main,
+            ("name" Data..=) Prelude.<$> name,
+            ("parameterTemplate" Data..=)
+              Prelude.<$> parameterTemplate,
+            ("storageCapacity" Data..=)
+              Prelude.<$> storageCapacity,
+            ("tags" Data..=) Prelude.<$> tags,
+            Prelude.Just ("requestId" Data..= requestId)
+          ]
+      )
+
+instance Data.ToPath CreateWorkflow where
+  toPath = Prelude.const "/workflow"
+
+instance Data.ToQuery CreateWorkflow where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newCreateWorkflowResponse' smart constructor.
+data CreateWorkflowResponse = CreateWorkflowResponse'
+  { -- | The workflow\'s ARN.
+    arn :: Prelude.Maybe Prelude.Text,
+    -- | The workflow\'s ID.
+    id :: Prelude.Maybe Prelude.Text,
+    -- | The workflow\'s status.
+    status :: Prelude.Maybe WorkflowStatus,
+    -- | The workflow\'s tags.
+    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 'CreateWorkflowResponse' 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', 'createWorkflowResponse_arn' - The workflow\'s ARN.
+--
+-- 'id', 'createWorkflowResponse_id' - The workflow\'s ID.
+--
+-- 'status', 'createWorkflowResponse_status' - The workflow\'s status.
+--
+-- 'tags', 'createWorkflowResponse_tags' - The workflow\'s tags.
+--
+-- 'httpStatus', 'createWorkflowResponse_httpStatus' - The response's http status code.
+newCreateWorkflowResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  CreateWorkflowResponse
+newCreateWorkflowResponse pHttpStatus_ =
+  CreateWorkflowResponse'
+    { arn = Prelude.Nothing,
+      id = Prelude.Nothing,
+      status = Prelude.Nothing,
+      tags = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | The workflow\'s ARN.
+createWorkflowResponse_arn :: Lens.Lens' CreateWorkflowResponse (Prelude.Maybe Prelude.Text)
+createWorkflowResponse_arn = Lens.lens (\CreateWorkflowResponse' {arn} -> arn) (\s@CreateWorkflowResponse' {} a -> s {arn = a} :: CreateWorkflowResponse)
+
+-- | The workflow\'s ID.
+createWorkflowResponse_id :: Lens.Lens' CreateWorkflowResponse (Prelude.Maybe Prelude.Text)
+createWorkflowResponse_id = Lens.lens (\CreateWorkflowResponse' {id} -> id) (\s@CreateWorkflowResponse' {} a -> s {id = a} :: CreateWorkflowResponse)
+
+-- | The workflow\'s status.
+createWorkflowResponse_status :: Lens.Lens' CreateWorkflowResponse (Prelude.Maybe WorkflowStatus)
+createWorkflowResponse_status = Lens.lens (\CreateWorkflowResponse' {status} -> status) (\s@CreateWorkflowResponse' {} a -> s {status = a} :: CreateWorkflowResponse)
+
+-- | The workflow\'s tags.
+createWorkflowResponse_tags :: Lens.Lens' CreateWorkflowResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+createWorkflowResponse_tags = Lens.lens (\CreateWorkflowResponse' {tags} -> tags) (\s@CreateWorkflowResponse' {} a -> s {tags = a} :: CreateWorkflowResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | The response's http status code.
+createWorkflowResponse_httpStatus :: Lens.Lens' CreateWorkflowResponse Prelude.Int
+createWorkflowResponse_httpStatus = Lens.lens (\CreateWorkflowResponse' {httpStatus} -> httpStatus) (\s@CreateWorkflowResponse' {} a -> s {httpStatus = a} :: CreateWorkflowResponse)
+
+instance Prelude.NFData CreateWorkflowResponse where
+  rnf CreateWorkflowResponse' {..} =
+    Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/DeleteAnnotationStore.hs b/gen/Amazonka/Omics/DeleteAnnotationStore.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/DeleteAnnotationStore.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.Omics.DeleteAnnotationStore
+-- 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 an annotation store.
+module Amazonka.Omics.DeleteAnnotationStore
+  ( -- * Creating a Request
+    DeleteAnnotationStore (..),
+    newDeleteAnnotationStore,
+
+    -- * Request Lenses
+    deleteAnnotationStore_force,
+    deleteAnnotationStore_name,
+
+    -- * Destructuring the Response
+    DeleteAnnotationStoreResponse (..),
+    newDeleteAnnotationStoreResponse,
+
+    -- * Response Lenses
+    deleteAnnotationStoreResponse_httpStatus,
+    deleteAnnotationStoreResponse_status,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newDeleteAnnotationStore' smart constructor.
+data DeleteAnnotationStore = DeleteAnnotationStore'
+  { -- | Whether to force deletion.
+    force :: Prelude.Maybe Prelude.Bool,
+    -- | The store\'s name.
+    name :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteAnnotationStore' 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:
+--
+-- 'force', 'deleteAnnotationStore_force' - Whether to force deletion.
+--
+-- 'name', 'deleteAnnotationStore_name' - The store\'s name.
+newDeleteAnnotationStore ::
+  -- | 'name'
+  Prelude.Text ->
+  DeleteAnnotationStore
+newDeleteAnnotationStore pName_ =
+  DeleteAnnotationStore'
+    { force = Prelude.Nothing,
+      name = pName_
+    }
+
+-- | Whether to force deletion.
+deleteAnnotationStore_force :: Lens.Lens' DeleteAnnotationStore (Prelude.Maybe Prelude.Bool)
+deleteAnnotationStore_force = Lens.lens (\DeleteAnnotationStore' {force} -> force) (\s@DeleteAnnotationStore' {} a -> s {force = a} :: DeleteAnnotationStore)
+
+-- | The store\'s name.
+deleteAnnotationStore_name :: Lens.Lens' DeleteAnnotationStore Prelude.Text
+deleteAnnotationStore_name = Lens.lens (\DeleteAnnotationStore' {name} -> name) (\s@DeleteAnnotationStore' {} a -> s {name = a} :: DeleteAnnotationStore)
+
+instance Core.AWSRequest DeleteAnnotationStore where
+  type
+    AWSResponse DeleteAnnotationStore =
+      DeleteAnnotationStoreResponse
+  request overrides =
+    Request.delete (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          DeleteAnnotationStoreResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "status")
+      )
+
+instance Prelude.Hashable DeleteAnnotationStore where
+  hashWithSalt _salt DeleteAnnotationStore' {..} =
+    _salt
+      `Prelude.hashWithSalt` force
+      `Prelude.hashWithSalt` name
+
+instance Prelude.NFData DeleteAnnotationStore where
+  rnf DeleteAnnotationStore' {..} =
+    Prelude.rnf force `Prelude.seq` Prelude.rnf name
+
+instance Data.ToHeaders DeleteAnnotationStore where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath DeleteAnnotationStore where
+  toPath DeleteAnnotationStore' {..} =
+    Prelude.mconcat
+      ["/annotationStore/", Data.toBS name]
+
+instance Data.ToQuery DeleteAnnotationStore where
+  toQuery DeleteAnnotationStore' {..} =
+    Prelude.mconcat ["force" Data.=: force]
+
+-- | /See:/ 'newDeleteAnnotationStoreResponse' smart constructor.
+data DeleteAnnotationStoreResponse = DeleteAnnotationStoreResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The store\'s status.
+    status :: StoreStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteAnnotationStoreResponse' 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', 'deleteAnnotationStoreResponse_httpStatus' - The response's http status code.
+--
+-- 'status', 'deleteAnnotationStoreResponse_status' - The store\'s status.
+newDeleteAnnotationStoreResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'status'
+  StoreStatus ->
+  DeleteAnnotationStoreResponse
+newDeleteAnnotationStoreResponse
+  pHttpStatus_
+  pStatus_ =
+    DeleteAnnotationStoreResponse'
+      { httpStatus =
+          pHttpStatus_,
+        status = pStatus_
+      }
+
+-- | The response's http status code.
+deleteAnnotationStoreResponse_httpStatus :: Lens.Lens' DeleteAnnotationStoreResponse Prelude.Int
+deleteAnnotationStoreResponse_httpStatus = Lens.lens (\DeleteAnnotationStoreResponse' {httpStatus} -> httpStatus) (\s@DeleteAnnotationStoreResponse' {} a -> s {httpStatus = a} :: DeleteAnnotationStoreResponse)
+
+-- | The store\'s status.
+deleteAnnotationStoreResponse_status :: Lens.Lens' DeleteAnnotationStoreResponse StoreStatus
+deleteAnnotationStoreResponse_status = Lens.lens (\DeleteAnnotationStoreResponse' {status} -> status) (\s@DeleteAnnotationStoreResponse' {} a -> s {status = a} :: DeleteAnnotationStoreResponse)
+
+instance Prelude.NFData DeleteAnnotationStoreResponse where
+  rnf DeleteAnnotationStoreResponse' {..} =
+    Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/DeleteReference.hs b/gen/Amazonka/Omics/DeleteReference.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/DeleteReference.hs
@@ -0,0 +1,166 @@
+{-# 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.Omics.DeleteReference
+-- 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 genome reference.
+module Amazonka.Omics.DeleteReference
+  ( -- * Creating a Request
+    DeleteReference (..),
+    newDeleteReference,
+
+    -- * Request Lenses
+    deleteReference_id,
+    deleteReference_referenceStoreId,
+
+    -- * Destructuring the Response
+    DeleteReferenceResponse (..),
+    newDeleteReferenceResponse,
+
+    -- * Response Lenses
+    deleteReferenceResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newDeleteReference' smart constructor.
+data DeleteReference = DeleteReference'
+  { -- | The reference\'s ID.
+    id :: Prelude.Text,
+    -- | The reference\'s store ID.
+    referenceStoreId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteReference' 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', 'deleteReference_id' - The reference\'s ID.
+--
+-- 'referenceStoreId', 'deleteReference_referenceStoreId' - The reference\'s store ID.
+newDeleteReference ::
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'referenceStoreId'
+  Prelude.Text ->
+  DeleteReference
+newDeleteReference pId_ pReferenceStoreId_ =
+  DeleteReference'
+    { id = pId_,
+      referenceStoreId = pReferenceStoreId_
+    }
+
+-- | The reference\'s ID.
+deleteReference_id :: Lens.Lens' DeleteReference Prelude.Text
+deleteReference_id = Lens.lens (\DeleteReference' {id} -> id) (\s@DeleteReference' {} a -> s {id = a} :: DeleteReference)
+
+-- | The reference\'s store ID.
+deleteReference_referenceStoreId :: Lens.Lens' DeleteReference Prelude.Text
+deleteReference_referenceStoreId = Lens.lens (\DeleteReference' {referenceStoreId} -> referenceStoreId) (\s@DeleteReference' {} a -> s {referenceStoreId = a} :: DeleteReference)
+
+instance Core.AWSRequest DeleteReference where
+  type
+    AWSResponse DeleteReference =
+      DeleteReferenceResponse
+  request overrides =
+    Request.delete (overrides defaultService)
+  response =
+    Response.receiveEmpty
+      ( \s h x ->
+          DeleteReferenceResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable DeleteReference where
+  hashWithSalt _salt DeleteReference' {..} =
+    _salt
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` referenceStoreId
+
+instance Prelude.NFData DeleteReference where
+  rnf DeleteReference' {..} =
+    Prelude.rnf id
+      `Prelude.seq` Prelude.rnf referenceStoreId
+
+instance Data.ToHeaders DeleteReference where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath DeleteReference where
+  toPath DeleteReference' {..} =
+    Prelude.mconcat
+      [ "/referencestore/",
+        Data.toBS referenceStoreId,
+        "/reference/",
+        Data.toBS id
+      ]
+
+instance Data.ToQuery DeleteReference where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newDeleteReferenceResponse' smart constructor.
+data DeleteReferenceResponse = DeleteReferenceResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteReferenceResponse' 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', 'deleteReferenceResponse_httpStatus' - The response's http status code.
+newDeleteReferenceResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  DeleteReferenceResponse
+newDeleteReferenceResponse pHttpStatus_ =
+  DeleteReferenceResponse' {httpStatus = pHttpStatus_}
+
+-- | The response's http status code.
+deleteReferenceResponse_httpStatus :: Lens.Lens' DeleteReferenceResponse Prelude.Int
+deleteReferenceResponse_httpStatus = Lens.lens (\DeleteReferenceResponse' {httpStatus} -> httpStatus) (\s@DeleteReferenceResponse' {} a -> s {httpStatus = a} :: DeleteReferenceResponse)
+
+instance Prelude.NFData DeleteReferenceResponse where
+  rnf DeleteReferenceResponse' {..} =
+    Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/DeleteReferenceStore.hs b/gen/Amazonka/Omics/DeleteReferenceStore.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/DeleteReferenceStore.hs
@@ -0,0 +1,146 @@
+{-# 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.Omics.DeleteReferenceStore
+-- 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 genome reference store.
+module Amazonka.Omics.DeleteReferenceStore
+  ( -- * Creating a Request
+    DeleteReferenceStore (..),
+    newDeleteReferenceStore,
+
+    -- * Request Lenses
+    deleteReferenceStore_id,
+
+    -- * Destructuring the Response
+    DeleteReferenceStoreResponse (..),
+    newDeleteReferenceStoreResponse,
+
+    -- * Response Lenses
+    deleteReferenceStoreResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newDeleteReferenceStore' smart constructor.
+data DeleteReferenceStore = DeleteReferenceStore'
+  { -- | The store\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteReferenceStore' 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', 'deleteReferenceStore_id' - The store\'s ID.
+newDeleteReferenceStore ::
+  -- | 'id'
+  Prelude.Text ->
+  DeleteReferenceStore
+newDeleteReferenceStore pId_ =
+  DeleteReferenceStore' {id = pId_}
+
+-- | The store\'s ID.
+deleteReferenceStore_id :: Lens.Lens' DeleteReferenceStore Prelude.Text
+deleteReferenceStore_id = Lens.lens (\DeleteReferenceStore' {id} -> id) (\s@DeleteReferenceStore' {} a -> s {id = a} :: DeleteReferenceStore)
+
+instance Core.AWSRequest DeleteReferenceStore where
+  type
+    AWSResponse DeleteReferenceStore =
+      DeleteReferenceStoreResponse
+  request overrides =
+    Request.delete (overrides defaultService)
+  response =
+    Response.receiveEmpty
+      ( \s h x ->
+          DeleteReferenceStoreResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable DeleteReferenceStore where
+  hashWithSalt _salt DeleteReferenceStore' {..} =
+    _salt `Prelude.hashWithSalt` id
+
+instance Prelude.NFData DeleteReferenceStore where
+  rnf DeleteReferenceStore' {..} = Prelude.rnf id
+
+instance Data.ToHeaders DeleteReferenceStore where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath DeleteReferenceStore where
+  toPath DeleteReferenceStore' {..} =
+    Prelude.mconcat ["/referencestore/", Data.toBS id]
+
+instance Data.ToQuery DeleteReferenceStore where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newDeleteReferenceStoreResponse' smart constructor.
+data DeleteReferenceStoreResponse = DeleteReferenceStoreResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteReferenceStoreResponse' 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', 'deleteReferenceStoreResponse_httpStatus' - The response's http status code.
+newDeleteReferenceStoreResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  DeleteReferenceStoreResponse
+newDeleteReferenceStoreResponse pHttpStatus_ =
+  DeleteReferenceStoreResponse'
+    { httpStatus =
+        pHttpStatus_
+    }
+
+-- | The response's http status code.
+deleteReferenceStoreResponse_httpStatus :: Lens.Lens' DeleteReferenceStoreResponse Prelude.Int
+deleteReferenceStoreResponse_httpStatus = Lens.lens (\DeleteReferenceStoreResponse' {httpStatus} -> httpStatus) (\s@DeleteReferenceStoreResponse' {} a -> s {httpStatus = a} :: DeleteReferenceStoreResponse)
+
+instance Prelude.NFData DeleteReferenceStoreResponse where
+  rnf DeleteReferenceStoreResponse' {..} =
+    Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/DeleteRun.hs b/gen/Amazonka/Omics/DeleteRun.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/DeleteRun.hs
@@ -0,0 +1,118 @@
+{-# 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.Omics.DeleteRun
+-- 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 workflow run.
+module Amazonka.Omics.DeleteRun
+  ( -- * Creating a Request
+    DeleteRun (..),
+    newDeleteRun,
+
+    -- * Request Lenses
+    deleteRun_id,
+
+    -- * Destructuring the Response
+    DeleteRunResponse (..),
+    newDeleteRunResponse,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newDeleteRun' smart constructor.
+data DeleteRun = DeleteRun'
+  { -- | The run\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteRun' 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', 'deleteRun_id' - The run\'s ID.
+newDeleteRun ::
+  -- | 'id'
+  Prelude.Text ->
+  DeleteRun
+newDeleteRun pId_ = DeleteRun' {id = pId_}
+
+-- | The run\'s ID.
+deleteRun_id :: Lens.Lens' DeleteRun Prelude.Text
+deleteRun_id = Lens.lens (\DeleteRun' {id} -> id) (\s@DeleteRun' {} a -> s {id = a} :: DeleteRun)
+
+instance Core.AWSRequest DeleteRun where
+  type AWSResponse DeleteRun = DeleteRunResponse
+  request overrides =
+    Request.delete (overrides defaultService)
+  response = Response.receiveNull DeleteRunResponse'
+
+instance Prelude.Hashable DeleteRun where
+  hashWithSalt _salt DeleteRun' {..} =
+    _salt `Prelude.hashWithSalt` id
+
+instance Prelude.NFData DeleteRun where
+  rnf DeleteRun' {..} = Prelude.rnf id
+
+instance Data.ToHeaders DeleteRun where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath DeleteRun where
+  toPath DeleteRun' {..} =
+    Prelude.mconcat ["/run/", Data.toBS id]
+
+instance Data.ToQuery DeleteRun where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newDeleteRunResponse' smart constructor.
+data DeleteRunResponse = DeleteRunResponse'
+  {
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteRunResponse' 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.
+newDeleteRunResponse ::
+  DeleteRunResponse
+newDeleteRunResponse = DeleteRunResponse'
+
+instance Prelude.NFData DeleteRunResponse where
+  rnf _ = ()
diff --git a/gen/Amazonka/Omics/DeleteRunGroup.hs b/gen/Amazonka/Omics/DeleteRunGroup.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/DeleteRunGroup.hs
@@ -0,0 +1,121 @@
+{-# 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.Omics.DeleteRunGroup
+-- 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 workflow run group.
+module Amazonka.Omics.DeleteRunGroup
+  ( -- * Creating a Request
+    DeleteRunGroup (..),
+    newDeleteRunGroup,
+
+    -- * Request Lenses
+    deleteRunGroup_id,
+
+    -- * Destructuring the Response
+    DeleteRunGroupResponse (..),
+    newDeleteRunGroupResponse,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newDeleteRunGroup' smart constructor.
+data DeleteRunGroup = DeleteRunGroup'
+  { -- | The run group\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteRunGroup' 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', 'deleteRunGroup_id' - The run group\'s ID.
+newDeleteRunGroup ::
+  -- | 'id'
+  Prelude.Text ->
+  DeleteRunGroup
+newDeleteRunGroup pId_ = DeleteRunGroup' {id = pId_}
+
+-- | The run group\'s ID.
+deleteRunGroup_id :: Lens.Lens' DeleteRunGroup Prelude.Text
+deleteRunGroup_id = Lens.lens (\DeleteRunGroup' {id} -> id) (\s@DeleteRunGroup' {} a -> s {id = a} :: DeleteRunGroup)
+
+instance Core.AWSRequest DeleteRunGroup where
+  type
+    AWSResponse DeleteRunGroup =
+      DeleteRunGroupResponse
+  request overrides =
+    Request.delete (overrides defaultService)
+  response =
+    Response.receiveNull DeleteRunGroupResponse'
+
+instance Prelude.Hashable DeleteRunGroup where
+  hashWithSalt _salt DeleteRunGroup' {..} =
+    _salt `Prelude.hashWithSalt` id
+
+instance Prelude.NFData DeleteRunGroup where
+  rnf DeleteRunGroup' {..} = Prelude.rnf id
+
+instance Data.ToHeaders DeleteRunGroup where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath DeleteRunGroup where
+  toPath DeleteRunGroup' {..} =
+    Prelude.mconcat ["/runGroup/", Data.toBS id]
+
+instance Data.ToQuery DeleteRunGroup where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newDeleteRunGroupResponse' smart constructor.
+data DeleteRunGroupResponse = DeleteRunGroupResponse'
+  {
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteRunGroupResponse' 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.
+newDeleteRunGroupResponse ::
+  DeleteRunGroupResponse
+newDeleteRunGroupResponse = DeleteRunGroupResponse'
+
+instance Prelude.NFData DeleteRunGroupResponse where
+  rnf _ = ()
diff --git a/gen/Amazonka/Omics/DeleteSequenceStore.hs b/gen/Amazonka/Omics/DeleteSequenceStore.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/DeleteSequenceStore.hs
@@ -0,0 +1,146 @@
+{-# 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.Omics.DeleteSequenceStore
+-- 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 sequence store.
+module Amazonka.Omics.DeleteSequenceStore
+  ( -- * Creating a Request
+    DeleteSequenceStore (..),
+    newDeleteSequenceStore,
+
+    -- * Request Lenses
+    deleteSequenceStore_id,
+
+    -- * Destructuring the Response
+    DeleteSequenceStoreResponse (..),
+    newDeleteSequenceStoreResponse,
+
+    -- * Response Lenses
+    deleteSequenceStoreResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newDeleteSequenceStore' smart constructor.
+data DeleteSequenceStore = DeleteSequenceStore'
+  { -- | The sequence store\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteSequenceStore' 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', 'deleteSequenceStore_id' - The sequence store\'s ID.
+newDeleteSequenceStore ::
+  -- | 'id'
+  Prelude.Text ->
+  DeleteSequenceStore
+newDeleteSequenceStore pId_ =
+  DeleteSequenceStore' {id = pId_}
+
+-- | The sequence store\'s ID.
+deleteSequenceStore_id :: Lens.Lens' DeleteSequenceStore Prelude.Text
+deleteSequenceStore_id = Lens.lens (\DeleteSequenceStore' {id} -> id) (\s@DeleteSequenceStore' {} a -> s {id = a} :: DeleteSequenceStore)
+
+instance Core.AWSRequest DeleteSequenceStore where
+  type
+    AWSResponse DeleteSequenceStore =
+      DeleteSequenceStoreResponse
+  request overrides =
+    Request.delete (overrides defaultService)
+  response =
+    Response.receiveEmpty
+      ( \s h x ->
+          DeleteSequenceStoreResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable DeleteSequenceStore where
+  hashWithSalt _salt DeleteSequenceStore' {..} =
+    _salt `Prelude.hashWithSalt` id
+
+instance Prelude.NFData DeleteSequenceStore where
+  rnf DeleteSequenceStore' {..} = Prelude.rnf id
+
+instance Data.ToHeaders DeleteSequenceStore where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath DeleteSequenceStore where
+  toPath DeleteSequenceStore' {..} =
+    Prelude.mconcat ["/sequencestore/", Data.toBS id]
+
+instance Data.ToQuery DeleteSequenceStore where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newDeleteSequenceStoreResponse' smart constructor.
+data DeleteSequenceStoreResponse = DeleteSequenceStoreResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteSequenceStoreResponse' 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', 'deleteSequenceStoreResponse_httpStatus' - The response's http status code.
+newDeleteSequenceStoreResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  DeleteSequenceStoreResponse
+newDeleteSequenceStoreResponse pHttpStatus_ =
+  DeleteSequenceStoreResponse'
+    { httpStatus =
+        pHttpStatus_
+    }
+
+-- | The response's http status code.
+deleteSequenceStoreResponse_httpStatus :: Lens.Lens' DeleteSequenceStoreResponse Prelude.Int
+deleteSequenceStoreResponse_httpStatus = Lens.lens (\DeleteSequenceStoreResponse' {httpStatus} -> httpStatus) (\s@DeleteSequenceStoreResponse' {} a -> s {httpStatus = a} :: DeleteSequenceStoreResponse)
+
+instance Prelude.NFData DeleteSequenceStoreResponse where
+  rnf DeleteSequenceStoreResponse' {..} =
+    Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/DeleteVariantStore.hs b/gen/Amazonka/Omics/DeleteVariantStore.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/DeleteVariantStore.hs
@@ -0,0 +1,176 @@
+{-# 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.Omics.DeleteVariantStore
+-- 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 variant store.
+module Amazonka.Omics.DeleteVariantStore
+  ( -- * Creating a Request
+    DeleteVariantStore (..),
+    newDeleteVariantStore,
+
+    -- * Request Lenses
+    deleteVariantStore_force,
+    deleteVariantStore_name,
+
+    -- * Destructuring the Response
+    DeleteVariantStoreResponse (..),
+    newDeleteVariantStoreResponse,
+
+    -- * Response Lenses
+    deleteVariantStoreResponse_httpStatus,
+    deleteVariantStoreResponse_status,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newDeleteVariantStore' smart constructor.
+data DeleteVariantStore = DeleteVariantStore'
+  { -- | Whether to force deletion.
+    force :: Prelude.Maybe Prelude.Bool,
+    -- | The store\'s name.
+    name :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteVariantStore' 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:
+--
+-- 'force', 'deleteVariantStore_force' - Whether to force deletion.
+--
+-- 'name', 'deleteVariantStore_name' - The store\'s name.
+newDeleteVariantStore ::
+  -- | 'name'
+  Prelude.Text ->
+  DeleteVariantStore
+newDeleteVariantStore pName_ =
+  DeleteVariantStore'
+    { force = Prelude.Nothing,
+      name = pName_
+    }
+
+-- | Whether to force deletion.
+deleteVariantStore_force :: Lens.Lens' DeleteVariantStore (Prelude.Maybe Prelude.Bool)
+deleteVariantStore_force = Lens.lens (\DeleteVariantStore' {force} -> force) (\s@DeleteVariantStore' {} a -> s {force = a} :: DeleteVariantStore)
+
+-- | The store\'s name.
+deleteVariantStore_name :: Lens.Lens' DeleteVariantStore Prelude.Text
+deleteVariantStore_name = Lens.lens (\DeleteVariantStore' {name} -> name) (\s@DeleteVariantStore' {} a -> s {name = a} :: DeleteVariantStore)
+
+instance Core.AWSRequest DeleteVariantStore where
+  type
+    AWSResponse DeleteVariantStore =
+      DeleteVariantStoreResponse
+  request overrides =
+    Request.delete (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          DeleteVariantStoreResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "status")
+      )
+
+instance Prelude.Hashable DeleteVariantStore where
+  hashWithSalt _salt DeleteVariantStore' {..} =
+    _salt
+      `Prelude.hashWithSalt` force
+      `Prelude.hashWithSalt` name
+
+instance Prelude.NFData DeleteVariantStore where
+  rnf DeleteVariantStore' {..} =
+    Prelude.rnf force `Prelude.seq` Prelude.rnf name
+
+instance Data.ToHeaders DeleteVariantStore where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath DeleteVariantStore where
+  toPath DeleteVariantStore' {..} =
+    Prelude.mconcat ["/variantStore/", Data.toBS name]
+
+instance Data.ToQuery DeleteVariantStore where
+  toQuery DeleteVariantStore' {..} =
+    Prelude.mconcat ["force" Data.=: force]
+
+-- | /See:/ 'newDeleteVariantStoreResponse' smart constructor.
+data DeleteVariantStoreResponse = DeleteVariantStoreResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The store\'s status.
+    status :: StoreStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteVariantStoreResponse' 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', 'deleteVariantStoreResponse_httpStatus' - The response's http status code.
+--
+-- 'status', 'deleteVariantStoreResponse_status' - The store\'s status.
+newDeleteVariantStoreResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'status'
+  StoreStatus ->
+  DeleteVariantStoreResponse
+newDeleteVariantStoreResponse pHttpStatus_ pStatus_ =
+  DeleteVariantStoreResponse'
+    { httpStatus =
+        pHttpStatus_,
+      status = pStatus_
+    }
+
+-- | The response's http status code.
+deleteVariantStoreResponse_httpStatus :: Lens.Lens' DeleteVariantStoreResponse Prelude.Int
+deleteVariantStoreResponse_httpStatus = Lens.lens (\DeleteVariantStoreResponse' {httpStatus} -> httpStatus) (\s@DeleteVariantStoreResponse' {} a -> s {httpStatus = a} :: DeleteVariantStoreResponse)
+
+-- | The store\'s status.
+deleteVariantStoreResponse_status :: Lens.Lens' DeleteVariantStoreResponse StoreStatus
+deleteVariantStoreResponse_status = Lens.lens (\DeleteVariantStoreResponse' {status} -> status) (\s@DeleteVariantStoreResponse' {} a -> s {status = a} :: DeleteVariantStoreResponse)
+
+instance Prelude.NFData DeleteVariantStoreResponse where
+  rnf DeleteVariantStoreResponse' {..} =
+    Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/DeleteWorkflow.hs b/gen/Amazonka/Omics/DeleteWorkflow.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/DeleteWorkflow.hs
@@ -0,0 +1,121 @@
+{-# 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.Omics.DeleteWorkflow
+-- 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 workflow.
+module Amazonka.Omics.DeleteWorkflow
+  ( -- * Creating a Request
+    DeleteWorkflow (..),
+    newDeleteWorkflow,
+
+    -- * Request Lenses
+    deleteWorkflow_id,
+
+    -- * Destructuring the Response
+    DeleteWorkflowResponse (..),
+    newDeleteWorkflowResponse,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newDeleteWorkflow' smart constructor.
+data DeleteWorkflow = DeleteWorkflow'
+  { -- | The workflow\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteWorkflow' 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', 'deleteWorkflow_id' - The workflow\'s ID.
+newDeleteWorkflow ::
+  -- | 'id'
+  Prelude.Text ->
+  DeleteWorkflow
+newDeleteWorkflow pId_ = DeleteWorkflow' {id = pId_}
+
+-- | The workflow\'s ID.
+deleteWorkflow_id :: Lens.Lens' DeleteWorkflow Prelude.Text
+deleteWorkflow_id = Lens.lens (\DeleteWorkflow' {id} -> id) (\s@DeleteWorkflow' {} a -> s {id = a} :: DeleteWorkflow)
+
+instance Core.AWSRequest DeleteWorkflow where
+  type
+    AWSResponse DeleteWorkflow =
+      DeleteWorkflowResponse
+  request overrides =
+    Request.delete (overrides defaultService)
+  response =
+    Response.receiveNull DeleteWorkflowResponse'
+
+instance Prelude.Hashable DeleteWorkflow where
+  hashWithSalt _salt DeleteWorkflow' {..} =
+    _salt `Prelude.hashWithSalt` id
+
+instance Prelude.NFData DeleteWorkflow where
+  rnf DeleteWorkflow' {..} = Prelude.rnf id
+
+instance Data.ToHeaders DeleteWorkflow where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath DeleteWorkflow where
+  toPath DeleteWorkflow' {..} =
+    Prelude.mconcat ["/workflow/", Data.toBS id]
+
+instance Data.ToQuery DeleteWorkflow where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newDeleteWorkflowResponse' smart constructor.
+data DeleteWorkflowResponse = DeleteWorkflowResponse'
+  {
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'DeleteWorkflowResponse' 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.
+newDeleteWorkflowResponse ::
+  DeleteWorkflowResponse
+newDeleteWorkflowResponse = DeleteWorkflowResponse'
+
+instance Prelude.NFData DeleteWorkflowResponse where
+  rnf _ = ()
diff --git a/gen/Amazonka/Omics/GetAnnotationImportJob.hs b/gen/Amazonka/Omics/GetAnnotationImportJob.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetAnnotationImportJob.hs
@@ -0,0 +1,318 @@
+{-# 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.Omics.GetAnnotationImportJob
+-- 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 information about an annotation import job.
+module Amazonka.Omics.GetAnnotationImportJob
+  ( -- * Creating a Request
+    GetAnnotationImportJob (..),
+    newGetAnnotationImportJob,
+
+    -- * Request Lenses
+    getAnnotationImportJob_jobId,
+
+    -- * Destructuring the Response
+    GetAnnotationImportJobResponse (..),
+    newGetAnnotationImportJobResponse,
+
+    -- * Response Lenses
+    getAnnotationImportJobResponse_httpStatus,
+    getAnnotationImportJobResponse_completionTime,
+    getAnnotationImportJobResponse_creationTime,
+    getAnnotationImportJobResponse_destinationName,
+    getAnnotationImportJobResponse_formatOptions,
+    getAnnotationImportJobResponse_id,
+    getAnnotationImportJobResponse_items,
+    getAnnotationImportJobResponse_roleArn,
+    getAnnotationImportJobResponse_runLeftNormalization,
+    getAnnotationImportJobResponse_status,
+    getAnnotationImportJobResponse_statusMessage,
+    getAnnotationImportJobResponse_updateTime,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetAnnotationImportJob' smart constructor.
+data GetAnnotationImportJob = GetAnnotationImportJob'
+  { -- | The job\'s ID.
+    jobId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetAnnotationImportJob' 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:
+--
+-- 'jobId', 'getAnnotationImportJob_jobId' - The job\'s ID.
+newGetAnnotationImportJob ::
+  -- | 'jobId'
+  Prelude.Text ->
+  GetAnnotationImportJob
+newGetAnnotationImportJob pJobId_ =
+  GetAnnotationImportJob' {jobId = pJobId_}
+
+-- | The job\'s ID.
+getAnnotationImportJob_jobId :: Lens.Lens' GetAnnotationImportJob Prelude.Text
+getAnnotationImportJob_jobId = Lens.lens (\GetAnnotationImportJob' {jobId} -> jobId) (\s@GetAnnotationImportJob' {} a -> s {jobId = a} :: GetAnnotationImportJob)
+
+instance Core.AWSRequest GetAnnotationImportJob where
+  type
+    AWSResponse GetAnnotationImportJob =
+      GetAnnotationImportJobResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          GetAnnotationImportJobResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "completionTime")
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "destinationName")
+            Prelude.<*> (x Data..:> "formatOptions")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "items")
+            Prelude.<*> (x Data..:> "roleArn")
+            Prelude.<*> (x Data..:> "runLeftNormalization")
+            Prelude.<*> (x Data..:> "status")
+            Prelude.<*> (x Data..:> "statusMessage")
+            Prelude.<*> (x Data..:> "updateTime")
+      )
+
+instance Prelude.Hashable GetAnnotationImportJob where
+  hashWithSalt _salt GetAnnotationImportJob' {..} =
+    _salt `Prelude.hashWithSalt` jobId
+
+instance Prelude.NFData GetAnnotationImportJob where
+  rnf GetAnnotationImportJob' {..} = Prelude.rnf jobId
+
+instance Data.ToHeaders GetAnnotationImportJob where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetAnnotationImportJob where
+  toPath GetAnnotationImportJob' {..} =
+    Prelude.mconcat
+      ["/import/annotation/", Data.toBS jobId]
+
+instance Data.ToQuery GetAnnotationImportJob where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newGetAnnotationImportJobResponse' smart constructor.
+data GetAnnotationImportJobResponse = GetAnnotationImportJobResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | When the job completed.
+    completionTime :: Data.ISO8601,
+    -- | When the job was created.
+    creationTime :: Data.ISO8601,
+    -- | The job\'s destination annotation store.
+    destinationName :: Prelude.Text,
+    formatOptions :: FormatOptions,
+    -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s imported items.
+    items :: Prelude.NonEmpty AnnotationImportItemDetail,
+    -- | The job\'s service role ARN.
+    roleArn :: Prelude.Text,
+    -- | The job\'s left normalization setting.
+    runLeftNormalization :: Prelude.Bool,
+    -- | The job\'s status.
+    status :: JobStatus,
+    -- | The job\'s status message.
+    statusMessage :: Prelude.Text,
+    -- | When the job was updated.
+    updateTime :: Data.ISO8601
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetAnnotationImportJobResponse' 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', 'getAnnotationImportJobResponse_httpStatus' - The response's http status code.
+--
+-- 'completionTime', 'getAnnotationImportJobResponse_completionTime' - When the job completed.
+--
+-- 'creationTime', 'getAnnotationImportJobResponse_creationTime' - When the job was created.
+--
+-- 'destinationName', 'getAnnotationImportJobResponse_destinationName' - The job\'s destination annotation store.
+--
+-- 'formatOptions', 'getAnnotationImportJobResponse_formatOptions' - Undocumented member.
+--
+-- 'id', 'getAnnotationImportJobResponse_id' - The job\'s ID.
+--
+-- 'items', 'getAnnotationImportJobResponse_items' - The job\'s imported items.
+--
+-- 'roleArn', 'getAnnotationImportJobResponse_roleArn' - The job\'s service role ARN.
+--
+-- 'runLeftNormalization', 'getAnnotationImportJobResponse_runLeftNormalization' - The job\'s left normalization setting.
+--
+-- 'status', 'getAnnotationImportJobResponse_status' - The job\'s status.
+--
+-- 'statusMessage', 'getAnnotationImportJobResponse_statusMessage' - The job\'s status message.
+--
+-- 'updateTime', 'getAnnotationImportJobResponse_updateTime' - When the job was updated.
+newGetAnnotationImportJobResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'completionTime'
+  Prelude.UTCTime ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'destinationName'
+  Prelude.Text ->
+  -- | 'formatOptions'
+  FormatOptions ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'items'
+  Prelude.NonEmpty AnnotationImportItemDetail ->
+  -- | 'roleArn'
+  Prelude.Text ->
+  -- | 'runLeftNormalization'
+  Prelude.Bool ->
+  -- | 'status'
+  JobStatus ->
+  -- | 'statusMessage'
+  Prelude.Text ->
+  -- | 'updateTime'
+  Prelude.UTCTime ->
+  GetAnnotationImportJobResponse
+newGetAnnotationImportJobResponse
+  pHttpStatus_
+  pCompletionTime_
+  pCreationTime_
+  pDestinationName_
+  pFormatOptions_
+  pId_
+  pItems_
+  pRoleArn_
+  pRunLeftNormalization_
+  pStatus_
+  pStatusMessage_
+  pUpdateTime_ =
+    GetAnnotationImportJobResponse'
+      { httpStatus =
+          pHttpStatus_,
+        completionTime =
+          Data._Time Lens.# pCompletionTime_,
+        creationTime =
+          Data._Time Lens.# pCreationTime_,
+        destinationName = pDestinationName_,
+        formatOptions = pFormatOptions_,
+        id = pId_,
+        items = Lens.coerced Lens.# pItems_,
+        roleArn = pRoleArn_,
+        runLeftNormalization =
+          pRunLeftNormalization_,
+        status = pStatus_,
+        statusMessage = pStatusMessage_,
+        updateTime = Data._Time Lens.# pUpdateTime_
+      }
+
+-- | The response's http status code.
+getAnnotationImportJobResponse_httpStatus :: Lens.Lens' GetAnnotationImportJobResponse Prelude.Int
+getAnnotationImportJobResponse_httpStatus = Lens.lens (\GetAnnotationImportJobResponse' {httpStatus} -> httpStatus) (\s@GetAnnotationImportJobResponse' {} a -> s {httpStatus = a} :: GetAnnotationImportJobResponse)
+
+-- | When the job completed.
+getAnnotationImportJobResponse_completionTime :: Lens.Lens' GetAnnotationImportJobResponse Prelude.UTCTime
+getAnnotationImportJobResponse_completionTime = Lens.lens (\GetAnnotationImportJobResponse' {completionTime} -> completionTime) (\s@GetAnnotationImportJobResponse' {} a -> s {completionTime = a} :: GetAnnotationImportJobResponse) Prelude.. Data._Time
+
+-- | When the job was created.
+getAnnotationImportJobResponse_creationTime :: Lens.Lens' GetAnnotationImportJobResponse Prelude.UTCTime
+getAnnotationImportJobResponse_creationTime = Lens.lens (\GetAnnotationImportJobResponse' {creationTime} -> creationTime) (\s@GetAnnotationImportJobResponse' {} a -> s {creationTime = a} :: GetAnnotationImportJobResponse) Prelude.. Data._Time
+
+-- | The job\'s destination annotation store.
+getAnnotationImportJobResponse_destinationName :: Lens.Lens' GetAnnotationImportJobResponse Prelude.Text
+getAnnotationImportJobResponse_destinationName = Lens.lens (\GetAnnotationImportJobResponse' {destinationName} -> destinationName) (\s@GetAnnotationImportJobResponse' {} a -> s {destinationName = a} :: GetAnnotationImportJobResponse)
+
+-- | Undocumented member.
+getAnnotationImportJobResponse_formatOptions :: Lens.Lens' GetAnnotationImportJobResponse FormatOptions
+getAnnotationImportJobResponse_formatOptions = Lens.lens (\GetAnnotationImportJobResponse' {formatOptions} -> formatOptions) (\s@GetAnnotationImportJobResponse' {} a -> s {formatOptions = a} :: GetAnnotationImportJobResponse)
+
+-- | The job\'s ID.
+getAnnotationImportJobResponse_id :: Lens.Lens' GetAnnotationImportJobResponse Prelude.Text
+getAnnotationImportJobResponse_id = Lens.lens (\GetAnnotationImportJobResponse' {id} -> id) (\s@GetAnnotationImportJobResponse' {} a -> s {id = a} :: GetAnnotationImportJobResponse)
+
+-- | The job\'s imported items.
+getAnnotationImportJobResponse_items :: Lens.Lens' GetAnnotationImportJobResponse (Prelude.NonEmpty AnnotationImportItemDetail)
+getAnnotationImportJobResponse_items = Lens.lens (\GetAnnotationImportJobResponse' {items} -> items) (\s@GetAnnotationImportJobResponse' {} a -> s {items = a} :: GetAnnotationImportJobResponse) Prelude.. Lens.coerced
+
+-- | The job\'s service role ARN.
+getAnnotationImportJobResponse_roleArn :: Lens.Lens' GetAnnotationImportJobResponse Prelude.Text
+getAnnotationImportJobResponse_roleArn = Lens.lens (\GetAnnotationImportJobResponse' {roleArn} -> roleArn) (\s@GetAnnotationImportJobResponse' {} a -> s {roleArn = a} :: GetAnnotationImportJobResponse)
+
+-- | The job\'s left normalization setting.
+getAnnotationImportJobResponse_runLeftNormalization :: Lens.Lens' GetAnnotationImportJobResponse Prelude.Bool
+getAnnotationImportJobResponse_runLeftNormalization = Lens.lens (\GetAnnotationImportJobResponse' {runLeftNormalization} -> runLeftNormalization) (\s@GetAnnotationImportJobResponse' {} a -> s {runLeftNormalization = a} :: GetAnnotationImportJobResponse)
+
+-- | The job\'s status.
+getAnnotationImportJobResponse_status :: Lens.Lens' GetAnnotationImportJobResponse JobStatus
+getAnnotationImportJobResponse_status = Lens.lens (\GetAnnotationImportJobResponse' {status} -> status) (\s@GetAnnotationImportJobResponse' {} a -> s {status = a} :: GetAnnotationImportJobResponse)
+
+-- | The job\'s status message.
+getAnnotationImportJobResponse_statusMessage :: Lens.Lens' GetAnnotationImportJobResponse Prelude.Text
+getAnnotationImportJobResponse_statusMessage = Lens.lens (\GetAnnotationImportJobResponse' {statusMessage} -> statusMessage) (\s@GetAnnotationImportJobResponse' {} a -> s {statusMessage = a} :: GetAnnotationImportJobResponse)
+
+-- | When the job was updated.
+getAnnotationImportJobResponse_updateTime :: Lens.Lens' GetAnnotationImportJobResponse Prelude.UTCTime
+getAnnotationImportJobResponse_updateTime = Lens.lens (\GetAnnotationImportJobResponse' {updateTime} -> updateTime) (\s@GetAnnotationImportJobResponse' {} a -> s {updateTime = a} :: GetAnnotationImportJobResponse) Prelude.. Data._Time
+
+instance
+  Prelude.NFData
+    GetAnnotationImportJobResponse
+  where
+  rnf GetAnnotationImportJobResponse' {..} =
+    Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf completionTime
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf destinationName
+      `Prelude.seq` Prelude.rnf formatOptions
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf items
+      `Prelude.seq` Prelude.rnf roleArn
+      `Prelude.seq` Prelude.rnf runLeftNormalization
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf updateTime
diff --git a/gen/Amazonka/Omics/GetAnnotationStore.hs b/gen/Amazonka/Omics/GetAnnotationStore.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetAnnotationStore.hs
@@ -0,0 +1,349 @@
+{-# 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.Omics.GetAnnotationStore
+-- 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 information about an annotation store.
+module Amazonka.Omics.GetAnnotationStore
+  ( -- * Creating a Request
+    GetAnnotationStore (..),
+    newGetAnnotationStore,
+
+    -- * Request Lenses
+    getAnnotationStore_name,
+
+    -- * Destructuring the Response
+    GetAnnotationStoreResponse (..),
+    newGetAnnotationStoreResponse,
+
+    -- * Response Lenses
+    getAnnotationStoreResponse_storeFormat,
+    getAnnotationStoreResponse_storeOptions,
+    getAnnotationStoreResponse_httpStatus,
+    getAnnotationStoreResponse_creationTime,
+    getAnnotationStoreResponse_description,
+    getAnnotationStoreResponse_id,
+    getAnnotationStoreResponse_name,
+    getAnnotationStoreResponse_reference,
+    getAnnotationStoreResponse_sseConfig,
+    getAnnotationStoreResponse_status,
+    getAnnotationStoreResponse_statusMessage,
+    getAnnotationStoreResponse_storeArn,
+    getAnnotationStoreResponse_storeSizeBytes,
+    getAnnotationStoreResponse_tags,
+    getAnnotationStoreResponse_updateTime,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetAnnotationStore' smart constructor.
+data GetAnnotationStore = GetAnnotationStore'
+  { -- | The store\'s name.
+    name :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetAnnotationStore' 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', 'getAnnotationStore_name' - The store\'s name.
+newGetAnnotationStore ::
+  -- | 'name'
+  Prelude.Text ->
+  GetAnnotationStore
+newGetAnnotationStore pName_ =
+  GetAnnotationStore' {name = pName_}
+
+-- | The store\'s name.
+getAnnotationStore_name :: Lens.Lens' GetAnnotationStore Prelude.Text
+getAnnotationStore_name = Lens.lens (\GetAnnotationStore' {name} -> name) (\s@GetAnnotationStore' {} a -> s {name = a} :: GetAnnotationStore)
+
+instance Core.AWSRequest GetAnnotationStore where
+  type
+    AWSResponse GetAnnotationStore =
+      GetAnnotationStoreResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          GetAnnotationStoreResponse'
+            Prelude.<$> (x Data..?> "storeFormat")
+            Prelude.<*> (x Data..?> "storeOptions")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "description")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "name")
+            Prelude.<*> (x Data..:> "reference")
+            Prelude.<*> (x Data..:> "sseConfig")
+            Prelude.<*> (x Data..:> "status")
+            Prelude.<*> (x Data..:> "statusMessage")
+            Prelude.<*> (x Data..:> "storeArn")
+            Prelude.<*> (x Data..:> "storeSizeBytes")
+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)
+            Prelude.<*> (x Data..:> "updateTime")
+      )
+
+instance Prelude.Hashable GetAnnotationStore where
+  hashWithSalt _salt GetAnnotationStore' {..} =
+    _salt `Prelude.hashWithSalt` name
+
+instance Prelude.NFData GetAnnotationStore where
+  rnf GetAnnotationStore' {..} = Prelude.rnf name
+
+instance Data.ToHeaders GetAnnotationStore where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetAnnotationStore where
+  toPath GetAnnotationStore' {..} =
+    Prelude.mconcat
+      ["/annotationStore/", Data.toBS name]
+
+instance Data.ToQuery GetAnnotationStore where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newGetAnnotationStoreResponse' smart constructor.
+data GetAnnotationStoreResponse = GetAnnotationStoreResponse'
+  { -- | The store\'s annotation file format.
+    storeFormat :: Prelude.Maybe StoreFormat,
+    -- | The store\'s parsing options.
+    storeOptions :: Prelude.Maybe StoreOptions,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | When the store was created.
+    creationTime :: Data.ISO8601,
+    -- | The store\'s description.
+    description :: Prelude.Text,
+    -- | The store\'s ID.
+    id :: Prelude.Text,
+    -- | The store\'s name.
+    name :: Prelude.Text,
+    -- | The store\'s genome reference.
+    reference :: ReferenceItem,
+    -- | The store\'s server-side encryption (SSE) settings.
+    sseConfig :: SseConfig,
+    -- | The store\'s status.
+    status :: StoreStatus,
+    -- | A status message.
+    statusMessage :: Prelude.Text,
+    -- | The store\'s ARN.
+    storeArn :: Prelude.Text,
+    -- | The store\'s size in bytes.
+    storeSizeBytes :: Prelude.Integer,
+    -- | The store\'s tags.
+    tags :: Prelude.HashMap Prelude.Text Prelude.Text,
+    -- | When the store was updated.
+    updateTime :: Data.ISO8601
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetAnnotationStoreResponse' 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:
+--
+-- 'storeFormat', 'getAnnotationStoreResponse_storeFormat' - The store\'s annotation file format.
+--
+-- 'storeOptions', 'getAnnotationStoreResponse_storeOptions' - The store\'s parsing options.
+--
+-- 'httpStatus', 'getAnnotationStoreResponse_httpStatus' - The response's http status code.
+--
+-- 'creationTime', 'getAnnotationStoreResponse_creationTime' - When the store was created.
+--
+-- 'description', 'getAnnotationStoreResponse_description' - The store\'s description.
+--
+-- 'id', 'getAnnotationStoreResponse_id' - The store\'s ID.
+--
+-- 'name', 'getAnnotationStoreResponse_name' - The store\'s name.
+--
+-- 'reference', 'getAnnotationStoreResponse_reference' - The store\'s genome reference.
+--
+-- 'sseConfig', 'getAnnotationStoreResponse_sseConfig' - The store\'s server-side encryption (SSE) settings.
+--
+-- 'status', 'getAnnotationStoreResponse_status' - The store\'s status.
+--
+-- 'statusMessage', 'getAnnotationStoreResponse_statusMessage' - A status message.
+--
+-- 'storeArn', 'getAnnotationStoreResponse_storeArn' - The store\'s ARN.
+--
+-- 'storeSizeBytes', 'getAnnotationStoreResponse_storeSizeBytes' - The store\'s size in bytes.
+--
+-- 'tags', 'getAnnotationStoreResponse_tags' - The store\'s tags.
+--
+-- 'updateTime', 'getAnnotationStoreResponse_updateTime' - When the store was updated.
+newGetAnnotationStoreResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'description'
+  Prelude.Text ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'name'
+  Prelude.Text ->
+  -- | 'reference'
+  ReferenceItem ->
+  -- | 'sseConfig'
+  SseConfig ->
+  -- | 'status'
+  StoreStatus ->
+  -- | 'statusMessage'
+  Prelude.Text ->
+  -- | 'storeArn'
+  Prelude.Text ->
+  -- | 'storeSizeBytes'
+  Prelude.Integer ->
+  -- | 'updateTime'
+  Prelude.UTCTime ->
+  GetAnnotationStoreResponse
+newGetAnnotationStoreResponse
+  pHttpStatus_
+  pCreationTime_
+  pDescription_
+  pId_
+  pName_
+  pReference_
+  pSseConfig_
+  pStatus_
+  pStatusMessage_
+  pStoreArn_
+  pStoreSizeBytes_
+  pUpdateTime_ =
+    GetAnnotationStoreResponse'
+      { storeFormat =
+          Prelude.Nothing,
+        storeOptions = Prelude.Nothing,
+        httpStatus = pHttpStatus_,
+        creationTime = Data._Time Lens.# pCreationTime_,
+        description = pDescription_,
+        id = pId_,
+        name = pName_,
+        reference = pReference_,
+        sseConfig = pSseConfig_,
+        status = pStatus_,
+        statusMessage = pStatusMessage_,
+        storeArn = pStoreArn_,
+        storeSizeBytes = pStoreSizeBytes_,
+        tags = Prelude.mempty,
+        updateTime = Data._Time Lens.# pUpdateTime_
+      }
+
+-- | The store\'s annotation file format.
+getAnnotationStoreResponse_storeFormat :: Lens.Lens' GetAnnotationStoreResponse (Prelude.Maybe StoreFormat)
+getAnnotationStoreResponse_storeFormat = Lens.lens (\GetAnnotationStoreResponse' {storeFormat} -> storeFormat) (\s@GetAnnotationStoreResponse' {} a -> s {storeFormat = a} :: GetAnnotationStoreResponse)
+
+-- | The store\'s parsing options.
+getAnnotationStoreResponse_storeOptions :: Lens.Lens' GetAnnotationStoreResponse (Prelude.Maybe StoreOptions)
+getAnnotationStoreResponse_storeOptions = Lens.lens (\GetAnnotationStoreResponse' {storeOptions} -> storeOptions) (\s@GetAnnotationStoreResponse' {} a -> s {storeOptions = a} :: GetAnnotationStoreResponse)
+
+-- | The response's http status code.
+getAnnotationStoreResponse_httpStatus :: Lens.Lens' GetAnnotationStoreResponse Prelude.Int
+getAnnotationStoreResponse_httpStatus = Lens.lens (\GetAnnotationStoreResponse' {httpStatus} -> httpStatus) (\s@GetAnnotationStoreResponse' {} a -> s {httpStatus = a} :: GetAnnotationStoreResponse)
+
+-- | When the store was created.
+getAnnotationStoreResponse_creationTime :: Lens.Lens' GetAnnotationStoreResponse Prelude.UTCTime
+getAnnotationStoreResponse_creationTime = Lens.lens (\GetAnnotationStoreResponse' {creationTime} -> creationTime) (\s@GetAnnotationStoreResponse' {} a -> s {creationTime = a} :: GetAnnotationStoreResponse) Prelude.. Data._Time
+
+-- | The store\'s description.
+getAnnotationStoreResponse_description :: Lens.Lens' GetAnnotationStoreResponse Prelude.Text
+getAnnotationStoreResponse_description = Lens.lens (\GetAnnotationStoreResponse' {description} -> description) (\s@GetAnnotationStoreResponse' {} a -> s {description = a} :: GetAnnotationStoreResponse)
+
+-- | The store\'s ID.
+getAnnotationStoreResponse_id :: Lens.Lens' GetAnnotationStoreResponse Prelude.Text
+getAnnotationStoreResponse_id = Lens.lens (\GetAnnotationStoreResponse' {id} -> id) (\s@GetAnnotationStoreResponse' {} a -> s {id = a} :: GetAnnotationStoreResponse)
+
+-- | The store\'s name.
+getAnnotationStoreResponse_name :: Lens.Lens' GetAnnotationStoreResponse Prelude.Text
+getAnnotationStoreResponse_name = Lens.lens (\GetAnnotationStoreResponse' {name} -> name) (\s@GetAnnotationStoreResponse' {} a -> s {name = a} :: GetAnnotationStoreResponse)
+
+-- | The store\'s genome reference.
+getAnnotationStoreResponse_reference :: Lens.Lens' GetAnnotationStoreResponse ReferenceItem
+getAnnotationStoreResponse_reference = Lens.lens (\GetAnnotationStoreResponse' {reference} -> reference) (\s@GetAnnotationStoreResponse' {} a -> s {reference = a} :: GetAnnotationStoreResponse)
+
+-- | The store\'s server-side encryption (SSE) settings.
+getAnnotationStoreResponse_sseConfig :: Lens.Lens' GetAnnotationStoreResponse SseConfig
+getAnnotationStoreResponse_sseConfig = Lens.lens (\GetAnnotationStoreResponse' {sseConfig} -> sseConfig) (\s@GetAnnotationStoreResponse' {} a -> s {sseConfig = a} :: GetAnnotationStoreResponse)
+
+-- | The store\'s status.
+getAnnotationStoreResponse_status :: Lens.Lens' GetAnnotationStoreResponse StoreStatus
+getAnnotationStoreResponse_status = Lens.lens (\GetAnnotationStoreResponse' {status} -> status) (\s@GetAnnotationStoreResponse' {} a -> s {status = a} :: GetAnnotationStoreResponse)
+
+-- | A status message.
+getAnnotationStoreResponse_statusMessage :: Lens.Lens' GetAnnotationStoreResponse Prelude.Text
+getAnnotationStoreResponse_statusMessage = Lens.lens (\GetAnnotationStoreResponse' {statusMessage} -> statusMessage) (\s@GetAnnotationStoreResponse' {} a -> s {statusMessage = a} :: GetAnnotationStoreResponse)
+
+-- | The store\'s ARN.
+getAnnotationStoreResponse_storeArn :: Lens.Lens' GetAnnotationStoreResponse Prelude.Text
+getAnnotationStoreResponse_storeArn = Lens.lens (\GetAnnotationStoreResponse' {storeArn} -> storeArn) (\s@GetAnnotationStoreResponse' {} a -> s {storeArn = a} :: GetAnnotationStoreResponse)
+
+-- | The store\'s size in bytes.
+getAnnotationStoreResponse_storeSizeBytes :: Lens.Lens' GetAnnotationStoreResponse Prelude.Integer
+getAnnotationStoreResponse_storeSizeBytes = Lens.lens (\GetAnnotationStoreResponse' {storeSizeBytes} -> storeSizeBytes) (\s@GetAnnotationStoreResponse' {} a -> s {storeSizeBytes = a} :: GetAnnotationStoreResponse)
+
+-- | The store\'s tags.
+getAnnotationStoreResponse_tags :: Lens.Lens' GetAnnotationStoreResponse (Prelude.HashMap Prelude.Text Prelude.Text)
+getAnnotationStoreResponse_tags = Lens.lens (\GetAnnotationStoreResponse' {tags} -> tags) (\s@GetAnnotationStoreResponse' {} a -> s {tags = a} :: GetAnnotationStoreResponse) Prelude.. Lens.coerced
+
+-- | When the store was updated.
+getAnnotationStoreResponse_updateTime :: Lens.Lens' GetAnnotationStoreResponse Prelude.UTCTime
+getAnnotationStoreResponse_updateTime = Lens.lens (\GetAnnotationStoreResponse' {updateTime} -> updateTime) (\s@GetAnnotationStoreResponse' {} a -> s {updateTime = a} :: GetAnnotationStoreResponse) Prelude.. Data._Time
+
+instance Prelude.NFData GetAnnotationStoreResponse where
+  rnf GetAnnotationStoreResponse' {..} =
+    Prelude.rnf storeFormat
+      `Prelude.seq` Prelude.rnf storeOptions
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf description
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf reference
+      `Prelude.seq` Prelude.rnf sseConfig
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf storeArn
+      `Prelude.seq` Prelude.rnf storeSizeBytes
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf updateTime
diff --git a/gen/Amazonka/Omics/GetReadSet.hs b/gen/Amazonka/Omics/GetReadSet.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetReadSet.hs
@@ -0,0 +1,205 @@
+{-# 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.Omics.GetReadSet
+-- 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 a file from a read set.
+module Amazonka.Omics.GetReadSet
+  ( -- * Creating a Request
+    GetReadSet (..),
+    newGetReadSet,
+
+    -- * Request Lenses
+    getReadSet_file,
+    getReadSet_id,
+    getReadSet_partNumber,
+    getReadSet_sequenceStoreId,
+
+    -- * Destructuring the Response
+    GetReadSetResponse (..),
+    newGetReadSetResponse,
+
+    -- * Response Lenses
+    getReadSetResponse_httpStatus,
+    getReadSetResponse_payload,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetReadSet' smart constructor.
+data GetReadSet = GetReadSet'
+  { -- | The file to retrieve.
+    file :: Prelude.Maybe ReadSetFile,
+    -- | The read set\'s ID.
+    id :: Prelude.Text,
+    -- | The part number to retrieve.
+    partNumber :: Prelude.Natural,
+    -- | The read set\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReadSet' 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:
+--
+-- 'file', 'getReadSet_file' - The file to retrieve.
+--
+-- 'id', 'getReadSet_id' - The read set\'s ID.
+--
+-- 'partNumber', 'getReadSet_partNumber' - The part number to retrieve.
+--
+-- 'sequenceStoreId', 'getReadSet_sequenceStoreId' - The read set\'s sequence store ID.
+newGetReadSet ::
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'partNumber'
+  Prelude.Natural ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  GetReadSet
+newGetReadSet pId_ pPartNumber_ pSequenceStoreId_ =
+  GetReadSet'
+    { file = Prelude.Nothing,
+      id = pId_,
+      partNumber = pPartNumber_,
+      sequenceStoreId = pSequenceStoreId_
+    }
+
+-- | The file to retrieve.
+getReadSet_file :: Lens.Lens' GetReadSet (Prelude.Maybe ReadSetFile)
+getReadSet_file = Lens.lens (\GetReadSet' {file} -> file) (\s@GetReadSet' {} a -> s {file = a} :: GetReadSet)
+
+-- | The read set\'s ID.
+getReadSet_id :: Lens.Lens' GetReadSet Prelude.Text
+getReadSet_id = Lens.lens (\GetReadSet' {id} -> id) (\s@GetReadSet' {} a -> s {id = a} :: GetReadSet)
+
+-- | The part number to retrieve.
+getReadSet_partNumber :: Lens.Lens' GetReadSet Prelude.Natural
+getReadSet_partNumber = Lens.lens (\GetReadSet' {partNumber} -> partNumber) (\s@GetReadSet' {} a -> s {partNumber = a} :: GetReadSet)
+
+-- | The read set\'s sequence store ID.
+getReadSet_sequenceStoreId :: Lens.Lens' GetReadSet Prelude.Text
+getReadSet_sequenceStoreId = Lens.lens (\GetReadSet' {sequenceStoreId} -> sequenceStoreId) (\s@GetReadSet' {} a -> s {sequenceStoreId = a} :: GetReadSet)
+
+instance Core.AWSRequest GetReadSet where
+  type AWSResponse GetReadSet = GetReadSetResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveBody
+      ( \s h x ->
+          GetReadSetResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (Prelude.pure x)
+      )
+
+instance Prelude.Hashable GetReadSet where
+  hashWithSalt _salt GetReadSet' {..} =
+    _salt
+      `Prelude.hashWithSalt` file
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` partNumber
+      `Prelude.hashWithSalt` sequenceStoreId
+
+instance Prelude.NFData GetReadSet where
+  rnf GetReadSet' {..} =
+    Prelude.rnf file
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf partNumber
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+
+instance Data.ToHeaders GetReadSet where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetReadSet where
+  toPath GetReadSet' {..} =
+    Prelude.mconcat
+      [ "/sequencestore/",
+        Data.toBS sequenceStoreId,
+        "/readset/",
+        Data.toBS id
+      ]
+
+instance Data.ToQuery GetReadSet where
+  toQuery GetReadSet' {..} =
+    Prelude.mconcat
+      [ "file" Data.=: file,
+        "partNumber" Data.=: partNumber
+      ]
+
+-- | /See:/ 'newGetReadSetResponse' smart constructor.
+data GetReadSetResponse = GetReadSetResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The read set file payload.
+    payload :: Data.ResponseBody
+  }
+  deriving (Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReadSetResponse' 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', 'getReadSetResponse_httpStatus' - The response's http status code.
+--
+-- 'payload', 'getReadSetResponse_payload' - The read set file payload.
+newGetReadSetResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'payload'
+  Data.ResponseBody ->
+  GetReadSetResponse
+newGetReadSetResponse pHttpStatus_ pPayload_ =
+  GetReadSetResponse'
+    { httpStatus = pHttpStatus_,
+      payload = pPayload_
+    }
+
+-- | The response's http status code.
+getReadSetResponse_httpStatus :: Lens.Lens' GetReadSetResponse Prelude.Int
+getReadSetResponse_httpStatus = Lens.lens (\GetReadSetResponse' {httpStatus} -> httpStatus) (\s@GetReadSetResponse' {} a -> s {httpStatus = a} :: GetReadSetResponse)
+
+-- | The read set file payload.
+getReadSetResponse_payload :: Lens.Lens' GetReadSetResponse Data.ResponseBody
+getReadSetResponse_payload = Lens.lens (\GetReadSetResponse' {payload} -> payload) (\s@GetReadSetResponse' {} a -> s {payload = a} :: GetReadSetResponse)
diff --git a/gen/Amazonka/Omics/GetReadSetActivationJob.hs b/gen/Amazonka/Omics/GetReadSetActivationJob.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetReadSetActivationJob.hs
@@ -0,0 +1,270 @@
+{-# 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.Omics.GetReadSetActivationJob
+-- 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 information about a read set activation job.
+module Amazonka.Omics.GetReadSetActivationJob
+  ( -- * Creating a Request
+    GetReadSetActivationJob (..),
+    newGetReadSetActivationJob,
+
+    -- * Request Lenses
+    getReadSetActivationJob_id,
+    getReadSetActivationJob_sequenceStoreId,
+
+    -- * Destructuring the Response
+    GetReadSetActivationJobResponse (..),
+    newGetReadSetActivationJobResponse,
+
+    -- * Response Lenses
+    getReadSetActivationJobResponse_completionTime,
+    getReadSetActivationJobResponse_sources,
+    getReadSetActivationJobResponse_statusMessage,
+    getReadSetActivationJobResponse_httpStatus,
+    getReadSetActivationJobResponse_creationTime,
+    getReadSetActivationJobResponse_id,
+    getReadSetActivationJobResponse_sequenceStoreId,
+    getReadSetActivationJobResponse_status,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetReadSetActivationJob' smart constructor.
+data GetReadSetActivationJob = GetReadSetActivationJob'
+  { -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReadSetActivationJob' 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', 'getReadSetActivationJob_id' - The job\'s ID.
+--
+-- 'sequenceStoreId', 'getReadSetActivationJob_sequenceStoreId' - The job\'s sequence store ID.
+newGetReadSetActivationJob ::
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  GetReadSetActivationJob
+newGetReadSetActivationJob pId_ pSequenceStoreId_ =
+  GetReadSetActivationJob'
+    { id = pId_,
+      sequenceStoreId = pSequenceStoreId_
+    }
+
+-- | The job\'s ID.
+getReadSetActivationJob_id :: Lens.Lens' GetReadSetActivationJob Prelude.Text
+getReadSetActivationJob_id = Lens.lens (\GetReadSetActivationJob' {id} -> id) (\s@GetReadSetActivationJob' {} a -> s {id = a} :: GetReadSetActivationJob)
+
+-- | The job\'s sequence store ID.
+getReadSetActivationJob_sequenceStoreId :: Lens.Lens' GetReadSetActivationJob Prelude.Text
+getReadSetActivationJob_sequenceStoreId = Lens.lens (\GetReadSetActivationJob' {sequenceStoreId} -> sequenceStoreId) (\s@GetReadSetActivationJob' {} a -> s {sequenceStoreId = a} :: GetReadSetActivationJob)
+
+instance Core.AWSRequest GetReadSetActivationJob where
+  type
+    AWSResponse GetReadSetActivationJob =
+      GetReadSetActivationJobResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          GetReadSetActivationJobResponse'
+            Prelude.<$> (x Data..?> "completionTime")
+            Prelude.<*> (x Data..?> "sources" Core..!@ Prelude.mempty)
+            Prelude.<*> (x Data..?> "statusMessage")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "sequenceStoreId")
+            Prelude.<*> (x Data..:> "status")
+      )
+
+instance Prelude.Hashable GetReadSetActivationJob where
+  hashWithSalt _salt GetReadSetActivationJob' {..} =
+    _salt
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` sequenceStoreId
+
+instance Prelude.NFData GetReadSetActivationJob where
+  rnf GetReadSetActivationJob' {..} =
+    Prelude.rnf id
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+
+instance Data.ToHeaders GetReadSetActivationJob where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetReadSetActivationJob where
+  toPath GetReadSetActivationJob' {..} =
+    Prelude.mconcat
+      [ "/sequencestore/",
+        Data.toBS sequenceStoreId,
+        "/activationjob/",
+        Data.toBS id
+      ]
+
+instance Data.ToQuery GetReadSetActivationJob where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newGetReadSetActivationJobResponse' smart constructor.
+data GetReadSetActivationJobResponse = GetReadSetActivationJobResponse'
+  { -- | When the job completed.
+    completionTime :: Prelude.Maybe Data.ISO8601,
+    -- | The job\'s sources.
+    sources :: Prelude.Maybe [ActivateReadSetSourceItem],
+    -- | The job\'s status message.
+    statusMessage :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | When the job was created.
+    creationTime :: Data.ISO8601,
+    -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text,
+    -- | The job\'s status.
+    status :: ReadSetActivationJobStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReadSetActivationJobResponse' 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:
+--
+-- 'completionTime', 'getReadSetActivationJobResponse_completionTime' - When the job completed.
+--
+-- 'sources', 'getReadSetActivationJobResponse_sources' - The job\'s sources.
+--
+-- 'statusMessage', 'getReadSetActivationJobResponse_statusMessage' - The job\'s status message.
+--
+-- 'httpStatus', 'getReadSetActivationJobResponse_httpStatus' - The response's http status code.
+--
+-- 'creationTime', 'getReadSetActivationJobResponse_creationTime' - When the job was created.
+--
+-- 'id', 'getReadSetActivationJobResponse_id' - The job\'s ID.
+--
+-- 'sequenceStoreId', 'getReadSetActivationJobResponse_sequenceStoreId' - The job\'s sequence store ID.
+--
+-- 'status', 'getReadSetActivationJobResponse_status' - The job\'s status.
+newGetReadSetActivationJobResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  -- | 'status'
+  ReadSetActivationJobStatus ->
+  GetReadSetActivationJobResponse
+newGetReadSetActivationJobResponse
+  pHttpStatus_
+  pCreationTime_
+  pId_
+  pSequenceStoreId_
+  pStatus_ =
+    GetReadSetActivationJobResponse'
+      { completionTime =
+          Prelude.Nothing,
+        sources = Prelude.Nothing,
+        statusMessage = Prelude.Nothing,
+        httpStatus = pHttpStatus_,
+        creationTime =
+          Data._Time Lens.# pCreationTime_,
+        id = pId_,
+        sequenceStoreId = pSequenceStoreId_,
+        status = pStatus_
+      }
+
+-- | When the job completed.
+getReadSetActivationJobResponse_completionTime :: Lens.Lens' GetReadSetActivationJobResponse (Prelude.Maybe Prelude.UTCTime)
+getReadSetActivationJobResponse_completionTime = Lens.lens (\GetReadSetActivationJobResponse' {completionTime} -> completionTime) (\s@GetReadSetActivationJobResponse' {} a -> s {completionTime = a} :: GetReadSetActivationJobResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The job\'s sources.
+getReadSetActivationJobResponse_sources :: Lens.Lens' GetReadSetActivationJobResponse (Prelude.Maybe [ActivateReadSetSourceItem])
+getReadSetActivationJobResponse_sources = Lens.lens (\GetReadSetActivationJobResponse' {sources} -> sources) (\s@GetReadSetActivationJobResponse' {} a -> s {sources = a} :: GetReadSetActivationJobResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | The job\'s status message.
+getReadSetActivationJobResponse_statusMessage :: Lens.Lens' GetReadSetActivationJobResponse (Prelude.Maybe Prelude.Text)
+getReadSetActivationJobResponse_statusMessage = Lens.lens (\GetReadSetActivationJobResponse' {statusMessage} -> statusMessage) (\s@GetReadSetActivationJobResponse' {} a -> s {statusMessage = a} :: GetReadSetActivationJobResponse)
+
+-- | The response's http status code.
+getReadSetActivationJobResponse_httpStatus :: Lens.Lens' GetReadSetActivationJobResponse Prelude.Int
+getReadSetActivationJobResponse_httpStatus = Lens.lens (\GetReadSetActivationJobResponse' {httpStatus} -> httpStatus) (\s@GetReadSetActivationJobResponse' {} a -> s {httpStatus = a} :: GetReadSetActivationJobResponse)
+
+-- | When the job was created.
+getReadSetActivationJobResponse_creationTime :: Lens.Lens' GetReadSetActivationJobResponse Prelude.UTCTime
+getReadSetActivationJobResponse_creationTime = Lens.lens (\GetReadSetActivationJobResponse' {creationTime} -> creationTime) (\s@GetReadSetActivationJobResponse' {} a -> s {creationTime = a} :: GetReadSetActivationJobResponse) Prelude.. Data._Time
+
+-- | The job\'s ID.
+getReadSetActivationJobResponse_id :: Lens.Lens' GetReadSetActivationJobResponse Prelude.Text
+getReadSetActivationJobResponse_id = Lens.lens (\GetReadSetActivationJobResponse' {id} -> id) (\s@GetReadSetActivationJobResponse' {} a -> s {id = a} :: GetReadSetActivationJobResponse)
+
+-- | The job\'s sequence store ID.
+getReadSetActivationJobResponse_sequenceStoreId :: Lens.Lens' GetReadSetActivationJobResponse Prelude.Text
+getReadSetActivationJobResponse_sequenceStoreId = Lens.lens (\GetReadSetActivationJobResponse' {sequenceStoreId} -> sequenceStoreId) (\s@GetReadSetActivationJobResponse' {} a -> s {sequenceStoreId = a} :: GetReadSetActivationJobResponse)
+
+-- | The job\'s status.
+getReadSetActivationJobResponse_status :: Lens.Lens' GetReadSetActivationJobResponse ReadSetActivationJobStatus
+getReadSetActivationJobResponse_status = Lens.lens (\GetReadSetActivationJobResponse' {status} -> status) (\s@GetReadSetActivationJobResponse' {} a -> s {status = a} :: GetReadSetActivationJobResponse)
+
+instance
+  Prelude.NFData
+    GetReadSetActivationJobResponse
+  where
+  rnf GetReadSetActivationJobResponse' {..} =
+    Prelude.rnf completionTime
+      `Prelude.seq` Prelude.rnf sources
+      `Prelude.seq` Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/GetReadSetExportJob.hs b/gen/Amazonka/Omics/GetReadSetExportJob.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetReadSetExportJob.hs
@@ -0,0 +1,282 @@
+{-# 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.Omics.GetReadSetExportJob
+-- 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 information about a read set export job.
+module Amazonka.Omics.GetReadSetExportJob
+  ( -- * Creating a Request
+    GetReadSetExportJob (..),
+    newGetReadSetExportJob,
+
+    -- * Request Lenses
+    getReadSetExportJob_id,
+    getReadSetExportJob_sequenceStoreId,
+
+    -- * Destructuring the Response
+    GetReadSetExportJobResponse (..),
+    newGetReadSetExportJobResponse,
+
+    -- * Response Lenses
+    getReadSetExportJobResponse_completionTime,
+    getReadSetExportJobResponse_readSets,
+    getReadSetExportJobResponse_statusMessage,
+    getReadSetExportJobResponse_httpStatus,
+    getReadSetExportJobResponse_creationTime,
+    getReadSetExportJobResponse_destination,
+    getReadSetExportJobResponse_id,
+    getReadSetExportJobResponse_sequenceStoreId,
+    getReadSetExportJobResponse_status,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetReadSetExportJob' smart constructor.
+data GetReadSetExportJob = GetReadSetExportJob'
+  { -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReadSetExportJob' 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', 'getReadSetExportJob_id' - The job\'s ID.
+--
+-- 'sequenceStoreId', 'getReadSetExportJob_sequenceStoreId' - The job\'s sequence store ID.
+newGetReadSetExportJob ::
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  GetReadSetExportJob
+newGetReadSetExportJob pId_ pSequenceStoreId_ =
+  GetReadSetExportJob'
+    { id = pId_,
+      sequenceStoreId = pSequenceStoreId_
+    }
+
+-- | The job\'s ID.
+getReadSetExportJob_id :: Lens.Lens' GetReadSetExportJob Prelude.Text
+getReadSetExportJob_id = Lens.lens (\GetReadSetExportJob' {id} -> id) (\s@GetReadSetExportJob' {} a -> s {id = a} :: GetReadSetExportJob)
+
+-- | The job\'s sequence store ID.
+getReadSetExportJob_sequenceStoreId :: Lens.Lens' GetReadSetExportJob Prelude.Text
+getReadSetExportJob_sequenceStoreId = Lens.lens (\GetReadSetExportJob' {sequenceStoreId} -> sequenceStoreId) (\s@GetReadSetExportJob' {} a -> s {sequenceStoreId = a} :: GetReadSetExportJob)
+
+instance Core.AWSRequest GetReadSetExportJob where
+  type
+    AWSResponse GetReadSetExportJob =
+      GetReadSetExportJobResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          GetReadSetExportJobResponse'
+            Prelude.<$> (x Data..?> "completionTime")
+            Prelude.<*> (x Data..?> "readSets" Core..!@ Prelude.mempty)
+            Prelude.<*> (x Data..?> "statusMessage")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "destination")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "sequenceStoreId")
+            Prelude.<*> (x Data..:> "status")
+      )
+
+instance Prelude.Hashable GetReadSetExportJob where
+  hashWithSalt _salt GetReadSetExportJob' {..} =
+    _salt
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` sequenceStoreId
+
+instance Prelude.NFData GetReadSetExportJob where
+  rnf GetReadSetExportJob' {..} =
+    Prelude.rnf id
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+
+instance Data.ToHeaders GetReadSetExportJob where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetReadSetExportJob where
+  toPath GetReadSetExportJob' {..} =
+    Prelude.mconcat
+      [ "/sequencestore/",
+        Data.toBS sequenceStoreId,
+        "/exportjob/",
+        Data.toBS id
+      ]
+
+instance Data.ToQuery GetReadSetExportJob where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newGetReadSetExportJobResponse' smart constructor.
+data GetReadSetExportJobResponse = GetReadSetExportJobResponse'
+  { -- | When the job completed.
+    completionTime :: Prelude.Maybe Data.ISO8601,
+    -- | The job\'s read sets.
+    readSets :: Prelude.Maybe [ExportReadSetDetail],
+    -- | The job\'s status message.
+    statusMessage :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | When the job was created.
+    creationTime :: Data.ISO8601,
+    -- | The job\'s destination in Amazon S3.
+    destination :: Prelude.Text,
+    -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text,
+    -- | The job\'s status.
+    status :: ReadSetExportJobStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReadSetExportJobResponse' 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:
+--
+-- 'completionTime', 'getReadSetExportJobResponse_completionTime' - When the job completed.
+--
+-- 'readSets', 'getReadSetExportJobResponse_readSets' - The job\'s read sets.
+--
+-- 'statusMessage', 'getReadSetExportJobResponse_statusMessage' - The job\'s status message.
+--
+-- 'httpStatus', 'getReadSetExportJobResponse_httpStatus' - The response's http status code.
+--
+-- 'creationTime', 'getReadSetExportJobResponse_creationTime' - When the job was created.
+--
+-- 'destination', 'getReadSetExportJobResponse_destination' - The job\'s destination in Amazon S3.
+--
+-- 'id', 'getReadSetExportJobResponse_id' - The job\'s ID.
+--
+-- 'sequenceStoreId', 'getReadSetExportJobResponse_sequenceStoreId' - The job\'s sequence store ID.
+--
+-- 'status', 'getReadSetExportJobResponse_status' - The job\'s status.
+newGetReadSetExportJobResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'destination'
+  Prelude.Text ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  -- | 'status'
+  ReadSetExportJobStatus ->
+  GetReadSetExportJobResponse
+newGetReadSetExportJobResponse
+  pHttpStatus_
+  pCreationTime_
+  pDestination_
+  pId_
+  pSequenceStoreId_
+  pStatus_ =
+    GetReadSetExportJobResponse'
+      { completionTime =
+          Prelude.Nothing,
+        readSets = Prelude.Nothing,
+        statusMessage = Prelude.Nothing,
+        httpStatus = pHttpStatus_,
+        creationTime =
+          Data._Time Lens.# pCreationTime_,
+        destination = pDestination_,
+        id = pId_,
+        sequenceStoreId = pSequenceStoreId_,
+        status = pStatus_
+      }
+
+-- | When the job completed.
+getReadSetExportJobResponse_completionTime :: Lens.Lens' GetReadSetExportJobResponse (Prelude.Maybe Prelude.UTCTime)
+getReadSetExportJobResponse_completionTime = Lens.lens (\GetReadSetExportJobResponse' {completionTime} -> completionTime) (\s@GetReadSetExportJobResponse' {} a -> s {completionTime = a} :: GetReadSetExportJobResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The job\'s read sets.
+getReadSetExportJobResponse_readSets :: Lens.Lens' GetReadSetExportJobResponse (Prelude.Maybe [ExportReadSetDetail])
+getReadSetExportJobResponse_readSets = Lens.lens (\GetReadSetExportJobResponse' {readSets} -> readSets) (\s@GetReadSetExportJobResponse' {} a -> s {readSets = a} :: GetReadSetExportJobResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | The job\'s status message.
+getReadSetExportJobResponse_statusMessage :: Lens.Lens' GetReadSetExportJobResponse (Prelude.Maybe Prelude.Text)
+getReadSetExportJobResponse_statusMessage = Lens.lens (\GetReadSetExportJobResponse' {statusMessage} -> statusMessage) (\s@GetReadSetExportJobResponse' {} a -> s {statusMessage = a} :: GetReadSetExportJobResponse)
+
+-- | The response's http status code.
+getReadSetExportJobResponse_httpStatus :: Lens.Lens' GetReadSetExportJobResponse Prelude.Int
+getReadSetExportJobResponse_httpStatus = Lens.lens (\GetReadSetExportJobResponse' {httpStatus} -> httpStatus) (\s@GetReadSetExportJobResponse' {} a -> s {httpStatus = a} :: GetReadSetExportJobResponse)
+
+-- | When the job was created.
+getReadSetExportJobResponse_creationTime :: Lens.Lens' GetReadSetExportJobResponse Prelude.UTCTime
+getReadSetExportJobResponse_creationTime = Lens.lens (\GetReadSetExportJobResponse' {creationTime} -> creationTime) (\s@GetReadSetExportJobResponse' {} a -> s {creationTime = a} :: GetReadSetExportJobResponse) Prelude.. Data._Time
+
+-- | The job\'s destination in Amazon S3.
+getReadSetExportJobResponse_destination :: Lens.Lens' GetReadSetExportJobResponse Prelude.Text
+getReadSetExportJobResponse_destination = Lens.lens (\GetReadSetExportJobResponse' {destination} -> destination) (\s@GetReadSetExportJobResponse' {} a -> s {destination = a} :: GetReadSetExportJobResponse)
+
+-- | The job\'s ID.
+getReadSetExportJobResponse_id :: Lens.Lens' GetReadSetExportJobResponse Prelude.Text
+getReadSetExportJobResponse_id = Lens.lens (\GetReadSetExportJobResponse' {id} -> id) (\s@GetReadSetExportJobResponse' {} a -> s {id = a} :: GetReadSetExportJobResponse)
+
+-- | The job\'s sequence store ID.
+getReadSetExportJobResponse_sequenceStoreId :: Lens.Lens' GetReadSetExportJobResponse Prelude.Text
+getReadSetExportJobResponse_sequenceStoreId = Lens.lens (\GetReadSetExportJobResponse' {sequenceStoreId} -> sequenceStoreId) (\s@GetReadSetExportJobResponse' {} a -> s {sequenceStoreId = a} :: GetReadSetExportJobResponse)
+
+-- | The job\'s status.
+getReadSetExportJobResponse_status :: Lens.Lens' GetReadSetExportJobResponse ReadSetExportJobStatus
+getReadSetExportJobResponse_status = Lens.lens (\GetReadSetExportJobResponse' {status} -> status) (\s@GetReadSetExportJobResponse' {} a -> s {status = a} :: GetReadSetExportJobResponse)
+
+instance Prelude.NFData GetReadSetExportJobResponse where
+  rnf GetReadSetExportJobResponse' {..} =
+    Prelude.rnf completionTime
+      `Prelude.seq` Prelude.rnf readSets
+      `Prelude.seq` Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf destination
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/GetReadSetImportJob.hs b/gen/Amazonka/Omics/GetReadSetImportJob.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetReadSetImportJob.hs
@@ -0,0 +1,282 @@
+{-# 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.Omics.GetReadSetImportJob
+-- 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 information about a read set import job.
+module Amazonka.Omics.GetReadSetImportJob
+  ( -- * Creating a Request
+    GetReadSetImportJob (..),
+    newGetReadSetImportJob,
+
+    -- * Request Lenses
+    getReadSetImportJob_id,
+    getReadSetImportJob_sequenceStoreId,
+
+    -- * Destructuring the Response
+    GetReadSetImportJobResponse (..),
+    newGetReadSetImportJobResponse,
+
+    -- * Response Lenses
+    getReadSetImportJobResponse_completionTime,
+    getReadSetImportJobResponse_statusMessage,
+    getReadSetImportJobResponse_httpStatus,
+    getReadSetImportJobResponse_creationTime,
+    getReadSetImportJobResponse_id,
+    getReadSetImportJobResponse_roleArn,
+    getReadSetImportJobResponse_sequenceStoreId,
+    getReadSetImportJobResponse_sources,
+    getReadSetImportJobResponse_status,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetReadSetImportJob' smart constructor.
+data GetReadSetImportJob = GetReadSetImportJob'
+  { -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReadSetImportJob' 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', 'getReadSetImportJob_id' - The job\'s ID.
+--
+-- 'sequenceStoreId', 'getReadSetImportJob_sequenceStoreId' - The job\'s sequence store ID.
+newGetReadSetImportJob ::
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  GetReadSetImportJob
+newGetReadSetImportJob pId_ pSequenceStoreId_ =
+  GetReadSetImportJob'
+    { id = pId_,
+      sequenceStoreId = pSequenceStoreId_
+    }
+
+-- | The job\'s ID.
+getReadSetImportJob_id :: Lens.Lens' GetReadSetImportJob Prelude.Text
+getReadSetImportJob_id = Lens.lens (\GetReadSetImportJob' {id} -> id) (\s@GetReadSetImportJob' {} a -> s {id = a} :: GetReadSetImportJob)
+
+-- | The job\'s sequence store ID.
+getReadSetImportJob_sequenceStoreId :: Lens.Lens' GetReadSetImportJob Prelude.Text
+getReadSetImportJob_sequenceStoreId = Lens.lens (\GetReadSetImportJob' {sequenceStoreId} -> sequenceStoreId) (\s@GetReadSetImportJob' {} a -> s {sequenceStoreId = a} :: GetReadSetImportJob)
+
+instance Core.AWSRequest GetReadSetImportJob where
+  type
+    AWSResponse GetReadSetImportJob =
+      GetReadSetImportJobResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          GetReadSetImportJobResponse'
+            Prelude.<$> (x Data..?> "completionTime")
+            Prelude.<*> (x Data..?> "statusMessage")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "roleArn")
+            Prelude.<*> (x Data..:> "sequenceStoreId")
+            Prelude.<*> (x Data..?> "sources" Core..!@ Prelude.mempty)
+            Prelude.<*> (x Data..:> "status")
+      )
+
+instance Prelude.Hashable GetReadSetImportJob where
+  hashWithSalt _salt GetReadSetImportJob' {..} =
+    _salt
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` sequenceStoreId
+
+instance Prelude.NFData GetReadSetImportJob where
+  rnf GetReadSetImportJob' {..} =
+    Prelude.rnf id
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+
+instance Data.ToHeaders GetReadSetImportJob where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetReadSetImportJob where
+  toPath GetReadSetImportJob' {..} =
+    Prelude.mconcat
+      [ "/sequencestore/",
+        Data.toBS sequenceStoreId,
+        "/importjob/",
+        Data.toBS id
+      ]
+
+instance Data.ToQuery GetReadSetImportJob where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newGetReadSetImportJobResponse' smart constructor.
+data GetReadSetImportJobResponse = GetReadSetImportJobResponse'
+  { -- | When the job completed.
+    completionTime :: Prelude.Maybe Data.ISO8601,
+    -- | The job\'s status message.
+    statusMessage :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | When the job was created.
+    creationTime :: Data.ISO8601,
+    -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s service role ARN.
+    roleArn :: Prelude.Text,
+    -- | The job\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text,
+    -- | The job\'s sources.
+    sources :: [ImportReadSetSourceItem],
+    -- | The job\'s status.
+    status :: ReadSetImportJobStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReadSetImportJobResponse' 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:
+--
+-- 'completionTime', 'getReadSetImportJobResponse_completionTime' - When the job completed.
+--
+-- 'statusMessage', 'getReadSetImportJobResponse_statusMessage' - The job\'s status message.
+--
+-- 'httpStatus', 'getReadSetImportJobResponse_httpStatus' - The response's http status code.
+--
+-- 'creationTime', 'getReadSetImportJobResponse_creationTime' - When the job was created.
+--
+-- 'id', 'getReadSetImportJobResponse_id' - The job\'s ID.
+--
+-- 'roleArn', 'getReadSetImportJobResponse_roleArn' - The job\'s service role ARN.
+--
+-- 'sequenceStoreId', 'getReadSetImportJobResponse_sequenceStoreId' - The job\'s sequence store ID.
+--
+-- 'sources', 'getReadSetImportJobResponse_sources' - The job\'s sources.
+--
+-- 'status', 'getReadSetImportJobResponse_status' - The job\'s status.
+newGetReadSetImportJobResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'roleArn'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  -- | 'status'
+  ReadSetImportJobStatus ->
+  GetReadSetImportJobResponse
+newGetReadSetImportJobResponse
+  pHttpStatus_
+  pCreationTime_
+  pId_
+  pRoleArn_
+  pSequenceStoreId_
+  pStatus_ =
+    GetReadSetImportJobResponse'
+      { completionTime =
+          Prelude.Nothing,
+        statusMessage = Prelude.Nothing,
+        httpStatus = pHttpStatus_,
+        creationTime =
+          Data._Time Lens.# pCreationTime_,
+        id = pId_,
+        roleArn = pRoleArn_,
+        sequenceStoreId = pSequenceStoreId_,
+        sources = Prelude.mempty,
+        status = pStatus_
+      }
+
+-- | When the job completed.
+getReadSetImportJobResponse_completionTime :: Lens.Lens' GetReadSetImportJobResponse (Prelude.Maybe Prelude.UTCTime)
+getReadSetImportJobResponse_completionTime = Lens.lens (\GetReadSetImportJobResponse' {completionTime} -> completionTime) (\s@GetReadSetImportJobResponse' {} a -> s {completionTime = a} :: GetReadSetImportJobResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The job\'s status message.
+getReadSetImportJobResponse_statusMessage :: Lens.Lens' GetReadSetImportJobResponse (Prelude.Maybe Prelude.Text)
+getReadSetImportJobResponse_statusMessage = Lens.lens (\GetReadSetImportJobResponse' {statusMessage} -> statusMessage) (\s@GetReadSetImportJobResponse' {} a -> s {statusMessage = a} :: GetReadSetImportJobResponse)
+
+-- | The response's http status code.
+getReadSetImportJobResponse_httpStatus :: Lens.Lens' GetReadSetImportJobResponse Prelude.Int
+getReadSetImportJobResponse_httpStatus = Lens.lens (\GetReadSetImportJobResponse' {httpStatus} -> httpStatus) (\s@GetReadSetImportJobResponse' {} a -> s {httpStatus = a} :: GetReadSetImportJobResponse)
+
+-- | When the job was created.
+getReadSetImportJobResponse_creationTime :: Lens.Lens' GetReadSetImportJobResponse Prelude.UTCTime
+getReadSetImportJobResponse_creationTime = Lens.lens (\GetReadSetImportJobResponse' {creationTime} -> creationTime) (\s@GetReadSetImportJobResponse' {} a -> s {creationTime = a} :: GetReadSetImportJobResponse) Prelude.. Data._Time
+
+-- | The job\'s ID.
+getReadSetImportJobResponse_id :: Lens.Lens' GetReadSetImportJobResponse Prelude.Text
+getReadSetImportJobResponse_id = Lens.lens (\GetReadSetImportJobResponse' {id} -> id) (\s@GetReadSetImportJobResponse' {} a -> s {id = a} :: GetReadSetImportJobResponse)
+
+-- | The job\'s service role ARN.
+getReadSetImportJobResponse_roleArn :: Lens.Lens' GetReadSetImportJobResponse Prelude.Text
+getReadSetImportJobResponse_roleArn = Lens.lens (\GetReadSetImportJobResponse' {roleArn} -> roleArn) (\s@GetReadSetImportJobResponse' {} a -> s {roleArn = a} :: GetReadSetImportJobResponse)
+
+-- | The job\'s sequence store ID.
+getReadSetImportJobResponse_sequenceStoreId :: Lens.Lens' GetReadSetImportJobResponse Prelude.Text
+getReadSetImportJobResponse_sequenceStoreId = Lens.lens (\GetReadSetImportJobResponse' {sequenceStoreId} -> sequenceStoreId) (\s@GetReadSetImportJobResponse' {} a -> s {sequenceStoreId = a} :: GetReadSetImportJobResponse)
+
+-- | The job\'s sources.
+getReadSetImportJobResponse_sources :: Lens.Lens' GetReadSetImportJobResponse [ImportReadSetSourceItem]
+getReadSetImportJobResponse_sources = Lens.lens (\GetReadSetImportJobResponse' {sources} -> sources) (\s@GetReadSetImportJobResponse' {} a -> s {sources = a} :: GetReadSetImportJobResponse) Prelude.. Lens.coerced
+
+-- | The job\'s status.
+getReadSetImportJobResponse_status :: Lens.Lens' GetReadSetImportJobResponse ReadSetImportJobStatus
+getReadSetImportJobResponse_status = Lens.lens (\GetReadSetImportJobResponse' {status} -> status) (\s@GetReadSetImportJobResponse' {} a -> s {status = a} :: GetReadSetImportJobResponse)
+
+instance Prelude.NFData GetReadSetImportJobResponse where
+  rnf GetReadSetImportJobResponse' {..} =
+    Prelude.rnf completionTime
+      `Prelude.seq` Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf roleArn
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+      `Prelude.seq` Prelude.rnf sources
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/GetReadSetMetadata.hs b/gen/Amazonka/Omics/GetReadSetMetadata.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetReadSetMetadata.hs
@@ -0,0 +1,345 @@
+{-# 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.Omics.GetReadSetMetadata
+-- 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 details about a read set.
+module Amazonka.Omics.GetReadSetMetadata
+  ( -- * Creating a Request
+    GetReadSetMetadata (..),
+    newGetReadSetMetadata,
+
+    -- * Request Lenses
+    getReadSetMetadata_id,
+    getReadSetMetadata_sequenceStoreId,
+
+    -- * Destructuring the Response
+    GetReadSetMetadataResponse (..),
+    newGetReadSetMetadataResponse,
+
+    -- * Response Lenses
+    getReadSetMetadataResponse_description,
+    getReadSetMetadataResponse_files,
+    getReadSetMetadataResponse_name,
+    getReadSetMetadataResponse_referenceArn,
+    getReadSetMetadataResponse_sampleId,
+    getReadSetMetadataResponse_sequenceInformation,
+    getReadSetMetadataResponse_subjectId,
+    getReadSetMetadataResponse_httpStatus,
+    getReadSetMetadataResponse_arn,
+    getReadSetMetadataResponse_creationTime,
+    getReadSetMetadataResponse_fileType,
+    getReadSetMetadataResponse_id,
+    getReadSetMetadataResponse_sequenceStoreId,
+    getReadSetMetadataResponse_status,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetReadSetMetadata' smart constructor.
+data GetReadSetMetadata = GetReadSetMetadata'
+  { -- | The read set\'s ID.
+    id :: Prelude.Text,
+    -- | The read set\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReadSetMetadata' 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', 'getReadSetMetadata_id' - The read set\'s ID.
+--
+-- 'sequenceStoreId', 'getReadSetMetadata_sequenceStoreId' - The read set\'s sequence store ID.
+newGetReadSetMetadata ::
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  GetReadSetMetadata
+newGetReadSetMetadata pId_ pSequenceStoreId_ =
+  GetReadSetMetadata'
+    { id = pId_,
+      sequenceStoreId = pSequenceStoreId_
+    }
+
+-- | The read set\'s ID.
+getReadSetMetadata_id :: Lens.Lens' GetReadSetMetadata Prelude.Text
+getReadSetMetadata_id = Lens.lens (\GetReadSetMetadata' {id} -> id) (\s@GetReadSetMetadata' {} a -> s {id = a} :: GetReadSetMetadata)
+
+-- | The read set\'s sequence store ID.
+getReadSetMetadata_sequenceStoreId :: Lens.Lens' GetReadSetMetadata Prelude.Text
+getReadSetMetadata_sequenceStoreId = Lens.lens (\GetReadSetMetadata' {sequenceStoreId} -> sequenceStoreId) (\s@GetReadSetMetadata' {} a -> s {sequenceStoreId = a} :: GetReadSetMetadata)
+
+instance Core.AWSRequest GetReadSetMetadata where
+  type
+    AWSResponse GetReadSetMetadata =
+      GetReadSetMetadataResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          GetReadSetMetadataResponse'
+            Prelude.<$> (x Data..?> "description")
+            Prelude.<*> (x Data..?> "files")
+            Prelude.<*> (x Data..?> "name")
+            Prelude.<*> (x Data..?> "referenceArn")
+            Prelude.<*> (x Data..?> "sampleId")
+            Prelude.<*> (x Data..?> "sequenceInformation")
+            Prelude.<*> (x Data..?> "subjectId")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "arn")
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "fileType")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "sequenceStoreId")
+            Prelude.<*> (x Data..:> "status")
+      )
+
+instance Prelude.Hashable GetReadSetMetadata where
+  hashWithSalt _salt GetReadSetMetadata' {..} =
+    _salt
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` sequenceStoreId
+
+instance Prelude.NFData GetReadSetMetadata where
+  rnf GetReadSetMetadata' {..} =
+    Prelude.rnf id
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+
+instance Data.ToHeaders GetReadSetMetadata where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetReadSetMetadata where
+  toPath GetReadSetMetadata' {..} =
+    Prelude.mconcat
+      [ "/sequencestore/",
+        Data.toBS sequenceStoreId,
+        "/readset/",
+        Data.toBS id,
+        "/metadata"
+      ]
+
+instance Data.ToQuery GetReadSetMetadata where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newGetReadSetMetadataResponse' smart constructor.
+data GetReadSetMetadataResponse = GetReadSetMetadataResponse'
+  { -- | The read set\'s description.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | The read set\'s files.
+    files :: Prelude.Maybe ReadSetFiles,
+    -- | The read set\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The read set\'s genome reference ARN.
+    referenceArn :: Prelude.Maybe Prelude.Text,
+    -- | The read set\'s sample ID.
+    sampleId :: Prelude.Maybe Prelude.Text,
+    -- | The read set\'s sequence information.
+    sequenceInformation :: Prelude.Maybe SequenceInformation,
+    -- | The read set\'s subject ID.
+    subjectId :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The read set\'s ARN.
+    arn :: Prelude.Text,
+    -- | When the read set was created.
+    creationTime :: Data.ISO8601,
+    -- | The read set\'s file type.
+    fileType :: FileType,
+    -- | The read set\'s ID.
+    id :: Prelude.Text,
+    -- | The read set\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text,
+    -- | The read set\'s status.
+    status :: ReadSetStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReadSetMetadataResponse' 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', 'getReadSetMetadataResponse_description' - The read set\'s description.
+--
+-- 'files', 'getReadSetMetadataResponse_files' - The read set\'s files.
+--
+-- 'name', 'getReadSetMetadataResponse_name' - The read set\'s name.
+--
+-- 'referenceArn', 'getReadSetMetadataResponse_referenceArn' - The read set\'s genome reference ARN.
+--
+-- 'sampleId', 'getReadSetMetadataResponse_sampleId' - The read set\'s sample ID.
+--
+-- 'sequenceInformation', 'getReadSetMetadataResponse_sequenceInformation' - The read set\'s sequence information.
+--
+-- 'subjectId', 'getReadSetMetadataResponse_subjectId' - The read set\'s subject ID.
+--
+-- 'httpStatus', 'getReadSetMetadataResponse_httpStatus' - The response's http status code.
+--
+-- 'arn', 'getReadSetMetadataResponse_arn' - The read set\'s ARN.
+--
+-- 'creationTime', 'getReadSetMetadataResponse_creationTime' - When the read set was created.
+--
+-- 'fileType', 'getReadSetMetadataResponse_fileType' - The read set\'s file type.
+--
+-- 'id', 'getReadSetMetadataResponse_id' - The read set\'s ID.
+--
+-- 'sequenceStoreId', 'getReadSetMetadataResponse_sequenceStoreId' - The read set\'s sequence store ID.
+--
+-- 'status', 'getReadSetMetadataResponse_status' - The read set\'s status.
+newGetReadSetMetadataResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'arn'
+  Prelude.Text ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'fileType'
+  FileType ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  -- | 'status'
+  ReadSetStatus ->
+  GetReadSetMetadataResponse
+newGetReadSetMetadataResponse
+  pHttpStatus_
+  pArn_
+  pCreationTime_
+  pFileType_
+  pId_
+  pSequenceStoreId_
+  pStatus_ =
+    GetReadSetMetadataResponse'
+      { description =
+          Prelude.Nothing,
+        files = Prelude.Nothing,
+        name = Prelude.Nothing,
+        referenceArn = Prelude.Nothing,
+        sampleId = Prelude.Nothing,
+        sequenceInformation = Prelude.Nothing,
+        subjectId = Prelude.Nothing,
+        httpStatus = pHttpStatus_,
+        arn = pArn_,
+        creationTime = Data._Time Lens.# pCreationTime_,
+        fileType = pFileType_,
+        id = pId_,
+        sequenceStoreId = pSequenceStoreId_,
+        status = pStatus_
+      }
+
+-- | The read set\'s description.
+getReadSetMetadataResponse_description :: Lens.Lens' GetReadSetMetadataResponse (Prelude.Maybe Prelude.Text)
+getReadSetMetadataResponse_description = Lens.lens (\GetReadSetMetadataResponse' {description} -> description) (\s@GetReadSetMetadataResponse' {} a -> s {description = a} :: GetReadSetMetadataResponse)
+
+-- | The read set\'s files.
+getReadSetMetadataResponse_files :: Lens.Lens' GetReadSetMetadataResponse (Prelude.Maybe ReadSetFiles)
+getReadSetMetadataResponse_files = Lens.lens (\GetReadSetMetadataResponse' {files} -> files) (\s@GetReadSetMetadataResponse' {} a -> s {files = a} :: GetReadSetMetadataResponse)
+
+-- | The read set\'s name.
+getReadSetMetadataResponse_name :: Lens.Lens' GetReadSetMetadataResponse (Prelude.Maybe Prelude.Text)
+getReadSetMetadataResponse_name = Lens.lens (\GetReadSetMetadataResponse' {name} -> name) (\s@GetReadSetMetadataResponse' {} a -> s {name = a} :: GetReadSetMetadataResponse)
+
+-- | The read set\'s genome reference ARN.
+getReadSetMetadataResponse_referenceArn :: Lens.Lens' GetReadSetMetadataResponse (Prelude.Maybe Prelude.Text)
+getReadSetMetadataResponse_referenceArn = Lens.lens (\GetReadSetMetadataResponse' {referenceArn} -> referenceArn) (\s@GetReadSetMetadataResponse' {} a -> s {referenceArn = a} :: GetReadSetMetadataResponse)
+
+-- | The read set\'s sample ID.
+getReadSetMetadataResponse_sampleId :: Lens.Lens' GetReadSetMetadataResponse (Prelude.Maybe Prelude.Text)
+getReadSetMetadataResponse_sampleId = Lens.lens (\GetReadSetMetadataResponse' {sampleId} -> sampleId) (\s@GetReadSetMetadataResponse' {} a -> s {sampleId = a} :: GetReadSetMetadataResponse)
+
+-- | The read set\'s sequence information.
+getReadSetMetadataResponse_sequenceInformation :: Lens.Lens' GetReadSetMetadataResponse (Prelude.Maybe SequenceInformation)
+getReadSetMetadataResponse_sequenceInformation = Lens.lens (\GetReadSetMetadataResponse' {sequenceInformation} -> sequenceInformation) (\s@GetReadSetMetadataResponse' {} a -> s {sequenceInformation = a} :: GetReadSetMetadataResponse)
+
+-- | The read set\'s subject ID.
+getReadSetMetadataResponse_subjectId :: Lens.Lens' GetReadSetMetadataResponse (Prelude.Maybe Prelude.Text)
+getReadSetMetadataResponse_subjectId = Lens.lens (\GetReadSetMetadataResponse' {subjectId} -> subjectId) (\s@GetReadSetMetadataResponse' {} a -> s {subjectId = a} :: GetReadSetMetadataResponse)
+
+-- | The response's http status code.
+getReadSetMetadataResponse_httpStatus :: Lens.Lens' GetReadSetMetadataResponse Prelude.Int
+getReadSetMetadataResponse_httpStatus = Lens.lens (\GetReadSetMetadataResponse' {httpStatus} -> httpStatus) (\s@GetReadSetMetadataResponse' {} a -> s {httpStatus = a} :: GetReadSetMetadataResponse)
+
+-- | The read set\'s ARN.
+getReadSetMetadataResponse_arn :: Lens.Lens' GetReadSetMetadataResponse Prelude.Text
+getReadSetMetadataResponse_arn = Lens.lens (\GetReadSetMetadataResponse' {arn} -> arn) (\s@GetReadSetMetadataResponse' {} a -> s {arn = a} :: GetReadSetMetadataResponse)
+
+-- | When the read set was created.
+getReadSetMetadataResponse_creationTime :: Lens.Lens' GetReadSetMetadataResponse Prelude.UTCTime
+getReadSetMetadataResponse_creationTime = Lens.lens (\GetReadSetMetadataResponse' {creationTime} -> creationTime) (\s@GetReadSetMetadataResponse' {} a -> s {creationTime = a} :: GetReadSetMetadataResponse) Prelude.. Data._Time
+
+-- | The read set\'s file type.
+getReadSetMetadataResponse_fileType :: Lens.Lens' GetReadSetMetadataResponse FileType
+getReadSetMetadataResponse_fileType = Lens.lens (\GetReadSetMetadataResponse' {fileType} -> fileType) (\s@GetReadSetMetadataResponse' {} a -> s {fileType = a} :: GetReadSetMetadataResponse)
+
+-- | The read set\'s ID.
+getReadSetMetadataResponse_id :: Lens.Lens' GetReadSetMetadataResponse Prelude.Text
+getReadSetMetadataResponse_id = Lens.lens (\GetReadSetMetadataResponse' {id} -> id) (\s@GetReadSetMetadataResponse' {} a -> s {id = a} :: GetReadSetMetadataResponse)
+
+-- | The read set\'s sequence store ID.
+getReadSetMetadataResponse_sequenceStoreId :: Lens.Lens' GetReadSetMetadataResponse Prelude.Text
+getReadSetMetadataResponse_sequenceStoreId = Lens.lens (\GetReadSetMetadataResponse' {sequenceStoreId} -> sequenceStoreId) (\s@GetReadSetMetadataResponse' {} a -> s {sequenceStoreId = a} :: GetReadSetMetadataResponse)
+
+-- | The read set\'s status.
+getReadSetMetadataResponse_status :: Lens.Lens' GetReadSetMetadataResponse ReadSetStatus
+getReadSetMetadataResponse_status = Lens.lens (\GetReadSetMetadataResponse' {status} -> status) (\s@GetReadSetMetadataResponse' {} a -> s {status = a} :: GetReadSetMetadataResponse)
+
+instance Prelude.NFData GetReadSetMetadataResponse where
+  rnf GetReadSetMetadataResponse' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf files
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf referenceArn
+      `Prelude.seq` Prelude.rnf sampleId
+      `Prelude.seq` Prelude.rnf sequenceInformation
+      `Prelude.seq` Prelude.rnf subjectId
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf fileType
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/GetReference.hs b/gen/Amazonka/Omics/GetReference.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetReference.hs
@@ -0,0 +1,214 @@
+{-# 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.Omics.GetReference
+-- 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 a reference file.
+module Amazonka.Omics.GetReference
+  ( -- * Creating a Request
+    GetReference (..),
+    newGetReference,
+
+    -- * Request Lenses
+    getReference_file,
+    getReference_range,
+    getReference_id,
+    getReference_partNumber,
+    getReference_referenceStoreId,
+
+    -- * Destructuring the Response
+    GetReferenceResponse (..),
+    newGetReferenceResponse,
+
+    -- * Response Lenses
+    getReferenceResponse_httpStatus,
+    getReferenceResponse_payload,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetReference' smart constructor.
+data GetReference = GetReference'
+  { -- | The file to retrieve.
+    file :: Prelude.Maybe ReferenceFile,
+    -- | The range to retrieve.
+    range :: Prelude.Maybe Prelude.Text,
+    -- | The reference\'s ID.
+    id :: Prelude.Text,
+    -- | The part number to retrieve.
+    partNumber :: Prelude.Natural,
+    -- | The reference\'s store ID.
+    referenceStoreId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReference' 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:
+--
+-- 'file', 'getReference_file' - The file to retrieve.
+--
+-- 'range', 'getReference_range' - The range to retrieve.
+--
+-- 'id', 'getReference_id' - The reference\'s ID.
+--
+-- 'partNumber', 'getReference_partNumber' - The part number to retrieve.
+--
+-- 'referenceStoreId', 'getReference_referenceStoreId' - The reference\'s store ID.
+newGetReference ::
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'partNumber'
+  Prelude.Natural ->
+  -- | 'referenceStoreId'
+  Prelude.Text ->
+  GetReference
+newGetReference pId_ pPartNumber_ pReferenceStoreId_ =
+  GetReference'
+    { file = Prelude.Nothing,
+      range = Prelude.Nothing,
+      id = pId_,
+      partNumber = pPartNumber_,
+      referenceStoreId = pReferenceStoreId_
+    }
+
+-- | The file to retrieve.
+getReference_file :: Lens.Lens' GetReference (Prelude.Maybe ReferenceFile)
+getReference_file = Lens.lens (\GetReference' {file} -> file) (\s@GetReference' {} a -> s {file = a} :: GetReference)
+
+-- | The range to retrieve.
+getReference_range :: Lens.Lens' GetReference (Prelude.Maybe Prelude.Text)
+getReference_range = Lens.lens (\GetReference' {range} -> range) (\s@GetReference' {} a -> s {range = a} :: GetReference)
+
+-- | The reference\'s ID.
+getReference_id :: Lens.Lens' GetReference Prelude.Text
+getReference_id = Lens.lens (\GetReference' {id} -> id) (\s@GetReference' {} a -> s {id = a} :: GetReference)
+
+-- | The part number to retrieve.
+getReference_partNumber :: Lens.Lens' GetReference Prelude.Natural
+getReference_partNumber = Lens.lens (\GetReference' {partNumber} -> partNumber) (\s@GetReference' {} a -> s {partNumber = a} :: GetReference)
+
+-- | The reference\'s store ID.
+getReference_referenceStoreId :: Lens.Lens' GetReference Prelude.Text
+getReference_referenceStoreId = Lens.lens (\GetReference' {referenceStoreId} -> referenceStoreId) (\s@GetReference' {} a -> s {referenceStoreId = a} :: GetReference)
+
+instance Core.AWSRequest GetReference where
+  type AWSResponse GetReference = GetReferenceResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveBody
+      ( \s h x ->
+          GetReferenceResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (Prelude.pure x)
+      )
+
+instance Prelude.Hashable GetReference where
+  hashWithSalt _salt GetReference' {..} =
+    _salt
+      `Prelude.hashWithSalt` file
+      `Prelude.hashWithSalt` range
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` partNumber
+      `Prelude.hashWithSalt` referenceStoreId
+
+instance Prelude.NFData GetReference where
+  rnf GetReference' {..} =
+    Prelude.rnf file
+      `Prelude.seq` Prelude.rnf range
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf partNumber
+      `Prelude.seq` Prelude.rnf referenceStoreId
+
+instance Data.ToHeaders GetReference where
+  toHeaders GetReference' {..} =
+    Prelude.mconcat
+      [ "Range" Data.=# range,
+        "Content-Type"
+          Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)
+      ]
+
+instance Data.ToPath GetReference where
+  toPath GetReference' {..} =
+    Prelude.mconcat
+      [ "/referencestore/",
+        Data.toBS referenceStoreId,
+        "/reference/",
+        Data.toBS id
+      ]
+
+instance Data.ToQuery GetReference where
+  toQuery GetReference' {..} =
+    Prelude.mconcat
+      [ "file" Data.=: file,
+        "partNumber" Data.=: partNumber
+      ]
+
+-- | /See:/ 'newGetReferenceResponse' smart constructor.
+data GetReferenceResponse = GetReferenceResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The reference file payload.
+    payload :: Data.ResponseBody
+  }
+  deriving (Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReferenceResponse' 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', 'getReferenceResponse_httpStatus' - The response's http status code.
+--
+-- 'payload', 'getReferenceResponse_payload' - The reference file payload.
+newGetReferenceResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'payload'
+  Data.ResponseBody ->
+  GetReferenceResponse
+newGetReferenceResponse pHttpStatus_ pPayload_ =
+  GetReferenceResponse'
+    { httpStatus = pHttpStatus_,
+      payload = pPayload_
+    }
+
+-- | The response's http status code.
+getReferenceResponse_httpStatus :: Lens.Lens' GetReferenceResponse Prelude.Int
+getReferenceResponse_httpStatus = Lens.lens (\GetReferenceResponse' {httpStatus} -> httpStatus) (\s@GetReferenceResponse' {} a -> s {httpStatus = a} :: GetReferenceResponse)
+
+-- | The reference file payload.
+getReferenceResponse_payload :: Lens.Lens' GetReferenceResponse Data.ResponseBody
+getReferenceResponse_payload = Lens.lens (\GetReferenceResponse' {payload} -> payload) (\s@GetReferenceResponse' {} a -> s {payload = a} :: GetReferenceResponse)
diff --git a/gen/Amazonka/Omics/GetReferenceImportJob.hs b/gen/Amazonka/Omics/GetReferenceImportJob.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetReferenceImportJob.hs
@@ -0,0 +1,282 @@
+{-# 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.Omics.GetReferenceImportJob
+-- 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 information about a reference import job.
+module Amazonka.Omics.GetReferenceImportJob
+  ( -- * Creating a Request
+    GetReferenceImportJob (..),
+    newGetReferenceImportJob,
+
+    -- * Request Lenses
+    getReferenceImportJob_id,
+    getReferenceImportJob_referenceStoreId,
+
+    -- * Destructuring the Response
+    GetReferenceImportJobResponse (..),
+    newGetReferenceImportJobResponse,
+
+    -- * Response Lenses
+    getReferenceImportJobResponse_completionTime,
+    getReferenceImportJobResponse_statusMessage,
+    getReferenceImportJobResponse_httpStatus,
+    getReferenceImportJobResponse_creationTime,
+    getReferenceImportJobResponse_id,
+    getReferenceImportJobResponse_referenceStoreId,
+    getReferenceImportJobResponse_roleArn,
+    getReferenceImportJobResponse_sources,
+    getReferenceImportJobResponse_status,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetReferenceImportJob' smart constructor.
+data GetReferenceImportJob = GetReferenceImportJob'
+  { -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s reference store ID.
+    referenceStoreId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReferenceImportJob' 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', 'getReferenceImportJob_id' - The job\'s ID.
+--
+-- 'referenceStoreId', 'getReferenceImportJob_referenceStoreId' - The job\'s reference store ID.
+newGetReferenceImportJob ::
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'referenceStoreId'
+  Prelude.Text ->
+  GetReferenceImportJob
+newGetReferenceImportJob pId_ pReferenceStoreId_ =
+  GetReferenceImportJob'
+    { id = pId_,
+      referenceStoreId = pReferenceStoreId_
+    }
+
+-- | The job\'s ID.
+getReferenceImportJob_id :: Lens.Lens' GetReferenceImportJob Prelude.Text
+getReferenceImportJob_id = Lens.lens (\GetReferenceImportJob' {id} -> id) (\s@GetReferenceImportJob' {} a -> s {id = a} :: GetReferenceImportJob)
+
+-- | The job\'s reference store ID.
+getReferenceImportJob_referenceStoreId :: Lens.Lens' GetReferenceImportJob Prelude.Text
+getReferenceImportJob_referenceStoreId = Lens.lens (\GetReferenceImportJob' {referenceStoreId} -> referenceStoreId) (\s@GetReferenceImportJob' {} a -> s {referenceStoreId = a} :: GetReferenceImportJob)
+
+instance Core.AWSRequest GetReferenceImportJob where
+  type
+    AWSResponse GetReferenceImportJob =
+      GetReferenceImportJobResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          GetReferenceImportJobResponse'
+            Prelude.<$> (x Data..?> "completionTime")
+            Prelude.<*> (x Data..?> "statusMessage")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "referenceStoreId")
+            Prelude.<*> (x Data..:> "roleArn")
+            Prelude.<*> (x Data..?> "sources" Core..!@ Prelude.mempty)
+            Prelude.<*> (x Data..:> "status")
+      )
+
+instance Prelude.Hashable GetReferenceImportJob where
+  hashWithSalt _salt GetReferenceImportJob' {..} =
+    _salt
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` referenceStoreId
+
+instance Prelude.NFData GetReferenceImportJob where
+  rnf GetReferenceImportJob' {..} =
+    Prelude.rnf id
+      `Prelude.seq` Prelude.rnf referenceStoreId
+
+instance Data.ToHeaders GetReferenceImportJob where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetReferenceImportJob where
+  toPath GetReferenceImportJob' {..} =
+    Prelude.mconcat
+      [ "/referencestore/",
+        Data.toBS referenceStoreId,
+        "/importjob/",
+        Data.toBS id
+      ]
+
+instance Data.ToQuery GetReferenceImportJob where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newGetReferenceImportJobResponse' smart constructor.
+data GetReferenceImportJobResponse = GetReferenceImportJobResponse'
+  { -- | When the job completed.
+    completionTime :: Prelude.Maybe Data.ISO8601,
+    -- | The job\'s status message.
+    statusMessage :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | When the job was created.
+    creationTime :: Data.ISO8601,
+    -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s reference store ID.
+    referenceStoreId :: Prelude.Text,
+    -- | The job\'s service role ARN.
+    roleArn :: Prelude.Text,
+    -- | The job\'s sources.
+    sources :: [ImportReferenceSourceItem],
+    -- | The job\'s status.
+    status :: ReferenceImportJobStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReferenceImportJobResponse' 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:
+--
+-- 'completionTime', 'getReferenceImportJobResponse_completionTime' - When the job completed.
+--
+-- 'statusMessage', 'getReferenceImportJobResponse_statusMessage' - The job\'s status message.
+--
+-- 'httpStatus', 'getReferenceImportJobResponse_httpStatus' - The response's http status code.
+--
+-- 'creationTime', 'getReferenceImportJobResponse_creationTime' - When the job was created.
+--
+-- 'id', 'getReferenceImportJobResponse_id' - The job\'s ID.
+--
+-- 'referenceStoreId', 'getReferenceImportJobResponse_referenceStoreId' - The job\'s reference store ID.
+--
+-- 'roleArn', 'getReferenceImportJobResponse_roleArn' - The job\'s service role ARN.
+--
+-- 'sources', 'getReferenceImportJobResponse_sources' - The job\'s sources.
+--
+-- 'status', 'getReferenceImportJobResponse_status' - The job\'s status.
+newGetReferenceImportJobResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'referenceStoreId'
+  Prelude.Text ->
+  -- | 'roleArn'
+  Prelude.Text ->
+  -- | 'status'
+  ReferenceImportJobStatus ->
+  GetReferenceImportJobResponse
+newGetReferenceImportJobResponse
+  pHttpStatus_
+  pCreationTime_
+  pId_
+  pReferenceStoreId_
+  pRoleArn_
+  pStatus_ =
+    GetReferenceImportJobResponse'
+      { completionTime =
+          Prelude.Nothing,
+        statusMessage = Prelude.Nothing,
+        httpStatus = pHttpStatus_,
+        creationTime =
+          Data._Time Lens.# pCreationTime_,
+        id = pId_,
+        referenceStoreId = pReferenceStoreId_,
+        roleArn = pRoleArn_,
+        sources = Prelude.mempty,
+        status = pStatus_
+      }
+
+-- | When the job completed.
+getReferenceImportJobResponse_completionTime :: Lens.Lens' GetReferenceImportJobResponse (Prelude.Maybe Prelude.UTCTime)
+getReferenceImportJobResponse_completionTime = Lens.lens (\GetReferenceImportJobResponse' {completionTime} -> completionTime) (\s@GetReferenceImportJobResponse' {} a -> s {completionTime = a} :: GetReferenceImportJobResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The job\'s status message.
+getReferenceImportJobResponse_statusMessage :: Lens.Lens' GetReferenceImportJobResponse (Prelude.Maybe Prelude.Text)
+getReferenceImportJobResponse_statusMessage = Lens.lens (\GetReferenceImportJobResponse' {statusMessage} -> statusMessage) (\s@GetReferenceImportJobResponse' {} a -> s {statusMessage = a} :: GetReferenceImportJobResponse)
+
+-- | The response's http status code.
+getReferenceImportJobResponse_httpStatus :: Lens.Lens' GetReferenceImportJobResponse Prelude.Int
+getReferenceImportJobResponse_httpStatus = Lens.lens (\GetReferenceImportJobResponse' {httpStatus} -> httpStatus) (\s@GetReferenceImportJobResponse' {} a -> s {httpStatus = a} :: GetReferenceImportJobResponse)
+
+-- | When the job was created.
+getReferenceImportJobResponse_creationTime :: Lens.Lens' GetReferenceImportJobResponse Prelude.UTCTime
+getReferenceImportJobResponse_creationTime = Lens.lens (\GetReferenceImportJobResponse' {creationTime} -> creationTime) (\s@GetReferenceImportJobResponse' {} a -> s {creationTime = a} :: GetReferenceImportJobResponse) Prelude.. Data._Time
+
+-- | The job\'s ID.
+getReferenceImportJobResponse_id :: Lens.Lens' GetReferenceImportJobResponse Prelude.Text
+getReferenceImportJobResponse_id = Lens.lens (\GetReferenceImportJobResponse' {id} -> id) (\s@GetReferenceImportJobResponse' {} a -> s {id = a} :: GetReferenceImportJobResponse)
+
+-- | The job\'s reference store ID.
+getReferenceImportJobResponse_referenceStoreId :: Lens.Lens' GetReferenceImportJobResponse Prelude.Text
+getReferenceImportJobResponse_referenceStoreId = Lens.lens (\GetReferenceImportJobResponse' {referenceStoreId} -> referenceStoreId) (\s@GetReferenceImportJobResponse' {} a -> s {referenceStoreId = a} :: GetReferenceImportJobResponse)
+
+-- | The job\'s service role ARN.
+getReferenceImportJobResponse_roleArn :: Lens.Lens' GetReferenceImportJobResponse Prelude.Text
+getReferenceImportJobResponse_roleArn = Lens.lens (\GetReferenceImportJobResponse' {roleArn} -> roleArn) (\s@GetReferenceImportJobResponse' {} a -> s {roleArn = a} :: GetReferenceImportJobResponse)
+
+-- | The job\'s sources.
+getReferenceImportJobResponse_sources :: Lens.Lens' GetReferenceImportJobResponse [ImportReferenceSourceItem]
+getReferenceImportJobResponse_sources = Lens.lens (\GetReferenceImportJobResponse' {sources} -> sources) (\s@GetReferenceImportJobResponse' {} a -> s {sources = a} :: GetReferenceImportJobResponse) Prelude.. Lens.coerced
+
+-- | The job\'s status.
+getReferenceImportJobResponse_status :: Lens.Lens' GetReferenceImportJobResponse ReferenceImportJobStatus
+getReferenceImportJobResponse_status = Lens.lens (\GetReferenceImportJobResponse' {status} -> status) (\s@GetReferenceImportJobResponse' {} a -> s {status = a} :: GetReferenceImportJobResponse)
+
+instance Prelude.NFData GetReferenceImportJobResponse where
+  rnf GetReferenceImportJobResponse' {..} =
+    Prelude.rnf completionTime
+      `Prelude.seq` Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf referenceStoreId
+      `Prelude.seq` Prelude.rnf roleArn
+      `Prelude.seq` Prelude.rnf sources
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/GetReferenceMetadata.hs b/gen/Amazonka/Omics/GetReferenceMetadata.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetReferenceMetadata.hs
@@ -0,0 +1,310 @@
+{-# 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.Omics.GetReferenceMetadata
+-- 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 information about a genome reference\'s metadata.
+module Amazonka.Omics.GetReferenceMetadata
+  ( -- * Creating a Request
+    GetReferenceMetadata (..),
+    newGetReferenceMetadata,
+
+    -- * Request Lenses
+    getReferenceMetadata_id,
+    getReferenceMetadata_referenceStoreId,
+
+    -- * Destructuring the Response
+    GetReferenceMetadataResponse (..),
+    newGetReferenceMetadataResponse,
+
+    -- * Response Lenses
+    getReferenceMetadataResponse_description,
+    getReferenceMetadataResponse_files,
+    getReferenceMetadataResponse_name,
+    getReferenceMetadataResponse_status,
+    getReferenceMetadataResponse_httpStatus,
+    getReferenceMetadataResponse_arn,
+    getReferenceMetadataResponse_creationTime,
+    getReferenceMetadataResponse_id,
+    getReferenceMetadataResponse_md5,
+    getReferenceMetadataResponse_referenceStoreId,
+    getReferenceMetadataResponse_updateTime,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetReferenceMetadata' smart constructor.
+data GetReferenceMetadata = GetReferenceMetadata'
+  { -- | The reference\'s ID.
+    id :: Prelude.Text,
+    -- | The reference\'s reference store ID.
+    referenceStoreId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReferenceMetadata' 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', 'getReferenceMetadata_id' - The reference\'s ID.
+--
+-- 'referenceStoreId', 'getReferenceMetadata_referenceStoreId' - The reference\'s reference store ID.
+newGetReferenceMetadata ::
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'referenceStoreId'
+  Prelude.Text ->
+  GetReferenceMetadata
+newGetReferenceMetadata pId_ pReferenceStoreId_ =
+  GetReferenceMetadata'
+    { id = pId_,
+      referenceStoreId = pReferenceStoreId_
+    }
+
+-- | The reference\'s ID.
+getReferenceMetadata_id :: Lens.Lens' GetReferenceMetadata Prelude.Text
+getReferenceMetadata_id = Lens.lens (\GetReferenceMetadata' {id} -> id) (\s@GetReferenceMetadata' {} a -> s {id = a} :: GetReferenceMetadata)
+
+-- | The reference\'s reference store ID.
+getReferenceMetadata_referenceStoreId :: Lens.Lens' GetReferenceMetadata Prelude.Text
+getReferenceMetadata_referenceStoreId = Lens.lens (\GetReferenceMetadata' {referenceStoreId} -> referenceStoreId) (\s@GetReferenceMetadata' {} a -> s {referenceStoreId = a} :: GetReferenceMetadata)
+
+instance Core.AWSRequest GetReferenceMetadata where
+  type
+    AWSResponse GetReferenceMetadata =
+      GetReferenceMetadataResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          GetReferenceMetadataResponse'
+            Prelude.<$> (x Data..?> "description")
+            Prelude.<*> (x Data..?> "files")
+            Prelude.<*> (x Data..?> "name")
+            Prelude.<*> (x Data..?> "status")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "arn")
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "md5")
+            Prelude.<*> (x Data..:> "referenceStoreId")
+            Prelude.<*> (x Data..:> "updateTime")
+      )
+
+instance Prelude.Hashable GetReferenceMetadata where
+  hashWithSalt _salt GetReferenceMetadata' {..} =
+    _salt
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` referenceStoreId
+
+instance Prelude.NFData GetReferenceMetadata where
+  rnf GetReferenceMetadata' {..} =
+    Prelude.rnf id
+      `Prelude.seq` Prelude.rnf referenceStoreId
+
+instance Data.ToHeaders GetReferenceMetadata where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetReferenceMetadata where
+  toPath GetReferenceMetadata' {..} =
+    Prelude.mconcat
+      [ "/referencestore/",
+        Data.toBS referenceStoreId,
+        "/reference/",
+        Data.toBS id,
+        "/metadata"
+      ]
+
+instance Data.ToQuery GetReferenceMetadata where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newGetReferenceMetadataResponse' smart constructor.
+data GetReferenceMetadataResponse = GetReferenceMetadataResponse'
+  { -- | The reference\'s description.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | The reference\'s files.
+    files :: Prelude.Maybe ReferenceFiles,
+    -- | The reference\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The reference\'s status.
+    status :: Prelude.Maybe ReferenceStatus,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The reference\'s ARN.
+    arn :: Prelude.Text,
+    -- | When the reference was created.
+    creationTime :: Data.ISO8601,
+    -- | The reference\'s ID.
+    id :: Prelude.Text,
+    -- | The reference\'s MD5 checksum.
+    md5 :: Prelude.Text,
+    -- | The reference\'s reference store ID.
+    referenceStoreId :: Prelude.Text,
+    -- | When the reference was updated.
+    updateTime :: Data.ISO8601
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReferenceMetadataResponse' 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', 'getReferenceMetadataResponse_description' - The reference\'s description.
+--
+-- 'files', 'getReferenceMetadataResponse_files' - The reference\'s files.
+--
+-- 'name', 'getReferenceMetadataResponse_name' - The reference\'s name.
+--
+-- 'status', 'getReferenceMetadataResponse_status' - The reference\'s status.
+--
+-- 'httpStatus', 'getReferenceMetadataResponse_httpStatus' - The response's http status code.
+--
+-- 'arn', 'getReferenceMetadataResponse_arn' - The reference\'s ARN.
+--
+-- 'creationTime', 'getReferenceMetadataResponse_creationTime' - When the reference was created.
+--
+-- 'id', 'getReferenceMetadataResponse_id' - The reference\'s ID.
+--
+-- 'md5', 'getReferenceMetadataResponse_md5' - The reference\'s MD5 checksum.
+--
+-- 'referenceStoreId', 'getReferenceMetadataResponse_referenceStoreId' - The reference\'s reference store ID.
+--
+-- 'updateTime', 'getReferenceMetadataResponse_updateTime' - When the reference was updated.
+newGetReferenceMetadataResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'arn'
+  Prelude.Text ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'md5'
+  Prelude.Text ->
+  -- | 'referenceStoreId'
+  Prelude.Text ->
+  -- | 'updateTime'
+  Prelude.UTCTime ->
+  GetReferenceMetadataResponse
+newGetReferenceMetadataResponse
+  pHttpStatus_
+  pArn_
+  pCreationTime_
+  pId_
+  pMd5_
+  pReferenceStoreId_
+  pUpdateTime_ =
+    GetReferenceMetadataResponse'
+      { description =
+          Prelude.Nothing,
+        files = Prelude.Nothing,
+        name = Prelude.Nothing,
+        status = Prelude.Nothing,
+        httpStatus = pHttpStatus_,
+        arn = pArn_,
+        creationTime =
+          Data._Time Lens.# pCreationTime_,
+        id = pId_,
+        md5 = pMd5_,
+        referenceStoreId = pReferenceStoreId_,
+        updateTime = Data._Time Lens.# pUpdateTime_
+      }
+
+-- | The reference\'s description.
+getReferenceMetadataResponse_description :: Lens.Lens' GetReferenceMetadataResponse (Prelude.Maybe Prelude.Text)
+getReferenceMetadataResponse_description = Lens.lens (\GetReferenceMetadataResponse' {description} -> description) (\s@GetReferenceMetadataResponse' {} a -> s {description = a} :: GetReferenceMetadataResponse)
+
+-- | The reference\'s files.
+getReferenceMetadataResponse_files :: Lens.Lens' GetReferenceMetadataResponse (Prelude.Maybe ReferenceFiles)
+getReferenceMetadataResponse_files = Lens.lens (\GetReferenceMetadataResponse' {files} -> files) (\s@GetReferenceMetadataResponse' {} a -> s {files = a} :: GetReferenceMetadataResponse)
+
+-- | The reference\'s name.
+getReferenceMetadataResponse_name :: Lens.Lens' GetReferenceMetadataResponse (Prelude.Maybe Prelude.Text)
+getReferenceMetadataResponse_name = Lens.lens (\GetReferenceMetadataResponse' {name} -> name) (\s@GetReferenceMetadataResponse' {} a -> s {name = a} :: GetReferenceMetadataResponse)
+
+-- | The reference\'s status.
+getReferenceMetadataResponse_status :: Lens.Lens' GetReferenceMetadataResponse (Prelude.Maybe ReferenceStatus)
+getReferenceMetadataResponse_status = Lens.lens (\GetReferenceMetadataResponse' {status} -> status) (\s@GetReferenceMetadataResponse' {} a -> s {status = a} :: GetReferenceMetadataResponse)
+
+-- | The response's http status code.
+getReferenceMetadataResponse_httpStatus :: Lens.Lens' GetReferenceMetadataResponse Prelude.Int
+getReferenceMetadataResponse_httpStatus = Lens.lens (\GetReferenceMetadataResponse' {httpStatus} -> httpStatus) (\s@GetReferenceMetadataResponse' {} a -> s {httpStatus = a} :: GetReferenceMetadataResponse)
+
+-- | The reference\'s ARN.
+getReferenceMetadataResponse_arn :: Lens.Lens' GetReferenceMetadataResponse Prelude.Text
+getReferenceMetadataResponse_arn = Lens.lens (\GetReferenceMetadataResponse' {arn} -> arn) (\s@GetReferenceMetadataResponse' {} a -> s {arn = a} :: GetReferenceMetadataResponse)
+
+-- | When the reference was created.
+getReferenceMetadataResponse_creationTime :: Lens.Lens' GetReferenceMetadataResponse Prelude.UTCTime
+getReferenceMetadataResponse_creationTime = Lens.lens (\GetReferenceMetadataResponse' {creationTime} -> creationTime) (\s@GetReferenceMetadataResponse' {} a -> s {creationTime = a} :: GetReferenceMetadataResponse) Prelude.. Data._Time
+
+-- | The reference\'s ID.
+getReferenceMetadataResponse_id :: Lens.Lens' GetReferenceMetadataResponse Prelude.Text
+getReferenceMetadataResponse_id = Lens.lens (\GetReferenceMetadataResponse' {id} -> id) (\s@GetReferenceMetadataResponse' {} a -> s {id = a} :: GetReferenceMetadataResponse)
+
+-- | The reference\'s MD5 checksum.
+getReferenceMetadataResponse_md5 :: Lens.Lens' GetReferenceMetadataResponse Prelude.Text
+getReferenceMetadataResponse_md5 = Lens.lens (\GetReferenceMetadataResponse' {md5} -> md5) (\s@GetReferenceMetadataResponse' {} a -> s {md5 = a} :: GetReferenceMetadataResponse)
+
+-- | The reference\'s reference store ID.
+getReferenceMetadataResponse_referenceStoreId :: Lens.Lens' GetReferenceMetadataResponse Prelude.Text
+getReferenceMetadataResponse_referenceStoreId = Lens.lens (\GetReferenceMetadataResponse' {referenceStoreId} -> referenceStoreId) (\s@GetReferenceMetadataResponse' {} a -> s {referenceStoreId = a} :: GetReferenceMetadataResponse)
+
+-- | When the reference was updated.
+getReferenceMetadataResponse_updateTime :: Lens.Lens' GetReferenceMetadataResponse Prelude.UTCTime
+getReferenceMetadataResponse_updateTime = Lens.lens (\GetReferenceMetadataResponse' {updateTime} -> updateTime) (\s@GetReferenceMetadataResponse' {} a -> s {updateTime = a} :: GetReferenceMetadataResponse) Prelude.. Data._Time
+
+instance Prelude.NFData GetReferenceMetadataResponse where
+  rnf GetReferenceMetadataResponse' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf files
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf md5
+      `Prelude.seq` Prelude.rnf referenceStoreId
+      `Prelude.seq` Prelude.rnf updateTime
diff --git a/gen/Amazonka/Omics/GetReferenceStore.hs b/gen/Amazonka/Omics/GetReferenceStore.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetReferenceStore.hs
@@ -0,0 +1,228 @@
+{-# 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.Omics.GetReferenceStore
+-- 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 information about a reference store.
+module Amazonka.Omics.GetReferenceStore
+  ( -- * Creating a Request
+    GetReferenceStore (..),
+    newGetReferenceStore,
+
+    -- * Request Lenses
+    getReferenceStore_id,
+
+    -- * Destructuring the Response
+    GetReferenceStoreResponse (..),
+    newGetReferenceStoreResponse,
+
+    -- * Response Lenses
+    getReferenceStoreResponse_description,
+    getReferenceStoreResponse_name,
+    getReferenceStoreResponse_sseConfig,
+    getReferenceStoreResponse_httpStatus,
+    getReferenceStoreResponse_arn,
+    getReferenceStoreResponse_creationTime,
+    getReferenceStoreResponse_id,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetReferenceStore' smart constructor.
+data GetReferenceStore = GetReferenceStore'
+  { -- | The store\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReferenceStore' 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', 'getReferenceStore_id' - The store\'s ID.
+newGetReferenceStore ::
+  -- | 'id'
+  Prelude.Text ->
+  GetReferenceStore
+newGetReferenceStore pId_ =
+  GetReferenceStore' {id = pId_}
+
+-- | The store\'s ID.
+getReferenceStore_id :: Lens.Lens' GetReferenceStore Prelude.Text
+getReferenceStore_id = Lens.lens (\GetReferenceStore' {id} -> id) (\s@GetReferenceStore' {} a -> s {id = a} :: GetReferenceStore)
+
+instance Core.AWSRequest GetReferenceStore where
+  type
+    AWSResponse GetReferenceStore =
+      GetReferenceStoreResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          GetReferenceStoreResponse'
+            Prelude.<$> (x Data..?> "description")
+            Prelude.<*> (x Data..?> "name")
+            Prelude.<*> (x Data..?> "sseConfig")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "arn")
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "id")
+      )
+
+instance Prelude.Hashable GetReferenceStore where
+  hashWithSalt _salt GetReferenceStore' {..} =
+    _salt `Prelude.hashWithSalt` id
+
+instance Prelude.NFData GetReferenceStore where
+  rnf GetReferenceStore' {..} = Prelude.rnf id
+
+instance Data.ToHeaders GetReferenceStore where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetReferenceStore where
+  toPath GetReferenceStore' {..} =
+    Prelude.mconcat ["/referencestore/", Data.toBS id]
+
+instance Data.ToQuery GetReferenceStore where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newGetReferenceStoreResponse' smart constructor.
+data GetReferenceStoreResponse = GetReferenceStoreResponse'
+  { -- | The store\'s description.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | The store\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The store\'s server-side encryption (SSE) settings.
+    sseConfig :: Prelude.Maybe SseConfig,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The store\'s ARN.
+    arn :: Prelude.Text,
+    -- | When the store was created.
+    creationTime :: Data.ISO8601,
+    -- | The store\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetReferenceStoreResponse' 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', 'getReferenceStoreResponse_description' - The store\'s description.
+--
+-- 'name', 'getReferenceStoreResponse_name' - The store\'s name.
+--
+-- 'sseConfig', 'getReferenceStoreResponse_sseConfig' - The store\'s server-side encryption (SSE) settings.
+--
+-- 'httpStatus', 'getReferenceStoreResponse_httpStatus' - The response's http status code.
+--
+-- 'arn', 'getReferenceStoreResponse_arn' - The store\'s ARN.
+--
+-- 'creationTime', 'getReferenceStoreResponse_creationTime' - When the store was created.
+--
+-- 'id', 'getReferenceStoreResponse_id' - The store\'s ID.
+newGetReferenceStoreResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'arn'
+  Prelude.Text ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  GetReferenceStoreResponse
+newGetReferenceStoreResponse
+  pHttpStatus_
+  pArn_
+  pCreationTime_
+  pId_ =
+    GetReferenceStoreResponse'
+      { description =
+          Prelude.Nothing,
+        name = Prelude.Nothing,
+        sseConfig = Prelude.Nothing,
+        httpStatus = pHttpStatus_,
+        arn = pArn_,
+        creationTime = Data._Time Lens.# pCreationTime_,
+        id = pId_
+      }
+
+-- | The store\'s description.
+getReferenceStoreResponse_description :: Lens.Lens' GetReferenceStoreResponse (Prelude.Maybe Prelude.Text)
+getReferenceStoreResponse_description = Lens.lens (\GetReferenceStoreResponse' {description} -> description) (\s@GetReferenceStoreResponse' {} a -> s {description = a} :: GetReferenceStoreResponse)
+
+-- | The store\'s name.
+getReferenceStoreResponse_name :: Lens.Lens' GetReferenceStoreResponse (Prelude.Maybe Prelude.Text)
+getReferenceStoreResponse_name = Lens.lens (\GetReferenceStoreResponse' {name} -> name) (\s@GetReferenceStoreResponse' {} a -> s {name = a} :: GetReferenceStoreResponse)
+
+-- | The store\'s server-side encryption (SSE) settings.
+getReferenceStoreResponse_sseConfig :: Lens.Lens' GetReferenceStoreResponse (Prelude.Maybe SseConfig)
+getReferenceStoreResponse_sseConfig = Lens.lens (\GetReferenceStoreResponse' {sseConfig} -> sseConfig) (\s@GetReferenceStoreResponse' {} a -> s {sseConfig = a} :: GetReferenceStoreResponse)
+
+-- | The response's http status code.
+getReferenceStoreResponse_httpStatus :: Lens.Lens' GetReferenceStoreResponse Prelude.Int
+getReferenceStoreResponse_httpStatus = Lens.lens (\GetReferenceStoreResponse' {httpStatus} -> httpStatus) (\s@GetReferenceStoreResponse' {} a -> s {httpStatus = a} :: GetReferenceStoreResponse)
+
+-- | The store\'s ARN.
+getReferenceStoreResponse_arn :: Lens.Lens' GetReferenceStoreResponse Prelude.Text
+getReferenceStoreResponse_arn = Lens.lens (\GetReferenceStoreResponse' {arn} -> arn) (\s@GetReferenceStoreResponse' {} a -> s {arn = a} :: GetReferenceStoreResponse)
+
+-- | When the store was created.
+getReferenceStoreResponse_creationTime :: Lens.Lens' GetReferenceStoreResponse Prelude.UTCTime
+getReferenceStoreResponse_creationTime = Lens.lens (\GetReferenceStoreResponse' {creationTime} -> creationTime) (\s@GetReferenceStoreResponse' {} a -> s {creationTime = a} :: GetReferenceStoreResponse) Prelude.. Data._Time
+
+-- | The store\'s ID.
+getReferenceStoreResponse_id :: Lens.Lens' GetReferenceStoreResponse Prelude.Text
+getReferenceStoreResponse_id = Lens.lens (\GetReferenceStoreResponse' {id} -> id) (\s@GetReferenceStoreResponse' {} a -> s {id = a} :: GetReferenceStoreResponse)
+
+instance Prelude.NFData GetReferenceStoreResponse where
+  rnf GetReferenceStoreResponse' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf sseConfig
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
diff --git a/gen/Amazonka/Omics/GetRun.hs b/gen/Amazonka/Omics/GetRun.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetRun.hs
@@ -0,0 +1,439 @@
+{-# 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.Omics.GetRun
+-- 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 information about a workflow run.
+module Amazonka.Omics.GetRun
+  ( -- * Creating a Request
+    GetRun (..),
+    newGetRun,
+
+    -- * Request Lenses
+    getRun_export,
+    getRun_id,
+
+    -- * Destructuring the Response
+    GetRunResponse (..),
+    newGetRunResponse,
+
+    -- * Response Lenses
+    getRunResponse_arn,
+    getRunResponse_creationTime,
+    getRunResponse_definition,
+    getRunResponse_digest,
+    getRunResponse_id,
+    getRunResponse_logLevel,
+    getRunResponse_name,
+    getRunResponse_outputUri,
+    getRunResponse_parameters,
+    getRunResponse_priority,
+    getRunResponse_resourceDigests,
+    getRunResponse_roleArn,
+    getRunResponse_runGroupId,
+    getRunResponse_runId,
+    getRunResponse_startTime,
+    getRunResponse_startedBy,
+    getRunResponse_status,
+    getRunResponse_statusMessage,
+    getRunResponse_stopTime,
+    getRunResponse_storageCapacity,
+    getRunResponse_tags,
+    getRunResponse_workflowId,
+    getRunResponse_workflowType,
+    getRunResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetRun' smart constructor.
+data GetRun = GetRun'
+  { -- | The run\'s export format.
+    export' :: Prelude.Maybe [RunExport],
+    -- | The run\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetRun' 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:
+--
+-- 'export'', 'getRun_export' - The run\'s export format.
+--
+-- 'id', 'getRun_id' - The run\'s ID.
+newGetRun ::
+  -- | 'id'
+  Prelude.Text ->
+  GetRun
+newGetRun pId_ =
+  GetRun' {export' = Prelude.Nothing, id = pId_}
+
+-- | The run\'s export format.
+getRun_export :: Lens.Lens' GetRun (Prelude.Maybe [RunExport])
+getRun_export = Lens.lens (\GetRun' {export'} -> export') (\s@GetRun' {} a -> s {export' = a} :: GetRun) Prelude.. Lens.mapping Lens.coerced
+
+-- | The run\'s ID.
+getRun_id :: Lens.Lens' GetRun Prelude.Text
+getRun_id = Lens.lens (\GetRun' {id} -> id) (\s@GetRun' {} a -> s {id = a} :: GetRun)
+
+instance Core.AWSRequest GetRun where
+  type AWSResponse GetRun = GetRunResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          GetRunResponse'
+            Prelude.<$> (x Data..?> "arn")
+            Prelude.<*> (x Data..?> "creationTime")
+            Prelude.<*> (x Data..?> "definition")
+            Prelude.<*> (x Data..?> "digest")
+            Prelude.<*> (x Data..?> "id")
+            Prelude.<*> (x Data..?> "logLevel")
+            Prelude.<*> (x Data..?> "name")
+            Prelude.<*> (x Data..?> "outputUri")
+            Prelude.<*> (x Data..?> "parameters")
+            Prelude.<*> (x Data..?> "priority")
+            Prelude.<*> ( x
+                            Data..?> "resourceDigests"
+                            Core..!@ Prelude.mempty
+                        )
+            Prelude.<*> (x Data..?> "roleArn")
+            Prelude.<*> (x Data..?> "runGroupId")
+            Prelude.<*> (x Data..?> "runId")
+            Prelude.<*> (x Data..?> "startTime")
+            Prelude.<*> (x Data..?> "startedBy")
+            Prelude.<*> (x Data..?> "status")
+            Prelude.<*> (x Data..?> "statusMessage")
+            Prelude.<*> (x Data..?> "stopTime")
+            Prelude.<*> (x Data..?> "storageCapacity")
+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)
+            Prelude.<*> (x Data..?> "workflowId")
+            Prelude.<*> (x Data..?> "workflowType")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable GetRun where
+  hashWithSalt _salt GetRun' {..} =
+    _salt
+      `Prelude.hashWithSalt` export'
+      `Prelude.hashWithSalt` id
+
+instance Prelude.NFData GetRun where
+  rnf GetRun' {..} =
+    Prelude.rnf export' `Prelude.seq` Prelude.rnf id
+
+instance Data.ToHeaders GetRun where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetRun where
+  toPath GetRun' {..} =
+    Prelude.mconcat ["/run/", Data.toBS id]
+
+instance Data.ToQuery GetRun where
+  toQuery GetRun' {..} =
+    Prelude.mconcat
+      [ "export"
+          Data.=: Data.toQuery
+            (Data.toQueryList "member" Prelude.<$> export')
+      ]
+
+-- | /See:/ 'newGetRunResponse' smart constructor.
+data GetRunResponse = GetRunResponse'
+  { -- | The run\'s ARN.
+    arn :: Prelude.Maybe Prelude.Text,
+    -- | When the run was created.
+    creationTime :: Prelude.Maybe Data.ISO8601,
+    -- | The run\'s definition.
+    definition :: Prelude.Maybe Prelude.Text,
+    -- | The run\'s digest.
+    digest :: Prelude.Maybe Prelude.Text,
+    -- | The run\'s ID.
+    id :: Prelude.Maybe Prelude.Text,
+    -- | The run\'s log level.
+    logLevel :: Prelude.Maybe RunLogLevel,
+    -- | The run\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The run\'s output URI.
+    outputUri :: Prelude.Maybe Prelude.Text,
+    -- | The run\'s parameters.
+    parameters :: Prelude.Maybe RunParameters,
+    -- | The run\'s priority.
+    priority :: Prelude.Maybe Prelude.Natural,
+    -- | The run\'s resource digests.
+    resourceDigests :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | The run\'s service role ARN.
+    roleArn :: Prelude.Maybe Prelude.Text,
+    -- | The run\'s group ID.
+    runGroupId :: Prelude.Maybe Prelude.Text,
+    -- | The run\'s ID.
+    runId :: Prelude.Maybe Prelude.Text,
+    -- | When the run started.
+    startTime :: Prelude.Maybe Data.ISO8601,
+    -- | Who started the run.
+    startedBy :: Prelude.Maybe Prelude.Text,
+    -- | The run\'s status.
+    status :: Prelude.Maybe RunStatus,
+    -- | The run\'s status message.
+    statusMessage :: Prelude.Maybe Prelude.Text,
+    -- | The run\'s stop time.
+    stopTime :: Prelude.Maybe Data.ISO8601,
+    -- | The run\'s storage capacity.
+    storageCapacity :: Prelude.Maybe Prelude.Natural,
+    -- | The run\'s tags.
+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | The run\'s workflow ID.
+    workflowId :: Prelude.Maybe Prelude.Text,
+    -- | The run\'s workflow type.
+    workflowType :: Prelude.Maybe WorkflowType,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetRunResponse' 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', 'getRunResponse_arn' - The run\'s ARN.
+--
+-- 'creationTime', 'getRunResponse_creationTime' - When the run was created.
+--
+-- 'definition', 'getRunResponse_definition' - The run\'s definition.
+--
+-- 'digest', 'getRunResponse_digest' - The run\'s digest.
+--
+-- 'id', 'getRunResponse_id' - The run\'s ID.
+--
+-- 'logLevel', 'getRunResponse_logLevel' - The run\'s log level.
+--
+-- 'name', 'getRunResponse_name' - The run\'s name.
+--
+-- 'outputUri', 'getRunResponse_outputUri' - The run\'s output URI.
+--
+-- 'parameters', 'getRunResponse_parameters' - The run\'s parameters.
+--
+-- 'priority', 'getRunResponse_priority' - The run\'s priority.
+--
+-- 'resourceDigests', 'getRunResponse_resourceDigests' - The run\'s resource digests.
+--
+-- 'roleArn', 'getRunResponse_roleArn' - The run\'s service role ARN.
+--
+-- 'runGroupId', 'getRunResponse_runGroupId' - The run\'s group ID.
+--
+-- 'runId', 'getRunResponse_runId' - The run\'s ID.
+--
+-- 'startTime', 'getRunResponse_startTime' - When the run started.
+--
+-- 'startedBy', 'getRunResponse_startedBy' - Who started the run.
+--
+-- 'status', 'getRunResponse_status' - The run\'s status.
+--
+-- 'statusMessage', 'getRunResponse_statusMessage' - The run\'s status message.
+--
+-- 'stopTime', 'getRunResponse_stopTime' - The run\'s stop time.
+--
+-- 'storageCapacity', 'getRunResponse_storageCapacity' - The run\'s storage capacity.
+--
+-- 'tags', 'getRunResponse_tags' - The run\'s tags.
+--
+-- 'workflowId', 'getRunResponse_workflowId' - The run\'s workflow ID.
+--
+-- 'workflowType', 'getRunResponse_workflowType' - The run\'s workflow type.
+--
+-- 'httpStatus', 'getRunResponse_httpStatus' - The response's http status code.
+newGetRunResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  GetRunResponse
+newGetRunResponse pHttpStatus_ =
+  GetRunResponse'
+    { arn = Prelude.Nothing,
+      creationTime = Prelude.Nothing,
+      definition = Prelude.Nothing,
+      digest = Prelude.Nothing,
+      id = Prelude.Nothing,
+      logLevel = Prelude.Nothing,
+      name = Prelude.Nothing,
+      outputUri = Prelude.Nothing,
+      parameters = Prelude.Nothing,
+      priority = Prelude.Nothing,
+      resourceDigests = Prelude.Nothing,
+      roleArn = Prelude.Nothing,
+      runGroupId = Prelude.Nothing,
+      runId = Prelude.Nothing,
+      startTime = Prelude.Nothing,
+      startedBy = Prelude.Nothing,
+      status = Prelude.Nothing,
+      statusMessage = Prelude.Nothing,
+      stopTime = Prelude.Nothing,
+      storageCapacity = Prelude.Nothing,
+      tags = Prelude.Nothing,
+      workflowId = Prelude.Nothing,
+      workflowType = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | The run\'s ARN.
+getRunResponse_arn :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.Text)
+getRunResponse_arn = Lens.lens (\GetRunResponse' {arn} -> arn) (\s@GetRunResponse' {} a -> s {arn = a} :: GetRunResponse)
+
+-- | When the run was created.
+getRunResponse_creationTime :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.UTCTime)
+getRunResponse_creationTime = Lens.lens (\GetRunResponse' {creationTime} -> creationTime) (\s@GetRunResponse' {} a -> s {creationTime = a} :: GetRunResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The run\'s definition.
+getRunResponse_definition :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.Text)
+getRunResponse_definition = Lens.lens (\GetRunResponse' {definition} -> definition) (\s@GetRunResponse' {} a -> s {definition = a} :: GetRunResponse)
+
+-- | The run\'s digest.
+getRunResponse_digest :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.Text)
+getRunResponse_digest = Lens.lens (\GetRunResponse' {digest} -> digest) (\s@GetRunResponse' {} a -> s {digest = a} :: GetRunResponse)
+
+-- | The run\'s ID.
+getRunResponse_id :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.Text)
+getRunResponse_id = Lens.lens (\GetRunResponse' {id} -> id) (\s@GetRunResponse' {} a -> s {id = a} :: GetRunResponse)
+
+-- | The run\'s log level.
+getRunResponse_logLevel :: Lens.Lens' GetRunResponse (Prelude.Maybe RunLogLevel)
+getRunResponse_logLevel = Lens.lens (\GetRunResponse' {logLevel} -> logLevel) (\s@GetRunResponse' {} a -> s {logLevel = a} :: GetRunResponse)
+
+-- | The run\'s name.
+getRunResponse_name :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.Text)
+getRunResponse_name = Lens.lens (\GetRunResponse' {name} -> name) (\s@GetRunResponse' {} a -> s {name = a} :: GetRunResponse)
+
+-- | The run\'s output URI.
+getRunResponse_outputUri :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.Text)
+getRunResponse_outputUri = Lens.lens (\GetRunResponse' {outputUri} -> outputUri) (\s@GetRunResponse' {} a -> s {outputUri = a} :: GetRunResponse)
+
+-- | The run\'s parameters.
+getRunResponse_parameters :: Lens.Lens' GetRunResponse (Prelude.Maybe RunParameters)
+getRunResponse_parameters = Lens.lens (\GetRunResponse' {parameters} -> parameters) (\s@GetRunResponse' {} a -> s {parameters = a} :: GetRunResponse)
+
+-- | The run\'s priority.
+getRunResponse_priority :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.Natural)
+getRunResponse_priority = Lens.lens (\GetRunResponse' {priority} -> priority) (\s@GetRunResponse' {} a -> s {priority = a} :: GetRunResponse)
+
+-- | The run\'s resource digests.
+getRunResponse_resourceDigests :: Lens.Lens' GetRunResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+getRunResponse_resourceDigests = Lens.lens (\GetRunResponse' {resourceDigests} -> resourceDigests) (\s@GetRunResponse' {} a -> s {resourceDigests = a} :: GetRunResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | The run\'s service role ARN.
+getRunResponse_roleArn :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.Text)
+getRunResponse_roleArn = Lens.lens (\GetRunResponse' {roleArn} -> roleArn) (\s@GetRunResponse' {} a -> s {roleArn = a} :: GetRunResponse)
+
+-- | The run\'s group ID.
+getRunResponse_runGroupId :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.Text)
+getRunResponse_runGroupId = Lens.lens (\GetRunResponse' {runGroupId} -> runGroupId) (\s@GetRunResponse' {} a -> s {runGroupId = a} :: GetRunResponse)
+
+-- | The run\'s ID.
+getRunResponse_runId :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.Text)
+getRunResponse_runId = Lens.lens (\GetRunResponse' {runId} -> runId) (\s@GetRunResponse' {} a -> s {runId = a} :: GetRunResponse)
+
+-- | When the run started.
+getRunResponse_startTime :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.UTCTime)
+getRunResponse_startTime = Lens.lens (\GetRunResponse' {startTime} -> startTime) (\s@GetRunResponse' {} a -> s {startTime = a} :: GetRunResponse) Prelude.. Lens.mapping Data._Time
+
+-- | Who started the run.
+getRunResponse_startedBy :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.Text)
+getRunResponse_startedBy = Lens.lens (\GetRunResponse' {startedBy} -> startedBy) (\s@GetRunResponse' {} a -> s {startedBy = a} :: GetRunResponse)
+
+-- | The run\'s status.
+getRunResponse_status :: Lens.Lens' GetRunResponse (Prelude.Maybe RunStatus)
+getRunResponse_status = Lens.lens (\GetRunResponse' {status} -> status) (\s@GetRunResponse' {} a -> s {status = a} :: GetRunResponse)
+
+-- | The run\'s status message.
+getRunResponse_statusMessage :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.Text)
+getRunResponse_statusMessage = Lens.lens (\GetRunResponse' {statusMessage} -> statusMessage) (\s@GetRunResponse' {} a -> s {statusMessage = a} :: GetRunResponse)
+
+-- | The run\'s stop time.
+getRunResponse_stopTime :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.UTCTime)
+getRunResponse_stopTime = Lens.lens (\GetRunResponse' {stopTime} -> stopTime) (\s@GetRunResponse' {} a -> s {stopTime = a} :: GetRunResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The run\'s storage capacity.
+getRunResponse_storageCapacity :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.Natural)
+getRunResponse_storageCapacity = Lens.lens (\GetRunResponse' {storageCapacity} -> storageCapacity) (\s@GetRunResponse' {} a -> s {storageCapacity = a} :: GetRunResponse)
+
+-- | The run\'s tags.
+getRunResponse_tags :: Lens.Lens' GetRunResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+getRunResponse_tags = Lens.lens (\GetRunResponse' {tags} -> tags) (\s@GetRunResponse' {} a -> s {tags = a} :: GetRunResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | The run\'s workflow ID.
+getRunResponse_workflowId :: Lens.Lens' GetRunResponse (Prelude.Maybe Prelude.Text)
+getRunResponse_workflowId = Lens.lens (\GetRunResponse' {workflowId} -> workflowId) (\s@GetRunResponse' {} a -> s {workflowId = a} :: GetRunResponse)
+
+-- | The run\'s workflow type.
+getRunResponse_workflowType :: Lens.Lens' GetRunResponse (Prelude.Maybe WorkflowType)
+getRunResponse_workflowType = Lens.lens (\GetRunResponse' {workflowType} -> workflowType) (\s@GetRunResponse' {} a -> s {workflowType = a} :: GetRunResponse)
+
+-- | The response's http status code.
+getRunResponse_httpStatus :: Lens.Lens' GetRunResponse Prelude.Int
+getRunResponse_httpStatus = Lens.lens (\GetRunResponse' {httpStatus} -> httpStatus) (\s@GetRunResponse' {} a -> s {httpStatus = a} :: GetRunResponse)
+
+instance Prelude.NFData GetRunResponse where
+  rnf GetRunResponse' {..} =
+    Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf definition
+      `Prelude.seq` Prelude.rnf digest
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf logLevel
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf outputUri
+      `Prelude.seq` Prelude.rnf parameters
+      `Prelude.seq` Prelude.rnf priority
+      `Prelude.seq` Prelude.rnf resourceDigests
+      `Prelude.seq` Prelude.rnf roleArn
+      `Prelude.seq` Prelude.rnf runGroupId
+      `Prelude.seq` Prelude.rnf runId
+      `Prelude.seq` Prelude.rnf startTime
+      `Prelude.seq` Prelude.rnf startedBy
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf stopTime
+      `Prelude.seq` Prelude.rnf storageCapacity
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf workflowId
+      `Prelude.seq` Prelude.rnf workflowType
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/GetRunGroup.hs b/gen/Amazonka/Omics/GetRunGroup.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetRunGroup.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.Omics.GetRunGroup
+-- 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 information about a workflow run group.
+module Amazonka.Omics.GetRunGroup
+  ( -- * Creating a Request
+    GetRunGroup (..),
+    newGetRunGroup,
+
+    -- * Request Lenses
+    getRunGroup_id,
+
+    -- * Destructuring the Response
+    GetRunGroupResponse (..),
+    newGetRunGroupResponse,
+
+    -- * Response Lenses
+    getRunGroupResponse_arn,
+    getRunGroupResponse_creationTime,
+    getRunGroupResponse_id,
+    getRunGroupResponse_maxCpus,
+    getRunGroupResponse_maxDuration,
+    getRunGroupResponse_maxRuns,
+    getRunGroupResponse_name,
+    getRunGroupResponse_tags,
+    getRunGroupResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetRunGroup' smart constructor.
+data GetRunGroup = GetRunGroup'
+  { -- | The group\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetRunGroup' 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', 'getRunGroup_id' - The group\'s ID.
+newGetRunGroup ::
+  -- | 'id'
+  Prelude.Text ->
+  GetRunGroup
+newGetRunGroup pId_ = GetRunGroup' {id = pId_}
+
+-- | The group\'s ID.
+getRunGroup_id :: Lens.Lens' GetRunGroup Prelude.Text
+getRunGroup_id = Lens.lens (\GetRunGroup' {id} -> id) (\s@GetRunGroup' {} a -> s {id = a} :: GetRunGroup)
+
+instance Core.AWSRequest GetRunGroup where
+  type AWSResponse GetRunGroup = GetRunGroupResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          GetRunGroupResponse'
+            Prelude.<$> (x Data..?> "arn")
+            Prelude.<*> (x Data..?> "creationTime")
+            Prelude.<*> (x Data..?> "id")
+            Prelude.<*> (x Data..?> "maxCpus")
+            Prelude.<*> (x Data..?> "maxDuration")
+            Prelude.<*> (x Data..?> "maxRuns")
+            Prelude.<*> (x Data..?> "name")
+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable GetRunGroup where
+  hashWithSalt _salt GetRunGroup' {..} =
+    _salt `Prelude.hashWithSalt` id
+
+instance Prelude.NFData GetRunGroup where
+  rnf GetRunGroup' {..} = Prelude.rnf id
+
+instance Data.ToHeaders GetRunGroup where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetRunGroup where
+  toPath GetRunGroup' {..} =
+    Prelude.mconcat ["/runGroup/", Data.toBS id]
+
+instance Data.ToQuery GetRunGroup where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newGetRunGroupResponse' smart constructor.
+data GetRunGroupResponse = GetRunGroupResponse'
+  { -- | The group\'s ARN.
+    arn :: Prelude.Maybe Prelude.Text,
+    -- | When the group was created.
+    creationTime :: Prelude.Maybe Data.ISO8601,
+    -- | The group\'s ID.
+    id :: Prelude.Maybe Prelude.Text,
+    -- | The group\'s maximum number of CPUs to use.
+    maxCpus :: Prelude.Maybe Prelude.Natural,
+    -- | The group\'s maximum run duration.
+    maxDuration :: Prelude.Maybe Prelude.Natural,
+    -- | The maximum number of concurrent runs for the group.
+    maxRuns :: Prelude.Maybe Prelude.Natural,
+    -- | The group\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The group\'s tags.
+    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 'GetRunGroupResponse' 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', 'getRunGroupResponse_arn' - The group\'s ARN.
+--
+-- 'creationTime', 'getRunGroupResponse_creationTime' - When the group was created.
+--
+-- 'id', 'getRunGroupResponse_id' - The group\'s ID.
+--
+-- 'maxCpus', 'getRunGroupResponse_maxCpus' - The group\'s maximum number of CPUs to use.
+--
+-- 'maxDuration', 'getRunGroupResponse_maxDuration' - The group\'s maximum run duration.
+--
+-- 'maxRuns', 'getRunGroupResponse_maxRuns' - The maximum number of concurrent runs for the group.
+--
+-- 'name', 'getRunGroupResponse_name' - The group\'s name.
+--
+-- 'tags', 'getRunGroupResponse_tags' - The group\'s tags.
+--
+-- 'httpStatus', 'getRunGroupResponse_httpStatus' - The response's http status code.
+newGetRunGroupResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  GetRunGroupResponse
+newGetRunGroupResponse pHttpStatus_ =
+  GetRunGroupResponse'
+    { arn = Prelude.Nothing,
+      creationTime = Prelude.Nothing,
+      id = Prelude.Nothing,
+      maxCpus = Prelude.Nothing,
+      maxDuration = Prelude.Nothing,
+      maxRuns = Prelude.Nothing,
+      name = Prelude.Nothing,
+      tags = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | The group\'s ARN.
+getRunGroupResponse_arn :: Lens.Lens' GetRunGroupResponse (Prelude.Maybe Prelude.Text)
+getRunGroupResponse_arn = Lens.lens (\GetRunGroupResponse' {arn} -> arn) (\s@GetRunGroupResponse' {} a -> s {arn = a} :: GetRunGroupResponse)
+
+-- | When the group was created.
+getRunGroupResponse_creationTime :: Lens.Lens' GetRunGroupResponse (Prelude.Maybe Prelude.UTCTime)
+getRunGroupResponse_creationTime = Lens.lens (\GetRunGroupResponse' {creationTime} -> creationTime) (\s@GetRunGroupResponse' {} a -> s {creationTime = a} :: GetRunGroupResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The group\'s ID.
+getRunGroupResponse_id :: Lens.Lens' GetRunGroupResponse (Prelude.Maybe Prelude.Text)
+getRunGroupResponse_id = Lens.lens (\GetRunGroupResponse' {id} -> id) (\s@GetRunGroupResponse' {} a -> s {id = a} :: GetRunGroupResponse)
+
+-- | The group\'s maximum number of CPUs to use.
+getRunGroupResponse_maxCpus :: Lens.Lens' GetRunGroupResponse (Prelude.Maybe Prelude.Natural)
+getRunGroupResponse_maxCpus = Lens.lens (\GetRunGroupResponse' {maxCpus} -> maxCpus) (\s@GetRunGroupResponse' {} a -> s {maxCpus = a} :: GetRunGroupResponse)
+
+-- | The group\'s maximum run duration.
+getRunGroupResponse_maxDuration :: Lens.Lens' GetRunGroupResponse (Prelude.Maybe Prelude.Natural)
+getRunGroupResponse_maxDuration = Lens.lens (\GetRunGroupResponse' {maxDuration} -> maxDuration) (\s@GetRunGroupResponse' {} a -> s {maxDuration = a} :: GetRunGroupResponse)
+
+-- | The maximum number of concurrent runs for the group.
+getRunGroupResponse_maxRuns :: Lens.Lens' GetRunGroupResponse (Prelude.Maybe Prelude.Natural)
+getRunGroupResponse_maxRuns = Lens.lens (\GetRunGroupResponse' {maxRuns} -> maxRuns) (\s@GetRunGroupResponse' {} a -> s {maxRuns = a} :: GetRunGroupResponse)
+
+-- | The group\'s name.
+getRunGroupResponse_name :: Lens.Lens' GetRunGroupResponse (Prelude.Maybe Prelude.Text)
+getRunGroupResponse_name = Lens.lens (\GetRunGroupResponse' {name} -> name) (\s@GetRunGroupResponse' {} a -> s {name = a} :: GetRunGroupResponse)
+
+-- | The group\'s tags.
+getRunGroupResponse_tags :: Lens.Lens' GetRunGroupResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+getRunGroupResponse_tags = Lens.lens (\GetRunGroupResponse' {tags} -> tags) (\s@GetRunGroupResponse' {} a -> s {tags = a} :: GetRunGroupResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | The response's http status code.
+getRunGroupResponse_httpStatus :: Lens.Lens' GetRunGroupResponse Prelude.Int
+getRunGroupResponse_httpStatus = Lens.lens (\GetRunGroupResponse' {httpStatus} -> httpStatus) (\s@GetRunGroupResponse' {} a -> s {httpStatus = a} :: GetRunGroupResponse)
+
+instance Prelude.NFData GetRunGroupResponse where
+  rnf GetRunGroupResponse' {..} =
+    Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf maxCpus
+      `Prelude.seq` Prelude.rnf maxDuration
+      `Prelude.seq` Prelude.rnf maxRuns
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/GetRunTask.hs b/gen/Amazonka/Omics/GetRunTask.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetRunTask.hs
@@ -0,0 +1,278 @@
+{-# 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.Omics.GetRunTask
+-- 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 information about a workflow run task.
+module Amazonka.Omics.GetRunTask
+  ( -- * Creating a Request
+    GetRunTask (..),
+    newGetRunTask,
+
+    -- * Request Lenses
+    getRunTask_id,
+    getRunTask_taskId,
+
+    -- * Destructuring the Response
+    GetRunTaskResponse (..),
+    newGetRunTaskResponse,
+
+    -- * Response Lenses
+    getRunTaskResponse_cpus,
+    getRunTaskResponse_creationTime,
+    getRunTaskResponse_logStream,
+    getRunTaskResponse_memory,
+    getRunTaskResponse_name,
+    getRunTaskResponse_startTime,
+    getRunTaskResponse_status,
+    getRunTaskResponse_statusMessage,
+    getRunTaskResponse_stopTime,
+    getRunTaskResponse_taskId,
+    getRunTaskResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetRunTask' smart constructor.
+data GetRunTask = GetRunTask'
+  { -- | The task\'s ID.
+    id :: Prelude.Text,
+    -- | The task\'s ID.
+    taskId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetRunTask' 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', 'getRunTask_id' - The task\'s ID.
+--
+-- 'taskId', 'getRunTask_taskId' - The task\'s ID.
+newGetRunTask ::
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'taskId'
+  Prelude.Text ->
+  GetRunTask
+newGetRunTask pId_ pTaskId_ =
+  GetRunTask' {id = pId_, taskId = pTaskId_}
+
+-- | The task\'s ID.
+getRunTask_id :: Lens.Lens' GetRunTask Prelude.Text
+getRunTask_id = Lens.lens (\GetRunTask' {id} -> id) (\s@GetRunTask' {} a -> s {id = a} :: GetRunTask)
+
+-- | The task\'s ID.
+getRunTask_taskId :: Lens.Lens' GetRunTask Prelude.Text
+getRunTask_taskId = Lens.lens (\GetRunTask' {taskId} -> taskId) (\s@GetRunTask' {} a -> s {taskId = a} :: GetRunTask)
+
+instance Core.AWSRequest GetRunTask where
+  type AWSResponse GetRunTask = GetRunTaskResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          GetRunTaskResponse'
+            Prelude.<$> (x Data..?> "cpus")
+            Prelude.<*> (x Data..?> "creationTime")
+            Prelude.<*> (x Data..?> "logStream")
+            Prelude.<*> (x Data..?> "memory")
+            Prelude.<*> (x Data..?> "name")
+            Prelude.<*> (x Data..?> "startTime")
+            Prelude.<*> (x Data..?> "status")
+            Prelude.<*> (x Data..?> "statusMessage")
+            Prelude.<*> (x Data..?> "stopTime")
+            Prelude.<*> (x Data..?> "taskId")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable GetRunTask where
+  hashWithSalt _salt GetRunTask' {..} =
+    _salt
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` taskId
+
+instance Prelude.NFData GetRunTask where
+  rnf GetRunTask' {..} =
+    Prelude.rnf id `Prelude.seq` Prelude.rnf taskId
+
+instance Data.ToHeaders GetRunTask where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetRunTask where
+  toPath GetRunTask' {..} =
+    Prelude.mconcat
+      ["/run/", Data.toBS id, "/task/", Data.toBS taskId]
+
+instance Data.ToQuery GetRunTask where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newGetRunTaskResponse' smart constructor.
+data GetRunTaskResponse = GetRunTaskResponse'
+  { -- | The task\'s CPU usage.
+    cpus :: Prelude.Maybe Prelude.Natural,
+    -- | When the task was created.
+    creationTime :: Prelude.Maybe Data.ISO8601,
+    -- | The task\'s log stream.
+    logStream :: Prelude.Maybe Prelude.Text,
+    -- | The task\'s memory setting.
+    memory :: Prelude.Maybe Prelude.Natural,
+    -- | The task\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The task\'s start time.
+    startTime :: Prelude.Maybe Data.ISO8601,
+    -- | The task\'s status.
+    status :: Prelude.Maybe TaskStatus,
+    -- | The task\'s status message.
+    statusMessage :: Prelude.Maybe Prelude.Text,
+    -- | The task\'s stop time.
+    stopTime :: Prelude.Maybe Data.ISO8601,
+    -- | The task\'s ID.
+    taskId :: 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 'GetRunTaskResponse' 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:
+--
+-- 'cpus', 'getRunTaskResponse_cpus' - The task\'s CPU usage.
+--
+-- 'creationTime', 'getRunTaskResponse_creationTime' - When the task was created.
+--
+-- 'logStream', 'getRunTaskResponse_logStream' - The task\'s log stream.
+--
+-- 'memory', 'getRunTaskResponse_memory' - The task\'s memory setting.
+--
+-- 'name', 'getRunTaskResponse_name' - The task\'s name.
+--
+-- 'startTime', 'getRunTaskResponse_startTime' - The task\'s start time.
+--
+-- 'status', 'getRunTaskResponse_status' - The task\'s status.
+--
+-- 'statusMessage', 'getRunTaskResponse_statusMessage' - The task\'s status message.
+--
+-- 'stopTime', 'getRunTaskResponse_stopTime' - The task\'s stop time.
+--
+-- 'taskId', 'getRunTaskResponse_taskId' - The task\'s ID.
+--
+-- 'httpStatus', 'getRunTaskResponse_httpStatus' - The response's http status code.
+newGetRunTaskResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  GetRunTaskResponse
+newGetRunTaskResponse pHttpStatus_ =
+  GetRunTaskResponse'
+    { cpus = Prelude.Nothing,
+      creationTime = Prelude.Nothing,
+      logStream = Prelude.Nothing,
+      memory = Prelude.Nothing,
+      name = Prelude.Nothing,
+      startTime = Prelude.Nothing,
+      status = Prelude.Nothing,
+      statusMessage = Prelude.Nothing,
+      stopTime = Prelude.Nothing,
+      taskId = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | The task\'s CPU usage.
+getRunTaskResponse_cpus :: Lens.Lens' GetRunTaskResponse (Prelude.Maybe Prelude.Natural)
+getRunTaskResponse_cpus = Lens.lens (\GetRunTaskResponse' {cpus} -> cpus) (\s@GetRunTaskResponse' {} a -> s {cpus = a} :: GetRunTaskResponse)
+
+-- | When the task was created.
+getRunTaskResponse_creationTime :: Lens.Lens' GetRunTaskResponse (Prelude.Maybe Prelude.UTCTime)
+getRunTaskResponse_creationTime = Lens.lens (\GetRunTaskResponse' {creationTime} -> creationTime) (\s@GetRunTaskResponse' {} a -> s {creationTime = a} :: GetRunTaskResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The task\'s log stream.
+getRunTaskResponse_logStream :: Lens.Lens' GetRunTaskResponse (Prelude.Maybe Prelude.Text)
+getRunTaskResponse_logStream = Lens.lens (\GetRunTaskResponse' {logStream} -> logStream) (\s@GetRunTaskResponse' {} a -> s {logStream = a} :: GetRunTaskResponse)
+
+-- | The task\'s memory setting.
+getRunTaskResponse_memory :: Lens.Lens' GetRunTaskResponse (Prelude.Maybe Prelude.Natural)
+getRunTaskResponse_memory = Lens.lens (\GetRunTaskResponse' {memory} -> memory) (\s@GetRunTaskResponse' {} a -> s {memory = a} :: GetRunTaskResponse)
+
+-- | The task\'s name.
+getRunTaskResponse_name :: Lens.Lens' GetRunTaskResponse (Prelude.Maybe Prelude.Text)
+getRunTaskResponse_name = Lens.lens (\GetRunTaskResponse' {name} -> name) (\s@GetRunTaskResponse' {} a -> s {name = a} :: GetRunTaskResponse)
+
+-- | The task\'s start time.
+getRunTaskResponse_startTime :: Lens.Lens' GetRunTaskResponse (Prelude.Maybe Prelude.UTCTime)
+getRunTaskResponse_startTime = Lens.lens (\GetRunTaskResponse' {startTime} -> startTime) (\s@GetRunTaskResponse' {} a -> s {startTime = a} :: GetRunTaskResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The task\'s status.
+getRunTaskResponse_status :: Lens.Lens' GetRunTaskResponse (Prelude.Maybe TaskStatus)
+getRunTaskResponse_status = Lens.lens (\GetRunTaskResponse' {status} -> status) (\s@GetRunTaskResponse' {} a -> s {status = a} :: GetRunTaskResponse)
+
+-- | The task\'s status message.
+getRunTaskResponse_statusMessage :: Lens.Lens' GetRunTaskResponse (Prelude.Maybe Prelude.Text)
+getRunTaskResponse_statusMessage = Lens.lens (\GetRunTaskResponse' {statusMessage} -> statusMessage) (\s@GetRunTaskResponse' {} a -> s {statusMessage = a} :: GetRunTaskResponse)
+
+-- | The task\'s stop time.
+getRunTaskResponse_stopTime :: Lens.Lens' GetRunTaskResponse (Prelude.Maybe Prelude.UTCTime)
+getRunTaskResponse_stopTime = Lens.lens (\GetRunTaskResponse' {stopTime} -> stopTime) (\s@GetRunTaskResponse' {} a -> s {stopTime = a} :: GetRunTaskResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The task\'s ID.
+getRunTaskResponse_taskId :: Lens.Lens' GetRunTaskResponse (Prelude.Maybe Prelude.Text)
+getRunTaskResponse_taskId = Lens.lens (\GetRunTaskResponse' {taskId} -> taskId) (\s@GetRunTaskResponse' {} a -> s {taskId = a} :: GetRunTaskResponse)
+
+-- | The response's http status code.
+getRunTaskResponse_httpStatus :: Lens.Lens' GetRunTaskResponse Prelude.Int
+getRunTaskResponse_httpStatus = Lens.lens (\GetRunTaskResponse' {httpStatus} -> httpStatus) (\s@GetRunTaskResponse' {} a -> s {httpStatus = a} :: GetRunTaskResponse)
+
+instance Prelude.NFData GetRunTaskResponse where
+  rnf GetRunTaskResponse' {..} =
+    Prelude.rnf cpus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf logStream
+      `Prelude.seq` Prelude.rnf memory
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf startTime
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf stopTime
+      `Prelude.seq` Prelude.rnf taskId
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/GetSequenceStore.hs b/gen/Amazonka/Omics/GetSequenceStore.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetSequenceStore.hs
@@ -0,0 +1,228 @@
+{-# 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.Omics.GetSequenceStore
+-- 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 information about a sequence store.
+module Amazonka.Omics.GetSequenceStore
+  ( -- * Creating a Request
+    GetSequenceStore (..),
+    newGetSequenceStore,
+
+    -- * Request Lenses
+    getSequenceStore_id,
+
+    -- * Destructuring the Response
+    GetSequenceStoreResponse (..),
+    newGetSequenceStoreResponse,
+
+    -- * Response Lenses
+    getSequenceStoreResponse_description,
+    getSequenceStoreResponse_name,
+    getSequenceStoreResponse_sseConfig,
+    getSequenceStoreResponse_httpStatus,
+    getSequenceStoreResponse_arn,
+    getSequenceStoreResponse_creationTime,
+    getSequenceStoreResponse_id,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetSequenceStore' smart constructor.
+data GetSequenceStore = GetSequenceStore'
+  { -- | The store\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetSequenceStore' 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', 'getSequenceStore_id' - The store\'s ID.
+newGetSequenceStore ::
+  -- | 'id'
+  Prelude.Text ->
+  GetSequenceStore
+newGetSequenceStore pId_ =
+  GetSequenceStore' {id = pId_}
+
+-- | The store\'s ID.
+getSequenceStore_id :: Lens.Lens' GetSequenceStore Prelude.Text
+getSequenceStore_id = Lens.lens (\GetSequenceStore' {id} -> id) (\s@GetSequenceStore' {} a -> s {id = a} :: GetSequenceStore)
+
+instance Core.AWSRequest GetSequenceStore where
+  type
+    AWSResponse GetSequenceStore =
+      GetSequenceStoreResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          GetSequenceStoreResponse'
+            Prelude.<$> (x Data..?> "description")
+            Prelude.<*> (x Data..?> "name")
+            Prelude.<*> (x Data..?> "sseConfig")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "arn")
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "id")
+      )
+
+instance Prelude.Hashable GetSequenceStore where
+  hashWithSalt _salt GetSequenceStore' {..} =
+    _salt `Prelude.hashWithSalt` id
+
+instance Prelude.NFData GetSequenceStore where
+  rnf GetSequenceStore' {..} = Prelude.rnf id
+
+instance Data.ToHeaders GetSequenceStore where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetSequenceStore where
+  toPath GetSequenceStore' {..} =
+    Prelude.mconcat ["/sequencestore/", Data.toBS id]
+
+instance Data.ToQuery GetSequenceStore where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newGetSequenceStoreResponse' smart constructor.
+data GetSequenceStoreResponse = GetSequenceStoreResponse'
+  { -- | The store\'s description.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | The store\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The store\'s server-side encryption (SSE) settings.
+    sseConfig :: Prelude.Maybe SseConfig,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The store\'s ARN.
+    arn :: Prelude.Text,
+    -- | When the store was created.
+    creationTime :: Data.ISO8601,
+    -- | The store\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetSequenceStoreResponse' 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', 'getSequenceStoreResponse_description' - The store\'s description.
+--
+-- 'name', 'getSequenceStoreResponse_name' - The store\'s name.
+--
+-- 'sseConfig', 'getSequenceStoreResponse_sseConfig' - The store\'s server-side encryption (SSE) settings.
+--
+-- 'httpStatus', 'getSequenceStoreResponse_httpStatus' - The response's http status code.
+--
+-- 'arn', 'getSequenceStoreResponse_arn' - The store\'s ARN.
+--
+-- 'creationTime', 'getSequenceStoreResponse_creationTime' - When the store was created.
+--
+-- 'id', 'getSequenceStoreResponse_id' - The store\'s ID.
+newGetSequenceStoreResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'arn'
+  Prelude.Text ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  GetSequenceStoreResponse
+newGetSequenceStoreResponse
+  pHttpStatus_
+  pArn_
+  pCreationTime_
+  pId_ =
+    GetSequenceStoreResponse'
+      { description =
+          Prelude.Nothing,
+        name = Prelude.Nothing,
+        sseConfig = Prelude.Nothing,
+        httpStatus = pHttpStatus_,
+        arn = pArn_,
+        creationTime = Data._Time Lens.# pCreationTime_,
+        id = pId_
+      }
+
+-- | The store\'s description.
+getSequenceStoreResponse_description :: Lens.Lens' GetSequenceStoreResponse (Prelude.Maybe Prelude.Text)
+getSequenceStoreResponse_description = Lens.lens (\GetSequenceStoreResponse' {description} -> description) (\s@GetSequenceStoreResponse' {} a -> s {description = a} :: GetSequenceStoreResponse)
+
+-- | The store\'s name.
+getSequenceStoreResponse_name :: Lens.Lens' GetSequenceStoreResponse (Prelude.Maybe Prelude.Text)
+getSequenceStoreResponse_name = Lens.lens (\GetSequenceStoreResponse' {name} -> name) (\s@GetSequenceStoreResponse' {} a -> s {name = a} :: GetSequenceStoreResponse)
+
+-- | The store\'s server-side encryption (SSE) settings.
+getSequenceStoreResponse_sseConfig :: Lens.Lens' GetSequenceStoreResponse (Prelude.Maybe SseConfig)
+getSequenceStoreResponse_sseConfig = Lens.lens (\GetSequenceStoreResponse' {sseConfig} -> sseConfig) (\s@GetSequenceStoreResponse' {} a -> s {sseConfig = a} :: GetSequenceStoreResponse)
+
+-- | The response's http status code.
+getSequenceStoreResponse_httpStatus :: Lens.Lens' GetSequenceStoreResponse Prelude.Int
+getSequenceStoreResponse_httpStatus = Lens.lens (\GetSequenceStoreResponse' {httpStatus} -> httpStatus) (\s@GetSequenceStoreResponse' {} a -> s {httpStatus = a} :: GetSequenceStoreResponse)
+
+-- | The store\'s ARN.
+getSequenceStoreResponse_arn :: Lens.Lens' GetSequenceStoreResponse Prelude.Text
+getSequenceStoreResponse_arn = Lens.lens (\GetSequenceStoreResponse' {arn} -> arn) (\s@GetSequenceStoreResponse' {} a -> s {arn = a} :: GetSequenceStoreResponse)
+
+-- | When the store was created.
+getSequenceStoreResponse_creationTime :: Lens.Lens' GetSequenceStoreResponse Prelude.UTCTime
+getSequenceStoreResponse_creationTime = Lens.lens (\GetSequenceStoreResponse' {creationTime} -> creationTime) (\s@GetSequenceStoreResponse' {} a -> s {creationTime = a} :: GetSequenceStoreResponse) Prelude.. Data._Time
+
+-- | The store\'s ID.
+getSequenceStoreResponse_id :: Lens.Lens' GetSequenceStoreResponse Prelude.Text
+getSequenceStoreResponse_id = Lens.lens (\GetSequenceStoreResponse' {id} -> id) (\s@GetSequenceStoreResponse' {} a -> s {id = a} :: GetSequenceStoreResponse)
+
+instance Prelude.NFData GetSequenceStoreResponse where
+  rnf GetSequenceStoreResponse' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf sseConfig
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
diff --git a/gen/Amazonka/Omics/GetVariantImportJob.hs b/gen/Amazonka/Omics/GetVariantImportJob.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetVariantImportJob.hs
@@ -0,0 +1,296 @@
+{-# 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.Omics.GetVariantImportJob
+-- 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 information about a variant import job.
+module Amazonka.Omics.GetVariantImportJob
+  ( -- * Creating a Request
+    GetVariantImportJob (..),
+    newGetVariantImportJob,
+
+    -- * Request Lenses
+    getVariantImportJob_jobId,
+
+    -- * Destructuring the Response
+    GetVariantImportJobResponse (..),
+    newGetVariantImportJobResponse,
+
+    -- * Response Lenses
+    getVariantImportJobResponse_completionTime,
+    getVariantImportJobResponse_httpStatus,
+    getVariantImportJobResponse_creationTime,
+    getVariantImportJobResponse_destinationName,
+    getVariantImportJobResponse_id,
+    getVariantImportJobResponse_items,
+    getVariantImportJobResponse_roleArn,
+    getVariantImportJobResponse_runLeftNormalization,
+    getVariantImportJobResponse_status,
+    getVariantImportJobResponse_statusMessage,
+    getVariantImportJobResponse_updateTime,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetVariantImportJob' smart constructor.
+data GetVariantImportJob = GetVariantImportJob'
+  { -- | The job\'s ID.
+    jobId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetVariantImportJob' 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:
+--
+-- 'jobId', 'getVariantImportJob_jobId' - The job\'s ID.
+newGetVariantImportJob ::
+  -- | 'jobId'
+  Prelude.Text ->
+  GetVariantImportJob
+newGetVariantImportJob pJobId_ =
+  GetVariantImportJob' {jobId = pJobId_}
+
+-- | The job\'s ID.
+getVariantImportJob_jobId :: Lens.Lens' GetVariantImportJob Prelude.Text
+getVariantImportJob_jobId = Lens.lens (\GetVariantImportJob' {jobId} -> jobId) (\s@GetVariantImportJob' {} a -> s {jobId = a} :: GetVariantImportJob)
+
+instance Core.AWSRequest GetVariantImportJob where
+  type
+    AWSResponse GetVariantImportJob =
+      GetVariantImportJobResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          GetVariantImportJobResponse'
+            Prelude.<$> (x Data..?> "completionTime")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "destinationName")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "items")
+            Prelude.<*> (x Data..:> "roleArn")
+            Prelude.<*> (x Data..:> "runLeftNormalization")
+            Prelude.<*> (x Data..:> "status")
+            Prelude.<*> (x Data..:> "statusMessage")
+            Prelude.<*> (x Data..:> "updateTime")
+      )
+
+instance Prelude.Hashable GetVariantImportJob where
+  hashWithSalt _salt GetVariantImportJob' {..} =
+    _salt `Prelude.hashWithSalt` jobId
+
+instance Prelude.NFData GetVariantImportJob where
+  rnf GetVariantImportJob' {..} = Prelude.rnf jobId
+
+instance Data.ToHeaders GetVariantImportJob where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetVariantImportJob where
+  toPath GetVariantImportJob' {..} =
+    Prelude.mconcat
+      ["/import/variant/", Data.toBS jobId]
+
+instance Data.ToQuery GetVariantImportJob where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newGetVariantImportJobResponse' smart constructor.
+data GetVariantImportJobResponse = GetVariantImportJobResponse'
+  { -- | When the job completed.
+    completionTime :: Prelude.Maybe Data.ISO8601,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | When the job was created.
+    creationTime :: Data.ISO8601,
+    -- | The job\'s destination variant store.
+    destinationName :: Prelude.Text,
+    -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s items.
+    items :: Prelude.NonEmpty VariantImportItemDetail,
+    -- | The job\'s service role ARN.
+    roleArn :: Prelude.Text,
+    -- | The job\'s left normalization setting.
+    runLeftNormalization :: Prelude.Bool,
+    -- | The job\'s status.
+    status :: JobStatus,
+    -- | The job\'s status message.
+    statusMessage :: Prelude.Text,
+    -- | When the job was updated.
+    updateTime :: Data.ISO8601
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetVariantImportJobResponse' 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:
+--
+-- 'completionTime', 'getVariantImportJobResponse_completionTime' - When the job completed.
+--
+-- 'httpStatus', 'getVariantImportJobResponse_httpStatus' - The response's http status code.
+--
+-- 'creationTime', 'getVariantImportJobResponse_creationTime' - When the job was created.
+--
+-- 'destinationName', 'getVariantImportJobResponse_destinationName' - The job\'s destination variant store.
+--
+-- 'id', 'getVariantImportJobResponse_id' - The job\'s ID.
+--
+-- 'items', 'getVariantImportJobResponse_items' - The job\'s items.
+--
+-- 'roleArn', 'getVariantImportJobResponse_roleArn' - The job\'s service role ARN.
+--
+-- 'runLeftNormalization', 'getVariantImportJobResponse_runLeftNormalization' - The job\'s left normalization setting.
+--
+-- 'status', 'getVariantImportJobResponse_status' - The job\'s status.
+--
+-- 'statusMessage', 'getVariantImportJobResponse_statusMessage' - The job\'s status message.
+--
+-- 'updateTime', 'getVariantImportJobResponse_updateTime' - When the job was updated.
+newGetVariantImportJobResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'destinationName'
+  Prelude.Text ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'items'
+  Prelude.NonEmpty VariantImportItemDetail ->
+  -- | 'roleArn'
+  Prelude.Text ->
+  -- | 'runLeftNormalization'
+  Prelude.Bool ->
+  -- | 'status'
+  JobStatus ->
+  -- | 'statusMessage'
+  Prelude.Text ->
+  -- | 'updateTime'
+  Prelude.UTCTime ->
+  GetVariantImportJobResponse
+newGetVariantImportJobResponse
+  pHttpStatus_
+  pCreationTime_
+  pDestinationName_
+  pId_
+  pItems_
+  pRoleArn_
+  pRunLeftNormalization_
+  pStatus_
+  pStatusMessage_
+  pUpdateTime_ =
+    GetVariantImportJobResponse'
+      { completionTime =
+          Prelude.Nothing,
+        httpStatus = pHttpStatus_,
+        creationTime =
+          Data._Time Lens.# pCreationTime_,
+        destinationName = pDestinationName_,
+        id = pId_,
+        items = Lens.coerced Lens.# pItems_,
+        roleArn = pRoleArn_,
+        runLeftNormalization = pRunLeftNormalization_,
+        status = pStatus_,
+        statusMessage = pStatusMessage_,
+        updateTime = Data._Time Lens.# pUpdateTime_
+      }
+
+-- | When the job completed.
+getVariantImportJobResponse_completionTime :: Lens.Lens' GetVariantImportJobResponse (Prelude.Maybe Prelude.UTCTime)
+getVariantImportJobResponse_completionTime = Lens.lens (\GetVariantImportJobResponse' {completionTime} -> completionTime) (\s@GetVariantImportJobResponse' {} a -> s {completionTime = a} :: GetVariantImportJobResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The response's http status code.
+getVariantImportJobResponse_httpStatus :: Lens.Lens' GetVariantImportJobResponse Prelude.Int
+getVariantImportJobResponse_httpStatus = Lens.lens (\GetVariantImportJobResponse' {httpStatus} -> httpStatus) (\s@GetVariantImportJobResponse' {} a -> s {httpStatus = a} :: GetVariantImportJobResponse)
+
+-- | When the job was created.
+getVariantImportJobResponse_creationTime :: Lens.Lens' GetVariantImportJobResponse Prelude.UTCTime
+getVariantImportJobResponse_creationTime = Lens.lens (\GetVariantImportJobResponse' {creationTime} -> creationTime) (\s@GetVariantImportJobResponse' {} a -> s {creationTime = a} :: GetVariantImportJobResponse) Prelude.. Data._Time
+
+-- | The job\'s destination variant store.
+getVariantImportJobResponse_destinationName :: Lens.Lens' GetVariantImportJobResponse Prelude.Text
+getVariantImportJobResponse_destinationName = Lens.lens (\GetVariantImportJobResponse' {destinationName} -> destinationName) (\s@GetVariantImportJobResponse' {} a -> s {destinationName = a} :: GetVariantImportJobResponse)
+
+-- | The job\'s ID.
+getVariantImportJobResponse_id :: Lens.Lens' GetVariantImportJobResponse Prelude.Text
+getVariantImportJobResponse_id = Lens.lens (\GetVariantImportJobResponse' {id} -> id) (\s@GetVariantImportJobResponse' {} a -> s {id = a} :: GetVariantImportJobResponse)
+
+-- | The job\'s items.
+getVariantImportJobResponse_items :: Lens.Lens' GetVariantImportJobResponse (Prelude.NonEmpty VariantImportItemDetail)
+getVariantImportJobResponse_items = Lens.lens (\GetVariantImportJobResponse' {items} -> items) (\s@GetVariantImportJobResponse' {} a -> s {items = a} :: GetVariantImportJobResponse) Prelude.. Lens.coerced
+
+-- | The job\'s service role ARN.
+getVariantImportJobResponse_roleArn :: Lens.Lens' GetVariantImportJobResponse Prelude.Text
+getVariantImportJobResponse_roleArn = Lens.lens (\GetVariantImportJobResponse' {roleArn} -> roleArn) (\s@GetVariantImportJobResponse' {} a -> s {roleArn = a} :: GetVariantImportJobResponse)
+
+-- | The job\'s left normalization setting.
+getVariantImportJobResponse_runLeftNormalization :: Lens.Lens' GetVariantImportJobResponse Prelude.Bool
+getVariantImportJobResponse_runLeftNormalization = Lens.lens (\GetVariantImportJobResponse' {runLeftNormalization} -> runLeftNormalization) (\s@GetVariantImportJobResponse' {} a -> s {runLeftNormalization = a} :: GetVariantImportJobResponse)
+
+-- | The job\'s status.
+getVariantImportJobResponse_status :: Lens.Lens' GetVariantImportJobResponse JobStatus
+getVariantImportJobResponse_status = Lens.lens (\GetVariantImportJobResponse' {status} -> status) (\s@GetVariantImportJobResponse' {} a -> s {status = a} :: GetVariantImportJobResponse)
+
+-- | The job\'s status message.
+getVariantImportJobResponse_statusMessage :: Lens.Lens' GetVariantImportJobResponse Prelude.Text
+getVariantImportJobResponse_statusMessage = Lens.lens (\GetVariantImportJobResponse' {statusMessage} -> statusMessage) (\s@GetVariantImportJobResponse' {} a -> s {statusMessage = a} :: GetVariantImportJobResponse)
+
+-- | When the job was updated.
+getVariantImportJobResponse_updateTime :: Lens.Lens' GetVariantImportJobResponse Prelude.UTCTime
+getVariantImportJobResponse_updateTime = Lens.lens (\GetVariantImportJobResponse' {updateTime} -> updateTime) (\s@GetVariantImportJobResponse' {} a -> s {updateTime = a} :: GetVariantImportJobResponse) Prelude.. Data._Time
+
+instance Prelude.NFData GetVariantImportJobResponse where
+  rnf GetVariantImportJobResponse' {..} =
+    Prelude.rnf completionTime
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf destinationName
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf items
+      `Prelude.seq` Prelude.rnf roleArn
+      `Prelude.seq` Prelude.rnf runLeftNormalization
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf updateTime
diff --git a/gen/Amazonka/Omics/GetVariantStore.hs b/gen/Amazonka/Omics/GetVariantStore.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetVariantStore.hs
@@ -0,0 +1,323 @@
+{-# 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.Omics.GetVariantStore
+-- 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 information about a variant store.
+module Amazonka.Omics.GetVariantStore
+  ( -- * Creating a Request
+    GetVariantStore (..),
+    newGetVariantStore,
+
+    -- * Request Lenses
+    getVariantStore_name,
+
+    -- * Destructuring the Response
+    GetVariantStoreResponse (..),
+    newGetVariantStoreResponse,
+
+    -- * Response Lenses
+    getVariantStoreResponse_httpStatus,
+    getVariantStoreResponse_creationTime,
+    getVariantStoreResponse_description,
+    getVariantStoreResponse_id,
+    getVariantStoreResponse_name,
+    getVariantStoreResponse_reference,
+    getVariantStoreResponse_sseConfig,
+    getVariantStoreResponse_status,
+    getVariantStoreResponse_statusMessage,
+    getVariantStoreResponse_storeArn,
+    getVariantStoreResponse_storeSizeBytes,
+    getVariantStoreResponse_tags,
+    getVariantStoreResponse_updateTime,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetVariantStore' smart constructor.
+data GetVariantStore = GetVariantStore'
+  { -- | The store\'s name.
+    name :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetVariantStore' 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', 'getVariantStore_name' - The store\'s name.
+newGetVariantStore ::
+  -- | 'name'
+  Prelude.Text ->
+  GetVariantStore
+newGetVariantStore pName_ =
+  GetVariantStore' {name = pName_}
+
+-- | The store\'s name.
+getVariantStore_name :: Lens.Lens' GetVariantStore Prelude.Text
+getVariantStore_name = Lens.lens (\GetVariantStore' {name} -> name) (\s@GetVariantStore' {} a -> s {name = a} :: GetVariantStore)
+
+instance Core.AWSRequest GetVariantStore where
+  type
+    AWSResponse GetVariantStore =
+      GetVariantStoreResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          GetVariantStoreResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "description")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "name")
+            Prelude.<*> (x Data..:> "reference")
+            Prelude.<*> (x Data..:> "sseConfig")
+            Prelude.<*> (x Data..:> "status")
+            Prelude.<*> (x Data..:> "statusMessage")
+            Prelude.<*> (x Data..:> "storeArn")
+            Prelude.<*> (x Data..:> "storeSizeBytes")
+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)
+            Prelude.<*> (x Data..:> "updateTime")
+      )
+
+instance Prelude.Hashable GetVariantStore where
+  hashWithSalt _salt GetVariantStore' {..} =
+    _salt `Prelude.hashWithSalt` name
+
+instance Prelude.NFData GetVariantStore where
+  rnf GetVariantStore' {..} = Prelude.rnf name
+
+instance Data.ToHeaders GetVariantStore where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetVariantStore where
+  toPath GetVariantStore' {..} =
+    Prelude.mconcat ["/variantStore/", Data.toBS name]
+
+instance Data.ToQuery GetVariantStore where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newGetVariantStoreResponse' smart constructor.
+data GetVariantStoreResponse = GetVariantStoreResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | When the store was created.
+    creationTime :: Data.ISO8601,
+    -- | The store\'s description.
+    description :: Prelude.Text,
+    -- | The store\'s ID.
+    id :: Prelude.Text,
+    -- | The store\'s name.
+    name :: Prelude.Text,
+    -- | The store\'s genome reference.
+    reference :: ReferenceItem,
+    -- | The store\'s server-side encryption (SSE) settings.
+    sseConfig :: SseConfig,
+    -- | The store\'s status.
+    status :: StoreStatus,
+    -- | The store\'s status message.
+    statusMessage :: Prelude.Text,
+    -- | The store\'s ARN.
+    storeArn :: Prelude.Text,
+    -- | The store\'s size in bytes.
+    storeSizeBytes :: Prelude.Integer,
+    -- | The store\'s tags.
+    tags :: Prelude.HashMap Prelude.Text Prelude.Text,
+    -- | When the store was updated.
+    updateTime :: Data.ISO8601
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetVariantStoreResponse' 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', 'getVariantStoreResponse_httpStatus' - The response's http status code.
+--
+-- 'creationTime', 'getVariantStoreResponse_creationTime' - When the store was created.
+--
+-- 'description', 'getVariantStoreResponse_description' - The store\'s description.
+--
+-- 'id', 'getVariantStoreResponse_id' - The store\'s ID.
+--
+-- 'name', 'getVariantStoreResponse_name' - The store\'s name.
+--
+-- 'reference', 'getVariantStoreResponse_reference' - The store\'s genome reference.
+--
+-- 'sseConfig', 'getVariantStoreResponse_sseConfig' - The store\'s server-side encryption (SSE) settings.
+--
+-- 'status', 'getVariantStoreResponse_status' - The store\'s status.
+--
+-- 'statusMessage', 'getVariantStoreResponse_statusMessage' - The store\'s status message.
+--
+-- 'storeArn', 'getVariantStoreResponse_storeArn' - The store\'s ARN.
+--
+-- 'storeSizeBytes', 'getVariantStoreResponse_storeSizeBytes' - The store\'s size in bytes.
+--
+-- 'tags', 'getVariantStoreResponse_tags' - The store\'s tags.
+--
+-- 'updateTime', 'getVariantStoreResponse_updateTime' - When the store was updated.
+newGetVariantStoreResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'description'
+  Prelude.Text ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'name'
+  Prelude.Text ->
+  -- | 'reference'
+  ReferenceItem ->
+  -- | 'sseConfig'
+  SseConfig ->
+  -- | 'status'
+  StoreStatus ->
+  -- | 'statusMessage'
+  Prelude.Text ->
+  -- | 'storeArn'
+  Prelude.Text ->
+  -- | 'storeSizeBytes'
+  Prelude.Integer ->
+  -- | 'updateTime'
+  Prelude.UTCTime ->
+  GetVariantStoreResponse
+newGetVariantStoreResponse
+  pHttpStatus_
+  pCreationTime_
+  pDescription_
+  pId_
+  pName_
+  pReference_
+  pSseConfig_
+  pStatus_
+  pStatusMessage_
+  pStoreArn_
+  pStoreSizeBytes_
+  pUpdateTime_ =
+    GetVariantStoreResponse'
+      { httpStatus = pHttpStatus_,
+        creationTime = Data._Time Lens.# pCreationTime_,
+        description = pDescription_,
+        id = pId_,
+        name = pName_,
+        reference = pReference_,
+        sseConfig = pSseConfig_,
+        status = pStatus_,
+        statusMessage = pStatusMessage_,
+        storeArn = pStoreArn_,
+        storeSizeBytes = pStoreSizeBytes_,
+        tags = Prelude.mempty,
+        updateTime = Data._Time Lens.# pUpdateTime_
+      }
+
+-- | The response's http status code.
+getVariantStoreResponse_httpStatus :: Lens.Lens' GetVariantStoreResponse Prelude.Int
+getVariantStoreResponse_httpStatus = Lens.lens (\GetVariantStoreResponse' {httpStatus} -> httpStatus) (\s@GetVariantStoreResponse' {} a -> s {httpStatus = a} :: GetVariantStoreResponse)
+
+-- | When the store was created.
+getVariantStoreResponse_creationTime :: Lens.Lens' GetVariantStoreResponse Prelude.UTCTime
+getVariantStoreResponse_creationTime = Lens.lens (\GetVariantStoreResponse' {creationTime} -> creationTime) (\s@GetVariantStoreResponse' {} a -> s {creationTime = a} :: GetVariantStoreResponse) Prelude.. Data._Time
+
+-- | The store\'s description.
+getVariantStoreResponse_description :: Lens.Lens' GetVariantStoreResponse Prelude.Text
+getVariantStoreResponse_description = Lens.lens (\GetVariantStoreResponse' {description} -> description) (\s@GetVariantStoreResponse' {} a -> s {description = a} :: GetVariantStoreResponse)
+
+-- | The store\'s ID.
+getVariantStoreResponse_id :: Lens.Lens' GetVariantStoreResponse Prelude.Text
+getVariantStoreResponse_id = Lens.lens (\GetVariantStoreResponse' {id} -> id) (\s@GetVariantStoreResponse' {} a -> s {id = a} :: GetVariantStoreResponse)
+
+-- | The store\'s name.
+getVariantStoreResponse_name :: Lens.Lens' GetVariantStoreResponse Prelude.Text
+getVariantStoreResponse_name = Lens.lens (\GetVariantStoreResponse' {name} -> name) (\s@GetVariantStoreResponse' {} a -> s {name = a} :: GetVariantStoreResponse)
+
+-- | The store\'s genome reference.
+getVariantStoreResponse_reference :: Lens.Lens' GetVariantStoreResponse ReferenceItem
+getVariantStoreResponse_reference = Lens.lens (\GetVariantStoreResponse' {reference} -> reference) (\s@GetVariantStoreResponse' {} a -> s {reference = a} :: GetVariantStoreResponse)
+
+-- | The store\'s server-side encryption (SSE) settings.
+getVariantStoreResponse_sseConfig :: Lens.Lens' GetVariantStoreResponse SseConfig
+getVariantStoreResponse_sseConfig = Lens.lens (\GetVariantStoreResponse' {sseConfig} -> sseConfig) (\s@GetVariantStoreResponse' {} a -> s {sseConfig = a} :: GetVariantStoreResponse)
+
+-- | The store\'s status.
+getVariantStoreResponse_status :: Lens.Lens' GetVariantStoreResponse StoreStatus
+getVariantStoreResponse_status = Lens.lens (\GetVariantStoreResponse' {status} -> status) (\s@GetVariantStoreResponse' {} a -> s {status = a} :: GetVariantStoreResponse)
+
+-- | The store\'s status message.
+getVariantStoreResponse_statusMessage :: Lens.Lens' GetVariantStoreResponse Prelude.Text
+getVariantStoreResponse_statusMessage = Lens.lens (\GetVariantStoreResponse' {statusMessage} -> statusMessage) (\s@GetVariantStoreResponse' {} a -> s {statusMessage = a} :: GetVariantStoreResponse)
+
+-- | The store\'s ARN.
+getVariantStoreResponse_storeArn :: Lens.Lens' GetVariantStoreResponse Prelude.Text
+getVariantStoreResponse_storeArn = Lens.lens (\GetVariantStoreResponse' {storeArn} -> storeArn) (\s@GetVariantStoreResponse' {} a -> s {storeArn = a} :: GetVariantStoreResponse)
+
+-- | The store\'s size in bytes.
+getVariantStoreResponse_storeSizeBytes :: Lens.Lens' GetVariantStoreResponse Prelude.Integer
+getVariantStoreResponse_storeSizeBytes = Lens.lens (\GetVariantStoreResponse' {storeSizeBytes} -> storeSizeBytes) (\s@GetVariantStoreResponse' {} a -> s {storeSizeBytes = a} :: GetVariantStoreResponse)
+
+-- | The store\'s tags.
+getVariantStoreResponse_tags :: Lens.Lens' GetVariantStoreResponse (Prelude.HashMap Prelude.Text Prelude.Text)
+getVariantStoreResponse_tags = Lens.lens (\GetVariantStoreResponse' {tags} -> tags) (\s@GetVariantStoreResponse' {} a -> s {tags = a} :: GetVariantStoreResponse) Prelude.. Lens.coerced
+
+-- | When the store was updated.
+getVariantStoreResponse_updateTime :: Lens.Lens' GetVariantStoreResponse Prelude.UTCTime
+getVariantStoreResponse_updateTime = Lens.lens (\GetVariantStoreResponse' {updateTime} -> updateTime) (\s@GetVariantStoreResponse' {} a -> s {updateTime = a} :: GetVariantStoreResponse) Prelude.. Data._Time
+
+instance Prelude.NFData GetVariantStoreResponse where
+  rnf GetVariantStoreResponse' {..} =
+    Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf description
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf reference
+      `Prelude.seq` Prelude.rnf sseConfig
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf storeArn
+      `Prelude.seq` Prelude.rnf storeSizeBytes
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf updateTime
diff --git a/gen/Amazonka/Omics/GetWorkflow.hs b/gen/Amazonka/Omics/GetWorkflow.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/GetWorkflow.hs
@@ -0,0 +1,360 @@
+{-# 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.Omics.GetWorkflow
+-- 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 information about a workflow.
+module Amazonka.Omics.GetWorkflow
+  ( -- * Creating a Request
+    GetWorkflow (..),
+    newGetWorkflow,
+
+    -- * Request Lenses
+    getWorkflow_export,
+    getWorkflow_type,
+    getWorkflow_id,
+
+    -- * Destructuring the Response
+    GetWorkflowResponse (..),
+    newGetWorkflowResponse,
+
+    -- * Response Lenses
+    getWorkflowResponse_arn,
+    getWorkflowResponse_creationTime,
+    getWorkflowResponse_definition,
+    getWorkflowResponse_description,
+    getWorkflowResponse_digest,
+    getWorkflowResponse_engine,
+    getWorkflowResponse_id,
+    getWorkflowResponse_main,
+    getWorkflowResponse_name,
+    getWorkflowResponse_parameterTemplate,
+    getWorkflowResponse_status,
+    getWorkflowResponse_statusMessage,
+    getWorkflowResponse_storageCapacity,
+    getWorkflowResponse_tags,
+    getWorkflowResponse_type,
+    getWorkflowResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newGetWorkflow' smart constructor.
+data GetWorkflow = GetWorkflow'
+  { -- | The export format for the workflow.
+    export' :: Prelude.Maybe [WorkflowExport],
+    -- | The workflow\'s type.
+    type' :: Prelude.Maybe WorkflowType,
+    -- | The workflow\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetWorkflow' 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:
+--
+-- 'export'', 'getWorkflow_export' - The export format for the workflow.
+--
+-- 'type'', 'getWorkflow_type' - The workflow\'s type.
+--
+-- 'id', 'getWorkflow_id' - The workflow\'s ID.
+newGetWorkflow ::
+  -- | 'id'
+  Prelude.Text ->
+  GetWorkflow
+newGetWorkflow pId_ =
+  GetWorkflow'
+    { export' = Prelude.Nothing,
+      type' = Prelude.Nothing,
+      id = pId_
+    }
+
+-- | The export format for the workflow.
+getWorkflow_export :: Lens.Lens' GetWorkflow (Prelude.Maybe [WorkflowExport])
+getWorkflow_export = Lens.lens (\GetWorkflow' {export'} -> export') (\s@GetWorkflow' {} a -> s {export' = a} :: GetWorkflow) Prelude.. Lens.mapping Lens.coerced
+
+-- | The workflow\'s type.
+getWorkflow_type :: Lens.Lens' GetWorkflow (Prelude.Maybe WorkflowType)
+getWorkflow_type = Lens.lens (\GetWorkflow' {type'} -> type') (\s@GetWorkflow' {} a -> s {type' = a} :: GetWorkflow)
+
+-- | The workflow\'s ID.
+getWorkflow_id :: Lens.Lens' GetWorkflow Prelude.Text
+getWorkflow_id = Lens.lens (\GetWorkflow' {id} -> id) (\s@GetWorkflow' {} a -> s {id = a} :: GetWorkflow)
+
+instance Core.AWSRequest GetWorkflow where
+  type AWSResponse GetWorkflow = GetWorkflowResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          GetWorkflowResponse'
+            Prelude.<$> (x Data..?> "arn")
+            Prelude.<*> (x Data..?> "creationTime")
+            Prelude.<*> (x Data..?> "definition")
+            Prelude.<*> (x Data..?> "description")
+            Prelude.<*> (x Data..?> "digest")
+            Prelude.<*> (x Data..?> "engine")
+            Prelude.<*> (x Data..?> "id")
+            Prelude.<*> (x Data..?> "main")
+            Prelude.<*> (x Data..?> "name")
+            Prelude.<*> ( x
+                            Data..?> "parameterTemplate"
+                            Core..!@ Prelude.mempty
+                        )
+            Prelude.<*> (x Data..?> "status")
+            Prelude.<*> (x Data..?> "statusMessage")
+            Prelude.<*> (x Data..?> "storageCapacity")
+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)
+            Prelude.<*> (x Data..?> "type")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable GetWorkflow where
+  hashWithSalt _salt GetWorkflow' {..} =
+    _salt
+      `Prelude.hashWithSalt` export'
+      `Prelude.hashWithSalt` type'
+      `Prelude.hashWithSalt` id
+
+instance Prelude.NFData GetWorkflow where
+  rnf GetWorkflow' {..} =
+    Prelude.rnf export'
+      `Prelude.seq` Prelude.rnf type'
+      `Prelude.seq` Prelude.rnf id
+
+instance Data.ToHeaders GetWorkflow where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath GetWorkflow where
+  toPath GetWorkflow' {..} =
+    Prelude.mconcat ["/workflow/", Data.toBS id]
+
+instance Data.ToQuery GetWorkflow where
+  toQuery GetWorkflow' {..} =
+    Prelude.mconcat
+      [ "export"
+          Data.=: Data.toQuery
+            (Data.toQueryList "member" Prelude.<$> export'),
+        "type" Data.=: type'
+      ]
+
+-- | /See:/ 'newGetWorkflowResponse' smart constructor.
+data GetWorkflowResponse = GetWorkflowResponse'
+  { -- | The workflow\'s ARN.
+    arn :: Prelude.Maybe Prelude.Text,
+    -- | When the workflow was created.
+    creationTime :: Prelude.Maybe Data.ISO8601,
+    -- | The workflow\'s definition.
+    definition :: Prelude.Maybe Prelude.Text,
+    -- | The workflow\'s description.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | The workflow\'s digest.
+    digest :: Prelude.Maybe Prelude.Text,
+    -- | The workflow\'s engine.
+    engine :: Prelude.Maybe WorkflowEngine,
+    -- | The workflow\'s ID.
+    id :: Prelude.Maybe Prelude.Text,
+    -- | The path of the main definition file for the workflow.
+    main :: Prelude.Maybe Prelude.Text,
+    -- | The workflow\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The workflow\'s parameter template.
+    parameterTemplate :: Prelude.Maybe (Prelude.HashMap Prelude.Text WorkflowParameter),
+    -- | The workflow\'s status.
+    status :: Prelude.Maybe WorkflowStatus,
+    -- | The workflow\'s status message.
+    statusMessage :: Prelude.Maybe Prelude.Text,
+    -- | The workflow\'s storage capacity.
+    storageCapacity :: Prelude.Maybe Prelude.Natural,
+    -- | The workflow\'s tags.
+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | The workflow\'s type.
+    type' :: Prelude.Maybe WorkflowType,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'GetWorkflowResponse' 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', 'getWorkflowResponse_arn' - The workflow\'s ARN.
+--
+-- 'creationTime', 'getWorkflowResponse_creationTime' - When the workflow was created.
+--
+-- 'definition', 'getWorkflowResponse_definition' - The workflow\'s definition.
+--
+-- 'description', 'getWorkflowResponse_description' - The workflow\'s description.
+--
+-- 'digest', 'getWorkflowResponse_digest' - The workflow\'s digest.
+--
+-- 'engine', 'getWorkflowResponse_engine' - The workflow\'s engine.
+--
+-- 'id', 'getWorkflowResponse_id' - The workflow\'s ID.
+--
+-- 'main', 'getWorkflowResponse_main' - The path of the main definition file for the workflow.
+--
+-- 'name', 'getWorkflowResponse_name' - The workflow\'s name.
+--
+-- 'parameterTemplate', 'getWorkflowResponse_parameterTemplate' - The workflow\'s parameter template.
+--
+-- 'status', 'getWorkflowResponse_status' - The workflow\'s status.
+--
+-- 'statusMessage', 'getWorkflowResponse_statusMessage' - The workflow\'s status message.
+--
+-- 'storageCapacity', 'getWorkflowResponse_storageCapacity' - The workflow\'s storage capacity.
+--
+-- 'tags', 'getWorkflowResponse_tags' - The workflow\'s tags.
+--
+-- 'type'', 'getWorkflowResponse_type' - The workflow\'s type.
+--
+-- 'httpStatus', 'getWorkflowResponse_httpStatus' - The response's http status code.
+newGetWorkflowResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  GetWorkflowResponse
+newGetWorkflowResponse pHttpStatus_ =
+  GetWorkflowResponse'
+    { arn = Prelude.Nothing,
+      creationTime = Prelude.Nothing,
+      definition = Prelude.Nothing,
+      description = Prelude.Nothing,
+      digest = Prelude.Nothing,
+      engine = Prelude.Nothing,
+      id = Prelude.Nothing,
+      main = Prelude.Nothing,
+      name = Prelude.Nothing,
+      parameterTemplate = Prelude.Nothing,
+      status = Prelude.Nothing,
+      statusMessage = Prelude.Nothing,
+      storageCapacity = Prelude.Nothing,
+      tags = Prelude.Nothing,
+      type' = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | The workflow\'s ARN.
+getWorkflowResponse_arn :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)
+getWorkflowResponse_arn = Lens.lens (\GetWorkflowResponse' {arn} -> arn) (\s@GetWorkflowResponse' {} a -> s {arn = a} :: GetWorkflowResponse)
+
+-- | When the workflow was created.
+getWorkflowResponse_creationTime :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.UTCTime)
+getWorkflowResponse_creationTime = Lens.lens (\GetWorkflowResponse' {creationTime} -> creationTime) (\s@GetWorkflowResponse' {} a -> s {creationTime = a} :: GetWorkflowResponse) Prelude.. Lens.mapping Data._Time
+
+-- | The workflow\'s definition.
+getWorkflowResponse_definition :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)
+getWorkflowResponse_definition = Lens.lens (\GetWorkflowResponse' {definition} -> definition) (\s@GetWorkflowResponse' {} a -> s {definition = a} :: GetWorkflowResponse)
+
+-- | The workflow\'s description.
+getWorkflowResponse_description :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)
+getWorkflowResponse_description = Lens.lens (\GetWorkflowResponse' {description} -> description) (\s@GetWorkflowResponse' {} a -> s {description = a} :: GetWorkflowResponse)
+
+-- | The workflow\'s digest.
+getWorkflowResponse_digest :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)
+getWorkflowResponse_digest = Lens.lens (\GetWorkflowResponse' {digest} -> digest) (\s@GetWorkflowResponse' {} a -> s {digest = a} :: GetWorkflowResponse)
+
+-- | The workflow\'s engine.
+getWorkflowResponse_engine :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe WorkflowEngine)
+getWorkflowResponse_engine = Lens.lens (\GetWorkflowResponse' {engine} -> engine) (\s@GetWorkflowResponse' {} a -> s {engine = a} :: GetWorkflowResponse)
+
+-- | The workflow\'s ID.
+getWorkflowResponse_id :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)
+getWorkflowResponse_id = Lens.lens (\GetWorkflowResponse' {id} -> id) (\s@GetWorkflowResponse' {} a -> s {id = a} :: GetWorkflowResponse)
+
+-- | The path of the main definition file for the workflow.
+getWorkflowResponse_main :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)
+getWorkflowResponse_main = Lens.lens (\GetWorkflowResponse' {main} -> main) (\s@GetWorkflowResponse' {} a -> s {main = a} :: GetWorkflowResponse)
+
+-- | The workflow\'s name.
+getWorkflowResponse_name :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)
+getWorkflowResponse_name = Lens.lens (\GetWorkflowResponse' {name} -> name) (\s@GetWorkflowResponse' {} a -> s {name = a} :: GetWorkflowResponse)
+
+-- | The workflow\'s parameter template.
+getWorkflowResponse_parameterTemplate :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text WorkflowParameter))
+getWorkflowResponse_parameterTemplate = Lens.lens (\GetWorkflowResponse' {parameterTemplate} -> parameterTemplate) (\s@GetWorkflowResponse' {} a -> s {parameterTemplate = a} :: GetWorkflowResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | The workflow\'s status.
+getWorkflowResponse_status :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe WorkflowStatus)
+getWorkflowResponse_status = Lens.lens (\GetWorkflowResponse' {status} -> status) (\s@GetWorkflowResponse' {} a -> s {status = a} :: GetWorkflowResponse)
+
+-- | The workflow\'s status message.
+getWorkflowResponse_statusMessage :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)
+getWorkflowResponse_statusMessage = Lens.lens (\GetWorkflowResponse' {statusMessage} -> statusMessage) (\s@GetWorkflowResponse' {} a -> s {statusMessage = a} :: GetWorkflowResponse)
+
+-- | The workflow\'s storage capacity.
+getWorkflowResponse_storageCapacity :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Natural)
+getWorkflowResponse_storageCapacity = Lens.lens (\GetWorkflowResponse' {storageCapacity} -> storageCapacity) (\s@GetWorkflowResponse' {} a -> s {storageCapacity = a} :: GetWorkflowResponse)
+
+-- | The workflow\'s tags.
+getWorkflowResponse_tags :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+getWorkflowResponse_tags = Lens.lens (\GetWorkflowResponse' {tags} -> tags) (\s@GetWorkflowResponse' {} a -> s {tags = a} :: GetWorkflowResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | The workflow\'s type.
+getWorkflowResponse_type :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe WorkflowType)
+getWorkflowResponse_type = Lens.lens (\GetWorkflowResponse' {type'} -> type') (\s@GetWorkflowResponse' {} a -> s {type' = a} :: GetWorkflowResponse)
+
+-- | The response's http status code.
+getWorkflowResponse_httpStatus :: Lens.Lens' GetWorkflowResponse Prelude.Int
+getWorkflowResponse_httpStatus = Lens.lens (\GetWorkflowResponse' {httpStatus} -> httpStatus) (\s@GetWorkflowResponse' {} a -> s {httpStatus = a} :: GetWorkflowResponse)
+
+instance Prelude.NFData GetWorkflowResponse where
+  rnf GetWorkflowResponse' {..} =
+    Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf definition
+      `Prelude.seq` Prelude.rnf description
+      `Prelude.seq` Prelude.rnf digest
+      `Prelude.seq` Prelude.rnf engine
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf main
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf parameterTemplate
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf storageCapacity
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf type'
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/Lens.hs b/gen/Amazonka/Omics/Lens.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Lens.hs
@@ -0,0 +1,1174 @@
+{-# 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.Omics.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.Omics.Lens
+  ( -- * Operations
+
+    -- ** BatchDeleteReadSet
+    batchDeleteReadSet_ids,
+    batchDeleteReadSet_sequenceStoreId,
+    batchDeleteReadSetResponse_errors,
+    batchDeleteReadSetResponse_httpStatus,
+
+    -- ** CancelAnnotationImportJob
+    cancelAnnotationImportJob_jobId,
+    cancelAnnotationImportJobResponse_httpStatus,
+
+    -- ** CancelRun
+    cancelRun_id,
+
+    -- ** CancelVariantImportJob
+    cancelVariantImportJob_jobId,
+    cancelVariantImportJobResponse_httpStatus,
+
+    -- ** CreateAnnotationStore
+    createAnnotationStore_description,
+    createAnnotationStore_name,
+    createAnnotationStore_reference,
+    createAnnotationStore_sseConfig,
+    createAnnotationStore_storeOptions,
+    createAnnotationStore_tags,
+    createAnnotationStore_storeFormat,
+    createAnnotationStoreResponse_reference,
+    createAnnotationStoreResponse_storeFormat,
+    createAnnotationStoreResponse_storeOptions,
+    createAnnotationStoreResponse_httpStatus,
+    createAnnotationStoreResponse_creationTime,
+    createAnnotationStoreResponse_id,
+    createAnnotationStoreResponse_name,
+    createAnnotationStoreResponse_status,
+
+    -- ** CreateReferenceStore
+    createReferenceStore_clientToken,
+    createReferenceStore_description,
+    createReferenceStore_sseConfig,
+    createReferenceStore_tags,
+    createReferenceStore_name,
+    createReferenceStoreResponse_description,
+    createReferenceStoreResponse_name,
+    createReferenceStoreResponse_sseConfig,
+    createReferenceStoreResponse_httpStatus,
+    createReferenceStoreResponse_arn,
+    createReferenceStoreResponse_creationTime,
+    createReferenceStoreResponse_id,
+
+    -- ** CreateRunGroup
+    createRunGroup_maxCpus,
+    createRunGroup_maxDuration,
+    createRunGroup_maxRuns,
+    createRunGroup_name,
+    createRunGroup_tags,
+    createRunGroup_requestId,
+    createRunGroupResponse_arn,
+    createRunGroupResponse_id,
+    createRunGroupResponse_tags,
+    createRunGroupResponse_httpStatus,
+
+    -- ** CreateSequenceStore
+    createSequenceStore_clientToken,
+    createSequenceStore_description,
+    createSequenceStore_sseConfig,
+    createSequenceStore_tags,
+    createSequenceStore_name,
+    createSequenceStoreResponse_description,
+    createSequenceStoreResponse_name,
+    createSequenceStoreResponse_sseConfig,
+    createSequenceStoreResponse_httpStatus,
+    createSequenceStoreResponse_arn,
+    createSequenceStoreResponse_creationTime,
+    createSequenceStoreResponse_id,
+
+    -- ** CreateVariantStore
+    createVariantStore_description,
+    createVariantStore_name,
+    createVariantStore_sseConfig,
+    createVariantStore_tags,
+    createVariantStore_reference,
+    createVariantStoreResponse_reference,
+    createVariantStoreResponse_httpStatus,
+    createVariantStoreResponse_creationTime,
+    createVariantStoreResponse_id,
+    createVariantStoreResponse_name,
+    createVariantStoreResponse_status,
+
+    -- ** CreateWorkflow
+    createWorkflow_definitionUri,
+    createWorkflow_definitionZip,
+    createWorkflow_description,
+    createWorkflow_engine,
+    createWorkflow_main,
+    createWorkflow_name,
+    createWorkflow_parameterTemplate,
+    createWorkflow_storageCapacity,
+    createWorkflow_tags,
+    createWorkflow_requestId,
+    createWorkflowResponse_arn,
+    createWorkflowResponse_id,
+    createWorkflowResponse_status,
+    createWorkflowResponse_tags,
+    createWorkflowResponse_httpStatus,
+
+    -- ** DeleteAnnotationStore
+    deleteAnnotationStore_force,
+    deleteAnnotationStore_name,
+    deleteAnnotationStoreResponse_httpStatus,
+    deleteAnnotationStoreResponse_status,
+
+    -- ** DeleteReference
+    deleteReference_id,
+    deleteReference_referenceStoreId,
+    deleteReferenceResponse_httpStatus,
+
+    -- ** DeleteReferenceStore
+    deleteReferenceStore_id,
+    deleteReferenceStoreResponse_httpStatus,
+
+    -- ** DeleteRun
+    deleteRun_id,
+
+    -- ** DeleteRunGroup
+    deleteRunGroup_id,
+
+    -- ** DeleteSequenceStore
+    deleteSequenceStore_id,
+    deleteSequenceStoreResponse_httpStatus,
+
+    -- ** DeleteVariantStore
+    deleteVariantStore_force,
+    deleteVariantStore_name,
+    deleteVariantStoreResponse_httpStatus,
+    deleteVariantStoreResponse_status,
+
+    -- ** DeleteWorkflow
+    deleteWorkflow_id,
+
+    -- ** GetAnnotationImportJob
+    getAnnotationImportJob_jobId,
+    getAnnotationImportJobResponse_httpStatus,
+    getAnnotationImportJobResponse_completionTime,
+    getAnnotationImportJobResponse_creationTime,
+    getAnnotationImportJobResponse_destinationName,
+    getAnnotationImportJobResponse_formatOptions,
+    getAnnotationImportJobResponse_id,
+    getAnnotationImportJobResponse_items,
+    getAnnotationImportJobResponse_roleArn,
+    getAnnotationImportJobResponse_runLeftNormalization,
+    getAnnotationImportJobResponse_status,
+    getAnnotationImportJobResponse_statusMessage,
+    getAnnotationImportJobResponse_updateTime,
+
+    -- ** GetAnnotationStore
+    getAnnotationStore_name,
+    getAnnotationStoreResponse_storeFormat,
+    getAnnotationStoreResponse_storeOptions,
+    getAnnotationStoreResponse_httpStatus,
+    getAnnotationStoreResponse_creationTime,
+    getAnnotationStoreResponse_description,
+    getAnnotationStoreResponse_id,
+    getAnnotationStoreResponse_name,
+    getAnnotationStoreResponse_reference,
+    getAnnotationStoreResponse_sseConfig,
+    getAnnotationStoreResponse_status,
+    getAnnotationStoreResponse_statusMessage,
+    getAnnotationStoreResponse_storeArn,
+    getAnnotationStoreResponse_storeSizeBytes,
+    getAnnotationStoreResponse_tags,
+    getAnnotationStoreResponse_updateTime,
+
+    -- ** GetReadSet
+    getReadSet_file,
+    getReadSet_id,
+    getReadSet_partNumber,
+    getReadSet_sequenceStoreId,
+    getReadSetResponse_httpStatus,
+    getReadSetResponse_payload,
+
+    -- ** GetReadSetActivationJob
+    getReadSetActivationJob_id,
+    getReadSetActivationJob_sequenceStoreId,
+    getReadSetActivationJobResponse_completionTime,
+    getReadSetActivationJobResponse_sources,
+    getReadSetActivationJobResponse_statusMessage,
+    getReadSetActivationJobResponse_httpStatus,
+    getReadSetActivationJobResponse_creationTime,
+    getReadSetActivationJobResponse_id,
+    getReadSetActivationJobResponse_sequenceStoreId,
+    getReadSetActivationJobResponse_status,
+
+    -- ** GetReadSetExportJob
+    getReadSetExportJob_id,
+    getReadSetExportJob_sequenceStoreId,
+    getReadSetExportJobResponse_completionTime,
+    getReadSetExportJobResponse_readSets,
+    getReadSetExportJobResponse_statusMessage,
+    getReadSetExportJobResponse_httpStatus,
+    getReadSetExportJobResponse_creationTime,
+    getReadSetExportJobResponse_destination,
+    getReadSetExportJobResponse_id,
+    getReadSetExportJobResponse_sequenceStoreId,
+    getReadSetExportJobResponse_status,
+
+    -- ** GetReadSetImportJob
+    getReadSetImportJob_id,
+    getReadSetImportJob_sequenceStoreId,
+    getReadSetImportJobResponse_completionTime,
+    getReadSetImportJobResponse_statusMessage,
+    getReadSetImportJobResponse_httpStatus,
+    getReadSetImportJobResponse_creationTime,
+    getReadSetImportJobResponse_id,
+    getReadSetImportJobResponse_roleArn,
+    getReadSetImportJobResponse_sequenceStoreId,
+    getReadSetImportJobResponse_sources,
+    getReadSetImportJobResponse_status,
+
+    -- ** GetReadSetMetadata
+    getReadSetMetadata_id,
+    getReadSetMetadata_sequenceStoreId,
+    getReadSetMetadataResponse_description,
+    getReadSetMetadataResponse_files,
+    getReadSetMetadataResponse_name,
+    getReadSetMetadataResponse_referenceArn,
+    getReadSetMetadataResponse_sampleId,
+    getReadSetMetadataResponse_sequenceInformation,
+    getReadSetMetadataResponse_subjectId,
+    getReadSetMetadataResponse_httpStatus,
+    getReadSetMetadataResponse_arn,
+    getReadSetMetadataResponse_creationTime,
+    getReadSetMetadataResponse_fileType,
+    getReadSetMetadataResponse_id,
+    getReadSetMetadataResponse_sequenceStoreId,
+    getReadSetMetadataResponse_status,
+
+    -- ** GetReference
+    getReference_file,
+    getReference_range,
+    getReference_id,
+    getReference_partNumber,
+    getReference_referenceStoreId,
+    getReferenceResponse_httpStatus,
+    getReferenceResponse_payload,
+
+    -- ** GetReferenceImportJob
+    getReferenceImportJob_id,
+    getReferenceImportJob_referenceStoreId,
+    getReferenceImportJobResponse_completionTime,
+    getReferenceImportJobResponse_statusMessage,
+    getReferenceImportJobResponse_httpStatus,
+    getReferenceImportJobResponse_creationTime,
+    getReferenceImportJobResponse_id,
+    getReferenceImportJobResponse_referenceStoreId,
+    getReferenceImportJobResponse_roleArn,
+    getReferenceImportJobResponse_sources,
+    getReferenceImportJobResponse_status,
+
+    -- ** GetReferenceMetadata
+    getReferenceMetadata_id,
+    getReferenceMetadata_referenceStoreId,
+    getReferenceMetadataResponse_description,
+    getReferenceMetadataResponse_files,
+    getReferenceMetadataResponse_name,
+    getReferenceMetadataResponse_status,
+    getReferenceMetadataResponse_httpStatus,
+    getReferenceMetadataResponse_arn,
+    getReferenceMetadataResponse_creationTime,
+    getReferenceMetadataResponse_id,
+    getReferenceMetadataResponse_md5,
+    getReferenceMetadataResponse_referenceStoreId,
+    getReferenceMetadataResponse_updateTime,
+
+    -- ** GetReferenceStore
+    getReferenceStore_id,
+    getReferenceStoreResponse_description,
+    getReferenceStoreResponse_name,
+    getReferenceStoreResponse_sseConfig,
+    getReferenceStoreResponse_httpStatus,
+    getReferenceStoreResponse_arn,
+    getReferenceStoreResponse_creationTime,
+    getReferenceStoreResponse_id,
+
+    -- ** GetRun
+    getRun_export,
+    getRun_id,
+    getRunResponse_arn,
+    getRunResponse_creationTime,
+    getRunResponse_definition,
+    getRunResponse_digest,
+    getRunResponse_id,
+    getRunResponse_logLevel,
+    getRunResponse_name,
+    getRunResponse_outputUri,
+    getRunResponse_parameters,
+    getRunResponse_priority,
+    getRunResponse_resourceDigests,
+    getRunResponse_roleArn,
+    getRunResponse_runGroupId,
+    getRunResponse_runId,
+    getRunResponse_startTime,
+    getRunResponse_startedBy,
+    getRunResponse_status,
+    getRunResponse_statusMessage,
+    getRunResponse_stopTime,
+    getRunResponse_storageCapacity,
+    getRunResponse_tags,
+    getRunResponse_workflowId,
+    getRunResponse_workflowType,
+    getRunResponse_httpStatus,
+
+    -- ** GetRunGroup
+    getRunGroup_id,
+    getRunGroupResponse_arn,
+    getRunGroupResponse_creationTime,
+    getRunGroupResponse_id,
+    getRunGroupResponse_maxCpus,
+    getRunGroupResponse_maxDuration,
+    getRunGroupResponse_maxRuns,
+    getRunGroupResponse_name,
+    getRunGroupResponse_tags,
+    getRunGroupResponse_httpStatus,
+
+    -- ** GetRunTask
+    getRunTask_id,
+    getRunTask_taskId,
+    getRunTaskResponse_cpus,
+    getRunTaskResponse_creationTime,
+    getRunTaskResponse_logStream,
+    getRunTaskResponse_memory,
+    getRunTaskResponse_name,
+    getRunTaskResponse_startTime,
+    getRunTaskResponse_status,
+    getRunTaskResponse_statusMessage,
+    getRunTaskResponse_stopTime,
+    getRunTaskResponse_taskId,
+    getRunTaskResponse_httpStatus,
+
+    -- ** GetSequenceStore
+    getSequenceStore_id,
+    getSequenceStoreResponse_description,
+    getSequenceStoreResponse_name,
+    getSequenceStoreResponse_sseConfig,
+    getSequenceStoreResponse_httpStatus,
+    getSequenceStoreResponse_arn,
+    getSequenceStoreResponse_creationTime,
+    getSequenceStoreResponse_id,
+
+    -- ** GetVariantImportJob
+    getVariantImportJob_jobId,
+    getVariantImportJobResponse_completionTime,
+    getVariantImportJobResponse_httpStatus,
+    getVariantImportJobResponse_creationTime,
+    getVariantImportJobResponse_destinationName,
+    getVariantImportJobResponse_id,
+    getVariantImportJobResponse_items,
+    getVariantImportJobResponse_roleArn,
+    getVariantImportJobResponse_runLeftNormalization,
+    getVariantImportJobResponse_status,
+    getVariantImportJobResponse_statusMessage,
+    getVariantImportJobResponse_updateTime,
+
+    -- ** GetVariantStore
+    getVariantStore_name,
+    getVariantStoreResponse_httpStatus,
+    getVariantStoreResponse_creationTime,
+    getVariantStoreResponse_description,
+    getVariantStoreResponse_id,
+    getVariantStoreResponse_name,
+    getVariantStoreResponse_reference,
+    getVariantStoreResponse_sseConfig,
+    getVariantStoreResponse_status,
+    getVariantStoreResponse_statusMessage,
+    getVariantStoreResponse_storeArn,
+    getVariantStoreResponse_storeSizeBytes,
+    getVariantStoreResponse_tags,
+    getVariantStoreResponse_updateTime,
+
+    -- ** GetWorkflow
+    getWorkflow_export,
+    getWorkflow_type,
+    getWorkflow_id,
+    getWorkflowResponse_arn,
+    getWorkflowResponse_creationTime,
+    getWorkflowResponse_definition,
+    getWorkflowResponse_description,
+    getWorkflowResponse_digest,
+    getWorkflowResponse_engine,
+    getWorkflowResponse_id,
+    getWorkflowResponse_main,
+    getWorkflowResponse_name,
+    getWorkflowResponse_parameterTemplate,
+    getWorkflowResponse_status,
+    getWorkflowResponse_statusMessage,
+    getWorkflowResponse_storageCapacity,
+    getWorkflowResponse_tags,
+    getWorkflowResponse_type,
+    getWorkflowResponse_httpStatus,
+
+    -- ** ListAnnotationImportJobs
+    listAnnotationImportJobs_filter,
+    listAnnotationImportJobs_ids,
+    listAnnotationImportJobs_maxResults,
+    listAnnotationImportJobs_nextToken,
+    listAnnotationImportJobsResponse_annotationImportJobs,
+    listAnnotationImportJobsResponse_nextToken,
+    listAnnotationImportJobsResponse_httpStatus,
+
+    -- ** ListAnnotationStores
+    listAnnotationStores_filter,
+    listAnnotationStores_ids,
+    listAnnotationStores_maxResults,
+    listAnnotationStores_nextToken,
+    listAnnotationStoresResponse_annotationStores,
+    listAnnotationStoresResponse_nextToken,
+    listAnnotationStoresResponse_httpStatus,
+
+    -- ** ListReadSetActivationJobs
+    listReadSetActivationJobs_filter,
+    listReadSetActivationJobs_maxResults,
+    listReadSetActivationJobs_nextToken,
+    listReadSetActivationJobs_sequenceStoreId,
+    listReadSetActivationJobsResponse_activationJobs,
+    listReadSetActivationJobsResponse_nextToken,
+    listReadSetActivationJobsResponse_httpStatus,
+
+    -- ** ListReadSetExportJobs
+    listReadSetExportJobs_filter,
+    listReadSetExportJobs_maxResults,
+    listReadSetExportJobs_nextToken,
+    listReadSetExportJobs_sequenceStoreId,
+    listReadSetExportJobsResponse_exportJobs,
+    listReadSetExportJobsResponse_nextToken,
+    listReadSetExportJobsResponse_httpStatus,
+
+    -- ** ListReadSetImportJobs
+    listReadSetImportJobs_filter,
+    listReadSetImportJobs_maxResults,
+    listReadSetImportJobs_nextToken,
+    listReadSetImportJobs_sequenceStoreId,
+    listReadSetImportJobsResponse_importJobs,
+    listReadSetImportJobsResponse_nextToken,
+    listReadSetImportJobsResponse_httpStatus,
+
+    -- ** ListReadSets
+    listReadSets_filter,
+    listReadSets_maxResults,
+    listReadSets_nextToken,
+    listReadSets_sequenceStoreId,
+    listReadSetsResponse_nextToken,
+    listReadSetsResponse_httpStatus,
+    listReadSetsResponse_readSets,
+
+    -- ** ListReferenceImportJobs
+    listReferenceImportJobs_filter,
+    listReferenceImportJobs_maxResults,
+    listReferenceImportJobs_nextToken,
+    listReferenceImportJobs_referenceStoreId,
+    listReferenceImportJobsResponse_importJobs,
+    listReferenceImportJobsResponse_nextToken,
+    listReferenceImportJobsResponse_httpStatus,
+
+    -- ** ListReferenceStores
+    listReferenceStores_filter,
+    listReferenceStores_maxResults,
+    listReferenceStores_nextToken,
+    listReferenceStoresResponse_nextToken,
+    listReferenceStoresResponse_httpStatus,
+    listReferenceStoresResponse_referenceStores,
+
+    -- ** ListReferences
+    listReferences_filter,
+    listReferences_maxResults,
+    listReferences_nextToken,
+    listReferences_referenceStoreId,
+    listReferencesResponse_nextToken,
+    listReferencesResponse_httpStatus,
+    listReferencesResponse_references,
+
+    -- ** ListRunGroups
+    listRunGroups_maxResults,
+    listRunGroups_name,
+    listRunGroups_startingToken,
+    listRunGroupsResponse_items,
+    listRunGroupsResponse_nextToken,
+    listRunGroupsResponse_httpStatus,
+
+    -- ** ListRunTasks
+    listRunTasks_maxResults,
+    listRunTasks_startingToken,
+    listRunTasks_status,
+    listRunTasks_id,
+    listRunTasksResponse_items,
+    listRunTasksResponse_nextToken,
+    listRunTasksResponse_httpStatus,
+
+    -- ** ListRuns
+    listRuns_maxResults,
+    listRuns_name,
+    listRuns_runGroupId,
+    listRuns_startingToken,
+    listRunsResponse_items,
+    listRunsResponse_nextToken,
+    listRunsResponse_httpStatus,
+
+    -- ** ListSequenceStores
+    listSequenceStores_filter,
+    listSequenceStores_maxResults,
+    listSequenceStores_nextToken,
+    listSequenceStoresResponse_nextToken,
+    listSequenceStoresResponse_httpStatus,
+    listSequenceStoresResponse_sequenceStores,
+
+    -- ** ListTagsForResource
+    listTagsForResource_resourceArn,
+    listTagsForResourceResponse_httpStatus,
+    listTagsForResourceResponse_tags,
+
+    -- ** ListVariantImportJobs
+    listVariantImportJobs_filter,
+    listVariantImportJobs_ids,
+    listVariantImportJobs_maxResults,
+    listVariantImportJobs_nextToken,
+    listVariantImportJobsResponse_nextToken,
+    listVariantImportJobsResponse_variantImportJobs,
+    listVariantImportJobsResponse_httpStatus,
+
+    -- ** ListVariantStores
+    listVariantStores_filter,
+    listVariantStores_ids,
+    listVariantStores_maxResults,
+    listVariantStores_nextToken,
+    listVariantStoresResponse_nextToken,
+    listVariantStoresResponse_variantStores,
+    listVariantStoresResponse_httpStatus,
+
+    -- ** ListWorkflows
+    listWorkflows_maxResults,
+    listWorkflows_name,
+    listWorkflows_startingToken,
+    listWorkflows_type,
+    listWorkflowsResponse_items,
+    listWorkflowsResponse_nextToken,
+    listWorkflowsResponse_httpStatus,
+
+    -- ** StartAnnotationImportJob
+    startAnnotationImportJob_formatOptions,
+    startAnnotationImportJob_runLeftNormalization,
+    startAnnotationImportJob_destinationName,
+    startAnnotationImportJob_items,
+    startAnnotationImportJob_roleArn,
+    startAnnotationImportJobResponse_httpStatus,
+    startAnnotationImportJobResponse_jobId,
+
+    -- ** StartReadSetActivationJob
+    startReadSetActivationJob_clientToken,
+    startReadSetActivationJob_sequenceStoreId,
+    startReadSetActivationJob_sources,
+    startReadSetActivationJobResponse_httpStatus,
+    startReadSetActivationJobResponse_creationTime,
+    startReadSetActivationJobResponse_id,
+    startReadSetActivationJobResponse_sequenceStoreId,
+    startReadSetActivationJobResponse_status,
+
+    -- ** StartReadSetExportJob
+    startReadSetExportJob_clientToken,
+    startReadSetExportJob_destination,
+    startReadSetExportJob_roleArn,
+    startReadSetExportJob_sequenceStoreId,
+    startReadSetExportJob_sources,
+    startReadSetExportJobResponse_httpStatus,
+    startReadSetExportJobResponse_creationTime,
+    startReadSetExportJobResponse_destination,
+    startReadSetExportJobResponse_id,
+    startReadSetExportJobResponse_sequenceStoreId,
+    startReadSetExportJobResponse_status,
+
+    -- ** StartReadSetImportJob
+    startReadSetImportJob_clientToken,
+    startReadSetImportJob_roleArn,
+    startReadSetImportJob_sequenceStoreId,
+    startReadSetImportJob_sources,
+    startReadSetImportJobResponse_httpStatus,
+    startReadSetImportJobResponse_creationTime,
+    startReadSetImportJobResponse_id,
+    startReadSetImportJobResponse_roleArn,
+    startReadSetImportJobResponse_sequenceStoreId,
+    startReadSetImportJobResponse_status,
+
+    -- ** StartReferenceImportJob
+    startReferenceImportJob_clientToken,
+    startReferenceImportJob_referenceStoreId,
+    startReferenceImportJob_roleArn,
+    startReferenceImportJob_sources,
+    startReferenceImportJobResponse_httpStatus,
+    startReferenceImportJobResponse_creationTime,
+    startReferenceImportJobResponse_id,
+    startReferenceImportJobResponse_referenceStoreId,
+    startReferenceImportJobResponse_roleArn,
+    startReferenceImportJobResponse_status,
+
+    -- ** StartRun
+    startRun_logLevel,
+    startRun_name,
+    startRun_outputUri,
+    startRun_parameters,
+    startRun_priority,
+    startRun_runGroupId,
+    startRun_runId,
+    startRun_storageCapacity,
+    startRun_tags,
+    startRun_workflowId,
+    startRun_workflowType,
+    startRun_requestId,
+    startRun_roleArn,
+    startRunResponse_arn,
+    startRunResponse_id,
+    startRunResponse_status,
+    startRunResponse_tags,
+    startRunResponse_httpStatus,
+
+    -- ** StartVariantImportJob
+    startVariantImportJob_runLeftNormalization,
+    startVariantImportJob_destinationName,
+    startVariantImportJob_items,
+    startVariantImportJob_roleArn,
+    startVariantImportJobResponse_httpStatus,
+    startVariantImportJobResponse_jobId,
+
+    -- ** TagResource
+    tagResource_resourceArn,
+    tagResource_tags,
+    tagResourceResponse_httpStatus,
+
+    -- ** UntagResource
+    untagResource_resourceArn,
+    untagResource_tagKeys,
+    untagResourceResponse_httpStatus,
+
+    -- ** UpdateAnnotationStore
+    updateAnnotationStore_description,
+    updateAnnotationStore_name,
+    updateAnnotationStoreResponse_storeFormat,
+    updateAnnotationStoreResponse_storeOptions,
+    updateAnnotationStoreResponse_httpStatus,
+    updateAnnotationStoreResponse_creationTime,
+    updateAnnotationStoreResponse_description,
+    updateAnnotationStoreResponse_id,
+    updateAnnotationStoreResponse_name,
+    updateAnnotationStoreResponse_reference,
+    updateAnnotationStoreResponse_status,
+    updateAnnotationStoreResponse_updateTime,
+
+    -- ** UpdateRunGroup
+    updateRunGroup_maxCpus,
+    updateRunGroup_maxDuration,
+    updateRunGroup_maxRuns,
+    updateRunGroup_name,
+    updateRunGroup_id,
+
+    -- ** UpdateVariantStore
+    updateVariantStore_description,
+    updateVariantStore_name,
+    updateVariantStoreResponse_httpStatus,
+    updateVariantStoreResponse_creationTime,
+    updateVariantStoreResponse_description,
+    updateVariantStoreResponse_id,
+    updateVariantStoreResponse_name,
+    updateVariantStoreResponse_reference,
+    updateVariantStoreResponse_status,
+    updateVariantStoreResponse_updateTime,
+
+    -- ** UpdateWorkflow
+    updateWorkflow_description,
+    updateWorkflow_name,
+    updateWorkflow_id,
+
+    -- * Types
+
+    -- ** ActivateReadSetFilter
+    activateReadSetFilter_createdAfter,
+    activateReadSetFilter_createdBefore,
+    activateReadSetFilter_status,
+
+    -- ** ActivateReadSetJobItem
+    activateReadSetJobItem_completionTime,
+    activateReadSetJobItem_creationTime,
+    activateReadSetJobItem_id,
+    activateReadSetJobItem_sequenceStoreId,
+    activateReadSetJobItem_status,
+
+    -- ** ActivateReadSetSourceItem
+    activateReadSetSourceItem_statusMessage,
+    activateReadSetSourceItem_readSetId,
+    activateReadSetSourceItem_status,
+
+    -- ** AnnotationImportItemDetail
+    annotationImportItemDetail_jobStatus,
+    annotationImportItemDetail_source,
+
+    -- ** AnnotationImportItemSource
+    annotationImportItemSource_source,
+
+    -- ** AnnotationImportJobItem
+    annotationImportJobItem_completionTime,
+    annotationImportJobItem_runLeftNormalization,
+    annotationImportJobItem_creationTime,
+    annotationImportJobItem_destinationName,
+    annotationImportJobItem_id,
+    annotationImportJobItem_roleArn,
+    annotationImportJobItem_status,
+    annotationImportJobItem_updateTime,
+
+    -- ** AnnotationStoreItem
+    annotationStoreItem_creationTime,
+    annotationStoreItem_description,
+    annotationStoreItem_id,
+    annotationStoreItem_name,
+    annotationStoreItem_reference,
+    annotationStoreItem_sseConfig,
+    annotationStoreItem_status,
+    annotationStoreItem_statusMessage,
+    annotationStoreItem_storeArn,
+    annotationStoreItem_storeFormat,
+    annotationStoreItem_storeSizeBytes,
+    annotationStoreItem_updateTime,
+
+    -- ** ExportReadSet
+    exportReadSet_readSetId,
+
+    -- ** ExportReadSetDetail
+    exportReadSetDetail_statusMessage,
+    exportReadSetDetail_id,
+    exportReadSetDetail_status,
+
+    -- ** ExportReadSetFilter
+    exportReadSetFilter_createdAfter,
+    exportReadSetFilter_createdBefore,
+    exportReadSetFilter_status,
+
+    -- ** ExportReadSetJobDetail
+    exportReadSetJobDetail_completionTime,
+    exportReadSetJobDetail_creationTime,
+    exportReadSetJobDetail_destination,
+    exportReadSetJobDetail_id,
+    exportReadSetJobDetail_sequenceStoreId,
+    exportReadSetJobDetail_status,
+
+    -- ** FileInformation
+    fileInformation_contentLength,
+    fileInformation_partSize,
+    fileInformation_totalParts,
+
+    -- ** FormatOptions
+    formatOptions_tsvOptions,
+    formatOptions_vcfOptions,
+
+    -- ** ImportReadSetFilter
+    importReadSetFilter_createdAfter,
+    importReadSetFilter_createdBefore,
+    importReadSetFilter_status,
+
+    -- ** ImportReadSetJobItem
+    importReadSetJobItem_completionTime,
+    importReadSetJobItem_creationTime,
+    importReadSetJobItem_id,
+    importReadSetJobItem_roleArn,
+    importReadSetJobItem_sequenceStoreId,
+    importReadSetJobItem_status,
+
+    -- ** ImportReadSetSourceItem
+    importReadSetSourceItem_description,
+    importReadSetSourceItem_generatedFrom,
+    importReadSetSourceItem_name,
+    importReadSetSourceItem_referenceArn,
+    importReadSetSourceItem_statusMessage,
+    importReadSetSourceItem_tags,
+    importReadSetSourceItem_sampleId,
+    importReadSetSourceItem_sourceFileType,
+    importReadSetSourceItem_sourceFiles,
+    importReadSetSourceItem_status,
+    importReadSetSourceItem_subjectId,
+
+    -- ** ImportReferenceFilter
+    importReferenceFilter_createdAfter,
+    importReferenceFilter_createdBefore,
+    importReferenceFilter_status,
+
+    -- ** ImportReferenceJobItem
+    importReferenceJobItem_completionTime,
+    importReferenceJobItem_creationTime,
+    importReferenceJobItem_id,
+    importReferenceJobItem_referenceStoreId,
+    importReferenceJobItem_roleArn,
+    importReferenceJobItem_status,
+
+    -- ** ImportReferenceSourceItem
+    importReferenceSourceItem_description,
+    importReferenceSourceItem_name,
+    importReferenceSourceItem_sourceFile,
+    importReferenceSourceItem_statusMessage,
+    importReferenceSourceItem_tags,
+    importReferenceSourceItem_status,
+
+    -- ** ListAnnotationImportJobsFilter
+    listAnnotationImportJobsFilter_status,
+    listAnnotationImportJobsFilter_storeName,
+
+    -- ** ListAnnotationStoresFilter
+    listAnnotationStoresFilter_status,
+
+    -- ** ListVariantImportJobsFilter
+    listVariantImportJobsFilter_status,
+    listVariantImportJobsFilter_storeName,
+
+    -- ** ListVariantStoresFilter
+    listVariantStoresFilter_status,
+
+    -- ** ReadOptions
+    readOptions_comment,
+    readOptions_encoding,
+    readOptions_escape,
+    readOptions_escapeQuotes,
+    readOptions_header,
+    readOptions_lineSep,
+    readOptions_quote,
+    readOptions_quoteAll,
+    readOptions_sep,
+
+    -- ** ReadSetBatchError
+    readSetBatchError_code,
+    readSetBatchError_id,
+    readSetBatchError_message,
+
+    -- ** ReadSetFiles
+    readSetFiles_index,
+    readSetFiles_source1,
+    readSetFiles_source2,
+
+    -- ** ReadSetFilter
+    readSetFilter_createdAfter,
+    readSetFilter_createdBefore,
+    readSetFilter_name,
+    readSetFilter_referenceArn,
+    readSetFilter_status,
+
+    -- ** ReadSetListItem
+    readSetListItem_description,
+    readSetListItem_name,
+    readSetListItem_referenceArn,
+    readSetListItem_sampleId,
+    readSetListItem_sequenceInformation,
+    readSetListItem_subjectId,
+    readSetListItem_arn,
+    readSetListItem_creationTime,
+    readSetListItem_fileType,
+    readSetListItem_id,
+    readSetListItem_sequenceStoreId,
+    readSetListItem_status,
+
+    -- ** ReferenceFiles
+    referenceFiles_index,
+    referenceFiles_source,
+
+    -- ** ReferenceFilter
+    referenceFilter_createdAfter,
+    referenceFilter_createdBefore,
+    referenceFilter_md5,
+    referenceFilter_name,
+
+    -- ** ReferenceItem
+    referenceItem_referenceArn,
+
+    -- ** ReferenceListItem
+    referenceListItem_description,
+    referenceListItem_name,
+    referenceListItem_status,
+    referenceListItem_arn,
+    referenceListItem_creationTime,
+    referenceListItem_id,
+    referenceListItem_md5,
+    referenceListItem_referenceStoreId,
+    referenceListItem_updateTime,
+
+    -- ** ReferenceStoreDetail
+    referenceStoreDetail_description,
+    referenceStoreDetail_name,
+    referenceStoreDetail_sseConfig,
+    referenceStoreDetail_arn,
+    referenceStoreDetail_creationTime,
+    referenceStoreDetail_id,
+
+    -- ** ReferenceStoreFilter
+    referenceStoreFilter_createdAfter,
+    referenceStoreFilter_createdBefore,
+    referenceStoreFilter_name,
+
+    -- ** RunGroupListItem
+    runGroupListItem_arn,
+    runGroupListItem_creationTime,
+    runGroupListItem_id,
+    runGroupListItem_maxCpus,
+    runGroupListItem_maxDuration,
+    runGroupListItem_maxRuns,
+    runGroupListItem_name,
+
+    -- ** RunListItem
+    runListItem_arn,
+    runListItem_creationTime,
+    runListItem_id,
+    runListItem_name,
+    runListItem_priority,
+    runListItem_startTime,
+    runListItem_status,
+    runListItem_stopTime,
+    runListItem_storageCapacity,
+    runListItem_workflowId,
+
+    -- ** RunParameters
+
+    -- ** SequenceInformation
+    sequenceInformation_alignment,
+    sequenceInformation_generatedFrom,
+    sequenceInformation_totalBaseCount,
+    sequenceInformation_totalReadCount,
+
+    -- ** SequenceStoreDetail
+    sequenceStoreDetail_description,
+    sequenceStoreDetail_name,
+    sequenceStoreDetail_sseConfig,
+    sequenceStoreDetail_arn,
+    sequenceStoreDetail_creationTime,
+    sequenceStoreDetail_id,
+
+    -- ** SequenceStoreFilter
+    sequenceStoreFilter_createdAfter,
+    sequenceStoreFilter_createdBefore,
+    sequenceStoreFilter_name,
+
+    -- ** SourceFiles
+    sourceFiles_source2,
+    sourceFiles_source1,
+
+    -- ** SseConfig
+    sseConfig_keyArn,
+    sseConfig_type,
+
+    -- ** StartReadSetActivationJobSourceItem
+    startReadSetActivationJobSourceItem_readSetId,
+
+    -- ** StartReadSetImportJobSourceItem
+    startReadSetImportJobSourceItem_description,
+    startReadSetImportJobSourceItem_generatedFrom,
+    startReadSetImportJobSourceItem_name,
+    startReadSetImportJobSourceItem_tags,
+    startReadSetImportJobSourceItem_referenceArn,
+    startReadSetImportJobSourceItem_sampleId,
+    startReadSetImportJobSourceItem_sourceFileType,
+    startReadSetImportJobSourceItem_sourceFiles,
+    startReadSetImportJobSourceItem_subjectId,
+
+    -- ** StartReferenceImportJobSourceItem
+    startReferenceImportJobSourceItem_description,
+    startReferenceImportJobSourceItem_tags,
+    startReferenceImportJobSourceItem_name,
+    startReferenceImportJobSourceItem_sourceFile,
+
+    -- ** StoreOptions
+    storeOptions_tsvStoreOptions,
+
+    -- ** TaskListItem
+    taskListItem_cpus,
+    taskListItem_creationTime,
+    taskListItem_memory,
+    taskListItem_name,
+    taskListItem_startTime,
+    taskListItem_status,
+    taskListItem_stopTime,
+    taskListItem_taskId,
+
+    -- ** TsvOptions
+    tsvOptions_readOptions,
+
+    -- ** TsvStoreOptions
+    tsvStoreOptions_annotationType,
+    tsvStoreOptions_formatToHeader,
+    tsvStoreOptions_schema,
+
+    -- ** VariantImportItemDetail
+    variantImportItemDetail_jobStatus,
+    variantImportItemDetail_source,
+
+    -- ** VariantImportItemSource
+    variantImportItemSource_source,
+
+    -- ** VariantImportJobItem
+    variantImportJobItem_completionTime,
+    variantImportJobItem_runLeftNormalization,
+    variantImportJobItem_creationTime,
+    variantImportJobItem_destinationName,
+    variantImportJobItem_id,
+    variantImportJobItem_roleArn,
+    variantImportJobItem_status,
+    variantImportJobItem_updateTime,
+
+    -- ** VariantStoreItem
+    variantStoreItem_creationTime,
+    variantStoreItem_description,
+    variantStoreItem_id,
+    variantStoreItem_name,
+    variantStoreItem_reference,
+    variantStoreItem_sseConfig,
+    variantStoreItem_status,
+    variantStoreItem_statusMessage,
+    variantStoreItem_storeArn,
+    variantStoreItem_storeSizeBytes,
+    variantStoreItem_updateTime,
+
+    -- ** VcfOptions
+    vcfOptions_ignoreFilterField,
+    vcfOptions_ignoreQualField,
+
+    -- ** WorkflowListItem
+    workflowListItem_arn,
+    workflowListItem_creationTime,
+    workflowListItem_digest,
+    workflowListItem_id,
+    workflowListItem_name,
+    workflowListItem_status,
+    workflowListItem_type,
+
+    -- ** WorkflowParameter
+    workflowParameter_description,
+    workflowParameter_optional,
+  )
+where
+
+import Amazonka.Omics.BatchDeleteReadSet
+import Amazonka.Omics.CancelAnnotationImportJob
+import Amazonka.Omics.CancelRun
+import Amazonka.Omics.CancelVariantImportJob
+import Amazonka.Omics.CreateAnnotationStore
+import Amazonka.Omics.CreateReferenceStore
+import Amazonka.Omics.CreateRunGroup
+import Amazonka.Omics.CreateSequenceStore
+import Amazonka.Omics.CreateVariantStore
+import Amazonka.Omics.CreateWorkflow
+import Amazonka.Omics.DeleteAnnotationStore
+import Amazonka.Omics.DeleteReference
+import Amazonka.Omics.DeleteReferenceStore
+import Amazonka.Omics.DeleteRun
+import Amazonka.Omics.DeleteRunGroup
+import Amazonka.Omics.DeleteSequenceStore
+import Amazonka.Omics.DeleteVariantStore
+import Amazonka.Omics.DeleteWorkflow
+import Amazonka.Omics.GetAnnotationImportJob
+import Amazonka.Omics.GetAnnotationStore
+import Amazonka.Omics.GetReadSet
+import Amazonka.Omics.GetReadSetActivationJob
+import Amazonka.Omics.GetReadSetExportJob
+import Amazonka.Omics.GetReadSetImportJob
+import Amazonka.Omics.GetReadSetMetadata
+import Amazonka.Omics.GetReference
+import Amazonka.Omics.GetReferenceImportJob
+import Amazonka.Omics.GetReferenceMetadata
+import Amazonka.Omics.GetReferenceStore
+import Amazonka.Omics.GetRun
+import Amazonka.Omics.GetRunGroup
+import Amazonka.Omics.GetRunTask
+import Amazonka.Omics.GetSequenceStore
+import Amazonka.Omics.GetVariantImportJob
+import Amazonka.Omics.GetVariantStore
+import Amazonka.Omics.GetWorkflow
+import Amazonka.Omics.ListAnnotationImportJobs
+import Amazonka.Omics.ListAnnotationStores
+import Amazonka.Omics.ListReadSetActivationJobs
+import Amazonka.Omics.ListReadSetExportJobs
+import Amazonka.Omics.ListReadSetImportJobs
+import Amazonka.Omics.ListReadSets
+import Amazonka.Omics.ListReferenceImportJobs
+import Amazonka.Omics.ListReferenceStores
+import Amazonka.Omics.ListReferences
+import Amazonka.Omics.ListRunGroups
+import Amazonka.Omics.ListRunTasks
+import Amazonka.Omics.ListRuns
+import Amazonka.Omics.ListSequenceStores
+import Amazonka.Omics.ListTagsForResource
+import Amazonka.Omics.ListVariantImportJobs
+import Amazonka.Omics.ListVariantStores
+import Amazonka.Omics.ListWorkflows
+import Amazonka.Omics.StartAnnotationImportJob
+import Amazonka.Omics.StartReadSetActivationJob
+import Amazonka.Omics.StartReadSetExportJob
+import Amazonka.Omics.StartReadSetImportJob
+import Amazonka.Omics.StartReferenceImportJob
+import Amazonka.Omics.StartRun
+import Amazonka.Omics.StartVariantImportJob
+import Amazonka.Omics.TagResource
+import Amazonka.Omics.Types.ActivateReadSetFilter
+import Amazonka.Omics.Types.ActivateReadSetJobItem
+import Amazonka.Omics.Types.ActivateReadSetSourceItem
+import Amazonka.Omics.Types.AnnotationImportItemDetail
+import Amazonka.Omics.Types.AnnotationImportItemSource
+import Amazonka.Omics.Types.AnnotationImportJobItem
+import Amazonka.Omics.Types.AnnotationStoreItem
+import Amazonka.Omics.Types.ExportReadSet
+import Amazonka.Omics.Types.ExportReadSetDetail
+import Amazonka.Omics.Types.ExportReadSetFilter
+import Amazonka.Omics.Types.ExportReadSetJobDetail
+import Amazonka.Omics.Types.FileInformation
+import Amazonka.Omics.Types.FormatOptions
+import Amazonka.Omics.Types.ImportReadSetFilter
+import Amazonka.Omics.Types.ImportReadSetJobItem
+import Amazonka.Omics.Types.ImportReadSetSourceItem
+import Amazonka.Omics.Types.ImportReferenceFilter
+import Amazonka.Omics.Types.ImportReferenceJobItem
+import Amazonka.Omics.Types.ImportReferenceSourceItem
+import Amazonka.Omics.Types.ListAnnotationImportJobsFilter
+import Amazonka.Omics.Types.ListAnnotationStoresFilter
+import Amazonka.Omics.Types.ListVariantImportJobsFilter
+import Amazonka.Omics.Types.ListVariantStoresFilter
+import Amazonka.Omics.Types.ReadOptions
+import Amazonka.Omics.Types.ReadSetBatchError
+import Amazonka.Omics.Types.ReadSetFiles
+import Amazonka.Omics.Types.ReadSetFilter
+import Amazonka.Omics.Types.ReadSetListItem
+import Amazonka.Omics.Types.ReferenceFiles
+import Amazonka.Omics.Types.ReferenceFilter
+import Amazonka.Omics.Types.ReferenceItem
+import Amazonka.Omics.Types.ReferenceListItem
+import Amazonka.Omics.Types.ReferenceStoreDetail
+import Amazonka.Omics.Types.ReferenceStoreFilter
+import Amazonka.Omics.Types.RunGroupListItem
+import Amazonka.Omics.Types.RunListItem
+import Amazonka.Omics.Types.RunParameters
+import Amazonka.Omics.Types.SequenceInformation
+import Amazonka.Omics.Types.SequenceStoreDetail
+import Amazonka.Omics.Types.SequenceStoreFilter
+import Amazonka.Omics.Types.SourceFiles
+import Amazonka.Omics.Types.SseConfig
+import Amazonka.Omics.Types.StartReadSetActivationJobSourceItem
+import Amazonka.Omics.Types.StartReadSetImportJobSourceItem
+import Amazonka.Omics.Types.StartReferenceImportJobSourceItem
+import Amazonka.Omics.Types.StoreOptions
+import Amazonka.Omics.Types.TaskListItem
+import Amazonka.Omics.Types.TsvOptions
+import Amazonka.Omics.Types.TsvStoreOptions
+import Amazonka.Omics.Types.VariantImportItemDetail
+import Amazonka.Omics.Types.VariantImportItemSource
+import Amazonka.Omics.Types.VariantImportJobItem
+import Amazonka.Omics.Types.VariantStoreItem
+import Amazonka.Omics.Types.VcfOptions
+import Amazonka.Omics.Types.WorkflowListItem
+import Amazonka.Omics.Types.WorkflowParameter
+import Amazonka.Omics.UntagResource
+import Amazonka.Omics.UpdateAnnotationStore
+import Amazonka.Omics.UpdateRunGroup
+import Amazonka.Omics.UpdateVariantStore
+import Amazonka.Omics.UpdateWorkflow
diff --git a/gen/Amazonka/Omics/ListAnnotationImportJobs.hs b/gen/Amazonka/Omics/ListAnnotationImportJobs.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListAnnotationImportJobs.hs
@@ -0,0 +1,254 @@
+{-# 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.Omics.ListAnnotationImportJobs
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of annotation import jobs.
+--
+-- This operation returns paginated results.
+module Amazonka.Omics.ListAnnotationImportJobs
+  ( -- * Creating a Request
+    ListAnnotationImportJobs (..),
+    newListAnnotationImportJobs,
+
+    -- * Request Lenses
+    listAnnotationImportJobs_filter,
+    listAnnotationImportJobs_ids,
+    listAnnotationImportJobs_maxResults,
+    listAnnotationImportJobs_nextToken,
+
+    -- * Destructuring the Response
+    ListAnnotationImportJobsResponse (..),
+    newListAnnotationImportJobsResponse,
+
+    -- * Response Lenses
+    listAnnotationImportJobsResponse_annotationImportJobs,
+    listAnnotationImportJobsResponse_nextToken,
+    listAnnotationImportJobsResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListAnnotationImportJobs' smart constructor.
+data ListAnnotationImportJobs = ListAnnotationImportJobs'
+  { -- | A filter to apply to the list.
+    filter' :: Prelude.Maybe ListAnnotationImportJobsFilter,
+    -- | IDs of annotation import jobs to retrieve.
+    ids :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),
+    -- | The maximum number of jobs to return in one page of results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | Specify the pagination token from a previous request to retrieve the
+    -- next page of results.
+    nextToken :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListAnnotationImportJobs' 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:
+--
+-- 'filter'', 'listAnnotationImportJobs_filter' - A filter to apply to the list.
+--
+-- 'ids', 'listAnnotationImportJobs_ids' - IDs of annotation import jobs to retrieve.
+--
+-- 'maxResults', 'listAnnotationImportJobs_maxResults' - The maximum number of jobs to return in one page of results.
+--
+-- 'nextToken', 'listAnnotationImportJobs_nextToken' - Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+newListAnnotationImportJobs ::
+  ListAnnotationImportJobs
+newListAnnotationImportJobs =
+  ListAnnotationImportJobs'
+    { filter' =
+        Prelude.Nothing,
+      ids = Prelude.Nothing,
+      maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing
+    }
+
+-- | A filter to apply to the list.
+listAnnotationImportJobs_filter :: Lens.Lens' ListAnnotationImportJobs (Prelude.Maybe ListAnnotationImportJobsFilter)
+listAnnotationImportJobs_filter = Lens.lens (\ListAnnotationImportJobs' {filter'} -> filter') (\s@ListAnnotationImportJobs' {} a -> s {filter' = a} :: ListAnnotationImportJobs)
+
+-- | IDs of annotation import jobs to retrieve.
+listAnnotationImportJobs_ids :: Lens.Lens' ListAnnotationImportJobs (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))
+listAnnotationImportJobs_ids = Lens.lens (\ListAnnotationImportJobs' {ids} -> ids) (\s@ListAnnotationImportJobs' {} a -> s {ids = a} :: ListAnnotationImportJobs) Prelude.. Lens.mapping Lens.coerced
+
+-- | The maximum number of jobs to return in one page of results.
+listAnnotationImportJobs_maxResults :: Lens.Lens' ListAnnotationImportJobs (Prelude.Maybe Prelude.Natural)
+listAnnotationImportJobs_maxResults = Lens.lens (\ListAnnotationImportJobs' {maxResults} -> maxResults) (\s@ListAnnotationImportJobs' {} a -> s {maxResults = a} :: ListAnnotationImportJobs)
+
+-- | Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+listAnnotationImportJobs_nextToken :: Lens.Lens' ListAnnotationImportJobs (Prelude.Maybe Prelude.Text)
+listAnnotationImportJobs_nextToken = Lens.lens (\ListAnnotationImportJobs' {nextToken} -> nextToken) (\s@ListAnnotationImportJobs' {} a -> s {nextToken = a} :: ListAnnotationImportJobs)
+
+instance Core.AWSPager ListAnnotationImportJobs where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listAnnotationImportJobsResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        ( rs
+            Lens.^? listAnnotationImportJobsResponse_annotationImportJobs
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listAnnotationImportJobs_nextToken
+          Lens..~ rs
+          Lens.^? listAnnotationImportJobsResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListAnnotationImportJobs where
+  type
+    AWSResponse ListAnnotationImportJobs =
+      ListAnnotationImportJobsResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListAnnotationImportJobsResponse'
+            Prelude.<$> ( x
+                            Data..?> "annotationImportJobs"
+                            Core..!@ Prelude.mempty
+                        )
+            Prelude.<*> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable ListAnnotationImportJobs where
+  hashWithSalt _salt ListAnnotationImportJobs' {..} =
+    _salt
+      `Prelude.hashWithSalt` filter'
+      `Prelude.hashWithSalt` ids
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+
+instance Prelude.NFData ListAnnotationImportJobs where
+  rnf ListAnnotationImportJobs' {..} =
+    Prelude.rnf filter'
+      `Prelude.seq` Prelude.rnf ids
+      `Prelude.seq` Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+
+instance Data.ToHeaders ListAnnotationImportJobs where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListAnnotationImportJobs where
+  toJSON ListAnnotationImportJobs' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("filter" Data..=) Prelude.<$> filter',
+            ("ids" Data..=) Prelude.<$> ids
+          ]
+      )
+
+instance Data.ToPath ListAnnotationImportJobs where
+  toPath = Prelude.const "/import/annotations"
+
+instance Data.ToQuery ListAnnotationImportJobs where
+  toQuery ListAnnotationImportJobs' {..} =
+    Prelude.mconcat
+      [ "maxResults" Data.=: maxResults,
+        "nextToken" Data.=: nextToken
+      ]
+
+-- | /See:/ 'newListAnnotationImportJobsResponse' smart constructor.
+data ListAnnotationImportJobsResponse = ListAnnotationImportJobsResponse'
+  { -- | A list of jobs.
+    annotationImportJobs :: Prelude.Maybe [AnnotationImportJobItem],
+    -- | A pagination token that\'s included if more results are available.
+    nextToken :: 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 'ListAnnotationImportJobsResponse' 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:
+--
+-- 'annotationImportJobs', 'listAnnotationImportJobsResponse_annotationImportJobs' - A list of jobs.
+--
+-- 'nextToken', 'listAnnotationImportJobsResponse_nextToken' - A pagination token that\'s included if more results are available.
+--
+-- 'httpStatus', 'listAnnotationImportJobsResponse_httpStatus' - The response's http status code.
+newListAnnotationImportJobsResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListAnnotationImportJobsResponse
+newListAnnotationImportJobsResponse pHttpStatus_ =
+  ListAnnotationImportJobsResponse'
+    { annotationImportJobs =
+        Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | A list of jobs.
+listAnnotationImportJobsResponse_annotationImportJobs :: Lens.Lens' ListAnnotationImportJobsResponse (Prelude.Maybe [AnnotationImportJobItem])
+listAnnotationImportJobsResponse_annotationImportJobs = Lens.lens (\ListAnnotationImportJobsResponse' {annotationImportJobs} -> annotationImportJobs) (\s@ListAnnotationImportJobsResponse' {} a -> s {annotationImportJobs = a} :: ListAnnotationImportJobsResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | A pagination token that\'s included if more results are available.
+listAnnotationImportJobsResponse_nextToken :: Lens.Lens' ListAnnotationImportJobsResponse (Prelude.Maybe Prelude.Text)
+listAnnotationImportJobsResponse_nextToken = Lens.lens (\ListAnnotationImportJobsResponse' {nextToken} -> nextToken) (\s@ListAnnotationImportJobsResponse' {} a -> s {nextToken = a} :: ListAnnotationImportJobsResponse)
+
+-- | The response's http status code.
+listAnnotationImportJobsResponse_httpStatus :: Lens.Lens' ListAnnotationImportJobsResponse Prelude.Int
+listAnnotationImportJobsResponse_httpStatus = Lens.lens (\ListAnnotationImportJobsResponse' {httpStatus} -> httpStatus) (\s@ListAnnotationImportJobsResponse' {} a -> s {httpStatus = a} :: ListAnnotationImportJobsResponse)
+
+instance
+  Prelude.NFData
+    ListAnnotationImportJobsResponse
+  where
+  rnf ListAnnotationImportJobsResponse' {..} =
+    Prelude.rnf annotationImportJobs
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/ListAnnotationStores.hs b/gen/Amazonka/Omics/ListAnnotationStores.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListAnnotationStores.hs
@@ -0,0 +1,250 @@
+{-# 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.Omics.ListAnnotationStores
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of annotation stores.
+--
+-- This operation returns paginated results.
+module Amazonka.Omics.ListAnnotationStores
+  ( -- * Creating a Request
+    ListAnnotationStores (..),
+    newListAnnotationStores,
+
+    -- * Request Lenses
+    listAnnotationStores_filter,
+    listAnnotationStores_ids,
+    listAnnotationStores_maxResults,
+    listAnnotationStores_nextToken,
+
+    -- * Destructuring the Response
+    ListAnnotationStoresResponse (..),
+    newListAnnotationStoresResponse,
+
+    -- * Response Lenses
+    listAnnotationStoresResponse_annotationStores,
+    listAnnotationStoresResponse_nextToken,
+    listAnnotationStoresResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListAnnotationStores' smart constructor.
+data ListAnnotationStores = ListAnnotationStores'
+  { -- | A filter to apply to the list.
+    filter' :: Prelude.Maybe ListAnnotationStoresFilter,
+    -- | IDs of stores to list.
+    ids :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),
+    -- | The maximum number of stores to return in one page of results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | Specify the pagination token from a previous request to retrieve the
+    -- next page of results.
+    nextToken :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListAnnotationStores' 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:
+--
+-- 'filter'', 'listAnnotationStores_filter' - A filter to apply to the list.
+--
+-- 'ids', 'listAnnotationStores_ids' - IDs of stores to list.
+--
+-- 'maxResults', 'listAnnotationStores_maxResults' - The maximum number of stores to return in one page of results.
+--
+-- 'nextToken', 'listAnnotationStores_nextToken' - Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+newListAnnotationStores ::
+  ListAnnotationStores
+newListAnnotationStores =
+  ListAnnotationStores'
+    { filter' = Prelude.Nothing,
+      ids = Prelude.Nothing,
+      maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing
+    }
+
+-- | A filter to apply to the list.
+listAnnotationStores_filter :: Lens.Lens' ListAnnotationStores (Prelude.Maybe ListAnnotationStoresFilter)
+listAnnotationStores_filter = Lens.lens (\ListAnnotationStores' {filter'} -> filter') (\s@ListAnnotationStores' {} a -> s {filter' = a} :: ListAnnotationStores)
+
+-- | IDs of stores to list.
+listAnnotationStores_ids :: Lens.Lens' ListAnnotationStores (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))
+listAnnotationStores_ids = Lens.lens (\ListAnnotationStores' {ids} -> ids) (\s@ListAnnotationStores' {} a -> s {ids = a} :: ListAnnotationStores) Prelude.. Lens.mapping Lens.coerced
+
+-- | The maximum number of stores to return in one page of results.
+listAnnotationStores_maxResults :: Lens.Lens' ListAnnotationStores (Prelude.Maybe Prelude.Natural)
+listAnnotationStores_maxResults = Lens.lens (\ListAnnotationStores' {maxResults} -> maxResults) (\s@ListAnnotationStores' {} a -> s {maxResults = a} :: ListAnnotationStores)
+
+-- | Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+listAnnotationStores_nextToken :: Lens.Lens' ListAnnotationStores (Prelude.Maybe Prelude.Text)
+listAnnotationStores_nextToken = Lens.lens (\ListAnnotationStores' {nextToken} -> nextToken) (\s@ListAnnotationStores' {} a -> s {nextToken = a} :: ListAnnotationStores)
+
+instance Core.AWSPager ListAnnotationStores where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listAnnotationStoresResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        ( rs
+            Lens.^? listAnnotationStoresResponse_annotationStores
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listAnnotationStores_nextToken
+          Lens..~ rs
+          Lens.^? listAnnotationStoresResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListAnnotationStores where
+  type
+    AWSResponse ListAnnotationStores =
+      ListAnnotationStoresResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListAnnotationStoresResponse'
+            Prelude.<$> ( x
+                            Data..?> "annotationStores"
+                            Core..!@ Prelude.mempty
+                        )
+            Prelude.<*> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable ListAnnotationStores where
+  hashWithSalt _salt ListAnnotationStores' {..} =
+    _salt
+      `Prelude.hashWithSalt` filter'
+      `Prelude.hashWithSalt` ids
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+
+instance Prelude.NFData ListAnnotationStores where
+  rnf ListAnnotationStores' {..} =
+    Prelude.rnf filter'
+      `Prelude.seq` Prelude.rnf ids
+      `Prelude.seq` Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+
+instance Data.ToHeaders ListAnnotationStores where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListAnnotationStores where
+  toJSON ListAnnotationStores' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("filter" Data..=) Prelude.<$> filter',
+            ("ids" Data..=) Prelude.<$> ids
+          ]
+      )
+
+instance Data.ToPath ListAnnotationStores where
+  toPath = Prelude.const "/annotationStores"
+
+instance Data.ToQuery ListAnnotationStores where
+  toQuery ListAnnotationStores' {..} =
+    Prelude.mconcat
+      [ "maxResults" Data.=: maxResults,
+        "nextToken" Data.=: nextToken
+      ]
+
+-- | /See:/ 'newListAnnotationStoresResponse' smart constructor.
+data ListAnnotationStoresResponse = ListAnnotationStoresResponse'
+  { -- | A list of stores.
+    annotationStores :: Prelude.Maybe [AnnotationStoreItem],
+    -- | A pagination token that\'s included if more results are available.
+    nextToken :: 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 'ListAnnotationStoresResponse' 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:
+--
+-- 'annotationStores', 'listAnnotationStoresResponse_annotationStores' - A list of stores.
+--
+-- 'nextToken', 'listAnnotationStoresResponse_nextToken' - A pagination token that\'s included if more results are available.
+--
+-- 'httpStatus', 'listAnnotationStoresResponse_httpStatus' - The response's http status code.
+newListAnnotationStoresResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListAnnotationStoresResponse
+newListAnnotationStoresResponse pHttpStatus_ =
+  ListAnnotationStoresResponse'
+    { annotationStores =
+        Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | A list of stores.
+listAnnotationStoresResponse_annotationStores :: Lens.Lens' ListAnnotationStoresResponse (Prelude.Maybe [AnnotationStoreItem])
+listAnnotationStoresResponse_annotationStores = Lens.lens (\ListAnnotationStoresResponse' {annotationStores} -> annotationStores) (\s@ListAnnotationStoresResponse' {} a -> s {annotationStores = a} :: ListAnnotationStoresResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | A pagination token that\'s included if more results are available.
+listAnnotationStoresResponse_nextToken :: Lens.Lens' ListAnnotationStoresResponse (Prelude.Maybe Prelude.Text)
+listAnnotationStoresResponse_nextToken = Lens.lens (\ListAnnotationStoresResponse' {nextToken} -> nextToken) (\s@ListAnnotationStoresResponse' {} a -> s {nextToken = a} :: ListAnnotationStoresResponse)
+
+-- | The response's http status code.
+listAnnotationStoresResponse_httpStatus :: Lens.Lens' ListAnnotationStoresResponse Prelude.Int
+listAnnotationStoresResponse_httpStatus = Lens.lens (\ListAnnotationStoresResponse' {httpStatus} -> httpStatus) (\s@ListAnnotationStoresResponse' {} a -> s {httpStatus = a} :: ListAnnotationStoresResponse)
+
+instance Prelude.NFData ListAnnotationStoresResponse where
+  rnf ListAnnotationStoresResponse' {..} =
+    Prelude.rnf annotationStores
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/ListReadSetActivationJobs.hs b/gen/Amazonka/Omics/ListReadSetActivationJobs.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListReadSetActivationJobs.hs
@@ -0,0 +1,259 @@
+{-# 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.Omics.ListReadSetActivationJobs
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of read set activation jobs.
+--
+-- This operation returns paginated results.
+module Amazonka.Omics.ListReadSetActivationJobs
+  ( -- * Creating a Request
+    ListReadSetActivationJobs (..),
+    newListReadSetActivationJobs,
+
+    -- * Request Lenses
+    listReadSetActivationJobs_filter,
+    listReadSetActivationJobs_maxResults,
+    listReadSetActivationJobs_nextToken,
+    listReadSetActivationJobs_sequenceStoreId,
+
+    -- * Destructuring the Response
+    ListReadSetActivationJobsResponse (..),
+    newListReadSetActivationJobsResponse,
+
+    -- * Response Lenses
+    listReadSetActivationJobsResponse_activationJobs,
+    listReadSetActivationJobsResponse_nextToken,
+    listReadSetActivationJobsResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListReadSetActivationJobs' smart constructor.
+data ListReadSetActivationJobs = ListReadSetActivationJobs'
+  { -- | A filter to apply to the list.
+    filter' :: Prelude.Maybe ActivateReadSetFilter,
+    -- | The maximum number of read set activation jobs to return in one page of
+    -- results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | Specify the pagination token from a previous request to retrieve the
+    -- next page of results.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The read set\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListReadSetActivationJobs' 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:
+--
+-- 'filter'', 'listReadSetActivationJobs_filter' - A filter to apply to the list.
+--
+-- 'maxResults', 'listReadSetActivationJobs_maxResults' - The maximum number of read set activation jobs to return in one page of
+-- results.
+--
+-- 'nextToken', 'listReadSetActivationJobs_nextToken' - Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+--
+-- 'sequenceStoreId', 'listReadSetActivationJobs_sequenceStoreId' - The read set\'s sequence store ID.
+newListReadSetActivationJobs ::
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  ListReadSetActivationJobs
+newListReadSetActivationJobs pSequenceStoreId_ =
+  ListReadSetActivationJobs'
+    { filter' =
+        Prelude.Nothing,
+      maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      sequenceStoreId = pSequenceStoreId_
+    }
+
+-- | A filter to apply to the list.
+listReadSetActivationJobs_filter :: Lens.Lens' ListReadSetActivationJobs (Prelude.Maybe ActivateReadSetFilter)
+listReadSetActivationJobs_filter = Lens.lens (\ListReadSetActivationJobs' {filter'} -> filter') (\s@ListReadSetActivationJobs' {} a -> s {filter' = a} :: ListReadSetActivationJobs)
+
+-- | The maximum number of read set activation jobs to return in one page of
+-- results.
+listReadSetActivationJobs_maxResults :: Lens.Lens' ListReadSetActivationJobs (Prelude.Maybe Prelude.Natural)
+listReadSetActivationJobs_maxResults = Lens.lens (\ListReadSetActivationJobs' {maxResults} -> maxResults) (\s@ListReadSetActivationJobs' {} a -> s {maxResults = a} :: ListReadSetActivationJobs)
+
+-- | Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+listReadSetActivationJobs_nextToken :: Lens.Lens' ListReadSetActivationJobs (Prelude.Maybe Prelude.Text)
+listReadSetActivationJobs_nextToken = Lens.lens (\ListReadSetActivationJobs' {nextToken} -> nextToken) (\s@ListReadSetActivationJobs' {} a -> s {nextToken = a} :: ListReadSetActivationJobs)
+
+-- | The read set\'s sequence store ID.
+listReadSetActivationJobs_sequenceStoreId :: Lens.Lens' ListReadSetActivationJobs Prelude.Text
+listReadSetActivationJobs_sequenceStoreId = Lens.lens (\ListReadSetActivationJobs' {sequenceStoreId} -> sequenceStoreId) (\s@ListReadSetActivationJobs' {} a -> s {sequenceStoreId = a} :: ListReadSetActivationJobs)
+
+instance Core.AWSPager ListReadSetActivationJobs where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listReadSetActivationJobsResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        ( rs
+            Lens.^? listReadSetActivationJobsResponse_activationJobs
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listReadSetActivationJobs_nextToken
+          Lens..~ rs
+          Lens.^? listReadSetActivationJobsResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListReadSetActivationJobs where
+  type
+    AWSResponse ListReadSetActivationJobs =
+      ListReadSetActivationJobsResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListReadSetActivationJobsResponse'
+            Prelude.<$> (x Data..?> "activationJobs" Core..!@ Prelude.mempty)
+            Prelude.<*> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable ListReadSetActivationJobs where
+  hashWithSalt _salt ListReadSetActivationJobs' {..} =
+    _salt
+      `Prelude.hashWithSalt` filter'
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+      `Prelude.hashWithSalt` sequenceStoreId
+
+instance Prelude.NFData ListReadSetActivationJobs where
+  rnf ListReadSetActivationJobs' {..} =
+    Prelude.rnf filter'
+      `Prelude.seq` Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+
+instance Data.ToHeaders ListReadSetActivationJobs where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListReadSetActivationJobs where
+  toJSON ListReadSetActivationJobs' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [("filter" Data..=) Prelude.<$> filter']
+      )
+
+instance Data.ToPath ListReadSetActivationJobs where
+  toPath ListReadSetActivationJobs' {..} =
+    Prelude.mconcat
+      [ "/sequencestore/",
+        Data.toBS sequenceStoreId,
+        "/activationjobs"
+      ]
+
+instance Data.ToQuery ListReadSetActivationJobs where
+  toQuery ListReadSetActivationJobs' {..} =
+    Prelude.mconcat
+      [ "maxResults" Data.=: maxResults,
+        "nextToken" Data.=: nextToken
+      ]
+
+-- | /See:/ 'newListReadSetActivationJobsResponse' smart constructor.
+data ListReadSetActivationJobsResponse = ListReadSetActivationJobsResponse'
+  { -- | A list of jobs.
+    activationJobs :: Prelude.Maybe [ActivateReadSetJobItem],
+    -- | A pagination token that\'s included if more results are available.
+    nextToken :: 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 'ListReadSetActivationJobsResponse' 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:
+--
+-- 'activationJobs', 'listReadSetActivationJobsResponse_activationJobs' - A list of jobs.
+--
+-- 'nextToken', 'listReadSetActivationJobsResponse_nextToken' - A pagination token that\'s included if more results are available.
+--
+-- 'httpStatus', 'listReadSetActivationJobsResponse_httpStatus' - The response's http status code.
+newListReadSetActivationJobsResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListReadSetActivationJobsResponse
+newListReadSetActivationJobsResponse pHttpStatus_ =
+  ListReadSetActivationJobsResponse'
+    { activationJobs =
+        Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | A list of jobs.
+listReadSetActivationJobsResponse_activationJobs :: Lens.Lens' ListReadSetActivationJobsResponse (Prelude.Maybe [ActivateReadSetJobItem])
+listReadSetActivationJobsResponse_activationJobs = Lens.lens (\ListReadSetActivationJobsResponse' {activationJobs} -> activationJobs) (\s@ListReadSetActivationJobsResponse' {} a -> s {activationJobs = a} :: ListReadSetActivationJobsResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | A pagination token that\'s included if more results are available.
+listReadSetActivationJobsResponse_nextToken :: Lens.Lens' ListReadSetActivationJobsResponse (Prelude.Maybe Prelude.Text)
+listReadSetActivationJobsResponse_nextToken = Lens.lens (\ListReadSetActivationJobsResponse' {nextToken} -> nextToken) (\s@ListReadSetActivationJobsResponse' {} a -> s {nextToken = a} :: ListReadSetActivationJobsResponse)
+
+-- | The response's http status code.
+listReadSetActivationJobsResponse_httpStatus :: Lens.Lens' ListReadSetActivationJobsResponse Prelude.Int
+listReadSetActivationJobsResponse_httpStatus = Lens.lens (\ListReadSetActivationJobsResponse' {httpStatus} -> httpStatus) (\s@ListReadSetActivationJobsResponse' {} a -> s {httpStatus = a} :: ListReadSetActivationJobsResponse)
+
+instance
+  Prelude.NFData
+    ListReadSetActivationJobsResponse
+  where
+  rnf ListReadSetActivationJobsResponse' {..} =
+    Prelude.rnf activationJobs
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/ListReadSetExportJobs.hs b/gen/Amazonka/Omics/ListReadSetExportJobs.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListReadSetExportJobs.hs
@@ -0,0 +1,252 @@
+{-# 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.Omics.ListReadSetExportJobs
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of read set export jobs.
+--
+-- This operation returns paginated results.
+module Amazonka.Omics.ListReadSetExportJobs
+  ( -- * Creating a Request
+    ListReadSetExportJobs (..),
+    newListReadSetExportJobs,
+
+    -- * Request Lenses
+    listReadSetExportJobs_filter,
+    listReadSetExportJobs_maxResults,
+    listReadSetExportJobs_nextToken,
+    listReadSetExportJobs_sequenceStoreId,
+
+    -- * Destructuring the Response
+    ListReadSetExportJobsResponse (..),
+    newListReadSetExportJobsResponse,
+
+    -- * Response Lenses
+    listReadSetExportJobsResponse_exportJobs,
+    listReadSetExportJobsResponse_nextToken,
+    listReadSetExportJobsResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListReadSetExportJobs' smart constructor.
+data ListReadSetExportJobs = ListReadSetExportJobs'
+  { -- | A filter to apply to the list.
+    filter' :: Prelude.Maybe ExportReadSetFilter,
+    -- | The maximum number of jobs to return in one page of results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | Specify the pagination token from a previous request to retrieve the
+    -- next page of results.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The jobs\' sequence store ID.
+    sequenceStoreId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListReadSetExportJobs' 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:
+--
+-- 'filter'', 'listReadSetExportJobs_filter' - A filter to apply to the list.
+--
+-- 'maxResults', 'listReadSetExportJobs_maxResults' - The maximum number of jobs to return in one page of results.
+--
+-- 'nextToken', 'listReadSetExportJobs_nextToken' - Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+--
+-- 'sequenceStoreId', 'listReadSetExportJobs_sequenceStoreId' - The jobs\' sequence store ID.
+newListReadSetExportJobs ::
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  ListReadSetExportJobs
+newListReadSetExportJobs pSequenceStoreId_ =
+  ListReadSetExportJobs'
+    { filter' = Prelude.Nothing,
+      maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      sequenceStoreId = pSequenceStoreId_
+    }
+
+-- | A filter to apply to the list.
+listReadSetExportJobs_filter :: Lens.Lens' ListReadSetExportJobs (Prelude.Maybe ExportReadSetFilter)
+listReadSetExportJobs_filter = Lens.lens (\ListReadSetExportJobs' {filter'} -> filter') (\s@ListReadSetExportJobs' {} a -> s {filter' = a} :: ListReadSetExportJobs)
+
+-- | The maximum number of jobs to return in one page of results.
+listReadSetExportJobs_maxResults :: Lens.Lens' ListReadSetExportJobs (Prelude.Maybe Prelude.Natural)
+listReadSetExportJobs_maxResults = Lens.lens (\ListReadSetExportJobs' {maxResults} -> maxResults) (\s@ListReadSetExportJobs' {} a -> s {maxResults = a} :: ListReadSetExportJobs)
+
+-- | Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+listReadSetExportJobs_nextToken :: Lens.Lens' ListReadSetExportJobs (Prelude.Maybe Prelude.Text)
+listReadSetExportJobs_nextToken = Lens.lens (\ListReadSetExportJobs' {nextToken} -> nextToken) (\s@ListReadSetExportJobs' {} a -> s {nextToken = a} :: ListReadSetExportJobs)
+
+-- | The jobs\' sequence store ID.
+listReadSetExportJobs_sequenceStoreId :: Lens.Lens' ListReadSetExportJobs Prelude.Text
+listReadSetExportJobs_sequenceStoreId = Lens.lens (\ListReadSetExportJobs' {sequenceStoreId} -> sequenceStoreId) (\s@ListReadSetExportJobs' {} a -> s {sequenceStoreId = a} :: ListReadSetExportJobs)
+
+instance Core.AWSPager ListReadSetExportJobs where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listReadSetExportJobsResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        ( rs
+            Lens.^? listReadSetExportJobsResponse_exportJobs
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listReadSetExportJobs_nextToken
+          Lens..~ rs
+          Lens.^? listReadSetExportJobsResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListReadSetExportJobs where
+  type
+    AWSResponse ListReadSetExportJobs =
+      ListReadSetExportJobsResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListReadSetExportJobsResponse'
+            Prelude.<$> (x Data..?> "exportJobs" Core..!@ Prelude.mempty)
+            Prelude.<*> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable ListReadSetExportJobs where
+  hashWithSalt _salt ListReadSetExportJobs' {..} =
+    _salt
+      `Prelude.hashWithSalt` filter'
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+      `Prelude.hashWithSalt` sequenceStoreId
+
+instance Prelude.NFData ListReadSetExportJobs where
+  rnf ListReadSetExportJobs' {..} =
+    Prelude.rnf filter'
+      `Prelude.seq` Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+
+instance Data.ToHeaders ListReadSetExportJobs where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListReadSetExportJobs where
+  toJSON ListReadSetExportJobs' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [("filter" Data..=) Prelude.<$> filter']
+      )
+
+instance Data.ToPath ListReadSetExportJobs where
+  toPath ListReadSetExportJobs' {..} =
+    Prelude.mconcat
+      [ "/sequencestore/",
+        Data.toBS sequenceStoreId,
+        "/exportjobs"
+      ]
+
+instance Data.ToQuery ListReadSetExportJobs where
+  toQuery ListReadSetExportJobs' {..} =
+    Prelude.mconcat
+      [ "maxResults" Data.=: maxResults,
+        "nextToken" Data.=: nextToken
+      ]
+
+-- | /See:/ 'newListReadSetExportJobsResponse' smart constructor.
+data ListReadSetExportJobsResponse = ListReadSetExportJobsResponse'
+  { -- | A list of jobs.
+    exportJobs :: Prelude.Maybe [ExportReadSetJobDetail],
+    -- | A pagination token that\'s included if more results are available.
+    nextToken :: 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 'ListReadSetExportJobsResponse' 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:
+--
+-- 'exportJobs', 'listReadSetExportJobsResponse_exportJobs' - A list of jobs.
+--
+-- 'nextToken', 'listReadSetExportJobsResponse_nextToken' - A pagination token that\'s included if more results are available.
+--
+-- 'httpStatus', 'listReadSetExportJobsResponse_httpStatus' - The response's http status code.
+newListReadSetExportJobsResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListReadSetExportJobsResponse
+newListReadSetExportJobsResponse pHttpStatus_ =
+  ListReadSetExportJobsResponse'
+    { exportJobs =
+        Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | A list of jobs.
+listReadSetExportJobsResponse_exportJobs :: Lens.Lens' ListReadSetExportJobsResponse (Prelude.Maybe [ExportReadSetJobDetail])
+listReadSetExportJobsResponse_exportJobs = Lens.lens (\ListReadSetExportJobsResponse' {exportJobs} -> exportJobs) (\s@ListReadSetExportJobsResponse' {} a -> s {exportJobs = a} :: ListReadSetExportJobsResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | A pagination token that\'s included if more results are available.
+listReadSetExportJobsResponse_nextToken :: Lens.Lens' ListReadSetExportJobsResponse (Prelude.Maybe Prelude.Text)
+listReadSetExportJobsResponse_nextToken = Lens.lens (\ListReadSetExportJobsResponse' {nextToken} -> nextToken) (\s@ListReadSetExportJobsResponse' {} a -> s {nextToken = a} :: ListReadSetExportJobsResponse)
+
+-- | The response's http status code.
+listReadSetExportJobsResponse_httpStatus :: Lens.Lens' ListReadSetExportJobsResponse Prelude.Int
+listReadSetExportJobsResponse_httpStatus = Lens.lens (\ListReadSetExportJobsResponse' {httpStatus} -> httpStatus) (\s@ListReadSetExportJobsResponse' {} a -> s {httpStatus = a} :: ListReadSetExportJobsResponse)
+
+instance Prelude.NFData ListReadSetExportJobsResponse where
+  rnf ListReadSetExportJobsResponse' {..} =
+    Prelude.rnf exportJobs
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/ListReadSetImportJobs.hs b/gen/Amazonka/Omics/ListReadSetImportJobs.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListReadSetImportJobs.hs
@@ -0,0 +1,252 @@
+{-# 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.Omics.ListReadSetImportJobs
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of read set import jobs.
+--
+-- This operation returns paginated results.
+module Amazonka.Omics.ListReadSetImportJobs
+  ( -- * Creating a Request
+    ListReadSetImportJobs (..),
+    newListReadSetImportJobs,
+
+    -- * Request Lenses
+    listReadSetImportJobs_filter,
+    listReadSetImportJobs_maxResults,
+    listReadSetImportJobs_nextToken,
+    listReadSetImportJobs_sequenceStoreId,
+
+    -- * Destructuring the Response
+    ListReadSetImportJobsResponse (..),
+    newListReadSetImportJobsResponse,
+
+    -- * Response Lenses
+    listReadSetImportJobsResponse_importJobs,
+    listReadSetImportJobsResponse_nextToken,
+    listReadSetImportJobsResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListReadSetImportJobs' smart constructor.
+data ListReadSetImportJobs = ListReadSetImportJobs'
+  { -- | A filter to apply to the list.
+    filter' :: Prelude.Maybe ImportReadSetFilter,
+    -- | The maximum number of jobs to return in one page of results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | Specify the pagination token from a previous request to retrieve the
+    -- next page of results.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The jobs\' sequence store ID.
+    sequenceStoreId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListReadSetImportJobs' 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:
+--
+-- 'filter'', 'listReadSetImportJobs_filter' - A filter to apply to the list.
+--
+-- 'maxResults', 'listReadSetImportJobs_maxResults' - The maximum number of jobs to return in one page of results.
+--
+-- 'nextToken', 'listReadSetImportJobs_nextToken' - Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+--
+-- 'sequenceStoreId', 'listReadSetImportJobs_sequenceStoreId' - The jobs\' sequence store ID.
+newListReadSetImportJobs ::
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  ListReadSetImportJobs
+newListReadSetImportJobs pSequenceStoreId_ =
+  ListReadSetImportJobs'
+    { filter' = Prelude.Nothing,
+      maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      sequenceStoreId = pSequenceStoreId_
+    }
+
+-- | A filter to apply to the list.
+listReadSetImportJobs_filter :: Lens.Lens' ListReadSetImportJobs (Prelude.Maybe ImportReadSetFilter)
+listReadSetImportJobs_filter = Lens.lens (\ListReadSetImportJobs' {filter'} -> filter') (\s@ListReadSetImportJobs' {} a -> s {filter' = a} :: ListReadSetImportJobs)
+
+-- | The maximum number of jobs to return in one page of results.
+listReadSetImportJobs_maxResults :: Lens.Lens' ListReadSetImportJobs (Prelude.Maybe Prelude.Natural)
+listReadSetImportJobs_maxResults = Lens.lens (\ListReadSetImportJobs' {maxResults} -> maxResults) (\s@ListReadSetImportJobs' {} a -> s {maxResults = a} :: ListReadSetImportJobs)
+
+-- | Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+listReadSetImportJobs_nextToken :: Lens.Lens' ListReadSetImportJobs (Prelude.Maybe Prelude.Text)
+listReadSetImportJobs_nextToken = Lens.lens (\ListReadSetImportJobs' {nextToken} -> nextToken) (\s@ListReadSetImportJobs' {} a -> s {nextToken = a} :: ListReadSetImportJobs)
+
+-- | The jobs\' sequence store ID.
+listReadSetImportJobs_sequenceStoreId :: Lens.Lens' ListReadSetImportJobs Prelude.Text
+listReadSetImportJobs_sequenceStoreId = Lens.lens (\ListReadSetImportJobs' {sequenceStoreId} -> sequenceStoreId) (\s@ListReadSetImportJobs' {} a -> s {sequenceStoreId = a} :: ListReadSetImportJobs)
+
+instance Core.AWSPager ListReadSetImportJobs where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listReadSetImportJobsResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        ( rs
+            Lens.^? listReadSetImportJobsResponse_importJobs
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listReadSetImportJobs_nextToken
+          Lens..~ rs
+          Lens.^? listReadSetImportJobsResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListReadSetImportJobs where
+  type
+    AWSResponse ListReadSetImportJobs =
+      ListReadSetImportJobsResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListReadSetImportJobsResponse'
+            Prelude.<$> (x Data..?> "importJobs" Core..!@ Prelude.mempty)
+            Prelude.<*> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable ListReadSetImportJobs where
+  hashWithSalt _salt ListReadSetImportJobs' {..} =
+    _salt
+      `Prelude.hashWithSalt` filter'
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+      `Prelude.hashWithSalt` sequenceStoreId
+
+instance Prelude.NFData ListReadSetImportJobs where
+  rnf ListReadSetImportJobs' {..} =
+    Prelude.rnf filter'
+      `Prelude.seq` Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+
+instance Data.ToHeaders ListReadSetImportJobs where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListReadSetImportJobs where
+  toJSON ListReadSetImportJobs' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [("filter" Data..=) Prelude.<$> filter']
+      )
+
+instance Data.ToPath ListReadSetImportJobs where
+  toPath ListReadSetImportJobs' {..} =
+    Prelude.mconcat
+      [ "/sequencestore/",
+        Data.toBS sequenceStoreId,
+        "/importjobs"
+      ]
+
+instance Data.ToQuery ListReadSetImportJobs where
+  toQuery ListReadSetImportJobs' {..} =
+    Prelude.mconcat
+      [ "maxResults" Data.=: maxResults,
+        "nextToken" Data.=: nextToken
+      ]
+
+-- | /See:/ 'newListReadSetImportJobsResponse' smart constructor.
+data ListReadSetImportJobsResponse = ListReadSetImportJobsResponse'
+  { -- | A list of jobs.
+    importJobs :: Prelude.Maybe [ImportReadSetJobItem],
+    -- | A pagination token that\'s included if more results are available.
+    nextToken :: 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 'ListReadSetImportJobsResponse' 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:
+--
+-- 'importJobs', 'listReadSetImportJobsResponse_importJobs' - A list of jobs.
+--
+-- 'nextToken', 'listReadSetImportJobsResponse_nextToken' - A pagination token that\'s included if more results are available.
+--
+-- 'httpStatus', 'listReadSetImportJobsResponse_httpStatus' - The response's http status code.
+newListReadSetImportJobsResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListReadSetImportJobsResponse
+newListReadSetImportJobsResponse pHttpStatus_ =
+  ListReadSetImportJobsResponse'
+    { importJobs =
+        Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | A list of jobs.
+listReadSetImportJobsResponse_importJobs :: Lens.Lens' ListReadSetImportJobsResponse (Prelude.Maybe [ImportReadSetJobItem])
+listReadSetImportJobsResponse_importJobs = Lens.lens (\ListReadSetImportJobsResponse' {importJobs} -> importJobs) (\s@ListReadSetImportJobsResponse' {} a -> s {importJobs = a} :: ListReadSetImportJobsResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | A pagination token that\'s included if more results are available.
+listReadSetImportJobsResponse_nextToken :: Lens.Lens' ListReadSetImportJobsResponse (Prelude.Maybe Prelude.Text)
+listReadSetImportJobsResponse_nextToken = Lens.lens (\ListReadSetImportJobsResponse' {nextToken} -> nextToken) (\s@ListReadSetImportJobsResponse' {} a -> s {nextToken = a} :: ListReadSetImportJobsResponse)
+
+-- | The response's http status code.
+listReadSetImportJobsResponse_httpStatus :: Lens.Lens' ListReadSetImportJobsResponse Prelude.Int
+listReadSetImportJobsResponse_httpStatus = Lens.lens (\ListReadSetImportJobsResponse' {httpStatus} -> httpStatus) (\s@ListReadSetImportJobsResponse' {} a -> s {httpStatus = a} :: ListReadSetImportJobsResponse)
+
+instance Prelude.NFData ListReadSetImportJobsResponse where
+  rnf ListReadSetImportJobsResponse' {..} =
+    Prelude.rnf importJobs
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/ListReadSets.hs b/gen/Amazonka/Omics/ListReadSets.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListReadSets.hs
@@ -0,0 +1,246 @@
+{-# 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.Omics.ListReadSets
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of read sets.
+--
+-- This operation returns paginated results.
+module Amazonka.Omics.ListReadSets
+  ( -- * Creating a Request
+    ListReadSets (..),
+    newListReadSets,
+
+    -- * Request Lenses
+    listReadSets_filter,
+    listReadSets_maxResults,
+    listReadSets_nextToken,
+    listReadSets_sequenceStoreId,
+
+    -- * Destructuring the Response
+    ListReadSetsResponse (..),
+    newListReadSetsResponse,
+
+    -- * Response Lenses
+    listReadSetsResponse_nextToken,
+    listReadSetsResponse_httpStatus,
+    listReadSetsResponse_readSets,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListReadSets' smart constructor.
+data ListReadSets = ListReadSets'
+  { -- | A filter to apply to the list.
+    filter' :: Prelude.Maybe ReadSetFilter,
+    -- | The maximum number of read sets to return in one page of results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | Specify the pagination token from a previous request to retrieve the
+    -- next page of results.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The jobs\' sequence store ID.
+    sequenceStoreId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListReadSets' 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:
+--
+-- 'filter'', 'listReadSets_filter' - A filter to apply to the list.
+--
+-- 'maxResults', 'listReadSets_maxResults' - The maximum number of read sets to return in one page of results.
+--
+-- 'nextToken', 'listReadSets_nextToken' - Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+--
+-- 'sequenceStoreId', 'listReadSets_sequenceStoreId' - The jobs\' sequence store ID.
+newListReadSets ::
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  ListReadSets
+newListReadSets pSequenceStoreId_ =
+  ListReadSets'
+    { filter' = Prelude.Nothing,
+      maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      sequenceStoreId = pSequenceStoreId_
+    }
+
+-- | A filter to apply to the list.
+listReadSets_filter :: Lens.Lens' ListReadSets (Prelude.Maybe ReadSetFilter)
+listReadSets_filter = Lens.lens (\ListReadSets' {filter'} -> filter') (\s@ListReadSets' {} a -> s {filter' = a} :: ListReadSets)
+
+-- | The maximum number of read sets to return in one page of results.
+listReadSets_maxResults :: Lens.Lens' ListReadSets (Prelude.Maybe Prelude.Natural)
+listReadSets_maxResults = Lens.lens (\ListReadSets' {maxResults} -> maxResults) (\s@ListReadSets' {} a -> s {maxResults = a} :: ListReadSets)
+
+-- | Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+listReadSets_nextToken :: Lens.Lens' ListReadSets (Prelude.Maybe Prelude.Text)
+listReadSets_nextToken = Lens.lens (\ListReadSets' {nextToken} -> nextToken) (\s@ListReadSets' {} a -> s {nextToken = a} :: ListReadSets)
+
+-- | The jobs\' sequence store ID.
+listReadSets_sequenceStoreId :: Lens.Lens' ListReadSets Prelude.Text
+listReadSets_sequenceStoreId = Lens.lens (\ListReadSets' {sequenceStoreId} -> sequenceStoreId) (\s@ListReadSets' {} a -> s {sequenceStoreId = a} :: ListReadSets)
+
+instance Core.AWSPager ListReadSets where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listReadSetsResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        (rs Lens.^. listReadSetsResponse_readSets) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listReadSets_nextToken
+          Lens..~ rs
+          Lens.^? listReadSetsResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListReadSets where
+  type AWSResponse ListReadSets = ListReadSetsResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListReadSetsResponse'
+            Prelude.<$> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..?> "readSets" Core..!@ Prelude.mempty)
+      )
+
+instance Prelude.Hashable ListReadSets where
+  hashWithSalt _salt ListReadSets' {..} =
+    _salt
+      `Prelude.hashWithSalt` filter'
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+      `Prelude.hashWithSalt` sequenceStoreId
+
+instance Prelude.NFData ListReadSets where
+  rnf ListReadSets' {..} =
+    Prelude.rnf filter'
+      `Prelude.seq` Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+
+instance Data.ToHeaders ListReadSets where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListReadSets where
+  toJSON ListReadSets' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [("filter" Data..=) Prelude.<$> filter']
+      )
+
+instance Data.ToPath ListReadSets where
+  toPath ListReadSets' {..} =
+    Prelude.mconcat
+      [ "/sequencestore/",
+        Data.toBS sequenceStoreId,
+        "/readsets"
+      ]
+
+instance Data.ToQuery ListReadSets where
+  toQuery ListReadSets' {..} =
+    Prelude.mconcat
+      [ "maxResults" Data.=: maxResults,
+        "nextToken" Data.=: nextToken
+      ]
+
+-- | /See:/ 'newListReadSetsResponse' smart constructor.
+data ListReadSetsResponse = ListReadSetsResponse'
+  { -- | A pagination token that\'s included if more results are available.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | A list of read sets.
+    readSets :: [ReadSetListItem]
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListReadSetsResponse' 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', 'listReadSetsResponse_nextToken' - A pagination token that\'s included if more results are available.
+--
+-- 'httpStatus', 'listReadSetsResponse_httpStatus' - The response's http status code.
+--
+-- 'readSets', 'listReadSetsResponse_readSets' - A list of read sets.
+newListReadSetsResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListReadSetsResponse
+newListReadSetsResponse pHttpStatus_ =
+  ListReadSetsResponse'
+    { nextToken = Prelude.Nothing,
+      httpStatus = pHttpStatus_,
+      readSets = Prelude.mempty
+    }
+
+-- | A pagination token that\'s included if more results are available.
+listReadSetsResponse_nextToken :: Lens.Lens' ListReadSetsResponse (Prelude.Maybe Prelude.Text)
+listReadSetsResponse_nextToken = Lens.lens (\ListReadSetsResponse' {nextToken} -> nextToken) (\s@ListReadSetsResponse' {} a -> s {nextToken = a} :: ListReadSetsResponse)
+
+-- | The response's http status code.
+listReadSetsResponse_httpStatus :: Lens.Lens' ListReadSetsResponse Prelude.Int
+listReadSetsResponse_httpStatus = Lens.lens (\ListReadSetsResponse' {httpStatus} -> httpStatus) (\s@ListReadSetsResponse' {} a -> s {httpStatus = a} :: ListReadSetsResponse)
+
+-- | A list of read sets.
+listReadSetsResponse_readSets :: Lens.Lens' ListReadSetsResponse [ReadSetListItem]
+listReadSetsResponse_readSets = Lens.lens (\ListReadSetsResponse' {readSets} -> readSets) (\s@ListReadSetsResponse' {} a -> s {readSets = a} :: ListReadSetsResponse) Prelude.. Lens.coerced
+
+instance Prelude.NFData ListReadSetsResponse where
+  rnf ListReadSetsResponse' {..} =
+    Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf readSets
diff --git a/gen/Amazonka/Omics/ListReferenceImportJobs.hs b/gen/Amazonka/Omics/ListReferenceImportJobs.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListReferenceImportJobs.hs
@@ -0,0 +1,255 @@
+{-# 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.Omics.ListReferenceImportJobs
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of reference import jobs.
+--
+-- This operation returns paginated results.
+module Amazonka.Omics.ListReferenceImportJobs
+  ( -- * Creating a Request
+    ListReferenceImportJobs (..),
+    newListReferenceImportJobs,
+
+    -- * Request Lenses
+    listReferenceImportJobs_filter,
+    listReferenceImportJobs_maxResults,
+    listReferenceImportJobs_nextToken,
+    listReferenceImportJobs_referenceStoreId,
+
+    -- * Destructuring the Response
+    ListReferenceImportJobsResponse (..),
+    newListReferenceImportJobsResponse,
+
+    -- * Response Lenses
+    listReferenceImportJobsResponse_importJobs,
+    listReferenceImportJobsResponse_nextToken,
+    listReferenceImportJobsResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListReferenceImportJobs' smart constructor.
+data ListReferenceImportJobs = ListReferenceImportJobs'
+  { -- | A filter to apply to the list.
+    filter' :: Prelude.Maybe ImportReferenceFilter,
+    -- | The maximum number of jobs to return in one page of results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | Specify the pagination token from a previous request to retrieve the
+    -- next page of results.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The job\'s reference store ID.
+    referenceStoreId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListReferenceImportJobs' 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:
+--
+-- 'filter'', 'listReferenceImportJobs_filter' - A filter to apply to the list.
+--
+-- 'maxResults', 'listReferenceImportJobs_maxResults' - The maximum number of jobs to return in one page of results.
+--
+-- 'nextToken', 'listReferenceImportJobs_nextToken' - Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+--
+-- 'referenceStoreId', 'listReferenceImportJobs_referenceStoreId' - The job\'s reference store ID.
+newListReferenceImportJobs ::
+  -- | 'referenceStoreId'
+  Prelude.Text ->
+  ListReferenceImportJobs
+newListReferenceImportJobs pReferenceStoreId_ =
+  ListReferenceImportJobs'
+    { filter' = Prelude.Nothing,
+      maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      referenceStoreId = pReferenceStoreId_
+    }
+
+-- | A filter to apply to the list.
+listReferenceImportJobs_filter :: Lens.Lens' ListReferenceImportJobs (Prelude.Maybe ImportReferenceFilter)
+listReferenceImportJobs_filter = Lens.lens (\ListReferenceImportJobs' {filter'} -> filter') (\s@ListReferenceImportJobs' {} a -> s {filter' = a} :: ListReferenceImportJobs)
+
+-- | The maximum number of jobs to return in one page of results.
+listReferenceImportJobs_maxResults :: Lens.Lens' ListReferenceImportJobs (Prelude.Maybe Prelude.Natural)
+listReferenceImportJobs_maxResults = Lens.lens (\ListReferenceImportJobs' {maxResults} -> maxResults) (\s@ListReferenceImportJobs' {} a -> s {maxResults = a} :: ListReferenceImportJobs)
+
+-- | Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+listReferenceImportJobs_nextToken :: Lens.Lens' ListReferenceImportJobs (Prelude.Maybe Prelude.Text)
+listReferenceImportJobs_nextToken = Lens.lens (\ListReferenceImportJobs' {nextToken} -> nextToken) (\s@ListReferenceImportJobs' {} a -> s {nextToken = a} :: ListReferenceImportJobs)
+
+-- | The job\'s reference store ID.
+listReferenceImportJobs_referenceStoreId :: Lens.Lens' ListReferenceImportJobs Prelude.Text
+listReferenceImportJobs_referenceStoreId = Lens.lens (\ListReferenceImportJobs' {referenceStoreId} -> referenceStoreId) (\s@ListReferenceImportJobs' {} a -> s {referenceStoreId = a} :: ListReferenceImportJobs)
+
+instance Core.AWSPager ListReferenceImportJobs where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listReferenceImportJobsResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        ( rs
+            Lens.^? listReferenceImportJobsResponse_importJobs
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listReferenceImportJobs_nextToken
+          Lens..~ rs
+          Lens.^? listReferenceImportJobsResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListReferenceImportJobs where
+  type
+    AWSResponse ListReferenceImportJobs =
+      ListReferenceImportJobsResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListReferenceImportJobsResponse'
+            Prelude.<$> (x Data..?> "importJobs" Core..!@ Prelude.mempty)
+            Prelude.<*> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable ListReferenceImportJobs where
+  hashWithSalt _salt ListReferenceImportJobs' {..} =
+    _salt
+      `Prelude.hashWithSalt` filter'
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+      `Prelude.hashWithSalt` referenceStoreId
+
+instance Prelude.NFData ListReferenceImportJobs where
+  rnf ListReferenceImportJobs' {..} =
+    Prelude.rnf filter'
+      `Prelude.seq` Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf referenceStoreId
+
+instance Data.ToHeaders ListReferenceImportJobs where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListReferenceImportJobs where
+  toJSON ListReferenceImportJobs' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [("filter" Data..=) Prelude.<$> filter']
+      )
+
+instance Data.ToPath ListReferenceImportJobs where
+  toPath ListReferenceImportJobs' {..} =
+    Prelude.mconcat
+      [ "/referencestore/",
+        Data.toBS referenceStoreId,
+        "/importjobs"
+      ]
+
+instance Data.ToQuery ListReferenceImportJobs where
+  toQuery ListReferenceImportJobs' {..} =
+    Prelude.mconcat
+      [ "maxResults" Data.=: maxResults,
+        "nextToken" Data.=: nextToken
+      ]
+
+-- | /See:/ 'newListReferenceImportJobsResponse' smart constructor.
+data ListReferenceImportJobsResponse = ListReferenceImportJobsResponse'
+  { -- | A lis of jobs.
+    importJobs :: Prelude.Maybe [ImportReferenceJobItem],
+    -- | A pagination token that\'s included if more results are available.
+    nextToken :: 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 'ListReferenceImportJobsResponse' 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:
+--
+-- 'importJobs', 'listReferenceImportJobsResponse_importJobs' - A lis of jobs.
+--
+-- 'nextToken', 'listReferenceImportJobsResponse_nextToken' - A pagination token that\'s included if more results are available.
+--
+-- 'httpStatus', 'listReferenceImportJobsResponse_httpStatus' - The response's http status code.
+newListReferenceImportJobsResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListReferenceImportJobsResponse
+newListReferenceImportJobsResponse pHttpStatus_ =
+  ListReferenceImportJobsResponse'
+    { importJobs =
+        Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | A lis of jobs.
+listReferenceImportJobsResponse_importJobs :: Lens.Lens' ListReferenceImportJobsResponse (Prelude.Maybe [ImportReferenceJobItem])
+listReferenceImportJobsResponse_importJobs = Lens.lens (\ListReferenceImportJobsResponse' {importJobs} -> importJobs) (\s@ListReferenceImportJobsResponse' {} a -> s {importJobs = a} :: ListReferenceImportJobsResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | A pagination token that\'s included if more results are available.
+listReferenceImportJobsResponse_nextToken :: Lens.Lens' ListReferenceImportJobsResponse (Prelude.Maybe Prelude.Text)
+listReferenceImportJobsResponse_nextToken = Lens.lens (\ListReferenceImportJobsResponse' {nextToken} -> nextToken) (\s@ListReferenceImportJobsResponse' {} a -> s {nextToken = a} :: ListReferenceImportJobsResponse)
+
+-- | The response's http status code.
+listReferenceImportJobsResponse_httpStatus :: Lens.Lens' ListReferenceImportJobsResponse Prelude.Int
+listReferenceImportJobsResponse_httpStatus = Lens.lens (\ListReferenceImportJobsResponse' {httpStatus} -> httpStatus) (\s@ListReferenceImportJobsResponse' {} a -> s {httpStatus = a} :: ListReferenceImportJobsResponse)
+
+instance
+  Prelude.NFData
+    ListReferenceImportJobsResponse
+  where
+  rnf ListReferenceImportJobsResponse' {..} =
+    Prelude.rnf importJobs
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/ListReferenceStores.hs b/gen/Amazonka/Omics/ListReferenceStores.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListReferenceStores.hs
@@ -0,0 +1,235 @@
+{-# 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.Omics.ListReferenceStores
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of reference stores.
+--
+-- This operation returns paginated results.
+module Amazonka.Omics.ListReferenceStores
+  ( -- * Creating a Request
+    ListReferenceStores (..),
+    newListReferenceStores,
+
+    -- * Request Lenses
+    listReferenceStores_filter,
+    listReferenceStores_maxResults,
+    listReferenceStores_nextToken,
+
+    -- * Destructuring the Response
+    ListReferenceStoresResponse (..),
+    newListReferenceStoresResponse,
+
+    -- * Response Lenses
+    listReferenceStoresResponse_nextToken,
+    listReferenceStoresResponse_httpStatus,
+    listReferenceStoresResponse_referenceStores,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListReferenceStores' smart constructor.
+data ListReferenceStores = ListReferenceStores'
+  { -- | A filter to apply to the list.
+    filter' :: Prelude.Maybe ReferenceStoreFilter,
+    -- | The maximum number of stores to return in one page of results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | Specify the pagination token from a previous request to retrieve the
+    -- next page of results.
+    nextToken :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListReferenceStores' 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:
+--
+-- 'filter'', 'listReferenceStores_filter' - A filter to apply to the list.
+--
+-- 'maxResults', 'listReferenceStores_maxResults' - The maximum number of stores to return in one page of results.
+--
+-- 'nextToken', 'listReferenceStores_nextToken' - Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+newListReferenceStores ::
+  ListReferenceStores
+newListReferenceStores =
+  ListReferenceStores'
+    { filter' = Prelude.Nothing,
+      maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing
+    }
+
+-- | A filter to apply to the list.
+listReferenceStores_filter :: Lens.Lens' ListReferenceStores (Prelude.Maybe ReferenceStoreFilter)
+listReferenceStores_filter = Lens.lens (\ListReferenceStores' {filter'} -> filter') (\s@ListReferenceStores' {} a -> s {filter' = a} :: ListReferenceStores)
+
+-- | The maximum number of stores to return in one page of results.
+listReferenceStores_maxResults :: Lens.Lens' ListReferenceStores (Prelude.Maybe Prelude.Natural)
+listReferenceStores_maxResults = Lens.lens (\ListReferenceStores' {maxResults} -> maxResults) (\s@ListReferenceStores' {} a -> s {maxResults = a} :: ListReferenceStores)
+
+-- | Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+listReferenceStores_nextToken :: Lens.Lens' ListReferenceStores (Prelude.Maybe Prelude.Text)
+listReferenceStores_nextToken = Lens.lens (\ListReferenceStores' {nextToken} -> nextToken) (\s@ListReferenceStores' {} a -> s {nextToken = a} :: ListReferenceStores)
+
+instance Core.AWSPager ListReferenceStores where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listReferenceStoresResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        ( rs
+            Lens.^. listReferenceStoresResponse_referenceStores
+        ) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listReferenceStores_nextToken
+          Lens..~ rs
+          Lens.^? listReferenceStoresResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListReferenceStores where
+  type
+    AWSResponse ListReferenceStores =
+      ListReferenceStoresResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListReferenceStoresResponse'
+            Prelude.<$> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> ( x
+                            Data..?> "referenceStores"
+                            Core..!@ Prelude.mempty
+                        )
+      )
+
+instance Prelude.Hashable ListReferenceStores where
+  hashWithSalt _salt ListReferenceStores' {..} =
+    _salt
+      `Prelude.hashWithSalt` filter'
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+
+instance Prelude.NFData ListReferenceStores where
+  rnf ListReferenceStores' {..} =
+    Prelude.rnf filter'
+      `Prelude.seq` Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+
+instance Data.ToHeaders ListReferenceStores where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListReferenceStores where
+  toJSON ListReferenceStores' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [("filter" Data..=) Prelude.<$> filter']
+      )
+
+instance Data.ToPath ListReferenceStores where
+  toPath = Prelude.const "/referencestores"
+
+instance Data.ToQuery ListReferenceStores where
+  toQuery ListReferenceStores' {..} =
+    Prelude.mconcat
+      [ "maxResults" Data.=: maxResults,
+        "nextToken" Data.=: nextToken
+      ]
+
+-- | /See:/ 'newListReferenceStoresResponse' smart constructor.
+data ListReferenceStoresResponse = ListReferenceStoresResponse'
+  { -- | A pagination token that\'s included if more results are available.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | A list of reference stores.
+    referenceStores :: [ReferenceStoreDetail]
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListReferenceStoresResponse' 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', 'listReferenceStoresResponse_nextToken' - A pagination token that\'s included if more results are available.
+--
+-- 'httpStatus', 'listReferenceStoresResponse_httpStatus' - The response's http status code.
+--
+-- 'referenceStores', 'listReferenceStoresResponse_referenceStores' - A list of reference stores.
+newListReferenceStoresResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListReferenceStoresResponse
+newListReferenceStoresResponse pHttpStatus_ =
+  ListReferenceStoresResponse'
+    { nextToken =
+        Prelude.Nothing,
+      httpStatus = pHttpStatus_,
+      referenceStores = Prelude.mempty
+    }
+
+-- | A pagination token that\'s included if more results are available.
+listReferenceStoresResponse_nextToken :: Lens.Lens' ListReferenceStoresResponse (Prelude.Maybe Prelude.Text)
+listReferenceStoresResponse_nextToken = Lens.lens (\ListReferenceStoresResponse' {nextToken} -> nextToken) (\s@ListReferenceStoresResponse' {} a -> s {nextToken = a} :: ListReferenceStoresResponse)
+
+-- | The response's http status code.
+listReferenceStoresResponse_httpStatus :: Lens.Lens' ListReferenceStoresResponse Prelude.Int
+listReferenceStoresResponse_httpStatus = Lens.lens (\ListReferenceStoresResponse' {httpStatus} -> httpStatus) (\s@ListReferenceStoresResponse' {} a -> s {httpStatus = a} :: ListReferenceStoresResponse)
+
+-- | A list of reference stores.
+listReferenceStoresResponse_referenceStores :: Lens.Lens' ListReferenceStoresResponse [ReferenceStoreDetail]
+listReferenceStoresResponse_referenceStores = Lens.lens (\ListReferenceStoresResponse' {referenceStores} -> referenceStores) (\s@ListReferenceStoresResponse' {} a -> s {referenceStores = a} :: ListReferenceStoresResponse) Prelude.. Lens.coerced
+
+instance Prelude.NFData ListReferenceStoresResponse where
+  rnf ListReferenceStoresResponse' {..} =
+    Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf referenceStores
diff --git a/gen/Amazonka/Omics/ListReferences.hs b/gen/Amazonka/Omics/ListReferences.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListReferences.hs
@@ -0,0 +1,249 @@
+{-# 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.Omics.ListReferences
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of references.
+--
+-- This operation returns paginated results.
+module Amazonka.Omics.ListReferences
+  ( -- * Creating a Request
+    ListReferences (..),
+    newListReferences,
+
+    -- * Request Lenses
+    listReferences_filter,
+    listReferences_maxResults,
+    listReferences_nextToken,
+    listReferences_referenceStoreId,
+
+    -- * Destructuring the Response
+    ListReferencesResponse (..),
+    newListReferencesResponse,
+
+    -- * Response Lenses
+    listReferencesResponse_nextToken,
+    listReferencesResponse_httpStatus,
+    listReferencesResponse_references,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListReferences' smart constructor.
+data ListReferences = ListReferences'
+  { -- | A filter to apply to the list.
+    filter' :: Prelude.Maybe ReferenceFilter,
+    -- | The maximum number of references to return in one page of results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | Specify the pagination token from a previous request to retrieve the
+    -- next page of results.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The references\' reference store ID.
+    referenceStoreId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListReferences' 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:
+--
+-- 'filter'', 'listReferences_filter' - A filter to apply to the list.
+--
+-- 'maxResults', 'listReferences_maxResults' - The maximum number of references to return in one page of results.
+--
+-- 'nextToken', 'listReferences_nextToken' - Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+--
+-- 'referenceStoreId', 'listReferences_referenceStoreId' - The references\' reference store ID.
+newListReferences ::
+  -- | 'referenceStoreId'
+  Prelude.Text ->
+  ListReferences
+newListReferences pReferenceStoreId_ =
+  ListReferences'
+    { filter' = Prelude.Nothing,
+      maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      referenceStoreId = pReferenceStoreId_
+    }
+
+-- | A filter to apply to the list.
+listReferences_filter :: Lens.Lens' ListReferences (Prelude.Maybe ReferenceFilter)
+listReferences_filter = Lens.lens (\ListReferences' {filter'} -> filter') (\s@ListReferences' {} a -> s {filter' = a} :: ListReferences)
+
+-- | The maximum number of references to return in one page of results.
+listReferences_maxResults :: Lens.Lens' ListReferences (Prelude.Maybe Prelude.Natural)
+listReferences_maxResults = Lens.lens (\ListReferences' {maxResults} -> maxResults) (\s@ListReferences' {} a -> s {maxResults = a} :: ListReferences)
+
+-- | Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+listReferences_nextToken :: Lens.Lens' ListReferences (Prelude.Maybe Prelude.Text)
+listReferences_nextToken = Lens.lens (\ListReferences' {nextToken} -> nextToken) (\s@ListReferences' {} a -> s {nextToken = a} :: ListReferences)
+
+-- | The references\' reference store ID.
+listReferences_referenceStoreId :: Lens.Lens' ListReferences Prelude.Text
+listReferences_referenceStoreId = Lens.lens (\ListReferences' {referenceStoreId} -> referenceStoreId) (\s@ListReferences' {} a -> s {referenceStoreId = a} :: ListReferences)
+
+instance Core.AWSPager ListReferences where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listReferencesResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        (rs Lens.^. listReferencesResponse_references) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listReferences_nextToken
+          Lens..~ rs
+          Lens.^? listReferencesResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListReferences where
+  type
+    AWSResponse ListReferences =
+      ListReferencesResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListReferencesResponse'
+            Prelude.<$> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..?> "references" Core..!@ Prelude.mempty)
+      )
+
+instance Prelude.Hashable ListReferences where
+  hashWithSalt _salt ListReferences' {..} =
+    _salt
+      `Prelude.hashWithSalt` filter'
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+      `Prelude.hashWithSalt` referenceStoreId
+
+instance Prelude.NFData ListReferences where
+  rnf ListReferences' {..} =
+    Prelude.rnf filter'
+      `Prelude.seq` Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf referenceStoreId
+
+instance Data.ToHeaders ListReferences where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListReferences where
+  toJSON ListReferences' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [("filter" Data..=) Prelude.<$> filter']
+      )
+
+instance Data.ToPath ListReferences where
+  toPath ListReferences' {..} =
+    Prelude.mconcat
+      [ "/referencestore/",
+        Data.toBS referenceStoreId,
+        "/references"
+      ]
+
+instance Data.ToQuery ListReferences where
+  toQuery ListReferences' {..} =
+    Prelude.mconcat
+      [ "maxResults" Data.=: maxResults,
+        "nextToken" Data.=: nextToken
+      ]
+
+-- | /See:/ 'newListReferencesResponse' smart constructor.
+data ListReferencesResponse = ListReferencesResponse'
+  { -- | A pagination token that\'s included if more results are available.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | A list of references.
+    references :: [ReferenceListItem]
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListReferencesResponse' 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', 'listReferencesResponse_nextToken' - A pagination token that\'s included if more results are available.
+--
+-- 'httpStatus', 'listReferencesResponse_httpStatus' - The response's http status code.
+--
+-- 'references', 'listReferencesResponse_references' - A list of references.
+newListReferencesResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListReferencesResponse
+newListReferencesResponse pHttpStatus_ =
+  ListReferencesResponse'
+    { nextToken =
+        Prelude.Nothing,
+      httpStatus = pHttpStatus_,
+      references = Prelude.mempty
+    }
+
+-- | A pagination token that\'s included if more results are available.
+listReferencesResponse_nextToken :: Lens.Lens' ListReferencesResponse (Prelude.Maybe Prelude.Text)
+listReferencesResponse_nextToken = Lens.lens (\ListReferencesResponse' {nextToken} -> nextToken) (\s@ListReferencesResponse' {} a -> s {nextToken = a} :: ListReferencesResponse)
+
+-- | The response's http status code.
+listReferencesResponse_httpStatus :: Lens.Lens' ListReferencesResponse Prelude.Int
+listReferencesResponse_httpStatus = Lens.lens (\ListReferencesResponse' {httpStatus} -> httpStatus) (\s@ListReferencesResponse' {} a -> s {httpStatus = a} :: ListReferencesResponse)
+
+-- | A list of references.
+listReferencesResponse_references :: Lens.Lens' ListReferencesResponse [ReferenceListItem]
+listReferencesResponse_references = Lens.lens (\ListReferencesResponse' {references} -> references) (\s@ListReferencesResponse' {} a -> s {references = a} :: ListReferencesResponse) Prelude.. Lens.coerced
+
+instance Prelude.NFData ListReferencesResponse where
+  rnf ListReferencesResponse' {..} =
+    Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf references
diff --git a/gen/Amazonka/Omics/ListRunGroups.hs b/gen/Amazonka/Omics/ListRunGroups.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListRunGroups.hs
@@ -0,0 +1,226 @@
+{-# 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.Omics.ListRunGroups
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of run groups.
+--
+-- This operation returns paginated results.
+module Amazonka.Omics.ListRunGroups
+  ( -- * Creating a Request
+    ListRunGroups (..),
+    newListRunGroups,
+
+    -- * Request Lenses
+    listRunGroups_maxResults,
+    listRunGroups_name,
+    listRunGroups_startingToken,
+
+    -- * Destructuring the Response
+    ListRunGroupsResponse (..),
+    newListRunGroupsResponse,
+
+    -- * Response Lenses
+    listRunGroupsResponse_items,
+    listRunGroupsResponse_nextToken,
+    listRunGroupsResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListRunGroups' smart constructor.
+data ListRunGroups = ListRunGroups'
+  { -- | The maximum number of run groups to return in one page of results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | The run groups\' name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | Specify the pagination token from a previous request to retrieve the
+    -- next page of results.
+    startingToken :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListRunGroups' 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', 'listRunGroups_maxResults' - The maximum number of run groups to return in one page of results.
+--
+-- 'name', 'listRunGroups_name' - The run groups\' name.
+--
+-- 'startingToken', 'listRunGroups_startingToken' - Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+newListRunGroups ::
+  ListRunGroups
+newListRunGroups =
+  ListRunGroups'
+    { maxResults = Prelude.Nothing,
+      name = Prelude.Nothing,
+      startingToken = Prelude.Nothing
+    }
+
+-- | The maximum number of run groups to return in one page of results.
+listRunGroups_maxResults :: Lens.Lens' ListRunGroups (Prelude.Maybe Prelude.Natural)
+listRunGroups_maxResults = Lens.lens (\ListRunGroups' {maxResults} -> maxResults) (\s@ListRunGroups' {} a -> s {maxResults = a} :: ListRunGroups)
+
+-- | The run groups\' name.
+listRunGroups_name :: Lens.Lens' ListRunGroups (Prelude.Maybe Prelude.Text)
+listRunGroups_name = Lens.lens (\ListRunGroups' {name} -> name) (\s@ListRunGroups' {} a -> s {name = a} :: ListRunGroups)
+
+-- | Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+listRunGroups_startingToken :: Lens.Lens' ListRunGroups (Prelude.Maybe Prelude.Text)
+listRunGroups_startingToken = Lens.lens (\ListRunGroups' {startingToken} -> startingToken) (\s@ListRunGroups' {} a -> s {startingToken = a} :: ListRunGroups)
+
+instance Core.AWSPager ListRunGroups where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listRunGroupsResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        ( rs
+            Lens.^? listRunGroupsResponse_items
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listRunGroups_startingToken
+          Lens..~ rs
+          Lens.^? listRunGroupsResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListRunGroups where
+  type
+    AWSResponse ListRunGroups =
+      ListRunGroupsResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListRunGroupsResponse'
+            Prelude.<$> (x Data..?> "items" Core..!@ Prelude.mempty)
+            Prelude.<*> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable ListRunGroups where
+  hashWithSalt _salt ListRunGroups' {..} =
+    _salt
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` startingToken
+
+instance Prelude.NFData ListRunGroups where
+  rnf ListRunGroups' {..} =
+    Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf startingToken
+
+instance Data.ToHeaders ListRunGroups where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath ListRunGroups where
+  toPath = Prelude.const "/runGroup"
+
+instance Data.ToQuery ListRunGroups where
+  toQuery ListRunGroups' {..} =
+    Prelude.mconcat
+      [ "maxResults" Data.=: maxResults,
+        "name" Data.=: name,
+        "startingToken" Data.=: startingToken
+      ]
+
+-- | /See:/ 'newListRunGroupsResponse' smart constructor.
+data ListRunGroupsResponse = ListRunGroupsResponse'
+  { -- | A list of groups.
+    items :: Prelude.Maybe [RunGroupListItem],
+    -- | A pagination token that\'s included if more results are available.
+    nextToken :: 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 'ListRunGroupsResponse' 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:
+--
+-- 'items', 'listRunGroupsResponse_items' - A list of groups.
+--
+-- 'nextToken', 'listRunGroupsResponse_nextToken' - A pagination token that\'s included if more results are available.
+--
+-- 'httpStatus', 'listRunGroupsResponse_httpStatus' - The response's http status code.
+newListRunGroupsResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListRunGroupsResponse
+newListRunGroupsResponse pHttpStatus_ =
+  ListRunGroupsResponse'
+    { items = Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | A list of groups.
+listRunGroupsResponse_items :: Lens.Lens' ListRunGroupsResponse (Prelude.Maybe [RunGroupListItem])
+listRunGroupsResponse_items = Lens.lens (\ListRunGroupsResponse' {items} -> items) (\s@ListRunGroupsResponse' {} a -> s {items = a} :: ListRunGroupsResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | A pagination token that\'s included if more results are available.
+listRunGroupsResponse_nextToken :: Lens.Lens' ListRunGroupsResponse (Prelude.Maybe Prelude.Text)
+listRunGroupsResponse_nextToken = Lens.lens (\ListRunGroupsResponse' {nextToken} -> nextToken) (\s@ListRunGroupsResponse' {} a -> s {nextToken = a} :: ListRunGroupsResponse)
+
+-- | The response's http status code.
+listRunGroupsResponse_httpStatus :: Lens.Lens' ListRunGroupsResponse Prelude.Int
+listRunGroupsResponse_httpStatus = Lens.lens (\ListRunGroupsResponse' {httpStatus} -> httpStatus) (\s@ListRunGroupsResponse' {} a -> s {httpStatus = a} :: ListRunGroupsResponse)
+
+instance Prelude.NFData ListRunGroupsResponse where
+  rnf ListRunGroupsResponse' {..} =
+    Prelude.rnf items
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/ListRunTasks.hs b/gen/Amazonka/Omics/ListRunTasks.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListRunTasks.hs
@@ -0,0 +1,239 @@
+{-# 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.Omics.ListRunTasks
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of tasks for a run.
+--
+-- This operation returns paginated results.
+module Amazonka.Omics.ListRunTasks
+  ( -- * Creating a Request
+    ListRunTasks (..),
+    newListRunTasks,
+
+    -- * Request Lenses
+    listRunTasks_maxResults,
+    listRunTasks_startingToken,
+    listRunTasks_status,
+    listRunTasks_id,
+
+    -- * Destructuring the Response
+    ListRunTasksResponse (..),
+    newListRunTasksResponse,
+
+    -- * Response Lenses
+    listRunTasksResponse_items,
+    listRunTasksResponse_nextToken,
+    listRunTasksResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListRunTasks' smart constructor.
+data ListRunTasks = ListRunTasks'
+  { -- | The maximum number of run tasks to return in one page of results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | Specify the pagination token from a previous request to retrieve the
+    -- next page of results.
+    startingToken :: Prelude.Maybe Prelude.Text,
+    -- | Filter the list by status.
+    status :: Prelude.Maybe TaskStatus,
+    -- | The run\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListRunTasks' 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', 'listRunTasks_maxResults' - The maximum number of run tasks to return in one page of results.
+--
+-- 'startingToken', 'listRunTasks_startingToken' - Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+--
+-- 'status', 'listRunTasks_status' - Filter the list by status.
+--
+-- 'id', 'listRunTasks_id' - The run\'s ID.
+newListRunTasks ::
+  -- | 'id'
+  Prelude.Text ->
+  ListRunTasks
+newListRunTasks pId_ =
+  ListRunTasks'
+    { maxResults = Prelude.Nothing,
+      startingToken = Prelude.Nothing,
+      status = Prelude.Nothing,
+      id = pId_
+    }
+
+-- | The maximum number of run tasks to return in one page of results.
+listRunTasks_maxResults :: Lens.Lens' ListRunTasks (Prelude.Maybe Prelude.Natural)
+listRunTasks_maxResults = Lens.lens (\ListRunTasks' {maxResults} -> maxResults) (\s@ListRunTasks' {} a -> s {maxResults = a} :: ListRunTasks)
+
+-- | Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+listRunTasks_startingToken :: Lens.Lens' ListRunTasks (Prelude.Maybe Prelude.Text)
+listRunTasks_startingToken = Lens.lens (\ListRunTasks' {startingToken} -> startingToken) (\s@ListRunTasks' {} a -> s {startingToken = a} :: ListRunTasks)
+
+-- | Filter the list by status.
+listRunTasks_status :: Lens.Lens' ListRunTasks (Prelude.Maybe TaskStatus)
+listRunTasks_status = Lens.lens (\ListRunTasks' {status} -> status) (\s@ListRunTasks' {} a -> s {status = a} :: ListRunTasks)
+
+-- | The run\'s ID.
+listRunTasks_id :: Lens.Lens' ListRunTasks Prelude.Text
+listRunTasks_id = Lens.lens (\ListRunTasks' {id} -> id) (\s@ListRunTasks' {} a -> s {id = a} :: ListRunTasks)
+
+instance Core.AWSPager ListRunTasks where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listRunTasksResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        ( rs
+            Lens.^? listRunTasksResponse_items
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listRunTasks_startingToken
+          Lens..~ rs
+          Lens.^? listRunTasksResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListRunTasks where
+  type AWSResponse ListRunTasks = ListRunTasksResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListRunTasksResponse'
+            Prelude.<$> (x Data..?> "items" Core..!@ Prelude.mempty)
+            Prelude.<*> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable ListRunTasks where
+  hashWithSalt _salt ListRunTasks' {..} =
+    _salt
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` startingToken
+      `Prelude.hashWithSalt` status
+      `Prelude.hashWithSalt` id
+
+instance Prelude.NFData ListRunTasks where
+  rnf ListRunTasks' {..} =
+    Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf startingToken
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf id
+
+instance Data.ToHeaders ListRunTasks where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath ListRunTasks where
+  toPath ListRunTasks' {..} =
+    Prelude.mconcat ["/run/", Data.toBS id, "/task"]
+
+instance Data.ToQuery ListRunTasks where
+  toQuery ListRunTasks' {..} =
+    Prelude.mconcat
+      [ "maxResults" Data.=: maxResults,
+        "startingToken" Data.=: startingToken,
+        "status" Data.=: status
+      ]
+
+-- | /See:/ 'newListRunTasksResponse' smart constructor.
+data ListRunTasksResponse = ListRunTasksResponse'
+  { -- | A list of tasks.
+    items :: Prelude.Maybe [TaskListItem],
+    -- | A pagination token that\'s included if more results are available.
+    nextToken :: 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 'ListRunTasksResponse' 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:
+--
+-- 'items', 'listRunTasksResponse_items' - A list of tasks.
+--
+-- 'nextToken', 'listRunTasksResponse_nextToken' - A pagination token that\'s included if more results are available.
+--
+-- 'httpStatus', 'listRunTasksResponse_httpStatus' - The response's http status code.
+newListRunTasksResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListRunTasksResponse
+newListRunTasksResponse pHttpStatus_ =
+  ListRunTasksResponse'
+    { items = Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | A list of tasks.
+listRunTasksResponse_items :: Lens.Lens' ListRunTasksResponse (Prelude.Maybe [TaskListItem])
+listRunTasksResponse_items = Lens.lens (\ListRunTasksResponse' {items} -> items) (\s@ListRunTasksResponse' {} a -> s {items = a} :: ListRunTasksResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | A pagination token that\'s included if more results are available.
+listRunTasksResponse_nextToken :: Lens.Lens' ListRunTasksResponse (Prelude.Maybe Prelude.Text)
+listRunTasksResponse_nextToken = Lens.lens (\ListRunTasksResponse' {nextToken} -> nextToken) (\s@ListRunTasksResponse' {} a -> s {nextToken = a} :: ListRunTasksResponse)
+
+-- | The response's http status code.
+listRunTasksResponse_httpStatus :: Lens.Lens' ListRunTasksResponse Prelude.Int
+listRunTasksResponse_httpStatus = Lens.lens (\ListRunTasksResponse' {httpStatus} -> httpStatus) (\s@ListRunTasksResponse' {} a -> s {httpStatus = a} :: ListRunTasksResponse)
+
+instance Prelude.NFData ListRunTasksResponse where
+  rnf ListRunTasksResponse' {..} =
+    Prelude.rnf items
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/ListRuns.hs b/gen/Amazonka/Omics/ListRuns.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListRuns.hs
@@ -0,0 +1,237 @@
+{-# 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.Omics.ListRuns
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of runs.
+--
+-- This operation returns paginated results.
+module Amazonka.Omics.ListRuns
+  ( -- * Creating a Request
+    ListRuns (..),
+    newListRuns,
+
+    -- * Request Lenses
+    listRuns_maxResults,
+    listRuns_name,
+    listRuns_runGroupId,
+    listRuns_startingToken,
+
+    -- * Destructuring the Response
+    ListRunsResponse (..),
+    newListRunsResponse,
+
+    -- * Response Lenses
+    listRunsResponse_items,
+    listRunsResponse_nextToken,
+    listRunsResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListRuns' smart constructor.
+data ListRuns = ListRuns'
+  { -- | The maximum number of runs to return in one page of results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | Filter the list by run name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | Filter the list by run group ID.
+    runGroupId :: Prelude.Maybe Prelude.Text,
+    -- | Specify the pagination token from a previous request to retrieve the
+    -- next page of results.
+    startingToken :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListRuns' 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', 'listRuns_maxResults' - The maximum number of runs to return in one page of results.
+--
+-- 'name', 'listRuns_name' - Filter the list by run name.
+--
+-- 'runGroupId', 'listRuns_runGroupId' - Filter the list by run group ID.
+--
+-- 'startingToken', 'listRuns_startingToken' - Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+newListRuns ::
+  ListRuns
+newListRuns =
+  ListRuns'
+    { maxResults = Prelude.Nothing,
+      name = Prelude.Nothing,
+      runGroupId = Prelude.Nothing,
+      startingToken = Prelude.Nothing
+    }
+
+-- | The maximum number of runs to return in one page of results.
+listRuns_maxResults :: Lens.Lens' ListRuns (Prelude.Maybe Prelude.Natural)
+listRuns_maxResults = Lens.lens (\ListRuns' {maxResults} -> maxResults) (\s@ListRuns' {} a -> s {maxResults = a} :: ListRuns)
+
+-- | Filter the list by run name.
+listRuns_name :: Lens.Lens' ListRuns (Prelude.Maybe Prelude.Text)
+listRuns_name = Lens.lens (\ListRuns' {name} -> name) (\s@ListRuns' {} a -> s {name = a} :: ListRuns)
+
+-- | Filter the list by run group ID.
+listRuns_runGroupId :: Lens.Lens' ListRuns (Prelude.Maybe Prelude.Text)
+listRuns_runGroupId = Lens.lens (\ListRuns' {runGroupId} -> runGroupId) (\s@ListRuns' {} a -> s {runGroupId = a} :: ListRuns)
+
+-- | Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+listRuns_startingToken :: Lens.Lens' ListRuns (Prelude.Maybe Prelude.Text)
+listRuns_startingToken = Lens.lens (\ListRuns' {startingToken} -> startingToken) (\s@ListRuns' {} a -> s {startingToken = a} :: ListRuns)
+
+instance Core.AWSPager ListRuns where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listRunsResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        ( rs
+            Lens.^? listRunsResponse_items
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listRuns_startingToken
+          Lens..~ rs
+          Lens.^? listRunsResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListRuns where
+  type AWSResponse ListRuns = ListRunsResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListRunsResponse'
+            Prelude.<$> (x Data..?> "items" Core..!@ Prelude.mempty)
+            Prelude.<*> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable ListRuns where
+  hashWithSalt _salt ListRuns' {..} =
+    _salt
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` runGroupId
+      `Prelude.hashWithSalt` startingToken
+
+instance Prelude.NFData ListRuns where
+  rnf ListRuns' {..} =
+    Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf runGroupId
+      `Prelude.seq` Prelude.rnf startingToken
+
+instance Data.ToHeaders ListRuns where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath ListRuns where
+  toPath = Prelude.const "/run"
+
+instance Data.ToQuery ListRuns where
+  toQuery ListRuns' {..} =
+    Prelude.mconcat
+      [ "maxResults" Data.=: maxResults,
+        "name" Data.=: name,
+        "runGroupId" Data.=: runGroupId,
+        "startingToken" Data.=: startingToken
+      ]
+
+-- | /See:/ 'newListRunsResponse' smart constructor.
+data ListRunsResponse = ListRunsResponse'
+  { -- | A list of runs.
+    items :: Prelude.Maybe [RunListItem],
+    -- | A pagination token that\'s included if more results are available.
+    nextToken :: 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 'ListRunsResponse' 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:
+--
+-- 'items', 'listRunsResponse_items' - A list of runs.
+--
+-- 'nextToken', 'listRunsResponse_nextToken' - A pagination token that\'s included if more results are available.
+--
+-- 'httpStatus', 'listRunsResponse_httpStatus' - The response's http status code.
+newListRunsResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListRunsResponse
+newListRunsResponse pHttpStatus_ =
+  ListRunsResponse'
+    { items = Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | A list of runs.
+listRunsResponse_items :: Lens.Lens' ListRunsResponse (Prelude.Maybe [RunListItem])
+listRunsResponse_items = Lens.lens (\ListRunsResponse' {items} -> items) (\s@ListRunsResponse' {} a -> s {items = a} :: ListRunsResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | A pagination token that\'s included if more results are available.
+listRunsResponse_nextToken :: Lens.Lens' ListRunsResponse (Prelude.Maybe Prelude.Text)
+listRunsResponse_nextToken = Lens.lens (\ListRunsResponse' {nextToken} -> nextToken) (\s@ListRunsResponse' {} a -> s {nextToken = a} :: ListRunsResponse)
+
+-- | The response's http status code.
+listRunsResponse_httpStatus :: Lens.Lens' ListRunsResponse Prelude.Int
+listRunsResponse_httpStatus = Lens.lens (\ListRunsResponse' {httpStatus} -> httpStatus) (\s@ListRunsResponse' {} a -> s {httpStatus = a} :: ListRunsResponse)
+
+instance Prelude.NFData ListRunsResponse where
+  rnf ListRunsResponse' {..} =
+    Prelude.rnf items
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/ListSequenceStores.hs b/gen/Amazonka/Omics/ListSequenceStores.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListSequenceStores.hs
@@ -0,0 +1,235 @@
+{-# 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.Omics.ListSequenceStores
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of sequence stores.
+--
+-- This operation returns paginated results.
+module Amazonka.Omics.ListSequenceStores
+  ( -- * Creating a Request
+    ListSequenceStores (..),
+    newListSequenceStores,
+
+    -- * Request Lenses
+    listSequenceStores_filter,
+    listSequenceStores_maxResults,
+    listSequenceStores_nextToken,
+
+    -- * Destructuring the Response
+    ListSequenceStoresResponse (..),
+    newListSequenceStoresResponse,
+
+    -- * Response Lenses
+    listSequenceStoresResponse_nextToken,
+    listSequenceStoresResponse_httpStatus,
+    listSequenceStoresResponse_sequenceStores,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListSequenceStores' smart constructor.
+data ListSequenceStores = ListSequenceStores'
+  { -- | A filter to apply to the list.
+    filter' :: Prelude.Maybe SequenceStoreFilter,
+    -- | The maximum number of stores to return in one page of results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | Specify the pagination token from a previous request to retrieve the
+    -- next page of results.
+    nextToken :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListSequenceStores' 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:
+--
+-- 'filter'', 'listSequenceStores_filter' - A filter to apply to the list.
+--
+-- 'maxResults', 'listSequenceStores_maxResults' - The maximum number of stores to return in one page of results.
+--
+-- 'nextToken', 'listSequenceStores_nextToken' - Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+newListSequenceStores ::
+  ListSequenceStores
+newListSequenceStores =
+  ListSequenceStores'
+    { filter' = Prelude.Nothing,
+      maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing
+    }
+
+-- | A filter to apply to the list.
+listSequenceStores_filter :: Lens.Lens' ListSequenceStores (Prelude.Maybe SequenceStoreFilter)
+listSequenceStores_filter = Lens.lens (\ListSequenceStores' {filter'} -> filter') (\s@ListSequenceStores' {} a -> s {filter' = a} :: ListSequenceStores)
+
+-- | The maximum number of stores to return in one page of results.
+listSequenceStores_maxResults :: Lens.Lens' ListSequenceStores (Prelude.Maybe Prelude.Natural)
+listSequenceStores_maxResults = Lens.lens (\ListSequenceStores' {maxResults} -> maxResults) (\s@ListSequenceStores' {} a -> s {maxResults = a} :: ListSequenceStores)
+
+-- | Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+listSequenceStores_nextToken :: Lens.Lens' ListSequenceStores (Prelude.Maybe Prelude.Text)
+listSequenceStores_nextToken = Lens.lens (\ListSequenceStores' {nextToken} -> nextToken) (\s@ListSequenceStores' {} a -> s {nextToken = a} :: ListSequenceStores)
+
+instance Core.AWSPager ListSequenceStores where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listSequenceStoresResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        ( rs
+            Lens.^. listSequenceStoresResponse_sequenceStores
+        ) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listSequenceStores_nextToken
+          Lens..~ rs
+          Lens.^? listSequenceStoresResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListSequenceStores where
+  type
+    AWSResponse ListSequenceStores =
+      ListSequenceStoresResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListSequenceStoresResponse'
+            Prelude.<$> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> ( x
+                            Data..?> "sequenceStores"
+                            Core..!@ Prelude.mempty
+                        )
+      )
+
+instance Prelude.Hashable ListSequenceStores where
+  hashWithSalt _salt ListSequenceStores' {..} =
+    _salt
+      `Prelude.hashWithSalt` filter'
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+
+instance Prelude.NFData ListSequenceStores where
+  rnf ListSequenceStores' {..} =
+    Prelude.rnf filter'
+      `Prelude.seq` Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+
+instance Data.ToHeaders ListSequenceStores where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListSequenceStores where
+  toJSON ListSequenceStores' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [("filter" Data..=) Prelude.<$> filter']
+      )
+
+instance Data.ToPath ListSequenceStores where
+  toPath = Prelude.const "/sequencestores"
+
+instance Data.ToQuery ListSequenceStores where
+  toQuery ListSequenceStores' {..} =
+    Prelude.mconcat
+      [ "maxResults" Data.=: maxResults,
+        "nextToken" Data.=: nextToken
+      ]
+
+-- | /See:/ 'newListSequenceStoresResponse' smart constructor.
+data ListSequenceStoresResponse = ListSequenceStoresResponse'
+  { -- | A pagination token that\'s included if more results are available.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | A list of sequence stores.
+    sequenceStores :: [SequenceStoreDetail]
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListSequenceStoresResponse' 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', 'listSequenceStoresResponse_nextToken' - A pagination token that\'s included if more results are available.
+--
+-- 'httpStatus', 'listSequenceStoresResponse_httpStatus' - The response's http status code.
+--
+-- 'sequenceStores', 'listSequenceStoresResponse_sequenceStores' - A list of sequence stores.
+newListSequenceStoresResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListSequenceStoresResponse
+newListSequenceStoresResponse pHttpStatus_ =
+  ListSequenceStoresResponse'
+    { nextToken =
+        Prelude.Nothing,
+      httpStatus = pHttpStatus_,
+      sequenceStores = Prelude.mempty
+    }
+
+-- | A pagination token that\'s included if more results are available.
+listSequenceStoresResponse_nextToken :: Lens.Lens' ListSequenceStoresResponse (Prelude.Maybe Prelude.Text)
+listSequenceStoresResponse_nextToken = Lens.lens (\ListSequenceStoresResponse' {nextToken} -> nextToken) (\s@ListSequenceStoresResponse' {} a -> s {nextToken = a} :: ListSequenceStoresResponse)
+
+-- | The response's http status code.
+listSequenceStoresResponse_httpStatus :: Lens.Lens' ListSequenceStoresResponse Prelude.Int
+listSequenceStoresResponse_httpStatus = Lens.lens (\ListSequenceStoresResponse' {httpStatus} -> httpStatus) (\s@ListSequenceStoresResponse' {} a -> s {httpStatus = a} :: ListSequenceStoresResponse)
+
+-- | A list of sequence stores.
+listSequenceStoresResponse_sequenceStores :: Lens.Lens' ListSequenceStoresResponse [SequenceStoreDetail]
+listSequenceStoresResponse_sequenceStores = Lens.lens (\ListSequenceStoresResponse' {sequenceStores} -> sequenceStores) (\s@ListSequenceStoresResponse' {} a -> s {sequenceStores = a} :: ListSequenceStoresResponse) Prelude.. Lens.coerced
+
+instance Prelude.NFData ListSequenceStoresResponse where
+  rnf ListSequenceStoresResponse' {..} =
+    Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf sequenceStores
diff --git a/gen/Amazonka/Omics/ListTagsForResource.hs b/gen/Amazonka/Omics/ListTagsForResource.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListTagsForResource.hs
@@ -0,0 +1,159 @@
+{-# 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.Omics.ListTagsForResource
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of tags for a resource.
+module Amazonka.Omics.ListTagsForResource
+  ( -- * Creating a Request
+    ListTagsForResource (..),
+    newListTagsForResource,
+
+    -- * Request Lenses
+    listTagsForResource_resourceArn,
+
+    -- * Destructuring the Response
+    ListTagsForResourceResponse (..),
+    newListTagsForResourceResponse,
+
+    -- * Response Lenses
+    listTagsForResourceResponse_httpStatus,
+    listTagsForResourceResponse_tags,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListTagsForResource' smart constructor.
+data ListTagsForResource = ListTagsForResource'
+  { -- | The resource\'s ARN.
+    resourceArn :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListTagsForResource' 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:
+--
+-- 'resourceArn', 'listTagsForResource_resourceArn' - The resource\'s ARN.
+newListTagsForResource ::
+  -- | 'resourceArn'
+  Prelude.Text ->
+  ListTagsForResource
+newListTagsForResource pResourceArn_ =
+  ListTagsForResource' {resourceArn = pResourceArn_}
+
+-- | The resource\'s ARN.
+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text
+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)
+
+instance Core.AWSRequest ListTagsForResource where
+  type
+    AWSResponse ListTagsForResource =
+      ListTagsForResourceResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListTagsForResourceResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)
+      )
+
+instance Prelude.Hashable ListTagsForResource where
+  hashWithSalt _salt ListTagsForResource' {..} =
+    _salt `Prelude.hashWithSalt` resourceArn
+
+instance Prelude.NFData ListTagsForResource where
+  rnf ListTagsForResource' {..} =
+    Prelude.rnf resourceArn
+
+instance Data.ToHeaders ListTagsForResource where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath ListTagsForResource where
+  toPath ListTagsForResource' {..} =
+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]
+
+instance Data.ToQuery ListTagsForResource where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newListTagsForResourceResponse' smart constructor.
+data ListTagsForResourceResponse = ListTagsForResourceResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | A list of tags.
+    tags :: Prelude.HashMap Prelude.Text Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListTagsForResourceResponse' 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', 'listTagsForResourceResponse_httpStatus' - The response's http status code.
+--
+-- 'tags', 'listTagsForResourceResponse_tags' - A list of tags.
+newListTagsForResourceResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListTagsForResourceResponse
+newListTagsForResourceResponse pHttpStatus_ =
+  ListTagsForResourceResponse'
+    { httpStatus =
+        pHttpStatus_,
+      tags = Prelude.mempty
+    }
+
+-- | The response's http status code.
+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int
+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)
+
+-- | A list of tags.
+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.HashMap Prelude.Text Prelude.Text)
+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.coerced
+
+instance Prelude.NFData ListTagsForResourceResponse where
+  rnf ListTagsForResourceResponse' {..} =
+    Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf tags
diff --git a/gen/Amazonka/Omics/ListVariantImportJobs.hs b/gen/Amazonka/Omics/ListVariantImportJobs.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListVariantImportJobs.hs
@@ -0,0 +1,250 @@
+{-# 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.Omics.ListVariantImportJobs
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of variant import jobs.
+--
+-- This operation returns paginated results.
+module Amazonka.Omics.ListVariantImportJobs
+  ( -- * Creating a Request
+    ListVariantImportJobs (..),
+    newListVariantImportJobs,
+
+    -- * Request Lenses
+    listVariantImportJobs_filter,
+    listVariantImportJobs_ids,
+    listVariantImportJobs_maxResults,
+    listVariantImportJobs_nextToken,
+
+    -- * Destructuring the Response
+    ListVariantImportJobsResponse (..),
+    newListVariantImportJobsResponse,
+
+    -- * Response Lenses
+    listVariantImportJobsResponse_nextToken,
+    listVariantImportJobsResponse_variantImportJobs,
+    listVariantImportJobsResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListVariantImportJobs' smart constructor.
+data ListVariantImportJobs = ListVariantImportJobs'
+  { -- | A filter to apply to the list.
+    filter' :: Prelude.Maybe ListVariantImportJobsFilter,
+    -- | A list of job IDs.
+    ids :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),
+    -- | The maximum number of import jobs to return in one page of results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | Specify the pagination token from a previous request to retrieve the
+    -- next page of results.
+    nextToken :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListVariantImportJobs' 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:
+--
+-- 'filter'', 'listVariantImportJobs_filter' - A filter to apply to the list.
+--
+-- 'ids', 'listVariantImportJobs_ids' - A list of job IDs.
+--
+-- 'maxResults', 'listVariantImportJobs_maxResults' - The maximum number of import jobs to return in one page of results.
+--
+-- 'nextToken', 'listVariantImportJobs_nextToken' - Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+newListVariantImportJobs ::
+  ListVariantImportJobs
+newListVariantImportJobs =
+  ListVariantImportJobs'
+    { filter' = Prelude.Nothing,
+      ids = Prelude.Nothing,
+      maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing
+    }
+
+-- | A filter to apply to the list.
+listVariantImportJobs_filter :: Lens.Lens' ListVariantImportJobs (Prelude.Maybe ListVariantImportJobsFilter)
+listVariantImportJobs_filter = Lens.lens (\ListVariantImportJobs' {filter'} -> filter') (\s@ListVariantImportJobs' {} a -> s {filter' = a} :: ListVariantImportJobs)
+
+-- | A list of job IDs.
+listVariantImportJobs_ids :: Lens.Lens' ListVariantImportJobs (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))
+listVariantImportJobs_ids = Lens.lens (\ListVariantImportJobs' {ids} -> ids) (\s@ListVariantImportJobs' {} a -> s {ids = a} :: ListVariantImportJobs) Prelude.. Lens.mapping Lens.coerced
+
+-- | The maximum number of import jobs to return in one page of results.
+listVariantImportJobs_maxResults :: Lens.Lens' ListVariantImportJobs (Prelude.Maybe Prelude.Natural)
+listVariantImportJobs_maxResults = Lens.lens (\ListVariantImportJobs' {maxResults} -> maxResults) (\s@ListVariantImportJobs' {} a -> s {maxResults = a} :: ListVariantImportJobs)
+
+-- | Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+listVariantImportJobs_nextToken :: Lens.Lens' ListVariantImportJobs (Prelude.Maybe Prelude.Text)
+listVariantImportJobs_nextToken = Lens.lens (\ListVariantImportJobs' {nextToken} -> nextToken) (\s@ListVariantImportJobs' {} a -> s {nextToken = a} :: ListVariantImportJobs)
+
+instance Core.AWSPager ListVariantImportJobs where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listVariantImportJobsResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        ( rs
+            Lens.^? listVariantImportJobsResponse_variantImportJobs
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listVariantImportJobs_nextToken
+          Lens..~ rs
+          Lens.^? listVariantImportJobsResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListVariantImportJobs where
+  type
+    AWSResponse ListVariantImportJobs =
+      ListVariantImportJobsResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListVariantImportJobsResponse'
+            Prelude.<$> (x Data..?> "nextToken")
+            Prelude.<*> ( x
+                            Data..?> "variantImportJobs"
+                            Core..!@ Prelude.mempty
+                        )
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable ListVariantImportJobs where
+  hashWithSalt _salt ListVariantImportJobs' {..} =
+    _salt
+      `Prelude.hashWithSalt` filter'
+      `Prelude.hashWithSalt` ids
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+
+instance Prelude.NFData ListVariantImportJobs where
+  rnf ListVariantImportJobs' {..} =
+    Prelude.rnf filter'
+      `Prelude.seq` Prelude.rnf ids
+      `Prelude.seq` Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+
+instance Data.ToHeaders ListVariantImportJobs where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListVariantImportJobs where
+  toJSON ListVariantImportJobs' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("filter" Data..=) Prelude.<$> filter',
+            ("ids" Data..=) Prelude.<$> ids
+          ]
+      )
+
+instance Data.ToPath ListVariantImportJobs where
+  toPath = Prelude.const "/import/variants"
+
+instance Data.ToQuery ListVariantImportJobs where
+  toQuery ListVariantImportJobs' {..} =
+    Prelude.mconcat
+      [ "maxResults" Data.=: maxResults,
+        "nextToken" Data.=: nextToken
+      ]
+
+-- | /See:/ 'newListVariantImportJobsResponse' smart constructor.
+data ListVariantImportJobsResponse = ListVariantImportJobsResponse'
+  { -- | A pagination token that\'s included if more results are available.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | A list of jobs.
+    variantImportJobs :: Prelude.Maybe [VariantImportJobItem],
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListVariantImportJobsResponse' 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', 'listVariantImportJobsResponse_nextToken' - A pagination token that\'s included if more results are available.
+--
+-- 'variantImportJobs', 'listVariantImportJobsResponse_variantImportJobs' - A list of jobs.
+--
+-- 'httpStatus', 'listVariantImportJobsResponse_httpStatus' - The response's http status code.
+newListVariantImportJobsResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListVariantImportJobsResponse
+newListVariantImportJobsResponse pHttpStatus_ =
+  ListVariantImportJobsResponse'
+    { nextToken =
+        Prelude.Nothing,
+      variantImportJobs = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | A pagination token that\'s included if more results are available.
+listVariantImportJobsResponse_nextToken :: Lens.Lens' ListVariantImportJobsResponse (Prelude.Maybe Prelude.Text)
+listVariantImportJobsResponse_nextToken = Lens.lens (\ListVariantImportJobsResponse' {nextToken} -> nextToken) (\s@ListVariantImportJobsResponse' {} a -> s {nextToken = a} :: ListVariantImportJobsResponse)
+
+-- | A list of jobs.
+listVariantImportJobsResponse_variantImportJobs :: Lens.Lens' ListVariantImportJobsResponse (Prelude.Maybe [VariantImportJobItem])
+listVariantImportJobsResponse_variantImportJobs = Lens.lens (\ListVariantImportJobsResponse' {variantImportJobs} -> variantImportJobs) (\s@ListVariantImportJobsResponse' {} a -> s {variantImportJobs = a} :: ListVariantImportJobsResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | The response's http status code.
+listVariantImportJobsResponse_httpStatus :: Lens.Lens' ListVariantImportJobsResponse Prelude.Int
+listVariantImportJobsResponse_httpStatus = Lens.lens (\ListVariantImportJobsResponse' {httpStatus} -> httpStatus) (\s@ListVariantImportJobsResponse' {} a -> s {httpStatus = a} :: ListVariantImportJobsResponse)
+
+instance Prelude.NFData ListVariantImportJobsResponse where
+  rnf ListVariantImportJobsResponse' {..} =
+    Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf variantImportJobs
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/ListVariantStores.hs b/gen/Amazonka/Omics/ListVariantStores.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListVariantStores.hs
@@ -0,0 +1,247 @@
+{-# 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.Omics.ListVariantStores
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of variant stores.
+--
+-- This operation returns paginated results.
+module Amazonka.Omics.ListVariantStores
+  ( -- * Creating a Request
+    ListVariantStores (..),
+    newListVariantStores,
+
+    -- * Request Lenses
+    listVariantStores_filter,
+    listVariantStores_ids,
+    listVariantStores_maxResults,
+    listVariantStores_nextToken,
+
+    -- * Destructuring the Response
+    ListVariantStoresResponse (..),
+    newListVariantStoresResponse,
+
+    -- * Response Lenses
+    listVariantStoresResponse_nextToken,
+    listVariantStoresResponse_variantStores,
+    listVariantStoresResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListVariantStores' smart constructor.
+data ListVariantStores = ListVariantStores'
+  { -- | A filter to apply to the list.
+    filter' :: Prelude.Maybe ListVariantStoresFilter,
+    -- | A list of store IDs.
+    ids :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),
+    -- | The maximum number of stores to return in one page of results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | Specify the pagination token from a previous request to retrieve the
+    -- next page of results.
+    nextToken :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListVariantStores' 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:
+--
+-- 'filter'', 'listVariantStores_filter' - A filter to apply to the list.
+--
+-- 'ids', 'listVariantStores_ids' - A list of store IDs.
+--
+-- 'maxResults', 'listVariantStores_maxResults' - The maximum number of stores to return in one page of results.
+--
+-- 'nextToken', 'listVariantStores_nextToken' - Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+newListVariantStores ::
+  ListVariantStores
+newListVariantStores =
+  ListVariantStores'
+    { filter' = Prelude.Nothing,
+      ids = Prelude.Nothing,
+      maxResults = Prelude.Nothing,
+      nextToken = Prelude.Nothing
+    }
+
+-- | A filter to apply to the list.
+listVariantStores_filter :: Lens.Lens' ListVariantStores (Prelude.Maybe ListVariantStoresFilter)
+listVariantStores_filter = Lens.lens (\ListVariantStores' {filter'} -> filter') (\s@ListVariantStores' {} a -> s {filter' = a} :: ListVariantStores)
+
+-- | A list of store IDs.
+listVariantStores_ids :: Lens.Lens' ListVariantStores (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))
+listVariantStores_ids = Lens.lens (\ListVariantStores' {ids} -> ids) (\s@ListVariantStores' {} a -> s {ids = a} :: ListVariantStores) Prelude.. Lens.mapping Lens.coerced
+
+-- | The maximum number of stores to return in one page of results.
+listVariantStores_maxResults :: Lens.Lens' ListVariantStores (Prelude.Maybe Prelude.Natural)
+listVariantStores_maxResults = Lens.lens (\ListVariantStores' {maxResults} -> maxResults) (\s@ListVariantStores' {} a -> s {maxResults = a} :: ListVariantStores)
+
+-- | Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+listVariantStores_nextToken :: Lens.Lens' ListVariantStores (Prelude.Maybe Prelude.Text)
+listVariantStores_nextToken = Lens.lens (\ListVariantStores' {nextToken} -> nextToken) (\s@ListVariantStores' {} a -> s {nextToken = a} :: ListVariantStores)
+
+instance Core.AWSPager ListVariantStores where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listVariantStoresResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        ( rs
+            Lens.^? listVariantStoresResponse_variantStores
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listVariantStores_nextToken
+          Lens..~ rs
+          Lens.^? listVariantStoresResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListVariantStores where
+  type
+    AWSResponse ListVariantStores =
+      ListVariantStoresResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListVariantStoresResponse'
+            Prelude.<$> (x Data..?> "nextToken")
+            Prelude.<*> (x Data..?> "variantStores" Core..!@ Prelude.mempty)
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable ListVariantStores where
+  hashWithSalt _salt ListVariantStores' {..} =
+    _salt
+      `Prelude.hashWithSalt` filter'
+      `Prelude.hashWithSalt` ids
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` nextToken
+
+instance Prelude.NFData ListVariantStores where
+  rnf ListVariantStores' {..} =
+    Prelude.rnf filter'
+      `Prelude.seq` Prelude.rnf ids
+      `Prelude.seq` Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf nextToken
+
+instance Data.ToHeaders ListVariantStores where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON ListVariantStores where
+  toJSON ListVariantStores' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("filter" Data..=) Prelude.<$> filter',
+            ("ids" Data..=) Prelude.<$> ids
+          ]
+      )
+
+instance Data.ToPath ListVariantStores where
+  toPath = Prelude.const "/variantStores"
+
+instance Data.ToQuery ListVariantStores where
+  toQuery ListVariantStores' {..} =
+    Prelude.mconcat
+      [ "maxResults" Data.=: maxResults,
+        "nextToken" Data.=: nextToken
+      ]
+
+-- | /See:/ 'newListVariantStoresResponse' smart constructor.
+data ListVariantStoresResponse = ListVariantStoresResponse'
+  { -- | A pagination token that\'s included if more results are available.
+    nextToken :: Prelude.Maybe Prelude.Text,
+    -- | A list of variant stores.
+    variantStores :: Prelude.Maybe [VariantStoreItem],
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListVariantStoresResponse' 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', 'listVariantStoresResponse_nextToken' - A pagination token that\'s included if more results are available.
+--
+-- 'variantStores', 'listVariantStoresResponse_variantStores' - A list of variant stores.
+--
+-- 'httpStatus', 'listVariantStoresResponse_httpStatus' - The response's http status code.
+newListVariantStoresResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListVariantStoresResponse
+newListVariantStoresResponse pHttpStatus_ =
+  ListVariantStoresResponse'
+    { nextToken =
+        Prelude.Nothing,
+      variantStores = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | A pagination token that\'s included if more results are available.
+listVariantStoresResponse_nextToken :: Lens.Lens' ListVariantStoresResponse (Prelude.Maybe Prelude.Text)
+listVariantStoresResponse_nextToken = Lens.lens (\ListVariantStoresResponse' {nextToken} -> nextToken) (\s@ListVariantStoresResponse' {} a -> s {nextToken = a} :: ListVariantStoresResponse)
+
+-- | A list of variant stores.
+listVariantStoresResponse_variantStores :: Lens.Lens' ListVariantStoresResponse (Prelude.Maybe [VariantStoreItem])
+listVariantStoresResponse_variantStores = Lens.lens (\ListVariantStoresResponse' {variantStores} -> variantStores) (\s@ListVariantStoresResponse' {} a -> s {variantStores = a} :: ListVariantStoresResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | The response's http status code.
+listVariantStoresResponse_httpStatus :: Lens.Lens' ListVariantStoresResponse Prelude.Int
+listVariantStoresResponse_httpStatus = Lens.lens (\ListVariantStoresResponse' {httpStatus} -> httpStatus) (\s@ListVariantStoresResponse' {} a -> s {httpStatus = a} :: ListVariantStoresResponse)
+
+instance Prelude.NFData ListVariantStoresResponse where
+  rnf ListVariantStoresResponse' {..} =
+    Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf variantStores
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/ListWorkflows.hs b/gen/Amazonka/Omics/ListWorkflows.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/ListWorkflows.hs
@@ -0,0 +1,239 @@
+{-# 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.Omics.ListWorkflows
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves a list of workflows.
+--
+-- This operation returns paginated results.
+module Amazonka.Omics.ListWorkflows
+  ( -- * Creating a Request
+    ListWorkflows (..),
+    newListWorkflows,
+
+    -- * Request Lenses
+    listWorkflows_maxResults,
+    listWorkflows_name,
+    listWorkflows_startingToken,
+    listWorkflows_type,
+
+    -- * Destructuring the Response
+    ListWorkflowsResponse (..),
+    newListWorkflowsResponse,
+
+    -- * Response Lenses
+    listWorkflowsResponse_items,
+    listWorkflowsResponse_nextToken,
+    listWorkflowsResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newListWorkflows' smart constructor.
+data ListWorkflows = ListWorkflows'
+  { -- | The maximum number of workflows to return in one page of results.
+    maxResults :: Prelude.Maybe Prelude.Natural,
+    -- | The workflows\' name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | Specify the pagination token from a previous request to retrieve the
+    -- next page of results.
+    startingToken :: Prelude.Maybe Prelude.Text,
+    -- | The workflows\' type.
+    type' :: Prelude.Maybe WorkflowType
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListWorkflows' 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', 'listWorkflows_maxResults' - The maximum number of workflows to return in one page of results.
+--
+-- 'name', 'listWorkflows_name' - The workflows\' name.
+--
+-- 'startingToken', 'listWorkflows_startingToken' - Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+--
+-- 'type'', 'listWorkflows_type' - The workflows\' type.
+newListWorkflows ::
+  ListWorkflows
+newListWorkflows =
+  ListWorkflows'
+    { maxResults = Prelude.Nothing,
+      name = Prelude.Nothing,
+      startingToken = Prelude.Nothing,
+      type' = Prelude.Nothing
+    }
+
+-- | The maximum number of workflows to return in one page of results.
+listWorkflows_maxResults :: Lens.Lens' ListWorkflows (Prelude.Maybe Prelude.Natural)
+listWorkflows_maxResults = Lens.lens (\ListWorkflows' {maxResults} -> maxResults) (\s@ListWorkflows' {} a -> s {maxResults = a} :: ListWorkflows)
+
+-- | The workflows\' name.
+listWorkflows_name :: Lens.Lens' ListWorkflows (Prelude.Maybe Prelude.Text)
+listWorkflows_name = Lens.lens (\ListWorkflows' {name} -> name) (\s@ListWorkflows' {} a -> s {name = a} :: ListWorkflows)
+
+-- | Specify the pagination token from a previous request to retrieve the
+-- next page of results.
+listWorkflows_startingToken :: Lens.Lens' ListWorkflows (Prelude.Maybe Prelude.Text)
+listWorkflows_startingToken = Lens.lens (\ListWorkflows' {startingToken} -> startingToken) (\s@ListWorkflows' {} a -> s {startingToken = a} :: ListWorkflows)
+
+-- | The workflows\' type.
+listWorkflows_type :: Lens.Lens' ListWorkflows (Prelude.Maybe WorkflowType)
+listWorkflows_type = Lens.lens (\ListWorkflows' {type'} -> type') (\s@ListWorkflows' {} a -> s {type' = a} :: ListWorkflows)
+
+instance Core.AWSPager ListWorkflows where
+  page rq rs
+    | Core.stop
+        ( rs
+            Lens.^? listWorkflowsResponse_nextToken
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Core.stop
+        ( rs
+            Lens.^? listWorkflowsResponse_items
+            Prelude.. Lens._Just
+        ) =
+        Prelude.Nothing
+    | Prelude.otherwise =
+        Prelude.Just
+          Prelude.$ rq
+          Prelude.& listWorkflows_startingToken
+          Lens..~ rs
+          Lens.^? listWorkflowsResponse_nextToken
+          Prelude.. Lens._Just
+
+instance Core.AWSRequest ListWorkflows where
+  type
+    AWSResponse ListWorkflows =
+      ListWorkflowsResponse
+  request overrides =
+    Request.get (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          ListWorkflowsResponse'
+            Prelude.<$> (x Data..?> "items" Core..!@ Prelude.mempty)
+            Prelude.<*> (x Data..?> "nextToken")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable ListWorkflows where
+  hashWithSalt _salt ListWorkflows' {..} =
+    _salt
+      `Prelude.hashWithSalt` maxResults
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` startingToken
+      `Prelude.hashWithSalt` type'
+
+instance Prelude.NFData ListWorkflows where
+  rnf ListWorkflows' {..} =
+    Prelude.rnf maxResults
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf startingToken
+      `Prelude.seq` Prelude.rnf type'
+
+instance Data.ToHeaders ListWorkflows where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath ListWorkflows where
+  toPath = Prelude.const "/workflow"
+
+instance Data.ToQuery ListWorkflows where
+  toQuery ListWorkflows' {..} =
+    Prelude.mconcat
+      [ "maxResults" Data.=: maxResults,
+        "name" Data.=: name,
+        "startingToken" Data.=: startingToken,
+        "type" Data.=: type'
+      ]
+
+-- | /See:/ 'newListWorkflowsResponse' smart constructor.
+data ListWorkflowsResponse = ListWorkflowsResponse'
+  { -- | The workflows\' items.
+    items :: Prelude.Maybe [WorkflowListItem],
+    -- | A pagination token that\'s included if more results are available.
+    nextToken :: 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 'ListWorkflowsResponse' 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:
+--
+-- 'items', 'listWorkflowsResponse_items' - The workflows\' items.
+--
+-- 'nextToken', 'listWorkflowsResponse_nextToken' - A pagination token that\'s included if more results are available.
+--
+-- 'httpStatus', 'listWorkflowsResponse_httpStatus' - The response's http status code.
+newListWorkflowsResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  ListWorkflowsResponse
+newListWorkflowsResponse pHttpStatus_ =
+  ListWorkflowsResponse'
+    { items = Prelude.Nothing,
+      nextToken = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | The workflows\' items.
+listWorkflowsResponse_items :: Lens.Lens' ListWorkflowsResponse (Prelude.Maybe [WorkflowListItem])
+listWorkflowsResponse_items = Lens.lens (\ListWorkflowsResponse' {items} -> items) (\s@ListWorkflowsResponse' {} a -> s {items = a} :: ListWorkflowsResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | A pagination token that\'s included if more results are available.
+listWorkflowsResponse_nextToken :: Lens.Lens' ListWorkflowsResponse (Prelude.Maybe Prelude.Text)
+listWorkflowsResponse_nextToken = Lens.lens (\ListWorkflowsResponse' {nextToken} -> nextToken) (\s@ListWorkflowsResponse' {} a -> s {nextToken = a} :: ListWorkflowsResponse)
+
+-- | The response's http status code.
+listWorkflowsResponse_httpStatus :: Lens.Lens' ListWorkflowsResponse Prelude.Int
+listWorkflowsResponse_httpStatus = Lens.lens (\ListWorkflowsResponse' {httpStatus} -> httpStatus) (\s@ListWorkflowsResponse' {} a -> s {httpStatus = a} :: ListWorkflowsResponse)
+
+instance Prelude.NFData ListWorkflowsResponse where
+  rnf ListWorkflowsResponse' {..} =
+    Prelude.rnf items
+      `Prelude.seq` Prelude.rnf nextToken
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/StartAnnotationImportJob.hs b/gen/Amazonka/Omics/StartAnnotationImportJob.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/StartAnnotationImportJob.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.Omics.StartAnnotationImportJob
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Starts an annotation import job.
+module Amazonka.Omics.StartAnnotationImportJob
+  ( -- * Creating a Request
+    StartAnnotationImportJob (..),
+    newStartAnnotationImportJob,
+
+    -- * Request Lenses
+    startAnnotationImportJob_formatOptions,
+    startAnnotationImportJob_runLeftNormalization,
+    startAnnotationImportJob_destinationName,
+    startAnnotationImportJob_items,
+    startAnnotationImportJob_roleArn,
+
+    -- * Destructuring the Response
+    StartAnnotationImportJobResponse (..),
+    newStartAnnotationImportJobResponse,
+
+    -- * Response Lenses
+    startAnnotationImportJobResponse_httpStatus,
+    startAnnotationImportJobResponse_jobId,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newStartAnnotationImportJob' smart constructor.
+data StartAnnotationImportJob = StartAnnotationImportJob'
+  { -- | Formatting options for the annotation file.
+    formatOptions :: Prelude.Maybe FormatOptions,
+    -- | The job\'s left normalization setting.
+    runLeftNormalization :: Prelude.Maybe Prelude.Bool,
+    -- | A destination annotation store for the job.
+    destinationName :: Prelude.Text,
+    -- | Items to import.
+    items :: Prelude.NonEmpty AnnotationImportItemSource,
+    -- | A service role for the job.
+    roleArn :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StartAnnotationImportJob' 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:
+--
+-- 'formatOptions', 'startAnnotationImportJob_formatOptions' - Formatting options for the annotation file.
+--
+-- 'runLeftNormalization', 'startAnnotationImportJob_runLeftNormalization' - The job\'s left normalization setting.
+--
+-- 'destinationName', 'startAnnotationImportJob_destinationName' - A destination annotation store for the job.
+--
+-- 'items', 'startAnnotationImportJob_items' - Items to import.
+--
+-- 'roleArn', 'startAnnotationImportJob_roleArn' - A service role for the job.
+newStartAnnotationImportJob ::
+  -- | 'destinationName'
+  Prelude.Text ->
+  -- | 'items'
+  Prelude.NonEmpty AnnotationImportItemSource ->
+  -- | 'roleArn'
+  Prelude.Text ->
+  StartAnnotationImportJob
+newStartAnnotationImportJob
+  pDestinationName_
+  pItems_
+  pRoleArn_ =
+    StartAnnotationImportJob'
+      { formatOptions =
+          Prelude.Nothing,
+        runLeftNormalization = Prelude.Nothing,
+        destinationName = pDestinationName_,
+        items = Lens.coerced Lens.# pItems_,
+        roleArn = pRoleArn_
+      }
+
+-- | Formatting options for the annotation file.
+startAnnotationImportJob_formatOptions :: Lens.Lens' StartAnnotationImportJob (Prelude.Maybe FormatOptions)
+startAnnotationImportJob_formatOptions = Lens.lens (\StartAnnotationImportJob' {formatOptions} -> formatOptions) (\s@StartAnnotationImportJob' {} a -> s {formatOptions = a} :: StartAnnotationImportJob)
+
+-- | The job\'s left normalization setting.
+startAnnotationImportJob_runLeftNormalization :: Lens.Lens' StartAnnotationImportJob (Prelude.Maybe Prelude.Bool)
+startAnnotationImportJob_runLeftNormalization = Lens.lens (\StartAnnotationImportJob' {runLeftNormalization} -> runLeftNormalization) (\s@StartAnnotationImportJob' {} a -> s {runLeftNormalization = a} :: StartAnnotationImportJob)
+
+-- | A destination annotation store for the job.
+startAnnotationImportJob_destinationName :: Lens.Lens' StartAnnotationImportJob Prelude.Text
+startAnnotationImportJob_destinationName = Lens.lens (\StartAnnotationImportJob' {destinationName} -> destinationName) (\s@StartAnnotationImportJob' {} a -> s {destinationName = a} :: StartAnnotationImportJob)
+
+-- | Items to import.
+startAnnotationImportJob_items :: Lens.Lens' StartAnnotationImportJob (Prelude.NonEmpty AnnotationImportItemSource)
+startAnnotationImportJob_items = Lens.lens (\StartAnnotationImportJob' {items} -> items) (\s@StartAnnotationImportJob' {} a -> s {items = a} :: StartAnnotationImportJob) Prelude.. Lens.coerced
+
+-- | A service role for the job.
+startAnnotationImportJob_roleArn :: Lens.Lens' StartAnnotationImportJob Prelude.Text
+startAnnotationImportJob_roleArn = Lens.lens (\StartAnnotationImportJob' {roleArn} -> roleArn) (\s@StartAnnotationImportJob' {} a -> s {roleArn = a} :: StartAnnotationImportJob)
+
+instance Core.AWSRequest StartAnnotationImportJob where
+  type
+    AWSResponse StartAnnotationImportJob =
+      StartAnnotationImportJobResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          StartAnnotationImportJobResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "jobId")
+      )
+
+instance Prelude.Hashable StartAnnotationImportJob where
+  hashWithSalt _salt StartAnnotationImportJob' {..} =
+    _salt
+      `Prelude.hashWithSalt` formatOptions
+      `Prelude.hashWithSalt` runLeftNormalization
+      `Prelude.hashWithSalt` destinationName
+      `Prelude.hashWithSalt` items
+      `Prelude.hashWithSalt` roleArn
+
+instance Prelude.NFData StartAnnotationImportJob where
+  rnf StartAnnotationImportJob' {..} =
+    Prelude.rnf formatOptions
+      `Prelude.seq` Prelude.rnf runLeftNormalization
+      `Prelude.seq` Prelude.rnf destinationName
+      `Prelude.seq` Prelude.rnf items
+      `Prelude.seq` Prelude.rnf roleArn
+
+instance Data.ToHeaders StartAnnotationImportJob where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON StartAnnotationImportJob where
+  toJSON StartAnnotationImportJob' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("formatOptions" Data..=) Prelude.<$> formatOptions,
+            ("runLeftNormalization" Data..=)
+              Prelude.<$> runLeftNormalization,
+            Prelude.Just
+              ("destinationName" Data..= destinationName),
+            Prelude.Just ("items" Data..= items),
+            Prelude.Just ("roleArn" Data..= roleArn)
+          ]
+      )
+
+instance Data.ToPath StartAnnotationImportJob where
+  toPath = Prelude.const "/import/annotation"
+
+instance Data.ToQuery StartAnnotationImportJob where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newStartAnnotationImportJobResponse' smart constructor.
+data StartAnnotationImportJobResponse = StartAnnotationImportJobResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The job\'s ID.
+    jobId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StartAnnotationImportJobResponse' 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', 'startAnnotationImportJobResponse_httpStatus' - The response's http status code.
+--
+-- 'jobId', 'startAnnotationImportJobResponse_jobId' - The job\'s ID.
+newStartAnnotationImportJobResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'jobId'
+  Prelude.Text ->
+  StartAnnotationImportJobResponse
+newStartAnnotationImportJobResponse
+  pHttpStatus_
+  pJobId_ =
+    StartAnnotationImportJobResponse'
+      { httpStatus =
+          pHttpStatus_,
+        jobId = pJobId_
+      }
+
+-- | The response's http status code.
+startAnnotationImportJobResponse_httpStatus :: Lens.Lens' StartAnnotationImportJobResponse Prelude.Int
+startAnnotationImportJobResponse_httpStatus = Lens.lens (\StartAnnotationImportJobResponse' {httpStatus} -> httpStatus) (\s@StartAnnotationImportJobResponse' {} a -> s {httpStatus = a} :: StartAnnotationImportJobResponse)
+
+-- | The job\'s ID.
+startAnnotationImportJobResponse_jobId :: Lens.Lens' StartAnnotationImportJobResponse Prelude.Text
+startAnnotationImportJobResponse_jobId = Lens.lens (\StartAnnotationImportJobResponse' {jobId} -> jobId) (\s@StartAnnotationImportJobResponse' {} a -> s {jobId = a} :: StartAnnotationImportJobResponse)
+
+instance
+  Prelude.NFData
+    StartAnnotationImportJobResponse
+  where
+  rnf StartAnnotationImportJobResponse' {..} =
+    Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf jobId
diff --git a/gen/Amazonka/Omics/StartReadSetActivationJob.hs b/gen/Amazonka/Omics/StartReadSetActivationJob.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/StartReadSetActivationJob.hs
@@ -0,0 +1,260 @@
+{-# 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.Omics.StartReadSetActivationJob
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Starts a read set activation job.
+module Amazonka.Omics.StartReadSetActivationJob
+  ( -- * Creating a Request
+    StartReadSetActivationJob (..),
+    newStartReadSetActivationJob,
+
+    -- * Request Lenses
+    startReadSetActivationJob_clientToken,
+    startReadSetActivationJob_sequenceStoreId,
+    startReadSetActivationJob_sources,
+
+    -- * Destructuring the Response
+    StartReadSetActivationJobResponse (..),
+    newStartReadSetActivationJobResponse,
+
+    -- * Response Lenses
+    startReadSetActivationJobResponse_httpStatus,
+    startReadSetActivationJobResponse_creationTime,
+    startReadSetActivationJobResponse_id,
+    startReadSetActivationJobResponse_sequenceStoreId,
+    startReadSetActivationJobResponse_status,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newStartReadSetActivationJob' smart constructor.
+data StartReadSetActivationJob = StartReadSetActivationJob'
+  { -- | To ensure that jobs don\'t run multiple times, specify a unique token
+    -- for each job.
+    clientToken :: Prelude.Maybe Prelude.Text,
+    -- | The read set\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text,
+    -- | The job\'s sources.
+    sources :: Prelude.NonEmpty StartReadSetActivationJobSourceItem
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StartReadSetActivationJob' 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:
+--
+-- 'clientToken', 'startReadSetActivationJob_clientToken' - To ensure that jobs don\'t run multiple times, specify a unique token
+-- for each job.
+--
+-- 'sequenceStoreId', 'startReadSetActivationJob_sequenceStoreId' - The read set\'s sequence store ID.
+--
+-- 'sources', 'startReadSetActivationJob_sources' - The job\'s sources.
+newStartReadSetActivationJob ::
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  -- | 'sources'
+  Prelude.NonEmpty StartReadSetActivationJobSourceItem ->
+  StartReadSetActivationJob
+newStartReadSetActivationJob
+  pSequenceStoreId_
+  pSources_ =
+    StartReadSetActivationJob'
+      { clientToken =
+          Prelude.Nothing,
+        sequenceStoreId = pSequenceStoreId_,
+        sources = Lens.coerced Lens.# pSources_
+      }
+
+-- | To ensure that jobs don\'t run multiple times, specify a unique token
+-- for each job.
+startReadSetActivationJob_clientToken :: Lens.Lens' StartReadSetActivationJob (Prelude.Maybe Prelude.Text)
+startReadSetActivationJob_clientToken = Lens.lens (\StartReadSetActivationJob' {clientToken} -> clientToken) (\s@StartReadSetActivationJob' {} a -> s {clientToken = a} :: StartReadSetActivationJob)
+
+-- | The read set\'s sequence store ID.
+startReadSetActivationJob_sequenceStoreId :: Lens.Lens' StartReadSetActivationJob Prelude.Text
+startReadSetActivationJob_sequenceStoreId = Lens.lens (\StartReadSetActivationJob' {sequenceStoreId} -> sequenceStoreId) (\s@StartReadSetActivationJob' {} a -> s {sequenceStoreId = a} :: StartReadSetActivationJob)
+
+-- | The job\'s sources.
+startReadSetActivationJob_sources :: Lens.Lens' StartReadSetActivationJob (Prelude.NonEmpty StartReadSetActivationJobSourceItem)
+startReadSetActivationJob_sources = Lens.lens (\StartReadSetActivationJob' {sources} -> sources) (\s@StartReadSetActivationJob' {} a -> s {sources = a} :: StartReadSetActivationJob) Prelude.. Lens.coerced
+
+instance Core.AWSRequest StartReadSetActivationJob where
+  type
+    AWSResponse StartReadSetActivationJob =
+      StartReadSetActivationJobResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          StartReadSetActivationJobResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "sequenceStoreId")
+            Prelude.<*> (x Data..:> "status")
+      )
+
+instance Prelude.Hashable StartReadSetActivationJob where
+  hashWithSalt _salt StartReadSetActivationJob' {..} =
+    _salt
+      `Prelude.hashWithSalt` clientToken
+      `Prelude.hashWithSalt` sequenceStoreId
+      `Prelude.hashWithSalt` sources
+
+instance Prelude.NFData StartReadSetActivationJob where
+  rnf StartReadSetActivationJob' {..} =
+    Prelude.rnf clientToken
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+      `Prelude.seq` Prelude.rnf sources
+
+instance Data.ToHeaders StartReadSetActivationJob where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON StartReadSetActivationJob where
+  toJSON StartReadSetActivationJob' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("clientToken" Data..=) Prelude.<$> clientToken,
+            Prelude.Just ("sources" Data..= sources)
+          ]
+      )
+
+instance Data.ToPath StartReadSetActivationJob where
+  toPath StartReadSetActivationJob' {..} =
+    Prelude.mconcat
+      [ "/sequencestore/",
+        Data.toBS sequenceStoreId,
+        "/activationjob"
+      ]
+
+instance Data.ToQuery StartReadSetActivationJob where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newStartReadSetActivationJobResponse' smart constructor.
+data StartReadSetActivationJobResponse = StartReadSetActivationJobResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | When the job was created.
+    creationTime :: Data.ISO8601,
+    -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The read set\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text,
+    -- | The job\'s status.
+    status :: ReadSetActivationJobStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StartReadSetActivationJobResponse' 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', 'startReadSetActivationJobResponse_httpStatus' - The response's http status code.
+--
+-- 'creationTime', 'startReadSetActivationJobResponse_creationTime' - When the job was created.
+--
+-- 'id', 'startReadSetActivationJobResponse_id' - The job\'s ID.
+--
+-- 'sequenceStoreId', 'startReadSetActivationJobResponse_sequenceStoreId' - The read set\'s sequence store ID.
+--
+-- 'status', 'startReadSetActivationJobResponse_status' - The job\'s status.
+newStartReadSetActivationJobResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  -- | 'status'
+  ReadSetActivationJobStatus ->
+  StartReadSetActivationJobResponse
+newStartReadSetActivationJobResponse
+  pHttpStatus_
+  pCreationTime_
+  pId_
+  pSequenceStoreId_
+  pStatus_ =
+    StartReadSetActivationJobResponse'
+      { httpStatus =
+          pHttpStatus_,
+        creationTime =
+          Data._Time Lens.# pCreationTime_,
+        id = pId_,
+        sequenceStoreId = pSequenceStoreId_,
+        status = pStatus_
+      }
+
+-- | The response's http status code.
+startReadSetActivationJobResponse_httpStatus :: Lens.Lens' StartReadSetActivationJobResponse Prelude.Int
+startReadSetActivationJobResponse_httpStatus = Lens.lens (\StartReadSetActivationJobResponse' {httpStatus} -> httpStatus) (\s@StartReadSetActivationJobResponse' {} a -> s {httpStatus = a} :: StartReadSetActivationJobResponse)
+
+-- | When the job was created.
+startReadSetActivationJobResponse_creationTime :: Lens.Lens' StartReadSetActivationJobResponse Prelude.UTCTime
+startReadSetActivationJobResponse_creationTime = Lens.lens (\StartReadSetActivationJobResponse' {creationTime} -> creationTime) (\s@StartReadSetActivationJobResponse' {} a -> s {creationTime = a} :: StartReadSetActivationJobResponse) Prelude.. Data._Time
+
+-- | The job\'s ID.
+startReadSetActivationJobResponse_id :: Lens.Lens' StartReadSetActivationJobResponse Prelude.Text
+startReadSetActivationJobResponse_id = Lens.lens (\StartReadSetActivationJobResponse' {id} -> id) (\s@StartReadSetActivationJobResponse' {} a -> s {id = a} :: StartReadSetActivationJobResponse)
+
+-- | The read set\'s sequence store ID.
+startReadSetActivationJobResponse_sequenceStoreId :: Lens.Lens' StartReadSetActivationJobResponse Prelude.Text
+startReadSetActivationJobResponse_sequenceStoreId = Lens.lens (\StartReadSetActivationJobResponse' {sequenceStoreId} -> sequenceStoreId) (\s@StartReadSetActivationJobResponse' {} a -> s {sequenceStoreId = a} :: StartReadSetActivationJobResponse)
+
+-- | The job\'s status.
+startReadSetActivationJobResponse_status :: Lens.Lens' StartReadSetActivationJobResponse ReadSetActivationJobStatus
+startReadSetActivationJobResponse_status = Lens.lens (\StartReadSetActivationJobResponse' {status} -> status) (\s@StartReadSetActivationJobResponse' {} a -> s {status = a} :: StartReadSetActivationJobResponse)
+
+instance
+  Prelude.NFData
+    StartReadSetActivationJobResponse
+  where
+  rnf StartReadSetActivationJobResponse' {..} =
+    Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/StartReadSetExportJob.hs b/gen/Amazonka/Omics/StartReadSetExportJob.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/StartReadSetExportJob.hs
@@ -0,0 +1,304 @@
+{-# 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.Omics.StartReadSetExportJob
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Starts a read set export job.
+module Amazonka.Omics.StartReadSetExportJob
+  ( -- * Creating a Request
+    StartReadSetExportJob (..),
+    newStartReadSetExportJob,
+
+    -- * Request Lenses
+    startReadSetExportJob_clientToken,
+    startReadSetExportJob_destination,
+    startReadSetExportJob_roleArn,
+    startReadSetExportJob_sequenceStoreId,
+    startReadSetExportJob_sources,
+
+    -- * Destructuring the Response
+    StartReadSetExportJobResponse (..),
+    newStartReadSetExportJobResponse,
+
+    -- * Response Lenses
+    startReadSetExportJobResponse_httpStatus,
+    startReadSetExportJobResponse_creationTime,
+    startReadSetExportJobResponse_destination,
+    startReadSetExportJobResponse_id,
+    startReadSetExportJobResponse_sequenceStoreId,
+    startReadSetExportJobResponse_status,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newStartReadSetExportJob' smart constructor.
+data StartReadSetExportJob = StartReadSetExportJob'
+  { -- | To ensure that jobs don\'t run multiple times, specify a unique token
+    -- for each job.
+    clientToken :: Prelude.Maybe Prelude.Text,
+    -- | A location for exported files in Amazon S3.
+    destination :: Prelude.Text,
+    -- | A service role for the job.
+    roleArn :: Prelude.Text,
+    -- | The read set\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text,
+    -- | Sources for the job.
+    sources :: Prelude.NonEmpty ExportReadSet
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StartReadSetExportJob' 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:
+--
+-- 'clientToken', 'startReadSetExportJob_clientToken' - To ensure that jobs don\'t run multiple times, specify a unique token
+-- for each job.
+--
+-- 'destination', 'startReadSetExportJob_destination' - A location for exported files in Amazon S3.
+--
+-- 'roleArn', 'startReadSetExportJob_roleArn' - A service role for the job.
+--
+-- 'sequenceStoreId', 'startReadSetExportJob_sequenceStoreId' - The read set\'s sequence store ID.
+--
+-- 'sources', 'startReadSetExportJob_sources' - Sources for the job.
+newStartReadSetExportJob ::
+  -- | 'destination'
+  Prelude.Text ->
+  -- | 'roleArn'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  -- | 'sources'
+  Prelude.NonEmpty ExportReadSet ->
+  StartReadSetExportJob
+newStartReadSetExportJob
+  pDestination_
+  pRoleArn_
+  pSequenceStoreId_
+  pSources_ =
+    StartReadSetExportJob'
+      { clientToken =
+          Prelude.Nothing,
+        destination = pDestination_,
+        roleArn = pRoleArn_,
+        sequenceStoreId = pSequenceStoreId_,
+        sources = Lens.coerced Lens.# pSources_
+      }
+
+-- | To ensure that jobs don\'t run multiple times, specify a unique token
+-- for each job.
+startReadSetExportJob_clientToken :: Lens.Lens' StartReadSetExportJob (Prelude.Maybe Prelude.Text)
+startReadSetExportJob_clientToken = Lens.lens (\StartReadSetExportJob' {clientToken} -> clientToken) (\s@StartReadSetExportJob' {} a -> s {clientToken = a} :: StartReadSetExportJob)
+
+-- | A location for exported files in Amazon S3.
+startReadSetExportJob_destination :: Lens.Lens' StartReadSetExportJob Prelude.Text
+startReadSetExportJob_destination = Lens.lens (\StartReadSetExportJob' {destination} -> destination) (\s@StartReadSetExportJob' {} a -> s {destination = a} :: StartReadSetExportJob)
+
+-- | A service role for the job.
+startReadSetExportJob_roleArn :: Lens.Lens' StartReadSetExportJob Prelude.Text
+startReadSetExportJob_roleArn = Lens.lens (\StartReadSetExportJob' {roleArn} -> roleArn) (\s@StartReadSetExportJob' {} a -> s {roleArn = a} :: StartReadSetExportJob)
+
+-- | The read set\'s sequence store ID.
+startReadSetExportJob_sequenceStoreId :: Lens.Lens' StartReadSetExportJob Prelude.Text
+startReadSetExportJob_sequenceStoreId = Lens.lens (\StartReadSetExportJob' {sequenceStoreId} -> sequenceStoreId) (\s@StartReadSetExportJob' {} a -> s {sequenceStoreId = a} :: StartReadSetExportJob)
+
+-- | Sources for the job.
+startReadSetExportJob_sources :: Lens.Lens' StartReadSetExportJob (Prelude.NonEmpty ExportReadSet)
+startReadSetExportJob_sources = Lens.lens (\StartReadSetExportJob' {sources} -> sources) (\s@StartReadSetExportJob' {} a -> s {sources = a} :: StartReadSetExportJob) Prelude.. Lens.coerced
+
+instance Core.AWSRequest StartReadSetExportJob where
+  type
+    AWSResponse StartReadSetExportJob =
+      StartReadSetExportJobResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          StartReadSetExportJobResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "destination")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "sequenceStoreId")
+            Prelude.<*> (x Data..:> "status")
+      )
+
+instance Prelude.Hashable StartReadSetExportJob where
+  hashWithSalt _salt StartReadSetExportJob' {..} =
+    _salt
+      `Prelude.hashWithSalt` clientToken
+      `Prelude.hashWithSalt` destination
+      `Prelude.hashWithSalt` roleArn
+      `Prelude.hashWithSalt` sequenceStoreId
+      `Prelude.hashWithSalt` sources
+
+instance Prelude.NFData StartReadSetExportJob where
+  rnf StartReadSetExportJob' {..} =
+    Prelude.rnf clientToken
+      `Prelude.seq` Prelude.rnf destination
+      `Prelude.seq` Prelude.rnf roleArn
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+      `Prelude.seq` Prelude.rnf sources
+
+instance Data.ToHeaders StartReadSetExportJob where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON StartReadSetExportJob where
+  toJSON StartReadSetExportJob' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("clientToken" Data..=) Prelude.<$> clientToken,
+            Prelude.Just ("destination" Data..= destination),
+            Prelude.Just ("roleArn" Data..= roleArn),
+            Prelude.Just ("sources" Data..= sources)
+          ]
+      )
+
+instance Data.ToPath StartReadSetExportJob where
+  toPath StartReadSetExportJob' {..} =
+    Prelude.mconcat
+      [ "/sequencestore/",
+        Data.toBS sequenceStoreId,
+        "/exportjob"
+      ]
+
+instance Data.ToQuery StartReadSetExportJob where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newStartReadSetExportJobResponse' smart constructor.
+data StartReadSetExportJobResponse = StartReadSetExportJobResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | When the job was created.
+    creationTime :: Data.ISO8601,
+    -- | The job\'s output location.
+    destination :: Prelude.Text,
+    -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The read set\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text,
+    -- | The job\'s status.
+    status :: ReadSetExportJobStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StartReadSetExportJobResponse' 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', 'startReadSetExportJobResponse_httpStatus' - The response's http status code.
+--
+-- 'creationTime', 'startReadSetExportJobResponse_creationTime' - When the job was created.
+--
+-- 'destination', 'startReadSetExportJobResponse_destination' - The job\'s output location.
+--
+-- 'id', 'startReadSetExportJobResponse_id' - The job\'s ID.
+--
+-- 'sequenceStoreId', 'startReadSetExportJobResponse_sequenceStoreId' - The read set\'s sequence store ID.
+--
+-- 'status', 'startReadSetExportJobResponse_status' - The job\'s status.
+newStartReadSetExportJobResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'destination'
+  Prelude.Text ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  -- | 'status'
+  ReadSetExportJobStatus ->
+  StartReadSetExportJobResponse
+newStartReadSetExportJobResponse
+  pHttpStatus_
+  pCreationTime_
+  pDestination_
+  pId_
+  pSequenceStoreId_
+  pStatus_ =
+    StartReadSetExportJobResponse'
+      { httpStatus =
+          pHttpStatus_,
+        creationTime =
+          Data._Time Lens.# pCreationTime_,
+        destination = pDestination_,
+        id = pId_,
+        sequenceStoreId = pSequenceStoreId_,
+        status = pStatus_
+      }
+
+-- | The response's http status code.
+startReadSetExportJobResponse_httpStatus :: Lens.Lens' StartReadSetExportJobResponse Prelude.Int
+startReadSetExportJobResponse_httpStatus = Lens.lens (\StartReadSetExportJobResponse' {httpStatus} -> httpStatus) (\s@StartReadSetExportJobResponse' {} a -> s {httpStatus = a} :: StartReadSetExportJobResponse)
+
+-- | When the job was created.
+startReadSetExportJobResponse_creationTime :: Lens.Lens' StartReadSetExportJobResponse Prelude.UTCTime
+startReadSetExportJobResponse_creationTime = Lens.lens (\StartReadSetExportJobResponse' {creationTime} -> creationTime) (\s@StartReadSetExportJobResponse' {} a -> s {creationTime = a} :: StartReadSetExportJobResponse) Prelude.. Data._Time
+
+-- | The job\'s output location.
+startReadSetExportJobResponse_destination :: Lens.Lens' StartReadSetExportJobResponse Prelude.Text
+startReadSetExportJobResponse_destination = Lens.lens (\StartReadSetExportJobResponse' {destination} -> destination) (\s@StartReadSetExportJobResponse' {} a -> s {destination = a} :: StartReadSetExportJobResponse)
+
+-- | The job\'s ID.
+startReadSetExportJobResponse_id :: Lens.Lens' StartReadSetExportJobResponse Prelude.Text
+startReadSetExportJobResponse_id = Lens.lens (\StartReadSetExportJobResponse' {id} -> id) (\s@StartReadSetExportJobResponse' {} a -> s {id = a} :: StartReadSetExportJobResponse)
+
+-- | The read set\'s sequence store ID.
+startReadSetExportJobResponse_sequenceStoreId :: Lens.Lens' StartReadSetExportJobResponse Prelude.Text
+startReadSetExportJobResponse_sequenceStoreId = Lens.lens (\StartReadSetExportJobResponse' {sequenceStoreId} -> sequenceStoreId) (\s@StartReadSetExportJobResponse' {} a -> s {sequenceStoreId = a} :: StartReadSetExportJobResponse)
+
+-- | The job\'s status.
+startReadSetExportJobResponse_status :: Lens.Lens' StartReadSetExportJobResponse ReadSetExportJobStatus
+startReadSetExportJobResponse_status = Lens.lens (\StartReadSetExportJobResponse' {status} -> status) (\s@StartReadSetExportJobResponse' {} a -> s {status = a} :: StartReadSetExportJobResponse)
+
+instance Prelude.NFData StartReadSetExportJobResponse where
+  rnf StartReadSetExportJobResponse' {..} =
+    Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf destination
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/StartReadSetImportJob.hs b/gen/Amazonka/Omics/StartReadSetImportJob.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/StartReadSetImportJob.hs
@@ -0,0 +1,288 @@
+{-# 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.Omics.StartReadSetImportJob
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Starts a read set import job.
+module Amazonka.Omics.StartReadSetImportJob
+  ( -- * Creating a Request
+    StartReadSetImportJob (..),
+    newStartReadSetImportJob,
+
+    -- * Request Lenses
+    startReadSetImportJob_clientToken,
+    startReadSetImportJob_roleArn,
+    startReadSetImportJob_sequenceStoreId,
+    startReadSetImportJob_sources,
+
+    -- * Destructuring the Response
+    StartReadSetImportJobResponse (..),
+    newStartReadSetImportJobResponse,
+
+    -- * Response Lenses
+    startReadSetImportJobResponse_httpStatus,
+    startReadSetImportJobResponse_creationTime,
+    startReadSetImportJobResponse_id,
+    startReadSetImportJobResponse_roleArn,
+    startReadSetImportJobResponse_sequenceStoreId,
+    startReadSetImportJobResponse_status,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newStartReadSetImportJob' smart constructor.
+data StartReadSetImportJob = StartReadSetImportJob'
+  { -- | To ensure that jobs don\'t run multiple times, specify a unique token
+    -- for each job.
+    clientToken :: Prelude.Maybe Prelude.Text,
+    -- | A service role for the job.
+    roleArn :: Prelude.Text,
+    -- | The read set\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text,
+    -- | Source files to import.
+    sources :: Prelude.NonEmpty StartReadSetImportJobSourceItem
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StartReadSetImportJob' 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:
+--
+-- 'clientToken', 'startReadSetImportJob_clientToken' - To ensure that jobs don\'t run multiple times, specify a unique token
+-- for each job.
+--
+-- 'roleArn', 'startReadSetImportJob_roleArn' - A service role for the job.
+--
+-- 'sequenceStoreId', 'startReadSetImportJob_sequenceStoreId' - The read set\'s sequence store ID.
+--
+-- 'sources', 'startReadSetImportJob_sources' - Source files to import.
+newStartReadSetImportJob ::
+  -- | 'roleArn'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  -- | 'sources'
+  Prelude.NonEmpty StartReadSetImportJobSourceItem ->
+  StartReadSetImportJob
+newStartReadSetImportJob
+  pRoleArn_
+  pSequenceStoreId_
+  pSources_ =
+    StartReadSetImportJob'
+      { clientToken =
+          Prelude.Nothing,
+        roleArn = pRoleArn_,
+        sequenceStoreId = pSequenceStoreId_,
+        sources = Lens.coerced Lens.# pSources_
+      }
+
+-- | To ensure that jobs don\'t run multiple times, specify a unique token
+-- for each job.
+startReadSetImportJob_clientToken :: Lens.Lens' StartReadSetImportJob (Prelude.Maybe Prelude.Text)
+startReadSetImportJob_clientToken = Lens.lens (\StartReadSetImportJob' {clientToken} -> clientToken) (\s@StartReadSetImportJob' {} a -> s {clientToken = a} :: StartReadSetImportJob)
+
+-- | A service role for the job.
+startReadSetImportJob_roleArn :: Lens.Lens' StartReadSetImportJob Prelude.Text
+startReadSetImportJob_roleArn = Lens.lens (\StartReadSetImportJob' {roleArn} -> roleArn) (\s@StartReadSetImportJob' {} a -> s {roleArn = a} :: StartReadSetImportJob)
+
+-- | The read set\'s sequence store ID.
+startReadSetImportJob_sequenceStoreId :: Lens.Lens' StartReadSetImportJob Prelude.Text
+startReadSetImportJob_sequenceStoreId = Lens.lens (\StartReadSetImportJob' {sequenceStoreId} -> sequenceStoreId) (\s@StartReadSetImportJob' {} a -> s {sequenceStoreId = a} :: StartReadSetImportJob)
+
+-- | Source files to import.
+startReadSetImportJob_sources :: Lens.Lens' StartReadSetImportJob (Prelude.NonEmpty StartReadSetImportJobSourceItem)
+startReadSetImportJob_sources = Lens.lens (\StartReadSetImportJob' {sources} -> sources) (\s@StartReadSetImportJob' {} a -> s {sources = a} :: StartReadSetImportJob) Prelude.. Lens.coerced
+
+instance Core.AWSRequest StartReadSetImportJob where
+  type
+    AWSResponse StartReadSetImportJob =
+      StartReadSetImportJobResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          StartReadSetImportJobResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "roleArn")
+            Prelude.<*> (x Data..:> "sequenceStoreId")
+            Prelude.<*> (x Data..:> "status")
+      )
+
+instance Prelude.Hashable StartReadSetImportJob where
+  hashWithSalt _salt StartReadSetImportJob' {..} =
+    _salt
+      `Prelude.hashWithSalt` clientToken
+      `Prelude.hashWithSalt` roleArn
+      `Prelude.hashWithSalt` sequenceStoreId
+      `Prelude.hashWithSalt` sources
+
+instance Prelude.NFData StartReadSetImportJob where
+  rnf StartReadSetImportJob' {..} =
+    Prelude.rnf clientToken
+      `Prelude.seq` Prelude.rnf roleArn
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+      `Prelude.seq` Prelude.rnf sources
+
+instance Data.ToHeaders StartReadSetImportJob where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON StartReadSetImportJob where
+  toJSON StartReadSetImportJob' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("clientToken" Data..=) Prelude.<$> clientToken,
+            Prelude.Just ("roleArn" Data..= roleArn),
+            Prelude.Just ("sources" Data..= sources)
+          ]
+      )
+
+instance Data.ToPath StartReadSetImportJob where
+  toPath StartReadSetImportJob' {..} =
+    Prelude.mconcat
+      [ "/sequencestore/",
+        Data.toBS sequenceStoreId,
+        "/importjob"
+      ]
+
+instance Data.ToQuery StartReadSetImportJob where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newStartReadSetImportJobResponse' smart constructor.
+data StartReadSetImportJobResponse = StartReadSetImportJobResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | When the job was created.
+    creationTime :: Data.ISO8601,
+    -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s service role ARN.
+    roleArn :: Prelude.Text,
+    -- | The read set\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text,
+    -- | The job\'s status.
+    status :: ReadSetImportJobStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StartReadSetImportJobResponse' 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', 'startReadSetImportJobResponse_httpStatus' - The response's http status code.
+--
+-- 'creationTime', 'startReadSetImportJobResponse_creationTime' - When the job was created.
+--
+-- 'id', 'startReadSetImportJobResponse_id' - The job\'s ID.
+--
+-- 'roleArn', 'startReadSetImportJobResponse_roleArn' - The job\'s service role ARN.
+--
+-- 'sequenceStoreId', 'startReadSetImportJobResponse_sequenceStoreId' - The read set\'s sequence store ID.
+--
+-- 'status', 'startReadSetImportJobResponse_status' - The job\'s status.
+newStartReadSetImportJobResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'roleArn'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  -- | 'status'
+  ReadSetImportJobStatus ->
+  StartReadSetImportJobResponse
+newStartReadSetImportJobResponse
+  pHttpStatus_
+  pCreationTime_
+  pId_
+  pRoleArn_
+  pSequenceStoreId_
+  pStatus_ =
+    StartReadSetImportJobResponse'
+      { httpStatus =
+          pHttpStatus_,
+        creationTime =
+          Data._Time Lens.# pCreationTime_,
+        id = pId_,
+        roleArn = pRoleArn_,
+        sequenceStoreId = pSequenceStoreId_,
+        status = pStatus_
+      }
+
+-- | The response's http status code.
+startReadSetImportJobResponse_httpStatus :: Lens.Lens' StartReadSetImportJobResponse Prelude.Int
+startReadSetImportJobResponse_httpStatus = Lens.lens (\StartReadSetImportJobResponse' {httpStatus} -> httpStatus) (\s@StartReadSetImportJobResponse' {} a -> s {httpStatus = a} :: StartReadSetImportJobResponse)
+
+-- | When the job was created.
+startReadSetImportJobResponse_creationTime :: Lens.Lens' StartReadSetImportJobResponse Prelude.UTCTime
+startReadSetImportJobResponse_creationTime = Lens.lens (\StartReadSetImportJobResponse' {creationTime} -> creationTime) (\s@StartReadSetImportJobResponse' {} a -> s {creationTime = a} :: StartReadSetImportJobResponse) Prelude.. Data._Time
+
+-- | The job\'s ID.
+startReadSetImportJobResponse_id :: Lens.Lens' StartReadSetImportJobResponse Prelude.Text
+startReadSetImportJobResponse_id = Lens.lens (\StartReadSetImportJobResponse' {id} -> id) (\s@StartReadSetImportJobResponse' {} a -> s {id = a} :: StartReadSetImportJobResponse)
+
+-- | The job\'s service role ARN.
+startReadSetImportJobResponse_roleArn :: Lens.Lens' StartReadSetImportJobResponse Prelude.Text
+startReadSetImportJobResponse_roleArn = Lens.lens (\StartReadSetImportJobResponse' {roleArn} -> roleArn) (\s@StartReadSetImportJobResponse' {} a -> s {roleArn = a} :: StartReadSetImportJobResponse)
+
+-- | The read set\'s sequence store ID.
+startReadSetImportJobResponse_sequenceStoreId :: Lens.Lens' StartReadSetImportJobResponse Prelude.Text
+startReadSetImportJobResponse_sequenceStoreId = Lens.lens (\StartReadSetImportJobResponse' {sequenceStoreId} -> sequenceStoreId) (\s@StartReadSetImportJobResponse' {} a -> s {sequenceStoreId = a} :: StartReadSetImportJobResponse)
+
+-- | The job\'s status.
+startReadSetImportJobResponse_status :: Lens.Lens' StartReadSetImportJobResponse ReadSetImportJobStatus
+startReadSetImportJobResponse_status = Lens.lens (\StartReadSetImportJobResponse' {status} -> status) (\s@StartReadSetImportJobResponse' {} a -> s {status = a} :: StartReadSetImportJobResponse)
+
+instance Prelude.NFData StartReadSetImportJobResponse where
+  rnf StartReadSetImportJobResponse' {..} =
+    Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf roleArn
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/StartReferenceImportJob.hs b/gen/Amazonka/Omics/StartReferenceImportJob.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/StartReferenceImportJob.hs
@@ -0,0 +1,291 @@
+{-# 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.Omics.StartReferenceImportJob
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Starts a reference import job.
+module Amazonka.Omics.StartReferenceImportJob
+  ( -- * Creating a Request
+    StartReferenceImportJob (..),
+    newStartReferenceImportJob,
+
+    -- * Request Lenses
+    startReferenceImportJob_clientToken,
+    startReferenceImportJob_referenceStoreId,
+    startReferenceImportJob_roleArn,
+    startReferenceImportJob_sources,
+
+    -- * Destructuring the Response
+    StartReferenceImportJobResponse (..),
+    newStartReferenceImportJobResponse,
+
+    -- * Response Lenses
+    startReferenceImportJobResponse_httpStatus,
+    startReferenceImportJobResponse_creationTime,
+    startReferenceImportJobResponse_id,
+    startReferenceImportJobResponse_referenceStoreId,
+    startReferenceImportJobResponse_roleArn,
+    startReferenceImportJobResponse_status,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newStartReferenceImportJob' smart constructor.
+data StartReferenceImportJob = StartReferenceImportJob'
+  { -- | To ensure that jobs don\'t run multiple times, specify a unique token
+    -- for each job.
+    clientToken :: Prelude.Maybe Prelude.Text,
+    -- | The job\'s reference store ID.
+    referenceStoreId :: Prelude.Text,
+    -- | A service role for the job.
+    roleArn :: Prelude.Text,
+    -- | Sources for the job.
+    sources :: Prelude.NonEmpty StartReferenceImportJobSourceItem
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StartReferenceImportJob' 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:
+--
+-- 'clientToken', 'startReferenceImportJob_clientToken' - To ensure that jobs don\'t run multiple times, specify a unique token
+-- for each job.
+--
+-- 'referenceStoreId', 'startReferenceImportJob_referenceStoreId' - The job\'s reference store ID.
+--
+-- 'roleArn', 'startReferenceImportJob_roleArn' - A service role for the job.
+--
+-- 'sources', 'startReferenceImportJob_sources' - Sources for the job.
+newStartReferenceImportJob ::
+  -- | 'referenceStoreId'
+  Prelude.Text ->
+  -- | 'roleArn'
+  Prelude.Text ->
+  -- | 'sources'
+  Prelude.NonEmpty StartReferenceImportJobSourceItem ->
+  StartReferenceImportJob
+newStartReferenceImportJob
+  pReferenceStoreId_
+  pRoleArn_
+  pSources_ =
+    StartReferenceImportJob'
+      { clientToken =
+          Prelude.Nothing,
+        referenceStoreId = pReferenceStoreId_,
+        roleArn = pRoleArn_,
+        sources = Lens.coerced Lens.# pSources_
+      }
+
+-- | To ensure that jobs don\'t run multiple times, specify a unique token
+-- for each job.
+startReferenceImportJob_clientToken :: Lens.Lens' StartReferenceImportJob (Prelude.Maybe Prelude.Text)
+startReferenceImportJob_clientToken = Lens.lens (\StartReferenceImportJob' {clientToken} -> clientToken) (\s@StartReferenceImportJob' {} a -> s {clientToken = a} :: StartReferenceImportJob)
+
+-- | The job\'s reference store ID.
+startReferenceImportJob_referenceStoreId :: Lens.Lens' StartReferenceImportJob Prelude.Text
+startReferenceImportJob_referenceStoreId = Lens.lens (\StartReferenceImportJob' {referenceStoreId} -> referenceStoreId) (\s@StartReferenceImportJob' {} a -> s {referenceStoreId = a} :: StartReferenceImportJob)
+
+-- | A service role for the job.
+startReferenceImportJob_roleArn :: Lens.Lens' StartReferenceImportJob Prelude.Text
+startReferenceImportJob_roleArn = Lens.lens (\StartReferenceImportJob' {roleArn} -> roleArn) (\s@StartReferenceImportJob' {} a -> s {roleArn = a} :: StartReferenceImportJob)
+
+-- | Sources for the job.
+startReferenceImportJob_sources :: Lens.Lens' StartReferenceImportJob (Prelude.NonEmpty StartReferenceImportJobSourceItem)
+startReferenceImportJob_sources = Lens.lens (\StartReferenceImportJob' {sources} -> sources) (\s@StartReferenceImportJob' {} a -> s {sources = a} :: StartReferenceImportJob) Prelude.. Lens.coerced
+
+instance Core.AWSRequest StartReferenceImportJob where
+  type
+    AWSResponse StartReferenceImportJob =
+      StartReferenceImportJobResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          StartReferenceImportJobResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "referenceStoreId")
+            Prelude.<*> (x Data..:> "roleArn")
+            Prelude.<*> (x Data..:> "status")
+      )
+
+instance Prelude.Hashable StartReferenceImportJob where
+  hashWithSalt _salt StartReferenceImportJob' {..} =
+    _salt
+      `Prelude.hashWithSalt` clientToken
+      `Prelude.hashWithSalt` referenceStoreId
+      `Prelude.hashWithSalt` roleArn
+      `Prelude.hashWithSalt` sources
+
+instance Prelude.NFData StartReferenceImportJob where
+  rnf StartReferenceImportJob' {..} =
+    Prelude.rnf clientToken
+      `Prelude.seq` Prelude.rnf referenceStoreId
+      `Prelude.seq` Prelude.rnf roleArn
+      `Prelude.seq` Prelude.rnf sources
+
+instance Data.ToHeaders StartReferenceImportJob where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON StartReferenceImportJob where
+  toJSON StartReferenceImportJob' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("clientToken" Data..=) Prelude.<$> clientToken,
+            Prelude.Just ("roleArn" Data..= roleArn),
+            Prelude.Just ("sources" Data..= sources)
+          ]
+      )
+
+instance Data.ToPath StartReferenceImportJob where
+  toPath StartReferenceImportJob' {..} =
+    Prelude.mconcat
+      [ "/referencestore/",
+        Data.toBS referenceStoreId,
+        "/importjob"
+      ]
+
+instance Data.ToQuery StartReferenceImportJob where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newStartReferenceImportJobResponse' smart constructor.
+data StartReferenceImportJobResponse = StartReferenceImportJobResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | When the job was created.
+    creationTime :: Data.ISO8601,
+    -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s reference store ID.
+    referenceStoreId :: Prelude.Text,
+    -- | The job\'s service role ARN.
+    roleArn :: Prelude.Text,
+    -- | The job\'s status.
+    status :: ReferenceImportJobStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StartReferenceImportJobResponse' 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', 'startReferenceImportJobResponse_httpStatus' - The response's http status code.
+--
+-- 'creationTime', 'startReferenceImportJobResponse_creationTime' - When the job was created.
+--
+-- 'id', 'startReferenceImportJobResponse_id' - The job\'s ID.
+--
+-- 'referenceStoreId', 'startReferenceImportJobResponse_referenceStoreId' - The job\'s reference store ID.
+--
+-- 'roleArn', 'startReferenceImportJobResponse_roleArn' - The job\'s service role ARN.
+--
+-- 'status', 'startReferenceImportJobResponse_status' - The job\'s status.
+newStartReferenceImportJobResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'referenceStoreId'
+  Prelude.Text ->
+  -- | 'roleArn'
+  Prelude.Text ->
+  -- | 'status'
+  ReferenceImportJobStatus ->
+  StartReferenceImportJobResponse
+newStartReferenceImportJobResponse
+  pHttpStatus_
+  pCreationTime_
+  pId_
+  pReferenceStoreId_
+  pRoleArn_
+  pStatus_ =
+    StartReferenceImportJobResponse'
+      { httpStatus =
+          pHttpStatus_,
+        creationTime =
+          Data._Time Lens.# pCreationTime_,
+        id = pId_,
+        referenceStoreId = pReferenceStoreId_,
+        roleArn = pRoleArn_,
+        status = pStatus_
+      }
+
+-- | The response's http status code.
+startReferenceImportJobResponse_httpStatus :: Lens.Lens' StartReferenceImportJobResponse Prelude.Int
+startReferenceImportJobResponse_httpStatus = Lens.lens (\StartReferenceImportJobResponse' {httpStatus} -> httpStatus) (\s@StartReferenceImportJobResponse' {} a -> s {httpStatus = a} :: StartReferenceImportJobResponse)
+
+-- | When the job was created.
+startReferenceImportJobResponse_creationTime :: Lens.Lens' StartReferenceImportJobResponse Prelude.UTCTime
+startReferenceImportJobResponse_creationTime = Lens.lens (\StartReferenceImportJobResponse' {creationTime} -> creationTime) (\s@StartReferenceImportJobResponse' {} a -> s {creationTime = a} :: StartReferenceImportJobResponse) Prelude.. Data._Time
+
+-- | The job\'s ID.
+startReferenceImportJobResponse_id :: Lens.Lens' StartReferenceImportJobResponse Prelude.Text
+startReferenceImportJobResponse_id = Lens.lens (\StartReferenceImportJobResponse' {id} -> id) (\s@StartReferenceImportJobResponse' {} a -> s {id = a} :: StartReferenceImportJobResponse)
+
+-- | The job\'s reference store ID.
+startReferenceImportJobResponse_referenceStoreId :: Lens.Lens' StartReferenceImportJobResponse Prelude.Text
+startReferenceImportJobResponse_referenceStoreId = Lens.lens (\StartReferenceImportJobResponse' {referenceStoreId} -> referenceStoreId) (\s@StartReferenceImportJobResponse' {} a -> s {referenceStoreId = a} :: StartReferenceImportJobResponse)
+
+-- | The job\'s service role ARN.
+startReferenceImportJobResponse_roleArn :: Lens.Lens' StartReferenceImportJobResponse Prelude.Text
+startReferenceImportJobResponse_roleArn = Lens.lens (\StartReferenceImportJobResponse' {roleArn} -> roleArn) (\s@StartReferenceImportJobResponse' {} a -> s {roleArn = a} :: StartReferenceImportJobResponse)
+
+-- | The job\'s status.
+startReferenceImportJobResponse_status :: Lens.Lens' StartReferenceImportJobResponse ReferenceImportJobStatus
+startReferenceImportJobResponse_status = Lens.lens (\StartReferenceImportJobResponse' {status} -> status) (\s@StartReferenceImportJobResponse' {} a -> s {status = a} :: StartReferenceImportJobResponse)
+
+instance
+  Prelude.NFData
+    StartReferenceImportJobResponse
+  where
+  rnf StartReferenceImportJobResponse' {..} =
+    Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf referenceStoreId
+      `Prelude.seq` Prelude.rnf roleArn
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/StartRun.hs b/gen/Amazonka/Omics/StartRun.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/StartRun.hs
@@ -0,0 +1,361 @@
+{-# 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.Omics.StartRun
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Starts a run.
+module Amazonka.Omics.StartRun
+  ( -- * Creating a Request
+    StartRun (..),
+    newStartRun,
+
+    -- * Request Lenses
+    startRun_logLevel,
+    startRun_name,
+    startRun_outputUri,
+    startRun_parameters,
+    startRun_priority,
+    startRun_runGroupId,
+    startRun_runId,
+    startRun_storageCapacity,
+    startRun_tags,
+    startRun_workflowId,
+    startRun_workflowType,
+    startRun_requestId,
+    startRun_roleArn,
+
+    -- * Destructuring the Response
+    StartRunResponse (..),
+    newStartRunResponse,
+
+    -- * Response Lenses
+    startRunResponse_arn,
+    startRunResponse_id,
+    startRunResponse_status,
+    startRunResponse_tags,
+    startRunResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newStartRun' smart constructor.
+data StartRun = StartRun'
+  { -- | A log level for the run.
+    logLevel :: Prelude.Maybe RunLogLevel,
+    -- | A name for the run.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | An output URI for the run.
+    outputUri :: Prelude.Maybe Prelude.Text,
+    -- | Parameters for the run.
+    parameters :: Prelude.Maybe RunParameters,
+    -- | A priority for the run.
+    priority :: Prelude.Maybe Prelude.Natural,
+    -- | The run\'s group ID.
+    runGroupId :: Prelude.Maybe Prelude.Text,
+    -- | The run\'s ID.
+    runId :: Prelude.Maybe Prelude.Text,
+    -- | A storage capacity for the run.
+    storageCapacity :: Prelude.Maybe Prelude.Natural,
+    -- | Tags for the run.
+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | The run\'s workflow ID.
+    workflowId :: Prelude.Maybe Prelude.Text,
+    -- | The run\'s workflows type.
+    workflowType :: Prelude.Maybe WorkflowType,
+    -- | A request ID for the run.
+    requestId :: Prelude.Text,
+    -- | A service role for the run.
+    roleArn :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StartRun' 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:
+--
+-- 'logLevel', 'startRun_logLevel' - A log level for the run.
+--
+-- 'name', 'startRun_name' - A name for the run.
+--
+-- 'outputUri', 'startRun_outputUri' - An output URI for the run.
+--
+-- 'parameters', 'startRun_parameters' - Parameters for the run.
+--
+-- 'priority', 'startRun_priority' - A priority for the run.
+--
+-- 'runGroupId', 'startRun_runGroupId' - The run\'s group ID.
+--
+-- 'runId', 'startRun_runId' - The run\'s ID.
+--
+-- 'storageCapacity', 'startRun_storageCapacity' - A storage capacity for the run.
+--
+-- 'tags', 'startRun_tags' - Tags for the run.
+--
+-- 'workflowId', 'startRun_workflowId' - The run\'s workflow ID.
+--
+-- 'workflowType', 'startRun_workflowType' - The run\'s workflows type.
+--
+-- 'requestId', 'startRun_requestId' - A request ID for the run.
+--
+-- 'roleArn', 'startRun_roleArn' - A service role for the run.
+newStartRun ::
+  -- | 'requestId'
+  Prelude.Text ->
+  -- | 'roleArn'
+  Prelude.Text ->
+  StartRun
+newStartRun pRequestId_ pRoleArn_ =
+  StartRun'
+    { logLevel = Prelude.Nothing,
+      name = Prelude.Nothing,
+      outputUri = Prelude.Nothing,
+      parameters = Prelude.Nothing,
+      priority = Prelude.Nothing,
+      runGroupId = Prelude.Nothing,
+      runId = Prelude.Nothing,
+      storageCapacity = Prelude.Nothing,
+      tags = Prelude.Nothing,
+      workflowId = Prelude.Nothing,
+      workflowType = Prelude.Nothing,
+      requestId = pRequestId_,
+      roleArn = pRoleArn_
+    }
+
+-- | A log level for the run.
+startRun_logLevel :: Lens.Lens' StartRun (Prelude.Maybe RunLogLevel)
+startRun_logLevel = Lens.lens (\StartRun' {logLevel} -> logLevel) (\s@StartRun' {} a -> s {logLevel = a} :: StartRun)
+
+-- | A name for the run.
+startRun_name :: Lens.Lens' StartRun (Prelude.Maybe Prelude.Text)
+startRun_name = Lens.lens (\StartRun' {name} -> name) (\s@StartRun' {} a -> s {name = a} :: StartRun)
+
+-- | An output URI for the run.
+startRun_outputUri :: Lens.Lens' StartRun (Prelude.Maybe Prelude.Text)
+startRun_outputUri = Lens.lens (\StartRun' {outputUri} -> outputUri) (\s@StartRun' {} a -> s {outputUri = a} :: StartRun)
+
+-- | Parameters for the run.
+startRun_parameters :: Lens.Lens' StartRun (Prelude.Maybe RunParameters)
+startRun_parameters = Lens.lens (\StartRun' {parameters} -> parameters) (\s@StartRun' {} a -> s {parameters = a} :: StartRun)
+
+-- | A priority for the run.
+startRun_priority :: Lens.Lens' StartRun (Prelude.Maybe Prelude.Natural)
+startRun_priority = Lens.lens (\StartRun' {priority} -> priority) (\s@StartRun' {} a -> s {priority = a} :: StartRun)
+
+-- | The run\'s group ID.
+startRun_runGroupId :: Lens.Lens' StartRun (Prelude.Maybe Prelude.Text)
+startRun_runGroupId = Lens.lens (\StartRun' {runGroupId} -> runGroupId) (\s@StartRun' {} a -> s {runGroupId = a} :: StartRun)
+
+-- | The run\'s ID.
+startRun_runId :: Lens.Lens' StartRun (Prelude.Maybe Prelude.Text)
+startRun_runId = Lens.lens (\StartRun' {runId} -> runId) (\s@StartRun' {} a -> s {runId = a} :: StartRun)
+
+-- | A storage capacity for the run.
+startRun_storageCapacity :: Lens.Lens' StartRun (Prelude.Maybe Prelude.Natural)
+startRun_storageCapacity = Lens.lens (\StartRun' {storageCapacity} -> storageCapacity) (\s@StartRun' {} a -> s {storageCapacity = a} :: StartRun)
+
+-- | Tags for the run.
+startRun_tags :: Lens.Lens' StartRun (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+startRun_tags = Lens.lens (\StartRun' {tags} -> tags) (\s@StartRun' {} a -> s {tags = a} :: StartRun) Prelude.. Lens.mapping Lens.coerced
+
+-- | The run\'s workflow ID.
+startRun_workflowId :: Lens.Lens' StartRun (Prelude.Maybe Prelude.Text)
+startRun_workflowId = Lens.lens (\StartRun' {workflowId} -> workflowId) (\s@StartRun' {} a -> s {workflowId = a} :: StartRun)
+
+-- | The run\'s workflows type.
+startRun_workflowType :: Lens.Lens' StartRun (Prelude.Maybe WorkflowType)
+startRun_workflowType = Lens.lens (\StartRun' {workflowType} -> workflowType) (\s@StartRun' {} a -> s {workflowType = a} :: StartRun)
+
+-- | A request ID for the run.
+startRun_requestId :: Lens.Lens' StartRun Prelude.Text
+startRun_requestId = Lens.lens (\StartRun' {requestId} -> requestId) (\s@StartRun' {} a -> s {requestId = a} :: StartRun)
+
+-- | A service role for the run.
+startRun_roleArn :: Lens.Lens' StartRun Prelude.Text
+startRun_roleArn = Lens.lens (\StartRun' {roleArn} -> roleArn) (\s@StartRun' {} a -> s {roleArn = a} :: StartRun)
+
+instance Core.AWSRequest StartRun where
+  type AWSResponse StartRun = StartRunResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          StartRunResponse'
+            Prelude.<$> (x Data..?> "arn")
+            Prelude.<*> (x Data..?> "id")
+            Prelude.<*> (x Data..?> "status")
+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable StartRun where
+  hashWithSalt _salt StartRun' {..} =
+    _salt
+      `Prelude.hashWithSalt` logLevel
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` outputUri
+      `Prelude.hashWithSalt` parameters
+      `Prelude.hashWithSalt` priority
+      `Prelude.hashWithSalt` runGroupId
+      `Prelude.hashWithSalt` runId
+      `Prelude.hashWithSalt` storageCapacity
+      `Prelude.hashWithSalt` tags
+      `Prelude.hashWithSalt` workflowId
+      `Prelude.hashWithSalt` workflowType
+      `Prelude.hashWithSalt` requestId
+      `Prelude.hashWithSalt` roleArn
+
+instance Prelude.NFData StartRun where
+  rnf StartRun' {..} =
+    Prelude.rnf logLevel
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf outputUri
+      `Prelude.seq` Prelude.rnf parameters
+      `Prelude.seq` Prelude.rnf priority
+      `Prelude.seq` Prelude.rnf runGroupId
+      `Prelude.seq` Prelude.rnf runId
+      `Prelude.seq` Prelude.rnf storageCapacity
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf workflowId
+      `Prelude.seq` Prelude.rnf workflowType
+      `Prelude.seq` Prelude.rnf requestId
+      `Prelude.seq` Prelude.rnf roleArn
+
+instance Data.ToHeaders StartRun where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON StartRun where
+  toJSON StartRun' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("logLevel" Data..=) Prelude.<$> logLevel,
+            ("name" Data..=) Prelude.<$> name,
+            ("outputUri" Data..=) Prelude.<$> outputUri,
+            ("parameters" Data..=) Prelude.<$> parameters,
+            ("priority" Data..=) Prelude.<$> priority,
+            ("runGroupId" Data..=) Prelude.<$> runGroupId,
+            ("runId" Data..=) Prelude.<$> runId,
+            ("storageCapacity" Data..=)
+              Prelude.<$> storageCapacity,
+            ("tags" Data..=) Prelude.<$> tags,
+            ("workflowId" Data..=) Prelude.<$> workflowId,
+            ("workflowType" Data..=) Prelude.<$> workflowType,
+            Prelude.Just ("requestId" Data..= requestId),
+            Prelude.Just ("roleArn" Data..= roleArn)
+          ]
+      )
+
+instance Data.ToPath StartRun where
+  toPath = Prelude.const "/run"
+
+instance Data.ToQuery StartRun where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newStartRunResponse' smart constructor.
+data StartRunResponse = StartRunResponse'
+  { -- | The run\'s ARN.
+    arn :: Prelude.Maybe Prelude.Text,
+    -- | The run\'s ID.
+    id :: Prelude.Maybe Prelude.Text,
+    -- | The run\'s status.
+    status :: Prelude.Maybe RunStatus,
+    -- | The run\'s tags.
+    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 'StartRunResponse' 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', 'startRunResponse_arn' - The run\'s ARN.
+--
+-- 'id', 'startRunResponse_id' - The run\'s ID.
+--
+-- 'status', 'startRunResponse_status' - The run\'s status.
+--
+-- 'tags', 'startRunResponse_tags' - The run\'s tags.
+--
+-- 'httpStatus', 'startRunResponse_httpStatus' - The response's http status code.
+newStartRunResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  StartRunResponse
+newStartRunResponse pHttpStatus_ =
+  StartRunResponse'
+    { arn = Prelude.Nothing,
+      id = Prelude.Nothing,
+      status = Prelude.Nothing,
+      tags = Prelude.Nothing,
+      httpStatus = pHttpStatus_
+    }
+
+-- | The run\'s ARN.
+startRunResponse_arn :: Lens.Lens' StartRunResponse (Prelude.Maybe Prelude.Text)
+startRunResponse_arn = Lens.lens (\StartRunResponse' {arn} -> arn) (\s@StartRunResponse' {} a -> s {arn = a} :: StartRunResponse)
+
+-- | The run\'s ID.
+startRunResponse_id :: Lens.Lens' StartRunResponse (Prelude.Maybe Prelude.Text)
+startRunResponse_id = Lens.lens (\StartRunResponse' {id} -> id) (\s@StartRunResponse' {} a -> s {id = a} :: StartRunResponse)
+
+-- | The run\'s status.
+startRunResponse_status :: Lens.Lens' StartRunResponse (Prelude.Maybe RunStatus)
+startRunResponse_status = Lens.lens (\StartRunResponse' {status} -> status) (\s@StartRunResponse' {} a -> s {status = a} :: StartRunResponse)
+
+-- | The run\'s tags.
+startRunResponse_tags :: Lens.Lens' StartRunResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+startRunResponse_tags = Lens.lens (\StartRunResponse' {tags} -> tags) (\s@StartRunResponse' {} a -> s {tags = a} :: StartRunResponse) Prelude.. Lens.mapping Lens.coerced
+
+-- | The response's http status code.
+startRunResponse_httpStatus :: Lens.Lens' StartRunResponse Prelude.Int
+startRunResponse_httpStatus = Lens.lens (\StartRunResponse' {httpStatus} -> httpStatus) (\s@StartRunResponse' {} a -> s {httpStatus = a} :: StartRunResponse)
+
+instance Prelude.NFData StartRunResponse where
+  rnf StartRunResponse' {..} =
+    Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/StartVariantImportJob.hs b/gen/Amazonka/Omics/StartVariantImportJob.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/StartVariantImportJob.hs
@@ -0,0 +1,220 @@
+{-# 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.Omics.StartVariantImportJob
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Starts a variant import job.
+module Amazonka.Omics.StartVariantImportJob
+  ( -- * Creating a Request
+    StartVariantImportJob (..),
+    newStartVariantImportJob,
+
+    -- * Request Lenses
+    startVariantImportJob_runLeftNormalization,
+    startVariantImportJob_destinationName,
+    startVariantImportJob_items,
+    startVariantImportJob_roleArn,
+
+    -- * Destructuring the Response
+    StartVariantImportJobResponse (..),
+    newStartVariantImportJobResponse,
+
+    -- * Response Lenses
+    startVariantImportJobResponse_httpStatus,
+    startVariantImportJobResponse_jobId,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newStartVariantImportJob' smart constructor.
+data StartVariantImportJob = StartVariantImportJob'
+  { -- | The job\'s left normalization setting.
+    runLeftNormalization :: Prelude.Maybe Prelude.Bool,
+    -- | The destination variant store for the job.
+    destinationName :: Prelude.Text,
+    -- | Items to import.
+    items :: Prelude.NonEmpty VariantImportItemSource,
+    -- | A service role for the job.
+    roleArn :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StartVariantImportJob' 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:
+--
+-- 'runLeftNormalization', 'startVariantImportJob_runLeftNormalization' - The job\'s left normalization setting.
+--
+-- 'destinationName', 'startVariantImportJob_destinationName' - The destination variant store for the job.
+--
+-- 'items', 'startVariantImportJob_items' - Items to import.
+--
+-- 'roleArn', 'startVariantImportJob_roleArn' - A service role for the job.
+newStartVariantImportJob ::
+  -- | 'destinationName'
+  Prelude.Text ->
+  -- | 'items'
+  Prelude.NonEmpty VariantImportItemSource ->
+  -- | 'roleArn'
+  Prelude.Text ->
+  StartVariantImportJob
+newStartVariantImportJob
+  pDestinationName_
+  pItems_
+  pRoleArn_ =
+    StartVariantImportJob'
+      { runLeftNormalization =
+          Prelude.Nothing,
+        destinationName = pDestinationName_,
+        items = Lens.coerced Lens.# pItems_,
+        roleArn = pRoleArn_
+      }
+
+-- | The job\'s left normalization setting.
+startVariantImportJob_runLeftNormalization :: Lens.Lens' StartVariantImportJob (Prelude.Maybe Prelude.Bool)
+startVariantImportJob_runLeftNormalization = Lens.lens (\StartVariantImportJob' {runLeftNormalization} -> runLeftNormalization) (\s@StartVariantImportJob' {} a -> s {runLeftNormalization = a} :: StartVariantImportJob)
+
+-- | The destination variant store for the job.
+startVariantImportJob_destinationName :: Lens.Lens' StartVariantImportJob Prelude.Text
+startVariantImportJob_destinationName = Lens.lens (\StartVariantImportJob' {destinationName} -> destinationName) (\s@StartVariantImportJob' {} a -> s {destinationName = a} :: StartVariantImportJob)
+
+-- | Items to import.
+startVariantImportJob_items :: Lens.Lens' StartVariantImportJob (Prelude.NonEmpty VariantImportItemSource)
+startVariantImportJob_items = Lens.lens (\StartVariantImportJob' {items} -> items) (\s@StartVariantImportJob' {} a -> s {items = a} :: StartVariantImportJob) Prelude.. Lens.coerced
+
+-- | A service role for the job.
+startVariantImportJob_roleArn :: Lens.Lens' StartVariantImportJob Prelude.Text
+startVariantImportJob_roleArn = Lens.lens (\StartVariantImportJob' {roleArn} -> roleArn) (\s@StartVariantImportJob' {} a -> s {roleArn = a} :: StartVariantImportJob)
+
+instance Core.AWSRequest StartVariantImportJob where
+  type
+    AWSResponse StartVariantImportJob =
+      StartVariantImportJobResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          StartVariantImportJobResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "jobId")
+      )
+
+instance Prelude.Hashable StartVariantImportJob where
+  hashWithSalt _salt StartVariantImportJob' {..} =
+    _salt
+      `Prelude.hashWithSalt` runLeftNormalization
+      `Prelude.hashWithSalt` destinationName
+      `Prelude.hashWithSalt` items
+      `Prelude.hashWithSalt` roleArn
+
+instance Prelude.NFData StartVariantImportJob where
+  rnf StartVariantImportJob' {..} =
+    Prelude.rnf runLeftNormalization
+      `Prelude.seq` Prelude.rnf destinationName
+      `Prelude.seq` Prelude.rnf items
+      `Prelude.seq` Prelude.rnf roleArn
+
+instance Data.ToHeaders StartVariantImportJob where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON StartVariantImportJob where
+  toJSON StartVariantImportJob' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("runLeftNormalization" Data..=)
+              Prelude.<$> runLeftNormalization,
+            Prelude.Just
+              ("destinationName" Data..= destinationName),
+            Prelude.Just ("items" Data..= items),
+            Prelude.Just ("roleArn" Data..= roleArn)
+          ]
+      )
+
+instance Data.ToPath StartVariantImportJob where
+  toPath = Prelude.const "/import/variant"
+
+instance Data.ToQuery StartVariantImportJob where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newStartVariantImportJobResponse' smart constructor.
+data StartVariantImportJobResponse = StartVariantImportJobResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | The job\'s ID.
+    jobId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StartVariantImportJobResponse' 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', 'startVariantImportJobResponse_httpStatus' - The response's http status code.
+--
+-- 'jobId', 'startVariantImportJobResponse_jobId' - The job\'s ID.
+newStartVariantImportJobResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'jobId'
+  Prelude.Text ->
+  StartVariantImportJobResponse
+newStartVariantImportJobResponse pHttpStatus_ pJobId_ =
+  StartVariantImportJobResponse'
+    { httpStatus =
+        pHttpStatus_,
+      jobId = pJobId_
+    }
+
+-- | The response's http status code.
+startVariantImportJobResponse_httpStatus :: Lens.Lens' StartVariantImportJobResponse Prelude.Int
+startVariantImportJobResponse_httpStatus = Lens.lens (\StartVariantImportJobResponse' {httpStatus} -> httpStatus) (\s@StartVariantImportJobResponse' {} a -> s {httpStatus = a} :: StartVariantImportJobResponse)
+
+-- | The job\'s ID.
+startVariantImportJobResponse_jobId :: Lens.Lens' StartVariantImportJobResponse Prelude.Text
+startVariantImportJobResponse_jobId = Lens.lens (\StartVariantImportJobResponse' {jobId} -> jobId) (\s@StartVariantImportJobResponse' {} a -> s {jobId = a} :: StartVariantImportJobResponse)
+
+instance Prelude.NFData StartVariantImportJobResponse where
+  rnf StartVariantImportJobResponse' {..} =
+    Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf jobId
diff --git a/gen/Amazonka/Omics/TagResource.hs b/gen/Amazonka/Omics/TagResource.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/TagResource.hs
@@ -0,0 +1,163 @@
+{-# 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.Omics.TagResource
+-- Copyright   : (c) 2013-2023 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Tags a resource.
+module Amazonka.Omics.TagResource
+  ( -- * Creating a Request
+    TagResource (..),
+    newTagResource,
+
+    -- * Request Lenses
+    tagResource_resourceArn,
+    tagResource_tags,
+
+    -- * Destructuring the Response
+    TagResourceResponse (..),
+    newTagResourceResponse,
+
+    -- * Response Lenses
+    tagResourceResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newTagResource' smart constructor.
+data TagResource = TagResource'
+  { -- | The resource\'s ARN.
+    resourceArn :: Prelude.Text,
+    -- | Tags for the resource.
+    tags :: Prelude.HashMap Prelude.Text Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'TagResource' 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:
+--
+-- 'resourceArn', 'tagResource_resourceArn' - The resource\'s ARN.
+--
+-- 'tags', 'tagResource_tags' - Tags for the resource.
+newTagResource ::
+  -- | 'resourceArn'
+  Prelude.Text ->
+  TagResource
+newTagResource pResourceArn_ =
+  TagResource'
+    { resourceArn = pResourceArn_,
+      tags = Prelude.mempty
+    }
+
+-- | The resource\'s ARN.
+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text
+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)
+
+-- | Tags for the resource.
+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)
+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced
+
+instance Core.AWSRequest TagResource where
+  type AWSResponse TagResource = TagResourceResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveEmpty
+      ( \s h x ->
+          TagResourceResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable TagResource where
+  hashWithSalt _salt TagResource' {..} =
+    _salt
+      `Prelude.hashWithSalt` resourceArn
+      `Prelude.hashWithSalt` tags
+
+instance Prelude.NFData TagResource where
+  rnf TagResource' {..} =
+    Prelude.rnf resourceArn
+      `Prelude.seq` Prelude.rnf tags
+
+instance Data.ToHeaders TagResource where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON TagResource where
+  toJSON TagResource' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [Prelude.Just ("tags" Data..= tags)]
+      )
+
+instance Data.ToPath TagResource where
+  toPath TagResource' {..} =
+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]
+
+instance Data.ToQuery TagResource where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newTagResourceResponse' smart constructor.
+data TagResourceResponse = TagResourceResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'TagResourceResponse' 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', 'tagResourceResponse_httpStatus' - The response's http status code.
+newTagResourceResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  TagResourceResponse
+newTagResourceResponse pHttpStatus_ =
+  TagResourceResponse' {httpStatus = pHttpStatus_}
+
+-- | The response's http status code.
+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int
+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)
+
+instance Prelude.NFData TagResourceResponse where
+  rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/Types.hs b/gen/Amazonka/Omics/Types.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types.hs
@@ -0,0 +1,815 @@
+{-# 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.Omics.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.Omics.Types
+  ( -- * Service Configuration
+    defaultService,
+
+    -- * Errors
+    _AccessDeniedException,
+    _ConflictException,
+    _InternalServerException,
+    _RangeNotSatisfiableException,
+    _RequestTimeoutException,
+    _ResourceNotFoundException,
+    _ServiceQuotaExceededException,
+    _ThrottlingException,
+    _ValidationException,
+
+    -- * AnnotationType
+    AnnotationType (..),
+
+    -- * EncryptionType
+    EncryptionType (..),
+
+    -- * FileType
+    FileType (..),
+
+    -- * FormatToHeaderKey
+    FormatToHeaderKey (..),
+
+    -- * JobStatus
+    JobStatus (..),
+
+    -- * ReadSetActivationJobItemStatus
+    ReadSetActivationJobItemStatus (..),
+
+    -- * ReadSetActivationJobStatus
+    ReadSetActivationJobStatus (..),
+
+    -- * ReadSetExportJobItemStatus
+    ReadSetExportJobItemStatus (..),
+
+    -- * ReadSetExportJobStatus
+    ReadSetExportJobStatus (..),
+
+    -- * ReadSetFile
+    ReadSetFile (..),
+
+    -- * ReadSetImportJobItemStatus
+    ReadSetImportJobItemStatus (..),
+
+    -- * ReadSetImportJobStatus
+    ReadSetImportJobStatus (..),
+
+    -- * ReadSetStatus
+    ReadSetStatus (..),
+
+    -- * ReferenceFile
+    ReferenceFile (..),
+
+    -- * ReferenceImportJobItemStatus
+    ReferenceImportJobItemStatus (..),
+
+    -- * ReferenceImportJobStatus
+    ReferenceImportJobStatus (..),
+
+    -- * ReferenceStatus
+    ReferenceStatus (..),
+
+    -- * RunExport
+    RunExport (..),
+
+    -- * RunLogLevel
+    RunLogLevel (..),
+
+    -- * RunStatus
+    RunStatus (..),
+
+    -- * SchemaValueType
+    SchemaValueType (..),
+
+    -- * StoreFormat
+    StoreFormat (..),
+
+    -- * StoreStatus
+    StoreStatus (..),
+
+    -- * TaskStatus
+    TaskStatus (..),
+
+    -- * WorkflowEngine
+    WorkflowEngine (..),
+
+    -- * WorkflowExport
+    WorkflowExport (..),
+
+    -- * WorkflowStatus
+    WorkflowStatus (..),
+
+    -- * WorkflowType
+    WorkflowType (..),
+
+    -- * ActivateReadSetFilter
+    ActivateReadSetFilter (..),
+    newActivateReadSetFilter,
+    activateReadSetFilter_createdAfter,
+    activateReadSetFilter_createdBefore,
+    activateReadSetFilter_status,
+
+    -- * ActivateReadSetJobItem
+    ActivateReadSetJobItem (..),
+    newActivateReadSetJobItem,
+    activateReadSetJobItem_completionTime,
+    activateReadSetJobItem_creationTime,
+    activateReadSetJobItem_id,
+    activateReadSetJobItem_sequenceStoreId,
+    activateReadSetJobItem_status,
+
+    -- * ActivateReadSetSourceItem
+    ActivateReadSetSourceItem (..),
+    newActivateReadSetSourceItem,
+    activateReadSetSourceItem_statusMessage,
+    activateReadSetSourceItem_readSetId,
+    activateReadSetSourceItem_status,
+
+    -- * AnnotationImportItemDetail
+    AnnotationImportItemDetail (..),
+    newAnnotationImportItemDetail,
+    annotationImportItemDetail_jobStatus,
+    annotationImportItemDetail_source,
+
+    -- * AnnotationImportItemSource
+    AnnotationImportItemSource (..),
+    newAnnotationImportItemSource,
+    annotationImportItemSource_source,
+
+    -- * AnnotationImportJobItem
+    AnnotationImportJobItem (..),
+    newAnnotationImportJobItem,
+    annotationImportJobItem_completionTime,
+    annotationImportJobItem_runLeftNormalization,
+    annotationImportJobItem_creationTime,
+    annotationImportJobItem_destinationName,
+    annotationImportJobItem_id,
+    annotationImportJobItem_roleArn,
+    annotationImportJobItem_status,
+    annotationImportJobItem_updateTime,
+
+    -- * AnnotationStoreItem
+    AnnotationStoreItem (..),
+    newAnnotationStoreItem,
+    annotationStoreItem_creationTime,
+    annotationStoreItem_description,
+    annotationStoreItem_id,
+    annotationStoreItem_name,
+    annotationStoreItem_reference,
+    annotationStoreItem_sseConfig,
+    annotationStoreItem_status,
+    annotationStoreItem_statusMessage,
+    annotationStoreItem_storeArn,
+    annotationStoreItem_storeFormat,
+    annotationStoreItem_storeSizeBytes,
+    annotationStoreItem_updateTime,
+
+    -- * ExportReadSet
+    ExportReadSet (..),
+    newExportReadSet,
+    exportReadSet_readSetId,
+
+    -- * ExportReadSetDetail
+    ExportReadSetDetail (..),
+    newExportReadSetDetail,
+    exportReadSetDetail_statusMessage,
+    exportReadSetDetail_id,
+    exportReadSetDetail_status,
+
+    -- * ExportReadSetFilter
+    ExportReadSetFilter (..),
+    newExportReadSetFilter,
+    exportReadSetFilter_createdAfter,
+    exportReadSetFilter_createdBefore,
+    exportReadSetFilter_status,
+
+    -- * ExportReadSetJobDetail
+    ExportReadSetJobDetail (..),
+    newExportReadSetJobDetail,
+    exportReadSetJobDetail_completionTime,
+    exportReadSetJobDetail_creationTime,
+    exportReadSetJobDetail_destination,
+    exportReadSetJobDetail_id,
+    exportReadSetJobDetail_sequenceStoreId,
+    exportReadSetJobDetail_status,
+
+    -- * FileInformation
+    FileInformation (..),
+    newFileInformation,
+    fileInformation_contentLength,
+    fileInformation_partSize,
+    fileInformation_totalParts,
+
+    -- * FormatOptions
+    FormatOptions (..),
+    newFormatOptions,
+    formatOptions_tsvOptions,
+    formatOptions_vcfOptions,
+
+    -- * ImportReadSetFilter
+    ImportReadSetFilter (..),
+    newImportReadSetFilter,
+    importReadSetFilter_createdAfter,
+    importReadSetFilter_createdBefore,
+    importReadSetFilter_status,
+
+    -- * ImportReadSetJobItem
+    ImportReadSetJobItem (..),
+    newImportReadSetJobItem,
+    importReadSetJobItem_completionTime,
+    importReadSetJobItem_creationTime,
+    importReadSetJobItem_id,
+    importReadSetJobItem_roleArn,
+    importReadSetJobItem_sequenceStoreId,
+    importReadSetJobItem_status,
+
+    -- * ImportReadSetSourceItem
+    ImportReadSetSourceItem (..),
+    newImportReadSetSourceItem,
+    importReadSetSourceItem_description,
+    importReadSetSourceItem_generatedFrom,
+    importReadSetSourceItem_name,
+    importReadSetSourceItem_referenceArn,
+    importReadSetSourceItem_statusMessage,
+    importReadSetSourceItem_tags,
+    importReadSetSourceItem_sampleId,
+    importReadSetSourceItem_sourceFileType,
+    importReadSetSourceItem_sourceFiles,
+    importReadSetSourceItem_status,
+    importReadSetSourceItem_subjectId,
+
+    -- * ImportReferenceFilter
+    ImportReferenceFilter (..),
+    newImportReferenceFilter,
+    importReferenceFilter_createdAfter,
+    importReferenceFilter_createdBefore,
+    importReferenceFilter_status,
+
+    -- * ImportReferenceJobItem
+    ImportReferenceJobItem (..),
+    newImportReferenceJobItem,
+    importReferenceJobItem_completionTime,
+    importReferenceJobItem_creationTime,
+    importReferenceJobItem_id,
+    importReferenceJobItem_referenceStoreId,
+    importReferenceJobItem_roleArn,
+    importReferenceJobItem_status,
+
+    -- * ImportReferenceSourceItem
+    ImportReferenceSourceItem (..),
+    newImportReferenceSourceItem,
+    importReferenceSourceItem_description,
+    importReferenceSourceItem_name,
+    importReferenceSourceItem_sourceFile,
+    importReferenceSourceItem_statusMessage,
+    importReferenceSourceItem_tags,
+    importReferenceSourceItem_status,
+
+    -- * ListAnnotationImportJobsFilter
+    ListAnnotationImportJobsFilter (..),
+    newListAnnotationImportJobsFilter,
+    listAnnotationImportJobsFilter_status,
+    listAnnotationImportJobsFilter_storeName,
+
+    -- * ListAnnotationStoresFilter
+    ListAnnotationStoresFilter (..),
+    newListAnnotationStoresFilter,
+    listAnnotationStoresFilter_status,
+
+    -- * ListVariantImportJobsFilter
+    ListVariantImportJobsFilter (..),
+    newListVariantImportJobsFilter,
+    listVariantImportJobsFilter_status,
+    listVariantImportJobsFilter_storeName,
+
+    -- * ListVariantStoresFilter
+    ListVariantStoresFilter (..),
+    newListVariantStoresFilter,
+    listVariantStoresFilter_status,
+
+    -- * ReadOptions
+    ReadOptions (..),
+    newReadOptions,
+    readOptions_comment,
+    readOptions_encoding,
+    readOptions_escape,
+    readOptions_escapeQuotes,
+    readOptions_header,
+    readOptions_lineSep,
+    readOptions_quote,
+    readOptions_quoteAll,
+    readOptions_sep,
+
+    -- * ReadSetBatchError
+    ReadSetBatchError (..),
+    newReadSetBatchError,
+    readSetBatchError_code,
+    readSetBatchError_id,
+    readSetBatchError_message,
+
+    -- * ReadSetFiles
+    ReadSetFiles (..),
+    newReadSetFiles,
+    readSetFiles_index,
+    readSetFiles_source1,
+    readSetFiles_source2,
+
+    -- * ReadSetFilter
+    ReadSetFilter (..),
+    newReadSetFilter,
+    readSetFilter_createdAfter,
+    readSetFilter_createdBefore,
+    readSetFilter_name,
+    readSetFilter_referenceArn,
+    readSetFilter_status,
+
+    -- * ReadSetListItem
+    ReadSetListItem (..),
+    newReadSetListItem,
+    readSetListItem_description,
+    readSetListItem_name,
+    readSetListItem_referenceArn,
+    readSetListItem_sampleId,
+    readSetListItem_sequenceInformation,
+    readSetListItem_subjectId,
+    readSetListItem_arn,
+    readSetListItem_creationTime,
+    readSetListItem_fileType,
+    readSetListItem_id,
+    readSetListItem_sequenceStoreId,
+    readSetListItem_status,
+
+    -- * ReferenceFiles
+    ReferenceFiles (..),
+    newReferenceFiles,
+    referenceFiles_index,
+    referenceFiles_source,
+
+    -- * ReferenceFilter
+    ReferenceFilter (..),
+    newReferenceFilter,
+    referenceFilter_createdAfter,
+    referenceFilter_createdBefore,
+    referenceFilter_md5,
+    referenceFilter_name,
+
+    -- * ReferenceItem
+    ReferenceItem (..),
+    newReferenceItem,
+    referenceItem_referenceArn,
+
+    -- * ReferenceListItem
+    ReferenceListItem (..),
+    newReferenceListItem,
+    referenceListItem_description,
+    referenceListItem_name,
+    referenceListItem_status,
+    referenceListItem_arn,
+    referenceListItem_creationTime,
+    referenceListItem_id,
+    referenceListItem_md5,
+    referenceListItem_referenceStoreId,
+    referenceListItem_updateTime,
+
+    -- * ReferenceStoreDetail
+    ReferenceStoreDetail (..),
+    newReferenceStoreDetail,
+    referenceStoreDetail_description,
+    referenceStoreDetail_name,
+    referenceStoreDetail_sseConfig,
+    referenceStoreDetail_arn,
+    referenceStoreDetail_creationTime,
+    referenceStoreDetail_id,
+
+    -- * ReferenceStoreFilter
+    ReferenceStoreFilter (..),
+    newReferenceStoreFilter,
+    referenceStoreFilter_createdAfter,
+    referenceStoreFilter_createdBefore,
+    referenceStoreFilter_name,
+
+    -- * RunGroupListItem
+    RunGroupListItem (..),
+    newRunGroupListItem,
+    runGroupListItem_arn,
+    runGroupListItem_creationTime,
+    runGroupListItem_id,
+    runGroupListItem_maxCpus,
+    runGroupListItem_maxDuration,
+    runGroupListItem_maxRuns,
+    runGroupListItem_name,
+
+    -- * RunListItem
+    RunListItem (..),
+    newRunListItem,
+    runListItem_arn,
+    runListItem_creationTime,
+    runListItem_id,
+    runListItem_name,
+    runListItem_priority,
+    runListItem_startTime,
+    runListItem_status,
+    runListItem_stopTime,
+    runListItem_storageCapacity,
+    runListItem_workflowId,
+
+    -- * RunParameters
+    RunParameters (..),
+    newRunParameters,
+
+    -- * SequenceInformation
+    SequenceInformation (..),
+    newSequenceInformation,
+    sequenceInformation_alignment,
+    sequenceInformation_generatedFrom,
+    sequenceInformation_totalBaseCount,
+    sequenceInformation_totalReadCount,
+
+    -- * SequenceStoreDetail
+    SequenceStoreDetail (..),
+    newSequenceStoreDetail,
+    sequenceStoreDetail_description,
+    sequenceStoreDetail_name,
+    sequenceStoreDetail_sseConfig,
+    sequenceStoreDetail_arn,
+    sequenceStoreDetail_creationTime,
+    sequenceStoreDetail_id,
+
+    -- * SequenceStoreFilter
+    SequenceStoreFilter (..),
+    newSequenceStoreFilter,
+    sequenceStoreFilter_createdAfter,
+    sequenceStoreFilter_createdBefore,
+    sequenceStoreFilter_name,
+
+    -- * SourceFiles
+    SourceFiles (..),
+    newSourceFiles,
+    sourceFiles_source2,
+    sourceFiles_source1,
+
+    -- * SseConfig
+    SseConfig (..),
+    newSseConfig,
+    sseConfig_keyArn,
+    sseConfig_type,
+
+    -- * StartReadSetActivationJobSourceItem
+    StartReadSetActivationJobSourceItem (..),
+    newStartReadSetActivationJobSourceItem,
+    startReadSetActivationJobSourceItem_readSetId,
+
+    -- * StartReadSetImportJobSourceItem
+    StartReadSetImportJobSourceItem (..),
+    newStartReadSetImportJobSourceItem,
+    startReadSetImportJobSourceItem_description,
+    startReadSetImportJobSourceItem_generatedFrom,
+    startReadSetImportJobSourceItem_name,
+    startReadSetImportJobSourceItem_tags,
+    startReadSetImportJobSourceItem_referenceArn,
+    startReadSetImportJobSourceItem_sampleId,
+    startReadSetImportJobSourceItem_sourceFileType,
+    startReadSetImportJobSourceItem_sourceFiles,
+    startReadSetImportJobSourceItem_subjectId,
+
+    -- * StartReferenceImportJobSourceItem
+    StartReferenceImportJobSourceItem (..),
+    newStartReferenceImportJobSourceItem,
+    startReferenceImportJobSourceItem_description,
+    startReferenceImportJobSourceItem_tags,
+    startReferenceImportJobSourceItem_name,
+    startReferenceImportJobSourceItem_sourceFile,
+
+    -- * StoreOptions
+    StoreOptions (..),
+    newStoreOptions,
+    storeOptions_tsvStoreOptions,
+
+    -- * TaskListItem
+    TaskListItem (..),
+    newTaskListItem,
+    taskListItem_cpus,
+    taskListItem_creationTime,
+    taskListItem_memory,
+    taskListItem_name,
+    taskListItem_startTime,
+    taskListItem_status,
+    taskListItem_stopTime,
+    taskListItem_taskId,
+
+    -- * TsvOptions
+    TsvOptions (..),
+    newTsvOptions,
+    tsvOptions_readOptions,
+
+    -- * TsvStoreOptions
+    TsvStoreOptions (..),
+    newTsvStoreOptions,
+    tsvStoreOptions_annotationType,
+    tsvStoreOptions_formatToHeader,
+    tsvStoreOptions_schema,
+
+    -- * VariantImportItemDetail
+    VariantImportItemDetail (..),
+    newVariantImportItemDetail,
+    variantImportItemDetail_jobStatus,
+    variantImportItemDetail_source,
+
+    -- * VariantImportItemSource
+    VariantImportItemSource (..),
+    newVariantImportItemSource,
+    variantImportItemSource_source,
+
+    -- * VariantImportJobItem
+    VariantImportJobItem (..),
+    newVariantImportJobItem,
+    variantImportJobItem_completionTime,
+    variantImportJobItem_runLeftNormalization,
+    variantImportJobItem_creationTime,
+    variantImportJobItem_destinationName,
+    variantImportJobItem_id,
+    variantImportJobItem_roleArn,
+    variantImportJobItem_status,
+    variantImportJobItem_updateTime,
+
+    -- * VariantStoreItem
+    VariantStoreItem (..),
+    newVariantStoreItem,
+    variantStoreItem_creationTime,
+    variantStoreItem_description,
+    variantStoreItem_id,
+    variantStoreItem_name,
+    variantStoreItem_reference,
+    variantStoreItem_sseConfig,
+    variantStoreItem_status,
+    variantStoreItem_statusMessage,
+    variantStoreItem_storeArn,
+    variantStoreItem_storeSizeBytes,
+    variantStoreItem_updateTime,
+
+    -- * VcfOptions
+    VcfOptions (..),
+    newVcfOptions,
+    vcfOptions_ignoreFilterField,
+    vcfOptions_ignoreQualField,
+
+    -- * WorkflowListItem
+    WorkflowListItem (..),
+    newWorkflowListItem,
+    workflowListItem_arn,
+    workflowListItem_creationTime,
+    workflowListItem_digest,
+    workflowListItem_id,
+    workflowListItem_name,
+    workflowListItem_status,
+    workflowListItem_type,
+
+    -- * WorkflowParameter
+    WorkflowParameter (..),
+    newWorkflowParameter,
+    workflowParameter_description,
+    workflowParameter_optional,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import Amazonka.Omics.Types.ActivateReadSetFilter
+import Amazonka.Omics.Types.ActivateReadSetJobItem
+import Amazonka.Omics.Types.ActivateReadSetSourceItem
+import Amazonka.Omics.Types.AnnotationImportItemDetail
+import Amazonka.Omics.Types.AnnotationImportItemSource
+import Amazonka.Omics.Types.AnnotationImportJobItem
+import Amazonka.Omics.Types.AnnotationStoreItem
+import Amazonka.Omics.Types.AnnotationType
+import Amazonka.Omics.Types.EncryptionType
+import Amazonka.Omics.Types.ExportReadSet
+import Amazonka.Omics.Types.ExportReadSetDetail
+import Amazonka.Omics.Types.ExportReadSetFilter
+import Amazonka.Omics.Types.ExportReadSetJobDetail
+import Amazonka.Omics.Types.FileInformation
+import Amazonka.Omics.Types.FileType
+import Amazonka.Omics.Types.FormatOptions
+import Amazonka.Omics.Types.FormatToHeaderKey
+import Amazonka.Omics.Types.ImportReadSetFilter
+import Amazonka.Omics.Types.ImportReadSetJobItem
+import Amazonka.Omics.Types.ImportReadSetSourceItem
+import Amazonka.Omics.Types.ImportReferenceFilter
+import Amazonka.Omics.Types.ImportReferenceJobItem
+import Amazonka.Omics.Types.ImportReferenceSourceItem
+import Amazonka.Omics.Types.JobStatus
+import Amazonka.Omics.Types.ListAnnotationImportJobsFilter
+import Amazonka.Omics.Types.ListAnnotationStoresFilter
+import Amazonka.Omics.Types.ListVariantImportJobsFilter
+import Amazonka.Omics.Types.ListVariantStoresFilter
+import Amazonka.Omics.Types.ReadOptions
+import Amazonka.Omics.Types.ReadSetActivationJobItemStatus
+import Amazonka.Omics.Types.ReadSetActivationJobStatus
+import Amazonka.Omics.Types.ReadSetBatchError
+import Amazonka.Omics.Types.ReadSetExportJobItemStatus
+import Amazonka.Omics.Types.ReadSetExportJobStatus
+import Amazonka.Omics.Types.ReadSetFile
+import Amazonka.Omics.Types.ReadSetFiles
+import Amazonka.Omics.Types.ReadSetFilter
+import Amazonka.Omics.Types.ReadSetImportJobItemStatus
+import Amazonka.Omics.Types.ReadSetImportJobStatus
+import Amazonka.Omics.Types.ReadSetListItem
+import Amazonka.Omics.Types.ReadSetStatus
+import Amazonka.Omics.Types.ReferenceFile
+import Amazonka.Omics.Types.ReferenceFiles
+import Amazonka.Omics.Types.ReferenceFilter
+import Amazonka.Omics.Types.ReferenceImportJobItemStatus
+import Amazonka.Omics.Types.ReferenceImportJobStatus
+import Amazonka.Omics.Types.ReferenceItem
+import Amazonka.Omics.Types.ReferenceListItem
+import Amazonka.Omics.Types.ReferenceStatus
+import Amazonka.Omics.Types.ReferenceStoreDetail
+import Amazonka.Omics.Types.ReferenceStoreFilter
+import Amazonka.Omics.Types.RunExport
+import Amazonka.Omics.Types.RunGroupListItem
+import Amazonka.Omics.Types.RunListItem
+import Amazonka.Omics.Types.RunLogLevel
+import Amazonka.Omics.Types.RunParameters
+import Amazonka.Omics.Types.RunStatus
+import Amazonka.Omics.Types.SchemaValueType
+import Amazonka.Omics.Types.SequenceInformation
+import Amazonka.Omics.Types.SequenceStoreDetail
+import Amazonka.Omics.Types.SequenceStoreFilter
+import Amazonka.Omics.Types.SourceFiles
+import Amazonka.Omics.Types.SseConfig
+import Amazonka.Omics.Types.StartReadSetActivationJobSourceItem
+import Amazonka.Omics.Types.StartReadSetImportJobSourceItem
+import Amazonka.Omics.Types.StartReferenceImportJobSourceItem
+import Amazonka.Omics.Types.StoreFormat
+import Amazonka.Omics.Types.StoreOptions
+import Amazonka.Omics.Types.StoreStatus
+import Amazonka.Omics.Types.TaskListItem
+import Amazonka.Omics.Types.TaskStatus
+import Amazonka.Omics.Types.TsvOptions
+import Amazonka.Omics.Types.TsvStoreOptions
+import Amazonka.Omics.Types.VariantImportItemDetail
+import Amazonka.Omics.Types.VariantImportItemSource
+import Amazonka.Omics.Types.VariantImportJobItem
+import Amazonka.Omics.Types.VariantStoreItem
+import Amazonka.Omics.Types.VcfOptions
+import Amazonka.Omics.Types.WorkflowEngine
+import Amazonka.Omics.Types.WorkflowExport
+import Amazonka.Omics.Types.WorkflowListItem
+import Amazonka.Omics.Types.WorkflowParameter
+import Amazonka.Omics.Types.WorkflowStatus
+import Amazonka.Omics.Types.WorkflowType
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Sign.V4 as Sign
+
+-- | API version @2022-11-28@ of the Amazon Omics SDK configuration.
+defaultService :: Core.Service
+defaultService =
+  Core.Service
+    { Core.abbrev = "Omics",
+      Core.signer = Sign.v4,
+      Core.endpointPrefix = "omics",
+      Core.signingName = "omics",
+      Core.version = "2022-11-28",
+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,
+      Core.endpoint = Core.defaultEndpoint defaultService,
+      Core.timeout = Prelude.Just 70,
+      Core.check = Core.statusSuccess,
+      Core.error = Core.parseJSONError "Omics",
+      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
+
+-- | You do not have sufficient access to perform this action.
+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_AccessDeniedException =
+  Core._MatchServiceError
+    defaultService
+    "AccessDeniedException"
+    Prelude.. Core.hasStatus 403
+
+-- | The request cannot be applied to the target resource in its current
+-- state.
+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_ConflictException =
+  Core._MatchServiceError
+    defaultService
+    "ConflictException"
+    Prelude.. Core.hasStatus 409
+
+-- | An unexpected error occurred. Try the request again.
+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_InternalServerException =
+  Core._MatchServiceError
+    defaultService
+    "InternalServerException"
+    Prelude.. Core.hasStatus 500
+
+-- | The ranges specified in the request are not valid.
+_RangeNotSatisfiableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_RangeNotSatisfiableException =
+  Core._MatchServiceError
+    defaultService
+    "RangeNotSatisfiableException"
+    Prelude.. Core.hasStatus 416
+
+-- | The request timed out.
+_RequestTimeoutException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_RequestTimeoutException =
+  Core._MatchServiceError
+    defaultService
+    "RequestTimeoutException"
+    Prelude.. Core.hasStatus 408
+
+-- | The target resource was not found in the current Region.
+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_ResourceNotFoundException =
+  Core._MatchServiceError
+    defaultService
+    "ResourceNotFoundException"
+    Prelude.. Core.hasStatus 404
+
+-- | The request exceeds a service quota.
+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_ServiceQuotaExceededException =
+  Core._MatchServiceError
+    defaultService
+    "ServiceQuotaExceededException"
+    Prelude.. Core.hasStatus 402
+
+-- | The request was denied due to request throttling.
+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_ThrottlingException =
+  Core._MatchServiceError
+    defaultService
+    "ThrottlingException"
+    Prelude.. Core.hasStatus 429
+
+-- | The input fails to satisfy the constraints specified by an AWS service.
+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
+_ValidationException =
+  Core._MatchServiceError
+    defaultService
+    "ValidationException"
+    Prelude.. Core.hasStatus 400
diff --git a/gen/Amazonka/Omics/Types/ActivateReadSetFilter.hs b/gen/Amazonka/Omics/Types/ActivateReadSetFilter.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ActivateReadSetFilter.hs
@@ -0,0 +1,97 @@
+{-# 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.Omics.Types.ActivateReadSetFilter
+-- 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.Omics.Types.ActivateReadSetFilter where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.ReadSetActivationJobStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | A read set activation job filter.
+--
+-- /See:/ 'newActivateReadSetFilter' smart constructor.
+data ActivateReadSetFilter = ActivateReadSetFilter'
+  { -- | The filter\'s start date.
+    createdAfter :: Prelude.Maybe Data.ISO8601,
+    -- | The filter\'s end date.
+    createdBefore :: Prelude.Maybe Data.ISO8601,
+    -- | The filter\'s status.
+    status :: Prelude.Maybe ReadSetActivationJobStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ActivateReadSetFilter' 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:
+--
+-- 'createdAfter', 'activateReadSetFilter_createdAfter' - The filter\'s start date.
+--
+-- 'createdBefore', 'activateReadSetFilter_createdBefore' - The filter\'s end date.
+--
+-- 'status', 'activateReadSetFilter_status' - The filter\'s status.
+newActivateReadSetFilter ::
+  ActivateReadSetFilter
+newActivateReadSetFilter =
+  ActivateReadSetFilter'
+    { createdAfter =
+        Prelude.Nothing,
+      createdBefore = Prelude.Nothing,
+      status = Prelude.Nothing
+    }
+
+-- | The filter\'s start date.
+activateReadSetFilter_createdAfter :: Lens.Lens' ActivateReadSetFilter (Prelude.Maybe Prelude.UTCTime)
+activateReadSetFilter_createdAfter = Lens.lens (\ActivateReadSetFilter' {createdAfter} -> createdAfter) (\s@ActivateReadSetFilter' {} a -> s {createdAfter = a} :: ActivateReadSetFilter) Prelude.. Lens.mapping Data._Time
+
+-- | The filter\'s end date.
+activateReadSetFilter_createdBefore :: Lens.Lens' ActivateReadSetFilter (Prelude.Maybe Prelude.UTCTime)
+activateReadSetFilter_createdBefore = Lens.lens (\ActivateReadSetFilter' {createdBefore} -> createdBefore) (\s@ActivateReadSetFilter' {} a -> s {createdBefore = a} :: ActivateReadSetFilter) Prelude.. Lens.mapping Data._Time
+
+-- | The filter\'s status.
+activateReadSetFilter_status :: Lens.Lens' ActivateReadSetFilter (Prelude.Maybe ReadSetActivationJobStatus)
+activateReadSetFilter_status = Lens.lens (\ActivateReadSetFilter' {status} -> status) (\s@ActivateReadSetFilter' {} a -> s {status = a} :: ActivateReadSetFilter)
+
+instance Prelude.Hashable ActivateReadSetFilter where
+  hashWithSalt _salt ActivateReadSetFilter' {..} =
+    _salt
+      `Prelude.hashWithSalt` createdAfter
+      `Prelude.hashWithSalt` createdBefore
+      `Prelude.hashWithSalt` status
+
+instance Prelude.NFData ActivateReadSetFilter where
+  rnf ActivateReadSetFilter' {..} =
+    Prelude.rnf createdAfter
+      `Prelude.seq` Prelude.rnf createdBefore
+      `Prelude.seq` Prelude.rnf status
+
+instance Data.ToJSON ActivateReadSetFilter where
+  toJSON ActivateReadSetFilter' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("createdAfter" Data..=) Prelude.<$> createdAfter,
+            ("createdBefore" Data..=) Prelude.<$> createdBefore,
+            ("status" Data..=) Prelude.<$> status
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/ActivateReadSetJobItem.hs b/gen/Amazonka/Omics/Types/ActivateReadSetJobItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ActivateReadSetJobItem.hs
@@ -0,0 +1,134 @@
+{-# 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.Omics.Types.ActivateReadSetJobItem
+-- 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.Omics.Types.ActivateReadSetJobItem where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.ReadSetActivationJobStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | A read set activation job.
+--
+-- /See:/ 'newActivateReadSetJobItem' smart constructor.
+data ActivateReadSetJobItem = ActivateReadSetJobItem'
+  { -- | When the job completed.
+    completionTime :: Prelude.Maybe Data.ISO8601,
+    -- | When the job was created.
+    creationTime :: Data.ISO8601,
+    -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text,
+    -- | The job\'s status.
+    status :: ReadSetActivationJobStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ActivateReadSetJobItem' 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:
+--
+-- 'completionTime', 'activateReadSetJobItem_completionTime' - When the job completed.
+--
+-- 'creationTime', 'activateReadSetJobItem_creationTime' - When the job was created.
+--
+-- 'id', 'activateReadSetJobItem_id' - The job\'s ID.
+--
+-- 'sequenceStoreId', 'activateReadSetJobItem_sequenceStoreId' - The job\'s sequence store ID.
+--
+-- 'status', 'activateReadSetJobItem_status' - The job\'s status.
+newActivateReadSetJobItem ::
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  -- | 'status'
+  ReadSetActivationJobStatus ->
+  ActivateReadSetJobItem
+newActivateReadSetJobItem
+  pCreationTime_
+  pId_
+  pSequenceStoreId_
+  pStatus_ =
+    ActivateReadSetJobItem'
+      { completionTime =
+          Prelude.Nothing,
+        creationTime = Data._Time Lens.# pCreationTime_,
+        id = pId_,
+        sequenceStoreId = pSequenceStoreId_,
+        status = pStatus_
+      }
+
+-- | When the job completed.
+activateReadSetJobItem_completionTime :: Lens.Lens' ActivateReadSetJobItem (Prelude.Maybe Prelude.UTCTime)
+activateReadSetJobItem_completionTime = Lens.lens (\ActivateReadSetJobItem' {completionTime} -> completionTime) (\s@ActivateReadSetJobItem' {} a -> s {completionTime = a} :: ActivateReadSetJobItem) Prelude.. Lens.mapping Data._Time
+
+-- | When the job was created.
+activateReadSetJobItem_creationTime :: Lens.Lens' ActivateReadSetJobItem Prelude.UTCTime
+activateReadSetJobItem_creationTime = Lens.lens (\ActivateReadSetJobItem' {creationTime} -> creationTime) (\s@ActivateReadSetJobItem' {} a -> s {creationTime = a} :: ActivateReadSetJobItem) Prelude.. Data._Time
+
+-- | The job\'s ID.
+activateReadSetJobItem_id :: Lens.Lens' ActivateReadSetJobItem Prelude.Text
+activateReadSetJobItem_id = Lens.lens (\ActivateReadSetJobItem' {id} -> id) (\s@ActivateReadSetJobItem' {} a -> s {id = a} :: ActivateReadSetJobItem)
+
+-- | The job\'s sequence store ID.
+activateReadSetJobItem_sequenceStoreId :: Lens.Lens' ActivateReadSetJobItem Prelude.Text
+activateReadSetJobItem_sequenceStoreId = Lens.lens (\ActivateReadSetJobItem' {sequenceStoreId} -> sequenceStoreId) (\s@ActivateReadSetJobItem' {} a -> s {sequenceStoreId = a} :: ActivateReadSetJobItem)
+
+-- | The job\'s status.
+activateReadSetJobItem_status :: Lens.Lens' ActivateReadSetJobItem ReadSetActivationJobStatus
+activateReadSetJobItem_status = Lens.lens (\ActivateReadSetJobItem' {status} -> status) (\s@ActivateReadSetJobItem' {} a -> s {status = a} :: ActivateReadSetJobItem)
+
+instance Data.FromJSON ActivateReadSetJobItem where
+  parseJSON =
+    Data.withObject
+      "ActivateReadSetJobItem"
+      ( \x ->
+          ActivateReadSetJobItem'
+            Prelude.<$> (x Data..:? "completionTime")
+            Prelude.<*> (x Data..: "creationTime")
+            Prelude.<*> (x Data..: "id")
+            Prelude.<*> (x Data..: "sequenceStoreId")
+            Prelude.<*> (x Data..: "status")
+      )
+
+instance Prelude.Hashable ActivateReadSetJobItem where
+  hashWithSalt _salt ActivateReadSetJobItem' {..} =
+    _salt
+      `Prelude.hashWithSalt` completionTime
+      `Prelude.hashWithSalt` creationTime
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` sequenceStoreId
+      `Prelude.hashWithSalt` status
+
+instance Prelude.NFData ActivateReadSetJobItem where
+  rnf ActivateReadSetJobItem' {..} =
+    Prelude.rnf completionTime
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/Types/ActivateReadSetSourceItem.hs b/gen/Amazonka/Omics/Types/ActivateReadSetSourceItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ActivateReadSetSourceItem.hs
@@ -0,0 +1,102 @@
+{-# 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.Omics.Types.ActivateReadSetSourceItem
+-- 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.Omics.Types.ActivateReadSetSourceItem where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.ReadSetActivationJobItemStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | A source for a read set activation job.
+--
+-- /See:/ 'newActivateReadSetSourceItem' smart constructor.
+data ActivateReadSetSourceItem = ActivateReadSetSourceItem'
+  { -- | The source\'s status message.
+    statusMessage :: Prelude.Maybe Prelude.Text,
+    -- | The source\'s read set ID.
+    readSetId :: Prelude.Text,
+    -- | The source\'s status.
+    status :: ReadSetActivationJobItemStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ActivateReadSetSourceItem' 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:
+--
+-- 'statusMessage', 'activateReadSetSourceItem_statusMessage' - The source\'s status message.
+--
+-- 'readSetId', 'activateReadSetSourceItem_readSetId' - The source\'s read set ID.
+--
+-- 'status', 'activateReadSetSourceItem_status' - The source\'s status.
+newActivateReadSetSourceItem ::
+  -- | 'readSetId'
+  Prelude.Text ->
+  -- | 'status'
+  ReadSetActivationJobItemStatus ->
+  ActivateReadSetSourceItem
+newActivateReadSetSourceItem pReadSetId_ pStatus_ =
+  ActivateReadSetSourceItem'
+    { statusMessage =
+        Prelude.Nothing,
+      readSetId = pReadSetId_,
+      status = pStatus_
+    }
+
+-- | The source\'s status message.
+activateReadSetSourceItem_statusMessage :: Lens.Lens' ActivateReadSetSourceItem (Prelude.Maybe Prelude.Text)
+activateReadSetSourceItem_statusMessage = Lens.lens (\ActivateReadSetSourceItem' {statusMessage} -> statusMessage) (\s@ActivateReadSetSourceItem' {} a -> s {statusMessage = a} :: ActivateReadSetSourceItem)
+
+-- | The source\'s read set ID.
+activateReadSetSourceItem_readSetId :: Lens.Lens' ActivateReadSetSourceItem Prelude.Text
+activateReadSetSourceItem_readSetId = Lens.lens (\ActivateReadSetSourceItem' {readSetId} -> readSetId) (\s@ActivateReadSetSourceItem' {} a -> s {readSetId = a} :: ActivateReadSetSourceItem)
+
+-- | The source\'s status.
+activateReadSetSourceItem_status :: Lens.Lens' ActivateReadSetSourceItem ReadSetActivationJobItemStatus
+activateReadSetSourceItem_status = Lens.lens (\ActivateReadSetSourceItem' {status} -> status) (\s@ActivateReadSetSourceItem' {} a -> s {status = a} :: ActivateReadSetSourceItem)
+
+instance Data.FromJSON ActivateReadSetSourceItem where
+  parseJSON =
+    Data.withObject
+      "ActivateReadSetSourceItem"
+      ( \x ->
+          ActivateReadSetSourceItem'
+            Prelude.<$> (x Data..:? "statusMessage")
+            Prelude.<*> (x Data..: "readSetId")
+            Prelude.<*> (x Data..: "status")
+      )
+
+instance Prelude.Hashable ActivateReadSetSourceItem where
+  hashWithSalt _salt ActivateReadSetSourceItem' {..} =
+    _salt
+      `Prelude.hashWithSalt` statusMessage
+      `Prelude.hashWithSalt` readSetId
+      `Prelude.hashWithSalt` status
+
+instance Prelude.NFData ActivateReadSetSourceItem where
+  rnf ActivateReadSetSourceItem' {..} =
+    Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf readSetId
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/Types/AnnotationImportItemDetail.hs b/gen/Amazonka/Omics/Types/AnnotationImportItemDetail.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/AnnotationImportItemDetail.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.Omics.Types.AnnotationImportItemDetail
+-- 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.Omics.Types.AnnotationImportItemDetail where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.JobStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | Details about an imported annotation item.
+--
+-- /See:/ 'newAnnotationImportItemDetail' smart constructor.
+data AnnotationImportItemDetail = AnnotationImportItemDetail'
+  { -- | The item\'s job status.
+    jobStatus :: JobStatus,
+    -- | The source file\'s location in Amazon S3.
+    source :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'AnnotationImportItemDetail' 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:
+--
+-- 'jobStatus', 'annotationImportItemDetail_jobStatus' - The item\'s job status.
+--
+-- 'source', 'annotationImportItemDetail_source' - The source file\'s location in Amazon S3.
+newAnnotationImportItemDetail ::
+  -- | 'jobStatus'
+  JobStatus ->
+  -- | 'source'
+  Prelude.Text ->
+  AnnotationImportItemDetail
+newAnnotationImportItemDetail pJobStatus_ pSource_ =
+  AnnotationImportItemDetail'
+    { jobStatus =
+        pJobStatus_,
+      source = pSource_
+    }
+
+-- | The item\'s job status.
+annotationImportItemDetail_jobStatus :: Lens.Lens' AnnotationImportItemDetail JobStatus
+annotationImportItemDetail_jobStatus = Lens.lens (\AnnotationImportItemDetail' {jobStatus} -> jobStatus) (\s@AnnotationImportItemDetail' {} a -> s {jobStatus = a} :: AnnotationImportItemDetail)
+
+-- | The source file\'s location in Amazon S3.
+annotationImportItemDetail_source :: Lens.Lens' AnnotationImportItemDetail Prelude.Text
+annotationImportItemDetail_source = Lens.lens (\AnnotationImportItemDetail' {source} -> source) (\s@AnnotationImportItemDetail' {} a -> s {source = a} :: AnnotationImportItemDetail)
+
+instance Data.FromJSON AnnotationImportItemDetail where
+  parseJSON =
+    Data.withObject
+      "AnnotationImportItemDetail"
+      ( \x ->
+          AnnotationImportItemDetail'
+            Prelude.<$> (x Data..: "jobStatus")
+            Prelude.<*> (x Data..: "source")
+      )
+
+instance Prelude.Hashable AnnotationImportItemDetail where
+  hashWithSalt _salt AnnotationImportItemDetail' {..} =
+    _salt
+      `Prelude.hashWithSalt` jobStatus
+      `Prelude.hashWithSalt` source
+
+instance Prelude.NFData AnnotationImportItemDetail where
+  rnf AnnotationImportItemDetail' {..} =
+    Prelude.rnf jobStatus
+      `Prelude.seq` Prelude.rnf source
diff --git a/gen/Amazonka/Omics/Types/AnnotationImportItemSource.hs b/gen/Amazonka/Omics/Types/AnnotationImportItemSource.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/AnnotationImportItemSource.hs
@@ -0,0 +1,69 @@
+{-# 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.Omics.Types.AnnotationImportItemSource
+-- 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.Omics.Types.AnnotationImportItemSource 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
+
+-- | A source for an annotation import job.
+--
+-- /See:/ 'newAnnotationImportItemSource' smart constructor.
+data AnnotationImportItemSource = AnnotationImportItemSource'
+  { -- | The source file\'s location in Amazon S3.
+    source :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'AnnotationImportItemSource' 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', 'annotationImportItemSource_source' - The source file\'s location in Amazon S3.
+newAnnotationImportItemSource ::
+  -- | 'source'
+  Prelude.Text ->
+  AnnotationImportItemSource
+newAnnotationImportItemSource pSource_ =
+  AnnotationImportItemSource' {source = pSource_}
+
+-- | The source file\'s location in Amazon S3.
+annotationImportItemSource_source :: Lens.Lens' AnnotationImportItemSource Prelude.Text
+annotationImportItemSource_source = Lens.lens (\AnnotationImportItemSource' {source} -> source) (\s@AnnotationImportItemSource' {} a -> s {source = a} :: AnnotationImportItemSource)
+
+instance Prelude.Hashable AnnotationImportItemSource where
+  hashWithSalt _salt AnnotationImportItemSource' {..} =
+    _salt `Prelude.hashWithSalt` source
+
+instance Prelude.NFData AnnotationImportItemSource where
+  rnf AnnotationImportItemSource' {..} =
+    Prelude.rnf source
+
+instance Data.ToJSON AnnotationImportItemSource where
+  toJSON AnnotationImportItemSource' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [Prelude.Just ("source" Data..= source)]
+      )
diff --git a/gen/Amazonka/Omics/Types/AnnotationImportJobItem.hs b/gen/Amazonka/Omics/Types/AnnotationImportJobItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/AnnotationImportJobItem.hs
@@ -0,0 +1,176 @@
+{-# 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.Omics.Types.AnnotationImportJobItem
+-- 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.Omics.Types.AnnotationImportJobItem where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.JobStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | An annotation import job.
+--
+-- /See:/ 'newAnnotationImportJobItem' smart constructor.
+data AnnotationImportJobItem = AnnotationImportJobItem'
+  { -- | When the job completed.
+    completionTime :: Prelude.Maybe Data.ISO8601,
+    -- | The job\'s left normalization setting.
+    runLeftNormalization :: Prelude.Maybe Prelude.Bool,
+    -- | When the job was created.
+    creationTime :: Data.ISO8601,
+    -- | The job\'s destination annotation store.
+    destinationName :: Prelude.Text,
+    -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s service role ARN.
+    roleArn :: Prelude.Text,
+    -- | The job\'s status.
+    status :: JobStatus,
+    -- | When the job was updated.
+    updateTime :: Data.ISO8601
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'AnnotationImportJobItem' 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:
+--
+-- 'completionTime', 'annotationImportJobItem_completionTime' - When the job completed.
+--
+-- 'runLeftNormalization', 'annotationImportJobItem_runLeftNormalization' - The job\'s left normalization setting.
+--
+-- 'creationTime', 'annotationImportJobItem_creationTime' - When the job was created.
+--
+-- 'destinationName', 'annotationImportJobItem_destinationName' - The job\'s destination annotation store.
+--
+-- 'id', 'annotationImportJobItem_id' - The job\'s ID.
+--
+-- 'roleArn', 'annotationImportJobItem_roleArn' - The job\'s service role ARN.
+--
+-- 'status', 'annotationImportJobItem_status' - The job\'s status.
+--
+-- 'updateTime', 'annotationImportJobItem_updateTime' - When the job was updated.
+newAnnotationImportJobItem ::
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'destinationName'
+  Prelude.Text ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'roleArn'
+  Prelude.Text ->
+  -- | 'status'
+  JobStatus ->
+  -- | 'updateTime'
+  Prelude.UTCTime ->
+  AnnotationImportJobItem
+newAnnotationImportJobItem
+  pCreationTime_
+  pDestinationName_
+  pId_
+  pRoleArn_
+  pStatus_
+  pUpdateTime_ =
+    AnnotationImportJobItem'
+      { completionTime =
+          Prelude.Nothing,
+        runLeftNormalization = Prelude.Nothing,
+        creationTime = Data._Time Lens.# pCreationTime_,
+        destinationName = pDestinationName_,
+        id = pId_,
+        roleArn = pRoleArn_,
+        status = pStatus_,
+        updateTime = Data._Time Lens.# pUpdateTime_
+      }
+
+-- | When the job completed.
+annotationImportJobItem_completionTime :: Lens.Lens' AnnotationImportJobItem (Prelude.Maybe Prelude.UTCTime)
+annotationImportJobItem_completionTime = Lens.lens (\AnnotationImportJobItem' {completionTime} -> completionTime) (\s@AnnotationImportJobItem' {} a -> s {completionTime = a} :: AnnotationImportJobItem) Prelude.. Lens.mapping Data._Time
+
+-- | The job\'s left normalization setting.
+annotationImportJobItem_runLeftNormalization :: Lens.Lens' AnnotationImportJobItem (Prelude.Maybe Prelude.Bool)
+annotationImportJobItem_runLeftNormalization = Lens.lens (\AnnotationImportJobItem' {runLeftNormalization} -> runLeftNormalization) (\s@AnnotationImportJobItem' {} a -> s {runLeftNormalization = a} :: AnnotationImportJobItem)
+
+-- | When the job was created.
+annotationImportJobItem_creationTime :: Lens.Lens' AnnotationImportJobItem Prelude.UTCTime
+annotationImportJobItem_creationTime = Lens.lens (\AnnotationImportJobItem' {creationTime} -> creationTime) (\s@AnnotationImportJobItem' {} a -> s {creationTime = a} :: AnnotationImportJobItem) Prelude.. Data._Time
+
+-- | The job\'s destination annotation store.
+annotationImportJobItem_destinationName :: Lens.Lens' AnnotationImportJobItem Prelude.Text
+annotationImportJobItem_destinationName = Lens.lens (\AnnotationImportJobItem' {destinationName} -> destinationName) (\s@AnnotationImportJobItem' {} a -> s {destinationName = a} :: AnnotationImportJobItem)
+
+-- | The job\'s ID.
+annotationImportJobItem_id :: Lens.Lens' AnnotationImportJobItem Prelude.Text
+annotationImportJobItem_id = Lens.lens (\AnnotationImportJobItem' {id} -> id) (\s@AnnotationImportJobItem' {} a -> s {id = a} :: AnnotationImportJobItem)
+
+-- | The job\'s service role ARN.
+annotationImportJobItem_roleArn :: Lens.Lens' AnnotationImportJobItem Prelude.Text
+annotationImportJobItem_roleArn = Lens.lens (\AnnotationImportJobItem' {roleArn} -> roleArn) (\s@AnnotationImportJobItem' {} a -> s {roleArn = a} :: AnnotationImportJobItem)
+
+-- | The job\'s status.
+annotationImportJobItem_status :: Lens.Lens' AnnotationImportJobItem JobStatus
+annotationImportJobItem_status = Lens.lens (\AnnotationImportJobItem' {status} -> status) (\s@AnnotationImportJobItem' {} a -> s {status = a} :: AnnotationImportJobItem)
+
+-- | When the job was updated.
+annotationImportJobItem_updateTime :: Lens.Lens' AnnotationImportJobItem Prelude.UTCTime
+annotationImportJobItem_updateTime = Lens.lens (\AnnotationImportJobItem' {updateTime} -> updateTime) (\s@AnnotationImportJobItem' {} a -> s {updateTime = a} :: AnnotationImportJobItem) Prelude.. Data._Time
+
+instance Data.FromJSON AnnotationImportJobItem where
+  parseJSON =
+    Data.withObject
+      "AnnotationImportJobItem"
+      ( \x ->
+          AnnotationImportJobItem'
+            Prelude.<$> (x Data..:? "completionTime")
+            Prelude.<*> (x Data..:? "runLeftNormalization")
+            Prelude.<*> (x Data..: "creationTime")
+            Prelude.<*> (x Data..: "destinationName")
+            Prelude.<*> (x Data..: "id")
+            Prelude.<*> (x Data..: "roleArn")
+            Prelude.<*> (x Data..: "status")
+            Prelude.<*> (x Data..: "updateTime")
+      )
+
+instance Prelude.Hashable AnnotationImportJobItem where
+  hashWithSalt _salt AnnotationImportJobItem' {..} =
+    _salt
+      `Prelude.hashWithSalt` completionTime
+      `Prelude.hashWithSalt` runLeftNormalization
+      `Prelude.hashWithSalt` creationTime
+      `Prelude.hashWithSalt` destinationName
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` roleArn
+      `Prelude.hashWithSalt` status
+      `Prelude.hashWithSalt` updateTime
+
+instance Prelude.NFData AnnotationImportJobItem where
+  rnf AnnotationImportJobItem' {..} =
+    Prelude.rnf completionTime
+      `Prelude.seq` Prelude.rnf runLeftNormalization
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf destinationName
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf roleArn
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf updateTime
diff --git a/gen/Amazonka/Omics/Types/AnnotationStoreItem.hs b/gen/Amazonka/Omics/Types/AnnotationStoreItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/AnnotationStoreItem.hs
@@ -0,0 +1,245 @@
+{-# 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.Omics.Types.AnnotationStoreItem
+-- 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.Omics.Types.AnnotationStoreItem where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.ReferenceItem
+import Amazonka.Omics.Types.SseConfig
+import Amazonka.Omics.Types.StoreFormat
+import Amazonka.Omics.Types.StoreStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | An annotation store.
+--
+-- /See:/ 'newAnnotationStoreItem' smart constructor.
+data AnnotationStoreItem = AnnotationStoreItem'
+  { -- | The store\'s creation time.
+    creationTime :: Data.ISO8601,
+    -- | The store\'s description.
+    description :: Prelude.Text,
+    -- | The store\'s ID.
+    id :: Prelude.Text,
+    -- | The store\'s name.
+    name :: Prelude.Text,
+    -- | The store\'s genome reference.
+    reference :: ReferenceItem,
+    -- | The store\'s server-side encryption (SSE) settings.
+    sseConfig :: SseConfig,
+    -- | The store\'s status.
+    status :: StoreStatus,
+    -- | The store\'s status message.
+    statusMessage :: Prelude.Text,
+    -- | The store\'s ARN.
+    storeArn :: Prelude.Text,
+    -- | The store\'s file format.
+    storeFormat :: StoreFormat,
+    -- | The store\'s size in bytes.
+    storeSizeBytes :: Prelude.Integer,
+    -- | When the store was updated.
+    updateTime :: Data.ISO8601
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'AnnotationStoreItem' 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:
+--
+-- 'creationTime', 'annotationStoreItem_creationTime' - The store\'s creation time.
+--
+-- 'description', 'annotationStoreItem_description' - The store\'s description.
+--
+-- 'id', 'annotationStoreItem_id' - The store\'s ID.
+--
+-- 'name', 'annotationStoreItem_name' - The store\'s name.
+--
+-- 'reference', 'annotationStoreItem_reference' - The store\'s genome reference.
+--
+-- 'sseConfig', 'annotationStoreItem_sseConfig' - The store\'s server-side encryption (SSE) settings.
+--
+-- 'status', 'annotationStoreItem_status' - The store\'s status.
+--
+-- 'statusMessage', 'annotationStoreItem_statusMessage' - The store\'s status message.
+--
+-- 'storeArn', 'annotationStoreItem_storeArn' - The store\'s ARN.
+--
+-- 'storeFormat', 'annotationStoreItem_storeFormat' - The store\'s file format.
+--
+-- 'storeSizeBytes', 'annotationStoreItem_storeSizeBytes' - The store\'s size in bytes.
+--
+-- 'updateTime', 'annotationStoreItem_updateTime' - When the store was updated.
+newAnnotationStoreItem ::
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'description'
+  Prelude.Text ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'name'
+  Prelude.Text ->
+  -- | 'reference'
+  ReferenceItem ->
+  -- | 'sseConfig'
+  SseConfig ->
+  -- | 'status'
+  StoreStatus ->
+  -- | 'statusMessage'
+  Prelude.Text ->
+  -- | 'storeArn'
+  Prelude.Text ->
+  -- | 'storeFormat'
+  StoreFormat ->
+  -- | 'storeSizeBytes'
+  Prelude.Integer ->
+  -- | 'updateTime'
+  Prelude.UTCTime ->
+  AnnotationStoreItem
+newAnnotationStoreItem
+  pCreationTime_
+  pDescription_
+  pId_
+  pName_
+  pReference_
+  pSseConfig_
+  pStatus_
+  pStatusMessage_
+  pStoreArn_
+  pStoreFormat_
+  pStoreSizeBytes_
+  pUpdateTime_ =
+    AnnotationStoreItem'
+      { creationTime =
+          Data._Time Lens.# pCreationTime_,
+        description = pDescription_,
+        id = pId_,
+        name = pName_,
+        reference = pReference_,
+        sseConfig = pSseConfig_,
+        status = pStatus_,
+        statusMessage = pStatusMessage_,
+        storeArn = pStoreArn_,
+        storeFormat = pStoreFormat_,
+        storeSizeBytes = pStoreSizeBytes_,
+        updateTime = Data._Time Lens.# pUpdateTime_
+      }
+
+-- | The store\'s creation time.
+annotationStoreItem_creationTime :: Lens.Lens' AnnotationStoreItem Prelude.UTCTime
+annotationStoreItem_creationTime = Lens.lens (\AnnotationStoreItem' {creationTime} -> creationTime) (\s@AnnotationStoreItem' {} a -> s {creationTime = a} :: AnnotationStoreItem) Prelude.. Data._Time
+
+-- | The store\'s description.
+annotationStoreItem_description :: Lens.Lens' AnnotationStoreItem Prelude.Text
+annotationStoreItem_description = Lens.lens (\AnnotationStoreItem' {description} -> description) (\s@AnnotationStoreItem' {} a -> s {description = a} :: AnnotationStoreItem)
+
+-- | The store\'s ID.
+annotationStoreItem_id :: Lens.Lens' AnnotationStoreItem Prelude.Text
+annotationStoreItem_id = Lens.lens (\AnnotationStoreItem' {id} -> id) (\s@AnnotationStoreItem' {} a -> s {id = a} :: AnnotationStoreItem)
+
+-- | The store\'s name.
+annotationStoreItem_name :: Lens.Lens' AnnotationStoreItem Prelude.Text
+annotationStoreItem_name = Lens.lens (\AnnotationStoreItem' {name} -> name) (\s@AnnotationStoreItem' {} a -> s {name = a} :: AnnotationStoreItem)
+
+-- | The store\'s genome reference.
+annotationStoreItem_reference :: Lens.Lens' AnnotationStoreItem ReferenceItem
+annotationStoreItem_reference = Lens.lens (\AnnotationStoreItem' {reference} -> reference) (\s@AnnotationStoreItem' {} a -> s {reference = a} :: AnnotationStoreItem)
+
+-- | The store\'s server-side encryption (SSE) settings.
+annotationStoreItem_sseConfig :: Lens.Lens' AnnotationStoreItem SseConfig
+annotationStoreItem_sseConfig = Lens.lens (\AnnotationStoreItem' {sseConfig} -> sseConfig) (\s@AnnotationStoreItem' {} a -> s {sseConfig = a} :: AnnotationStoreItem)
+
+-- | The store\'s status.
+annotationStoreItem_status :: Lens.Lens' AnnotationStoreItem StoreStatus
+annotationStoreItem_status = Lens.lens (\AnnotationStoreItem' {status} -> status) (\s@AnnotationStoreItem' {} a -> s {status = a} :: AnnotationStoreItem)
+
+-- | The store\'s status message.
+annotationStoreItem_statusMessage :: Lens.Lens' AnnotationStoreItem Prelude.Text
+annotationStoreItem_statusMessage = Lens.lens (\AnnotationStoreItem' {statusMessage} -> statusMessage) (\s@AnnotationStoreItem' {} a -> s {statusMessage = a} :: AnnotationStoreItem)
+
+-- | The store\'s ARN.
+annotationStoreItem_storeArn :: Lens.Lens' AnnotationStoreItem Prelude.Text
+annotationStoreItem_storeArn = Lens.lens (\AnnotationStoreItem' {storeArn} -> storeArn) (\s@AnnotationStoreItem' {} a -> s {storeArn = a} :: AnnotationStoreItem)
+
+-- | The store\'s file format.
+annotationStoreItem_storeFormat :: Lens.Lens' AnnotationStoreItem StoreFormat
+annotationStoreItem_storeFormat = Lens.lens (\AnnotationStoreItem' {storeFormat} -> storeFormat) (\s@AnnotationStoreItem' {} a -> s {storeFormat = a} :: AnnotationStoreItem)
+
+-- | The store\'s size in bytes.
+annotationStoreItem_storeSizeBytes :: Lens.Lens' AnnotationStoreItem Prelude.Integer
+annotationStoreItem_storeSizeBytes = Lens.lens (\AnnotationStoreItem' {storeSizeBytes} -> storeSizeBytes) (\s@AnnotationStoreItem' {} a -> s {storeSizeBytes = a} :: AnnotationStoreItem)
+
+-- | When the store was updated.
+annotationStoreItem_updateTime :: Lens.Lens' AnnotationStoreItem Prelude.UTCTime
+annotationStoreItem_updateTime = Lens.lens (\AnnotationStoreItem' {updateTime} -> updateTime) (\s@AnnotationStoreItem' {} a -> s {updateTime = a} :: AnnotationStoreItem) Prelude.. Data._Time
+
+instance Data.FromJSON AnnotationStoreItem where
+  parseJSON =
+    Data.withObject
+      "AnnotationStoreItem"
+      ( \x ->
+          AnnotationStoreItem'
+            Prelude.<$> (x Data..: "creationTime")
+            Prelude.<*> (x Data..: "description")
+            Prelude.<*> (x Data..: "id")
+            Prelude.<*> (x Data..: "name")
+            Prelude.<*> (x Data..: "reference")
+            Prelude.<*> (x Data..: "sseConfig")
+            Prelude.<*> (x Data..: "status")
+            Prelude.<*> (x Data..: "statusMessage")
+            Prelude.<*> (x Data..: "storeArn")
+            Prelude.<*> (x Data..: "storeFormat")
+            Prelude.<*> (x Data..: "storeSizeBytes")
+            Prelude.<*> (x Data..: "updateTime")
+      )
+
+instance Prelude.Hashable AnnotationStoreItem where
+  hashWithSalt _salt AnnotationStoreItem' {..} =
+    _salt
+      `Prelude.hashWithSalt` creationTime
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` reference
+      `Prelude.hashWithSalt` sseConfig
+      `Prelude.hashWithSalt` status
+      `Prelude.hashWithSalt` statusMessage
+      `Prelude.hashWithSalt` storeArn
+      `Prelude.hashWithSalt` storeFormat
+      `Prelude.hashWithSalt` storeSizeBytes
+      `Prelude.hashWithSalt` updateTime
+
+instance Prelude.NFData AnnotationStoreItem where
+  rnf AnnotationStoreItem' {..} =
+    Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf description
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf reference
+      `Prelude.seq` Prelude.rnf sseConfig
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf storeArn
+      `Prelude.seq` Prelude.rnf storeFormat
+      `Prelude.seq` Prelude.rnf storeSizeBytes
+      `Prelude.seq` Prelude.rnf updateTime
diff --git a/gen/Amazonka/Omics/Types/AnnotationType.hs b/gen/Amazonka/Omics/Types/AnnotationType.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/AnnotationType.hs
@@ -0,0 +1,96 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.AnnotationType
+-- 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.Omics.Types.AnnotationType
+  ( AnnotationType
+      ( ..,
+        AnnotationType_CHR_POS,
+        AnnotationType_CHR_POS_REF_ALT,
+        AnnotationType_CHR_START_END_ONE_BASE,
+        AnnotationType_CHR_START_END_REF_ALT_ONE_BASE,
+        AnnotationType_CHR_START_END_REF_ALT_ZERO_BASE,
+        AnnotationType_CHR_START_END_ZERO_BASE,
+        AnnotationType_GENERIC
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype AnnotationType = AnnotationType'
+  { fromAnnotationType ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern AnnotationType_CHR_POS :: AnnotationType
+pattern AnnotationType_CHR_POS = AnnotationType' "CHR_POS"
+
+pattern AnnotationType_CHR_POS_REF_ALT :: AnnotationType
+pattern AnnotationType_CHR_POS_REF_ALT = AnnotationType' "CHR_POS_REF_ALT"
+
+pattern AnnotationType_CHR_START_END_ONE_BASE :: AnnotationType
+pattern AnnotationType_CHR_START_END_ONE_BASE = AnnotationType' "CHR_START_END_ONE_BASE"
+
+pattern AnnotationType_CHR_START_END_REF_ALT_ONE_BASE :: AnnotationType
+pattern AnnotationType_CHR_START_END_REF_ALT_ONE_BASE = AnnotationType' "CHR_START_END_REF_ALT_ONE_BASE"
+
+pattern AnnotationType_CHR_START_END_REF_ALT_ZERO_BASE :: AnnotationType
+pattern AnnotationType_CHR_START_END_REF_ALT_ZERO_BASE = AnnotationType' "CHR_START_END_REF_ALT_ZERO_BASE"
+
+pattern AnnotationType_CHR_START_END_ZERO_BASE :: AnnotationType
+pattern AnnotationType_CHR_START_END_ZERO_BASE = AnnotationType' "CHR_START_END_ZERO_BASE"
+
+pattern AnnotationType_GENERIC :: AnnotationType
+pattern AnnotationType_GENERIC = AnnotationType' "GENERIC"
+
+{-# COMPLETE
+  AnnotationType_CHR_POS,
+  AnnotationType_CHR_POS_REF_ALT,
+  AnnotationType_CHR_START_END_ONE_BASE,
+  AnnotationType_CHR_START_END_REF_ALT_ONE_BASE,
+  AnnotationType_CHR_START_END_REF_ALT_ZERO_BASE,
+  AnnotationType_CHR_START_END_ZERO_BASE,
+  AnnotationType_GENERIC,
+  AnnotationType'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/EncryptionType.hs b/gen/Amazonka/Omics/Types/EncryptionType.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/EncryptionType.hs
@@ -0,0 +1,66 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.EncryptionType
+-- 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.Omics.Types.EncryptionType
+  ( EncryptionType
+      ( ..,
+        EncryptionType_KMS
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype EncryptionType = EncryptionType'
+  { fromEncryptionType ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern EncryptionType_KMS :: EncryptionType
+pattern EncryptionType_KMS = EncryptionType' "KMS"
+
+{-# COMPLETE
+  EncryptionType_KMS,
+  EncryptionType'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/ExportReadSet.hs b/gen/Amazonka/Omics/Types/ExportReadSet.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ExportReadSet.hs
@@ -0,0 +1,68 @@
+{-# 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.Omics.Types.ExportReadSet
+-- 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.Omics.Types.ExportReadSet 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
+
+-- | A read set.
+--
+-- /See:/ 'newExportReadSet' smart constructor.
+data ExportReadSet = ExportReadSet'
+  { -- | The set\'s ID.
+    readSetId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ExportReadSet' 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:
+--
+-- 'readSetId', 'exportReadSet_readSetId' - The set\'s ID.
+newExportReadSet ::
+  -- | 'readSetId'
+  Prelude.Text ->
+  ExportReadSet
+newExportReadSet pReadSetId_ =
+  ExportReadSet' {readSetId = pReadSetId_}
+
+-- | The set\'s ID.
+exportReadSet_readSetId :: Lens.Lens' ExportReadSet Prelude.Text
+exportReadSet_readSetId = Lens.lens (\ExportReadSet' {readSetId} -> readSetId) (\s@ExportReadSet' {} a -> s {readSetId = a} :: ExportReadSet)
+
+instance Prelude.Hashable ExportReadSet where
+  hashWithSalt _salt ExportReadSet' {..} =
+    _salt `Prelude.hashWithSalt` readSetId
+
+instance Prelude.NFData ExportReadSet where
+  rnf ExportReadSet' {..} = Prelude.rnf readSetId
+
+instance Data.ToJSON ExportReadSet where
+  toJSON ExportReadSet' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [Prelude.Just ("readSetId" Data..= readSetId)]
+      )
diff --git a/gen/Amazonka/Omics/Types/ExportReadSetDetail.hs b/gen/Amazonka/Omics/Types/ExportReadSetDetail.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ExportReadSetDetail.hs
@@ -0,0 +1,102 @@
+{-# 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.Omics.Types.ExportReadSetDetail
+-- 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.Omics.Types.ExportReadSetDetail where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.ReadSetExportJobItemStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | Details about a read set.
+--
+-- /See:/ 'newExportReadSetDetail' smart constructor.
+data ExportReadSetDetail = ExportReadSetDetail'
+  { -- | The set\'s status message.
+    statusMessage :: Prelude.Maybe Prelude.Text,
+    -- | The set\'s ID.
+    id :: Prelude.Text,
+    -- | The set\'s status.
+    status :: ReadSetExportJobItemStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ExportReadSetDetail' 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:
+--
+-- 'statusMessage', 'exportReadSetDetail_statusMessage' - The set\'s status message.
+--
+-- 'id', 'exportReadSetDetail_id' - The set\'s ID.
+--
+-- 'status', 'exportReadSetDetail_status' - The set\'s status.
+newExportReadSetDetail ::
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'status'
+  ReadSetExportJobItemStatus ->
+  ExportReadSetDetail
+newExportReadSetDetail pId_ pStatus_ =
+  ExportReadSetDetail'
+    { statusMessage =
+        Prelude.Nothing,
+      id = pId_,
+      status = pStatus_
+    }
+
+-- | The set\'s status message.
+exportReadSetDetail_statusMessage :: Lens.Lens' ExportReadSetDetail (Prelude.Maybe Prelude.Text)
+exportReadSetDetail_statusMessage = Lens.lens (\ExportReadSetDetail' {statusMessage} -> statusMessage) (\s@ExportReadSetDetail' {} a -> s {statusMessage = a} :: ExportReadSetDetail)
+
+-- | The set\'s ID.
+exportReadSetDetail_id :: Lens.Lens' ExportReadSetDetail Prelude.Text
+exportReadSetDetail_id = Lens.lens (\ExportReadSetDetail' {id} -> id) (\s@ExportReadSetDetail' {} a -> s {id = a} :: ExportReadSetDetail)
+
+-- | The set\'s status.
+exportReadSetDetail_status :: Lens.Lens' ExportReadSetDetail ReadSetExportJobItemStatus
+exportReadSetDetail_status = Lens.lens (\ExportReadSetDetail' {status} -> status) (\s@ExportReadSetDetail' {} a -> s {status = a} :: ExportReadSetDetail)
+
+instance Data.FromJSON ExportReadSetDetail where
+  parseJSON =
+    Data.withObject
+      "ExportReadSetDetail"
+      ( \x ->
+          ExportReadSetDetail'
+            Prelude.<$> (x Data..:? "statusMessage")
+            Prelude.<*> (x Data..: "id")
+            Prelude.<*> (x Data..: "status")
+      )
+
+instance Prelude.Hashable ExportReadSetDetail where
+  hashWithSalt _salt ExportReadSetDetail' {..} =
+    _salt
+      `Prelude.hashWithSalt` statusMessage
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` status
+
+instance Prelude.NFData ExportReadSetDetail where
+  rnf ExportReadSetDetail' {..} =
+    Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/Types/ExportReadSetFilter.hs b/gen/Amazonka/Omics/Types/ExportReadSetFilter.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ExportReadSetFilter.hs
@@ -0,0 +1,97 @@
+{-# 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.Omics.Types.ExportReadSetFilter
+-- 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.Omics.Types.ExportReadSetFilter where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.ReadSetExportJobStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | An read set export job filter.
+--
+-- /See:/ 'newExportReadSetFilter' smart constructor.
+data ExportReadSetFilter = ExportReadSetFilter'
+  { -- | The filter\'s start date.
+    createdAfter :: Prelude.Maybe Data.ISO8601,
+    -- | The filter\'s end date.
+    createdBefore :: Prelude.Maybe Data.ISO8601,
+    -- | A status to filter on.
+    status :: Prelude.Maybe ReadSetExportJobStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ExportReadSetFilter' 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:
+--
+-- 'createdAfter', 'exportReadSetFilter_createdAfter' - The filter\'s start date.
+--
+-- 'createdBefore', 'exportReadSetFilter_createdBefore' - The filter\'s end date.
+--
+-- 'status', 'exportReadSetFilter_status' - A status to filter on.
+newExportReadSetFilter ::
+  ExportReadSetFilter
+newExportReadSetFilter =
+  ExportReadSetFilter'
+    { createdAfter =
+        Prelude.Nothing,
+      createdBefore = Prelude.Nothing,
+      status = Prelude.Nothing
+    }
+
+-- | The filter\'s start date.
+exportReadSetFilter_createdAfter :: Lens.Lens' ExportReadSetFilter (Prelude.Maybe Prelude.UTCTime)
+exportReadSetFilter_createdAfter = Lens.lens (\ExportReadSetFilter' {createdAfter} -> createdAfter) (\s@ExportReadSetFilter' {} a -> s {createdAfter = a} :: ExportReadSetFilter) Prelude.. Lens.mapping Data._Time
+
+-- | The filter\'s end date.
+exportReadSetFilter_createdBefore :: Lens.Lens' ExportReadSetFilter (Prelude.Maybe Prelude.UTCTime)
+exportReadSetFilter_createdBefore = Lens.lens (\ExportReadSetFilter' {createdBefore} -> createdBefore) (\s@ExportReadSetFilter' {} a -> s {createdBefore = a} :: ExportReadSetFilter) Prelude.. Lens.mapping Data._Time
+
+-- | A status to filter on.
+exportReadSetFilter_status :: Lens.Lens' ExportReadSetFilter (Prelude.Maybe ReadSetExportJobStatus)
+exportReadSetFilter_status = Lens.lens (\ExportReadSetFilter' {status} -> status) (\s@ExportReadSetFilter' {} a -> s {status = a} :: ExportReadSetFilter)
+
+instance Prelude.Hashable ExportReadSetFilter where
+  hashWithSalt _salt ExportReadSetFilter' {..} =
+    _salt
+      `Prelude.hashWithSalt` createdAfter
+      `Prelude.hashWithSalt` createdBefore
+      `Prelude.hashWithSalt` status
+
+instance Prelude.NFData ExportReadSetFilter where
+  rnf ExportReadSetFilter' {..} =
+    Prelude.rnf createdAfter
+      `Prelude.seq` Prelude.rnf createdBefore
+      `Prelude.seq` Prelude.rnf status
+
+instance Data.ToJSON ExportReadSetFilter where
+  toJSON ExportReadSetFilter' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("createdAfter" Data..=) Prelude.<$> createdAfter,
+            ("createdBefore" Data..=) Prelude.<$> createdBefore,
+            ("status" Data..=) Prelude.<$> status
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/ExportReadSetJobDetail.hs b/gen/Amazonka/Omics/Types/ExportReadSetJobDetail.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ExportReadSetJobDetail.hs
@@ -0,0 +1,149 @@
+{-# 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.Omics.Types.ExportReadSetJobDetail
+-- 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.Omics.Types.ExportReadSetJobDetail where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.ReadSetExportJobStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | Details about a read set export job.
+--
+-- /See:/ 'newExportReadSetJobDetail' smart constructor.
+data ExportReadSetJobDetail = ExportReadSetJobDetail'
+  { -- | When the job completed.
+    completionTime :: Prelude.Maybe Data.ISO8601,
+    -- | When the job was created.
+    creationTime :: Data.ISO8601,
+    -- | The job\'s destination in Amazon S3.
+    destination :: Prelude.Text,
+    -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text,
+    -- | The job\'s status.
+    status :: ReadSetExportJobStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ExportReadSetJobDetail' 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:
+--
+-- 'completionTime', 'exportReadSetJobDetail_completionTime' - When the job completed.
+--
+-- 'creationTime', 'exportReadSetJobDetail_creationTime' - When the job was created.
+--
+-- 'destination', 'exportReadSetJobDetail_destination' - The job\'s destination in Amazon S3.
+--
+-- 'id', 'exportReadSetJobDetail_id' - The job\'s ID.
+--
+-- 'sequenceStoreId', 'exportReadSetJobDetail_sequenceStoreId' - The job\'s sequence store ID.
+--
+-- 'status', 'exportReadSetJobDetail_status' - The job\'s status.
+newExportReadSetJobDetail ::
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'destination'
+  Prelude.Text ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  -- | 'status'
+  ReadSetExportJobStatus ->
+  ExportReadSetJobDetail
+newExportReadSetJobDetail
+  pCreationTime_
+  pDestination_
+  pId_
+  pSequenceStoreId_
+  pStatus_ =
+    ExportReadSetJobDetail'
+      { completionTime =
+          Prelude.Nothing,
+        creationTime = Data._Time Lens.# pCreationTime_,
+        destination = pDestination_,
+        id = pId_,
+        sequenceStoreId = pSequenceStoreId_,
+        status = pStatus_
+      }
+
+-- | When the job completed.
+exportReadSetJobDetail_completionTime :: Lens.Lens' ExportReadSetJobDetail (Prelude.Maybe Prelude.UTCTime)
+exportReadSetJobDetail_completionTime = Lens.lens (\ExportReadSetJobDetail' {completionTime} -> completionTime) (\s@ExportReadSetJobDetail' {} a -> s {completionTime = a} :: ExportReadSetJobDetail) Prelude.. Lens.mapping Data._Time
+
+-- | When the job was created.
+exportReadSetJobDetail_creationTime :: Lens.Lens' ExportReadSetJobDetail Prelude.UTCTime
+exportReadSetJobDetail_creationTime = Lens.lens (\ExportReadSetJobDetail' {creationTime} -> creationTime) (\s@ExportReadSetJobDetail' {} a -> s {creationTime = a} :: ExportReadSetJobDetail) Prelude.. Data._Time
+
+-- | The job\'s destination in Amazon S3.
+exportReadSetJobDetail_destination :: Lens.Lens' ExportReadSetJobDetail Prelude.Text
+exportReadSetJobDetail_destination = Lens.lens (\ExportReadSetJobDetail' {destination} -> destination) (\s@ExportReadSetJobDetail' {} a -> s {destination = a} :: ExportReadSetJobDetail)
+
+-- | The job\'s ID.
+exportReadSetJobDetail_id :: Lens.Lens' ExportReadSetJobDetail Prelude.Text
+exportReadSetJobDetail_id = Lens.lens (\ExportReadSetJobDetail' {id} -> id) (\s@ExportReadSetJobDetail' {} a -> s {id = a} :: ExportReadSetJobDetail)
+
+-- | The job\'s sequence store ID.
+exportReadSetJobDetail_sequenceStoreId :: Lens.Lens' ExportReadSetJobDetail Prelude.Text
+exportReadSetJobDetail_sequenceStoreId = Lens.lens (\ExportReadSetJobDetail' {sequenceStoreId} -> sequenceStoreId) (\s@ExportReadSetJobDetail' {} a -> s {sequenceStoreId = a} :: ExportReadSetJobDetail)
+
+-- | The job\'s status.
+exportReadSetJobDetail_status :: Lens.Lens' ExportReadSetJobDetail ReadSetExportJobStatus
+exportReadSetJobDetail_status = Lens.lens (\ExportReadSetJobDetail' {status} -> status) (\s@ExportReadSetJobDetail' {} a -> s {status = a} :: ExportReadSetJobDetail)
+
+instance Data.FromJSON ExportReadSetJobDetail where
+  parseJSON =
+    Data.withObject
+      "ExportReadSetJobDetail"
+      ( \x ->
+          ExportReadSetJobDetail'
+            Prelude.<$> (x Data..:? "completionTime")
+            Prelude.<*> (x Data..: "creationTime")
+            Prelude.<*> (x Data..: "destination")
+            Prelude.<*> (x Data..: "id")
+            Prelude.<*> (x Data..: "sequenceStoreId")
+            Prelude.<*> (x Data..: "status")
+      )
+
+instance Prelude.Hashable ExportReadSetJobDetail where
+  hashWithSalt _salt ExportReadSetJobDetail' {..} =
+    _salt
+      `Prelude.hashWithSalt` completionTime
+      `Prelude.hashWithSalt` creationTime
+      `Prelude.hashWithSalt` destination
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` sequenceStoreId
+      `Prelude.hashWithSalt` status
+
+instance Prelude.NFData ExportReadSetJobDetail where
+  rnf ExportReadSetJobDetail' {..} =
+    Prelude.rnf completionTime
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf destination
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/Types/FileInformation.hs b/gen/Amazonka/Omics/Types/FileInformation.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/FileInformation.hs
@@ -0,0 +1,96 @@
+{-# 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.Omics.Types.FileInformation
+-- 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.Omics.Types.FileInformation 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
+
+-- | Details about a file.
+--
+-- /See:/ 'newFileInformation' smart constructor.
+data FileInformation = FileInformation'
+  { -- | The file\'s content length.
+    contentLength :: Prelude.Maybe Prelude.Natural,
+    -- | The file\'s part size.
+    partSize :: Prelude.Maybe Prelude.Natural,
+    -- | The file\'s total parts.
+    totalParts :: Prelude.Maybe Prelude.Natural
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'FileInformation' 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:
+--
+-- 'contentLength', 'fileInformation_contentLength' - The file\'s content length.
+--
+-- 'partSize', 'fileInformation_partSize' - The file\'s part size.
+--
+-- 'totalParts', 'fileInformation_totalParts' - The file\'s total parts.
+newFileInformation ::
+  FileInformation
+newFileInformation =
+  FileInformation'
+    { contentLength = Prelude.Nothing,
+      partSize = Prelude.Nothing,
+      totalParts = Prelude.Nothing
+    }
+
+-- | The file\'s content length.
+fileInformation_contentLength :: Lens.Lens' FileInformation (Prelude.Maybe Prelude.Natural)
+fileInformation_contentLength = Lens.lens (\FileInformation' {contentLength} -> contentLength) (\s@FileInformation' {} a -> s {contentLength = a} :: FileInformation)
+
+-- | The file\'s part size.
+fileInformation_partSize :: Lens.Lens' FileInformation (Prelude.Maybe Prelude.Natural)
+fileInformation_partSize = Lens.lens (\FileInformation' {partSize} -> partSize) (\s@FileInformation' {} a -> s {partSize = a} :: FileInformation)
+
+-- | The file\'s total parts.
+fileInformation_totalParts :: Lens.Lens' FileInformation (Prelude.Maybe Prelude.Natural)
+fileInformation_totalParts = Lens.lens (\FileInformation' {totalParts} -> totalParts) (\s@FileInformation' {} a -> s {totalParts = a} :: FileInformation)
+
+instance Data.FromJSON FileInformation where
+  parseJSON =
+    Data.withObject
+      "FileInformation"
+      ( \x ->
+          FileInformation'
+            Prelude.<$> (x Data..:? "contentLength")
+            Prelude.<*> (x Data..:? "partSize")
+            Prelude.<*> (x Data..:? "totalParts")
+      )
+
+instance Prelude.Hashable FileInformation where
+  hashWithSalt _salt FileInformation' {..} =
+    _salt
+      `Prelude.hashWithSalt` contentLength
+      `Prelude.hashWithSalt` partSize
+      `Prelude.hashWithSalt` totalParts
+
+instance Prelude.NFData FileInformation where
+  rnf FileInformation' {..} =
+    Prelude.rnf contentLength
+      `Prelude.seq` Prelude.rnf partSize
+      `Prelude.seq` Prelude.rnf totalParts
diff --git a/gen/Amazonka/Omics/Types/FileType.hs b/gen/Amazonka/Omics/Types/FileType.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/FileType.hs
@@ -0,0 +1,76 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.FileType
+-- 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.Omics.Types.FileType
+  ( FileType
+      ( ..,
+        FileType_BAM,
+        FileType_CRAM,
+        FileType_FASTQ
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype FileType = FileType'
+  { fromFileType ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern FileType_BAM :: FileType
+pattern FileType_BAM = FileType' "BAM"
+
+pattern FileType_CRAM :: FileType
+pattern FileType_CRAM = FileType' "CRAM"
+
+pattern FileType_FASTQ :: FileType
+pattern FileType_FASTQ = FileType' "FASTQ"
+
+{-# COMPLETE
+  FileType_BAM,
+  FileType_CRAM,
+  FileType_FASTQ,
+  FileType'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/FormatOptions.hs b/gen/Amazonka/Omics/Types/FormatOptions.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/FormatOptions.hs
@@ -0,0 +1,95 @@
+{-# 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.Omics.Types.FormatOptions
+-- 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.Omics.Types.FormatOptions where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.TsvOptions
+import Amazonka.Omics.Types.VcfOptions
+import qualified Amazonka.Prelude as Prelude
+
+-- | Formatting options for a file.
+--
+-- /See:/ 'newFormatOptions' smart constructor.
+data FormatOptions = FormatOptions'
+  { -- | Options for a TSV file.
+    tsvOptions :: Prelude.Maybe TsvOptions,
+    -- | Options for a VCF file.
+    vcfOptions :: Prelude.Maybe VcfOptions
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'FormatOptions' 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:
+--
+-- 'tsvOptions', 'formatOptions_tsvOptions' - Options for a TSV file.
+--
+-- 'vcfOptions', 'formatOptions_vcfOptions' - Options for a VCF file.
+newFormatOptions ::
+  FormatOptions
+newFormatOptions =
+  FormatOptions'
+    { tsvOptions = Prelude.Nothing,
+      vcfOptions = Prelude.Nothing
+    }
+
+-- | Options for a TSV file.
+formatOptions_tsvOptions :: Lens.Lens' FormatOptions (Prelude.Maybe TsvOptions)
+formatOptions_tsvOptions = Lens.lens (\FormatOptions' {tsvOptions} -> tsvOptions) (\s@FormatOptions' {} a -> s {tsvOptions = a} :: FormatOptions)
+
+-- | Options for a VCF file.
+formatOptions_vcfOptions :: Lens.Lens' FormatOptions (Prelude.Maybe VcfOptions)
+formatOptions_vcfOptions = Lens.lens (\FormatOptions' {vcfOptions} -> vcfOptions) (\s@FormatOptions' {} a -> s {vcfOptions = a} :: FormatOptions)
+
+instance Data.FromJSON FormatOptions where
+  parseJSON =
+    Data.withObject
+      "FormatOptions"
+      ( \x ->
+          FormatOptions'
+            Prelude.<$> (x Data..:? "tsvOptions")
+            Prelude.<*> (x Data..:? "vcfOptions")
+      )
+
+instance Prelude.Hashable FormatOptions where
+  hashWithSalt _salt FormatOptions' {..} =
+    _salt
+      `Prelude.hashWithSalt` tsvOptions
+      `Prelude.hashWithSalt` vcfOptions
+
+instance Prelude.NFData FormatOptions where
+  rnf FormatOptions' {..} =
+    Prelude.rnf tsvOptions
+      `Prelude.seq` Prelude.rnf vcfOptions
+
+instance Data.ToJSON FormatOptions where
+  toJSON FormatOptions' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("tsvOptions" Data..=) Prelude.<$> tsvOptions,
+            ("vcfOptions" Data..=) Prelude.<$> vcfOptions
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/FormatToHeaderKey.hs b/gen/Amazonka/Omics/Types/FormatToHeaderKey.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/FormatToHeaderKey.hs
@@ -0,0 +1,91 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.FormatToHeaderKey
+-- 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.Omics.Types.FormatToHeaderKey
+  ( FormatToHeaderKey
+      ( ..,
+        FormatToHeaderKey_ALT,
+        FormatToHeaderKey_CHR,
+        FormatToHeaderKey_END,
+        FormatToHeaderKey_POS,
+        FormatToHeaderKey_REF,
+        FormatToHeaderKey_START
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype FormatToHeaderKey = FormatToHeaderKey'
+  { fromFormatToHeaderKey ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern FormatToHeaderKey_ALT :: FormatToHeaderKey
+pattern FormatToHeaderKey_ALT = FormatToHeaderKey' "ALT"
+
+pattern FormatToHeaderKey_CHR :: FormatToHeaderKey
+pattern FormatToHeaderKey_CHR = FormatToHeaderKey' "CHR"
+
+pattern FormatToHeaderKey_END :: FormatToHeaderKey
+pattern FormatToHeaderKey_END = FormatToHeaderKey' "END"
+
+pattern FormatToHeaderKey_POS :: FormatToHeaderKey
+pattern FormatToHeaderKey_POS = FormatToHeaderKey' "POS"
+
+pattern FormatToHeaderKey_REF :: FormatToHeaderKey
+pattern FormatToHeaderKey_REF = FormatToHeaderKey' "REF"
+
+pattern FormatToHeaderKey_START :: FormatToHeaderKey
+pattern FormatToHeaderKey_START = FormatToHeaderKey' "START"
+
+{-# COMPLETE
+  FormatToHeaderKey_ALT,
+  FormatToHeaderKey_CHR,
+  FormatToHeaderKey_END,
+  FormatToHeaderKey_POS,
+  FormatToHeaderKey_REF,
+  FormatToHeaderKey_START,
+  FormatToHeaderKey'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/ImportReadSetFilter.hs b/gen/Amazonka/Omics/Types/ImportReadSetFilter.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ImportReadSetFilter.hs
@@ -0,0 +1,97 @@
+{-# 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.Omics.Types.ImportReadSetFilter
+-- 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.Omics.Types.ImportReadSetFilter where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.ReadSetImportJobStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | A filter for import read set jobs.
+--
+-- /See:/ 'newImportReadSetFilter' smart constructor.
+data ImportReadSetFilter = ImportReadSetFilter'
+  { -- | The filter\'s start date.
+    createdAfter :: Prelude.Maybe Data.ISO8601,
+    -- | The filter\'s end date.
+    createdBefore :: Prelude.Maybe Data.ISO8601,
+    -- | A status to filter on.
+    status :: Prelude.Maybe ReadSetImportJobStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ImportReadSetFilter' 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:
+--
+-- 'createdAfter', 'importReadSetFilter_createdAfter' - The filter\'s start date.
+--
+-- 'createdBefore', 'importReadSetFilter_createdBefore' - The filter\'s end date.
+--
+-- 'status', 'importReadSetFilter_status' - A status to filter on.
+newImportReadSetFilter ::
+  ImportReadSetFilter
+newImportReadSetFilter =
+  ImportReadSetFilter'
+    { createdAfter =
+        Prelude.Nothing,
+      createdBefore = Prelude.Nothing,
+      status = Prelude.Nothing
+    }
+
+-- | The filter\'s start date.
+importReadSetFilter_createdAfter :: Lens.Lens' ImportReadSetFilter (Prelude.Maybe Prelude.UTCTime)
+importReadSetFilter_createdAfter = Lens.lens (\ImportReadSetFilter' {createdAfter} -> createdAfter) (\s@ImportReadSetFilter' {} a -> s {createdAfter = a} :: ImportReadSetFilter) Prelude.. Lens.mapping Data._Time
+
+-- | The filter\'s end date.
+importReadSetFilter_createdBefore :: Lens.Lens' ImportReadSetFilter (Prelude.Maybe Prelude.UTCTime)
+importReadSetFilter_createdBefore = Lens.lens (\ImportReadSetFilter' {createdBefore} -> createdBefore) (\s@ImportReadSetFilter' {} a -> s {createdBefore = a} :: ImportReadSetFilter) Prelude.. Lens.mapping Data._Time
+
+-- | A status to filter on.
+importReadSetFilter_status :: Lens.Lens' ImportReadSetFilter (Prelude.Maybe ReadSetImportJobStatus)
+importReadSetFilter_status = Lens.lens (\ImportReadSetFilter' {status} -> status) (\s@ImportReadSetFilter' {} a -> s {status = a} :: ImportReadSetFilter)
+
+instance Prelude.Hashable ImportReadSetFilter where
+  hashWithSalt _salt ImportReadSetFilter' {..} =
+    _salt
+      `Prelude.hashWithSalt` createdAfter
+      `Prelude.hashWithSalt` createdBefore
+      `Prelude.hashWithSalt` status
+
+instance Prelude.NFData ImportReadSetFilter where
+  rnf ImportReadSetFilter' {..} =
+    Prelude.rnf createdAfter
+      `Prelude.seq` Prelude.rnf createdBefore
+      `Prelude.seq` Prelude.rnf status
+
+instance Data.ToJSON ImportReadSetFilter where
+  toJSON ImportReadSetFilter' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("createdAfter" Data..=) Prelude.<$> createdAfter,
+            ("createdBefore" Data..=) Prelude.<$> createdBefore,
+            ("status" Data..=) Prelude.<$> status
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/ImportReadSetJobItem.hs b/gen/Amazonka/Omics/Types/ImportReadSetJobItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ImportReadSetJobItem.hs
@@ -0,0 +1,149 @@
+{-# 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.Omics.Types.ImportReadSetJobItem
+-- 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.Omics.Types.ImportReadSetJobItem where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.ReadSetImportJobStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | An import read set job.
+--
+-- /See:/ 'newImportReadSetJobItem' smart constructor.
+data ImportReadSetJobItem = ImportReadSetJobItem'
+  { -- | When the job completed.
+    completionTime :: Prelude.Maybe Data.ISO8601,
+    -- | When the job was created.
+    creationTime :: Data.ISO8601,
+    -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s service role ARN.
+    roleArn :: Prelude.Text,
+    -- | The job\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text,
+    -- | The job\'s status.
+    status :: ReadSetImportJobStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ImportReadSetJobItem' 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:
+--
+-- 'completionTime', 'importReadSetJobItem_completionTime' - When the job completed.
+--
+-- 'creationTime', 'importReadSetJobItem_creationTime' - When the job was created.
+--
+-- 'id', 'importReadSetJobItem_id' - The job\'s ID.
+--
+-- 'roleArn', 'importReadSetJobItem_roleArn' - The job\'s service role ARN.
+--
+-- 'sequenceStoreId', 'importReadSetJobItem_sequenceStoreId' - The job\'s sequence store ID.
+--
+-- 'status', 'importReadSetJobItem_status' - The job\'s status.
+newImportReadSetJobItem ::
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'roleArn'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  -- | 'status'
+  ReadSetImportJobStatus ->
+  ImportReadSetJobItem
+newImportReadSetJobItem
+  pCreationTime_
+  pId_
+  pRoleArn_
+  pSequenceStoreId_
+  pStatus_ =
+    ImportReadSetJobItem'
+      { completionTime =
+          Prelude.Nothing,
+        creationTime = Data._Time Lens.# pCreationTime_,
+        id = pId_,
+        roleArn = pRoleArn_,
+        sequenceStoreId = pSequenceStoreId_,
+        status = pStatus_
+      }
+
+-- | When the job completed.
+importReadSetJobItem_completionTime :: Lens.Lens' ImportReadSetJobItem (Prelude.Maybe Prelude.UTCTime)
+importReadSetJobItem_completionTime = Lens.lens (\ImportReadSetJobItem' {completionTime} -> completionTime) (\s@ImportReadSetJobItem' {} a -> s {completionTime = a} :: ImportReadSetJobItem) Prelude.. Lens.mapping Data._Time
+
+-- | When the job was created.
+importReadSetJobItem_creationTime :: Lens.Lens' ImportReadSetJobItem Prelude.UTCTime
+importReadSetJobItem_creationTime = Lens.lens (\ImportReadSetJobItem' {creationTime} -> creationTime) (\s@ImportReadSetJobItem' {} a -> s {creationTime = a} :: ImportReadSetJobItem) Prelude.. Data._Time
+
+-- | The job\'s ID.
+importReadSetJobItem_id :: Lens.Lens' ImportReadSetJobItem Prelude.Text
+importReadSetJobItem_id = Lens.lens (\ImportReadSetJobItem' {id} -> id) (\s@ImportReadSetJobItem' {} a -> s {id = a} :: ImportReadSetJobItem)
+
+-- | The job\'s service role ARN.
+importReadSetJobItem_roleArn :: Lens.Lens' ImportReadSetJobItem Prelude.Text
+importReadSetJobItem_roleArn = Lens.lens (\ImportReadSetJobItem' {roleArn} -> roleArn) (\s@ImportReadSetJobItem' {} a -> s {roleArn = a} :: ImportReadSetJobItem)
+
+-- | The job\'s sequence store ID.
+importReadSetJobItem_sequenceStoreId :: Lens.Lens' ImportReadSetJobItem Prelude.Text
+importReadSetJobItem_sequenceStoreId = Lens.lens (\ImportReadSetJobItem' {sequenceStoreId} -> sequenceStoreId) (\s@ImportReadSetJobItem' {} a -> s {sequenceStoreId = a} :: ImportReadSetJobItem)
+
+-- | The job\'s status.
+importReadSetJobItem_status :: Lens.Lens' ImportReadSetJobItem ReadSetImportJobStatus
+importReadSetJobItem_status = Lens.lens (\ImportReadSetJobItem' {status} -> status) (\s@ImportReadSetJobItem' {} a -> s {status = a} :: ImportReadSetJobItem)
+
+instance Data.FromJSON ImportReadSetJobItem where
+  parseJSON =
+    Data.withObject
+      "ImportReadSetJobItem"
+      ( \x ->
+          ImportReadSetJobItem'
+            Prelude.<$> (x Data..:? "completionTime")
+            Prelude.<*> (x Data..: "creationTime")
+            Prelude.<*> (x Data..: "id")
+            Prelude.<*> (x Data..: "roleArn")
+            Prelude.<*> (x Data..: "sequenceStoreId")
+            Prelude.<*> (x Data..: "status")
+      )
+
+instance Prelude.Hashable ImportReadSetJobItem where
+  hashWithSalt _salt ImportReadSetJobItem' {..} =
+    _salt
+      `Prelude.hashWithSalt` completionTime
+      `Prelude.hashWithSalt` creationTime
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` roleArn
+      `Prelude.hashWithSalt` sequenceStoreId
+      `Prelude.hashWithSalt` status
+
+instance Prelude.NFData ImportReadSetJobItem where
+  rnf ImportReadSetJobItem' {..} =
+    Prelude.rnf completionTime
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf roleArn
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/Types/ImportReadSetSourceItem.hs b/gen/Amazonka/Omics/Types/ImportReadSetSourceItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ImportReadSetSourceItem.hs
@@ -0,0 +1,211 @@
+{-# 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.Omics.Types.ImportReadSetSourceItem
+-- 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.Omics.Types.ImportReadSetSourceItem where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.FileType
+import Amazonka.Omics.Types.ReadSetImportJobItemStatus
+import Amazonka.Omics.Types.SourceFiles
+import qualified Amazonka.Prelude as Prelude
+
+-- | A source for an import read set job.
+--
+-- /See:/ 'newImportReadSetSourceItem' smart constructor.
+data ImportReadSetSourceItem = ImportReadSetSourceItem'
+  { -- | The source\'s description.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | Where the source originated.
+    generatedFrom :: Prelude.Maybe Prelude.Text,
+    -- | The source\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The source\'s genome reference ARN.
+    referenceArn :: Prelude.Maybe Prelude.Text,
+    -- | The source\'s status message.
+    statusMessage :: Prelude.Maybe Prelude.Text,
+    -- | The source\'s tags.
+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | The source\'s sample ID.
+    sampleId :: Prelude.Text,
+    -- | The source\'s file type.
+    sourceFileType :: FileType,
+    -- | The source files\' location in Amazon S3.
+    sourceFiles :: SourceFiles,
+    -- | The source\'s status.
+    status :: ReadSetImportJobItemStatus,
+    -- | The source\'s subject ID.
+    subjectId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ImportReadSetSourceItem' 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', 'importReadSetSourceItem_description' - The source\'s description.
+--
+-- 'generatedFrom', 'importReadSetSourceItem_generatedFrom' - Where the source originated.
+--
+-- 'name', 'importReadSetSourceItem_name' - The source\'s name.
+--
+-- 'referenceArn', 'importReadSetSourceItem_referenceArn' - The source\'s genome reference ARN.
+--
+-- 'statusMessage', 'importReadSetSourceItem_statusMessage' - The source\'s status message.
+--
+-- 'tags', 'importReadSetSourceItem_tags' - The source\'s tags.
+--
+-- 'sampleId', 'importReadSetSourceItem_sampleId' - The source\'s sample ID.
+--
+-- 'sourceFileType', 'importReadSetSourceItem_sourceFileType' - The source\'s file type.
+--
+-- 'sourceFiles', 'importReadSetSourceItem_sourceFiles' - The source files\' location in Amazon S3.
+--
+-- 'status', 'importReadSetSourceItem_status' - The source\'s status.
+--
+-- 'subjectId', 'importReadSetSourceItem_subjectId' - The source\'s subject ID.
+newImportReadSetSourceItem ::
+  -- | 'sampleId'
+  Prelude.Text ->
+  -- | 'sourceFileType'
+  FileType ->
+  -- | 'sourceFiles'
+  SourceFiles ->
+  -- | 'status'
+  ReadSetImportJobItemStatus ->
+  -- | 'subjectId'
+  Prelude.Text ->
+  ImportReadSetSourceItem
+newImportReadSetSourceItem
+  pSampleId_
+  pSourceFileType_
+  pSourceFiles_
+  pStatus_
+  pSubjectId_ =
+    ImportReadSetSourceItem'
+      { description =
+          Prelude.Nothing,
+        generatedFrom = Prelude.Nothing,
+        name = Prelude.Nothing,
+        referenceArn = Prelude.Nothing,
+        statusMessage = Prelude.Nothing,
+        tags = Prelude.Nothing,
+        sampleId = pSampleId_,
+        sourceFileType = pSourceFileType_,
+        sourceFiles = pSourceFiles_,
+        status = pStatus_,
+        subjectId = pSubjectId_
+      }
+
+-- | The source\'s description.
+importReadSetSourceItem_description :: Lens.Lens' ImportReadSetSourceItem (Prelude.Maybe Prelude.Text)
+importReadSetSourceItem_description = Lens.lens (\ImportReadSetSourceItem' {description} -> description) (\s@ImportReadSetSourceItem' {} a -> s {description = a} :: ImportReadSetSourceItem)
+
+-- | Where the source originated.
+importReadSetSourceItem_generatedFrom :: Lens.Lens' ImportReadSetSourceItem (Prelude.Maybe Prelude.Text)
+importReadSetSourceItem_generatedFrom = Lens.lens (\ImportReadSetSourceItem' {generatedFrom} -> generatedFrom) (\s@ImportReadSetSourceItem' {} a -> s {generatedFrom = a} :: ImportReadSetSourceItem)
+
+-- | The source\'s name.
+importReadSetSourceItem_name :: Lens.Lens' ImportReadSetSourceItem (Prelude.Maybe Prelude.Text)
+importReadSetSourceItem_name = Lens.lens (\ImportReadSetSourceItem' {name} -> name) (\s@ImportReadSetSourceItem' {} a -> s {name = a} :: ImportReadSetSourceItem)
+
+-- | The source\'s genome reference ARN.
+importReadSetSourceItem_referenceArn :: Lens.Lens' ImportReadSetSourceItem (Prelude.Maybe Prelude.Text)
+importReadSetSourceItem_referenceArn = Lens.lens (\ImportReadSetSourceItem' {referenceArn} -> referenceArn) (\s@ImportReadSetSourceItem' {} a -> s {referenceArn = a} :: ImportReadSetSourceItem)
+
+-- | The source\'s status message.
+importReadSetSourceItem_statusMessage :: Lens.Lens' ImportReadSetSourceItem (Prelude.Maybe Prelude.Text)
+importReadSetSourceItem_statusMessage = Lens.lens (\ImportReadSetSourceItem' {statusMessage} -> statusMessage) (\s@ImportReadSetSourceItem' {} a -> s {statusMessage = a} :: ImportReadSetSourceItem)
+
+-- | The source\'s tags.
+importReadSetSourceItem_tags :: Lens.Lens' ImportReadSetSourceItem (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+importReadSetSourceItem_tags = Lens.lens (\ImportReadSetSourceItem' {tags} -> tags) (\s@ImportReadSetSourceItem' {} a -> s {tags = a} :: ImportReadSetSourceItem) Prelude.. Lens.mapping Lens.coerced
+
+-- | The source\'s sample ID.
+importReadSetSourceItem_sampleId :: Lens.Lens' ImportReadSetSourceItem Prelude.Text
+importReadSetSourceItem_sampleId = Lens.lens (\ImportReadSetSourceItem' {sampleId} -> sampleId) (\s@ImportReadSetSourceItem' {} a -> s {sampleId = a} :: ImportReadSetSourceItem)
+
+-- | The source\'s file type.
+importReadSetSourceItem_sourceFileType :: Lens.Lens' ImportReadSetSourceItem FileType
+importReadSetSourceItem_sourceFileType = Lens.lens (\ImportReadSetSourceItem' {sourceFileType} -> sourceFileType) (\s@ImportReadSetSourceItem' {} a -> s {sourceFileType = a} :: ImportReadSetSourceItem)
+
+-- | The source files\' location in Amazon S3.
+importReadSetSourceItem_sourceFiles :: Lens.Lens' ImportReadSetSourceItem SourceFiles
+importReadSetSourceItem_sourceFiles = Lens.lens (\ImportReadSetSourceItem' {sourceFiles} -> sourceFiles) (\s@ImportReadSetSourceItem' {} a -> s {sourceFiles = a} :: ImportReadSetSourceItem)
+
+-- | The source\'s status.
+importReadSetSourceItem_status :: Lens.Lens' ImportReadSetSourceItem ReadSetImportJobItemStatus
+importReadSetSourceItem_status = Lens.lens (\ImportReadSetSourceItem' {status} -> status) (\s@ImportReadSetSourceItem' {} a -> s {status = a} :: ImportReadSetSourceItem)
+
+-- | The source\'s subject ID.
+importReadSetSourceItem_subjectId :: Lens.Lens' ImportReadSetSourceItem Prelude.Text
+importReadSetSourceItem_subjectId = Lens.lens (\ImportReadSetSourceItem' {subjectId} -> subjectId) (\s@ImportReadSetSourceItem' {} a -> s {subjectId = a} :: ImportReadSetSourceItem)
+
+instance Data.FromJSON ImportReadSetSourceItem where
+  parseJSON =
+    Data.withObject
+      "ImportReadSetSourceItem"
+      ( \x ->
+          ImportReadSetSourceItem'
+            Prelude.<$> (x Data..:? "description")
+            Prelude.<*> (x Data..:? "generatedFrom")
+            Prelude.<*> (x Data..:? "name")
+            Prelude.<*> (x Data..:? "referenceArn")
+            Prelude.<*> (x Data..:? "statusMessage")
+            Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)
+            Prelude.<*> (x Data..: "sampleId")
+            Prelude.<*> (x Data..: "sourceFileType")
+            Prelude.<*> (x Data..: "sourceFiles")
+            Prelude.<*> (x Data..: "status")
+            Prelude.<*> (x Data..: "subjectId")
+      )
+
+instance Prelude.Hashable ImportReadSetSourceItem where
+  hashWithSalt _salt ImportReadSetSourceItem' {..} =
+    _salt
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` generatedFrom
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` referenceArn
+      `Prelude.hashWithSalt` statusMessage
+      `Prelude.hashWithSalt` tags
+      `Prelude.hashWithSalt` sampleId
+      `Prelude.hashWithSalt` sourceFileType
+      `Prelude.hashWithSalt` sourceFiles
+      `Prelude.hashWithSalt` status
+      `Prelude.hashWithSalt` subjectId
+
+instance Prelude.NFData ImportReadSetSourceItem where
+  rnf ImportReadSetSourceItem' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf generatedFrom
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf referenceArn
+      `Prelude.seq` Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf sampleId
+      `Prelude.seq` Prelude.rnf sourceFileType
+      `Prelude.seq` Prelude.rnf sourceFiles
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf subjectId
diff --git a/gen/Amazonka/Omics/Types/ImportReferenceFilter.hs b/gen/Amazonka/Omics/Types/ImportReferenceFilter.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ImportReferenceFilter.hs
@@ -0,0 +1,97 @@
+{-# 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.Omics.Types.ImportReferenceFilter
+-- 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.Omics.Types.ImportReferenceFilter where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.ReferenceImportJobStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | A filter for import references.
+--
+-- /See:/ 'newImportReferenceFilter' smart constructor.
+data ImportReferenceFilter = ImportReferenceFilter'
+  { -- | The filter\'s start date.
+    createdAfter :: Prelude.Maybe Data.ISO8601,
+    -- | The filter\'s end date.
+    createdBefore :: Prelude.Maybe Data.ISO8601,
+    -- | A status to filter on.
+    status :: Prelude.Maybe ReferenceImportJobStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ImportReferenceFilter' 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:
+--
+-- 'createdAfter', 'importReferenceFilter_createdAfter' - The filter\'s start date.
+--
+-- 'createdBefore', 'importReferenceFilter_createdBefore' - The filter\'s end date.
+--
+-- 'status', 'importReferenceFilter_status' - A status to filter on.
+newImportReferenceFilter ::
+  ImportReferenceFilter
+newImportReferenceFilter =
+  ImportReferenceFilter'
+    { createdAfter =
+        Prelude.Nothing,
+      createdBefore = Prelude.Nothing,
+      status = Prelude.Nothing
+    }
+
+-- | The filter\'s start date.
+importReferenceFilter_createdAfter :: Lens.Lens' ImportReferenceFilter (Prelude.Maybe Prelude.UTCTime)
+importReferenceFilter_createdAfter = Lens.lens (\ImportReferenceFilter' {createdAfter} -> createdAfter) (\s@ImportReferenceFilter' {} a -> s {createdAfter = a} :: ImportReferenceFilter) Prelude.. Lens.mapping Data._Time
+
+-- | The filter\'s end date.
+importReferenceFilter_createdBefore :: Lens.Lens' ImportReferenceFilter (Prelude.Maybe Prelude.UTCTime)
+importReferenceFilter_createdBefore = Lens.lens (\ImportReferenceFilter' {createdBefore} -> createdBefore) (\s@ImportReferenceFilter' {} a -> s {createdBefore = a} :: ImportReferenceFilter) Prelude.. Lens.mapping Data._Time
+
+-- | A status to filter on.
+importReferenceFilter_status :: Lens.Lens' ImportReferenceFilter (Prelude.Maybe ReferenceImportJobStatus)
+importReferenceFilter_status = Lens.lens (\ImportReferenceFilter' {status} -> status) (\s@ImportReferenceFilter' {} a -> s {status = a} :: ImportReferenceFilter)
+
+instance Prelude.Hashable ImportReferenceFilter where
+  hashWithSalt _salt ImportReferenceFilter' {..} =
+    _salt
+      `Prelude.hashWithSalt` createdAfter
+      `Prelude.hashWithSalt` createdBefore
+      `Prelude.hashWithSalt` status
+
+instance Prelude.NFData ImportReferenceFilter where
+  rnf ImportReferenceFilter' {..} =
+    Prelude.rnf createdAfter
+      `Prelude.seq` Prelude.rnf createdBefore
+      `Prelude.seq` Prelude.rnf status
+
+instance Data.ToJSON ImportReferenceFilter where
+  toJSON ImportReferenceFilter' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("createdAfter" Data..=) Prelude.<$> createdAfter,
+            ("createdBefore" Data..=) Prelude.<$> createdBefore,
+            ("status" Data..=) Prelude.<$> status
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/ImportReferenceJobItem.hs b/gen/Amazonka/Omics/Types/ImportReferenceJobItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ImportReferenceJobItem.hs
@@ -0,0 +1,149 @@
+{-# 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.Omics.Types.ImportReferenceJobItem
+-- 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.Omics.Types.ImportReferenceJobItem where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.ReferenceImportJobStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | An import reference job.
+--
+-- /See:/ 'newImportReferenceJobItem' smart constructor.
+data ImportReferenceJobItem = ImportReferenceJobItem'
+  { -- | When the job completed.
+    completionTime :: Prelude.Maybe Data.ISO8601,
+    -- | When the job was created.
+    creationTime :: Data.ISO8601,
+    -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s reference store ID.
+    referenceStoreId :: Prelude.Text,
+    -- | The job\'s service role ARN.
+    roleArn :: Prelude.Text,
+    -- | The job\'s status.
+    status :: ReferenceImportJobStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ImportReferenceJobItem' 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:
+--
+-- 'completionTime', 'importReferenceJobItem_completionTime' - When the job completed.
+--
+-- 'creationTime', 'importReferenceJobItem_creationTime' - When the job was created.
+--
+-- 'id', 'importReferenceJobItem_id' - The job\'s ID.
+--
+-- 'referenceStoreId', 'importReferenceJobItem_referenceStoreId' - The job\'s reference store ID.
+--
+-- 'roleArn', 'importReferenceJobItem_roleArn' - The job\'s service role ARN.
+--
+-- 'status', 'importReferenceJobItem_status' - The job\'s status.
+newImportReferenceJobItem ::
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'referenceStoreId'
+  Prelude.Text ->
+  -- | 'roleArn'
+  Prelude.Text ->
+  -- | 'status'
+  ReferenceImportJobStatus ->
+  ImportReferenceJobItem
+newImportReferenceJobItem
+  pCreationTime_
+  pId_
+  pReferenceStoreId_
+  pRoleArn_
+  pStatus_ =
+    ImportReferenceJobItem'
+      { completionTime =
+          Prelude.Nothing,
+        creationTime = Data._Time Lens.# pCreationTime_,
+        id = pId_,
+        referenceStoreId = pReferenceStoreId_,
+        roleArn = pRoleArn_,
+        status = pStatus_
+      }
+
+-- | When the job completed.
+importReferenceJobItem_completionTime :: Lens.Lens' ImportReferenceJobItem (Prelude.Maybe Prelude.UTCTime)
+importReferenceJobItem_completionTime = Lens.lens (\ImportReferenceJobItem' {completionTime} -> completionTime) (\s@ImportReferenceJobItem' {} a -> s {completionTime = a} :: ImportReferenceJobItem) Prelude.. Lens.mapping Data._Time
+
+-- | When the job was created.
+importReferenceJobItem_creationTime :: Lens.Lens' ImportReferenceJobItem Prelude.UTCTime
+importReferenceJobItem_creationTime = Lens.lens (\ImportReferenceJobItem' {creationTime} -> creationTime) (\s@ImportReferenceJobItem' {} a -> s {creationTime = a} :: ImportReferenceJobItem) Prelude.. Data._Time
+
+-- | The job\'s ID.
+importReferenceJobItem_id :: Lens.Lens' ImportReferenceJobItem Prelude.Text
+importReferenceJobItem_id = Lens.lens (\ImportReferenceJobItem' {id} -> id) (\s@ImportReferenceJobItem' {} a -> s {id = a} :: ImportReferenceJobItem)
+
+-- | The job\'s reference store ID.
+importReferenceJobItem_referenceStoreId :: Lens.Lens' ImportReferenceJobItem Prelude.Text
+importReferenceJobItem_referenceStoreId = Lens.lens (\ImportReferenceJobItem' {referenceStoreId} -> referenceStoreId) (\s@ImportReferenceJobItem' {} a -> s {referenceStoreId = a} :: ImportReferenceJobItem)
+
+-- | The job\'s service role ARN.
+importReferenceJobItem_roleArn :: Lens.Lens' ImportReferenceJobItem Prelude.Text
+importReferenceJobItem_roleArn = Lens.lens (\ImportReferenceJobItem' {roleArn} -> roleArn) (\s@ImportReferenceJobItem' {} a -> s {roleArn = a} :: ImportReferenceJobItem)
+
+-- | The job\'s status.
+importReferenceJobItem_status :: Lens.Lens' ImportReferenceJobItem ReferenceImportJobStatus
+importReferenceJobItem_status = Lens.lens (\ImportReferenceJobItem' {status} -> status) (\s@ImportReferenceJobItem' {} a -> s {status = a} :: ImportReferenceJobItem)
+
+instance Data.FromJSON ImportReferenceJobItem where
+  parseJSON =
+    Data.withObject
+      "ImportReferenceJobItem"
+      ( \x ->
+          ImportReferenceJobItem'
+            Prelude.<$> (x Data..:? "completionTime")
+            Prelude.<*> (x Data..: "creationTime")
+            Prelude.<*> (x Data..: "id")
+            Prelude.<*> (x Data..: "referenceStoreId")
+            Prelude.<*> (x Data..: "roleArn")
+            Prelude.<*> (x Data..: "status")
+      )
+
+instance Prelude.Hashable ImportReferenceJobItem where
+  hashWithSalt _salt ImportReferenceJobItem' {..} =
+    _salt
+      `Prelude.hashWithSalt` completionTime
+      `Prelude.hashWithSalt` creationTime
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` referenceStoreId
+      `Prelude.hashWithSalt` roleArn
+      `Prelude.hashWithSalt` status
+
+instance Prelude.NFData ImportReferenceJobItem where
+  rnf ImportReferenceJobItem' {..} =
+    Prelude.rnf completionTime
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf referenceStoreId
+      `Prelude.seq` Prelude.rnf roleArn
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/Types/ImportReferenceSourceItem.hs b/gen/Amazonka/Omics/Types/ImportReferenceSourceItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ImportReferenceSourceItem.hs
@@ -0,0 +1,136 @@
+{-# 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.Omics.Types.ImportReferenceSourceItem
+-- 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.Omics.Types.ImportReferenceSourceItem where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.ReferenceImportJobItemStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | An genome reference source.
+--
+-- /See:/ 'newImportReferenceSourceItem' smart constructor.
+data ImportReferenceSourceItem = ImportReferenceSourceItem'
+  { -- | The source\'s description.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | The source\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The source file\'s location in Amazon S3.
+    sourceFile :: Prelude.Maybe Prelude.Text,
+    -- | The source\'s status message.
+    statusMessage :: Prelude.Maybe Prelude.Text,
+    -- | The source\'s tags.
+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | The source\'s status.
+    status :: ReferenceImportJobItemStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ImportReferenceSourceItem' 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', 'importReferenceSourceItem_description' - The source\'s description.
+--
+-- 'name', 'importReferenceSourceItem_name' - The source\'s name.
+--
+-- 'sourceFile', 'importReferenceSourceItem_sourceFile' - The source file\'s location in Amazon S3.
+--
+-- 'statusMessage', 'importReferenceSourceItem_statusMessage' - The source\'s status message.
+--
+-- 'tags', 'importReferenceSourceItem_tags' - The source\'s tags.
+--
+-- 'status', 'importReferenceSourceItem_status' - The source\'s status.
+newImportReferenceSourceItem ::
+  -- | 'status'
+  ReferenceImportJobItemStatus ->
+  ImportReferenceSourceItem
+newImportReferenceSourceItem pStatus_ =
+  ImportReferenceSourceItem'
+    { description =
+        Prelude.Nothing,
+      name = Prelude.Nothing,
+      sourceFile = Prelude.Nothing,
+      statusMessage = Prelude.Nothing,
+      tags = Prelude.Nothing,
+      status = pStatus_
+    }
+
+-- | The source\'s description.
+importReferenceSourceItem_description :: Lens.Lens' ImportReferenceSourceItem (Prelude.Maybe Prelude.Text)
+importReferenceSourceItem_description = Lens.lens (\ImportReferenceSourceItem' {description} -> description) (\s@ImportReferenceSourceItem' {} a -> s {description = a} :: ImportReferenceSourceItem)
+
+-- | The source\'s name.
+importReferenceSourceItem_name :: Lens.Lens' ImportReferenceSourceItem (Prelude.Maybe Prelude.Text)
+importReferenceSourceItem_name = Lens.lens (\ImportReferenceSourceItem' {name} -> name) (\s@ImportReferenceSourceItem' {} a -> s {name = a} :: ImportReferenceSourceItem)
+
+-- | The source file\'s location in Amazon S3.
+importReferenceSourceItem_sourceFile :: Lens.Lens' ImportReferenceSourceItem (Prelude.Maybe Prelude.Text)
+importReferenceSourceItem_sourceFile = Lens.lens (\ImportReferenceSourceItem' {sourceFile} -> sourceFile) (\s@ImportReferenceSourceItem' {} a -> s {sourceFile = a} :: ImportReferenceSourceItem)
+
+-- | The source\'s status message.
+importReferenceSourceItem_statusMessage :: Lens.Lens' ImportReferenceSourceItem (Prelude.Maybe Prelude.Text)
+importReferenceSourceItem_statusMessage = Lens.lens (\ImportReferenceSourceItem' {statusMessage} -> statusMessage) (\s@ImportReferenceSourceItem' {} a -> s {statusMessage = a} :: ImportReferenceSourceItem)
+
+-- | The source\'s tags.
+importReferenceSourceItem_tags :: Lens.Lens' ImportReferenceSourceItem (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+importReferenceSourceItem_tags = Lens.lens (\ImportReferenceSourceItem' {tags} -> tags) (\s@ImportReferenceSourceItem' {} a -> s {tags = a} :: ImportReferenceSourceItem) Prelude.. Lens.mapping Lens.coerced
+
+-- | The source\'s status.
+importReferenceSourceItem_status :: Lens.Lens' ImportReferenceSourceItem ReferenceImportJobItemStatus
+importReferenceSourceItem_status = Lens.lens (\ImportReferenceSourceItem' {status} -> status) (\s@ImportReferenceSourceItem' {} a -> s {status = a} :: ImportReferenceSourceItem)
+
+instance Data.FromJSON ImportReferenceSourceItem where
+  parseJSON =
+    Data.withObject
+      "ImportReferenceSourceItem"
+      ( \x ->
+          ImportReferenceSourceItem'
+            Prelude.<$> (x Data..:? "description")
+            Prelude.<*> (x Data..:? "name")
+            Prelude.<*> (x Data..:? "sourceFile")
+            Prelude.<*> (x Data..:? "statusMessage")
+            Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)
+            Prelude.<*> (x Data..: "status")
+      )
+
+instance Prelude.Hashable ImportReferenceSourceItem where
+  hashWithSalt _salt ImportReferenceSourceItem' {..} =
+    _salt
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` sourceFile
+      `Prelude.hashWithSalt` statusMessage
+      `Prelude.hashWithSalt` tags
+      `Prelude.hashWithSalt` status
+
+instance Prelude.NFData ImportReferenceSourceItem where
+  rnf ImportReferenceSourceItem' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf sourceFile
+      `Prelude.seq` Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/Types/JobStatus.hs b/gen/Amazonka/Omics/Types/JobStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/JobStatus.hs
@@ -0,0 +1,86 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.JobStatus
+-- 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.Omics.Types.JobStatus
+  ( JobStatus
+      ( ..,
+        JobStatus_CANCELLED,
+        JobStatus_COMPLETED,
+        JobStatus_FAILED,
+        JobStatus_IN_PROGRESS,
+        JobStatus_SUBMITTED
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype JobStatus = JobStatus'
+  { fromJobStatus ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern JobStatus_CANCELLED :: JobStatus
+pattern JobStatus_CANCELLED = JobStatus' "CANCELLED"
+
+pattern JobStatus_COMPLETED :: JobStatus
+pattern JobStatus_COMPLETED = JobStatus' "COMPLETED"
+
+pattern JobStatus_FAILED :: JobStatus
+pattern JobStatus_FAILED = JobStatus' "FAILED"
+
+pattern JobStatus_IN_PROGRESS :: JobStatus
+pattern JobStatus_IN_PROGRESS = JobStatus' "IN_PROGRESS"
+
+pattern JobStatus_SUBMITTED :: JobStatus
+pattern JobStatus_SUBMITTED = JobStatus' "SUBMITTED"
+
+{-# COMPLETE
+  JobStatus_CANCELLED,
+  JobStatus_COMPLETED,
+  JobStatus_FAILED,
+  JobStatus_IN_PROGRESS,
+  JobStatus_SUBMITTED,
+  JobStatus'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/ListAnnotationImportJobsFilter.hs b/gen/Amazonka/Omics/Types/ListAnnotationImportJobsFilter.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ListAnnotationImportJobsFilter.hs
@@ -0,0 +1,93 @@
+{-# 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.Omics.Types.ListAnnotationImportJobsFilter
+-- 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.Omics.Types.ListAnnotationImportJobsFilter where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.JobStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | A filter for annotation import jobs.
+--
+-- /See:/ 'newListAnnotationImportJobsFilter' smart constructor.
+data ListAnnotationImportJobsFilter = ListAnnotationImportJobsFilter'
+  { -- | A status to filter on.
+    status :: Prelude.Maybe JobStatus,
+    -- | A store name to filter on.
+    storeName :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListAnnotationImportJobsFilter' 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:
+--
+-- 'status', 'listAnnotationImportJobsFilter_status' - A status to filter on.
+--
+-- 'storeName', 'listAnnotationImportJobsFilter_storeName' - A store name to filter on.
+newListAnnotationImportJobsFilter ::
+  ListAnnotationImportJobsFilter
+newListAnnotationImportJobsFilter =
+  ListAnnotationImportJobsFilter'
+    { status =
+        Prelude.Nothing,
+      storeName = Prelude.Nothing
+    }
+
+-- | A status to filter on.
+listAnnotationImportJobsFilter_status :: Lens.Lens' ListAnnotationImportJobsFilter (Prelude.Maybe JobStatus)
+listAnnotationImportJobsFilter_status = Lens.lens (\ListAnnotationImportJobsFilter' {status} -> status) (\s@ListAnnotationImportJobsFilter' {} a -> s {status = a} :: ListAnnotationImportJobsFilter)
+
+-- | A store name to filter on.
+listAnnotationImportJobsFilter_storeName :: Lens.Lens' ListAnnotationImportJobsFilter (Prelude.Maybe Prelude.Text)
+listAnnotationImportJobsFilter_storeName = Lens.lens (\ListAnnotationImportJobsFilter' {storeName} -> storeName) (\s@ListAnnotationImportJobsFilter' {} a -> s {storeName = a} :: ListAnnotationImportJobsFilter)
+
+instance
+  Prelude.Hashable
+    ListAnnotationImportJobsFilter
+  where
+  hashWithSalt
+    _salt
+    ListAnnotationImportJobsFilter' {..} =
+      _salt
+        `Prelude.hashWithSalt` status
+        `Prelude.hashWithSalt` storeName
+
+instance
+  Prelude.NFData
+    ListAnnotationImportJobsFilter
+  where
+  rnf ListAnnotationImportJobsFilter' {..} =
+    Prelude.rnf status
+      `Prelude.seq` Prelude.rnf storeName
+
+instance Data.ToJSON ListAnnotationImportJobsFilter where
+  toJSON ListAnnotationImportJobsFilter' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("status" Data..=) Prelude.<$> status,
+            ("storeName" Data..=) Prelude.<$> storeName
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/ListAnnotationStoresFilter.hs b/gen/Amazonka/Omics/Types/ListAnnotationStoresFilter.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ListAnnotationStoresFilter.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.Omics.Types.ListAnnotationStoresFilter
+-- 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.Omics.Types.ListAnnotationStoresFilter where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.StoreStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | A filter for annotation stores.
+--
+-- /See:/ 'newListAnnotationStoresFilter' smart constructor.
+data ListAnnotationStoresFilter = ListAnnotationStoresFilter'
+  { -- | A status to filter on.
+    status :: Prelude.Maybe StoreStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListAnnotationStoresFilter' 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:
+--
+-- 'status', 'listAnnotationStoresFilter_status' - A status to filter on.
+newListAnnotationStoresFilter ::
+  ListAnnotationStoresFilter
+newListAnnotationStoresFilter =
+  ListAnnotationStoresFilter'
+    { status =
+        Prelude.Nothing
+    }
+
+-- | A status to filter on.
+listAnnotationStoresFilter_status :: Lens.Lens' ListAnnotationStoresFilter (Prelude.Maybe StoreStatus)
+listAnnotationStoresFilter_status = Lens.lens (\ListAnnotationStoresFilter' {status} -> status) (\s@ListAnnotationStoresFilter' {} a -> s {status = a} :: ListAnnotationStoresFilter)
+
+instance Prelude.Hashable ListAnnotationStoresFilter where
+  hashWithSalt _salt ListAnnotationStoresFilter' {..} =
+    _salt `Prelude.hashWithSalt` status
+
+instance Prelude.NFData ListAnnotationStoresFilter where
+  rnf ListAnnotationStoresFilter' {..} =
+    Prelude.rnf status
+
+instance Data.ToJSON ListAnnotationStoresFilter where
+  toJSON ListAnnotationStoresFilter' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [("status" Data..=) Prelude.<$> status]
+      )
diff --git a/gen/Amazonka/Omics/Types/ListVariantImportJobsFilter.hs b/gen/Amazonka/Omics/Types/ListVariantImportJobsFilter.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ListVariantImportJobsFilter.hs
@@ -0,0 +1,85 @@
+{-# 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.Omics.Types.ListVariantImportJobsFilter
+-- 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.Omics.Types.ListVariantImportJobsFilter where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.JobStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | A filter for variant import jobs.
+--
+-- /See:/ 'newListVariantImportJobsFilter' smart constructor.
+data ListVariantImportJobsFilter = ListVariantImportJobsFilter'
+  { -- | A status to filter on.
+    status :: Prelude.Maybe JobStatus,
+    -- | A store name to filter on.
+    storeName :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListVariantImportJobsFilter' 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:
+--
+-- 'status', 'listVariantImportJobsFilter_status' - A status to filter on.
+--
+-- 'storeName', 'listVariantImportJobsFilter_storeName' - A store name to filter on.
+newListVariantImportJobsFilter ::
+  ListVariantImportJobsFilter
+newListVariantImportJobsFilter =
+  ListVariantImportJobsFilter'
+    { status =
+        Prelude.Nothing,
+      storeName = Prelude.Nothing
+    }
+
+-- | A status to filter on.
+listVariantImportJobsFilter_status :: Lens.Lens' ListVariantImportJobsFilter (Prelude.Maybe JobStatus)
+listVariantImportJobsFilter_status = Lens.lens (\ListVariantImportJobsFilter' {status} -> status) (\s@ListVariantImportJobsFilter' {} a -> s {status = a} :: ListVariantImportJobsFilter)
+
+-- | A store name to filter on.
+listVariantImportJobsFilter_storeName :: Lens.Lens' ListVariantImportJobsFilter (Prelude.Maybe Prelude.Text)
+listVariantImportJobsFilter_storeName = Lens.lens (\ListVariantImportJobsFilter' {storeName} -> storeName) (\s@ListVariantImportJobsFilter' {} a -> s {storeName = a} :: ListVariantImportJobsFilter)
+
+instance Prelude.Hashable ListVariantImportJobsFilter where
+  hashWithSalt _salt ListVariantImportJobsFilter' {..} =
+    _salt
+      `Prelude.hashWithSalt` status
+      `Prelude.hashWithSalt` storeName
+
+instance Prelude.NFData ListVariantImportJobsFilter where
+  rnf ListVariantImportJobsFilter' {..} =
+    Prelude.rnf status
+      `Prelude.seq` Prelude.rnf storeName
+
+instance Data.ToJSON ListVariantImportJobsFilter where
+  toJSON ListVariantImportJobsFilter' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("status" Data..=) Prelude.<$> status,
+            ("storeName" Data..=) Prelude.<$> storeName
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/ListVariantStoresFilter.hs b/gen/Amazonka/Omics/Types/ListVariantStoresFilter.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ListVariantStoresFilter.hs
@@ -0,0 +1,67 @@
+{-# 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.Omics.Types.ListVariantStoresFilter
+-- 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.Omics.Types.ListVariantStoresFilter where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.StoreStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | A filter for variant stores.
+--
+-- /See:/ 'newListVariantStoresFilter' smart constructor.
+data ListVariantStoresFilter = ListVariantStoresFilter'
+  { -- | A status to filter on.
+    status :: Prelude.Maybe StoreStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ListVariantStoresFilter' 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:
+--
+-- 'status', 'listVariantStoresFilter_status' - A status to filter on.
+newListVariantStoresFilter ::
+  ListVariantStoresFilter
+newListVariantStoresFilter =
+  ListVariantStoresFilter' {status = Prelude.Nothing}
+
+-- | A status to filter on.
+listVariantStoresFilter_status :: Lens.Lens' ListVariantStoresFilter (Prelude.Maybe StoreStatus)
+listVariantStoresFilter_status = Lens.lens (\ListVariantStoresFilter' {status} -> status) (\s@ListVariantStoresFilter' {} a -> s {status = a} :: ListVariantStoresFilter)
+
+instance Prelude.Hashable ListVariantStoresFilter where
+  hashWithSalt _salt ListVariantStoresFilter' {..} =
+    _salt `Prelude.hashWithSalt` status
+
+instance Prelude.NFData ListVariantStoresFilter where
+  rnf ListVariantStoresFilter' {..} = Prelude.rnf status
+
+instance Data.ToJSON ListVariantStoresFilter where
+  toJSON ListVariantStoresFilter' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [("status" Data..=) Prelude.<$> status]
+      )
diff --git a/gen/Amazonka/Omics/Types/ReadOptions.hs b/gen/Amazonka/Omics/Types/ReadOptions.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReadOptions.hs
@@ -0,0 +1,184 @@
+{-# 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.Omics.Types.ReadOptions
+-- 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.Omics.Types.ReadOptions 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
+
+-- | Read options for an annotation import job.
+--
+-- /See:/ 'newReadOptions' smart constructor.
+data ReadOptions = ReadOptions'
+  { -- | The file\'s comment character.
+    comment :: Prelude.Maybe Prelude.Text,
+    -- | The file\'s encoding.
+    encoding :: Prelude.Maybe Prelude.Text,
+    -- | A character for escaping quotes in the file.
+    escape :: Prelude.Maybe Prelude.Text,
+    -- | Whether quotes need to be escaped in the file.
+    escapeQuotes :: Prelude.Maybe Prelude.Bool,
+    -- | Whether the file has a header row.
+    header :: Prelude.Maybe Prelude.Bool,
+    -- | A line separator for the file.
+    lineSep :: Prelude.Maybe Prelude.Text,
+    -- | The file\'s quote character.
+    quote :: Prelude.Maybe Prelude.Text,
+    -- | Whether all values need to be quoted, or just those that contain quotes.
+    quoteAll :: Prelude.Maybe Prelude.Bool,
+    -- | The file\'s field separator.
+    sep :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ReadOptions' 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:
+--
+-- 'comment', 'readOptions_comment' - The file\'s comment character.
+--
+-- 'encoding', 'readOptions_encoding' - The file\'s encoding.
+--
+-- 'escape', 'readOptions_escape' - A character for escaping quotes in the file.
+--
+-- 'escapeQuotes', 'readOptions_escapeQuotes' - Whether quotes need to be escaped in the file.
+--
+-- 'header', 'readOptions_header' - Whether the file has a header row.
+--
+-- 'lineSep', 'readOptions_lineSep' - A line separator for the file.
+--
+-- 'quote', 'readOptions_quote' - The file\'s quote character.
+--
+-- 'quoteAll', 'readOptions_quoteAll' - Whether all values need to be quoted, or just those that contain quotes.
+--
+-- 'sep', 'readOptions_sep' - The file\'s field separator.
+newReadOptions ::
+  ReadOptions
+newReadOptions =
+  ReadOptions'
+    { comment = Prelude.Nothing,
+      encoding = Prelude.Nothing,
+      escape = Prelude.Nothing,
+      escapeQuotes = Prelude.Nothing,
+      header = Prelude.Nothing,
+      lineSep = Prelude.Nothing,
+      quote = Prelude.Nothing,
+      quoteAll = Prelude.Nothing,
+      sep = Prelude.Nothing
+    }
+
+-- | The file\'s comment character.
+readOptions_comment :: Lens.Lens' ReadOptions (Prelude.Maybe Prelude.Text)
+readOptions_comment = Lens.lens (\ReadOptions' {comment} -> comment) (\s@ReadOptions' {} a -> s {comment = a} :: ReadOptions)
+
+-- | The file\'s encoding.
+readOptions_encoding :: Lens.Lens' ReadOptions (Prelude.Maybe Prelude.Text)
+readOptions_encoding = Lens.lens (\ReadOptions' {encoding} -> encoding) (\s@ReadOptions' {} a -> s {encoding = a} :: ReadOptions)
+
+-- | A character for escaping quotes in the file.
+readOptions_escape :: Lens.Lens' ReadOptions (Prelude.Maybe Prelude.Text)
+readOptions_escape = Lens.lens (\ReadOptions' {escape} -> escape) (\s@ReadOptions' {} a -> s {escape = a} :: ReadOptions)
+
+-- | Whether quotes need to be escaped in the file.
+readOptions_escapeQuotes :: Lens.Lens' ReadOptions (Prelude.Maybe Prelude.Bool)
+readOptions_escapeQuotes = Lens.lens (\ReadOptions' {escapeQuotes} -> escapeQuotes) (\s@ReadOptions' {} a -> s {escapeQuotes = a} :: ReadOptions)
+
+-- | Whether the file has a header row.
+readOptions_header :: Lens.Lens' ReadOptions (Prelude.Maybe Prelude.Bool)
+readOptions_header = Lens.lens (\ReadOptions' {header} -> header) (\s@ReadOptions' {} a -> s {header = a} :: ReadOptions)
+
+-- | A line separator for the file.
+readOptions_lineSep :: Lens.Lens' ReadOptions (Prelude.Maybe Prelude.Text)
+readOptions_lineSep = Lens.lens (\ReadOptions' {lineSep} -> lineSep) (\s@ReadOptions' {} a -> s {lineSep = a} :: ReadOptions)
+
+-- | The file\'s quote character.
+readOptions_quote :: Lens.Lens' ReadOptions (Prelude.Maybe Prelude.Text)
+readOptions_quote = Lens.lens (\ReadOptions' {quote} -> quote) (\s@ReadOptions' {} a -> s {quote = a} :: ReadOptions)
+
+-- | Whether all values need to be quoted, or just those that contain quotes.
+readOptions_quoteAll :: Lens.Lens' ReadOptions (Prelude.Maybe Prelude.Bool)
+readOptions_quoteAll = Lens.lens (\ReadOptions' {quoteAll} -> quoteAll) (\s@ReadOptions' {} a -> s {quoteAll = a} :: ReadOptions)
+
+-- | The file\'s field separator.
+readOptions_sep :: Lens.Lens' ReadOptions (Prelude.Maybe Prelude.Text)
+readOptions_sep = Lens.lens (\ReadOptions' {sep} -> sep) (\s@ReadOptions' {} a -> s {sep = a} :: ReadOptions)
+
+instance Data.FromJSON ReadOptions where
+  parseJSON =
+    Data.withObject
+      "ReadOptions"
+      ( \x ->
+          ReadOptions'
+            Prelude.<$> (x Data..:? "comment")
+            Prelude.<*> (x Data..:? "encoding")
+            Prelude.<*> (x Data..:? "escape")
+            Prelude.<*> (x Data..:? "escapeQuotes")
+            Prelude.<*> (x Data..:? "header")
+            Prelude.<*> (x Data..:? "lineSep")
+            Prelude.<*> (x Data..:? "quote")
+            Prelude.<*> (x Data..:? "quoteAll")
+            Prelude.<*> (x Data..:? "sep")
+      )
+
+instance Prelude.Hashable ReadOptions where
+  hashWithSalt _salt ReadOptions' {..} =
+    _salt
+      `Prelude.hashWithSalt` comment
+      `Prelude.hashWithSalt` encoding
+      `Prelude.hashWithSalt` escape
+      `Prelude.hashWithSalt` escapeQuotes
+      `Prelude.hashWithSalt` header
+      `Prelude.hashWithSalt` lineSep
+      `Prelude.hashWithSalt` quote
+      `Prelude.hashWithSalt` quoteAll
+      `Prelude.hashWithSalt` sep
+
+instance Prelude.NFData ReadOptions where
+  rnf ReadOptions' {..} =
+    Prelude.rnf comment
+      `Prelude.seq` Prelude.rnf encoding
+      `Prelude.seq` Prelude.rnf escape
+      `Prelude.seq` Prelude.rnf escapeQuotes
+      `Prelude.seq` Prelude.rnf header
+      `Prelude.seq` Prelude.rnf lineSep
+      `Prelude.seq` Prelude.rnf quote
+      `Prelude.seq` Prelude.rnf quoteAll
+      `Prelude.seq` Prelude.rnf sep
+
+instance Data.ToJSON ReadOptions where
+  toJSON ReadOptions' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("comment" Data..=) Prelude.<$> comment,
+            ("encoding" Data..=) Prelude.<$> encoding,
+            ("escape" Data..=) Prelude.<$> escape,
+            ("escapeQuotes" Data..=) Prelude.<$> escapeQuotes,
+            ("header" Data..=) Prelude.<$> header,
+            ("lineSep" Data..=) Prelude.<$> lineSep,
+            ("quote" Data..=) Prelude.<$> quote,
+            ("quoteAll" Data..=) Prelude.<$> quoteAll,
+            ("sep" Data..=) Prelude.<$> sep
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/ReadSetActivationJobItemStatus.hs b/gen/Amazonka/Omics/Types/ReadSetActivationJobItemStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReadSetActivationJobItemStatus.hs
@@ -0,0 +1,81 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.ReadSetActivationJobItemStatus
+-- 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.Omics.Types.ReadSetActivationJobItemStatus
+  ( ReadSetActivationJobItemStatus
+      ( ..,
+        ReadSetActivationJobItemStatus_FAILED,
+        ReadSetActivationJobItemStatus_FINISHED,
+        ReadSetActivationJobItemStatus_IN_PROGRESS,
+        ReadSetActivationJobItemStatus_NOT_STARTED
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype ReadSetActivationJobItemStatus = ReadSetActivationJobItemStatus'
+  { fromReadSetActivationJobItemStatus ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern ReadSetActivationJobItemStatus_FAILED :: ReadSetActivationJobItemStatus
+pattern ReadSetActivationJobItemStatus_FAILED = ReadSetActivationJobItemStatus' "FAILED"
+
+pattern ReadSetActivationJobItemStatus_FINISHED :: ReadSetActivationJobItemStatus
+pattern ReadSetActivationJobItemStatus_FINISHED = ReadSetActivationJobItemStatus' "FINISHED"
+
+pattern ReadSetActivationJobItemStatus_IN_PROGRESS :: ReadSetActivationJobItemStatus
+pattern ReadSetActivationJobItemStatus_IN_PROGRESS = ReadSetActivationJobItemStatus' "IN_PROGRESS"
+
+pattern ReadSetActivationJobItemStatus_NOT_STARTED :: ReadSetActivationJobItemStatus
+pattern ReadSetActivationJobItemStatus_NOT_STARTED = ReadSetActivationJobItemStatus' "NOT_STARTED"
+
+{-# COMPLETE
+  ReadSetActivationJobItemStatus_FAILED,
+  ReadSetActivationJobItemStatus_FINISHED,
+  ReadSetActivationJobItemStatus_IN_PROGRESS,
+  ReadSetActivationJobItemStatus_NOT_STARTED,
+  ReadSetActivationJobItemStatus'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/ReadSetActivationJobStatus.hs b/gen/Amazonka/Omics/Types/ReadSetActivationJobStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReadSetActivationJobStatus.hs
@@ -0,0 +1,96 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.ReadSetActivationJobStatus
+-- 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.Omics.Types.ReadSetActivationJobStatus
+  ( ReadSetActivationJobStatus
+      ( ..,
+        ReadSetActivationJobStatus_CANCELLED,
+        ReadSetActivationJobStatus_CANCELLING,
+        ReadSetActivationJobStatus_COMPLETED,
+        ReadSetActivationJobStatus_COMPLETED_WITH_FAILURES,
+        ReadSetActivationJobStatus_FAILED,
+        ReadSetActivationJobStatus_IN_PROGRESS,
+        ReadSetActivationJobStatus_SUBMITTED
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype ReadSetActivationJobStatus = ReadSetActivationJobStatus'
+  { fromReadSetActivationJobStatus ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern ReadSetActivationJobStatus_CANCELLED :: ReadSetActivationJobStatus
+pattern ReadSetActivationJobStatus_CANCELLED = ReadSetActivationJobStatus' "CANCELLED"
+
+pattern ReadSetActivationJobStatus_CANCELLING :: ReadSetActivationJobStatus
+pattern ReadSetActivationJobStatus_CANCELLING = ReadSetActivationJobStatus' "CANCELLING"
+
+pattern ReadSetActivationJobStatus_COMPLETED :: ReadSetActivationJobStatus
+pattern ReadSetActivationJobStatus_COMPLETED = ReadSetActivationJobStatus' "COMPLETED"
+
+pattern ReadSetActivationJobStatus_COMPLETED_WITH_FAILURES :: ReadSetActivationJobStatus
+pattern ReadSetActivationJobStatus_COMPLETED_WITH_FAILURES = ReadSetActivationJobStatus' "COMPLETED_WITH_FAILURES"
+
+pattern ReadSetActivationJobStatus_FAILED :: ReadSetActivationJobStatus
+pattern ReadSetActivationJobStatus_FAILED = ReadSetActivationJobStatus' "FAILED"
+
+pattern ReadSetActivationJobStatus_IN_PROGRESS :: ReadSetActivationJobStatus
+pattern ReadSetActivationJobStatus_IN_PROGRESS = ReadSetActivationJobStatus' "IN_PROGRESS"
+
+pattern ReadSetActivationJobStatus_SUBMITTED :: ReadSetActivationJobStatus
+pattern ReadSetActivationJobStatus_SUBMITTED = ReadSetActivationJobStatus' "SUBMITTED"
+
+{-# COMPLETE
+  ReadSetActivationJobStatus_CANCELLED,
+  ReadSetActivationJobStatus_CANCELLING,
+  ReadSetActivationJobStatus_COMPLETED,
+  ReadSetActivationJobStatus_COMPLETED_WITH_FAILURES,
+  ReadSetActivationJobStatus_FAILED,
+  ReadSetActivationJobStatus_IN_PROGRESS,
+  ReadSetActivationJobStatus_SUBMITTED,
+  ReadSetActivationJobStatus'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/ReadSetBatchError.hs b/gen/Amazonka/Omics/Types/ReadSetBatchError.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReadSetBatchError.hs
@@ -0,0 +1,102 @@
+{-# 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.Omics.Types.ReadSetBatchError
+-- 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.Omics.Types.ReadSetBatchError 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 error from a batch read set operation.
+--
+-- /See:/ 'newReadSetBatchError' smart constructor.
+data ReadSetBatchError = ReadSetBatchError'
+  { -- | The error\'s code.
+    code :: Prelude.Text,
+    -- | The error\'s ID.
+    id :: Prelude.Text,
+    -- | The error\'s message.
+    message :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ReadSetBatchError' 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:
+--
+-- 'code', 'readSetBatchError_code' - The error\'s code.
+--
+-- 'id', 'readSetBatchError_id' - The error\'s ID.
+--
+-- 'message', 'readSetBatchError_message' - The error\'s message.
+newReadSetBatchError ::
+  -- | 'code'
+  Prelude.Text ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'message'
+  Prelude.Text ->
+  ReadSetBatchError
+newReadSetBatchError pCode_ pId_ pMessage_ =
+  ReadSetBatchError'
+    { code = pCode_,
+      id = pId_,
+      message = pMessage_
+    }
+
+-- | The error\'s code.
+readSetBatchError_code :: Lens.Lens' ReadSetBatchError Prelude.Text
+readSetBatchError_code = Lens.lens (\ReadSetBatchError' {code} -> code) (\s@ReadSetBatchError' {} a -> s {code = a} :: ReadSetBatchError)
+
+-- | The error\'s ID.
+readSetBatchError_id :: Lens.Lens' ReadSetBatchError Prelude.Text
+readSetBatchError_id = Lens.lens (\ReadSetBatchError' {id} -> id) (\s@ReadSetBatchError' {} a -> s {id = a} :: ReadSetBatchError)
+
+-- | The error\'s message.
+readSetBatchError_message :: Lens.Lens' ReadSetBatchError Prelude.Text
+readSetBatchError_message = Lens.lens (\ReadSetBatchError' {message} -> message) (\s@ReadSetBatchError' {} a -> s {message = a} :: ReadSetBatchError)
+
+instance Data.FromJSON ReadSetBatchError where
+  parseJSON =
+    Data.withObject
+      "ReadSetBatchError"
+      ( \x ->
+          ReadSetBatchError'
+            Prelude.<$> (x Data..: "code")
+            Prelude.<*> (x Data..: "id")
+            Prelude.<*> (x Data..: "message")
+      )
+
+instance Prelude.Hashable ReadSetBatchError where
+  hashWithSalt _salt ReadSetBatchError' {..} =
+    _salt
+      `Prelude.hashWithSalt` code
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` message
+
+instance Prelude.NFData ReadSetBatchError where
+  rnf ReadSetBatchError' {..} =
+    Prelude.rnf code
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf message
diff --git a/gen/Amazonka/Omics/Types/ReadSetExportJobItemStatus.hs b/gen/Amazonka/Omics/Types/ReadSetExportJobItemStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReadSetExportJobItemStatus.hs
@@ -0,0 +1,81 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.ReadSetExportJobItemStatus
+-- 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.Omics.Types.ReadSetExportJobItemStatus
+  ( ReadSetExportJobItemStatus
+      ( ..,
+        ReadSetExportJobItemStatus_FAILED,
+        ReadSetExportJobItemStatus_FINISHED,
+        ReadSetExportJobItemStatus_IN_PROGRESS,
+        ReadSetExportJobItemStatus_NOT_STARTED
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype ReadSetExportJobItemStatus = ReadSetExportJobItemStatus'
+  { fromReadSetExportJobItemStatus ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern ReadSetExportJobItemStatus_FAILED :: ReadSetExportJobItemStatus
+pattern ReadSetExportJobItemStatus_FAILED = ReadSetExportJobItemStatus' "FAILED"
+
+pattern ReadSetExportJobItemStatus_FINISHED :: ReadSetExportJobItemStatus
+pattern ReadSetExportJobItemStatus_FINISHED = ReadSetExportJobItemStatus' "FINISHED"
+
+pattern ReadSetExportJobItemStatus_IN_PROGRESS :: ReadSetExportJobItemStatus
+pattern ReadSetExportJobItemStatus_IN_PROGRESS = ReadSetExportJobItemStatus' "IN_PROGRESS"
+
+pattern ReadSetExportJobItemStatus_NOT_STARTED :: ReadSetExportJobItemStatus
+pattern ReadSetExportJobItemStatus_NOT_STARTED = ReadSetExportJobItemStatus' "NOT_STARTED"
+
+{-# COMPLETE
+  ReadSetExportJobItemStatus_FAILED,
+  ReadSetExportJobItemStatus_FINISHED,
+  ReadSetExportJobItemStatus_IN_PROGRESS,
+  ReadSetExportJobItemStatus_NOT_STARTED,
+  ReadSetExportJobItemStatus'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/ReadSetExportJobStatus.hs b/gen/Amazonka/Omics/Types/ReadSetExportJobStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReadSetExportJobStatus.hs
@@ -0,0 +1,96 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.ReadSetExportJobStatus
+-- 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.Omics.Types.ReadSetExportJobStatus
+  ( ReadSetExportJobStatus
+      ( ..,
+        ReadSetExportJobStatus_CANCELLED,
+        ReadSetExportJobStatus_CANCELLING,
+        ReadSetExportJobStatus_COMPLETED,
+        ReadSetExportJobStatus_COMPLETED_WITH_FAILURES,
+        ReadSetExportJobStatus_FAILED,
+        ReadSetExportJobStatus_IN_PROGRESS,
+        ReadSetExportJobStatus_SUBMITTED
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype ReadSetExportJobStatus = ReadSetExportJobStatus'
+  { fromReadSetExportJobStatus ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern ReadSetExportJobStatus_CANCELLED :: ReadSetExportJobStatus
+pattern ReadSetExportJobStatus_CANCELLED = ReadSetExportJobStatus' "CANCELLED"
+
+pattern ReadSetExportJobStatus_CANCELLING :: ReadSetExportJobStatus
+pattern ReadSetExportJobStatus_CANCELLING = ReadSetExportJobStatus' "CANCELLING"
+
+pattern ReadSetExportJobStatus_COMPLETED :: ReadSetExportJobStatus
+pattern ReadSetExportJobStatus_COMPLETED = ReadSetExportJobStatus' "COMPLETED"
+
+pattern ReadSetExportJobStatus_COMPLETED_WITH_FAILURES :: ReadSetExportJobStatus
+pattern ReadSetExportJobStatus_COMPLETED_WITH_FAILURES = ReadSetExportJobStatus' "COMPLETED_WITH_FAILURES"
+
+pattern ReadSetExportJobStatus_FAILED :: ReadSetExportJobStatus
+pattern ReadSetExportJobStatus_FAILED = ReadSetExportJobStatus' "FAILED"
+
+pattern ReadSetExportJobStatus_IN_PROGRESS :: ReadSetExportJobStatus
+pattern ReadSetExportJobStatus_IN_PROGRESS = ReadSetExportJobStatus' "IN_PROGRESS"
+
+pattern ReadSetExportJobStatus_SUBMITTED :: ReadSetExportJobStatus
+pattern ReadSetExportJobStatus_SUBMITTED = ReadSetExportJobStatus' "SUBMITTED"
+
+{-# COMPLETE
+  ReadSetExportJobStatus_CANCELLED,
+  ReadSetExportJobStatus_CANCELLING,
+  ReadSetExportJobStatus_COMPLETED,
+  ReadSetExportJobStatus_COMPLETED_WITH_FAILURES,
+  ReadSetExportJobStatus_FAILED,
+  ReadSetExportJobStatus_IN_PROGRESS,
+  ReadSetExportJobStatus_SUBMITTED,
+  ReadSetExportJobStatus'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/ReadSetFile.hs b/gen/Amazonka/Omics/Types/ReadSetFile.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReadSetFile.hs
@@ -0,0 +1,76 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.ReadSetFile
+-- 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.Omics.Types.ReadSetFile
+  ( ReadSetFile
+      ( ..,
+        ReadSetFile_INDEX,
+        ReadSetFile_SOURCE1,
+        ReadSetFile_SOURCE2
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype ReadSetFile = ReadSetFile'
+  { fromReadSetFile ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern ReadSetFile_INDEX :: ReadSetFile
+pattern ReadSetFile_INDEX = ReadSetFile' "INDEX"
+
+pattern ReadSetFile_SOURCE1 :: ReadSetFile
+pattern ReadSetFile_SOURCE1 = ReadSetFile' "SOURCE1"
+
+pattern ReadSetFile_SOURCE2 :: ReadSetFile
+pattern ReadSetFile_SOURCE2 = ReadSetFile' "SOURCE2"
+
+{-# COMPLETE
+  ReadSetFile_INDEX,
+  ReadSetFile_SOURCE1,
+  ReadSetFile_SOURCE2,
+  ReadSetFile'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/ReadSetFiles.hs b/gen/Amazonka/Omics/Types/ReadSetFiles.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReadSetFiles.hs
@@ -0,0 +1,97 @@
+{-# 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.Omics.Types.ReadSetFiles
+-- 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.Omics.Types.ReadSetFiles where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.FileInformation
+import qualified Amazonka.Prelude as Prelude
+
+-- | Files in a read set.
+--
+-- /See:/ 'newReadSetFiles' smart constructor.
+data ReadSetFiles = ReadSetFiles'
+  { -- | The files\' index.
+    index :: Prelude.Maybe FileInformation,
+    -- | The location of the first file in Amazon S3.
+    source1 :: Prelude.Maybe FileInformation,
+    -- | The location of the second file in Amazon S3.
+    source2 :: Prelude.Maybe FileInformation
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ReadSetFiles' 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:
+--
+-- 'index', 'readSetFiles_index' - The files\' index.
+--
+-- 'source1', 'readSetFiles_source1' - The location of the first file in Amazon S3.
+--
+-- 'source2', 'readSetFiles_source2' - The location of the second file in Amazon S3.
+newReadSetFiles ::
+  ReadSetFiles
+newReadSetFiles =
+  ReadSetFiles'
+    { index = Prelude.Nothing,
+      source1 = Prelude.Nothing,
+      source2 = Prelude.Nothing
+    }
+
+-- | The files\' index.
+readSetFiles_index :: Lens.Lens' ReadSetFiles (Prelude.Maybe FileInformation)
+readSetFiles_index = Lens.lens (\ReadSetFiles' {index} -> index) (\s@ReadSetFiles' {} a -> s {index = a} :: ReadSetFiles)
+
+-- | The location of the first file in Amazon S3.
+readSetFiles_source1 :: Lens.Lens' ReadSetFiles (Prelude.Maybe FileInformation)
+readSetFiles_source1 = Lens.lens (\ReadSetFiles' {source1} -> source1) (\s@ReadSetFiles' {} a -> s {source1 = a} :: ReadSetFiles)
+
+-- | The location of the second file in Amazon S3.
+readSetFiles_source2 :: Lens.Lens' ReadSetFiles (Prelude.Maybe FileInformation)
+readSetFiles_source2 = Lens.lens (\ReadSetFiles' {source2} -> source2) (\s@ReadSetFiles' {} a -> s {source2 = a} :: ReadSetFiles)
+
+instance Data.FromJSON ReadSetFiles where
+  parseJSON =
+    Data.withObject
+      "ReadSetFiles"
+      ( \x ->
+          ReadSetFiles'
+            Prelude.<$> (x Data..:? "index")
+            Prelude.<*> (x Data..:? "source1")
+            Prelude.<*> (x Data..:? "source2")
+      )
+
+instance Prelude.Hashable ReadSetFiles where
+  hashWithSalt _salt ReadSetFiles' {..} =
+    _salt
+      `Prelude.hashWithSalt` index
+      `Prelude.hashWithSalt` source1
+      `Prelude.hashWithSalt` source2
+
+instance Prelude.NFData ReadSetFiles where
+  rnf ReadSetFiles' {..} =
+    Prelude.rnf index
+      `Prelude.seq` Prelude.rnf source1
+      `Prelude.seq` Prelude.rnf source2
diff --git a/gen/Amazonka/Omics/Types/ReadSetFilter.hs b/gen/Amazonka/Omics/Types/ReadSetFilter.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReadSetFilter.hs
@@ -0,0 +1,120 @@
+{-# 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.Omics.Types.ReadSetFilter
+-- 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.Omics.Types.ReadSetFilter where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.ReadSetStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | A filter for read sets.
+--
+-- /See:/ 'newReadSetFilter' smart constructor.
+data ReadSetFilter = ReadSetFilter'
+  { -- | The filter\'s start date.
+    createdAfter :: Prelude.Maybe Data.ISO8601,
+    -- | The filter\'s end date.
+    createdBefore :: Prelude.Maybe Data.ISO8601,
+    -- | A name to filter on.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | A genome reference ARN to filter on.
+    referenceArn :: Prelude.Maybe Prelude.Text,
+    -- | A status to filter on.
+    status :: Prelude.Maybe ReadSetStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ReadSetFilter' 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:
+--
+-- 'createdAfter', 'readSetFilter_createdAfter' - The filter\'s start date.
+--
+-- 'createdBefore', 'readSetFilter_createdBefore' - The filter\'s end date.
+--
+-- 'name', 'readSetFilter_name' - A name to filter on.
+--
+-- 'referenceArn', 'readSetFilter_referenceArn' - A genome reference ARN to filter on.
+--
+-- 'status', 'readSetFilter_status' - A status to filter on.
+newReadSetFilter ::
+  ReadSetFilter
+newReadSetFilter =
+  ReadSetFilter'
+    { createdAfter = Prelude.Nothing,
+      createdBefore = Prelude.Nothing,
+      name = Prelude.Nothing,
+      referenceArn = Prelude.Nothing,
+      status = Prelude.Nothing
+    }
+
+-- | The filter\'s start date.
+readSetFilter_createdAfter :: Lens.Lens' ReadSetFilter (Prelude.Maybe Prelude.UTCTime)
+readSetFilter_createdAfter = Lens.lens (\ReadSetFilter' {createdAfter} -> createdAfter) (\s@ReadSetFilter' {} a -> s {createdAfter = a} :: ReadSetFilter) Prelude.. Lens.mapping Data._Time
+
+-- | The filter\'s end date.
+readSetFilter_createdBefore :: Lens.Lens' ReadSetFilter (Prelude.Maybe Prelude.UTCTime)
+readSetFilter_createdBefore = Lens.lens (\ReadSetFilter' {createdBefore} -> createdBefore) (\s@ReadSetFilter' {} a -> s {createdBefore = a} :: ReadSetFilter) Prelude.. Lens.mapping Data._Time
+
+-- | A name to filter on.
+readSetFilter_name :: Lens.Lens' ReadSetFilter (Prelude.Maybe Prelude.Text)
+readSetFilter_name = Lens.lens (\ReadSetFilter' {name} -> name) (\s@ReadSetFilter' {} a -> s {name = a} :: ReadSetFilter)
+
+-- | A genome reference ARN to filter on.
+readSetFilter_referenceArn :: Lens.Lens' ReadSetFilter (Prelude.Maybe Prelude.Text)
+readSetFilter_referenceArn = Lens.lens (\ReadSetFilter' {referenceArn} -> referenceArn) (\s@ReadSetFilter' {} a -> s {referenceArn = a} :: ReadSetFilter)
+
+-- | A status to filter on.
+readSetFilter_status :: Lens.Lens' ReadSetFilter (Prelude.Maybe ReadSetStatus)
+readSetFilter_status = Lens.lens (\ReadSetFilter' {status} -> status) (\s@ReadSetFilter' {} a -> s {status = a} :: ReadSetFilter)
+
+instance Prelude.Hashable ReadSetFilter where
+  hashWithSalt _salt ReadSetFilter' {..} =
+    _salt
+      `Prelude.hashWithSalt` createdAfter
+      `Prelude.hashWithSalt` createdBefore
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` referenceArn
+      `Prelude.hashWithSalt` status
+
+instance Prelude.NFData ReadSetFilter where
+  rnf ReadSetFilter' {..} =
+    Prelude.rnf createdAfter
+      `Prelude.seq` Prelude.rnf createdBefore
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf referenceArn
+      `Prelude.seq` Prelude.rnf status
+
+instance Data.ToJSON ReadSetFilter where
+  toJSON ReadSetFilter' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("createdAfter" Data..=) Prelude.<$> createdAfter,
+            ("createdBefore" Data..=) Prelude.<$> createdBefore,
+            ("name" Data..=) Prelude.<$> name,
+            ("referenceArn" Data..=) Prelude.<$> referenceArn,
+            ("status" Data..=) Prelude.<$> status
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/ReadSetImportJobItemStatus.hs b/gen/Amazonka/Omics/Types/ReadSetImportJobItemStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReadSetImportJobItemStatus.hs
@@ -0,0 +1,81 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.ReadSetImportJobItemStatus
+-- 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.Omics.Types.ReadSetImportJobItemStatus
+  ( ReadSetImportJobItemStatus
+      ( ..,
+        ReadSetImportJobItemStatus_FAILED,
+        ReadSetImportJobItemStatus_FINISHED,
+        ReadSetImportJobItemStatus_IN_PROGRESS,
+        ReadSetImportJobItemStatus_NOT_STARTED
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype ReadSetImportJobItemStatus = ReadSetImportJobItemStatus'
+  { fromReadSetImportJobItemStatus ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern ReadSetImportJobItemStatus_FAILED :: ReadSetImportJobItemStatus
+pattern ReadSetImportJobItemStatus_FAILED = ReadSetImportJobItemStatus' "FAILED"
+
+pattern ReadSetImportJobItemStatus_FINISHED :: ReadSetImportJobItemStatus
+pattern ReadSetImportJobItemStatus_FINISHED = ReadSetImportJobItemStatus' "FINISHED"
+
+pattern ReadSetImportJobItemStatus_IN_PROGRESS :: ReadSetImportJobItemStatus
+pattern ReadSetImportJobItemStatus_IN_PROGRESS = ReadSetImportJobItemStatus' "IN_PROGRESS"
+
+pattern ReadSetImportJobItemStatus_NOT_STARTED :: ReadSetImportJobItemStatus
+pattern ReadSetImportJobItemStatus_NOT_STARTED = ReadSetImportJobItemStatus' "NOT_STARTED"
+
+{-# COMPLETE
+  ReadSetImportJobItemStatus_FAILED,
+  ReadSetImportJobItemStatus_FINISHED,
+  ReadSetImportJobItemStatus_IN_PROGRESS,
+  ReadSetImportJobItemStatus_NOT_STARTED,
+  ReadSetImportJobItemStatus'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/ReadSetImportJobStatus.hs b/gen/Amazonka/Omics/Types/ReadSetImportJobStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReadSetImportJobStatus.hs
@@ -0,0 +1,96 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.ReadSetImportJobStatus
+-- 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.Omics.Types.ReadSetImportJobStatus
+  ( ReadSetImportJobStatus
+      ( ..,
+        ReadSetImportJobStatus_CANCELLED,
+        ReadSetImportJobStatus_CANCELLING,
+        ReadSetImportJobStatus_COMPLETED,
+        ReadSetImportJobStatus_COMPLETED_WITH_FAILURES,
+        ReadSetImportJobStatus_FAILED,
+        ReadSetImportJobStatus_IN_PROGRESS,
+        ReadSetImportJobStatus_SUBMITTED
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype ReadSetImportJobStatus = ReadSetImportJobStatus'
+  { fromReadSetImportJobStatus ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern ReadSetImportJobStatus_CANCELLED :: ReadSetImportJobStatus
+pattern ReadSetImportJobStatus_CANCELLED = ReadSetImportJobStatus' "CANCELLED"
+
+pattern ReadSetImportJobStatus_CANCELLING :: ReadSetImportJobStatus
+pattern ReadSetImportJobStatus_CANCELLING = ReadSetImportJobStatus' "CANCELLING"
+
+pattern ReadSetImportJobStatus_COMPLETED :: ReadSetImportJobStatus
+pattern ReadSetImportJobStatus_COMPLETED = ReadSetImportJobStatus' "COMPLETED"
+
+pattern ReadSetImportJobStatus_COMPLETED_WITH_FAILURES :: ReadSetImportJobStatus
+pattern ReadSetImportJobStatus_COMPLETED_WITH_FAILURES = ReadSetImportJobStatus' "COMPLETED_WITH_FAILURES"
+
+pattern ReadSetImportJobStatus_FAILED :: ReadSetImportJobStatus
+pattern ReadSetImportJobStatus_FAILED = ReadSetImportJobStatus' "FAILED"
+
+pattern ReadSetImportJobStatus_IN_PROGRESS :: ReadSetImportJobStatus
+pattern ReadSetImportJobStatus_IN_PROGRESS = ReadSetImportJobStatus' "IN_PROGRESS"
+
+pattern ReadSetImportJobStatus_SUBMITTED :: ReadSetImportJobStatus
+pattern ReadSetImportJobStatus_SUBMITTED = ReadSetImportJobStatus' "SUBMITTED"
+
+{-# COMPLETE
+  ReadSetImportJobStatus_CANCELLED,
+  ReadSetImportJobStatus_CANCELLING,
+  ReadSetImportJobStatus_COMPLETED,
+  ReadSetImportJobStatus_COMPLETED_WITH_FAILURES,
+  ReadSetImportJobStatus_FAILED,
+  ReadSetImportJobStatus_IN_PROGRESS,
+  ReadSetImportJobStatus_SUBMITTED,
+  ReadSetImportJobStatus'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/ReadSetListItem.hs b/gen/Amazonka/Omics/Types/ReadSetListItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReadSetListItem.hs
@@ -0,0 +1,224 @@
+{-# 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.Omics.Types.ReadSetListItem
+-- 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.Omics.Types.ReadSetListItem where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.FileType
+import Amazonka.Omics.Types.ReadSetStatus
+import Amazonka.Omics.Types.SequenceInformation
+import qualified Amazonka.Prelude as Prelude
+
+-- | A read set.
+--
+-- /See:/ 'newReadSetListItem' smart constructor.
+data ReadSetListItem = ReadSetListItem'
+  { -- | The read set\'s description.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | The read set\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The read set\'s genome reference ARN.
+    referenceArn :: Prelude.Maybe Prelude.Text,
+    -- | The read set\'s sample ID.
+    sampleId :: Prelude.Maybe Prelude.Text,
+    sequenceInformation :: Prelude.Maybe SequenceInformation,
+    -- | The read set\'s subject ID.
+    subjectId :: Prelude.Maybe Prelude.Text,
+    -- | The read set\'s ARN.
+    arn :: Prelude.Text,
+    -- | When the read set was created.
+    creationTime :: Data.ISO8601,
+    -- | The read set\'s file type.
+    fileType :: FileType,
+    -- | The read set\'s ID.
+    id :: Prelude.Text,
+    -- | The read set\'s sequence store ID.
+    sequenceStoreId :: Prelude.Text,
+    -- | The read set\'s status.
+    status :: ReadSetStatus
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ReadSetListItem' 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', 'readSetListItem_description' - The read set\'s description.
+--
+-- 'name', 'readSetListItem_name' - The read set\'s name.
+--
+-- 'referenceArn', 'readSetListItem_referenceArn' - The read set\'s genome reference ARN.
+--
+-- 'sampleId', 'readSetListItem_sampleId' - The read set\'s sample ID.
+--
+-- 'sequenceInformation', 'readSetListItem_sequenceInformation' - Undocumented member.
+--
+-- 'subjectId', 'readSetListItem_subjectId' - The read set\'s subject ID.
+--
+-- 'arn', 'readSetListItem_arn' - The read set\'s ARN.
+--
+-- 'creationTime', 'readSetListItem_creationTime' - When the read set was created.
+--
+-- 'fileType', 'readSetListItem_fileType' - The read set\'s file type.
+--
+-- 'id', 'readSetListItem_id' - The read set\'s ID.
+--
+-- 'sequenceStoreId', 'readSetListItem_sequenceStoreId' - The read set\'s sequence store ID.
+--
+-- 'status', 'readSetListItem_status' - The read set\'s status.
+newReadSetListItem ::
+  -- | 'arn'
+  Prelude.Text ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'fileType'
+  FileType ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'sequenceStoreId'
+  Prelude.Text ->
+  -- | 'status'
+  ReadSetStatus ->
+  ReadSetListItem
+newReadSetListItem
+  pArn_
+  pCreationTime_
+  pFileType_
+  pId_
+  pSequenceStoreId_
+  pStatus_ =
+    ReadSetListItem'
+      { description = Prelude.Nothing,
+        name = Prelude.Nothing,
+        referenceArn = Prelude.Nothing,
+        sampleId = Prelude.Nothing,
+        sequenceInformation = Prelude.Nothing,
+        subjectId = Prelude.Nothing,
+        arn = pArn_,
+        creationTime = Data._Time Lens.# pCreationTime_,
+        fileType = pFileType_,
+        id = pId_,
+        sequenceStoreId = pSequenceStoreId_,
+        status = pStatus_
+      }
+
+-- | The read set\'s description.
+readSetListItem_description :: Lens.Lens' ReadSetListItem (Prelude.Maybe Prelude.Text)
+readSetListItem_description = Lens.lens (\ReadSetListItem' {description} -> description) (\s@ReadSetListItem' {} a -> s {description = a} :: ReadSetListItem)
+
+-- | The read set\'s name.
+readSetListItem_name :: Lens.Lens' ReadSetListItem (Prelude.Maybe Prelude.Text)
+readSetListItem_name = Lens.lens (\ReadSetListItem' {name} -> name) (\s@ReadSetListItem' {} a -> s {name = a} :: ReadSetListItem)
+
+-- | The read set\'s genome reference ARN.
+readSetListItem_referenceArn :: Lens.Lens' ReadSetListItem (Prelude.Maybe Prelude.Text)
+readSetListItem_referenceArn = Lens.lens (\ReadSetListItem' {referenceArn} -> referenceArn) (\s@ReadSetListItem' {} a -> s {referenceArn = a} :: ReadSetListItem)
+
+-- | The read set\'s sample ID.
+readSetListItem_sampleId :: Lens.Lens' ReadSetListItem (Prelude.Maybe Prelude.Text)
+readSetListItem_sampleId = Lens.lens (\ReadSetListItem' {sampleId} -> sampleId) (\s@ReadSetListItem' {} a -> s {sampleId = a} :: ReadSetListItem)
+
+-- | Undocumented member.
+readSetListItem_sequenceInformation :: Lens.Lens' ReadSetListItem (Prelude.Maybe SequenceInformation)
+readSetListItem_sequenceInformation = Lens.lens (\ReadSetListItem' {sequenceInformation} -> sequenceInformation) (\s@ReadSetListItem' {} a -> s {sequenceInformation = a} :: ReadSetListItem)
+
+-- | The read set\'s subject ID.
+readSetListItem_subjectId :: Lens.Lens' ReadSetListItem (Prelude.Maybe Prelude.Text)
+readSetListItem_subjectId = Lens.lens (\ReadSetListItem' {subjectId} -> subjectId) (\s@ReadSetListItem' {} a -> s {subjectId = a} :: ReadSetListItem)
+
+-- | The read set\'s ARN.
+readSetListItem_arn :: Lens.Lens' ReadSetListItem Prelude.Text
+readSetListItem_arn = Lens.lens (\ReadSetListItem' {arn} -> arn) (\s@ReadSetListItem' {} a -> s {arn = a} :: ReadSetListItem)
+
+-- | When the read set was created.
+readSetListItem_creationTime :: Lens.Lens' ReadSetListItem Prelude.UTCTime
+readSetListItem_creationTime = Lens.lens (\ReadSetListItem' {creationTime} -> creationTime) (\s@ReadSetListItem' {} a -> s {creationTime = a} :: ReadSetListItem) Prelude.. Data._Time
+
+-- | The read set\'s file type.
+readSetListItem_fileType :: Lens.Lens' ReadSetListItem FileType
+readSetListItem_fileType = Lens.lens (\ReadSetListItem' {fileType} -> fileType) (\s@ReadSetListItem' {} a -> s {fileType = a} :: ReadSetListItem)
+
+-- | The read set\'s ID.
+readSetListItem_id :: Lens.Lens' ReadSetListItem Prelude.Text
+readSetListItem_id = Lens.lens (\ReadSetListItem' {id} -> id) (\s@ReadSetListItem' {} a -> s {id = a} :: ReadSetListItem)
+
+-- | The read set\'s sequence store ID.
+readSetListItem_sequenceStoreId :: Lens.Lens' ReadSetListItem Prelude.Text
+readSetListItem_sequenceStoreId = Lens.lens (\ReadSetListItem' {sequenceStoreId} -> sequenceStoreId) (\s@ReadSetListItem' {} a -> s {sequenceStoreId = a} :: ReadSetListItem)
+
+-- | The read set\'s status.
+readSetListItem_status :: Lens.Lens' ReadSetListItem ReadSetStatus
+readSetListItem_status = Lens.lens (\ReadSetListItem' {status} -> status) (\s@ReadSetListItem' {} a -> s {status = a} :: ReadSetListItem)
+
+instance Data.FromJSON ReadSetListItem where
+  parseJSON =
+    Data.withObject
+      "ReadSetListItem"
+      ( \x ->
+          ReadSetListItem'
+            Prelude.<$> (x Data..:? "description")
+            Prelude.<*> (x Data..:? "name")
+            Prelude.<*> (x Data..:? "referenceArn")
+            Prelude.<*> (x Data..:? "sampleId")
+            Prelude.<*> (x Data..:? "sequenceInformation")
+            Prelude.<*> (x Data..:? "subjectId")
+            Prelude.<*> (x Data..: "arn")
+            Prelude.<*> (x Data..: "creationTime")
+            Prelude.<*> (x Data..: "fileType")
+            Prelude.<*> (x Data..: "id")
+            Prelude.<*> (x Data..: "sequenceStoreId")
+            Prelude.<*> (x Data..: "status")
+      )
+
+instance Prelude.Hashable ReadSetListItem where
+  hashWithSalt _salt ReadSetListItem' {..} =
+    _salt
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` referenceArn
+      `Prelude.hashWithSalt` sampleId
+      `Prelude.hashWithSalt` sequenceInformation
+      `Prelude.hashWithSalt` subjectId
+      `Prelude.hashWithSalt` arn
+      `Prelude.hashWithSalt` creationTime
+      `Prelude.hashWithSalt` fileType
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` sequenceStoreId
+      `Prelude.hashWithSalt` status
+
+instance Prelude.NFData ReadSetListItem where
+  rnf ReadSetListItem' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf referenceArn
+      `Prelude.seq` Prelude.rnf sampleId
+      `Prelude.seq` Prelude.rnf sequenceInformation
+      `Prelude.seq` Prelude.rnf subjectId
+      `Prelude.seq` Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf fileType
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf sequenceStoreId
+      `Prelude.seq` Prelude.rnf status
diff --git a/gen/Amazonka/Omics/Types/ReadSetStatus.hs b/gen/Amazonka/Omics/Types/ReadSetStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReadSetStatus.hs
@@ -0,0 +1,86 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.ReadSetStatus
+-- 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.Omics.Types.ReadSetStatus
+  ( ReadSetStatus
+      ( ..,
+        ReadSetStatus_ACTIVATING,
+        ReadSetStatus_ACTIVE,
+        ReadSetStatus_ARCHIVED,
+        ReadSetStatus_DELETED,
+        ReadSetStatus_DELETING
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype ReadSetStatus = ReadSetStatus'
+  { fromReadSetStatus ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern ReadSetStatus_ACTIVATING :: ReadSetStatus
+pattern ReadSetStatus_ACTIVATING = ReadSetStatus' "ACTIVATING"
+
+pattern ReadSetStatus_ACTIVE :: ReadSetStatus
+pattern ReadSetStatus_ACTIVE = ReadSetStatus' "ACTIVE"
+
+pattern ReadSetStatus_ARCHIVED :: ReadSetStatus
+pattern ReadSetStatus_ARCHIVED = ReadSetStatus' "ARCHIVED"
+
+pattern ReadSetStatus_DELETED :: ReadSetStatus
+pattern ReadSetStatus_DELETED = ReadSetStatus' "DELETED"
+
+pattern ReadSetStatus_DELETING :: ReadSetStatus
+pattern ReadSetStatus_DELETING = ReadSetStatus' "DELETING"
+
+{-# COMPLETE
+  ReadSetStatus_ACTIVATING,
+  ReadSetStatus_ACTIVE,
+  ReadSetStatus_ARCHIVED,
+  ReadSetStatus_DELETED,
+  ReadSetStatus_DELETING,
+  ReadSetStatus'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/ReferenceFile.hs b/gen/Amazonka/Omics/Types/ReferenceFile.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReferenceFile.hs
@@ -0,0 +1,71 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.ReferenceFile
+-- 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.Omics.Types.ReferenceFile
+  ( ReferenceFile
+      ( ..,
+        ReferenceFile_INDEX,
+        ReferenceFile_SOURCE
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype ReferenceFile = ReferenceFile'
+  { fromReferenceFile ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern ReferenceFile_INDEX :: ReferenceFile
+pattern ReferenceFile_INDEX = ReferenceFile' "INDEX"
+
+pattern ReferenceFile_SOURCE :: ReferenceFile
+pattern ReferenceFile_SOURCE = ReferenceFile' "SOURCE"
+
+{-# COMPLETE
+  ReferenceFile_INDEX,
+  ReferenceFile_SOURCE,
+  ReferenceFile'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/ReferenceFiles.hs b/gen/Amazonka/Omics/Types/ReferenceFiles.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReferenceFiles.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.Omics.Types.ReferenceFiles
+-- 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.Omics.Types.ReferenceFiles where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.FileInformation
+import qualified Amazonka.Prelude as Prelude
+
+-- | A set of genome reference files.
+--
+-- /See:/ 'newReferenceFiles' smart constructor.
+data ReferenceFiles = ReferenceFiles'
+  { -- | The files\' index.
+    index :: Prelude.Maybe FileInformation,
+    -- | The source file\'s location in Amazon S3.
+    source :: Prelude.Maybe FileInformation
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ReferenceFiles' 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:
+--
+-- 'index', 'referenceFiles_index' - The files\' index.
+--
+-- 'source', 'referenceFiles_source' - The source file\'s location in Amazon S3.
+newReferenceFiles ::
+  ReferenceFiles
+newReferenceFiles =
+  ReferenceFiles'
+    { index = Prelude.Nothing,
+      source = Prelude.Nothing
+    }
+
+-- | The files\' index.
+referenceFiles_index :: Lens.Lens' ReferenceFiles (Prelude.Maybe FileInformation)
+referenceFiles_index = Lens.lens (\ReferenceFiles' {index} -> index) (\s@ReferenceFiles' {} a -> s {index = a} :: ReferenceFiles)
+
+-- | The source file\'s location in Amazon S3.
+referenceFiles_source :: Lens.Lens' ReferenceFiles (Prelude.Maybe FileInformation)
+referenceFiles_source = Lens.lens (\ReferenceFiles' {source} -> source) (\s@ReferenceFiles' {} a -> s {source = a} :: ReferenceFiles)
+
+instance Data.FromJSON ReferenceFiles where
+  parseJSON =
+    Data.withObject
+      "ReferenceFiles"
+      ( \x ->
+          ReferenceFiles'
+            Prelude.<$> (x Data..:? "index")
+            Prelude.<*> (x Data..:? "source")
+      )
+
+instance Prelude.Hashable ReferenceFiles where
+  hashWithSalt _salt ReferenceFiles' {..} =
+    _salt
+      `Prelude.hashWithSalt` index
+      `Prelude.hashWithSalt` source
+
+instance Prelude.NFData ReferenceFiles where
+  rnf ReferenceFiles' {..} =
+    Prelude.rnf index `Prelude.seq` Prelude.rnf source
diff --git a/gen/Amazonka/Omics/Types/ReferenceFilter.hs b/gen/Amazonka/Omics/Types/ReferenceFilter.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReferenceFilter.hs
@@ -0,0 +1,107 @@
+{-# 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.Omics.Types.ReferenceFilter
+-- 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.Omics.Types.ReferenceFilter 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
+
+-- | A filter for references.
+--
+-- /See:/ 'newReferenceFilter' smart constructor.
+data ReferenceFilter = ReferenceFilter'
+  { -- | The filter\'s start date.
+    createdAfter :: Prelude.Maybe Data.ISO8601,
+    -- | The filter\'s end date.
+    createdBefore :: Prelude.Maybe Data.ISO8601,
+    -- | An MD5 checksum to filter on.
+    md5 :: Prelude.Maybe Prelude.Text,
+    -- | A name to filter on.
+    name :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ReferenceFilter' 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:
+--
+-- 'createdAfter', 'referenceFilter_createdAfter' - The filter\'s start date.
+--
+-- 'createdBefore', 'referenceFilter_createdBefore' - The filter\'s end date.
+--
+-- 'md5', 'referenceFilter_md5' - An MD5 checksum to filter on.
+--
+-- 'name', 'referenceFilter_name' - A name to filter on.
+newReferenceFilter ::
+  ReferenceFilter
+newReferenceFilter =
+  ReferenceFilter'
+    { createdAfter = Prelude.Nothing,
+      createdBefore = Prelude.Nothing,
+      md5 = Prelude.Nothing,
+      name = Prelude.Nothing
+    }
+
+-- | The filter\'s start date.
+referenceFilter_createdAfter :: Lens.Lens' ReferenceFilter (Prelude.Maybe Prelude.UTCTime)
+referenceFilter_createdAfter = Lens.lens (\ReferenceFilter' {createdAfter} -> createdAfter) (\s@ReferenceFilter' {} a -> s {createdAfter = a} :: ReferenceFilter) Prelude.. Lens.mapping Data._Time
+
+-- | The filter\'s end date.
+referenceFilter_createdBefore :: Lens.Lens' ReferenceFilter (Prelude.Maybe Prelude.UTCTime)
+referenceFilter_createdBefore = Lens.lens (\ReferenceFilter' {createdBefore} -> createdBefore) (\s@ReferenceFilter' {} a -> s {createdBefore = a} :: ReferenceFilter) Prelude.. Lens.mapping Data._Time
+
+-- | An MD5 checksum to filter on.
+referenceFilter_md5 :: Lens.Lens' ReferenceFilter (Prelude.Maybe Prelude.Text)
+referenceFilter_md5 = Lens.lens (\ReferenceFilter' {md5} -> md5) (\s@ReferenceFilter' {} a -> s {md5 = a} :: ReferenceFilter)
+
+-- | A name to filter on.
+referenceFilter_name :: Lens.Lens' ReferenceFilter (Prelude.Maybe Prelude.Text)
+referenceFilter_name = Lens.lens (\ReferenceFilter' {name} -> name) (\s@ReferenceFilter' {} a -> s {name = a} :: ReferenceFilter)
+
+instance Prelude.Hashable ReferenceFilter where
+  hashWithSalt _salt ReferenceFilter' {..} =
+    _salt
+      `Prelude.hashWithSalt` createdAfter
+      `Prelude.hashWithSalt` createdBefore
+      `Prelude.hashWithSalt` md5
+      `Prelude.hashWithSalt` name
+
+instance Prelude.NFData ReferenceFilter where
+  rnf ReferenceFilter' {..} =
+    Prelude.rnf createdAfter
+      `Prelude.seq` Prelude.rnf createdBefore
+      `Prelude.seq` Prelude.rnf md5
+      `Prelude.seq` Prelude.rnf name
+
+instance Data.ToJSON ReferenceFilter where
+  toJSON ReferenceFilter' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("createdAfter" Data..=) Prelude.<$> createdAfter,
+            ("createdBefore" Data..=) Prelude.<$> createdBefore,
+            ("md5" Data..=) Prelude.<$> md5,
+            ("name" Data..=) Prelude.<$> name
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/ReferenceImportJobItemStatus.hs b/gen/Amazonka/Omics/Types/ReferenceImportJobItemStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReferenceImportJobItemStatus.hs
@@ -0,0 +1,81 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.ReferenceImportJobItemStatus
+-- 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.Omics.Types.ReferenceImportJobItemStatus
+  ( ReferenceImportJobItemStatus
+      ( ..,
+        ReferenceImportJobItemStatus_FAILED,
+        ReferenceImportJobItemStatus_FINISHED,
+        ReferenceImportJobItemStatus_IN_PROGRESS,
+        ReferenceImportJobItemStatus_NOT_STARTED
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype ReferenceImportJobItemStatus = ReferenceImportJobItemStatus'
+  { fromReferenceImportJobItemStatus ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern ReferenceImportJobItemStatus_FAILED :: ReferenceImportJobItemStatus
+pattern ReferenceImportJobItemStatus_FAILED = ReferenceImportJobItemStatus' "FAILED"
+
+pattern ReferenceImportJobItemStatus_FINISHED :: ReferenceImportJobItemStatus
+pattern ReferenceImportJobItemStatus_FINISHED = ReferenceImportJobItemStatus' "FINISHED"
+
+pattern ReferenceImportJobItemStatus_IN_PROGRESS :: ReferenceImportJobItemStatus
+pattern ReferenceImportJobItemStatus_IN_PROGRESS = ReferenceImportJobItemStatus' "IN_PROGRESS"
+
+pattern ReferenceImportJobItemStatus_NOT_STARTED :: ReferenceImportJobItemStatus
+pattern ReferenceImportJobItemStatus_NOT_STARTED = ReferenceImportJobItemStatus' "NOT_STARTED"
+
+{-# COMPLETE
+  ReferenceImportJobItemStatus_FAILED,
+  ReferenceImportJobItemStatus_FINISHED,
+  ReferenceImportJobItemStatus_IN_PROGRESS,
+  ReferenceImportJobItemStatus_NOT_STARTED,
+  ReferenceImportJobItemStatus'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/ReferenceImportJobStatus.hs b/gen/Amazonka/Omics/Types/ReferenceImportJobStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReferenceImportJobStatus.hs
@@ -0,0 +1,96 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.ReferenceImportJobStatus
+-- 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.Omics.Types.ReferenceImportJobStatus
+  ( ReferenceImportJobStatus
+      ( ..,
+        ReferenceImportJobStatus_CANCELLED,
+        ReferenceImportJobStatus_CANCELLING,
+        ReferenceImportJobStatus_COMPLETED,
+        ReferenceImportJobStatus_COMPLETED_WITH_FAILURES,
+        ReferenceImportJobStatus_FAILED,
+        ReferenceImportJobStatus_IN_PROGRESS,
+        ReferenceImportJobStatus_SUBMITTED
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype ReferenceImportJobStatus = ReferenceImportJobStatus'
+  { fromReferenceImportJobStatus ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern ReferenceImportJobStatus_CANCELLED :: ReferenceImportJobStatus
+pattern ReferenceImportJobStatus_CANCELLED = ReferenceImportJobStatus' "CANCELLED"
+
+pattern ReferenceImportJobStatus_CANCELLING :: ReferenceImportJobStatus
+pattern ReferenceImportJobStatus_CANCELLING = ReferenceImportJobStatus' "CANCELLING"
+
+pattern ReferenceImportJobStatus_COMPLETED :: ReferenceImportJobStatus
+pattern ReferenceImportJobStatus_COMPLETED = ReferenceImportJobStatus' "COMPLETED"
+
+pattern ReferenceImportJobStatus_COMPLETED_WITH_FAILURES :: ReferenceImportJobStatus
+pattern ReferenceImportJobStatus_COMPLETED_WITH_FAILURES = ReferenceImportJobStatus' "COMPLETED_WITH_FAILURES"
+
+pattern ReferenceImportJobStatus_FAILED :: ReferenceImportJobStatus
+pattern ReferenceImportJobStatus_FAILED = ReferenceImportJobStatus' "FAILED"
+
+pattern ReferenceImportJobStatus_IN_PROGRESS :: ReferenceImportJobStatus
+pattern ReferenceImportJobStatus_IN_PROGRESS = ReferenceImportJobStatus' "IN_PROGRESS"
+
+pattern ReferenceImportJobStatus_SUBMITTED :: ReferenceImportJobStatus
+pattern ReferenceImportJobStatus_SUBMITTED = ReferenceImportJobStatus' "SUBMITTED"
+
+{-# COMPLETE
+  ReferenceImportJobStatus_CANCELLED,
+  ReferenceImportJobStatus_CANCELLING,
+  ReferenceImportJobStatus_COMPLETED,
+  ReferenceImportJobStatus_COMPLETED_WITH_FAILURES,
+  ReferenceImportJobStatus_FAILED,
+  ReferenceImportJobStatus_IN_PROGRESS,
+  ReferenceImportJobStatus_SUBMITTED,
+  ReferenceImportJobStatus'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/ReferenceItem.hs b/gen/Amazonka/Omics/Types/ReferenceItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReferenceItem.hs
@@ -0,0 +1,75 @@
+{-# 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.Omics.Types.ReferenceItem
+-- 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.Omics.Types.ReferenceItem 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
+
+-- | A genome reference.
+--
+-- /See:/ 'newReferenceItem' smart constructor.
+data ReferenceItem = ReferenceItem'
+  { -- | The reference\'s ARN.
+    referenceArn :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ReferenceItem' 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:
+--
+-- 'referenceArn', 'referenceItem_referenceArn' - The reference\'s ARN.
+newReferenceItem ::
+  ReferenceItem
+newReferenceItem =
+  ReferenceItem' {referenceArn = Prelude.Nothing}
+
+-- | The reference\'s ARN.
+referenceItem_referenceArn :: Lens.Lens' ReferenceItem (Prelude.Maybe Prelude.Text)
+referenceItem_referenceArn = Lens.lens (\ReferenceItem' {referenceArn} -> referenceArn) (\s@ReferenceItem' {} a -> s {referenceArn = a} :: ReferenceItem)
+
+instance Data.FromJSON ReferenceItem where
+  parseJSON =
+    Data.withObject
+      "ReferenceItem"
+      ( \x ->
+          ReferenceItem'
+            Prelude.<$> (x Data..:? "referenceArn")
+      )
+
+instance Prelude.Hashable ReferenceItem where
+  hashWithSalt _salt ReferenceItem' {..} =
+    _salt `Prelude.hashWithSalt` referenceArn
+
+instance Prelude.NFData ReferenceItem where
+  rnf ReferenceItem' {..} = Prelude.rnf referenceArn
+
+instance Data.ToJSON ReferenceItem where
+  toJSON ReferenceItem' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [("referenceArn" Data..=) Prelude.<$> referenceArn]
+      )
diff --git a/gen/Amazonka/Omics/Types/ReferenceListItem.hs b/gen/Amazonka/Omics/Types/ReferenceListItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReferenceListItem.hs
@@ -0,0 +1,187 @@
+{-# 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.Omics.Types.ReferenceListItem
+-- 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.Omics.Types.ReferenceListItem where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.ReferenceStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | A genome reference.
+--
+-- /See:/ 'newReferenceListItem' smart constructor.
+data ReferenceListItem = ReferenceListItem'
+  { -- | The reference\'s description.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | The reference\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The reference\'s status.
+    status :: Prelude.Maybe ReferenceStatus,
+    -- | The reference\'s ARN.
+    arn :: Prelude.Text,
+    -- | When the reference was created.
+    creationTime :: Data.ISO8601,
+    -- | The reference\'s ID.
+    id :: Prelude.Text,
+    -- | The reference\'s MD5 checksum.
+    md5 :: Prelude.Text,
+    -- | The reference\'s store ID.
+    referenceStoreId :: Prelude.Text,
+    -- | When the reference was updated.
+    updateTime :: Data.ISO8601
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ReferenceListItem' 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', 'referenceListItem_description' - The reference\'s description.
+--
+-- 'name', 'referenceListItem_name' - The reference\'s name.
+--
+-- 'status', 'referenceListItem_status' - The reference\'s status.
+--
+-- 'arn', 'referenceListItem_arn' - The reference\'s ARN.
+--
+-- 'creationTime', 'referenceListItem_creationTime' - When the reference was created.
+--
+-- 'id', 'referenceListItem_id' - The reference\'s ID.
+--
+-- 'md5', 'referenceListItem_md5' - The reference\'s MD5 checksum.
+--
+-- 'referenceStoreId', 'referenceListItem_referenceStoreId' - The reference\'s store ID.
+--
+-- 'updateTime', 'referenceListItem_updateTime' - When the reference was updated.
+newReferenceListItem ::
+  -- | 'arn'
+  Prelude.Text ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'md5'
+  Prelude.Text ->
+  -- | 'referenceStoreId'
+  Prelude.Text ->
+  -- | 'updateTime'
+  Prelude.UTCTime ->
+  ReferenceListItem
+newReferenceListItem
+  pArn_
+  pCreationTime_
+  pId_
+  pMd5_
+  pReferenceStoreId_
+  pUpdateTime_ =
+    ReferenceListItem'
+      { description = Prelude.Nothing,
+        name = Prelude.Nothing,
+        status = Prelude.Nothing,
+        arn = pArn_,
+        creationTime = Data._Time Lens.# pCreationTime_,
+        id = pId_,
+        md5 = pMd5_,
+        referenceStoreId = pReferenceStoreId_,
+        updateTime = Data._Time Lens.# pUpdateTime_
+      }
+
+-- | The reference\'s description.
+referenceListItem_description :: Lens.Lens' ReferenceListItem (Prelude.Maybe Prelude.Text)
+referenceListItem_description = Lens.lens (\ReferenceListItem' {description} -> description) (\s@ReferenceListItem' {} a -> s {description = a} :: ReferenceListItem)
+
+-- | The reference\'s name.
+referenceListItem_name :: Lens.Lens' ReferenceListItem (Prelude.Maybe Prelude.Text)
+referenceListItem_name = Lens.lens (\ReferenceListItem' {name} -> name) (\s@ReferenceListItem' {} a -> s {name = a} :: ReferenceListItem)
+
+-- | The reference\'s status.
+referenceListItem_status :: Lens.Lens' ReferenceListItem (Prelude.Maybe ReferenceStatus)
+referenceListItem_status = Lens.lens (\ReferenceListItem' {status} -> status) (\s@ReferenceListItem' {} a -> s {status = a} :: ReferenceListItem)
+
+-- | The reference\'s ARN.
+referenceListItem_arn :: Lens.Lens' ReferenceListItem Prelude.Text
+referenceListItem_arn = Lens.lens (\ReferenceListItem' {arn} -> arn) (\s@ReferenceListItem' {} a -> s {arn = a} :: ReferenceListItem)
+
+-- | When the reference was created.
+referenceListItem_creationTime :: Lens.Lens' ReferenceListItem Prelude.UTCTime
+referenceListItem_creationTime = Lens.lens (\ReferenceListItem' {creationTime} -> creationTime) (\s@ReferenceListItem' {} a -> s {creationTime = a} :: ReferenceListItem) Prelude.. Data._Time
+
+-- | The reference\'s ID.
+referenceListItem_id :: Lens.Lens' ReferenceListItem Prelude.Text
+referenceListItem_id = Lens.lens (\ReferenceListItem' {id} -> id) (\s@ReferenceListItem' {} a -> s {id = a} :: ReferenceListItem)
+
+-- | The reference\'s MD5 checksum.
+referenceListItem_md5 :: Lens.Lens' ReferenceListItem Prelude.Text
+referenceListItem_md5 = Lens.lens (\ReferenceListItem' {md5} -> md5) (\s@ReferenceListItem' {} a -> s {md5 = a} :: ReferenceListItem)
+
+-- | The reference\'s store ID.
+referenceListItem_referenceStoreId :: Lens.Lens' ReferenceListItem Prelude.Text
+referenceListItem_referenceStoreId = Lens.lens (\ReferenceListItem' {referenceStoreId} -> referenceStoreId) (\s@ReferenceListItem' {} a -> s {referenceStoreId = a} :: ReferenceListItem)
+
+-- | When the reference was updated.
+referenceListItem_updateTime :: Lens.Lens' ReferenceListItem Prelude.UTCTime
+referenceListItem_updateTime = Lens.lens (\ReferenceListItem' {updateTime} -> updateTime) (\s@ReferenceListItem' {} a -> s {updateTime = a} :: ReferenceListItem) Prelude.. Data._Time
+
+instance Data.FromJSON ReferenceListItem where
+  parseJSON =
+    Data.withObject
+      "ReferenceListItem"
+      ( \x ->
+          ReferenceListItem'
+            Prelude.<$> (x Data..:? "description")
+            Prelude.<*> (x Data..:? "name")
+            Prelude.<*> (x Data..:? "status")
+            Prelude.<*> (x Data..: "arn")
+            Prelude.<*> (x Data..: "creationTime")
+            Prelude.<*> (x Data..: "id")
+            Prelude.<*> (x Data..: "md5")
+            Prelude.<*> (x Data..: "referenceStoreId")
+            Prelude.<*> (x Data..: "updateTime")
+      )
+
+instance Prelude.Hashable ReferenceListItem where
+  hashWithSalt _salt ReferenceListItem' {..} =
+    _salt
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` status
+      `Prelude.hashWithSalt` arn
+      `Prelude.hashWithSalt` creationTime
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` md5
+      `Prelude.hashWithSalt` referenceStoreId
+      `Prelude.hashWithSalt` updateTime
+
+instance Prelude.NFData ReferenceListItem where
+  rnf ReferenceListItem' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf md5
+      `Prelude.seq` Prelude.rnf referenceStoreId
+      `Prelude.seq` Prelude.rnf updateTime
diff --git a/gen/Amazonka/Omics/Types/ReferenceStatus.hs b/gen/Amazonka/Omics/Types/ReferenceStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReferenceStatus.hs
@@ -0,0 +1,76 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.ReferenceStatus
+-- 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.Omics.Types.ReferenceStatus
+  ( ReferenceStatus
+      ( ..,
+        ReferenceStatus_ACTIVE,
+        ReferenceStatus_DELETED,
+        ReferenceStatus_DELETING
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype ReferenceStatus = ReferenceStatus'
+  { fromReferenceStatus ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern ReferenceStatus_ACTIVE :: ReferenceStatus
+pattern ReferenceStatus_ACTIVE = ReferenceStatus' "ACTIVE"
+
+pattern ReferenceStatus_DELETED :: ReferenceStatus
+pattern ReferenceStatus_DELETED = ReferenceStatus' "DELETED"
+
+pattern ReferenceStatus_DELETING :: ReferenceStatus
+pattern ReferenceStatus_DELETING = ReferenceStatus' "DELETING"
+
+{-# COMPLETE
+  ReferenceStatus_ACTIVE,
+  ReferenceStatus_DELETED,
+  ReferenceStatus_DELETING,
+  ReferenceStatus'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/ReferenceStoreDetail.hs b/gen/Amazonka/Omics/Types/ReferenceStoreDetail.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReferenceStoreDetail.hs
@@ -0,0 +1,140 @@
+{-# 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.Omics.Types.ReferenceStoreDetail
+-- 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.Omics.Types.ReferenceStoreDetail where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.SseConfig
+import qualified Amazonka.Prelude as Prelude
+
+-- | Details about a reference store.
+--
+-- /See:/ 'newReferenceStoreDetail' smart constructor.
+data ReferenceStoreDetail = ReferenceStoreDetail'
+  { -- | The store\'s description.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | The store\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The store\'s server-side encryption (SSE) settings.
+    sseConfig :: Prelude.Maybe SseConfig,
+    -- | The store\'s ARN.
+    arn :: Prelude.Text,
+    -- | When the store was created.
+    creationTime :: Data.ISO8601,
+    -- | The store\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ReferenceStoreDetail' 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', 'referenceStoreDetail_description' - The store\'s description.
+--
+-- 'name', 'referenceStoreDetail_name' - The store\'s name.
+--
+-- 'sseConfig', 'referenceStoreDetail_sseConfig' - The store\'s server-side encryption (SSE) settings.
+--
+-- 'arn', 'referenceStoreDetail_arn' - The store\'s ARN.
+--
+-- 'creationTime', 'referenceStoreDetail_creationTime' - When the store was created.
+--
+-- 'id', 'referenceStoreDetail_id' - The store\'s ID.
+newReferenceStoreDetail ::
+  -- | 'arn'
+  Prelude.Text ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  ReferenceStoreDetail
+newReferenceStoreDetail pArn_ pCreationTime_ pId_ =
+  ReferenceStoreDetail'
+    { description =
+        Prelude.Nothing,
+      name = Prelude.Nothing,
+      sseConfig = Prelude.Nothing,
+      arn = pArn_,
+      creationTime = Data._Time Lens.# pCreationTime_,
+      id = pId_
+    }
+
+-- | The store\'s description.
+referenceStoreDetail_description :: Lens.Lens' ReferenceStoreDetail (Prelude.Maybe Prelude.Text)
+referenceStoreDetail_description = Lens.lens (\ReferenceStoreDetail' {description} -> description) (\s@ReferenceStoreDetail' {} a -> s {description = a} :: ReferenceStoreDetail)
+
+-- | The store\'s name.
+referenceStoreDetail_name :: Lens.Lens' ReferenceStoreDetail (Prelude.Maybe Prelude.Text)
+referenceStoreDetail_name = Lens.lens (\ReferenceStoreDetail' {name} -> name) (\s@ReferenceStoreDetail' {} a -> s {name = a} :: ReferenceStoreDetail)
+
+-- | The store\'s server-side encryption (SSE) settings.
+referenceStoreDetail_sseConfig :: Lens.Lens' ReferenceStoreDetail (Prelude.Maybe SseConfig)
+referenceStoreDetail_sseConfig = Lens.lens (\ReferenceStoreDetail' {sseConfig} -> sseConfig) (\s@ReferenceStoreDetail' {} a -> s {sseConfig = a} :: ReferenceStoreDetail)
+
+-- | The store\'s ARN.
+referenceStoreDetail_arn :: Lens.Lens' ReferenceStoreDetail Prelude.Text
+referenceStoreDetail_arn = Lens.lens (\ReferenceStoreDetail' {arn} -> arn) (\s@ReferenceStoreDetail' {} a -> s {arn = a} :: ReferenceStoreDetail)
+
+-- | When the store was created.
+referenceStoreDetail_creationTime :: Lens.Lens' ReferenceStoreDetail Prelude.UTCTime
+referenceStoreDetail_creationTime = Lens.lens (\ReferenceStoreDetail' {creationTime} -> creationTime) (\s@ReferenceStoreDetail' {} a -> s {creationTime = a} :: ReferenceStoreDetail) Prelude.. Data._Time
+
+-- | The store\'s ID.
+referenceStoreDetail_id :: Lens.Lens' ReferenceStoreDetail Prelude.Text
+referenceStoreDetail_id = Lens.lens (\ReferenceStoreDetail' {id} -> id) (\s@ReferenceStoreDetail' {} a -> s {id = a} :: ReferenceStoreDetail)
+
+instance Data.FromJSON ReferenceStoreDetail where
+  parseJSON =
+    Data.withObject
+      "ReferenceStoreDetail"
+      ( \x ->
+          ReferenceStoreDetail'
+            Prelude.<$> (x Data..:? "description")
+            Prelude.<*> (x Data..:? "name")
+            Prelude.<*> (x Data..:? "sseConfig")
+            Prelude.<*> (x Data..: "arn")
+            Prelude.<*> (x Data..: "creationTime")
+            Prelude.<*> (x Data..: "id")
+      )
+
+instance Prelude.Hashable ReferenceStoreDetail where
+  hashWithSalt _salt ReferenceStoreDetail' {..} =
+    _salt
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` sseConfig
+      `Prelude.hashWithSalt` arn
+      `Prelude.hashWithSalt` creationTime
+      `Prelude.hashWithSalt` id
+
+instance Prelude.NFData ReferenceStoreDetail where
+  rnf ReferenceStoreDetail' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf sseConfig
+      `Prelude.seq` Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
diff --git a/gen/Amazonka/Omics/Types/ReferenceStoreFilter.hs b/gen/Amazonka/Omics/Types/ReferenceStoreFilter.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/ReferenceStoreFilter.hs
@@ -0,0 +1,96 @@
+{-# 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.Omics.Types.ReferenceStoreFilter
+-- 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.Omics.Types.ReferenceStoreFilter 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
+
+-- | A filter for reference stores.
+--
+-- /See:/ 'newReferenceStoreFilter' smart constructor.
+data ReferenceStoreFilter = ReferenceStoreFilter'
+  { -- | The filter\'s start date.
+    createdAfter :: Prelude.Maybe Data.ISO8601,
+    -- | The filter\'s end date.
+    createdBefore :: Prelude.Maybe Data.ISO8601,
+    -- | The name to filter on.
+    name :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'ReferenceStoreFilter' 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:
+--
+-- 'createdAfter', 'referenceStoreFilter_createdAfter' - The filter\'s start date.
+--
+-- 'createdBefore', 'referenceStoreFilter_createdBefore' - The filter\'s end date.
+--
+-- 'name', 'referenceStoreFilter_name' - The name to filter on.
+newReferenceStoreFilter ::
+  ReferenceStoreFilter
+newReferenceStoreFilter =
+  ReferenceStoreFilter'
+    { createdAfter =
+        Prelude.Nothing,
+      createdBefore = Prelude.Nothing,
+      name = Prelude.Nothing
+    }
+
+-- | The filter\'s start date.
+referenceStoreFilter_createdAfter :: Lens.Lens' ReferenceStoreFilter (Prelude.Maybe Prelude.UTCTime)
+referenceStoreFilter_createdAfter = Lens.lens (\ReferenceStoreFilter' {createdAfter} -> createdAfter) (\s@ReferenceStoreFilter' {} a -> s {createdAfter = a} :: ReferenceStoreFilter) Prelude.. Lens.mapping Data._Time
+
+-- | The filter\'s end date.
+referenceStoreFilter_createdBefore :: Lens.Lens' ReferenceStoreFilter (Prelude.Maybe Prelude.UTCTime)
+referenceStoreFilter_createdBefore = Lens.lens (\ReferenceStoreFilter' {createdBefore} -> createdBefore) (\s@ReferenceStoreFilter' {} a -> s {createdBefore = a} :: ReferenceStoreFilter) Prelude.. Lens.mapping Data._Time
+
+-- | The name to filter on.
+referenceStoreFilter_name :: Lens.Lens' ReferenceStoreFilter (Prelude.Maybe Prelude.Text)
+referenceStoreFilter_name = Lens.lens (\ReferenceStoreFilter' {name} -> name) (\s@ReferenceStoreFilter' {} a -> s {name = a} :: ReferenceStoreFilter)
+
+instance Prelude.Hashable ReferenceStoreFilter where
+  hashWithSalt _salt ReferenceStoreFilter' {..} =
+    _salt
+      `Prelude.hashWithSalt` createdAfter
+      `Prelude.hashWithSalt` createdBefore
+      `Prelude.hashWithSalt` name
+
+instance Prelude.NFData ReferenceStoreFilter where
+  rnf ReferenceStoreFilter' {..} =
+    Prelude.rnf createdAfter
+      `Prelude.seq` Prelude.rnf createdBefore
+      `Prelude.seq` Prelude.rnf name
+
+instance Data.ToJSON ReferenceStoreFilter where
+  toJSON ReferenceStoreFilter' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("createdAfter" Data..=) Prelude.<$> createdAfter,
+            ("createdBefore" Data..=) Prelude.<$> createdBefore,
+            ("name" Data..=) Prelude.<$> name
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/RunExport.hs b/gen/Amazonka/Omics/Types/RunExport.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/RunExport.hs
@@ -0,0 +1,66 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.RunExport
+-- 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.Omics.Types.RunExport
+  ( RunExport
+      ( ..,
+        RunExport_DEFINITION
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype RunExport = RunExport'
+  { fromRunExport ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern RunExport_DEFINITION :: RunExport
+pattern RunExport_DEFINITION = RunExport' "DEFINITION"
+
+{-# COMPLETE
+  RunExport_DEFINITION,
+  RunExport'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/RunGroupListItem.hs b/gen/Amazonka/Omics/Types/RunGroupListItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/RunGroupListItem.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.Omics.Types.RunGroupListItem
+-- 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.Omics.Types.RunGroupListItem 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
+
+-- | A run group.
+--
+-- /See:/ 'newRunGroupListItem' smart constructor.
+data RunGroupListItem = RunGroupListItem'
+  { -- | The group\'s ARN.
+    arn :: Prelude.Maybe Prelude.Text,
+    -- | When the group was created.
+    creationTime :: Prelude.Maybe Data.ISO8601,
+    -- | The group\'s ID.
+    id :: Prelude.Maybe Prelude.Text,
+    -- | The group\'s maximum CPU count setting.
+    maxCpus :: Prelude.Maybe Prelude.Natural,
+    -- | The group\'s maximum duration setting.
+    maxDuration :: Prelude.Maybe Prelude.Natural,
+    -- | The group\'s maximum concurrent run setting.
+    maxRuns :: Prelude.Maybe Prelude.Natural,
+    -- | The group\'s name.
+    name :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'RunGroupListItem' 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', 'runGroupListItem_arn' - The group\'s ARN.
+--
+-- 'creationTime', 'runGroupListItem_creationTime' - When the group was created.
+--
+-- 'id', 'runGroupListItem_id' - The group\'s ID.
+--
+-- 'maxCpus', 'runGroupListItem_maxCpus' - The group\'s maximum CPU count setting.
+--
+-- 'maxDuration', 'runGroupListItem_maxDuration' - The group\'s maximum duration setting.
+--
+-- 'maxRuns', 'runGroupListItem_maxRuns' - The group\'s maximum concurrent run setting.
+--
+-- 'name', 'runGroupListItem_name' - The group\'s name.
+newRunGroupListItem ::
+  RunGroupListItem
+newRunGroupListItem =
+  RunGroupListItem'
+    { arn = Prelude.Nothing,
+      creationTime = Prelude.Nothing,
+      id = Prelude.Nothing,
+      maxCpus = Prelude.Nothing,
+      maxDuration = Prelude.Nothing,
+      maxRuns = Prelude.Nothing,
+      name = Prelude.Nothing
+    }
+
+-- | The group\'s ARN.
+runGroupListItem_arn :: Lens.Lens' RunGroupListItem (Prelude.Maybe Prelude.Text)
+runGroupListItem_arn = Lens.lens (\RunGroupListItem' {arn} -> arn) (\s@RunGroupListItem' {} a -> s {arn = a} :: RunGroupListItem)
+
+-- | When the group was created.
+runGroupListItem_creationTime :: Lens.Lens' RunGroupListItem (Prelude.Maybe Prelude.UTCTime)
+runGroupListItem_creationTime = Lens.lens (\RunGroupListItem' {creationTime} -> creationTime) (\s@RunGroupListItem' {} a -> s {creationTime = a} :: RunGroupListItem) Prelude.. Lens.mapping Data._Time
+
+-- | The group\'s ID.
+runGroupListItem_id :: Lens.Lens' RunGroupListItem (Prelude.Maybe Prelude.Text)
+runGroupListItem_id = Lens.lens (\RunGroupListItem' {id} -> id) (\s@RunGroupListItem' {} a -> s {id = a} :: RunGroupListItem)
+
+-- | The group\'s maximum CPU count setting.
+runGroupListItem_maxCpus :: Lens.Lens' RunGroupListItem (Prelude.Maybe Prelude.Natural)
+runGroupListItem_maxCpus = Lens.lens (\RunGroupListItem' {maxCpus} -> maxCpus) (\s@RunGroupListItem' {} a -> s {maxCpus = a} :: RunGroupListItem)
+
+-- | The group\'s maximum duration setting.
+runGroupListItem_maxDuration :: Lens.Lens' RunGroupListItem (Prelude.Maybe Prelude.Natural)
+runGroupListItem_maxDuration = Lens.lens (\RunGroupListItem' {maxDuration} -> maxDuration) (\s@RunGroupListItem' {} a -> s {maxDuration = a} :: RunGroupListItem)
+
+-- | The group\'s maximum concurrent run setting.
+runGroupListItem_maxRuns :: Lens.Lens' RunGroupListItem (Prelude.Maybe Prelude.Natural)
+runGroupListItem_maxRuns = Lens.lens (\RunGroupListItem' {maxRuns} -> maxRuns) (\s@RunGroupListItem' {} a -> s {maxRuns = a} :: RunGroupListItem)
+
+-- | The group\'s name.
+runGroupListItem_name :: Lens.Lens' RunGroupListItem (Prelude.Maybe Prelude.Text)
+runGroupListItem_name = Lens.lens (\RunGroupListItem' {name} -> name) (\s@RunGroupListItem' {} a -> s {name = a} :: RunGroupListItem)
+
+instance Data.FromJSON RunGroupListItem where
+  parseJSON =
+    Data.withObject
+      "RunGroupListItem"
+      ( \x ->
+          RunGroupListItem'
+            Prelude.<$> (x Data..:? "arn")
+            Prelude.<*> (x Data..:? "creationTime")
+            Prelude.<*> (x Data..:? "id")
+            Prelude.<*> (x Data..:? "maxCpus")
+            Prelude.<*> (x Data..:? "maxDuration")
+            Prelude.<*> (x Data..:? "maxRuns")
+            Prelude.<*> (x Data..:? "name")
+      )
+
+instance Prelude.Hashable RunGroupListItem where
+  hashWithSalt _salt RunGroupListItem' {..} =
+    _salt
+      `Prelude.hashWithSalt` arn
+      `Prelude.hashWithSalt` creationTime
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` maxCpus
+      `Prelude.hashWithSalt` maxDuration
+      `Prelude.hashWithSalt` maxRuns
+      `Prelude.hashWithSalt` name
+
+instance Prelude.NFData RunGroupListItem where
+  rnf RunGroupListItem' {..} =
+    Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf maxCpus
+      `Prelude.seq` Prelude.rnf maxDuration
+      `Prelude.seq` Prelude.rnf maxRuns
+      `Prelude.seq` Prelude.rnf name
diff --git a/gen/Amazonka/Omics/Types/RunListItem.hs b/gen/Amazonka/Omics/Types/RunListItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/RunListItem.hs
@@ -0,0 +1,181 @@
+{-# 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.Omics.Types.RunListItem
+-- 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.Omics.Types.RunListItem where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.RunStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | A workflow run.
+--
+-- /See:/ 'newRunListItem' smart constructor.
+data RunListItem = RunListItem'
+  { -- | The run\'s ARN.
+    arn :: Prelude.Maybe Prelude.Text,
+    -- | When the run was created.
+    creationTime :: Prelude.Maybe Data.ISO8601,
+    -- | The run\'s ID.
+    id :: Prelude.Maybe Prelude.Text,
+    -- | The run\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The run\'s priority.
+    priority :: Prelude.Maybe Prelude.Natural,
+    -- | When the run started.
+    startTime :: Prelude.Maybe Data.ISO8601,
+    -- | The run\'s status.
+    status :: Prelude.Maybe RunStatus,
+    -- | When the run stopped.
+    stopTime :: Prelude.Maybe Data.ISO8601,
+    -- | The run\'s storage capacity.
+    storageCapacity :: Prelude.Maybe Prelude.Natural,
+    -- | The run\'s workflow ID.
+    workflowId :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'RunListItem' 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', 'runListItem_arn' - The run\'s ARN.
+--
+-- 'creationTime', 'runListItem_creationTime' - When the run was created.
+--
+-- 'id', 'runListItem_id' - The run\'s ID.
+--
+-- 'name', 'runListItem_name' - The run\'s name.
+--
+-- 'priority', 'runListItem_priority' - The run\'s priority.
+--
+-- 'startTime', 'runListItem_startTime' - When the run started.
+--
+-- 'status', 'runListItem_status' - The run\'s status.
+--
+-- 'stopTime', 'runListItem_stopTime' - When the run stopped.
+--
+-- 'storageCapacity', 'runListItem_storageCapacity' - The run\'s storage capacity.
+--
+-- 'workflowId', 'runListItem_workflowId' - The run\'s workflow ID.
+newRunListItem ::
+  RunListItem
+newRunListItem =
+  RunListItem'
+    { arn = Prelude.Nothing,
+      creationTime = Prelude.Nothing,
+      id = Prelude.Nothing,
+      name = Prelude.Nothing,
+      priority = Prelude.Nothing,
+      startTime = Prelude.Nothing,
+      status = Prelude.Nothing,
+      stopTime = Prelude.Nothing,
+      storageCapacity = Prelude.Nothing,
+      workflowId = Prelude.Nothing
+    }
+
+-- | The run\'s ARN.
+runListItem_arn :: Lens.Lens' RunListItem (Prelude.Maybe Prelude.Text)
+runListItem_arn = Lens.lens (\RunListItem' {arn} -> arn) (\s@RunListItem' {} a -> s {arn = a} :: RunListItem)
+
+-- | When the run was created.
+runListItem_creationTime :: Lens.Lens' RunListItem (Prelude.Maybe Prelude.UTCTime)
+runListItem_creationTime = Lens.lens (\RunListItem' {creationTime} -> creationTime) (\s@RunListItem' {} a -> s {creationTime = a} :: RunListItem) Prelude.. Lens.mapping Data._Time
+
+-- | The run\'s ID.
+runListItem_id :: Lens.Lens' RunListItem (Prelude.Maybe Prelude.Text)
+runListItem_id = Lens.lens (\RunListItem' {id} -> id) (\s@RunListItem' {} a -> s {id = a} :: RunListItem)
+
+-- | The run\'s name.
+runListItem_name :: Lens.Lens' RunListItem (Prelude.Maybe Prelude.Text)
+runListItem_name = Lens.lens (\RunListItem' {name} -> name) (\s@RunListItem' {} a -> s {name = a} :: RunListItem)
+
+-- | The run\'s priority.
+runListItem_priority :: Lens.Lens' RunListItem (Prelude.Maybe Prelude.Natural)
+runListItem_priority = Lens.lens (\RunListItem' {priority} -> priority) (\s@RunListItem' {} a -> s {priority = a} :: RunListItem)
+
+-- | When the run started.
+runListItem_startTime :: Lens.Lens' RunListItem (Prelude.Maybe Prelude.UTCTime)
+runListItem_startTime = Lens.lens (\RunListItem' {startTime} -> startTime) (\s@RunListItem' {} a -> s {startTime = a} :: RunListItem) Prelude.. Lens.mapping Data._Time
+
+-- | The run\'s status.
+runListItem_status :: Lens.Lens' RunListItem (Prelude.Maybe RunStatus)
+runListItem_status = Lens.lens (\RunListItem' {status} -> status) (\s@RunListItem' {} a -> s {status = a} :: RunListItem)
+
+-- | When the run stopped.
+runListItem_stopTime :: Lens.Lens' RunListItem (Prelude.Maybe Prelude.UTCTime)
+runListItem_stopTime = Lens.lens (\RunListItem' {stopTime} -> stopTime) (\s@RunListItem' {} a -> s {stopTime = a} :: RunListItem) Prelude.. Lens.mapping Data._Time
+
+-- | The run\'s storage capacity.
+runListItem_storageCapacity :: Lens.Lens' RunListItem (Prelude.Maybe Prelude.Natural)
+runListItem_storageCapacity = Lens.lens (\RunListItem' {storageCapacity} -> storageCapacity) (\s@RunListItem' {} a -> s {storageCapacity = a} :: RunListItem)
+
+-- | The run\'s workflow ID.
+runListItem_workflowId :: Lens.Lens' RunListItem (Prelude.Maybe Prelude.Text)
+runListItem_workflowId = Lens.lens (\RunListItem' {workflowId} -> workflowId) (\s@RunListItem' {} a -> s {workflowId = a} :: RunListItem)
+
+instance Data.FromJSON RunListItem where
+  parseJSON =
+    Data.withObject
+      "RunListItem"
+      ( \x ->
+          RunListItem'
+            Prelude.<$> (x Data..:? "arn")
+            Prelude.<*> (x Data..:? "creationTime")
+            Prelude.<*> (x Data..:? "id")
+            Prelude.<*> (x Data..:? "name")
+            Prelude.<*> (x Data..:? "priority")
+            Prelude.<*> (x Data..:? "startTime")
+            Prelude.<*> (x Data..:? "status")
+            Prelude.<*> (x Data..:? "stopTime")
+            Prelude.<*> (x Data..:? "storageCapacity")
+            Prelude.<*> (x Data..:? "workflowId")
+      )
+
+instance Prelude.Hashable RunListItem where
+  hashWithSalt _salt RunListItem' {..} =
+    _salt
+      `Prelude.hashWithSalt` arn
+      `Prelude.hashWithSalt` creationTime
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` priority
+      `Prelude.hashWithSalt` startTime
+      `Prelude.hashWithSalt` status
+      `Prelude.hashWithSalt` stopTime
+      `Prelude.hashWithSalt` storageCapacity
+      `Prelude.hashWithSalt` workflowId
+
+instance Prelude.NFData RunListItem where
+  rnf RunListItem' {..} =
+    Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf priority
+      `Prelude.seq` Prelude.rnf startTime
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf stopTime
+      `Prelude.seq` Prelude.rnf storageCapacity
+      `Prelude.seq` Prelude.rnf workflowId
diff --git a/gen/Amazonka/Omics/Types/RunLogLevel.hs b/gen/Amazonka/Omics/Types/RunLogLevel.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/RunLogLevel.hs
@@ -0,0 +1,81 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.RunLogLevel
+-- 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.Omics.Types.RunLogLevel
+  ( RunLogLevel
+      ( ..,
+        RunLogLevel_ALL,
+        RunLogLevel_ERROR,
+        RunLogLevel_FATAL,
+        RunLogLevel_OFF
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype RunLogLevel = RunLogLevel'
+  { fromRunLogLevel ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern RunLogLevel_ALL :: RunLogLevel
+pattern RunLogLevel_ALL = RunLogLevel' "ALL"
+
+pattern RunLogLevel_ERROR :: RunLogLevel
+pattern RunLogLevel_ERROR = RunLogLevel' "ERROR"
+
+pattern RunLogLevel_FATAL :: RunLogLevel
+pattern RunLogLevel_FATAL = RunLogLevel' "FATAL"
+
+pattern RunLogLevel_OFF :: RunLogLevel
+pattern RunLogLevel_OFF = RunLogLevel' "OFF"
+
+{-# COMPLETE
+  RunLogLevel_ALL,
+  RunLogLevel_ERROR,
+  RunLogLevel_FATAL,
+  RunLogLevel_OFF,
+  RunLogLevel'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/RunParameters.hs b/gen/Amazonka/Omics/Types/RunParameters.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/RunParameters.hs
@@ -0,0 +1,55 @@
+{-# 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.Omics.Types.RunParameters
+-- 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.Omics.Types.RunParameters 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
+
+-- | /See:/ 'newRunParameters' smart constructor.
+data RunParameters = RunParameters'
+  {
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'RunParameters' 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.
+newRunParameters ::
+  RunParameters
+newRunParameters = RunParameters'
+
+instance Data.FromJSON RunParameters where
+  parseJSON =
+    Data.withObject
+      "RunParameters"
+      (\x -> Prelude.pure RunParameters')
+
+instance Prelude.Hashable RunParameters where
+  hashWithSalt _salt _ =
+    _salt `Prelude.hashWithSalt` ()
+
+instance Prelude.NFData RunParameters where
+  rnf _ = ()
+
+instance Data.ToJSON RunParameters where
+  toJSON = Prelude.const (Data.Object Prelude.mempty)
diff --git a/gen/Amazonka/Omics/Types/RunStatus.hs b/gen/Amazonka/Omics/Types/RunStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/RunStatus.hs
@@ -0,0 +1,101 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.RunStatus
+-- 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.Omics.Types.RunStatus
+  ( RunStatus
+      ( ..,
+        RunStatus_CANCELLED,
+        RunStatus_COMPLETED,
+        RunStatus_DELETED,
+        RunStatus_FAILED,
+        RunStatus_PENDING,
+        RunStatus_RUNNING,
+        RunStatus_STARTING,
+        RunStatus_STOPPING
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype RunStatus = RunStatus'
+  { fromRunStatus ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern RunStatus_CANCELLED :: RunStatus
+pattern RunStatus_CANCELLED = RunStatus' "CANCELLED"
+
+pattern RunStatus_COMPLETED :: RunStatus
+pattern RunStatus_COMPLETED = RunStatus' "COMPLETED"
+
+pattern RunStatus_DELETED :: RunStatus
+pattern RunStatus_DELETED = RunStatus' "DELETED"
+
+pattern RunStatus_FAILED :: RunStatus
+pattern RunStatus_FAILED = RunStatus' "FAILED"
+
+pattern RunStatus_PENDING :: RunStatus
+pattern RunStatus_PENDING = RunStatus' "PENDING"
+
+pattern RunStatus_RUNNING :: RunStatus
+pattern RunStatus_RUNNING = RunStatus' "RUNNING"
+
+pattern RunStatus_STARTING :: RunStatus
+pattern RunStatus_STARTING = RunStatus' "STARTING"
+
+pattern RunStatus_STOPPING :: RunStatus
+pattern RunStatus_STOPPING = RunStatus' "STOPPING"
+
+{-# COMPLETE
+  RunStatus_CANCELLED,
+  RunStatus_COMPLETED,
+  RunStatus_DELETED,
+  RunStatus_FAILED,
+  RunStatus_PENDING,
+  RunStatus_RUNNING,
+  RunStatus_STARTING,
+  RunStatus_STOPPING,
+  RunStatus'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/SchemaValueType.hs b/gen/Amazonka/Omics/Types/SchemaValueType.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/SchemaValueType.hs
@@ -0,0 +1,91 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.SchemaValueType
+-- 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.Omics.Types.SchemaValueType
+  ( SchemaValueType
+      ( ..,
+        SchemaValueType_BOOLEAN,
+        SchemaValueType_DOUBLE,
+        SchemaValueType_FLOAT,
+        SchemaValueType_INT,
+        SchemaValueType_LONG,
+        SchemaValueType_STRING
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype SchemaValueType = SchemaValueType'
+  { fromSchemaValueType ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern SchemaValueType_BOOLEAN :: SchemaValueType
+pattern SchemaValueType_BOOLEAN = SchemaValueType' "BOOLEAN"
+
+pattern SchemaValueType_DOUBLE :: SchemaValueType
+pattern SchemaValueType_DOUBLE = SchemaValueType' "DOUBLE"
+
+pattern SchemaValueType_FLOAT :: SchemaValueType
+pattern SchemaValueType_FLOAT = SchemaValueType' "FLOAT"
+
+pattern SchemaValueType_INT :: SchemaValueType
+pattern SchemaValueType_INT = SchemaValueType' "INT"
+
+pattern SchemaValueType_LONG :: SchemaValueType
+pattern SchemaValueType_LONG = SchemaValueType' "LONG"
+
+pattern SchemaValueType_STRING :: SchemaValueType
+pattern SchemaValueType_STRING = SchemaValueType' "STRING"
+
+{-# COMPLETE
+  SchemaValueType_BOOLEAN,
+  SchemaValueType_DOUBLE,
+  SchemaValueType_FLOAT,
+  SchemaValueType_INT,
+  SchemaValueType_LONG,
+  SchemaValueType_STRING,
+  SchemaValueType'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/SequenceInformation.hs b/gen/Amazonka/Omics/Types/SequenceInformation.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/SequenceInformation.hs
@@ -0,0 +1,108 @@
+{-# 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.Omics.Types.SequenceInformation
+-- 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.Omics.Types.SequenceInformation 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
+
+-- | Details about a sequence.
+--
+-- /See:/ 'newSequenceInformation' smart constructor.
+data SequenceInformation = SequenceInformation'
+  { -- | The sequence\'s alignment setting.
+    alignment :: Prelude.Maybe Prelude.Text,
+    -- | Where the sequence originated.
+    generatedFrom :: Prelude.Maybe Prelude.Text,
+    -- | The sequence\'s total base count.
+    totalBaseCount :: Prelude.Maybe Prelude.Integer,
+    -- | The sequence\'s total read count.
+    totalReadCount :: Prelude.Maybe Prelude.Integer
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'SequenceInformation' 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:
+--
+-- 'alignment', 'sequenceInformation_alignment' - The sequence\'s alignment setting.
+--
+-- 'generatedFrom', 'sequenceInformation_generatedFrom' - Where the sequence originated.
+--
+-- 'totalBaseCount', 'sequenceInformation_totalBaseCount' - The sequence\'s total base count.
+--
+-- 'totalReadCount', 'sequenceInformation_totalReadCount' - The sequence\'s total read count.
+newSequenceInformation ::
+  SequenceInformation
+newSequenceInformation =
+  SequenceInformation'
+    { alignment = Prelude.Nothing,
+      generatedFrom = Prelude.Nothing,
+      totalBaseCount = Prelude.Nothing,
+      totalReadCount = Prelude.Nothing
+    }
+
+-- | The sequence\'s alignment setting.
+sequenceInformation_alignment :: Lens.Lens' SequenceInformation (Prelude.Maybe Prelude.Text)
+sequenceInformation_alignment = Lens.lens (\SequenceInformation' {alignment} -> alignment) (\s@SequenceInformation' {} a -> s {alignment = a} :: SequenceInformation)
+
+-- | Where the sequence originated.
+sequenceInformation_generatedFrom :: Lens.Lens' SequenceInformation (Prelude.Maybe Prelude.Text)
+sequenceInformation_generatedFrom = Lens.lens (\SequenceInformation' {generatedFrom} -> generatedFrom) (\s@SequenceInformation' {} a -> s {generatedFrom = a} :: SequenceInformation)
+
+-- | The sequence\'s total base count.
+sequenceInformation_totalBaseCount :: Lens.Lens' SequenceInformation (Prelude.Maybe Prelude.Integer)
+sequenceInformation_totalBaseCount = Lens.lens (\SequenceInformation' {totalBaseCount} -> totalBaseCount) (\s@SequenceInformation' {} a -> s {totalBaseCount = a} :: SequenceInformation)
+
+-- | The sequence\'s total read count.
+sequenceInformation_totalReadCount :: Lens.Lens' SequenceInformation (Prelude.Maybe Prelude.Integer)
+sequenceInformation_totalReadCount = Lens.lens (\SequenceInformation' {totalReadCount} -> totalReadCount) (\s@SequenceInformation' {} a -> s {totalReadCount = a} :: SequenceInformation)
+
+instance Data.FromJSON SequenceInformation where
+  parseJSON =
+    Data.withObject
+      "SequenceInformation"
+      ( \x ->
+          SequenceInformation'
+            Prelude.<$> (x Data..:? "alignment")
+            Prelude.<*> (x Data..:? "generatedFrom")
+            Prelude.<*> (x Data..:? "totalBaseCount")
+            Prelude.<*> (x Data..:? "totalReadCount")
+      )
+
+instance Prelude.Hashable SequenceInformation where
+  hashWithSalt _salt SequenceInformation' {..} =
+    _salt
+      `Prelude.hashWithSalt` alignment
+      `Prelude.hashWithSalt` generatedFrom
+      `Prelude.hashWithSalt` totalBaseCount
+      `Prelude.hashWithSalt` totalReadCount
+
+instance Prelude.NFData SequenceInformation where
+  rnf SequenceInformation' {..} =
+    Prelude.rnf alignment
+      `Prelude.seq` Prelude.rnf generatedFrom
+      `Prelude.seq` Prelude.rnf totalBaseCount
+      `Prelude.seq` Prelude.rnf totalReadCount
diff --git a/gen/Amazonka/Omics/Types/SequenceStoreDetail.hs b/gen/Amazonka/Omics/Types/SequenceStoreDetail.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/SequenceStoreDetail.hs
@@ -0,0 +1,139 @@
+{-# 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.Omics.Types.SequenceStoreDetail
+-- 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.Omics.Types.SequenceStoreDetail where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.SseConfig
+import qualified Amazonka.Prelude as Prelude
+
+-- | Details about a sequence store.
+--
+-- /See:/ 'newSequenceStoreDetail' smart constructor.
+data SequenceStoreDetail = SequenceStoreDetail'
+  { -- | The store\'s description.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | The store\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The store\'s server-side encryption (SSE) settings.
+    sseConfig :: Prelude.Maybe SseConfig,
+    -- | The store\'s ARN.
+    arn :: Prelude.Text,
+    -- | When the store was created.
+    creationTime :: Data.ISO8601,
+    -- | The store\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'SequenceStoreDetail' 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', 'sequenceStoreDetail_description' - The store\'s description.
+--
+-- 'name', 'sequenceStoreDetail_name' - The store\'s name.
+--
+-- 'sseConfig', 'sequenceStoreDetail_sseConfig' - The store\'s server-side encryption (SSE) settings.
+--
+-- 'arn', 'sequenceStoreDetail_arn' - The store\'s ARN.
+--
+-- 'creationTime', 'sequenceStoreDetail_creationTime' - When the store was created.
+--
+-- 'id', 'sequenceStoreDetail_id' - The store\'s ID.
+newSequenceStoreDetail ::
+  -- | 'arn'
+  Prelude.Text ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'id'
+  Prelude.Text ->
+  SequenceStoreDetail
+newSequenceStoreDetail pArn_ pCreationTime_ pId_ =
+  SequenceStoreDetail'
+    { description = Prelude.Nothing,
+      name = Prelude.Nothing,
+      sseConfig = Prelude.Nothing,
+      arn = pArn_,
+      creationTime = Data._Time Lens.# pCreationTime_,
+      id = pId_
+    }
+
+-- | The store\'s description.
+sequenceStoreDetail_description :: Lens.Lens' SequenceStoreDetail (Prelude.Maybe Prelude.Text)
+sequenceStoreDetail_description = Lens.lens (\SequenceStoreDetail' {description} -> description) (\s@SequenceStoreDetail' {} a -> s {description = a} :: SequenceStoreDetail)
+
+-- | The store\'s name.
+sequenceStoreDetail_name :: Lens.Lens' SequenceStoreDetail (Prelude.Maybe Prelude.Text)
+sequenceStoreDetail_name = Lens.lens (\SequenceStoreDetail' {name} -> name) (\s@SequenceStoreDetail' {} a -> s {name = a} :: SequenceStoreDetail)
+
+-- | The store\'s server-side encryption (SSE) settings.
+sequenceStoreDetail_sseConfig :: Lens.Lens' SequenceStoreDetail (Prelude.Maybe SseConfig)
+sequenceStoreDetail_sseConfig = Lens.lens (\SequenceStoreDetail' {sseConfig} -> sseConfig) (\s@SequenceStoreDetail' {} a -> s {sseConfig = a} :: SequenceStoreDetail)
+
+-- | The store\'s ARN.
+sequenceStoreDetail_arn :: Lens.Lens' SequenceStoreDetail Prelude.Text
+sequenceStoreDetail_arn = Lens.lens (\SequenceStoreDetail' {arn} -> arn) (\s@SequenceStoreDetail' {} a -> s {arn = a} :: SequenceStoreDetail)
+
+-- | When the store was created.
+sequenceStoreDetail_creationTime :: Lens.Lens' SequenceStoreDetail Prelude.UTCTime
+sequenceStoreDetail_creationTime = Lens.lens (\SequenceStoreDetail' {creationTime} -> creationTime) (\s@SequenceStoreDetail' {} a -> s {creationTime = a} :: SequenceStoreDetail) Prelude.. Data._Time
+
+-- | The store\'s ID.
+sequenceStoreDetail_id :: Lens.Lens' SequenceStoreDetail Prelude.Text
+sequenceStoreDetail_id = Lens.lens (\SequenceStoreDetail' {id} -> id) (\s@SequenceStoreDetail' {} a -> s {id = a} :: SequenceStoreDetail)
+
+instance Data.FromJSON SequenceStoreDetail where
+  parseJSON =
+    Data.withObject
+      "SequenceStoreDetail"
+      ( \x ->
+          SequenceStoreDetail'
+            Prelude.<$> (x Data..:? "description")
+            Prelude.<*> (x Data..:? "name")
+            Prelude.<*> (x Data..:? "sseConfig")
+            Prelude.<*> (x Data..: "arn")
+            Prelude.<*> (x Data..: "creationTime")
+            Prelude.<*> (x Data..: "id")
+      )
+
+instance Prelude.Hashable SequenceStoreDetail where
+  hashWithSalt _salt SequenceStoreDetail' {..} =
+    _salt
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` sseConfig
+      `Prelude.hashWithSalt` arn
+      `Prelude.hashWithSalt` creationTime
+      `Prelude.hashWithSalt` id
+
+instance Prelude.NFData SequenceStoreDetail where
+  rnf SequenceStoreDetail' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf sseConfig
+      `Prelude.seq` Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf id
diff --git a/gen/Amazonka/Omics/Types/SequenceStoreFilter.hs b/gen/Amazonka/Omics/Types/SequenceStoreFilter.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/SequenceStoreFilter.hs
@@ -0,0 +1,96 @@
+{-# 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.Omics.Types.SequenceStoreFilter
+-- 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.Omics.Types.SequenceStoreFilter 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
+
+-- | A filter for a sequence store.
+--
+-- /See:/ 'newSequenceStoreFilter' smart constructor.
+data SequenceStoreFilter = SequenceStoreFilter'
+  { -- | The filter\'s start date.
+    createdAfter :: Prelude.Maybe Data.ISO8601,
+    -- | The filter\'s end date.
+    createdBefore :: Prelude.Maybe Data.ISO8601,
+    -- | A name to filter on.
+    name :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'SequenceStoreFilter' 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:
+--
+-- 'createdAfter', 'sequenceStoreFilter_createdAfter' - The filter\'s start date.
+--
+-- 'createdBefore', 'sequenceStoreFilter_createdBefore' - The filter\'s end date.
+--
+-- 'name', 'sequenceStoreFilter_name' - A name to filter on.
+newSequenceStoreFilter ::
+  SequenceStoreFilter
+newSequenceStoreFilter =
+  SequenceStoreFilter'
+    { createdAfter =
+        Prelude.Nothing,
+      createdBefore = Prelude.Nothing,
+      name = Prelude.Nothing
+    }
+
+-- | The filter\'s start date.
+sequenceStoreFilter_createdAfter :: Lens.Lens' SequenceStoreFilter (Prelude.Maybe Prelude.UTCTime)
+sequenceStoreFilter_createdAfter = Lens.lens (\SequenceStoreFilter' {createdAfter} -> createdAfter) (\s@SequenceStoreFilter' {} a -> s {createdAfter = a} :: SequenceStoreFilter) Prelude.. Lens.mapping Data._Time
+
+-- | The filter\'s end date.
+sequenceStoreFilter_createdBefore :: Lens.Lens' SequenceStoreFilter (Prelude.Maybe Prelude.UTCTime)
+sequenceStoreFilter_createdBefore = Lens.lens (\SequenceStoreFilter' {createdBefore} -> createdBefore) (\s@SequenceStoreFilter' {} a -> s {createdBefore = a} :: SequenceStoreFilter) Prelude.. Lens.mapping Data._Time
+
+-- | A name to filter on.
+sequenceStoreFilter_name :: Lens.Lens' SequenceStoreFilter (Prelude.Maybe Prelude.Text)
+sequenceStoreFilter_name = Lens.lens (\SequenceStoreFilter' {name} -> name) (\s@SequenceStoreFilter' {} a -> s {name = a} :: SequenceStoreFilter)
+
+instance Prelude.Hashable SequenceStoreFilter where
+  hashWithSalt _salt SequenceStoreFilter' {..} =
+    _salt
+      `Prelude.hashWithSalt` createdAfter
+      `Prelude.hashWithSalt` createdBefore
+      `Prelude.hashWithSalt` name
+
+instance Prelude.NFData SequenceStoreFilter where
+  rnf SequenceStoreFilter' {..} =
+    Prelude.rnf createdAfter
+      `Prelude.seq` Prelude.rnf createdBefore
+      `Prelude.seq` Prelude.rnf name
+
+instance Data.ToJSON SequenceStoreFilter where
+  toJSON SequenceStoreFilter' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("createdAfter" Data..=) Prelude.<$> createdAfter,
+            ("createdBefore" Data..=) Prelude.<$> createdBefore,
+            ("name" Data..=) Prelude.<$> name
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/SourceFiles.hs b/gen/Amazonka/Omics/Types/SourceFiles.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/SourceFiles.hs
@@ -0,0 +1,95 @@
+{-# 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.Omics.Types.SourceFiles
+-- 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.Omics.Types.SourceFiles 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
+
+-- | Source files for a sequence.
+--
+-- /See:/ 'newSourceFiles' smart constructor.
+data SourceFiles = SourceFiles'
+  { -- | The location of the second file in Amazon S3.
+    source2 :: Prelude.Maybe Prelude.Text,
+    -- | The location of the first file in Amazon S3.
+    source1 :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'SourceFiles' 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:
+--
+-- 'source2', 'sourceFiles_source2' - The location of the second file in Amazon S3.
+--
+-- 'source1', 'sourceFiles_source1' - The location of the first file in Amazon S3.
+newSourceFiles ::
+  -- | 'source1'
+  Prelude.Text ->
+  SourceFiles
+newSourceFiles pSource1_ =
+  SourceFiles'
+    { source2 = Prelude.Nothing,
+      source1 = pSource1_
+    }
+
+-- | The location of the second file in Amazon S3.
+sourceFiles_source2 :: Lens.Lens' SourceFiles (Prelude.Maybe Prelude.Text)
+sourceFiles_source2 = Lens.lens (\SourceFiles' {source2} -> source2) (\s@SourceFiles' {} a -> s {source2 = a} :: SourceFiles)
+
+-- | The location of the first file in Amazon S3.
+sourceFiles_source1 :: Lens.Lens' SourceFiles Prelude.Text
+sourceFiles_source1 = Lens.lens (\SourceFiles' {source1} -> source1) (\s@SourceFiles' {} a -> s {source1 = a} :: SourceFiles)
+
+instance Data.FromJSON SourceFiles where
+  parseJSON =
+    Data.withObject
+      "SourceFiles"
+      ( \x ->
+          SourceFiles'
+            Prelude.<$> (x Data..:? "source2")
+            Prelude.<*> (x Data..: "source1")
+      )
+
+instance Prelude.Hashable SourceFiles where
+  hashWithSalt _salt SourceFiles' {..} =
+    _salt
+      `Prelude.hashWithSalt` source2
+      `Prelude.hashWithSalt` source1
+
+instance Prelude.NFData SourceFiles where
+  rnf SourceFiles' {..} =
+    Prelude.rnf source2
+      `Prelude.seq` Prelude.rnf source1
+
+instance Data.ToJSON SourceFiles where
+  toJSON SourceFiles' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("source2" Data..=) Prelude.<$> source2,
+            Prelude.Just ("source1" Data..= source1)
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/SseConfig.hs b/gen/Amazonka/Omics/Types/SseConfig.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/SseConfig.hs
@@ -0,0 +1,95 @@
+{-# 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.Omics.Types.SseConfig
+-- 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.Omics.Types.SseConfig where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.EncryptionType
+import qualified Amazonka.Prelude as Prelude
+
+-- | Server-side encryption (SSE) settings for a store.
+--
+-- /See:/ 'newSseConfig' smart constructor.
+data SseConfig = SseConfig'
+  { -- | An encryption key ARN.
+    keyArn :: Prelude.Maybe Prelude.Text,
+    -- | The encryption type.
+    type' :: EncryptionType
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'SseConfig' 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:
+--
+-- 'keyArn', 'sseConfig_keyArn' - An encryption key ARN.
+--
+-- 'type'', 'sseConfig_type' - The encryption type.
+newSseConfig ::
+  -- | 'type''
+  EncryptionType ->
+  SseConfig
+newSseConfig pType_ =
+  SseConfig'
+    { keyArn = Prelude.Nothing,
+      type' = pType_
+    }
+
+-- | An encryption key ARN.
+sseConfig_keyArn :: Lens.Lens' SseConfig (Prelude.Maybe Prelude.Text)
+sseConfig_keyArn = Lens.lens (\SseConfig' {keyArn} -> keyArn) (\s@SseConfig' {} a -> s {keyArn = a} :: SseConfig)
+
+-- | The encryption type.
+sseConfig_type :: Lens.Lens' SseConfig EncryptionType
+sseConfig_type = Lens.lens (\SseConfig' {type'} -> type') (\s@SseConfig' {} a -> s {type' = a} :: SseConfig)
+
+instance Data.FromJSON SseConfig where
+  parseJSON =
+    Data.withObject
+      "SseConfig"
+      ( \x ->
+          SseConfig'
+            Prelude.<$> (x Data..:? "keyArn")
+            Prelude.<*> (x Data..: "type")
+      )
+
+instance Prelude.Hashable SseConfig where
+  hashWithSalt _salt SseConfig' {..} =
+    _salt
+      `Prelude.hashWithSalt` keyArn
+      `Prelude.hashWithSalt` type'
+
+instance Prelude.NFData SseConfig where
+  rnf SseConfig' {..} =
+    Prelude.rnf keyArn `Prelude.seq` Prelude.rnf type'
+
+instance Data.ToJSON SseConfig where
+  toJSON SseConfig' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("keyArn" Data..=) Prelude.<$> keyArn,
+            Prelude.Just ("type" Data..= type')
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/StartReadSetActivationJobSourceItem.hs b/gen/Amazonka/Omics/Types/StartReadSetActivationJobSourceItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/StartReadSetActivationJobSourceItem.hs
@@ -0,0 +1,83 @@
+{-# 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.Omics.Types.StartReadSetActivationJobSourceItem
+-- 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.Omics.Types.StartReadSetActivationJobSourceItem 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
+
+-- | A source for a read set activation job.
+--
+-- /See:/ 'newStartReadSetActivationJobSourceItem' smart constructor.
+data StartReadSetActivationJobSourceItem = StartReadSetActivationJobSourceItem'
+  { -- | The source\'s read set ID.
+    readSetId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StartReadSetActivationJobSourceItem' 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:
+--
+-- 'readSetId', 'startReadSetActivationJobSourceItem_readSetId' - The source\'s read set ID.
+newStartReadSetActivationJobSourceItem ::
+  -- | 'readSetId'
+  Prelude.Text ->
+  StartReadSetActivationJobSourceItem
+newStartReadSetActivationJobSourceItem pReadSetId_ =
+  StartReadSetActivationJobSourceItem'
+    { readSetId =
+        pReadSetId_
+    }
+
+-- | The source\'s read set ID.
+startReadSetActivationJobSourceItem_readSetId :: Lens.Lens' StartReadSetActivationJobSourceItem Prelude.Text
+startReadSetActivationJobSourceItem_readSetId = Lens.lens (\StartReadSetActivationJobSourceItem' {readSetId} -> readSetId) (\s@StartReadSetActivationJobSourceItem' {} a -> s {readSetId = a} :: StartReadSetActivationJobSourceItem)
+
+instance
+  Prelude.Hashable
+    StartReadSetActivationJobSourceItem
+  where
+  hashWithSalt
+    _salt
+    StartReadSetActivationJobSourceItem' {..} =
+      _salt `Prelude.hashWithSalt` readSetId
+
+instance
+  Prelude.NFData
+    StartReadSetActivationJobSourceItem
+  where
+  rnf StartReadSetActivationJobSourceItem' {..} =
+    Prelude.rnf readSetId
+
+instance
+  Data.ToJSON
+    StartReadSetActivationJobSourceItem
+  where
+  toJSON StartReadSetActivationJobSourceItem' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [Prelude.Just ("readSetId" Data..= readSetId)]
+      )
diff --git a/gen/Amazonka/Omics/Types/StartReadSetImportJobSourceItem.hs b/gen/Amazonka/Omics/Types/StartReadSetImportJobSourceItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/StartReadSetImportJobSourceItem.hs
@@ -0,0 +1,194 @@
+{-# 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.Omics.Types.StartReadSetImportJobSourceItem
+-- 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.Omics.Types.StartReadSetImportJobSourceItem where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.FileType
+import Amazonka.Omics.Types.SourceFiles
+import qualified Amazonka.Prelude as Prelude
+
+-- | A source for a read set import job.
+--
+-- /See:/ 'newStartReadSetImportJobSourceItem' smart constructor.
+data StartReadSetImportJobSourceItem = StartReadSetImportJobSourceItem'
+  { -- | The source\'s description.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | Where the source originated.
+    generatedFrom :: Prelude.Maybe Prelude.Text,
+    -- | The source\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The source\'s tags.
+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | The source\'s reference ARN.
+    referenceArn :: Prelude.Text,
+    -- | The source\'s sample ID.
+    sampleId :: Prelude.Text,
+    -- | The source\'s file type.
+    sourceFileType :: FileType,
+    -- | The source files\' location in Amazon S3.
+    sourceFiles :: SourceFiles,
+    -- | The source\'s subject ID.
+    subjectId :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StartReadSetImportJobSourceItem' 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', 'startReadSetImportJobSourceItem_description' - The source\'s description.
+--
+-- 'generatedFrom', 'startReadSetImportJobSourceItem_generatedFrom' - Where the source originated.
+--
+-- 'name', 'startReadSetImportJobSourceItem_name' - The source\'s name.
+--
+-- 'tags', 'startReadSetImportJobSourceItem_tags' - The source\'s tags.
+--
+-- 'referenceArn', 'startReadSetImportJobSourceItem_referenceArn' - The source\'s reference ARN.
+--
+-- 'sampleId', 'startReadSetImportJobSourceItem_sampleId' - The source\'s sample ID.
+--
+-- 'sourceFileType', 'startReadSetImportJobSourceItem_sourceFileType' - The source\'s file type.
+--
+-- 'sourceFiles', 'startReadSetImportJobSourceItem_sourceFiles' - The source files\' location in Amazon S3.
+--
+-- 'subjectId', 'startReadSetImportJobSourceItem_subjectId' - The source\'s subject ID.
+newStartReadSetImportJobSourceItem ::
+  -- | 'referenceArn'
+  Prelude.Text ->
+  -- | 'sampleId'
+  Prelude.Text ->
+  -- | 'sourceFileType'
+  FileType ->
+  -- | 'sourceFiles'
+  SourceFiles ->
+  -- | 'subjectId'
+  Prelude.Text ->
+  StartReadSetImportJobSourceItem
+newStartReadSetImportJobSourceItem
+  pReferenceArn_
+  pSampleId_
+  pSourceFileType_
+  pSourceFiles_
+  pSubjectId_ =
+    StartReadSetImportJobSourceItem'
+      { description =
+          Prelude.Nothing,
+        generatedFrom = Prelude.Nothing,
+        name = Prelude.Nothing,
+        tags = Prelude.Nothing,
+        referenceArn = pReferenceArn_,
+        sampleId = pSampleId_,
+        sourceFileType = pSourceFileType_,
+        sourceFiles = pSourceFiles_,
+        subjectId = pSubjectId_
+      }
+
+-- | The source\'s description.
+startReadSetImportJobSourceItem_description :: Lens.Lens' StartReadSetImportJobSourceItem (Prelude.Maybe Prelude.Text)
+startReadSetImportJobSourceItem_description = Lens.lens (\StartReadSetImportJobSourceItem' {description} -> description) (\s@StartReadSetImportJobSourceItem' {} a -> s {description = a} :: StartReadSetImportJobSourceItem)
+
+-- | Where the source originated.
+startReadSetImportJobSourceItem_generatedFrom :: Lens.Lens' StartReadSetImportJobSourceItem (Prelude.Maybe Prelude.Text)
+startReadSetImportJobSourceItem_generatedFrom = Lens.lens (\StartReadSetImportJobSourceItem' {generatedFrom} -> generatedFrom) (\s@StartReadSetImportJobSourceItem' {} a -> s {generatedFrom = a} :: StartReadSetImportJobSourceItem)
+
+-- | The source\'s name.
+startReadSetImportJobSourceItem_name :: Lens.Lens' StartReadSetImportJobSourceItem (Prelude.Maybe Prelude.Text)
+startReadSetImportJobSourceItem_name = Lens.lens (\StartReadSetImportJobSourceItem' {name} -> name) (\s@StartReadSetImportJobSourceItem' {} a -> s {name = a} :: StartReadSetImportJobSourceItem)
+
+-- | The source\'s tags.
+startReadSetImportJobSourceItem_tags :: Lens.Lens' StartReadSetImportJobSourceItem (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+startReadSetImportJobSourceItem_tags = Lens.lens (\StartReadSetImportJobSourceItem' {tags} -> tags) (\s@StartReadSetImportJobSourceItem' {} a -> s {tags = a} :: StartReadSetImportJobSourceItem) Prelude.. Lens.mapping Lens.coerced
+
+-- | The source\'s reference ARN.
+startReadSetImportJobSourceItem_referenceArn :: Lens.Lens' StartReadSetImportJobSourceItem Prelude.Text
+startReadSetImportJobSourceItem_referenceArn = Lens.lens (\StartReadSetImportJobSourceItem' {referenceArn} -> referenceArn) (\s@StartReadSetImportJobSourceItem' {} a -> s {referenceArn = a} :: StartReadSetImportJobSourceItem)
+
+-- | The source\'s sample ID.
+startReadSetImportJobSourceItem_sampleId :: Lens.Lens' StartReadSetImportJobSourceItem Prelude.Text
+startReadSetImportJobSourceItem_sampleId = Lens.lens (\StartReadSetImportJobSourceItem' {sampleId} -> sampleId) (\s@StartReadSetImportJobSourceItem' {} a -> s {sampleId = a} :: StartReadSetImportJobSourceItem)
+
+-- | The source\'s file type.
+startReadSetImportJobSourceItem_sourceFileType :: Lens.Lens' StartReadSetImportJobSourceItem FileType
+startReadSetImportJobSourceItem_sourceFileType = Lens.lens (\StartReadSetImportJobSourceItem' {sourceFileType} -> sourceFileType) (\s@StartReadSetImportJobSourceItem' {} a -> s {sourceFileType = a} :: StartReadSetImportJobSourceItem)
+
+-- | The source files\' location in Amazon S3.
+startReadSetImportJobSourceItem_sourceFiles :: Lens.Lens' StartReadSetImportJobSourceItem SourceFiles
+startReadSetImportJobSourceItem_sourceFiles = Lens.lens (\StartReadSetImportJobSourceItem' {sourceFiles} -> sourceFiles) (\s@StartReadSetImportJobSourceItem' {} a -> s {sourceFiles = a} :: StartReadSetImportJobSourceItem)
+
+-- | The source\'s subject ID.
+startReadSetImportJobSourceItem_subjectId :: Lens.Lens' StartReadSetImportJobSourceItem Prelude.Text
+startReadSetImportJobSourceItem_subjectId = Lens.lens (\StartReadSetImportJobSourceItem' {subjectId} -> subjectId) (\s@StartReadSetImportJobSourceItem' {} a -> s {subjectId = a} :: StartReadSetImportJobSourceItem)
+
+instance
+  Prelude.Hashable
+    StartReadSetImportJobSourceItem
+  where
+  hashWithSalt
+    _salt
+    StartReadSetImportJobSourceItem' {..} =
+      _salt
+        `Prelude.hashWithSalt` description
+        `Prelude.hashWithSalt` generatedFrom
+        `Prelude.hashWithSalt` name
+        `Prelude.hashWithSalt` tags
+        `Prelude.hashWithSalt` referenceArn
+        `Prelude.hashWithSalt` sampleId
+        `Prelude.hashWithSalt` sourceFileType
+        `Prelude.hashWithSalt` sourceFiles
+        `Prelude.hashWithSalt` subjectId
+
+instance
+  Prelude.NFData
+    StartReadSetImportJobSourceItem
+  where
+  rnf StartReadSetImportJobSourceItem' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf generatedFrom
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf referenceArn
+      `Prelude.seq` Prelude.rnf sampleId
+      `Prelude.seq` Prelude.rnf sourceFileType
+      `Prelude.seq` Prelude.rnf sourceFiles
+      `Prelude.seq` Prelude.rnf subjectId
+
+instance Data.ToJSON StartReadSetImportJobSourceItem where
+  toJSON StartReadSetImportJobSourceItem' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("description" Data..=) Prelude.<$> description,
+            ("generatedFrom" Data..=) Prelude.<$> generatedFrom,
+            ("name" Data..=) Prelude.<$> name,
+            ("tags" Data..=) Prelude.<$> tags,
+            Prelude.Just ("referenceArn" Data..= referenceArn),
+            Prelude.Just ("sampleId" Data..= sampleId),
+            Prelude.Just
+              ("sourceFileType" Data..= sourceFileType),
+            Prelude.Just ("sourceFiles" Data..= sourceFiles),
+            Prelude.Just ("subjectId" Data..= subjectId)
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/StartReferenceImportJobSourceItem.hs b/gen/Amazonka/Omics/Types/StartReferenceImportJobSourceItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/StartReferenceImportJobSourceItem.hs
@@ -0,0 +1,125 @@
+{-# 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.Omics.Types.StartReferenceImportJobSourceItem
+-- 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.Omics.Types.StartReferenceImportJobSourceItem 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
+
+-- | A source for a reference import job.
+--
+-- /See:/ 'newStartReferenceImportJobSourceItem' smart constructor.
+data StartReferenceImportJobSourceItem = StartReferenceImportJobSourceItem'
+  { -- | The source\'s description.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | The source\'s tags.
+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
+    -- | The source\'s name.
+    name :: Prelude.Text,
+    -- | The source file\'s location in Amazon S3.
+    sourceFile :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StartReferenceImportJobSourceItem' 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', 'startReferenceImportJobSourceItem_description' - The source\'s description.
+--
+-- 'tags', 'startReferenceImportJobSourceItem_tags' - The source\'s tags.
+--
+-- 'name', 'startReferenceImportJobSourceItem_name' - The source\'s name.
+--
+-- 'sourceFile', 'startReferenceImportJobSourceItem_sourceFile' - The source file\'s location in Amazon S3.
+newStartReferenceImportJobSourceItem ::
+  -- | 'name'
+  Prelude.Text ->
+  -- | 'sourceFile'
+  Prelude.Text ->
+  StartReferenceImportJobSourceItem
+newStartReferenceImportJobSourceItem
+  pName_
+  pSourceFile_ =
+    StartReferenceImportJobSourceItem'
+      { description =
+          Prelude.Nothing,
+        tags = Prelude.Nothing,
+        name = pName_,
+        sourceFile = pSourceFile_
+      }
+
+-- | The source\'s description.
+startReferenceImportJobSourceItem_description :: Lens.Lens' StartReferenceImportJobSourceItem (Prelude.Maybe Prelude.Text)
+startReferenceImportJobSourceItem_description = Lens.lens (\StartReferenceImportJobSourceItem' {description} -> description) (\s@StartReferenceImportJobSourceItem' {} a -> s {description = a} :: StartReferenceImportJobSourceItem)
+
+-- | The source\'s tags.
+startReferenceImportJobSourceItem_tags :: Lens.Lens' StartReferenceImportJobSourceItem (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
+startReferenceImportJobSourceItem_tags = Lens.lens (\StartReferenceImportJobSourceItem' {tags} -> tags) (\s@StartReferenceImportJobSourceItem' {} a -> s {tags = a} :: StartReferenceImportJobSourceItem) Prelude.. Lens.mapping Lens.coerced
+
+-- | The source\'s name.
+startReferenceImportJobSourceItem_name :: Lens.Lens' StartReferenceImportJobSourceItem Prelude.Text
+startReferenceImportJobSourceItem_name = Lens.lens (\StartReferenceImportJobSourceItem' {name} -> name) (\s@StartReferenceImportJobSourceItem' {} a -> s {name = a} :: StartReferenceImportJobSourceItem)
+
+-- | The source file\'s location in Amazon S3.
+startReferenceImportJobSourceItem_sourceFile :: Lens.Lens' StartReferenceImportJobSourceItem Prelude.Text
+startReferenceImportJobSourceItem_sourceFile = Lens.lens (\StartReferenceImportJobSourceItem' {sourceFile} -> sourceFile) (\s@StartReferenceImportJobSourceItem' {} a -> s {sourceFile = a} :: StartReferenceImportJobSourceItem)
+
+instance
+  Prelude.Hashable
+    StartReferenceImportJobSourceItem
+  where
+  hashWithSalt
+    _salt
+    StartReferenceImportJobSourceItem' {..} =
+      _salt
+        `Prelude.hashWithSalt` description
+        `Prelude.hashWithSalt` tags
+        `Prelude.hashWithSalt` name
+        `Prelude.hashWithSalt` sourceFile
+
+instance
+  Prelude.NFData
+    StartReferenceImportJobSourceItem
+  where
+  rnf StartReferenceImportJobSourceItem' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf tags
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf sourceFile
+
+instance
+  Data.ToJSON
+    StartReferenceImportJobSourceItem
+  where
+  toJSON StartReferenceImportJobSourceItem' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("description" Data..=) Prelude.<$> description,
+            ("tags" Data..=) Prelude.<$> tags,
+            Prelude.Just ("name" Data..= name),
+            Prelude.Just ("sourceFile" Data..= sourceFile)
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/StoreFormat.hs b/gen/Amazonka/Omics/Types/StoreFormat.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/StoreFormat.hs
@@ -0,0 +1,76 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.StoreFormat
+-- 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.Omics.Types.StoreFormat
+  ( StoreFormat
+      ( ..,
+        StoreFormat_GFF,
+        StoreFormat_TSV,
+        StoreFormat_VCF
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype StoreFormat = StoreFormat'
+  { fromStoreFormat ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern StoreFormat_GFF :: StoreFormat
+pattern StoreFormat_GFF = StoreFormat' "GFF"
+
+pattern StoreFormat_TSV :: StoreFormat
+pattern StoreFormat_TSV = StoreFormat' "TSV"
+
+pattern StoreFormat_VCF :: StoreFormat
+pattern StoreFormat_VCF = StoreFormat' "VCF"
+
+{-# COMPLETE
+  StoreFormat_GFF,
+  StoreFormat_TSV,
+  StoreFormat_VCF,
+  StoreFormat'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/StoreOptions.hs b/gen/Amazonka/Omics/Types/StoreOptions.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/StoreOptions.hs
@@ -0,0 +1,78 @@
+{-# 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.Omics.Types.StoreOptions
+-- 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.Omics.Types.StoreOptions where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.TsvStoreOptions
+import qualified Amazonka.Prelude as Prelude
+
+-- | Settings for a store.
+--
+-- /See:/ 'newStoreOptions' smart constructor.
+data StoreOptions = StoreOptions'
+  { -- | File settings for a TSV store.
+    tsvStoreOptions :: Prelude.Maybe TsvStoreOptions
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'StoreOptions' 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:
+--
+-- 'tsvStoreOptions', 'storeOptions_tsvStoreOptions' - File settings for a TSV store.
+newStoreOptions ::
+  StoreOptions
+newStoreOptions =
+  StoreOptions' {tsvStoreOptions = Prelude.Nothing}
+
+-- | File settings for a TSV store.
+storeOptions_tsvStoreOptions :: Lens.Lens' StoreOptions (Prelude.Maybe TsvStoreOptions)
+storeOptions_tsvStoreOptions = Lens.lens (\StoreOptions' {tsvStoreOptions} -> tsvStoreOptions) (\s@StoreOptions' {} a -> s {tsvStoreOptions = a} :: StoreOptions)
+
+instance Data.FromJSON StoreOptions where
+  parseJSON =
+    Data.withObject
+      "StoreOptions"
+      ( \x ->
+          StoreOptions'
+            Prelude.<$> (x Data..:? "tsvStoreOptions")
+      )
+
+instance Prelude.Hashable StoreOptions where
+  hashWithSalt _salt StoreOptions' {..} =
+    _salt `Prelude.hashWithSalt` tsvStoreOptions
+
+instance Prelude.NFData StoreOptions where
+  rnf StoreOptions' {..} = Prelude.rnf tsvStoreOptions
+
+instance Data.ToJSON StoreOptions where
+  toJSON StoreOptions' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("tsvStoreOptions" Data..=)
+              Prelude.<$> tsvStoreOptions
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/StoreStatus.hs b/gen/Amazonka/Omics/Types/StoreStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/StoreStatus.hs
@@ -0,0 +1,86 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.StoreStatus
+-- 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.Omics.Types.StoreStatus
+  ( StoreStatus
+      ( ..,
+        StoreStatus_ACTIVE,
+        StoreStatus_CREATING,
+        StoreStatus_DELETING,
+        StoreStatus_FAILED,
+        StoreStatus_UPDATING
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype StoreStatus = StoreStatus'
+  { fromStoreStatus ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern StoreStatus_ACTIVE :: StoreStatus
+pattern StoreStatus_ACTIVE = StoreStatus' "ACTIVE"
+
+pattern StoreStatus_CREATING :: StoreStatus
+pattern StoreStatus_CREATING = StoreStatus' "CREATING"
+
+pattern StoreStatus_DELETING :: StoreStatus
+pattern StoreStatus_DELETING = StoreStatus' "DELETING"
+
+pattern StoreStatus_FAILED :: StoreStatus
+pattern StoreStatus_FAILED = StoreStatus' "FAILED"
+
+pattern StoreStatus_UPDATING :: StoreStatus
+pattern StoreStatus_UPDATING = StoreStatus' "UPDATING"
+
+{-# COMPLETE
+  StoreStatus_ACTIVE,
+  StoreStatus_CREATING,
+  StoreStatus_DELETING,
+  StoreStatus_FAILED,
+  StoreStatus_UPDATING,
+  StoreStatus'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/TaskListItem.hs b/gen/Amazonka/Omics/Types/TaskListItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/TaskListItem.hs
@@ -0,0 +1,157 @@
+{-# 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.Omics.Types.TaskListItem
+-- 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.Omics.Types.TaskListItem where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.TaskStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | A workflow run task.
+--
+-- /See:/ 'newTaskListItem' smart constructor.
+data TaskListItem = TaskListItem'
+  { -- | The task\'s CPU count.
+    cpus :: Prelude.Maybe Prelude.Natural,
+    -- | When the task was created.
+    creationTime :: Prelude.Maybe Data.ISO8601,
+    -- | The task\'s memory.
+    memory :: Prelude.Maybe Prelude.Natural,
+    -- | The task\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | When the task started.
+    startTime :: Prelude.Maybe Data.ISO8601,
+    -- | The task\'s status.
+    status :: Prelude.Maybe TaskStatus,
+    -- | When the task stopped.
+    stopTime :: Prelude.Maybe Data.ISO8601,
+    -- | The task\'s ID.
+    taskId :: Prelude.Maybe Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'TaskListItem' 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:
+--
+-- 'cpus', 'taskListItem_cpus' - The task\'s CPU count.
+--
+-- 'creationTime', 'taskListItem_creationTime' - When the task was created.
+--
+-- 'memory', 'taskListItem_memory' - The task\'s memory.
+--
+-- 'name', 'taskListItem_name' - The task\'s name.
+--
+-- 'startTime', 'taskListItem_startTime' - When the task started.
+--
+-- 'status', 'taskListItem_status' - The task\'s status.
+--
+-- 'stopTime', 'taskListItem_stopTime' - When the task stopped.
+--
+-- 'taskId', 'taskListItem_taskId' - The task\'s ID.
+newTaskListItem ::
+  TaskListItem
+newTaskListItem =
+  TaskListItem'
+    { cpus = Prelude.Nothing,
+      creationTime = Prelude.Nothing,
+      memory = Prelude.Nothing,
+      name = Prelude.Nothing,
+      startTime = Prelude.Nothing,
+      status = Prelude.Nothing,
+      stopTime = Prelude.Nothing,
+      taskId = Prelude.Nothing
+    }
+
+-- | The task\'s CPU count.
+taskListItem_cpus :: Lens.Lens' TaskListItem (Prelude.Maybe Prelude.Natural)
+taskListItem_cpus = Lens.lens (\TaskListItem' {cpus} -> cpus) (\s@TaskListItem' {} a -> s {cpus = a} :: TaskListItem)
+
+-- | When the task was created.
+taskListItem_creationTime :: Lens.Lens' TaskListItem (Prelude.Maybe Prelude.UTCTime)
+taskListItem_creationTime = Lens.lens (\TaskListItem' {creationTime} -> creationTime) (\s@TaskListItem' {} a -> s {creationTime = a} :: TaskListItem) Prelude.. Lens.mapping Data._Time
+
+-- | The task\'s memory.
+taskListItem_memory :: Lens.Lens' TaskListItem (Prelude.Maybe Prelude.Natural)
+taskListItem_memory = Lens.lens (\TaskListItem' {memory} -> memory) (\s@TaskListItem' {} a -> s {memory = a} :: TaskListItem)
+
+-- | The task\'s name.
+taskListItem_name :: Lens.Lens' TaskListItem (Prelude.Maybe Prelude.Text)
+taskListItem_name = Lens.lens (\TaskListItem' {name} -> name) (\s@TaskListItem' {} a -> s {name = a} :: TaskListItem)
+
+-- | When the task started.
+taskListItem_startTime :: Lens.Lens' TaskListItem (Prelude.Maybe Prelude.UTCTime)
+taskListItem_startTime = Lens.lens (\TaskListItem' {startTime} -> startTime) (\s@TaskListItem' {} a -> s {startTime = a} :: TaskListItem) Prelude.. Lens.mapping Data._Time
+
+-- | The task\'s status.
+taskListItem_status :: Lens.Lens' TaskListItem (Prelude.Maybe TaskStatus)
+taskListItem_status = Lens.lens (\TaskListItem' {status} -> status) (\s@TaskListItem' {} a -> s {status = a} :: TaskListItem)
+
+-- | When the task stopped.
+taskListItem_stopTime :: Lens.Lens' TaskListItem (Prelude.Maybe Prelude.UTCTime)
+taskListItem_stopTime = Lens.lens (\TaskListItem' {stopTime} -> stopTime) (\s@TaskListItem' {} a -> s {stopTime = a} :: TaskListItem) Prelude.. Lens.mapping Data._Time
+
+-- | The task\'s ID.
+taskListItem_taskId :: Lens.Lens' TaskListItem (Prelude.Maybe Prelude.Text)
+taskListItem_taskId = Lens.lens (\TaskListItem' {taskId} -> taskId) (\s@TaskListItem' {} a -> s {taskId = a} :: TaskListItem)
+
+instance Data.FromJSON TaskListItem where
+  parseJSON =
+    Data.withObject
+      "TaskListItem"
+      ( \x ->
+          TaskListItem'
+            Prelude.<$> (x Data..:? "cpus")
+            Prelude.<*> (x Data..:? "creationTime")
+            Prelude.<*> (x Data..:? "memory")
+            Prelude.<*> (x Data..:? "name")
+            Prelude.<*> (x Data..:? "startTime")
+            Prelude.<*> (x Data..:? "status")
+            Prelude.<*> (x Data..:? "stopTime")
+            Prelude.<*> (x Data..:? "taskId")
+      )
+
+instance Prelude.Hashable TaskListItem where
+  hashWithSalt _salt TaskListItem' {..} =
+    _salt
+      `Prelude.hashWithSalt` cpus
+      `Prelude.hashWithSalt` creationTime
+      `Prelude.hashWithSalt` memory
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` startTime
+      `Prelude.hashWithSalt` status
+      `Prelude.hashWithSalt` stopTime
+      `Prelude.hashWithSalt` taskId
+
+instance Prelude.NFData TaskListItem where
+  rnf TaskListItem' {..} =
+    Prelude.rnf cpus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf memory
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf startTime
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf stopTime
+      `Prelude.seq` Prelude.rnf taskId
diff --git a/gen/Amazonka/Omics/Types/TaskStatus.hs b/gen/Amazonka/Omics/Types/TaskStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/TaskStatus.hs
@@ -0,0 +1,96 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.TaskStatus
+-- 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.Omics.Types.TaskStatus
+  ( TaskStatus
+      ( ..,
+        TaskStatus_CANCELLED,
+        TaskStatus_COMPLETED,
+        TaskStatus_FAILED,
+        TaskStatus_PENDING,
+        TaskStatus_RUNNING,
+        TaskStatus_STARTING,
+        TaskStatus_STOPPING
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype TaskStatus = TaskStatus'
+  { fromTaskStatus ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern TaskStatus_CANCELLED :: TaskStatus
+pattern TaskStatus_CANCELLED = TaskStatus' "CANCELLED"
+
+pattern TaskStatus_COMPLETED :: TaskStatus
+pattern TaskStatus_COMPLETED = TaskStatus' "COMPLETED"
+
+pattern TaskStatus_FAILED :: TaskStatus
+pattern TaskStatus_FAILED = TaskStatus' "FAILED"
+
+pattern TaskStatus_PENDING :: TaskStatus
+pattern TaskStatus_PENDING = TaskStatus' "PENDING"
+
+pattern TaskStatus_RUNNING :: TaskStatus
+pattern TaskStatus_RUNNING = TaskStatus' "RUNNING"
+
+pattern TaskStatus_STARTING :: TaskStatus
+pattern TaskStatus_STARTING = TaskStatus' "STARTING"
+
+pattern TaskStatus_STOPPING :: TaskStatus
+pattern TaskStatus_STOPPING = TaskStatus' "STOPPING"
+
+{-# COMPLETE
+  TaskStatus_CANCELLED,
+  TaskStatus_COMPLETED,
+  TaskStatus_FAILED,
+  TaskStatus_PENDING,
+  TaskStatus_RUNNING,
+  TaskStatus_STARTING,
+  TaskStatus_STOPPING,
+  TaskStatus'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/TsvOptions.hs b/gen/Amazonka/Omics/Types/TsvOptions.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/TsvOptions.hs
@@ -0,0 +1,75 @@
+{-# 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.Omics.Types.TsvOptions
+-- 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.Omics.Types.TsvOptions where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.ReadOptions
+import qualified Amazonka.Prelude as Prelude
+
+-- | Formatting options for a TSV file.
+--
+-- /See:/ 'newTsvOptions' smart constructor.
+data TsvOptions = TsvOptions'
+  { -- | The file\'s read options.
+    readOptions :: Prelude.Maybe ReadOptions
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'TsvOptions' 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:
+--
+-- 'readOptions', 'tsvOptions_readOptions' - The file\'s read options.
+newTsvOptions ::
+  TsvOptions
+newTsvOptions =
+  TsvOptions' {readOptions = Prelude.Nothing}
+
+-- | The file\'s read options.
+tsvOptions_readOptions :: Lens.Lens' TsvOptions (Prelude.Maybe ReadOptions)
+tsvOptions_readOptions = Lens.lens (\TsvOptions' {readOptions} -> readOptions) (\s@TsvOptions' {} a -> s {readOptions = a} :: TsvOptions)
+
+instance Data.FromJSON TsvOptions where
+  parseJSON =
+    Data.withObject
+      "TsvOptions"
+      ( \x ->
+          TsvOptions' Prelude.<$> (x Data..:? "readOptions")
+      )
+
+instance Prelude.Hashable TsvOptions where
+  hashWithSalt _salt TsvOptions' {..} =
+    _salt `Prelude.hashWithSalt` readOptions
+
+instance Prelude.NFData TsvOptions where
+  rnf TsvOptions' {..} = Prelude.rnf readOptions
+
+instance Data.ToJSON TsvOptions where
+  toJSON TsvOptions' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [("readOptions" Data..=) Prelude.<$> readOptions]
+      )
diff --git a/gen/Amazonka/Omics/Types/TsvStoreOptions.hs b/gen/Amazonka/Omics/Types/TsvStoreOptions.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/TsvStoreOptions.hs
@@ -0,0 +1,111 @@
+{-# 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.Omics.Types.TsvStoreOptions
+-- 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.Omics.Types.TsvStoreOptions where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.AnnotationType
+import Amazonka.Omics.Types.FormatToHeaderKey
+import Amazonka.Omics.Types.SchemaValueType
+import qualified Amazonka.Prelude as Prelude
+
+-- | File settings for a TSV store.
+--
+-- /See:/ 'newTsvStoreOptions' smart constructor.
+data TsvStoreOptions = TsvStoreOptions'
+  { -- | The store\'s annotation type.
+    annotationType :: Prelude.Maybe AnnotationType,
+    -- | The store\'s header key to column name mapping.
+    formatToHeader :: Prelude.Maybe (Prelude.HashMap FormatToHeaderKey Prelude.Text),
+    -- | The store\'s schema.
+    schema :: Prelude.Maybe (Prelude.NonEmpty (Prelude.HashMap Prelude.Text SchemaValueType))
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'TsvStoreOptions' 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:
+--
+-- 'annotationType', 'tsvStoreOptions_annotationType' - The store\'s annotation type.
+--
+-- 'formatToHeader', 'tsvStoreOptions_formatToHeader' - The store\'s header key to column name mapping.
+--
+-- 'schema', 'tsvStoreOptions_schema' - The store\'s schema.
+newTsvStoreOptions ::
+  TsvStoreOptions
+newTsvStoreOptions =
+  TsvStoreOptions'
+    { annotationType = Prelude.Nothing,
+      formatToHeader = Prelude.Nothing,
+      schema = Prelude.Nothing
+    }
+
+-- | The store\'s annotation type.
+tsvStoreOptions_annotationType :: Lens.Lens' TsvStoreOptions (Prelude.Maybe AnnotationType)
+tsvStoreOptions_annotationType = Lens.lens (\TsvStoreOptions' {annotationType} -> annotationType) (\s@TsvStoreOptions' {} a -> s {annotationType = a} :: TsvStoreOptions)
+
+-- | The store\'s header key to column name mapping.
+tsvStoreOptions_formatToHeader :: Lens.Lens' TsvStoreOptions (Prelude.Maybe (Prelude.HashMap FormatToHeaderKey Prelude.Text))
+tsvStoreOptions_formatToHeader = Lens.lens (\TsvStoreOptions' {formatToHeader} -> formatToHeader) (\s@TsvStoreOptions' {} a -> s {formatToHeader = a} :: TsvStoreOptions) Prelude.. Lens.mapping Lens.coerced
+
+-- | The store\'s schema.
+tsvStoreOptions_schema :: Lens.Lens' TsvStoreOptions (Prelude.Maybe (Prelude.NonEmpty (Prelude.HashMap Prelude.Text SchemaValueType)))
+tsvStoreOptions_schema = Lens.lens (\TsvStoreOptions' {schema} -> schema) (\s@TsvStoreOptions' {} a -> s {schema = a} :: TsvStoreOptions) Prelude.. Lens.mapping Lens.coerced
+
+instance Data.FromJSON TsvStoreOptions where
+  parseJSON =
+    Data.withObject
+      "TsvStoreOptions"
+      ( \x ->
+          TsvStoreOptions'
+            Prelude.<$> (x Data..:? "annotationType")
+            Prelude.<*> (x Data..:? "formatToHeader" Data..!= Prelude.mempty)
+            Prelude.<*> (x Data..:? "schema")
+      )
+
+instance Prelude.Hashable TsvStoreOptions where
+  hashWithSalt _salt TsvStoreOptions' {..} =
+    _salt
+      `Prelude.hashWithSalt` annotationType
+      `Prelude.hashWithSalt` formatToHeader
+      `Prelude.hashWithSalt` schema
+
+instance Prelude.NFData TsvStoreOptions where
+  rnf TsvStoreOptions' {..} =
+    Prelude.rnf annotationType
+      `Prelude.seq` Prelude.rnf formatToHeader
+      `Prelude.seq` Prelude.rnf schema
+
+instance Data.ToJSON TsvStoreOptions where
+  toJSON TsvStoreOptions' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("annotationType" Data..=)
+              Prelude.<$> annotationType,
+            ("formatToHeader" Data..=)
+              Prelude.<$> formatToHeader,
+            ("schema" Data..=) Prelude.<$> schema
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/VariantImportItemDetail.hs b/gen/Amazonka/Omics/Types/VariantImportItemDetail.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/VariantImportItemDetail.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.Omics.Types.VariantImportItemDetail
+-- 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.Omics.Types.VariantImportItemDetail where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.JobStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | Details about an imported variant item.
+--
+-- /See:/ 'newVariantImportItemDetail' smart constructor.
+data VariantImportItemDetail = VariantImportItemDetail'
+  { -- | The item\'s job status.
+    jobStatus :: JobStatus,
+    -- | The source file\'s location in Amazon S3.
+    source :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'VariantImportItemDetail' 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:
+--
+-- 'jobStatus', 'variantImportItemDetail_jobStatus' - The item\'s job status.
+--
+-- 'source', 'variantImportItemDetail_source' - The source file\'s location in Amazon S3.
+newVariantImportItemDetail ::
+  -- | 'jobStatus'
+  JobStatus ->
+  -- | 'source'
+  Prelude.Text ->
+  VariantImportItemDetail
+newVariantImportItemDetail pJobStatus_ pSource_ =
+  VariantImportItemDetail'
+    { jobStatus = pJobStatus_,
+      source = pSource_
+    }
+
+-- | The item\'s job status.
+variantImportItemDetail_jobStatus :: Lens.Lens' VariantImportItemDetail JobStatus
+variantImportItemDetail_jobStatus = Lens.lens (\VariantImportItemDetail' {jobStatus} -> jobStatus) (\s@VariantImportItemDetail' {} a -> s {jobStatus = a} :: VariantImportItemDetail)
+
+-- | The source file\'s location in Amazon S3.
+variantImportItemDetail_source :: Lens.Lens' VariantImportItemDetail Prelude.Text
+variantImportItemDetail_source = Lens.lens (\VariantImportItemDetail' {source} -> source) (\s@VariantImportItemDetail' {} a -> s {source = a} :: VariantImportItemDetail)
+
+instance Data.FromJSON VariantImportItemDetail where
+  parseJSON =
+    Data.withObject
+      "VariantImportItemDetail"
+      ( \x ->
+          VariantImportItemDetail'
+            Prelude.<$> (x Data..: "jobStatus")
+            Prelude.<*> (x Data..: "source")
+      )
+
+instance Prelude.Hashable VariantImportItemDetail where
+  hashWithSalt _salt VariantImportItemDetail' {..} =
+    _salt
+      `Prelude.hashWithSalt` jobStatus
+      `Prelude.hashWithSalt` source
+
+instance Prelude.NFData VariantImportItemDetail where
+  rnf VariantImportItemDetail' {..} =
+    Prelude.rnf jobStatus
+      `Prelude.seq` Prelude.rnf source
diff --git a/gen/Amazonka/Omics/Types/VariantImportItemSource.hs b/gen/Amazonka/Omics/Types/VariantImportItemSource.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/VariantImportItemSource.hs
@@ -0,0 +1,68 @@
+{-# 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.Omics.Types.VariantImportItemSource
+-- 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.Omics.Types.VariantImportItemSource 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
+
+-- | A imported variant item\'s source.
+--
+-- /See:/ 'newVariantImportItemSource' smart constructor.
+data VariantImportItemSource = VariantImportItemSource'
+  { -- | The source file\'s location in Amazon S3.
+    source :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'VariantImportItemSource' 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', 'variantImportItemSource_source' - The source file\'s location in Amazon S3.
+newVariantImportItemSource ::
+  -- | 'source'
+  Prelude.Text ->
+  VariantImportItemSource
+newVariantImportItemSource pSource_ =
+  VariantImportItemSource' {source = pSource_}
+
+-- | The source file\'s location in Amazon S3.
+variantImportItemSource_source :: Lens.Lens' VariantImportItemSource Prelude.Text
+variantImportItemSource_source = Lens.lens (\VariantImportItemSource' {source} -> source) (\s@VariantImportItemSource' {} a -> s {source = a} :: VariantImportItemSource)
+
+instance Prelude.Hashable VariantImportItemSource where
+  hashWithSalt _salt VariantImportItemSource' {..} =
+    _salt `Prelude.hashWithSalt` source
+
+instance Prelude.NFData VariantImportItemSource where
+  rnf VariantImportItemSource' {..} = Prelude.rnf source
+
+instance Data.ToJSON VariantImportItemSource where
+  toJSON VariantImportItemSource' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [Prelude.Just ("source" Data..= source)]
+      )
diff --git a/gen/Amazonka/Omics/Types/VariantImportJobItem.hs b/gen/Amazonka/Omics/Types/VariantImportJobItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/VariantImportJobItem.hs
@@ -0,0 +1,176 @@
+{-# 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.Omics.Types.VariantImportJobItem
+-- 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.Omics.Types.VariantImportJobItem where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.JobStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | A variant import job.
+--
+-- /See:/ 'newVariantImportJobItem' smart constructor.
+data VariantImportJobItem = VariantImportJobItem'
+  { -- | When the job completed.
+    completionTime :: Prelude.Maybe Data.ISO8601,
+    -- | The job\'s left normalization setting.
+    runLeftNormalization :: Prelude.Maybe Prelude.Bool,
+    -- | When the job was created.
+    creationTime :: Data.ISO8601,
+    -- | The job\'s destination variant store.
+    destinationName :: Prelude.Text,
+    -- | The job\'s ID.
+    id :: Prelude.Text,
+    -- | The job\'s service role ARN.
+    roleArn :: Prelude.Text,
+    -- | The job\'s status.
+    status :: JobStatus,
+    -- | When the job was updated.
+    updateTime :: Data.ISO8601
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'VariantImportJobItem' 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:
+--
+-- 'completionTime', 'variantImportJobItem_completionTime' - When the job completed.
+--
+-- 'runLeftNormalization', 'variantImportJobItem_runLeftNormalization' - The job\'s left normalization setting.
+--
+-- 'creationTime', 'variantImportJobItem_creationTime' - When the job was created.
+--
+-- 'destinationName', 'variantImportJobItem_destinationName' - The job\'s destination variant store.
+--
+-- 'id', 'variantImportJobItem_id' - The job\'s ID.
+--
+-- 'roleArn', 'variantImportJobItem_roleArn' - The job\'s service role ARN.
+--
+-- 'status', 'variantImportJobItem_status' - The job\'s status.
+--
+-- 'updateTime', 'variantImportJobItem_updateTime' - When the job was updated.
+newVariantImportJobItem ::
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'destinationName'
+  Prelude.Text ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'roleArn'
+  Prelude.Text ->
+  -- | 'status'
+  JobStatus ->
+  -- | 'updateTime'
+  Prelude.UTCTime ->
+  VariantImportJobItem
+newVariantImportJobItem
+  pCreationTime_
+  pDestinationName_
+  pId_
+  pRoleArn_
+  pStatus_
+  pUpdateTime_ =
+    VariantImportJobItem'
+      { completionTime =
+          Prelude.Nothing,
+        runLeftNormalization = Prelude.Nothing,
+        creationTime = Data._Time Lens.# pCreationTime_,
+        destinationName = pDestinationName_,
+        id = pId_,
+        roleArn = pRoleArn_,
+        status = pStatus_,
+        updateTime = Data._Time Lens.# pUpdateTime_
+      }
+
+-- | When the job completed.
+variantImportJobItem_completionTime :: Lens.Lens' VariantImportJobItem (Prelude.Maybe Prelude.UTCTime)
+variantImportJobItem_completionTime = Lens.lens (\VariantImportJobItem' {completionTime} -> completionTime) (\s@VariantImportJobItem' {} a -> s {completionTime = a} :: VariantImportJobItem) Prelude.. Lens.mapping Data._Time
+
+-- | The job\'s left normalization setting.
+variantImportJobItem_runLeftNormalization :: Lens.Lens' VariantImportJobItem (Prelude.Maybe Prelude.Bool)
+variantImportJobItem_runLeftNormalization = Lens.lens (\VariantImportJobItem' {runLeftNormalization} -> runLeftNormalization) (\s@VariantImportJobItem' {} a -> s {runLeftNormalization = a} :: VariantImportJobItem)
+
+-- | When the job was created.
+variantImportJobItem_creationTime :: Lens.Lens' VariantImportJobItem Prelude.UTCTime
+variantImportJobItem_creationTime = Lens.lens (\VariantImportJobItem' {creationTime} -> creationTime) (\s@VariantImportJobItem' {} a -> s {creationTime = a} :: VariantImportJobItem) Prelude.. Data._Time
+
+-- | The job\'s destination variant store.
+variantImportJobItem_destinationName :: Lens.Lens' VariantImportJobItem Prelude.Text
+variantImportJobItem_destinationName = Lens.lens (\VariantImportJobItem' {destinationName} -> destinationName) (\s@VariantImportJobItem' {} a -> s {destinationName = a} :: VariantImportJobItem)
+
+-- | The job\'s ID.
+variantImportJobItem_id :: Lens.Lens' VariantImportJobItem Prelude.Text
+variantImportJobItem_id = Lens.lens (\VariantImportJobItem' {id} -> id) (\s@VariantImportJobItem' {} a -> s {id = a} :: VariantImportJobItem)
+
+-- | The job\'s service role ARN.
+variantImportJobItem_roleArn :: Lens.Lens' VariantImportJobItem Prelude.Text
+variantImportJobItem_roleArn = Lens.lens (\VariantImportJobItem' {roleArn} -> roleArn) (\s@VariantImportJobItem' {} a -> s {roleArn = a} :: VariantImportJobItem)
+
+-- | The job\'s status.
+variantImportJobItem_status :: Lens.Lens' VariantImportJobItem JobStatus
+variantImportJobItem_status = Lens.lens (\VariantImportJobItem' {status} -> status) (\s@VariantImportJobItem' {} a -> s {status = a} :: VariantImportJobItem)
+
+-- | When the job was updated.
+variantImportJobItem_updateTime :: Lens.Lens' VariantImportJobItem Prelude.UTCTime
+variantImportJobItem_updateTime = Lens.lens (\VariantImportJobItem' {updateTime} -> updateTime) (\s@VariantImportJobItem' {} a -> s {updateTime = a} :: VariantImportJobItem) Prelude.. Data._Time
+
+instance Data.FromJSON VariantImportJobItem where
+  parseJSON =
+    Data.withObject
+      "VariantImportJobItem"
+      ( \x ->
+          VariantImportJobItem'
+            Prelude.<$> (x Data..:? "completionTime")
+            Prelude.<*> (x Data..:? "runLeftNormalization")
+            Prelude.<*> (x Data..: "creationTime")
+            Prelude.<*> (x Data..: "destinationName")
+            Prelude.<*> (x Data..: "id")
+            Prelude.<*> (x Data..: "roleArn")
+            Prelude.<*> (x Data..: "status")
+            Prelude.<*> (x Data..: "updateTime")
+      )
+
+instance Prelude.Hashable VariantImportJobItem where
+  hashWithSalt _salt VariantImportJobItem' {..} =
+    _salt
+      `Prelude.hashWithSalt` completionTime
+      `Prelude.hashWithSalt` runLeftNormalization
+      `Prelude.hashWithSalt` creationTime
+      `Prelude.hashWithSalt` destinationName
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` roleArn
+      `Prelude.hashWithSalt` status
+      `Prelude.hashWithSalt` updateTime
+
+instance Prelude.NFData VariantImportJobItem where
+  rnf VariantImportJobItem' {..} =
+    Prelude.rnf completionTime
+      `Prelude.seq` Prelude.rnf runLeftNormalization
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf destinationName
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf roleArn
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf updateTime
diff --git a/gen/Amazonka/Omics/Types/VariantStoreItem.hs b/gen/Amazonka/Omics/Types/VariantStoreItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/VariantStoreItem.hs
@@ -0,0 +1,229 @@
+{-# 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.Omics.Types.VariantStoreItem
+-- 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.Omics.Types.VariantStoreItem where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.ReferenceItem
+import Amazonka.Omics.Types.SseConfig
+import Amazonka.Omics.Types.StoreStatus
+import qualified Amazonka.Prelude as Prelude
+
+-- | A variant store.
+--
+-- /See:/ 'newVariantStoreItem' smart constructor.
+data VariantStoreItem = VariantStoreItem'
+  { -- | When the store was created.
+    creationTime :: Data.ISO8601,
+    -- | The store\'s description.
+    description :: Prelude.Text,
+    -- | The store\'s ID.
+    id :: Prelude.Text,
+    -- | The store\'s name.
+    name :: Prelude.Text,
+    -- | The store\'s genome reference.
+    reference :: ReferenceItem,
+    -- | The store\'s server-side encryption (SSE) settings.
+    sseConfig :: SseConfig,
+    -- | The store\'s status.
+    status :: StoreStatus,
+    -- | The store\'s status message.
+    statusMessage :: Prelude.Text,
+    -- | The store\'s ARN.
+    storeArn :: Prelude.Text,
+    -- | The store\'s size in bytes.
+    storeSizeBytes :: Prelude.Integer,
+    -- | When the store was updated.
+    updateTime :: Data.ISO8601
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'VariantStoreItem' 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:
+--
+-- 'creationTime', 'variantStoreItem_creationTime' - When the store was created.
+--
+-- 'description', 'variantStoreItem_description' - The store\'s description.
+--
+-- 'id', 'variantStoreItem_id' - The store\'s ID.
+--
+-- 'name', 'variantStoreItem_name' - The store\'s name.
+--
+-- 'reference', 'variantStoreItem_reference' - The store\'s genome reference.
+--
+-- 'sseConfig', 'variantStoreItem_sseConfig' - The store\'s server-side encryption (SSE) settings.
+--
+-- 'status', 'variantStoreItem_status' - The store\'s status.
+--
+-- 'statusMessage', 'variantStoreItem_statusMessage' - The store\'s status message.
+--
+-- 'storeArn', 'variantStoreItem_storeArn' - The store\'s ARN.
+--
+-- 'storeSizeBytes', 'variantStoreItem_storeSizeBytes' - The store\'s size in bytes.
+--
+-- 'updateTime', 'variantStoreItem_updateTime' - When the store was updated.
+newVariantStoreItem ::
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'description'
+  Prelude.Text ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'name'
+  Prelude.Text ->
+  -- | 'reference'
+  ReferenceItem ->
+  -- | 'sseConfig'
+  SseConfig ->
+  -- | 'status'
+  StoreStatus ->
+  -- | 'statusMessage'
+  Prelude.Text ->
+  -- | 'storeArn'
+  Prelude.Text ->
+  -- | 'storeSizeBytes'
+  Prelude.Integer ->
+  -- | 'updateTime'
+  Prelude.UTCTime ->
+  VariantStoreItem
+newVariantStoreItem
+  pCreationTime_
+  pDescription_
+  pId_
+  pName_
+  pReference_
+  pSseConfig_
+  pStatus_
+  pStatusMessage_
+  pStoreArn_
+  pStoreSizeBytes_
+  pUpdateTime_ =
+    VariantStoreItem'
+      { creationTime =
+          Data._Time Lens.# pCreationTime_,
+        description = pDescription_,
+        id = pId_,
+        name = pName_,
+        reference = pReference_,
+        sseConfig = pSseConfig_,
+        status = pStatus_,
+        statusMessage = pStatusMessage_,
+        storeArn = pStoreArn_,
+        storeSizeBytes = pStoreSizeBytes_,
+        updateTime = Data._Time Lens.# pUpdateTime_
+      }
+
+-- | When the store was created.
+variantStoreItem_creationTime :: Lens.Lens' VariantStoreItem Prelude.UTCTime
+variantStoreItem_creationTime = Lens.lens (\VariantStoreItem' {creationTime} -> creationTime) (\s@VariantStoreItem' {} a -> s {creationTime = a} :: VariantStoreItem) Prelude.. Data._Time
+
+-- | The store\'s description.
+variantStoreItem_description :: Lens.Lens' VariantStoreItem Prelude.Text
+variantStoreItem_description = Lens.lens (\VariantStoreItem' {description} -> description) (\s@VariantStoreItem' {} a -> s {description = a} :: VariantStoreItem)
+
+-- | The store\'s ID.
+variantStoreItem_id :: Lens.Lens' VariantStoreItem Prelude.Text
+variantStoreItem_id = Lens.lens (\VariantStoreItem' {id} -> id) (\s@VariantStoreItem' {} a -> s {id = a} :: VariantStoreItem)
+
+-- | The store\'s name.
+variantStoreItem_name :: Lens.Lens' VariantStoreItem Prelude.Text
+variantStoreItem_name = Lens.lens (\VariantStoreItem' {name} -> name) (\s@VariantStoreItem' {} a -> s {name = a} :: VariantStoreItem)
+
+-- | The store\'s genome reference.
+variantStoreItem_reference :: Lens.Lens' VariantStoreItem ReferenceItem
+variantStoreItem_reference = Lens.lens (\VariantStoreItem' {reference} -> reference) (\s@VariantStoreItem' {} a -> s {reference = a} :: VariantStoreItem)
+
+-- | The store\'s server-side encryption (SSE) settings.
+variantStoreItem_sseConfig :: Lens.Lens' VariantStoreItem SseConfig
+variantStoreItem_sseConfig = Lens.lens (\VariantStoreItem' {sseConfig} -> sseConfig) (\s@VariantStoreItem' {} a -> s {sseConfig = a} :: VariantStoreItem)
+
+-- | The store\'s status.
+variantStoreItem_status :: Lens.Lens' VariantStoreItem StoreStatus
+variantStoreItem_status = Lens.lens (\VariantStoreItem' {status} -> status) (\s@VariantStoreItem' {} a -> s {status = a} :: VariantStoreItem)
+
+-- | The store\'s status message.
+variantStoreItem_statusMessage :: Lens.Lens' VariantStoreItem Prelude.Text
+variantStoreItem_statusMessage = Lens.lens (\VariantStoreItem' {statusMessage} -> statusMessage) (\s@VariantStoreItem' {} a -> s {statusMessage = a} :: VariantStoreItem)
+
+-- | The store\'s ARN.
+variantStoreItem_storeArn :: Lens.Lens' VariantStoreItem Prelude.Text
+variantStoreItem_storeArn = Lens.lens (\VariantStoreItem' {storeArn} -> storeArn) (\s@VariantStoreItem' {} a -> s {storeArn = a} :: VariantStoreItem)
+
+-- | The store\'s size in bytes.
+variantStoreItem_storeSizeBytes :: Lens.Lens' VariantStoreItem Prelude.Integer
+variantStoreItem_storeSizeBytes = Lens.lens (\VariantStoreItem' {storeSizeBytes} -> storeSizeBytes) (\s@VariantStoreItem' {} a -> s {storeSizeBytes = a} :: VariantStoreItem)
+
+-- | When the store was updated.
+variantStoreItem_updateTime :: Lens.Lens' VariantStoreItem Prelude.UTCTime
+variantStoreItem_updateTime = Lens.lens (\VariantStoreItem' {updateTime} -> updateTime) (\s@VariantStoreItem' {} a -> s {updateTime = a} :: VariantStoreItem) Prelude.. Data._Time
+
+instance Data.FromJSON VariantStoreItem where
+  parseJSON =
+    Data.withObject
+      "VariantStoreItem"
+      ( \x ->
+          VariantStoreItem'
+            Prelude.<$> (x Data..: "creationTime")
+            Prelude.<*> (x Data..: "description")
+            Prelude.<*> (x Data..: "id")
+            Prelude.<*> (x Data..: "name")
+            Prelude.<*> (x Data..: "reference")
+            Prelude.<*> (x Data..: "sseConfig")
+            Prelude.<*> (x Data..: "status")
+            Prelude.<*> (x Data..: "statusMessage")
+            Prelude.<*> (x Data..: "storeArn")
+            Prelude.<*> (x Data..: "storeSizeBytes")
+            Prelude.<*> (x Data..: "updateTime")
+      )
+
+instance Prelude.Hashable VariantStoreItem where
+  hashWithSalt _salt VariantStoreItem' {..} =
+    _salt
+      `Prelude.hashWithSalt` creationTime
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` reference
+      `Prelude.hashWithSalt` sseConfig
+      `Prelude.hashWithSalt` status
+      `Prelude.hashWithSalt` statusMessage
+      `Prelude.hashWithSalt` storeArn
+      `Prelude.hashWithSalt` storeSizeBytes
+      `Prelude.hashWithSalt` updateTime
+
+instance Prelude.NFData VariantStoreItem where
+  rnf VariantStoreItem' {..} =
+    Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf description
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf reference
+      `Prelude.seq` Prelude.rnf sseConfig
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf statusMessage
+      `Prelude.seq` Prelude.rnf storeArn
+      `Prelude.seq` Prelude.rnf storeSizeBytes
+      `Prelude.seq` Prelude.rnf updateTime
diff --git a/gen/Amazonka/Omics/Types/VcfOptions.hs b/gen/Amazonka/Omics/Types/VcfOptions.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/VcfOptions.hs
@@ -0,0 +1,95 @@
+{-# 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.Omics.Types.VcfOptions
+-- 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.Omics.Types.VcfOptions 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
+
+-- | Formatting options for a VCF file.
+--
+-- /See:/ 'newVcfOptions' smart constructor.
+data VcfOptions = VcfOptions'
+  { -- | The file\'s ignore filter field setting.
+    ignoreFilterField :: Prelude.Maybe Prelude.Bool,
+    -- | The file\'s ignore qual field setting.
+    ignoreQualField :: Prelude.Maybe Prelude.Bool
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'VcfOptions' 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:
+--
+-- 'ignoreFilterField', 'vcfOptions_ignoreFilterField' - The file\'s ignore filter field setting.
+--
+-- 'ignoreQualField', 'vcfOptions_ignoreQualField' - The file\'s ignore qual field setting.
+newVcfOptions ::
+  VcfOptions
+newVcfOptions =
+  VcfOptions'
+    { ignoreFilterField = Prelude.Nothing,
+      ignoreQualField = Prelude.Nothing
+    }
+
+-- | The file\'s ignore filter field setting.
+vcfOptions_ignoreFilterField :: Lens.Lens' VcfOptions (Prelude.Maybe Prelude.Bool)
+vcfOptions_ignoreFilterField = Lens.lens (\VcfOptions' {ignoreFilterField} -> ignoreFilterField) (\s@VcfOptions' {} a -> s {ignoreFilterField = a} :: VcfOptions)
+
+-- | The file\'s ignore qual field setting.
+vcfOptions_ignoreQualField :: Lens.Lens' VcfOptions (Prelude.Maybe Prelude.Bool)
+vcfOptions_ignoreQualField = Lens.lens (\VcfOptions' {ignoreQualField} -> ignoreQualField) (\s@VcfOptions' {} a -> s {ignoreQualField = a} :: VcfOptions)
+
+instance Data.FromJSON VcfOptions where
+  parseJSON =
+    Data.withObject
+      "VcfOptions"
+      ( \x ->
+          VcfOptions'
+            Prelude.<$> (x Data..:? "ignoreFilterField")
+            Prelude.<*> (x Data..:? "ignoreQualField")
+      )
+
+instance Prelude.Hashable VcfOptions where
+  hashWithSalt _salt VcfOptions' {..} =
+    _salt
+      `Prelude.hashWithSalt` ignoreFilterField
+      `Prelude.hashWithSalt` ignoreQualField
+
+instance Prelude.NFData VcfOptions where
+  rnf VcfOptions' {..} =
+    Prelude.rnf ignoreFilterField
+      `Prelude.seq` Prelude.rnf ignoreQualField
+
+instance Data.ToJSON VcfOptions where
+  toJSON VcfOptions' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("ignoreFilterField" Data..=)
+              Prelude.<$> ignoreFilterField,
+            ("ignoreQualField" Data..=)
+              Prelude.<$> ignoreQualField
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/WorkflowEngine.hs b/gen/Amazonka/Omics/Types/WorkflowEngine.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/WorkflowEngine.hs
@@ -0,0 +1,71 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.WorkflowEngine
+-- 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.Omics.Types.WorkflowEngine
+  ( WorkflowEngine
+      ( ..,
+        WorkflowEngine_NEXTFLOW,
+        WorkflowEngine_WDL
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype WorkflowEngine = WorkflowEngine'
+  { fromWorkflowEngine ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern WorkflowEngine_NEXTFLOW :: WorkflowEngine
+pattern WorkflowEngine_NEXTFLOW = WorkflowEngine' "NEXTFLOW"
+
+pattern WorkflowEngine_WDL :: WorkflowEngine
+pattern WorkflowEngine_WDL = WorkflowEngine' "WDL"
+
+{-# COMPLETE
+  WorkflowEngine_NEXTFLOW,
+  WorkflowEngine_WDL,
+  WorkflowEngine'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/WorkflowExport.hs b/gen/Amazonka/Omics/Types/WorkflowExport.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/WorkflowExport.hs
@@ -0,0 +1,66 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.WorkflowExport
+-- 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.Omics.Types.WorkflowExport
+  ( WorkflowExport
+      ( ..,
+        WorkflowExport_DEFINITION
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype WorkflowExport = WorkflowExport'
+  { fromWorkflowExport ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern WorkflowExport_DEFINITION :: WorkflowExport
+pattern WorkflowExport_DEFINITION = WorkflowExport' "DEFINITION"
+
+{-# COMPLETE
+  WorkflowExport_DEFINITION,
+  WorkflowExport'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/WorkflowListItem.hs b/gen/Amazonka/Omics/Types/WorkflowListItem.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/WorkflowListItem.hs
@@ -0,0 +1,146 @@
+{-# 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.Omics.Types.WorkflowListItem
+-- 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.Omics.Types.WorkflowListItem where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types.WorkflowStatus
+import Amazonka.Omics.Types.WorkflowType
+import qualified Amazonka.Prelude as Prelude
+
+-- | A workflow.
+--
+-- /See:/ 'newWorkflowListItem' smart constructor.
+data WorkflowListItem = WorkflowListItem'
+  { -- | The workflow\'s ARN.
+    arn :: Prelude.Maybe Prelude.Text,
+    -- | When the workflow was created.
+    creationTime :: Prelude.Maybe Data.ISO8601,
+    -- | The workflow\'s digest.
+    digest :: Prelude.Maybe Prelude.Text,
+    -- | The workflow\'s ID.
+    id :: Prelude.Maybe Prelude.Text,
+    -- | The workflow\'s name.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The workflow\'s status.
+    status :: Prelude.Maybe WorkflowStatus,
+    -- | The workflow\'s type.
+    type' :: Prelude.Maybe WorkflowType
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'WorkflowListItem' 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', 'workflowListItem_arn' - The workflow\'s ARN.
+--
+-- 'creationTime', 'workflowListItem_creationTime' - When the workflow was created.
+--
+-- 'digest', 'workflowListItem_digest' - The workflow\'s digest.
+--
+-- 'id', 'workflowListItem_id' - The workflow\'s ID.
+--
+-- 'name', 'workflowListItem_name' - The workflow\'s name.
+--
+-- 'status', 'workflowListItem_status' - The workflow\'s status.
+--
+-- 'type'', 'workflowListItem_type' - The workflow\'s type.
+newWorkflowListItem ::
+  WorkflowListItem
+newWorkflowListItem =
+  WorkflowListItem'
+    { arn = Prelude.Nothing,
+      creationTime = Prelude.Nothing,
+      digest = Prelude.Nothing,
+      id = Prelude.Nothing,
+      name = Prelude.Nothing,
+      status = Prelude.Nothing,
+      type' = Prelude.Nothing
+    }
+
+-- | The workflow\'s ARN.
+workflowListItem_arn :: Lens.Lens' WorkflowListItem (Prelude.Maybe Prelude.Text)
+workflowListItem_arn = Lens.lens (\WorkflowListItem' {arn} -> arn) (\s@WorkflowListItem' {} a -> s {arn = a} :: WorkflowListItem)
+
+-- | When the workflow was created.
+workflowListItem_creationTime :: Lens.Lens' WorkflowListItem (Prelude.Maybe Prelude.UTCTime)
+workflowListItem_creationTime = Lens.lens (\WorkflowListItem' {creationTime} -> creationTime) (\s@WorkflowListItem' {} a -> s {creationTime = a} :: WorkflowListItem) Prelude.. Lens.mapping Data._Time
+
+-- | The workflow\'s digest.
+workflowListItem_digest :: Lens.Lens' WorkflowListItem (Prelude.Maybe Prelude.Text)
+workflowListItem_digest = Lens.lens (\WorkflowListItem' {digest} -> digest) (\s@WorkflowListItem' {} a -> s {digest = a} :: WorkflowListItem)
+
+-- | The workflow\'s ID.
+workflowListItem_id :: Lens.Lens' WorkflowListItem (Prelude.Maybe Prelude.Text)
+workflowListItem_id = Lens.lens (\WorkflowListItem' {id} -> id) (\s@WorkflowListItem' {} a -> s {id = a} :: WorkflowListItem)
+
+-- | The workflow\'s name.
+workflowListItem_name :: Lens.Lens' WorkflowListItem (Prelude.Maybe Prelude.Text)
+workflowListItem_name = Lens.lens (\WorkflowListItem' {name} -> name) (\s@WorkflowListItem' {} a -> s {name = a} :: WorkflowListItem)
+
+-- | The workflow\'s status.
+workflowListItem_status :: Lens.Lens' WorkflowListItem (Prelude.Maybe WorkflowStatus)
+workflowListItem_status = Lens.lens (\WorkflowListItem' {status} -> status) (\s@WorkflowListItem' {} a -> s {status = a} :: WorkflowListItem)
+
+-- | The workflow\'s type.
+workflowListItem_type :: Lens.Lens' WorkflowListItem (Prelude.Maybe WorkflowType)
+workflowListItem_type = Lens.lens (\WorkflowListItem' {type'} -> type') (\s@WorkflowListItem' {} a -> s {type' = a} :: WorkflowListItem)
+
+instance Data.FromJSON WorkflowListItem where
+  parseJSON =
+    Data.withObject
+      "WorkflowListItem"
+      ( \x ->
+          WorkflowListItem'
+            Prelude.<$> (x Data..:? "arn")
+            Prelude.<*> (x Data..:? "creationTime")
+            Prelude.<*> (x Data..:? "digest")
+            Prelude.<*> (x Data..:? "id")
+            Prelude.<*> (x Data..:? "name")
+            Prelude.<*> (x Data..:? "status")
+            Prelude.<*> (x Data..:? "type")
+      )
+
+instance Prelude.Hashable WorkflowListItem where
+  hashWithSalt _salt WorkflowListItem' {..} =
+    _salt
+      `Prelude.hashWithSalt` arn
+      `Prelude.hashWithSalt` creationTime
+      `Prelude.hashWithSalt` digest
+      `Prelude.hashWithSalt` id
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` status
+      `Prelude.hashWithSalt` type'
+
+instance Prelude.NFData WorkflowListItem where
+  rnf WorkflowListItem' {..} =
+    Prelude.rnf arn
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf digest
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf type'
diff --git a/gen/Amazonka/Omics/Types/WorkflowParameter.hs b/gen/Amazonka/Omics/Types/WorkflowParameter.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/WorkflowParameter.hs
@@ -0,0 +1,93 @@
+{-# 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.Omics.Types.WorkflowParameter
+-- 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.Omics.Types.WorkflowParameter 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
+
+-- | A workflow parameter.
+--
+-- /See:/ 'newWorkflowParameter' smart constructor.
+data WorkflowParameter = WorkflowParameter'
+  { -- | The parameter\'s description.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | Whether the parameter is optional.
+    optional :: Prelude.Maybe Prelude.Bool
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'WorkflowParameter' 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', 'workflowParameter_description' - The parameter\'s description.
+--
+-- 'optional', 'workflowParameter_optional' - Whether the parameter is optional.
+newWorkflowParameter ::
+  WorkflowParameter
+newWorkflowParameter =
+  WorkflowParameter'
+    { description = Prelude.Nothing,
+      optional = Prelude.Nothing
+    }
+
+-- | The parameter\'s description.
+workflowParameter_description :: Lens.Lens' WorkflowParameter (Prelude.Maybe Prelude.Text)
+workflowParameter_description = Lens.lens (\WorkflowParameter' {description} -> description) (\s@WorkflowParameter' {} a -> s {description = a} :: WorkflowParameter)
+
+-- | Whether the parameter is optional.
+workflowParameter_optional :: Lens.Lens' WorkflowParameter (Prelude.Maybe Prelude.Bool)
+workflowParameter_optional = Lens.lens (\WorkflowParameter' {optional} -> optional) (\s@WorkflowParameter' {} a -> s {optional = a} :: WorkflowParameter)
+
+instance Data.FromJSON WorkflowParameter where
+  parseJSON =
+    Data.withObject
+      "WorkflowParameter"
+      ( \x ->
+          WorkflowParameter'
+            Prelude.<$> (x Data..:? "description")
+            Prelude.<*> (x Data..:? "optional")
+      )
+
+instance Prelude.Hashable WorkflowParameter where
+  hashWithSalt _salt WorkflowParameter' {..} =
+    _salt
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` optional
+
+instance Prelude.NFData WorkflowParameter where
+  rnf WorkflowParameter' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf optional
+
+instance Data.ToJSON WorkflowParameter where
+  toJSON WorkflowParameter' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("description" Data..=) Prelude.<$> description,
+            ("optional" Data..=) Prelude.<$> optional
+          ]
+      )
diff --git a/gen/Amazonka/Omics/Types/WorkflowStatus.hs b/gen/Amazonka/Omics/Types/WorkflowStatus.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/WorkflowStatus.hs
@@ -0,0 +1,86 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.WorkflowStatus
+-- 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.Omics.Types.WorkflowStatus
+  ( WorkflowStatus
+      ( ..,
+        WorkflowStatus_ACTIVE,
+        WorkflowStatus_CREATING,
+        WorkflowStatus_DELETED,
+        WorkflowStatus_FAILED,
+        WorkflowStatus_UPDATING
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype WorkflowStatus = WorkflowStatus'
+  { fromWorkflowStatus ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern WorkflowStatus_ACTIVE :: WorkflowStatus
+pattern WorkflowStatus_ACTIVE = WorkflowStatus' "ACTIVE"
+
+pattern WorkflowStatus_CREATING :: WorkflowStatus
+pattern WorkflowStatus_CREATING = WorkflowStatus' "CREATING"
+
+pattern WorkflowStatus_DELETED :: WorkflowStatus
+pattern WorkflowStatus_DELETED = WorkflowStatus' "DELETED"
+
+pattern WorkflowStatus_FAILED :: WorkflowStatus
+pattern WorkflowStatus_FAILED = WorkflowStatus' "FAILED"
+
+pattern WorkflowStatus_UPDATING :: WorkflowStatus
+pattern WorkflowStatus_UPDATING = WorkflowStatus' "UPDATING"
+
+{-# COMPLETE
+  WorkflowStatus_ACTIVE,
+  WorkflowStatus_CREATING,
+  WorkflowStatus_DELETED,
+  WorkflowStatus_FAILED,
+  WorkflowStatus_UPDATING,
+  WorkflowStatus'
+  #-}
diff --git a/gen/Amazonka/Omics/Types/WorkflowType.hs b/gen/Amazonka/Omics/Types/WorkflowType.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Types/WorkflowType.hs
@@ -0,0 +1,66 @@
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Amazonka.Omics.Types.WorkflowType
+-- 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.Omics.Types.WorkflowType
+  ( WorkflowType
+      ( ..,
+        WorkflowType_PRIVATE
+      ),
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Data as Data
+import qualified Amazonka.Prelude as Prelude
+
+newtype WorkflowType = WorkflowType'
+  { fromWorkflowType ::
+      Data.Text
+  }
+  deriving stock
+    ( Prelude.Show,
+      Prelude.Read,
+      Prelude.Eq,
+      Prelude.Ord,
+      Prelude.Generic
+    )
+  deriving newtype
+    ( Prelude.Hashable,
+      Prelude.NFData,
+      Data.FromText,
+      Data.ToText,
+      Data.ToByteString,
+      Data.ToLog,
+      Data.ToHeader,
+      Data.ToQuery,
+      Data.FromJSON,
+      Data.FromJSONKey,
+      Data.ToJSON,
+      Data.ToJSONKey,
+      Data.FromXML,
+      Data.ToXML
+    )
+
+pattern WorkflowType_PRIVATE :: WorkflowType
+pattern WorkflowType_PRIVATE = WorkflowType' "PRIVATE"
+
+{-# COMPLETE
+  WorkflowType_PRIVATE,
+  WorkflowType'
+  #-}
diff --git a/gen/Amazonka/Omics/UntagResource.hs b/gen/Amazonka/Omics/UntagResource.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/UntagResource.hs
@@ -0,0 +1,161 @@
+{-# 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.Omics.UntagResource
+-- 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 resource.
+module Amazonka.Omics.UntagResource
+  ( -- * Creating a Request
+    UntagResource (..),
+    newUntagResource,
+
+    -- * Request Lenses
+    untagResource_resourceArn,
+    untagResource_tagKeys,
+
+    -- * Destructuring the Response
+    UntagResourceResponse (..),
+    newUntagResourceResponse,
+
+    -- * Response Lenses
+    untagResourceResponse_httpStatus,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newUntagResource' smart constructor.
+data UntagResource = UntagResource'
+  { -- | The resource\'s ARN.
+    resourceArn :: Prelude.Text,
+    -- | Keys of tags to remove.
+    tagKeys :: [Prelude.Text]
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UntagResource' 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:
+--
+-- 'resourceArn', 'untagResource_resourceArn' - The resource\'s ARN.
+--
+-- 'tagKeys', 'untagResource_tagKeys' - Keys of tags to remove.
+newUntagResource ::
+  -- | 'resourceArn'
+  Prelude.Text ->
+  UntagResource
+newUntagResource pResourceArn_ =
+  UntagResource'
+    { resourceArn = pResourceArn_,
+      tagKeys = Prelude.mempty
+    }
+
+-- | The resource\'s ARN.
+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text
+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)
+
+-- | Keys of tags to remove.
+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]
+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced
+
+instance Core.AWSRequest UntagResource where
+  type
+    AWSResponse UntagResource =
+      UntagResourceResponse
+  request overrides =
+    Request.delete (overrides defaultService)
+  response =
+    Response.receiveEmpty
+      ( \s h x ->
+          UntagResourceResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+      )
+
+instance Prelude.Hashable UntagResource where
+  hashWithSalt _salt UntagResource' {..} =
+    _salt
+      `Prelude.hashWithSalt` resourceArn
+      `Prelude.hashWithSalt` tagKeys
+
+instance Prelude.NFData UntagResource where
+  rnf UntagResource' {..} =
+    Prelude.rnf resourceArn
+      `Prelude.seq` Prelude.rnf tagKeys
+
+instance Data.ToHeaders UntagResource where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToPath UntagResource where
+  toPath UntagResource' {..} =
+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]
+
+instance Data.ToQuery UntagResource where
+  toQuery UntagResource' {..} =
+    Prelude.mconcat
+      ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]
+
+-- | /See:/ 'newUntagResourceResponse' smart constructor.
+data UntagResourceResponse = UntagResourceResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UntagResourceResponse' 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', 'untagResourceResponse_httpStatus' - The response's http status code.
+newUntagResourceResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  UntagResourceResponse
+newUntagResourceResponse pHttpStatus_ =
+  UntagResourceResponse' {httpStatus = pHttpStatus_}
+
+-- | The response's http status code.
+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int
+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)
+
+instance Prelude.NFData UntagResourceResponse where
+  rnf UntagResourceResponse' {..} =
+    Prelude.rnf httpStatus
diff --git a/gen/Amazonka/Omics/UpdateAnnotationStore.hs b/gen/Amazonka/Omics/UpdateAnnotationStore.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/UpdateAnnotationStore.hs
@@ -0,0 +1,302 @@
+{-# 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.Omics.UpdateAnnotationStore
+-- 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 an annotation store.
+module Amazonka.Omics.UpdateAnnotationStore
+  ( -- * Creating a Request
+    UpdateAnnotationStore (..),
+    newUpdateAnnotationStore,
+
+    -- * Request Lenses
+    updateAnnotationStore_description,
+    updateAnnotationStore_name,
+
+    -- * Destructuring the Response
+    UpdateAnnotationStoreResponse (..),
+    newUpdateAnnotationStoreResponse,
+
+    -- * Response Lenses
+    updateAnnotationStoreResponse_storeFormat,
+    updateAnnotationStoreResponse_storeOptions,
+    updateAnnotationStoreResponse_httpStatus,
+    updateAnnotationStoreResponse_creationTime,
+    updateAnnotationStoreResponse_description,
+    updateAnnotationStoreResponse_id,
+    updateAnnotationStoreResponse_name,
+    updateAnnotationStoreResponse_reference,
+    updateAnnotationStoreResponse_status,
+    updateAnnotationStoreResponse_updateTime,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newUpdateAnnotationStore' smart constructor.
+data UpdateAnnotationStore = UpdateAnnotationStore'
+  { -- | A description for the store.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | A name for the store.
+    name :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UpdateAnnotationStore' 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', 'updateAnnotationStore_description' - A description for the store.
+--
+-- 'name', 'updateAnnotationStore_name' - A name for the store.
+newUpdateAnnotationStore ::
+  -- | 'name'
+  Prelude.Text ->
+  UpdateAnnotationStore
+newUpdateAnnotationStore pName_ =
+  UpdateAnnotationStore'
+    { description =
+        Prelude.Nothing,
+      name = pName_
+    }
+
+-- | A description for the store.
+updateAnnotationStore_description :: Lens.Lens' UpdateAnnotationStore (Prelude.Maybe Prelude.Text)
+updateAnnotationStore_description = Lens.lens (\UpdateAnnotationStore' {description} -> description) (\s@UpdateAnnotationStore' {} a -> s {description = a} :: UpdateAnnotationStore)
+
+-- | A name for the store.
+updateAnnotationStore_name :: Lens.Lens' UpdateAnnotationStore Prelude.Text
+updateAnnotationStore_name = Lens.lens (\UpdateAnnotationStore' {name} -> name) (\s@UpdateAnnotationStore' {} a -> s {name = a} :: UpdateAnnotationStore)
+
+instance Core.AWSRequest UpdateAnnotationStore where
+  type
+    AWSResponse UpdateAnnotationStore =
+      UpdateAnnotationStoreResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          UpdateAnnotationStoreResponse'
+            Prelude.<$> (x Data..?> "storeFormat")
+            Prelude.<*> (x Data..?> "storeOptions")
+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "description")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "name")
+            Prelude.<*> (x Data..:> "reference")
+            Prelude.<*> (x Data..:> "status")
+            Prelude.<*> (x Data..:> "updateTime")
+      )
+
+instance Prelude.Hashable UpdateAnnotationStore where
+  hashWithSalt _salt UpdateAnnotationStore' {..} =
+    _salt
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` name
+
+instance Prelude.NFData UpdateAnnotationStore where
+  rnf UpdateAnnotationStore' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf name
+
+instance Data.ToHeaders UpdateAnnotationStore where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON UpdateAnnotationStore where
+  toJSON UpdateAnnotationStore' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [("description" Data..=) Prelude.<$> description]
+      )
+
+instance Data.ToPath UpdateAnnotationStore where
+  toPath UpdateAnnotationStore' {..} =
+    Prelude.mconcat
+      ["/annotationStore/", Data.toBS name]
+
+instance Data.ToQuery UpdateAnnotationStore where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newUpdateAnnotationStoreResponse' smart constructor.
+data UpdateAnnotationStoreResponse = UpdateAnnotationStoreResponse'
+  { -- | The annotation file format of the store.
+    storeFormat :: Prelude.Maybe StoreFormat,
+    -- | Parsing options for the store.
+    storeOptions :: Prelude.Maybe StoreOptions,
+    -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | When the store was created.
+    creationTime :: Data.ISO8601,
+    -- | The store\'s description.
+    description :: Prelude.Text,
+    -- | The store\'s ID.
+    id :: Prelude.Text,
+    -- | The store\'s name.
+    name :: Prelude.Text,
+    -- | The store\'s genome reference.
+    reference :: ReferenceItem,
+    -- | The store\'s status.
+    status :: StoreStatus,
+    -- | When the store was updated.
+    updateTime :: Data.ISO8601
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UpdateAnnotationStoreResponse' 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:
+--
+-- 'storeFormat', 'updateAnnotationStoreResponse_storeFormat' - The annotation file format of the store.
+--
+-- 'storeOptions', 'updateAnnotationStoreResponse_storeOptions' - Parsing options for the store.
+--
+-- 'httpStatus', 'updateAnnotationStoreResponse_httpStatus' - The response's http status code.
+--
+-- 'creationTime', 'updateAnnotationStoreResponse_creationTime' - When the store was created.
+--
+-- 'description', 'updateAnnotationStoreResponse_description' - The store\'s description.
+--
+-- 'id', 'updateAnnotationStoreResponse_id' - The store\'s ID.
+--
+-- 'name', 'updateAnnotationStoreResponse_name' - The store\'s name.
+--
+-- 'reference', 'updateAnnotationStoreResponse_reference' - The store\'s genome reference.
+--
+-- 'status', 'updateAnnotationStoreResponse_status' - The store\'s status.
+--
+-- 'updateTime', 'updateAnnotationStoreResponse_updateTime' - When the store was updated.
+newUpdateAnnotationStoreResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'description'
+  Prelude.Text ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'name'
+  Prelude.Text ->
+  -- | 'reference'
+  ReferenceItem ->
+  -- | 'status'
+  StoreStatus ->
+  -- | 'updateTime'
+  Prelude.UTCTime ->
+  UpdateAnnotationStoreResponse
+newUpdateAnnotationStoreResponse
+  pHttpStatus_
+  pCreationTime_
+  pDescription_
+  pId_
+  pName_
+  pReference_
+  pStatus_
+  pUpdateTime_ =
+    UpdateAnnotationStoreResponse'
+      { storeFormat =
+          Prelude.Nothing,
+        storeOptions = Prelude.Nothing,
+        httpStatus = pHttpStatus_,
+        creationTime =
+          Data._Time Lens.# pCreationTime_,
+        description = pDescription_,
+        id = pId_,
+        name = pName_,
+        reference = pReference_,
+        status = pStatus_,
+        updateTime = Data._Time Lens.# pUpdateTime_
+      }
+
+-- | The annotation file format of the store.
+updateAnnotationStoreResponse_storeFormat :: Lens.Lens' UpdateAnnotationStoreResponse (Prelude.Maybe StoreFormat)
+updateAnnotationStoreResponse_storeFormat = Lens.lens (\UpdateAnnotationStoreResponse' {storeFormat} -> storeFormat) (\s@UpdateAnnotationStoreResponse' {} a -> s {storeFormat = a} :: UpdateAnnotationStoreResponse)
+
+-- | Parsing options for the store.
+updateAnnotationStoreResponse_storeOptions :: Lens.Lens' UpdateAnnotationStoreResponse (Prelude.Maybe StoreOptions)
+updateAnnotationStoreResponse_storeOptions = Lens.lens (\UpdateAnnotationStoreResponse' {storeOptions} -> storeOptions) (\s@UpdateAnnotationStoreResponse' {} a -> s {storeOptions = a} :: UpdateAnnotationStoreResponse)
+
+-- | The response's http status code.
+updateAnnotationStoreResponse_httpStatus :: Lens.Lens' UpdateAnnotationStoreResponse Prelude.Int
+updateAnnotationStoreResponse_httpStatus = Lens.lens (\UpdateAnnotationStoreResponse' {httpStatus} -> httpStatus) (\s@UpdateAnnotationStoreResponse' {} a -> s {httpStatus = a} :: UpdateAnnotationStoreResponse)
+
+-- | When the store was created.
+updateAnnotationStoreResponse_creationTime :: Lens.Lens' UpdateAnnotationStoreResponse Prelude.UTCTime
+updateAnnotationStoreResponse_creationTime = Lens.lens (\UpdateAnnotationStoreResponse' {creationTime} -> creationTime) (\s@UpdateAnnotationStoreResponse' {} a -> s {creationTime = a} :: UpdateAnnotationStoreResponse) Prelude.. Data._Time
+
+-- | The store\'s description.
+updateAnnotationStoreResponse_description :: Lens.Lens' UpdateAnnotationStoreResponse Prelude.Text
+updateAnnotationStoreResponse_description = Lens.lens (\UpdateAnnotationStoreResponse' {description} -> description) (\s@UpdateAnnotationStoreResponse' {} a -> s {description = a} :: UpdateAnnotationStoreResponse)
+
+-- | The store\'s ID.
+updateAnnotationStoreResponse_id :: Lens.Lens' UpdateAnnotationStoreResponse Prelude.Text
+updateAnnotationStoreResponse_id = Lens.lens (\UpdateAnnotationStoreResponse' {id} -> id) (\s@UpdateAnnotationStoreResponse' {} a -> s {id = a} :: UpdateAnnotationStoreResponse)
+
+-- | The store\'s name.
+updateAnnotationStoreResponse_name :: Lens.Lens' UpdateAnnotationStoreResponse Prelude.Text
+updateAnnotationStoreResponse_name = Lens.lens (\UpdateAnnotationStoreResponse' {name} -> name) (\s@UpdateAnnotationStoreResponse' {} a -> s {name = a} :: UpdateAnnotationStoreResponse)
+
+-- | The store\'s genome reference.
+updateAnnotationStoreResponse_reference :: Lens.Lens' UpdateAnnotationStoreResponse ReferenceItem
+updateAnnotationStoreResponse_reference = Lens.lens (\UpdateAnnotationStoreResponse' {reference} -> reference) (\s@UpdateAnnotationStoreResponse' {} a -> s {reference = a} :: UpdateAnnotationStoreResponse)
+
+-- | The store\'s status.
+updateAnnotationStoreResponse_status :: Lens.Lens' UpdateAnnotationStoreResponse StoreStatus
+updateAnnotationStoreResponse_status = Lens.lens (\UpdateAnnotationStoreResponse' {status} -> status) (\s@UpdateAnnotationStoreResponse' {} a -> s {status = a} :: UpdateAnnotationStoreResponse)
+
+-- | When the store was updated.
+updateAnnotationStoreResponse_updateTime :: Lens.Lens' UpdateAnnotationStoreResponse Prelude.UTCTime
+updateAnnotationStoreResponse_updateTime = Lens.lens (\UpdateAnnotationStoreResponse' {updateTime} -> updateTime) (\s@UpdateAnnotationStoreResponse' {} a -> s {updateTime = a} :: UpdateAnnotationStoreResponse) Prelude.. Data._Time
+
+instance Prelude.NFData UpdateAnnotationStoreResponse where
+  rnf UpdateAnnotationStoreResponse' {..} =
+    Prelude.rnf storeFormat
+      `Prelude.seq` Prelude.rnf storeOptions
+      `Prelude.seq` Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf description
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf reference
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf updateTime
diff --git a/gen/Amazonka/Omics/UpdateRunGroup.hs b/gen/Amazonka/Omics/UpdateRunGroup.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/UpdateRunGroup.hs
@@ -0,0 +1,185 @@
+{-# 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.Omics.UpdateRunGroup
+-- 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 run group.
+module Amazonka.Omics.UpdateRunGroup
+  ( -- * Creating a Request
+    UpdateRunGroup (..),
+    newUpdateRunGroup,
+
+    -- * Request Lenses
+    updateRunGroup_maxCpus,
+    updateRunGroup_maxDuration,
+    updateRunGroup_maxRuns,
+    updateRunGroup_name,
+    updateRunGroup_id,
+
+    -- * Destructuring the Response
+    UpdateRunGroupResponse (..),
+    newUpdateRunGroupResponse,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newUpdateRunGroup' smart constructor.
+data UpdateRunGroup = UpdateRunGroup'
+  { -- | The maximum number of CPUs to use.
+    maxCpus :: Prelude.Maybe Prelude.Natural,
+    -- | The maximum amount of time to run.
+    maxDuration :: Prelude.Maybe Prelude.Natural,
+    -- | The maximum number of concurrent runs for the group.
+    maxRuns :: Prelude.Maybe Prelude.Natural,
+    -- | A name for the group.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The group\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UpdateRunGroup' 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:
+--
+-- 'maxCpus', 'updateRunGroup_maxCpus' - The maximum number of CPUs to use.
+--
+-- 'maxDuration', 'updateRunGroup_maxDuration' - The maximum amount of time to run.
+--
+-- 'maxRuns', 'updateRunGroup_maxRuns' - The maximum number of concurrent runs for the group.
+--
+-- 'name', 'updateRunGroup_name' - A name for the group.
+--
+-- 'id', 'updateRunGroup_id' - The group\'s ID.
+newUpdateRunGroup ::
+  -- | 'id'
+  Prelude.Text ->
+  UpdateRunGroup
+newUpdateRunGroup pId_ =
+  UpdateRunGroup'
+    { maxCpus = Prelude.Nothing,
+      maxDuration = Prelude.Nothing,
+      maxRuns = Prelude.Nothing,
+      name = Prelude.Nothing,
+      id = pId_
+    }
+
+-- | The maximum number of CPUs to use.
+updateRunGroup_maxCpus :: Lens.Lens' UpdateRunGroup (Prelude.Maybe Prelude.Natural)
+updateRunGroup_maxCpus = Lens.lens (\UpdateRunGroup' {maxCpus} -> maxCpus) (\s@UpdateRunGroup' {} a -> s {maxCpus = a} :: UpdateRunGroup)
+
+-- | The maximum amount of time to run.
+updateRunGroup_maxDuration :: Lens.Lens' UpdateRunGroup (Prelude.Maybe Prelude.Natural)
+updateRunGroup_maxDuration = Lens.lens (\UpdateRunGroup' {maxDuration} -> maxDuration) (\s@UpdateRunGroup' {} a -> s {maxDuration = a} :: UpdateRunGroup)
+
+-- | The maximum number of concurrent runs for the group.
+updateRunGroup_maxRuns :: Lens.Lens' UpdateRunGroup (Prelude.Maybe Prelude.Natural)
+updateRunGroup_maxRuns = Lens.lens (\UpdateRunGroup' {maxRuns} -> maxRuns) (\s@UpdateRunGroup' {} a -> s {maxRuns = a} :: UpdateRunGroup)
+
+-- | A name for the group.
+updateRunGroup_name :: Lens.Lens' UpdateRunGroup (Prelude.Maybe Prelude.Text)
+updateRunGroup_name = Lens.lens (\UpdateRunGroup' {name} -> name) (\s@UpdateRunGroup' {} a -> s {name = a} :: UpdateRunGroup)
+
+-- | The group\'s ID.
+updateRunGroup_id :: Lens.Lens' UpdateRunGroup Prelude.Text
+updateRunGroup_id = Lens.lens (\UpdateRunGroup' {id} -> id) (\s@UpdateRunGroup' {} a -> s {id = a} :: UpdateRunGroup)
+
+instance Core.AWSRequest UpdateRunGroup where
+  type
+    AWSResponse UpdateRunGroup =
+      UpdateRunGroupResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveNull UpdateRunGroupResponse'
+
+instance Prelude.Hashable UpdateRunGroup where
+  hashWithSalt _salt UpdateRunGroup' {..} =
+    _salt
+      `Prelude.hashWithSalt` maxCpus
+      `Prelude.hashWithSalt` maxDuration
+      `Prelude.hashWithSalt` maxRuns
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` id
+
+instance Prelude.NFData UpdateRunGroup where
+  rnf UpdateRunGroup' {..} =
+    Prelude.rnf maxCpus
+      `Prelude.seq` Prelude.rnf maxDuration
+      `Prelude.seq` Prelude.rnf maxRuns
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf id
+
+instance Data.ToHeaders UpdateRunGroup where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON UpdateRunGroup where
+  toJSON UpdateRunGroup' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("maxCpus" Data..=) Prelude.<$> maxCpus,
+            ("maxDuration" Data..=) Prelude.<$> maxDuration,
+            ("maxRuns" Data..=) Prelude.<$> maxRuns,
+            ("name" Data..=) Prelude.<$> name
+          ]
+      )
+
+instance Data.ToPath UpdateRunGroup where
+  toPath UpdateRunGroup' {..} =
+    Prelude.mconcat ["/runGroup/", Data.toBS id]
+
+instance Data.ToQuery UpdateRunGroup where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newUpdateRunGroupResponse' smart constructor.
+data UpdateRunGroupResponse = UpdateRunGroupResponse'
+  {
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UpdateRunGroupResponse' 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.
+newUpdateRunGroupResponse ::
+  UpdateRunGroupResponse
+newUpdateRunGroupResponse = UpdateRunGroupResponse'
+
+instance Prelude.NFData UpdateRunGroupResponse where
+  rnf _ = ()
diff --git a/gen/Amazonka/Omics/UpdateVariantStore.hs b/gen/Amazonka/Omics/UpdateVariantStore.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/UpdateVariantStore.hs
@@ -0,0 +1,275 @@
+{-# 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.Omics.UpdateVariantStore
+-- 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 variant store.
+module Amazonka.Omics.UpdateVariantStore
+  ( -- * Creating a Request
+    UpdateVariantStore (..),
+    newUpdateVariantStore,
+
+    -- * Request Lenses
+    updateVariantStore_description,
+    updateVariantStore_name,
+
+    -- * Destructuring the Response
+    UpdateVariantStoreResponse (..),
+    newUpdateVariantStoreResponse,
+
+    -- * Response Lenses
+    updateVariantStoreResponse_httpStatus,
+    updateVariantStoreResponse_creationTime,
+    updateVariantStoreResponse_description,
+    updateVariantStoreResponse_id,
+    updateVariantStoreResponse_name,
+    updateVariantStoreResponse_reference,
+    updateVariantStoreResponse_status,
+    updateVariantStoreResponse_updateTime,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newUpdateVariantStore' smart constructor.
+data UpdateVariantStore = UpdateVariantStore'
+  { -- | A description for the store.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | A name for the store.
+    name :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UpdateVariantStore' 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', 'updateVariantStore_description' - A description for the store.
+--
+-- 'name', 'updateVariantStore_name' - A name for the store.
+newUpdateVariantStore ::
+  -- | 'name'
+  Prelude.Text ->
+  UpdateVariantStore
+newUpdateVariantStore pName_ =
+  UpdateVariantStore'
+    { description = Prelude.Nothing,
+      name = pName_
+    }
+
+-- | A description for the store.
+updateVariantStore_description :: Lens.Lens' UpdateVariantStore (Prelude.Maybe Prelude.Text)
+updateVariantStore_description = Lens.lens (\UpdateVariantStore' {description} -> description) (\s@UpdateVariantStore' {} a -> s {description = a} :: UpdateVariantStore)
+
+-- | A name for the store.
+updateVariantStore_name :: Lens.Lens' UpdateVariantStore Prelude.Text
+updateVariantStore_name = Lens.lens (\UpdateVariantStore' {name} -> name) (\s@UpdateVariantStore' {} a -> s {name = a} :: UpdateVariantStore)
+
+instance Core.AWSRequest UpdateVariantStore where
+  type
+    AWSResponse UpdateVariantStore =
+      UpdateVariantStoreResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveJSON
+      ( \s h x ->
+          UpdateVariantStoreResponse'
+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
+            Prelude.<*> (x Data..:> "creationTime")
+            Prelude.<*> (x Data..:> "description")
+            Prelude.<*> (x Data..:> "id")
+            Prelude.<*> (x Data..:> "name")
+            Prelude.<*> (x Data..:> "reference")
+            Prelude.<*> (x Data..:> "status")
+            Prelude.<*> (x Data..:> "updateTime")
+      )
+
+instance Prelude.Hashable UpdateVariantStore where
+  hashWithSalt _salt UpdateVariantStore' {..} =
+    _salt
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` name
+
+instance Prelude.NFData UpdateVariantStore where
+  rnf UpdateVariantStore' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf name
+
+instance Data.ToHeaders UpdateVariantStore where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON UpdateVariantStore where
+  toJSON UpdateVariantStore' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [("description" Data..=) Prelude.<$> description]
+      )
+
+instance Data.ToPath UpdateVariantStore where
+  toPath UpdateVariantStore' {..} =
+    Prelude.mconcat ["/variantStore/", Data.toBS name]
+
+instance Data.ToQuery UpdateVariantStore where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newUpdateVariantStoreResponse' smart constructor.
+data UpdateVariantStoreResponse = UpdateVariantStoreResponse'
+  { -- | The response's http status code.
+    httpStatus :: Prelude.Int,
+    -- | When the store was created.
+    creationTime :: Data.ISO8601,
+    -- | The store\'s description.
+    description :: Prelude.Text,
+    -- | The store\'s ID.
+    id :: Prelude.Text,
+    -- | The store\'s name.
+    name :: Prelude.Text,
+    -- | The store\'s genome reference.
+    reference :: ReferenceItem,
+    -- | The store\'s status.
+    status :: StoreStatus,
+    -- | When the store was updated.
+    updateTime :: Data.ISO8601
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UpdateVariantStoreResponse' 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', 'updateVariantStoreResponse_httpStatus' - The response's http status code.
+--
+-- 'creationTime', 'updateVariantStoreResponse_creationTime' - When the store was created.
+--
+-- 'description', 'updateVariantStoreResponse_description' - The store\'s description.
+--
+-- 'id', 'updateVariantStoreResponse_id' - The store\'s ID.
+--
+-- 'name', 'updateVariantStoreResponse_name' - The store\'s name.
+--
+-- 'reference', 'updateVariantStoreResponse_reference' - The store\'s genome reference.
+--
+-- 'status', 'updateVariantStoreResponse_status' - The store\'s status.
+--
+-- 'updateTime', 'updateVariantStoreResponse_updateTime' - When the store was updated.
+newUpdateVariantStoreResponse ::
+  -- | 'httpStatus'
+  Prelude.Int ->
+  -- | 'creationTime'
+  Prelude.UTCTime ->
+  -- | 'description'
+  Prelude.Text ->
+  -- | 'id'
+  Prelude.Text ->
+  -- | 'name'
+  Prelude.Text ->
+  -- | 'reference'
+  ReferenceItem ->
+  -- | 'status'
+  StoreStatus ->
+  -- | 'updateTime'
+  Prelude.UTCTime ->
+  UpdateVariantStoreResponse
+newUpdateVariantStoreResponse
+  pHttpStatus_
+  pCreationTime_
+  pDescription_
+  pId_
+  pName_
+  pReference_
+  pStatus_
+  pUpdateTime_ =
+    UpdateVariantStoreResponse'
+      { httpStatus =
+          pHttpStatus_,
+        creationTime = Data._Time Lens.# pCreationTime_,
+        description = pDescription_,
+        id = pId_,
+        name = pName_,
+        reference = pReference_,
+        status = pStatus_,
+        updateTime = Data._Time Lens.# pUpdateTime_
+      }
+
+-- | The response's http status code.
+updateVariantStoreResponse_httpStatus :: Lens.Lens' UpdateVariantStoreResponse Prelude.Int
+updateVariantStoreResponse_httpStatus = Lens.lens (\UpdateVariantStoreResponse' {httpStatus} -> httpStatus) (\s@UpdateVariantStoreResponse' {} a -> s {httpStatus = a} :: UpdateVariantStoreResponse)
+
+-- | When the store was created.
+updateVariantStoreResponse_creationTime :: Lens.Lens' UpdateVariantStoreResponse Prelude.UTCTime
+updateVariantStoreResponse_creationTime = Lens.lens (\UpdateVariantStoreResponse' {creationTime} -> creationTime) (\s@UpdateVariantStoreResponse' {} a -> s {creationTime = a} :: UpdateVariantStoreResponse) Prelude.. Data._Time
+
+-- | The store\'s description.
+updateVariantStoreResponse_description :: Lens.Lens' UpdateVariantStoreResponse Prelude.Text
+updateVariantStoreResponse_description = Lens.lens (\UpdateVariantStoreResponse' {description} -> description) (\s@UpdateVariantStoreResponse' {} a -> s {description = a} :: UpdateVariantStoreResponse)
+
+-- | The store\'s ID.
+updateVariantStoreResponse_id :: Lens.Lens' UpdateVariantStoreResponse Prelude.Text
+updateVariantStoreResponse_id = Lens.lens (\UpdateVariantStoreResponse' {id} -> id) (\s@UpdateVariantStoreResponse' {} a -> s {id = a} :: UpdateVariantStoreResponse)
+
+-- | The store\'s name.
+updateVariantStoreResponse_name :: Lens.Lens' UpdateVariantStoreResponse Prelude.Text
+updateVariantStoreResponse_name = Lens.lens (\UpdateVariantStoreResponse' {name} -> name) (\s@UpdateVariantStoreResponse' {} a -> s {name = a} :: UpdateVariantStoreResponse)
+
+-- | The store\'s genome reference.
+updateVariantStoreResponse_reference :: Lens.Lens' UpdateVariantStoreResponse ReferenceItem
+updateVariantStoreResponse_reference = Lens.lens (\UpdateVariantStoreResponse' {reference} -> reference) (\s@UpdateVariantStoreResponse' {} a -> s {reference = a} :: UpdateVariantStoreResponse)
+
+-- | The store\'s status.
+updateVariantStoreResponse_status :: Lens.Lens' UpdateVariantStoreResponse StoreStatus
+updateVariantStoreResponse_status = Lens.lens (\UpdateVariantStoreResponse' {status} -> status) (\s@UpdateVariantStoreResponse' {} a -> s {status = a} :: UpdateVariantStoreResponse)
+
+-- | When the store was updated.
+updateVariantStoreResponse_updateTime :: Lens.Lens' UpdateVariantStoreResponse Prelude.UTCTime
+updateVariantStoreResponse_updateTime = Lens.lens (\UpdateVariantStoreResponse' {updateTime} -> updateTime) (\s@UpdateVariantStoreResponse' {} a -> s {updateTime = a} :: UpdateVariantStoreResponse) Prelude.. Data._Time
+
+instance Prelude.NFData UpdateVariantStoreResponse where
+  rnf UpdateVariantStoreResponse' {..} =
+    Prelude.rnf httpStatus
+      `Prelude.seq` Prelude.rnf creationTime
+      `Prelude.seq` Prelude.rnf description
+      `Prelude.seq` Prelude.rnf id
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf reference
+      `Prelude.seq` Prelude.rnf status
+      `Prelude.seq` Prelude.rnf updateTime
diff --git a/gen/Amazonka/Omics/UpdateWorkflow.hs b/gen/Amazonka/Omics/UpdateWorkflow.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/UpdateWorkflow.hs
@@ -0,0 +1,159 @@
+{-# 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.Omics.UpdateWorkflow
+-- 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 workflow.
+module Amazonka.Omics.UpdateWorkflow
+  ( -- * Creating a Request
+    UpdateWorkflow (..),
+    newUpdateWorkflow,
+
+    -- * Request Lenses
+    updateWorkflow_description,
+    updateWorkflow_name,
+    updateWorkflow_id,
+
+    -- * Destructuring the Response
+    UpdateWorkflowResponse (..),
+    newUpdateWorkflowResponse,
+  )
+where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+import qualified Amazonka.Request as Request
+import qualified Amazonka.Response as Response
+
+-- | /See:/ 'newUpdateWorkflow' smart constructor.
+data UpdateWorkflow = UpdateWorkflow'
+  { -- | A description for the workflow.
+    description :: Prelude.Maybe Prelude.Text,
+    -- | A name for the workflow.
+    name :: Prelude.Maybe Prelude.Text,
+    -- | The workflow\'s ID.
+    id :: Prelude.Text
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UpdateWorkflow' 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', 'updateWorkflow_description' - A description for the workflow.
+--
+-- 'name', 'updateWorkflow_name' - A name for the workflow.
+--
+-- 'id', 'updateWorkflow_id' - The workflow\'s ID.
+newUpdateWorkflow ::
+  -- | 'id'
+  Prelude.Text ->
+  UpdateWorkflow
+newUpdateWorkflow pId_ =
+  UpdateWorkflow'
+    { description = Prelude.Nothing,
+      name = Prelude.Nothing,
+      id = pId_
+    }
+
+-- | A description for the workflow.
+updateWorkflow_description :: Lens.Lens' UpdateWorkflow (Prelude.Maybe Prelude.Text)
+updateWorkflow_description = Lens.lens (\UpdateWorkflow' {description} -> description) (\s@UpdateWorkflow' {} a -> s {description = a} :: UpdateWorkflow)
+
+-- | A name for the workflow.
+updateWorkflow_name :: Lens.Lens' UpdateWorkflow (Prelude.Maybe Prelude.Text)
+updateWorkflow_name = Lens.lens (\UpdateWorkflow' {name} -> name) (\s@UpdateWorkflow' {} a -> s {name = a} :: UpdateWorkflow)
+
+-- | The workflow\'s ID.
+updateWorkflow_id :: Lens.Lens' UpdateWorkflow Prelude.Text
+updateWorkflow_id = Lens.lens (\UpdateWorkflow' {id} -> id) (\s@UpdateWorkflow' {} a -> s {id = a} :: UpdateWorkflow)
+
+instance Core.AWSRequest UpdateWorkflow where
+  type
+    AWSResponse UpdateWorkflow =
+      UpdateWorkflowResponse
+  request overrides =
+    Request.postJSON (overrides defaultService)
+  response =
+    Response.receiveNull UpdateWorkflowResponse'
+
+instance Prelude.Hashable UpdateWorkflow where
+  hashWithSalt _salt UpdateWorkflow' {..} =
+    _salt
+      `Prelude.hashWithSalt` description
+      `Prelude.hashWithSalt` name
+      `Prelude.hashWithSalt` id
+
+instance Prelude.NFData UpdateWorkflow where
+  rnf UpdateWorkflow' {..} =
+    Prelude.rnf description
+      `Prelude.seq` Prelude.rnf name
+      `Prelude.seq` Prelude.rnf id
+
+instance Data.ToHeaders UpdateWorkflow where
+  toHeaders =
+    Prelude.const
+      ( Prelude.mconcat
+          [ "Content-Type"
+              Data.=# ( "application/x-amz-json-1.1" ::
+                          Prelude.ByteString
+                      )
+          ]
+      )
+
+instance Data.ToJSON UpdateWorkflow where
+  toJSON UpdateWorkflow' {..} =
+    Data.object
+      ( Prelude.catMaybes
+          [ ("description" Data..=) Prelude.<$> description,
+            ("name" Data..=) Prelude.<$> name
+          ]
+      )
+
+instance Data.ToPath UpdateWorkflow where
+  toPath UpdateWorkflow' {..} =
+    Prelude.mconcat ["/workflow/", Data.toBS id]
+
+instance Data.ToQuery UpdateWorkflow where
+  toQuery = Prelude.const Prelude.mempty
+
+-- | /See:/ 'newUpdateWorkflowResponse' smart constructor.
+data UpdateWorkflowResponse = UpdateWorkflowResponse'
+  {
+  }
+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
+
+-- |
+-- Create a value of 'UpdateWorkflowResponse' 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.
+newUpdateWorkflowResponse ::
+  UpdateWorkflowResponse
+newUpdateWorkflowResponse = UpdateWorkflowResponse'
+
+instance Prelude.NFData UpdateWorkflowResponse where
+  rnf _ = ()
diff --git a/gen/Amazonka/Omics/Waiters.hs b/gen/Amazonka/Omics/Waiters.hs
new file mode 100644
--- /dev/null
+++ b/gen/Amazonka/Omics/Waiters.hs
@@ -0,0 +1,690 @@
+{-# 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.Omics.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.Omics.Waiters where
+
+import qualified Amazonka.Core as Core
+import qualified Amazonka.Core.Lens.Internal as Lens
+import qualified Amazonka.Data as Data
+import Amazonka.Omics.GetAnnotationImportJob
+import Amazonka.Omics.GetAnnotationStore
+import Amazonka.Omics.GetReadSetActivationJob
+import Amazonka.Omics.GetReadSetExportJob
+import Amazonka.Omics.GetReadSetImportJob
+import Amazonka.Omics.GetReferenceImportJob
+import Amazonka.Omics.GetRun
+import Amazonka.Omics.GetRunTask
+import Amazonka.Omics.GetVariantImportJob
+import Amazonka.Omics.GetVariantStore
+import Amazonka.Omics.GetWorkflow
+import Amazonka.Omics.Lens
+import Amazonka.Omics.Types
+import qualified Amazonka.Prelude as Prelude
+
+-- | Polls 'Amazonka.Omics.GetAnnotationImportJob' every 30 seconds until a successful state is reached. An error is returned after 20 failed checks.
+newAnnotationImportJobCreated :: Core.Wait GetAnnotationImportJob
+newAnnotationImportJobCreated =
+  Core.Wait
+    { Core.name = "AnnotationImportJobCreated",
+      Core.attempts = 20,
+      Core.delay = 30,
+      Core.acceptors =
+        [ Core.matchAll
+            "SUBMITTED"
+            Core.AcceptRetry
+            ( getAnnotationImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "IN_PROGRESS"
+            Core.AcceptRetry
+            ( getAnnotationImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "FAILED"
+            Core.AcceptFailure
+            ( getAnnotationImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "CANCELLED"
+            Core.AcceptSuccess
+            ( getAnnotationImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "COMPLETED"
+            Core.AcceptSuccess
+            ( getAnnotationImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            )
+        ]
+    }
+
+-- | Polls 'Amazonka.Omics.GetAnnotationStore' every 30 seconds until a successful state is reached. An error is returned after 20 failed checks.
+newAnnotationStoreCreated :: Core.Wait GetAnnotationStore
+newAnnotationStoreCreated =
+  Core.Wait
+    { Core.name = "AnnotationStoreCreated",
+      Core.attempts = 20,
+      Core.delay = 30,
+      Core.acceptors =
+        [ Core.matchAll
+            "ACTIVE"
+            Core.AcceptSuccess
+            ( getAnnotationStoreResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "CREATING"
+            Core.AcceptRetry
+            ( getAnnotationStoreResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "UPDATING"
+            Core.AcceptRetry
+            ( getAnnotationStoreResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "FAILED"
+            Core.AcceptFailure
+            ( getAnnotationStoreResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            )
+        ]
+    }
+
+-- | Polls 'Amazonka.Omics.GetAnnotationStore' every 30 seconds until a successful state is reached. An error is returned after 20 failed checks.
+newAnnotationStoreDeleted :: Core.Wait GetAnnotationStore
+newAnnotationStoreDeleted =
+  Core.Wait
+    { Core.name = "AnnotationStoreDeleted",
+      Core.attempts = 20,
+      Core.delay = 30,
+      Core.acceptors =
+        [ Core.matchAll
+            "DELETED"
+            Core.AcceptSuccess
+            ( getAnnotationStoreResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchError
+            "ResourceNotFoundException"
+            Core.AcceptSuccess,
+          Core.matchAll
+            "DELETING"
+            Core.AcceptRetry
+            ( getAnnotationStoreResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            )
+        ]
+    }
+
+-- | Polls 'Amazonka.Omics.GetReadSetActivationJob' every 30 seconds until a successful state is reached. An error is returned after 20 failed checks.
+newReadSetActivationJobCompleted :: Core.Wait GetReadSetActivationJob
+newReadSetActivationJobCompleted =
+  Core.Wait
+    { Core.name =
+        "ReadSetActivationJobCompleted",
+      Core.attempts = 20,
+      Core.delay = 30,
+      Core.acceptors =
+        [ Core.matchAll
+            "COMPLETED"
+            Core.AcceptSuccess
+            ( getReadSetActivationJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "SUBMITTED"
+            Core.AcceptRetry
+            ( getReadSetActivationJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "IN_PROGRESS"
+            Core.AcceptRetry
+            ( getReadSetActivationJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "CANCELLING"
+            Core.AcceptRetry
+            ( getReadSetActivationJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "CANCELLED"
+            Core.AcceptFailure
+            ( getReadSetActivationJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "FAILED"
+            Core.AcceptFailure
+            ( getReadSetActivationJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "COMPLETED_WITH_FAILURES"
+            Core.AcceptFailure
+            ( getReadSetActivationJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            )
+        ]
+    }
+
+-- | Polls 'Amazonka.Omics.GetReadSetExportJob' every 30 seconds until a successful state is reached. An error is returned after 20 failed checks.
+newReadSetExportJobCompleted :: Core.Wait GetReadSetExportJob
+newReadSetExportJobCompleted =
+  Core.Wait
+    { Core.name = "ReadSetExportJobCompleted",
+      Core.attempts = 20,
+      Core.delay = 30,
+      Core.acceptors =
+        [ Core.matchAll
+            "COMPLETED"
+            Core.AcceptSuccess
+            ( getReadSetExportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "SUBMITTED"
+            Core.AcceptRetry
+            ( getReadSetExportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "IN_PROGRESS"
+            Core.AcceptRetry
+            ( getReadSetExportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "CANCELLING"
+            Core.AcceptRetry
+            ( getReadSetExportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "CANCELLED"
+            Core.AcceptFailure
+            ( getReadSetExportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "FAILED"
+            Core.AcceptFailure
+            ( getReadSetExportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "COMPLETED_WITH_FAILURES"
+            Core.AcceptFailure
+            ( getReadSetExportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            )
+        ]
+    }
+
+-- | Polls 'Amazonka.Omics.GetReadSetImportJob' every 30 seconds until a successful state is reached. An error is returned after 20 failed checks.
+newReadSetImportJobCompleted :: Core.Wait GetReadSetImportJob
+newReadSetImportJobCompleted =
+  Core.Wait
+    { Core.name = "ReadSetImportJobCompleted",
+      Core.attempts = 20,
+      Core.delay = 30,
+      Core.acceptors =
+        [ Core.matchAll
+            "COMPLETED"
+            Core.AcceptSuccess
+            ( getReadSetImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "SUBMITTED"
+            Core.AcceptRetry
+            ( getReadSetImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "IN_PROGRESS"
+            Core.AcceptRetry
+            ( getReadSetImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "CANCELLING"
+            Core.AcceptRetry
+            ( getReadSetImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "CANCELLED"
+            Core.AcceptFailure
+            ( getReadSetImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "FAILED"
+            Core.AcceptFailure
+            ( getReadSetImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "COMPLETED_WITH_FAILURES"
+            Core.AcceptFailure
+            ( getReadSetImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            )
+        ]
+    }
+
+-- | Polls 'Amazonka.Omics.GetReferenceImportJob' every 30 seconds until a successful state is reached. An error is returned after 20 failed checks.
+newReferenceImportJobCompleted :: Core.Wait GetReferenceImportJob
+newReferenceImportJobCompleted =
+  Core.Wait
+    { Core.name =
+        "ReferenceImportJobCompleted",
+      Core.attempts = 20,
+      Core.delay = 30,
+      Core.acceptors =
+        [ Core.matchAll
+            "COMPLETED"
+            Core.AcceptSuccess
+            ( getReferenceImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "SUBMITTED"
+            Core.AcceptRetry
+            ( getReferenceImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "IN_PROGRESS"
+            Core.AcceptRetry
+            ( getReferenceImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "CANCELLING"
+            Core.AcceptRetry
+            ( getReferenceImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "CANCELLED"
+            Core.AcceptFailure
+            ( getReferenceImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "FAILED"
+            Core.AcceptFailure
+            ( getReferenceImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "COMPLETED_WITH_FAILURES"
+            Core.AcceptFailure
+            ( getReferenceImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            )
+        ]
+    }
+
+-- | Polls 'Amazonka.Omics.GetRun' every 30 seconds until a successful state is reached. An error is returned after 20 failed checks.
+newRunCompleted :: Core.Wait GetRun
+newRunCompleted =
+  Core.Wait
+    { Core.name = "RunCompleted",
+      Core.attempts = 20,
+      Core.delay = 30,
+      Core.acceptors =
+        [ Core.matchAll
+            "COMPLETED"
+            Core.AcceptSuccess
+            ( getRunResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "PENDING"
+            Core.AcceptRetry
+            ( getRunResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "STARTING"
+            Core.AcceptRetry
+            ( getRunResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "RUNNING"
+            Core.AcceptRetry
+            ( getRunResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "STOPPING"
+            Core.AcceptRetry
+            ( getRunResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "FAILED"
+            Core.AcceptFailure
+            ( getRunResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            )
+        ]
+    }
+
+-- | Polls 'Amazonka.Omics.GetRun' every 30 seconds until a successful state is reached. An error is returned after 20 failed checks.
+newRunRunning :: Core.Wait GetRun
+newRunRunning =
+  Core.Wait
+    { Core.name = "RunRunning",
+      Core.attempts = 20,
+      Core.delay = 30,
+      Core.acceptors =
+        [ Core.matchAll
+            "RUNNING"
+            Core.AcceptSuccess
+            ( getRunResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "PENDING"
+            Core.AcceptRetry
+            ( getRunResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "STARTING"
+            Core.AcceptRetry
+            ( getRunResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "FAILED"
+            Core.AcceptFailure
+            ( getRunResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "CANCELLED"
+            Core.AcceptFailure
+            ( getRunResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            )
+        ]
+    }
+
+-- | Polls 'Amazonka.Omics.GetRunTask' every 30 seconds until a successful state is reached. An error is returned after 20 failed checks.
+newTaskCompleted :: Core.Wait GetRunTask
+newTaskCompleted =
+  Core.Wait
+    { Core.name = "TaskCompleted",
+      Core.attempts = 20,
+      Core.delay = 30,
+      Core.acceptors =
+        [ Core.matchAll
+            "COMPLETED"
+            Core.AcceptSuccess
+            ( getRunTaskResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "PENDING"
+            Core.AcceptRetry
+            ( getRunTaskResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "STARTING"
+            Core.AcceptRetry
+            ( getRunTaskResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "RUNNING"
+            Core.AcceptRetry
+            ( getRunTaskResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "STOPPING"
+            Core.AcceptRetry
+            ( getRunTaskResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "FAILED"
+            Core.AcceptFailure
+            ( getRunTaskResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            )
+        ]
+    }
+
+-- | Polls 'Amazonka.Omics.GetRunTask' every 30 seconds until a successful state is reached. An error is returned after 20 failed checks.
+newTaskRunning :: Core.Wait GetRunTask
+newTaskRunning =
+  Core.Wait
+    { Core.name = "TaskRunning",
+      Core.attempts = 20,
+      Core.delay = 30,
+      Core.acceptors =
+        [ Core.matchAll
+            "RUNNING"
+            Core.AcceptSuccess
+            ( getRunTaskResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "PENDING"
+            Core.AcceptRetry
+            ( getRunTaskResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "STARTING"
+            Core.AcceptRetry
+            ( getRunTaskResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "FAILED"
+            Core.AcceptFailure
+            ( getRunTaskResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "CANCELLED"
+            Core.AcceptFailure
+            ( getRunTaskResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            )
+        ]
+    }
+
+-- | Polls 'Amazonka.Omics.GetVariantImportJob' every 30 seconds until a successful state is reached. An error is returned after 20 failed checks.
+newVariantImportJobCreated :: Core.Wait GetVariantImportJob
+newVariantImportJobCreated =
+  Core.Wait
+    { Core.name = "VariantImportJobCreated",
+      Core.attempts = 20,
+      Core.delay = 30,
+      Core.acceptors =
+        [ Core.matchAll
+            "SUBMITTED"
+            Core.AcceptRetry
+            ( getVariantImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "IN_PROGRESS"
+            Core.AcceptRetry
+            ( getVariantImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "FAILED"
+            Core.AcceptFailure
+            ( getVariantImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "CANCELLED"
+            Core.AcceptSuccess
+            ( getVariantImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "COMPLETED"
+            Core.AcceptSuccess
+            ( getVariantImportJobResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            )
+        ]
+    }
+
+-- | Polls 'Amazonka.Omics.GetVariantStore' every 30 seconds until a successful state is reached. An error is returned after 20 failed checks.
+newVariantStoreCreated :: Core.Wait GetVariantStore
+newVariantStoreCreated =
+  Core.Wait
+    { Core.name = "VariantStoreCreated",
+      Core.attempts = 20,
+      Core.delay = 30,
+      Core.acceptors =
+        [ Core.matchAll
+            "ACTIVE"
+            Core.AcceptSuccess
+            ( getVariantStoreResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "CREATING"
+            Core.AcceptRetry
+            ( getVariantStoreResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "UPDATING"
+            Core.AcceptRetry
+            ( getVariantStoreResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "FAILED"
+            Core.AcceptFailure
+            ( getVariantStoreResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            )
+        ]
+    }
+
+-- | Polls 'Amazonka.Omics.GetVariantStore' every 30 seconds until a successful state is reached. An error is returned after 20 failed checks.
+newVariantStoreDeleted :: Core.Wait GetVariantStore
+newVariantStoreDeleted =
+  Core.Wait
+    { Core.name = "VariantStoreDeleted",
+      Core.attempts = 20,
+      Core.delay = 30,
+      Core.acceptors =
+        [ Core.matchAll
+            "DELETED"
+            Core.AcceptSuccess
+            ( getVariantStoreResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchError
+            "ResourceNotFoundException"
+            Core.AcceptSuccess,
+          Core.matchAll
+            "DELETING"
+            Core.AcceptRetry
+            ( getVariantStoreResponse_status
+                Prelude.. Lens.to Data.toTextCI
+            )
+        ]
+    }
+
+-- | Polls 'Amazonka.Omics.GetWorkflow' every 3 seconds until a successful state is reached. An error is returned after 10 failed checks.
+newWorkflowActive :: Core.Wait GetWorkflow
+newWorkflowActive =
+  Core.Wait
+    { Core.name = "WorkflowActive",
+      Core.attempts = 10,
+      Core.delay = 3,
+      Core.acceptors =
+        [ Core.matchAll
+            "ACTIVE"
+            Core.AcceptSuccess
+            ( getWorkflowResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "CREATING"
+            Core.AcceptRetry
+            ( getWorkflowResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "UPDATING"
+            Core.AcceptRetry
+            ( getWorkflowResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            ),
+          Core.matchAll
+            "FAILED"
+            Core.AcceptFailure
+            ( getWorkflowResponse_status
+                Prelude.. Lens._Just
+                Prelude.. Lens.to Data.toTextCI
+            )
+        ]
+    }
diff --git a/src/.gitkeep b/src/.gitkeep
new file mode 100644
--- /dev/null
+++ b/src/.gitkeep
diff --git a/test/Main.hs b/test/Main.hs
new file mode 100644
--- /dev/null
+++ b/test/Main.hs
@@ -0,0 +1,23 @@
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- |
+-- Module      : Main
+-- 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 Main (main) where
+
+import Test.Amazonka.Omics
+import Test.Amazonka.Omics.Internal
+import Test.Tasty
+
+main :: IO ()
+main =
+  defaultMain $
+    testGroup
+      "Omics"
+      [ testGroup "tests" tests,
+        testGroup "fixtures" fixtures
+      ]
diff --git a/test/Test/Amazonka/Gen/Omics.hs b/test/Test/Amazonka/Gen/Omics.hs
new file mode 100644
--- /dev/null
+++ b/test/Test/Amazonka/Gen/Omics.hs
@@ -0,0 +1,1342 @@
+{-# 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.Omics
+-- 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.Omics where
+
+import Amazonka.Omics
+import qualified Data.Proxy as Proxy
+import Test.Amazonka.Fixture
+import Test.Amazonka.Omics.Internal
+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"
+--         [ requestBatchDeleteReadSet $
+--             newBatchDeleteReadSet
+--
+--         , requestCancelAnnotationImportJob $
+--             newCancelAnnotationImportJob
+--
+--         , requestCancelRun $
+--             newCancelRun
+--
+--         , requestCancelVariantImportJob $
+--             newCancelVariantImportJob
+--
+--         , requestCreateAnnotationStore $
+--             newCreateAnnotationStore
+--
+--         , requestCreateReferenceStore $
+--             newCreateReferenceStore
+--
+--         , requestCreateRunGroup $
+--             newCreateRunGroup
+--
+--         , requestCreateSequenceStore $
+--             newCreateSequenceStore
+--
+--         , requestCreateVariantStore $
+--             newCreateVariantStore
+--
+--         , requestCreateWorkflow $
+--             newCreateWorkflow
+--
+--         , requestDeleteAnnotationStore $
+--             newDeleteAnnotationStore
+--
+--         , requestDeleteReference $
+--             newDeleteReference
+--
+--         , requestDeleteReferenceStore $
+--             newDeleteReferenceStore
+--
+--         , requestDeleteRun $
+--             newDeleteRun
+--
+--         , requestDeleteRunGroup $
+--             newDeleteRunGroup
+--
+--         , requestDeleteSequenceStore $
+--             newDeleteSequenceStore
+--
+--         , requestDeleteVariantStore $
+--             newDeleteVariantStore
+--
+--         , requestDeleteWorkflow $
+--             newDeleteWorkflow
+--
+--         , requestGetAnnotationImportJob $
+--             newGetAnnotationImportJob
+--
+--         , requestGetAnnotationStore $
+--             newGetAnnotationStore
+--
+--         , requestGetReadSet $
+--             newGetReadSet
+--
+--         , requestGetReadSetActivationJob $
+--             newGetReadSetActivationJob
+--
+--         , requestGetReadSetExportJob $
+--             newGetReadSetExportJob
+--
+--         , requestGetReadSetImportJob $
+--             newGetReadSetImportJob
+--
+--         , requestGetReadSetMetadata $
+--             newGetReadSetMetadata
+--
+--         , requestGetReference $
+--             newGetReference
+--
+--         , requestGetReferenceImportJob $
+--             newGetReferenceImportJob
+--
+--         , requestGetReferenceMetadata $
+--             newGetReferenceMetadata
+--
+--         , requestGetReferenceStore $
+--             newGetReferenceStore
+--
+--         , requestGetRun $
+--             newGetRun
+--
+--         , requestGetRunGroup $
+--             newGetRunGroup
+--
+--         , requestGetRunTask $
+--             newGetRunTask
+--
+--         , requestGetSequenceStore $
+--             newGetSequenceStore
+--
+--         , requestGetVariantImportJob $
+--             newGetVariantImportJob
+--
+--         , requestGetVariantStore $
+--             newGetVariantStore
+--
+--         , requestGetWorkflow $
+--             newGetWorkflow
+--
+--         , requestListAnnotationImportJobs $
+--             newListAnnotationImportJobs
+--
+--         , requestListAnnotationStores $
+--             newListAnnotationStores
+--
+--         , requestListReadSetActivationJobs $
+--             newListReadSetActivationJobs
+--
+--         , requestListReadSetExportJobs $
+--             newListReadSetExportJobs
+--
+--         , requestListReadSetImportJobs $
+--             newListReadSetImportJobs
+--
+--         , requestListReadSets $
+--             newListReadSets
+--
+--         , requestListReferenceImportJobs $
+--             newListReferenceImportJobs
+--
+--         , requestListReferenceStores $
+--             newListReferenceStores
+--
+--         , requestListReferences $
+--             newListReferences
+--
+--         , requestListRunGroups $
+--             newListRunGroups
+--
+--         , requestListRunTasks $
+--             newListRunTasks
+--
+--         , requestListRuns $
+--             newListRuns
+--
+--         , requestListSequenceStores $
+--             newListSequenceStores
+--
+--         , requestListTagsForResource $
+--             newListTagsForResource
+--
+--         , requestListVariantImportJobs $
+--             newListVariantImportJobs
+--
+--         , requestListVariantStores $
+--             newListVariantStores
+--
+--         , requestListWorkflows $
+--             newListWorkflows
+--
+--         , requestStartAnnotationImportJob $
+--             newStartAnnotationImportJob
+--
+--         , requestStartReadSetActivationJob $
+--             newStartReadSetActivationJob
+--
+--         , requestStartReadSetExportJob $
+--             newStartReadSetExportJob
+--
+--         , requestStartReadSetImportJob $
+--             newStartReadSetImportJob
+--
+--         , requestStartReferenceImportJob $
+--             newStartReferenceImportJob
+--
+--         , requestStartRun $
+--             newStartRun
+--
+--         , requestStartVariantImportJob $
+--             newStartVariantImportJob
+--
+--         , requestTagResource $
+--             newTagResource
+--
+--         , requestUntagResource $
+--             newUntagResource
+--
+--         , requestUpdateAnnotationStore $
+--             newUpdateAnnotationStore
+--
+--         , requestUpdateRunGroup $
+--             newUpdateRunGroup
+--
+--         , requestUpdateVariantStore $
+--             newUpdateVariantStore
+--
+--         , requestUpdateWorkflow $
+--             newUpdateWorkflow
+--
+--           ]
+
+--     , testGroup "response"
+--         [ responseBatchDeleteReadSet $
+--             newBatchDeleteReadSetResponse
+--
+--         , responseCancelAnnotationImportJob $
+--             newCancelAnnotationImportJobResponse
+--
+--         , responseCancelRun $
+--             newCancelRunResponse
+--
+--         , responseCancelVariantImportJob $
+--             newCancelVariantImportJobResponse
+--
+--         , responseCreateAnnotationStore $
+--             newCreateAnnotationStoreResponse
+--
+--         , responseCreateReferenceStore $
+--             newCreateReferenceStoreResponse
+--
+--         , responseCreateRunGroup $
+--             newCreateRunGroupResponse
+--
+--         , responseCreateSequenceStore $
+--             newCreateSequenceStoreResponse
+--
+--         , responseCreateVariantStore $
+--             newCreateVariantStoreResponse
+--
+--         , responseCreateWorkflow $
+--             newCreateWorkflowResponse
+--
+--         , responseDeleteAnnotationStore $
+--             newDeleteAnnotationStoreResponse
+--
+--         , responseDeleteReference $
+--             newDeleteReferenceResponse
+--
+--         , responseDeleteReferenceStore $
+--             newDeleteReferenceStoreResponse
+--
+--         , responseDeleteRun $
+--             newDeleteRunResponse
+--
+--         , responseDeleteRunGroup $
+--             newDeleteRunGroupResponse
+--
+--         , responseDeleteSequenceStore $
+--             newDeleteSequenceStoreResponse
+--
+--         , responseDeleteVariantStore $
+--             newDeleteVariantStoreResponse
+--
+--         , responseDeleteWorkflow $
+--             newDeleteWorkflowResponse
+--
+--         , responseGetAnnotationImportJob $
+--             newGetAnnotationImportJobResponse
+--
+--         , responseGetAnnotationStore $
+--             newGetAnnotationStoreResponse
+--
+--         , responseGetReadSet $
+--             newGetReadSetResponse
+--
+--         , responseGetReadSetActivationJob $
+--             newGetReadSetActivationJobResponse
+--
+--         , responseGetReadSetExportJob $
+--             newGetReadSetExportJobResponse
+--
+--         , responseGetReadSetImportJob $
+--             newGetReadSetImportJobResponse
+--
+--         , responseGetReadSetMetadata $
+--             newGetReadSetMetadataResponse
+--
+--         , responseGetReference $
+--             newGetReferenceResponse
+--
+--         , responseGetReferenceImportJob $
+--             newGetReferenceImportJobResponse
+--
+--         , responseGetReferenceMetadata $
+--             newGetReferenceMetadataResponse
+--
+--         , responseGetReferenceStore $
+--             newGetReferenceStoreResponse
+--
+--         , responseGetRun $
+--             newGetRunResponse
+--
+--         , responseGetRunGroup $
+--             newGetRunGroupResponse
+--
+--         , responseGetRunTask $
+--             newGetRunTaskResponse
+--
+--         , responseGetSequenceStore $
+--             newGetSequenceStoreResponse
+--
+--         , responseGetVariantImportJob $
+--             newGetVariantImportJobResponse
+--
+--         , responseGetVariantStore $
+--             newGetVariantStoreResponse
+--
+--         , responseGetWorkflow $
+--             newGetWorkflowResponse
+--
+--         , responseListAnnotationImportJobs $
+--             newListAnnotationImportJobsResponse
+--
+--         , responseListAnnotationStores $
+--             newListAnnotationStoresResponse
+--
+--         , responseListReadSetActivationJobs $
+--             newListReadSetActivationJobsResponse
+--
+--         , responseListReadSetExportJobs $
+--             newListReadSetExportJobsResponse
+--
+--         , responseListReadSetImportJobs $
+--             newListReadSetImportJobsResponse
+--
+--         , responseListReadSets $
+--             newListReadSetsResponse
+--
+--         , responseListReferenceImportJobs $
+--             newListReferenceImportJobsResponse
+--
+--         , responseListReferenceStores $
+--             newListReferenceStoresResponse
+--
+--         , responseListReferences $
+--             newListReferencesResponse
+--
+--         , responseListRunGroups $
+--             newListRunGroupsResponse
+--
+--         , responseListRunTasks $
+--             newListRunTasksResponse
+--
+--         , responseListRuns $
+--             newListRunsResponse
+--
+--         , responseListSequenceStores $
+--             newListSequenceStoresResponse
+--
+--         , responseListTagsForResource $
+--             newListTagsForResourceResponse
+--
+--         , responseListVariantImportJobs $
+--             newListVariantImportJobsResponse
+--
+--         , responseListVariantStores $
+--             newListVariantStoresResponse
+--
+--         , responseListWorkflows $
+--             newListWorkflowsResponse
+--
+--         , responseStartAnnotationImportJob $
+--             newStartAnnotationImportJobResponse
+--
+--         , responseStartReadSetActivationJob $
+--             newStartReadSetActivationJobResponse
+--
+--         , responseStartReadSetExportJob $
+--             newStartReadSetExportJobResponse
+--
+--         , responseStartReadSetImportJob $
+--             newStartReadSetImportJobResponse
+--
+--         , responseStartReferenceImportJob $
+--             newStartReferenceImportJobResponse
+--
+--         , responseStartRun $
+--             newStartRunResponse
+--
+--         , responseStartVariantImportJob $
+--             newStartVariantImportJobResponse
+--
+--         , responseTagResource $
+--             newTagResourceResponse
+--
+--         , responseUntagResource $
+--             newUntagResourceResponse
+--
+--         , responseUpdateAnnotationStore $
+--             newUpdateAnnotationStoreResponse
+--
+--         , responseUpdateRunGroup $
+--             newUpdateRunGroupResponse
+--
+--         , responseUpdateVariantStore $
+--             newUpdateVariantStoreResponse
+--
+--         , responseUpdateWorkflow $
+--             newUpdateWorkflowResponse
+--
+--           ]
+--     ]
+
+-- Requests
+
+requestBatchDeleteReadSet :: BatchDeleteReadSet -> TestTree
+requestBatchDeleteReadSet =
+  req
+    "BatchDeleteReadSet"
+    "fixture/BatchDeleteReadSet.yaml"
+
+requestCancelAnnotationImportJob :: CancelAnnotationImportJob -> TestTree
+requestCancelAnnotationImportJob =
+  req
+    "CancelAnnotationImportJob"
+    "fixture/CancelAnnotationImportJob.yaml"
+
+requestCancelRun :: CancelRun -> TestTree
+requestCancelRun =
+  req
+    "CancelRun"
+    "fixture/CancelRun.yaml"
+
+requestCancelVariantImportJob :: CancelVariantImportJob -> TestTree
+requestCancelVariantImportJob =
+  req
+    "CancelVariantImportJob"
+    "fixture/CancelVariantImportJob.yaml"
+
+requestCreateAnnotationStore :: CreateAnnotationStore -> TestTree
+requestCreateAnnotationStore =
+  req
+    "CreateAnnotationStore"
+    "fixture/CreateAnnotationStore.yaml"
+
+requestCreateReferenceStore :: CreateReferenceStore -> TestTree
+requestCreateReferenceStore =
+  req
+    "CreateReferenceStore"
+    "fixture/CreateReferenceStore.yaml"
+
+requestCreateRunGroup :: CreateRunGroup -> TestTree
+requestCreateRunGroup =
+  req
+    "CreateRunGroup"
+    "fixture/CreateRunGroup.yaml"
+
+requestCreateSequenceStore :: CreateSequenceStore -> TestTree
+requestCreateSequenceStore =
+  req
+    "CreateSequenceStore"
+    "fixture/CreateSequenceStore.yaml"
+
+requestCreateVariantStore :: CreateVariantStore -> TestTree
+requestCreateVariantStore =
+  req
+    "CreateVariantStore"
+    "fixture/CreateVariantStore.yaml"
+
+requestCreateWorkflow :: CreateWorkflow -> TestTree
+requestCreateWorkflow =
+  req
+    "CreateWorkflow"
+    "fixture/CreateWorkflow.yaml"
+
+requestDeleteAnnotationStore :: DeleteAnnotationStore -> TestTree
+requestDeleteAnnotationStore =
+  req
+    "DeleteAnnotationStore"
+    "fixture/DeleteAnnotationStore.yaml"
+
+requestDeleteReference :: DeleteReference -> TestTree
+requestDeleteReference =
+  req
+    "DeleteReference"
+    "fixture/DeleteReference.yaml"
+
+requestDeleteReferenceStore :: DeleteReferenceStore -> TestTree
+requestDeleteReferenceStore =
+  req
+    "DeleteReferenceStore"
+    "fixture/DeleteReferenceStore.yaml"
+
+requestDeleteRun :: DeleteRun -> TestTree
+requestDeleteRun =
+  req
+    "DeleteRun"
+    "fixture/DeleteRun.yaml"
+
+requestDeleteRunGroup :: DeleteRunGroup -> TestTree
+requestDeleteRunGroup =
+  req
+    "DeleteRunGroup"
+    "fixture/DeleteRunGroup.yaml"
+
+requestDeleteSequenceStore :: DeleteSequenceStore -> TestTree
+requestDeleteSequenceStore =
+  req
+    "DeleteSequenceStore"
+    "fixture/DeleteSequenceStore.yaml"
+
+requestDeleteVariantStore :: DeleteVariantStore -> TestTree
+requestDeleteVariantStore =
+  req
+    "DeleteVariantStore"
+    "fixture/DeleteVariantStore.yaml"
+
+requestDeleteWorkflow :: DeleteWorkflow -> TestTree
+requestDeleteWorkflow =
+  req
+    "DeleteWorkflow"
+    "fixture/DeleteWorkflow.yaml"
+
+requestGetAnnotationImportJob :: GetAnnotationImportJob -> TestTree
+requestGetAnnotationImportJob =
+  req
+    "GetAnnotationImportJob"
+    "fixture/GetAnnotationImportJob.yaml"
+
+requestGetAnnotationStore :: GetAnnotationStore -> TestTree
+requestGetAnnotationStore =
+  req
+    "GetAnnotationStore"
+    "fixture/GetAnnotationStore.yaml"
+
+requestGetReadSet :: GetReadSet -> TestTree
+requestGetReadSet =
+  req
+    "GetReadSet"
+    "fixture/GetReadSet.yaml"
+
+requestGetReadSetActivationJob :: GetReadSetActivationJob -> TestTree
+requestGetReadSetActivationJob =
+  req
+    "GetReadSetActivationJob"
+    "fixture/GetReadSetActivationJob.yaml"
+
+requestGetReadSetExportJob :: GetReadSetExportJob -> TestTree
+requestGetReadSetExportJob =
+  req
+    "GetReadSetExportJob"
+    "fixture/GetReadSetExportJob.yaml"
+
+requestGetReadSetImportJob :: GetReadSetImportJob -> TestTree
+requestGetReadSetImportJob =
+  req
+    "GetReadSetImportJob"
+    "fixture/GetReadSetImportJob.yaml"
+
+requestGetReadSetMetadata :: GetReadSetMetadata -> TestTree
+requestGetReadSetMetadata =
+  req
+    "GetReadSetMetadata"
+    "fixture/GetReadSetMetadata.yaml"
+
+requestGetReference :: GetReference -> TestTree
+requestGetReference =
+  req
+    "GetReference"
+    "fixture/GetReference.yaml"
+
+requestGetReferenceImportJob :: GetReferenceImportJob -> TestTree
+requestGetReferenceImportJob =
+  req
+    "GetReferenceImportJob"
+    "fixture/GetReferenceImportJob.yaml"
+
+requestGetReferenceMetadata :: GetReferenceMetadata -> TestTree
+requestGetReferenceMetadata =
+  req
+    "GetReferenceMetadata"
+    "fixture/GetReferenceMetadata.yaml"
+
+requestGetReferenceStore :: GetReferenceStore -> TestTree
+requestGetReferenceStore =
+  req
+    "GetReferenceStore"
+    "fixture/GetReferenceStore.yaml"
+
+requestGetRun :: GetRun -> TestTree
+requestGetRun =
+  req
+    "GetRun"
+    "fixture/GetRun.yaml"
+
+requestGetRunGroup :: GetRunGroup -> TestTree
+requestGetRunGroup =
+  req
+    "GetRunGroup"
+    "fixture/GetRunGroup.yaml"
+
+requestGetRunTask :: GetRunTask -> TestTree
+requestGetRunTask =
+  req
+    "GetRunTask"
+    "fixture/GetRunTask.yaml"
+
+requestGetSequenceStore :: GetSequenceStore -> TestTree
+requestGetSequenceStore =
+  req
+    "GetSequenceStore"
+    "fixture/GetSequenceStore.yaml"
+
+requestGetVariantImportJob :: GetVariantImportJob -> TestTree
+requestGetVariantImportJob =
+  req
+    "GetVariantImportJob"
+    "fixture/GetVariantImportJob.yaml"
+
+requestGetVariantStore :: GetVariantStore -> TestTree
+requestGetVariantStore =
+  req
+    "GetVariantStore"
+    "fixture/GetVariantStore.yaml"
+
+requestGetWorkflow :: GetWorkflow -> TestTree
+requestGetWorkflow =
+  req
+    "GetWorkflow"
+    "fixture/GetWorkflow.yaml"
+
+requestListAnnotationImportJobs :: ListAnnotationImportJobs -> TestTree
+requestListAnnotationImportJobs =
+  req
+    "ListAnnotationImportJobs"
+    "fixture/ListAnnotationImportJobs.yaml"
+
+requestListAnnotationStores :: ListAnnotationStores -> TestTree
+requestListAnnotationStores =
+  req
+    "ListAnnotationStores"
+    "fixture/ListAnnotationStores.yaml"
+
+requestListReadSetActivationJobs :: ListReadSetActivationJobs -> TestTree
+requestListReadSetActivationJobs =
+  req
+    "ListReadSetActivationJobs"
+    "fixture/ListReadSetActivationJobs.yaml"
+
+requestListReadSetExportJobs :: ListReadSetExportJobs -> TestTree
+requestListReadSetExportJobs =
+  req
+    "ListReadSetExportJobs"
+    "fixture/ListReadSetExportJobs.yaml"
+
+requestListReadSetImportJobs :: ListReadSetImportJobs -> TestTree
+requestListReadSetImportJobs =
+  req
+    "ListReadSetImportJobs"
+    "fixture/ListReadSetImportJobs.yaml"
+
+requestListReadSets :: ListReadSets -> TestTree
+requestListReadSets =
+  req
+    "ListReadSets"
+    "fixture/ListReadSets.yaml"
+
+requestListReferenceImportJobs :: ListReferenceImportJobs -> TestTree
+requestListReferenceImportJobs =
+  req
+    "ListReferenceImportJobs"
+    "fixture/ListReferenceImportJobs.yaml"
+
+requestListReferenceStores :: ListReferenceStores -> TestTree
+requestListReferenceStores =
+  req
+    "ListReferenceStores"
+    "fixture/ListReferenceStores.yaml"
+
+requestListReferences :: ListReferences -> TestTree
+requestListReferences =
+  req
+    "ListReferences"
+    "fixture/ListReferences.yaml"
+
+requestListRunGroups :: ListRunGroups -> TestTree
+requestListRunGroups =
+  req
+    "ListRunGroups"
+    "fixture/ListRunGroups.yaml"
+
+requestListRunTasks :: ListRunTasks -> TestTree
+requestListRunTasks =
+  req
+    "ListRunTasks"
+    "fixture/ListRunTasks.yaml"
+
+requestListRuns :: ListRuns -> TestTree
+requestListRuns =
+  req
+    "ListRuns"
+    "fixture/ListRuns.yaml"
+
+requestListSequenceStores :: ListSequenceStores -> TestTree
+requestListSequenceStores =
+  req
+    "ListSequenceStores"
+    "fixture/ListSequenceStores.yaml"
+
+requestListTagsForResource :: ListTagsForResource -> TestTree
+requestListTagsForResource =
+  req
+    "ListTagsForResource"
+    "fixture/ListTagsForResource.yaml"
+
+requestListVariantImportJobs :: ListVariantImportJobs -> TestTree
+requestListVariantImportJobs =
+  req
+    "ListVariantImportJobs"
+    "fixture/ListVariantImportJobs.yaml"
+
+requestListVariantStores :: ListVariantStores -> TestTree
+requestListVariantStores =
+  req
+    "ListVariantStores"
+    "fixture/ListVariantStores.yaml"
+
+requestListWorkflows :: ListWorkflows -> TestTree
+requestListWorkflows =
+  req
+    "ListWorkflows"
+    "fixture/ListWorkflows.yaml"
+
+requestStartAnnotationImportJob :: StartAnnotationImportJob -> TestTree
+requestStartAnnotationImportJob =
+  req
+    "StartAnnotationImportJob"
+    "fixture/StartAnnotationImportJob.yaml"
+
+requestStartReadSetActivationJob :: StartReadSetActivationJob -> TestTree
+requestStartReadSetActivationJob =
+  req
+    "StartReadSetActivationJob"
+    "fixture/StartReadSetActivationJob.yaml"
+
+requestStartReadSetExportJob :: StartReadSetExportJob -> TestTree
+requestStartReadSetExportJob =
+  req
+    "StartReadSetExportJob"
+    "fixture/StartReadSetExportJob.yaml"
+
+requestStartReadSetImportJob :: StartReadSetImportJob -> TestTree
+requestStartReadSetImportJob =
+  req
+    "StartReadSetImportJob"
+    "fixture/StartReadSetImportJob.yaml"
+
+requestStartReferenceImportJob :: StartReferenceImportJob -> TestTree
+requestStartReferenceImportJob =
+  req
+    "StartReferenceImportJob"
+    "fixture/StartReferenceImportJob.yaml"
+
+requestStartRun :: StartRun -> TestTree
+requestStartRun =
+  req
+    "StartRun"
+    "fixture/StartRun.yaml"
+
+requestStartVariantImportJob :: StartVariantImportJob -> TestTree
+requestStartVariantImportJob =
+  req
+    "StartVariantImportJob"
+    "fixture/StartVariantImportJob.yaml"
+
+requestTagResource :: TagResource -> TestTree
+requestTagResource =
+  req
+    "TagResource"
+    "fixture/TagResource.yaml"
+
+requestUntagResource :: UntagResource -> TestTree
+requestUntagResource =
+  req
+    "UntagResource"
+    "fixture/UntagResource.yaml"
+
+requestUpdateAnnotationStore :: UpdateAnnotationStore -> TestTree
+requestUpdateAnnotationStore =
+  req
+    "UpdateAnnotationStore"
+    "fixture/UpdateAnnotationStore.yaml"
+
+requestUpdateRunGroup :: UpdateRunGroup -> TestTree
+requestUpdateRunGroup =
+  req
+    "UpdateRunGroup"
+    "fixture/UpdateRunGroup.yaml"
+
+requestUpdateVariantStore :: UpdateVariantStore -> TestTree
+requestUpdateVariantStore =
+  req
+    "UpdateVariantStore"
+    "fixture/UpdateVariantStore.yaml"
+
+requestUpdateWorkflow :: UpdateWorkflow -> TestTree
+requestUpdateWorkflow =
+  req
+    "UpdateWorkflow"
+    "fixture/UpdateWorkflow.yaml"
+
+-- Responses
+
+responseBatchDeleteReadSet :: BatchDeleteReadSetResponse -> TestTree
+responseBatchDeleteReadSet =
+  res
+    "BatchDeleteReadSetResponse"
+    "fixture/BatchDeleteReadSetResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy BatchDeleteReadSet)
+
+responseCancelAnnotationImportJob :: CancelAnnotationImportJobResponse -> TestTree
+responseCancelAnnotationImportJob =
+  res
+    "CancelAnnotationImportJobResponse"
+    "fixture/CancelAnnotationImportJobResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy CancelAnnotationImportJob)
+
+responseCancelRun :: CancelRunResponse -> TestTree
+responseCancelRun =
+  res
+    "CancelRunResponse"
+    "fixture/CancelRunResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy CancelRun)
+
+responseCancelVariantImportJob :: CancelVariantImportJobResponse -> TestTree
+responseCancelVariantImportJob =
+  res
+    "CancelVariantImportJobResponse"
+    "fixture/CancelVariantImportJobResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy CancelVariantImportJob)
+
+responseCreateAnnotationStore :: CreateAnnotationStoreResponse -> TestTree
+responseCreateAnnotationStore =
+  res
+    "CreateAnnotationStoreResponse"
+    "fixture/CreateAnnotationStoreResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy CreateAnnotationStore)
+
+responseCreateReferenceStore :: CreateReferenceStoreResponse -> TestTree
+responseCreateReferenceStore =
+  res
+    "CreateReferenceStoreResponse"
+    "fixture/CreateReferenceStoreResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy CreateReferenceStore)
+
+responseCreateRunGroup :: CreateRunGroupResponse -> TestTree
+responseCreateRunGroup =
+  res
+    "CreateRunGroupResponse"
+    "fixture/CreateRunGroupResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy CreateRunGroup)
+
+responseCreateSequenceStore :: CreateSequenceStoreResponse -> TestTree
+responseCreateSequenceStore =
+  res
+    "CreateSequenceStoreResponse"
+    "fixture/CreateSequenceStoreResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy CreateSequenceStore)
+
+responseCreateVariantStore :: CreateVariantStoreResponse -> TestTree
+responseCreateVariantStore =
+  res
+    "CreateVariantStoreResponse"
+    "fixture/CreateVariantStoreResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy CreateVariantStore)
+
+responseCreateWorkflow :: CreateWorkflowResponse -> TestTree
+responseCreateWorkflow =
+  res
+    "CreateWorkflowResponse"
+    "fixture/CreateWorkflowResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy CreateWorkflow)
+
+responseDeleteAnnotationStore :: DeleteAnnotationStoreResponse -> TestTree
+responseDeleteAnnotationStore =
+  res
+    "DeleteAnnotationStoreResponse"
+    "fixture/DeleteAnnotationStoreResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy DeleteAnnotationStore)
+
+responseDeleteReference :: DeleteReferenceResponse -> TestTree
+responseDeleteReference =
+  res
+    "DeleteReferenceResponse"
+    "fixture/DeleteReferenceResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy DeleteReference)
+
+responseDeleteReferenceStore :: DeleteReferenceStoreResponse -> TestTree
+responseDeleteReferenceStore =
+  res
+    "DeleteReferenceStoreResponse"
+    "fixture/DeleteReferenceStoreResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy DeleteReferenceStore)
+
+responseDeleteRun :: DeleteRunResponse -> TestTree
+responseDeleteRun =
+  res
+    "DeleteRunResponse"
+    "fixture/DeleteRunResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy DeleteRun)
+
+responseDeleteRunGroup :: DeleteRunGroupResponse -> TestTree
+responseDeleteRunGroup =
+  res
+    "DeleteRunGroupResponse"
+    "fixture/DeleteRunGroupResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy DeleteRunGroup)
+
+responseDeleteSequenceStore :: DeleteSequenceStoreResponse -> TestTree
+responseDeleteSequenceStore =
+  res
+    "DeleteSequenceStoreResponse"
+    "fixture/DeleteSequenceStoreResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy DeleteSequenceStore)
+
+responseDeleteVariantStore :: DeleteVariantStoreResponse -> TestTree
+responseDeleteVariantStore =
+  res
+    "DeleteVariantStoreResponse"
+    "fixture/DeleteVariantStoreResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy DeleteVariantStore)
+
+responseDeleteWorkflow :: DeleteWorkflowResponse -> TestTree
+responseDeleteWorkflow =
+  res
+    "DeleteWorkflowResponse"
+    "fixture/DeleteWorkflowResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy DeleteWorkflow)
+
+responseGetAnnotationImportJob :: GetAnnotationImportJobResponse -> TestTree
+responseGetAnnotationImportJob =
+  res
+    "GetAnnotationImportJobResponse"
+    "fixture/GetAnnotationImportJobResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy GetAnnotationImportJob)
+
+responseGetAnnotationStore :: GetAnnotationStoreResponse -> TestTree
+responseGetAnnotationStore =
+  res
+    "GetAnnotationStoreResponse"
+    "fixture/GetAnnotationStoreResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy GetAnnotationStore)
+
+responseGetReadSetActivationJob :: GetReadSetActivationJobResponse -> TestTree
+responseGetReadSetActivationJob =
+  res
+    "GetReadSetActivationJobResponse"
+    "fixture/GetReadSetActivationJobResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy GetReadSetActivationJob)
+
+responseGetReadSetExportJob :: GetReadSetExportJobResponse -> TestTree
+responseGetReadSetExportJob =
+  res
+    "GetReadSetExportJobResponse"
+    "fixture/GetReadSetExportJobResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy GetReadSetExportJob)
+
+responseGetReadSetImportJob :: GetReadSetImportJobResponse -> TestTree
+responseGetReadSetImportJob =
+  res
+    "GetReadSetImportJobResponse"
+    "fixture/GetReadSetImportJobResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy GetReadSetImportJob)
+
+responseGetReadSetMetadata :: GetReadSetMetadataResponse -> TestTree
+responseGetReadSetMetadata =
+  res
+    "GetReadSetMetadataResponse"
+    "fixture/GetReadSetMetadataResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy GetReadSetMetadata)
+
+responseGetReferenceImportJob :: GetReferenceImportJobResponse -> TestTree
+responseGetReferenceImportJob =
+  res
+    "GetReferenceImportJobResponse"
+    "fixture/GetReferenceImportJobResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy GetReferenceImportJob)
+
+responseGetReferenceMetadata :: GetReferenceMetadataResponse -> TestTree
+responseGetReferenceMetadata =
+  res
+    "GetReferenceMetadataResponse"
+    "fixture/GetReferenceMetadataResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy GetReferenceMetadata)
+
+responseGetReferenceStore :: GetReferenceStoreResponse -> TestTree
+responseGetReferenceStore =
+  res
+    "GetReferenceStoreResponse"
+    "fixture/GetReferenceStoreResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy GetReferenceStore)
+
+responseGetRun :: GetRunResponse -> TestTree
+responseGetRun =
+  res
+    "GetRunResponse"
+    "fixture/GetRunResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy GetRun)
+
+responseGetRunGroup :: GetRunGroupResponse -> TestTree
+responseGetRunGroup =
+  res
+    "GetRunGroupResponse"
+    "fixture/GetRunGroupResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy GetRunGroup)
+
+responseGetRunTask :: GetRunTaskResponse -> TestTree
+responseGetRunTask =
+  res
+    "GetRunTaskResponse"
+    "fixture/GetRunTaskResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy GetRunTask)
+
+responseGetSequenceStore :: GetSequenceStoreResponse -> TestTree
+responseGetSequenceStore =
+  res
+    "GetSequenceStoreResponse"
+    "fixture/GetSequenceStoreResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy GetSequenceStore)
+
+responseGetVariantImportJob :: GetVariantImportJobResponse -> TestTree
+responseGetVariantImportJob =
+  res
+    "GetVariantImportJobResponse"
+    "fixture/GetVariantImportJobResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy GetVariantImportJob)
+
+responseGetVariantStore :: GetVariantStoreResponse -> TestTree
+responseGetVariantStore =
+  res
+    "GetVariantStoreResponse"
+    "fixture/GetVariantStoreResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy GetVariantStore)
+
+responseGetWorkflow :: GetWorkflowResponse -> TestTree
+responseGetWorkflow =
+  res
+    "GetWorkflowResponse"
+    "fixture/GetWorkflowResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy GetWorkflow)
+
+responseListAnnotationImportJobs :: ListAnnotationImportJobsResponse -> TestTree
+responseListAnnotationImportJobs =
+  res
+    "ListAnnotationImportJobsResponse"
+    "fixture/ListAnnotationImportJobsResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListAnnotationImportJobs)
+
+responseListAnnotationStores :: ListAnnotationStoresResponse -> TestTree
+responseListAnnotationStores =
+  res
+    "ListAnnotationStoresResponse"
+    "fixture/ListAnnotationStoresResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListAnnotationStores)
+
+responseListReadSetActivationJobs :: ListReadSetActivationJobsResponse -> TestTree
+responseListReadSetActivationJobs =
+  res
+    "ListReadSetActivationJobsResponse"
+    "fixture/ListReadSetActivationJobsResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListReadSetActivationJobs)
+
+responseListReadSetExportJobs :: ListReadSetExportJobsResponse -> TestTree
+responseListReadSetExportJobs =
+  res
+    "ListReadSetExportJobsResponse"
+    "fixture/ListReadSetExportJobsResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListReadSetExportJobs)
+
+responseListReadSetImportJobs :: ListReadSetImportJobsResponse -> TestTree
+responseListReadSetImportJobs =
+  res
+    "ListReadSetImportJobsResponse"
+    "fixture/ListReadSetImportJobsResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListReadSetImportJobs)
+
+responseListReadSets :: ListReadSetsResponse -> TestTree
+responseListReadSets =
+  res
+    "ListReadSetsResponse"
+    "fixture/ListReadSetsResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListReadSets)
+
+responseListReferenceImportJobs :: ListReferenceImportJobsResponse -> TestTree
+responseListReferenceImportJobs =
+  res
+    "ListReferenceImportJobsResponse"
+    "fixture/ListReferenceImportJobsResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListReferenceImportJobs)
+
+responseListReferenceStores :: ListReferenceStoresResponse -> TestTree
+responseListReferenceStores =
+  res
+    "ListReferenceStoresResponse"
+    "fixture/ListReferenceStoresResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListReferenceStores)
+
+responseListReferences :: ListReferencesResponse -> TestTree
+responseListReferences =
+  res
+    "ListReferencesResponse"
+    "fixture/ListReferencesResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListReferences)
+
+responseListRunGroups :: ListRunGroupsResponse -> TestTree
+responseListRunGroups =
+  res
+    "ListRunGroupsResponse"
+    "fixture/ListRunGroupsResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListRunGroups)
+
+responseListRunTasks :: ListRunTasksResponse -> TestTree
+responseListRunTasks =
+  res
+    "ListRunTasksResponse"
+    "fixture/ListRunTasksResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListRunTasks)
+
+responseListRuns :: ListRunsResponse -> TestTree
+responseListRuns =
+  res
+    "ListRunsResponse"
+    "fixture/ListRunsResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListRuns)
+
+responseListSequenceStores :: ListSequenceStoresResponse -> TestTree
+responseListSequenceStores =
+  res
+    "ListSequenceStoresResponse"
+    "fixture/ListSequenceStoresResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListSequenceStores)
+
+responseListTagsForResource :: ListTagsForResourceResponse -> TestTree
+responseListTagsForResource =
+  res
+    "ListTagsForResourceResponse"
+    "fixture/ListTagsForResourceResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)
+
+responseListVariantImportJobs :: ListVariantImportJobsResponse -> TestTree
+responseListVariantImportJobs =
+  res
+    "ListVariantImportJobsResponse"
+    "fixture/ListVariantImportJobsResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListVariantImportJobs)
+
+responseListVariantStores :: ListVariantStoresResponse -> TestTree
+responseListVariantStores =
+  res
+    "ListVariantStoresResponse"
+    "fixture/ListVariantStoresResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListVariantStores)
+
+responseListWorkflows :: ListWorkflowsResponse -> TestTree
+responseListWorkflows =
+  res
+    "ListWorkflowsResponse"
+    "fixture/ListWorkflowsResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy ListWorkflows)
+
+responseStartAnnotationImportJob :: StartAnnotationImportJobResponse -> TestTree
+responseStartAnnotationImportJob =
+  res
+    "StartAnnotationImportJobResponse"
+    "fixture/StartAnnotationImportJobResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy StartAnnotationImportJob)
+
+responseStartReadSetActivationJob :: StartReadSetActivationJobResponse -> TestTree
+responseStartReadSetActivationJob =
+  res
+    "StartReadSetActivationJobResponse"
+    "fixture/StartReadSetActivationJobResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy StartReadSetActivationJob)
+
+responseStartReadSetExportJob :: StartReadSetExportJobResponse -> TestTree
+responseStartReadSetExportJob =
+  res
+    "StartReadSetExportJobResponse"
+    "fixture/StartReadSetExportJobResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy StartReadSetExportJob)
+
+responseStartReadSetImportJob :: StartReadSetImportJobResponse -> TestTree
+responseStartReadSetImportJob =
+  res
+    "StartReadSetImportJobResponse"
+    "fixture/StartReadSetImportJobResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy StartReadSetImportJob)
+
+responseStartReferenceImportJob :: StartReferenceImportJobResponse -> TestTree
+responseStartReferenceImportJob =
+  res
+    "StartReferenceImportJobResponse"
+    "fixture/StartReferenceImportJobResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy StartReferenceImportJob)
+
+responseStartRun :: StartRunResponse -> TestTree
+responseStartRun =
+  res
+    "StartRunResponse"
+    "fixture/StartRunResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy StartRun)
+
+responseStartVariantImportJob :: StartVariantImportJobResponse -> TestTree
+responseStartVariantImportJob =
+  res
+    "StartVariantImportJobResponse"
+    "fixture/StartVariantImportJobResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy StartVariantImportJob)
+
+responseTagResource :: TagResourceResponse -> TestTree
+responseTagResource =
+  res
+    "TagResourceResponse"
+    "fixture/TagResourceResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy TagResource)
+
+responseUntagResource :: UntagResourceResponse -> TestTree
+responseUntagResource =
+  res
+    "UntagResourceResponse"
+    "fixture/UntagResourceResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy UntagResource)
+
+responseUpdateAnnotationStore :: UpdateAnnotationStoreResponse -> TestTree
+responseUpdateAnnotationStore =
+  res
+    "UpdateAnnotationStoreResponse"
+    "fixture/UpdateAnnotationStoreResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy UpdateAnnotationStore)
+
+responseUpdateRunGroup :: UpdateRunGroupResponse -> TestTree
+responseUpdateRunGroup =
+  res
+    "UpdateRunGroupResponse"
+    "fixture/UpdateRunGroupResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy UpdateRunGroup)
+
+responseUpdateVariantStore :: UpdateVariantStoreResponse -> TestTree
+responseUpdateVariantStore =
+  res
+    "UpdateVariantStoreResponse"
+    "fixture/UpdateVariantStoreResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy UpdateVariantStore)
+
+responseUpdateWorkflow :: UpdateWorkflowResponse -> TestTree
+responseUpdateWorkflow =
+  res
+    "UpdateWorkflowResponse"
+    "fixture/UpdateWorkflowResponse.proto"
+    defaultService
+    (Proxy.Proxy :: Proxy.Proxy UpdateWorkflow)
diff --git a/test/Test/Amazonka/Omics.hs b/test/Test/Amazonka/Omics.hs
new file mode 100644
--- /dev/null
+++ b/test/Test/Amazonka/Omics.hs
@@ -0,0 +1,20 @@
+-- |
+-- Module      : Test.Amazonka.Omics
+-- 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.Omics
+  ( tests,
+    fixtures,
+  )
+where
+
+import Test.Tasty (TestTree)
+
+tests :: [TestTree]
+tests = []
+
+fixtures :: [TestTree]
+fixtures = []
diff --git a/test/Test/Amazonka/Omics/Internal.hs b/test/Test/Amazonka/Omics/Internal.hs
new file mode 100644
--- /dev/null
+++ b/test/Test/Amazonka/Omics/Internal.hs
@@ -0,0 +1,8 @@
+-- |
+-- Module      : Test.Amazonka.Omics.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.Omics.Internal where
