packages feed

amazonka-wisdom (empty) → 2.0

raw patch · 148 files changed

+14346/−0 lines, 148 filesdep +amazonka-coredep +amazonka-testdep +amazonka-wisdom

Dependencies added: amazonka-core, amazonka-test, amazonka-wisdom, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers

Files

+ LICENSE view
@@ -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.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon Connect Wisdom Service SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-10-19@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-wisdom)+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.Wisdom](http://hackage.haskell.org/package/amazonka-wisdom/docs/Amazonka-Wisdom.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-wisdom` 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.
+ amazonka-wisdom.cabal view
@@ -0,0 +1,155 @@+cabal-version:      2.2+name:               amazonka-wisdom+version:            2.0+synopsis:           Amazon Connect Wisdom Service 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 @2020-10-19@ of the AWS service descriptions, licensed under Apache 2.0.+  .+  The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+  which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+  .+  It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+  .+  Generated lenses can be found in "Amazonka.Wisdom.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.Wisdom" 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-wisdom++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.Wisdom+    Amazonka.Wisdom.CreateAssistant+    Amazonka.Wisdom.CreateAssistantAssociation+    Amazonka.Wisdom.CreateContent+    Amazonka.Wisdom.CreateKnowledgeBase+    Amazonka.Wisdom.CreateSession+    Amazonka.Wisdom.DeleteAssistant+    Amazonka.Wisdom.DeleteAssistantAssociation+    Amazonka.Wisdom.DeleteContent+    Amazonka.Wisdom.DeleteKnowledgeBase+    Amazonka.Wisdom.GetAssistant+    Amazonka.Wisdom.GetAssistantAssociation+    Amazonka.Wisdom.GetContent+    Amazonka.Wisdom.GetContentSummary+    Amazonka.Wisdom.GetKnowledgeBase+    Amazonka.Wisdom.GetRecommendations+    Amazonka.Wisdom.GetSession+    Amazonka.Wisdom.Lens+    Amazonka.Wisdom.ListAssistantAssociations+    Amazonka.Wisdom.ListAssistants+    Amazonka.Wisdom.ListContents+    Amazonka.Wisdom.ListKnowledgeBases+    Amazonka.Wisdom.ListTagsForResource+    Amazonka.Wisdom.NotifyRecommendationsReceived+    Amazonka.Wisdom.QueryAssistant+    Amazonka.Wisdom.RemoveKnowledgeBaseTemplateUri+    Amazonka.Wisdom.SearchContent+    Amazonka.Wisdom.SearchSessions+    Amazonka.Wisdom.StartContentUpload+    Amazonka.Wisdom.TagResource+    Amazonka.Wisdom.Types+    Amazonka.Wisdom.Types.AppIntegrationsConfiguration+    Amazonka.Wisdom.Types.AssistantAssociationData+    Amazonka.Wisdom.Types.AssistantAssociationInputData+    Amazonka.Wisdom.Types.AssistantAssociationOutputData+    Amazonka.Wisdom.Types.AssistantAssociationSummary+    Amazonka.Wisdom.Types.AssistantData+    Amazonka.Wisdom.Types.AssistantStatus+    Amazonka.Wisdom.Types.AssistantSummary+    Amazonka.Wisdom.Types.AssistantType+    Amazonka.Wisdom.Types.AssociationType+    Amazonka.Wisdom.Types.ContentData+    Amazonka.Wisdom.Types.ContentReference+    Amazonka.Wisdom.Types.ContentStatus+    Amazonka.Wisdom.Types.ContentSummary+    Amazonka.Wisdom.Types.Document+    Amazonka.Wisdom.Types.DocumentText+    Amazonka.Wisdom.Types.Filter+    Amazonka.Wisdom.Types.FilterField+    Amazonka.Wisdom.Types.FilterOperator+    Amazonka.Wisdom.Types.Highlight+    Amazonka.Wisdom.Types.KnowledgeBaseAssociationData+    Amazonka.Wisdom.Types.KnowledgeBaseData+    Amazonka.Wisdom.Types.KnowledgeBaseStatus+    Amazonka.Wisdom.Types.KnowledgeBaseSummary+    Amazonka.Wisdom.Types.KnowledgeBaseType+    Amazonka.Wisdom.Types.NotifyRecommendationsReceivedError+    Amazonka.Wisdom.Types.QueryRecommendationTriggerData+    Amazonka.Wisdom.Types.RecommendationData+    Amazonka.Wisdom.Types.RecommendationSourceType+    Amazonka.Wisdom.Types.RecommendationTrigger+    Amazonka.Wisdom.Types.RecommendationTriggerData+    Amazonka.Wisdom.Types.RecommendationTriggerType+    Amazonka.Wisdom.Types.RecommendationType+    Amazonka.Wisdom.Types.RelevanceLevel+    Amazonka.Wisdom.Types.RenderingConfiguration+    Amazonka.Wisdom.Types.ResultData+    Amazonka.Wisdom.Types.SearchExpression+    Amazonka.Wisdom.Types.ServerSideEncryptionConfiguration+    Amazonka.Wisdom.Types.SessionData+    Amazonka.Wisdom.Types.SessionSummary+    Amazonka.Wisdom.Types.SourceConfiguration+    Amazonka.Wisdom.UntagResource+    Amazonka.Wisdom.UpdateContent+    Amazonka.Wisdom.UpdateKnowledgeBaseTemplateUri+    Amazonka.Wisdom.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-wisdom-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.Wisdom+    Test.Amazonka.Wisdom+    Test.Amazonka.Wisdom.Internal++  build-depends:+    , amazonka-core         >=2.0 && <2.1+    , amazonka-test         >=2.0 && <2.1+    , amazonka-wisdom+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateAssistant.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/CreateAssistantAssociation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/CreateAssistantAssociationResponse.proto view
+ fixture/CreateAssistantResponse.proto view
+ fixture/CreateContent.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/CreateContentResponse.proto view
+ fixture/CreateKnowledgeBase.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/CreateKnowledgeBaseResponse.proto view
+ fixture/CreateSession.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/CreateSessionResponse.proto view
+ fixture/DeleteAssistant.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/DeleteAssistantAssociation.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/DeleteAssistantAssociationResponse.proto view
+ fixture/DeleteAssistantResponse.proto view
+ fixture/DeleteContent.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/DeleteContentResponse.proto view
+ fixture/DeleteKnowledgeBase.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/DeleteKnowledgeBaseResponse.proto view
+ fixture/GetAssistant.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/GetAssistantAssociation.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/GetAssistantAssociationResponse.proto view
+ fixture/GetAssistantResponse.proto view
+ fixture/GetContent.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/GetContentResponse.proto view
+ fixture/GetContentSummary.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/GetContentSummaryResponse.proto view
+ fixture/GetKnowledgeBase.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/GetKnowledgeBaseResponse.proto view
+ fixture/GetRecommendations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/GetRecommendationsResponse.proto view
+ fixture/GetSession.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/GetSessionResponse.proto view
+ fixture/ListAssistantAssociations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/ListAssistantAssociationsResponse.proto view
+ fixture/ListAssistants.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/ListAssistantsResponse.proto view
+ fixture/ListContents.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/ListContentsResponse.proto view
+ fixture/ListKnowledgeBases.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/ListKnowledgeBasesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/ListTagsForResourceResponse.proto view
+ fixture/NotifyRecommendationsReceived.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/NotifyRecommendationsReceivedResponse.proto view
+ fixture/PutFeedback.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/PutFeedbackResponse.proto view
+ fixture/QueryAssistant.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/QueryAssistantResponse.proto view
+ fixture/RemoveKnowledgeBaseTemplateUri.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/RemoveKnowledgeBaseTemplateUriResponse.proto view
+ fixture/SearchContent.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/SearchContentResponse.proto view
+ fixture/SearchSessions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/SearchSessionsResponse.proto view
+ fixture/StartContentUpload.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/StartContentUploadResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateContent.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/UpdateContentResponse.proto view
+ fixture/UpdateKnowledgeBaseTemplateUri.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/wisdom/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  wisdom.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:+  ''
+ fixture/UpdateKnowledgeBaseTemplateUriResponse.proto view
+ gen/Amazonka/Wisdom.hs view
@@ -0,0 +1,456 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.Wisdom+-- 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 @2020-10-19@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Connect Wisdom delivers agents the information they need to solve+-- customer issues as they\'re actively speaking with customers. Agents can+-- search across connected repositories from within their agent desktop to+-- find answers quickly. Use the Amazon Connect Wisdom APIs to create an+-- assistant and a knowledge base, for example, or manage content by+-- uploading custom files.+module Amazonka.Wisdom+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** ConflictException+    _ConflictException,++    -- ** PreconditionFailedException+    _PreconditionFailedException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- ** TooManyTagsException+    _TooManyTagsException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CreateAssistant+    CreateAssistant (CreateAssistant'),+    newCreateAssistant,+    CreateAssistantResponse (CreateAssistantResponse'),+    newCreateAssistantResponse,++    -- ** CreateAssistantAssociation+    CreateAssistantAssociation (CreateAssistantAssociation'),+    newCreateAssistantAssociation,+    CreateAssistantAssociationResponse (CreateAssistantAssociationResponse'),+    newCreateAssistantAssociationResponse,++    -- ** CreateContent+    CreateContent (CreateContent'),+    newCreateContent,+    CreateContentResponse (CreateContentResponse'),+    newCreateContentResponse,++    -- ** CreateKnowledgeBase+    CreateKnowledgeBase (CreateKnowledgeBase'),+    newCreateKnowledgeBase,+    CreateKnowledgeBaseResponse (CreateKnowledgeBaseResponse'),+    newCreateKnowledgeBaseResponse,++    -- ** CreateSession+    CreateSession (CreateSession'),+    newCreateSession,+    CreateSessionResponse (CreateSessionResponse'),+    newCreateSessionResponse,++    -- ** DeleteAssistant+    DeleteAssistant (DeleteAssistant'),+    newDeleteAssistant,+    DeleteAssistantResponse (DeleteAssistantResponse'),+    newDeleteAssistantResponse,++    -- ** DeleteAssistantAssociation+    DeleteAssistantAssociation (DeleteAssistantAssociation'),+    newDeleteAssistantAssociation,+    DeleteAssistantAssociationResponse (DeleteAssistantAssociationResponse'),+    newDeleteAssistantAssociationResponse,++    -- ** DeleteContent+    DeleteContent (DeleteContent'),+    newDeleteContent,+    DeleteContentResponse (DeleteContentResponse'),+    newDeleteContentResponse,++    -- ** DeleteKnowledgeBase+    DeleteKnowledgeBase (DeleteKnowledgeBase'),+    newDeleteKnowledgeBase,+    DeleteKnowledgeBaseResponse (DeleteKnowledgeBaseResponse'),+    newDeleteKnowledgeBaseResponse,++    -- ** GetAssistant+    GetAssistant (GetAssistant'),+    newGetAssistant,+    GetAssistantResponse (GetAssistantResponse'),+    newGetAssistantResponse,++    -- ** GetAssistantAssociation+    GetAssistantAssociation (GetAssistantAssociation'),+    newGetAssistantAssociation,+    GetAssistantAssociationResponse (GetAssistantAssociationResponse'),+    newGetAssistantAssociationResponse,++    -- ** GetContent+    GetContent (GetContent'),+    newGetContent,+    GetContentResponse (GetContentResponse'),+    newGetContentResponse,++    -- ** GetContentSummary+    GetContentSummary (GetContentSummary'),+    newGetContentSummary,+    GetContentSummaryResponse (GetContentSummaryResponse'),+    newGetContentSummaryResponse,++    -- ** GetKnowledgeBase+    GetKnowledgeBase (GetKnowledgeBase'),+    newGetKnowledgeBase,+    GetKnowledgeBaseResponse (GetKnowledgeBaseResponse'),+    newGetKnowledgeBaseResponse,++    -- ** GetRecommendations+    GetRecommendations (GetRecommendations'),+    newGetRecommendations,+    GetRecommendationsResponse (GetRecommendationsResponse'),+    newGetRecommendationsResponse,++    -- ** GetSession+    GetSession (GetSession'),+    newGetSession,+    GetSessionResponse (GetSessionResponse'),+    newGetSessionResponse,++    -- ** ListAssistantAssociations (Paginated)+    ListAssistantAssociations (ListAssistantAssociations'),+    newListAssistantAssociations,+    ListAssistantAssociationsResponse (ListAssistantAssociationsResponse'),+    newListAssistantAssociationsResponse,++    -- ** ListAssistants (Paginated)+    ListAssistants (ListAssistants'),+    newListAssistants,+    ListAssistantsResponse (ListAssistantsResponse'),+    newListAssistantsResponse,++    -- ** ListContents (Paginated)+    ListContents (ListContents'),+    newListContents,+    ListContentsResponse (ListContentsResponse'),+    newListContentsResponse,++    -- ** ListKnowledgeBases (Paginated)+    ListKnowledgeBases (ListKnowledgeBases'),+    newListKnowledgeBases,+    ListKnowledgeBasesResponse (ListKnowledgeBasesResponse'),+    newListKnowledgeBasesResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** NotifyRecommendationsReceived+    NotifyRecommendationsReceived (NotifyRecommendationsReceived'),+    newNotifyRecommendationsReceived,+    NotifyRecommendationsReceivedResponse (NotifyRecommendationsReceivedResponse'),+    newNotifyRecommendationsReceivedResponse,++    -- ** QueryAssistant (Paginated)+    QueryAssistant (QueryAssistant'),+    newQueryAssistant,+    QueryAssistantResponse (QueryAssistantResponse'),+    newQueryAssistantResponse,++    -- ** RemoveKnowledgeBaseTemplateUri+    RemoveKnowledgeBaseTemplateUri (RemoveKnowledgeBaseTemplateUri'),+    newRemoveKnowledgeBaseTemplateUri,+    RemoveKnowledgeBaseTemplateUriResponse (RemoveKnowledgeBaseTemplateUriResponse'),+    newRemoveKnowledgeBaseTemplateUriResponse,++    -- ** SearchContent (Paginated)+    SearchContent (SearchContent'),+    newSearchContent,+    SearchContentResponse (SearchContentResponse'),+    newSearchContentResponse,++    -- ** SearchSessions (Paginated)+    SearchSessions (SearchSessions'),+    newSearchSessions,+    SearchSessionsResponse (SearchSessionsResponse'),+    newSearchSessionsResponse,++    -- ** StartContentUpload+    StartContentUpload (StartContentUpload'),+    newStartContentUpload,+    StartContentUploadResponse (StartContentUploadResponse'),+    newStartContentUploadResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateContent+    UpdateContent (UpdateContent'),+    newUpdateContent,+    UpdateContentResponse (UpdateContentResponse'),+    newUpdateContentResponse,++    -- ** UpdateKnowledgeBaseTemplateUri+    UpdateKnowledgeBaseTemplateUri (UpdateKnowledgeBaseTemplateUri'),+    newUpdateKnowledgeBaseTemplateUri,+    UpdateKnowledgeBaseTemplateUriResponse (UpdateKnowledgeBaseTemplateUriResponse'),+    newUpdateKnowledgeBaseTemplateUriResponse,++    -- * Types++    -- ** AssistantStatus+    AssistantStatus (..),++    -- ** AssistantType+    AssistantType (..),++    -- ** AssociationType+    AssociationType (..),++    -- ** ContentStatus+    ContentStatus (..),++    -- ** FilterField+    FilterField (..),++    -- ** FilterOperator+    FilterOperator (..),++    -- ** KnowledgeBaseStatus+    KnowledgeBaseStatus (..),++    -- ** KnowledgeBaseType+    KnowledgeBaseType (..),++    -- ** RecommendationSourceType+    RecommendationSourceType (..),++    -- ** RecommendationTriggerType+    RecommendationTriggerType (..),++    -- ** RecommendationType+    RecommendationType (..),++    -- ** RelevanceLevel+    RelevanceLevel (..),++    -- ** AppIntegrationsConfiguration+    AppIntegrationsConfiguration (AppIntegrationsConfiguration'),+    newAppIntegrationsConfiguration,++    -- ** AssistantAssociationData+    AssistantAssociationData (AssistantAssociationData'),+    newAssistantAssociationData,++    -- ** AssistantAssociationInputData+    AssistantAssociationInputData (AssistantAssociationInputData'),+    newAssistantAssociationInputData,++    -- ** AssistantAssociationOutputData+    AssistantAssociationOutputData (AssistantAssociationOutputData'),+    newAssistantAssociationOutputData,++    -- ** AssistantAssociationSummary+    AssistantAssociationSummary (AssistantAssociationSummary'),+    newAssistantAssociationSummary,++    -- ** AssistantData+    AssistantData (AssistantData'),+    newAssistantData,++    -- ** AssistantSummary+    AssistantSummary (AssistantSummary'),+    newAssistantSummary,++    -- ** ContentData+    ContentData (ContentData'),+    newContentData,++    -- ** ContentReference+    ContentReference (ContentReference'),+    newContentReference,++    -- ** ContentSummary+    ContentSummary (ContentSummary'),+    newContentSummary,++    -- ** Document+    Document (Document'),+    newDocument,++    -- ** DocumentText+    DocumentText (DocumentText'),+    newDocumentText,++    -- ** Filter+    Filter (Filter'),+    newFilter,++    -- ** Highlight+    Highlight (Highlight'),+    newHighlight,++    -- ** KnowledgeBaseAssociationData+    KnowledgeBaseAssociationData (KnowledgeBaseAssociationData'),+    newKnowledgeBaseAssociationData,++    -- ** KnowledgeBaseData+    KnowledgeBaseData (KnowledgeBaseData'),+    newKnowledgeBaseData,++    -- ** KnowledgeBaseSummary+    KnowledgeBaseSummary (KnowledgeBaseSummary'),+    newKnowledgeBaseSummary,++    -- ** NotifyRecommendationsReceivedError+    NotifyRecommendationsReceivedError (NotifyRecommendationsReceivedError'),+    newNotifyRecommendationsReceivedError,++    -- ** QueryRecommendationTriggerData+    QueryRecommendationTriggerData (QueryRecommendationTriggerData'),+    newQueryRecommendationTriggerData,++    -- ** RecommendationData+    RecommendationData (RecommendationData'),+    newRecommendationData,++    -- ** RecommendationTrigger+    RecommendationTrigger (RecommendationTrigger'),+    newRecommendationTrigger,++    -- ** RecommendationTriggerData+    RecommendationTriggerData (RecommendationTriggerData'),+    newRecommendationTriggerData,++    -- ** RenderingConfiguration+    RenderingConfiguration (RenderingConfiguration'),+    newRenderingConfiguration,++    -- ** ResultData+    ResultData (ResultData'),+    newResultData,++    -- ** SearchExpression+    SearchExpression (SearchExpression'),+    newSearchExpression,++    -- ** ServerSideEncryptionConfiguration+    ServerSideEncryptionConfiguration (ServerSideEncryptionConfiguration'),+    newServerSideEncryptionConfiguration,++    -- ** SessionData+    SessionData (SessionData'),+    newSessionData,++    -- ** SessionSummary+    SessionSummary (SessionSummary'),+    newSessionSummary,++    -- ** SourceConfiguration+    SourceConfiguration (SourceConfiguration'),+    newSourceConfiguration,+  )+where++import Amazonka.Wisdom.CreateAssistant+import Amazonka.Wisdom.CreateAssistantAssociation+import Amazonka.Wisdom.CreateContent+import Amazonka.Wisdom.CreateKnowledgeBase+import Amazonka.Wisdom.CreateSession+import Amazonka.Wisdom.DeleteAssistant+import Amazonka.Wisdom.DeleteAssistantAssociation+import Amazonka.Wisdom.DeleteContent+import Amazonka.Wisdom.DeleteKnowledgeBase+import Amazonka.Wisdom.GetAssistant+import Amazonka.Wisdom.GetAssistantAssociation+import Amazonka.Wisdom.GetContent+import Amazonka.Wisdom.GetContentSummary+import Amazonka.Wisdom.GetKnowledgeBase+import Amazonka.Wisdom.GetRecommendations+import Amazonka.Wisdom.GetSession+import Amazonka.Wisdom.Lens+import Amazonka.Wisdom.ListAssistantAssociations+import Amazonka.Wisdom.ListAssistants+import Amazonka.Wisdom.ListContents+import Amazonka.Wisdom.ListKnowledgeBases+import Amazonka.Wisdom.ListTagsForResource+import Amazonka.Wisdom.NotifyRecommendationsReceived+import Amazonka.Wisdom.QueryAssistant+import Amazonka.Wisdom.RemoveKnowledgeBaseTemplateUri+import Amazonka.Wisdom.SearchContent+import Amazonka.Wisdom.SearchSessions+import Amazonka.Wisdom.StartContentUpload+import Amazonka.Wisdom.TagResource+import Amazonka.Wisdom.Types+import Amazonka.Wisdom.UntagResource+import Amazonka.Wisdom.UpdateContent+import Amazonka.Wisdom.UpdateKnowledgeBaseTemplateUri+import Amazonka.Wisdom.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 'Wisdom'.++-- $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.
+ gen/Amazonka/Wisdom/CreateAssistant.hs view
@@ -0,0 +1,240 @@+{-# 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.Wisdom.CreateAssistant+-- 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 Amazon Connect Wisdom assistant.+module Amazonka.Wisdom.CreateAssistant+  ( -- * Creating a Request+    CreateAssistant (..),+    newCreateAssistant,++    -- * Request Lenses+    createAssistant_clientToken,+    createAssistant_description,+    createAssistant_serverSideEncryptionConfiguration,+    createAssistant_tags,+    createAssistant_name,+    createAssistant_type,++    -- * Destructuring the Response+    CreateAssistantResponse (..),+    newCreateAssistantResponse,++    -- * Response Lenses+    createAssistantResponse_assistant,+    createAssistantResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newCreateAssistant' smart constructor.+data CreateAssistant = CreateAssistant'+  { -- | A unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The description of the assistant.+    description :: Prelude.Maybe Prelude.Text,+    -- | The KMS key used for encryption.+    serverSideEncryptionConfiguration :: Prelude.Maybe ServerSideEncryptionConfiguration,+    -- | The tags used to organize, track, or control access for this resource.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the assistant.+    name :: Prelude.Text,+    -- | The type of assistant.+    type' :: AssistantType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAssistant' 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', 'createAssistant_clientToken' - A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+--+-- 'description', 'createAssistant_description' - The description of the assistant.+--+-- 'serverSideEncryptionConfiguration', 'createAssistant_serverSideEncryptionConfiguration' - The KMS key used for encryption.+--+-- 'tags', 'createAssistant_tags' - The tags used to organize, track, or control access for this resource.+--+-- 'name', 'createAssistant_name' - The name of the assistant.+--+-- 'type'', 'createAssistant_type' - The type of assistant.+newCreateAssistant ::+  -- | 'name'+  Prelude.Text ->+  -- | 'type''+  AssistantType ->+  CreateAssistant+newCreateAssistant pName_ pType_ =+  CreateAssistant'+    { clientToken = Prelude.Nothing,+      description = Prelude.Nothing,+      serverSideEncryptionConfiguration = Prelude.Nothing,+      tags = Prelude.Nothing,+      name = pName_,+      type' = pType_+    }++-- | A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createAssistant_clientToken :: Lens.Lens' CreateAssistant (Prelude.Maybe Prelude.Text)+createAssistant_clientToken = Lens.lens (\CreateAssistant' {clientToken} -> clientToken) (\s@CreateAssistant' {} a -> s {clientToken = a} :: CreateAssistant)++-- | The description of the assistant.+createAssistant_description :: Lens.Lens' CreateAssistant (Prelude.Maybe Prelude.Text)+createAssistant_description = Lens.lens (\CreateAssistant' {description} -> description) (\s@CreateAssistant' {} a -> s {description = a} :: CreateAssistant)++-- | The KMS key used for encryption.+createAssistant_serverSideEncryptionConfiguration :: Lens.Lens' CreateAssistant (Prelude.Maybe ServerSideEncryptionConfiguration)+createAssistant_serverSideEncryptionConfiguration = Lens.lens (\CreateAssistant' {serverSideEncryptionConfiguration} -> serverSideEncryptionConfiguration) (\s@CreateAssistant' {} a -> s {serverSideEncryptionConfiguration = a} :: CreateAssistant)++-- | The tags used to organize, track, or control access for this resource.+createAssistant_tags :: Lens.Lens' CreateAssistant (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createAssistant_tags = Lens.lens (\CreateAssistant' {tags} -> tags) (\s@CreateAssistant' {} a -> s {tags = a} :: CreateAssistant) Prelude.. Lens.mapping Lens.coerced++-- | The name of the assistant.+createAssistant_name :: Lens.Lens' CreateAssistant Prelude.Text+createAssistant_name = Lens.lens (\CreateAssistant' {name} -> name) (\s@CreateAssistant' {} a -> s {name = a} :: CreateAssistant)++-- | The type of assistant.+createAssistant_type :: Lens.Lens' CreateAssistant AssistantType+createAssistant_type = Lens.lens (\CreateAssistant' {type'} -> type') (\s@CreateAssistant' {} a -> s {type' = a} :: CreateAssistant)++instance Core.AWSRequest CreateAssistant where+  type+    AWSResponse CreateAssistant =+      CreateAssistantResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAssistantResponse'+            Prelude.<$> (x Data..?> "assistant")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateAssistant where+  hashWithSalt _salt CreateAssistant' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` serverSideEncryptionConfiguration+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` type'++instance Prelude.NFData CreateAssistant where+  rnf CreateAssistant' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf serverSideEncryptionConfiguration+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf type'++instance Data.ToHeaders CreateAssistant where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateAssistant where+  toJSON CreateAssistant' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            ("description" Data..=) Prelude.<$> description,+            ("serverSideEncryptionConfiguration" Data..=)+              Prelude.<$> serverSideEncryptionConfiguration,+            ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("name" Data..= name),+            Prelude.Just ("type" Data..= type')+          ]+      )++instance Data.ToPath CreateAssistant where+  toPath = Prelude.const "/assistants"++instance Data.ToQuery CreateAssistant where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAssistantResponse' smart constructor.+data CreateAssistantResponse = CreateAssistantResponse'+  { -- | Information about the assistant.+    assistant :: Prelude.Maybe AssistantData,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAssistantResponse' 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:+--+-- 'assistant', 'createAssistantResponse_assistant' - Information about the assistant.+--+-- 'httpStatus', 'createAssistantResponse_httpStatus' - The response's http status code.+newCreateAssistantResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateAssistantResponse+newCreateAssistantResponse pHttpStatus_ =+  CreateAssistantResponse'+    { assistant =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the assistant.+createAssistantResponse_assistant :: Lens.Lens' CreateAssistantResponse (Prelude.Maybe AssistantData)+createAssistantResponse_assistant = Lens.lens (\CreateAssistantResponse' {assistant} -> assistant) (\s@CreateAssistantResponse' {} a -> s {assistant = a} :: CreateAssistantResponse)++-- | The response's http status code.+createAssistantResponse_httpStatus :: Lens.Lens' CreateAssistantResponse Prelude.Int+createAssistantResponse_httpStatus = Lens.lens (\CreateAssistantResponse' {httpStatus} -> httpStatus) (\s@CreateAssistantResponse' {} a -> s {httpStatus = a} :: CreateAssistantResponse)++instance Prelude.NFData CreateAssistantResponse where+  rnf CreateAssistantResponse' {..} =+    Prelude.rnf assistant+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/CreateAssistantAssociation.hs view
@@ -0,0 +1,245 @@+{-# 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.Wisdom.CreateAssistantAssociation+-- 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 association between an Amazon Connect Wisdom assistant and+-- another resource. Currently, the only supported association is with a+-- knowledge base. An assistant can have only a single association.+module Amazonka.Wisdom.CreateAssistantAssociation+  ( -- * Creating a Request+    CreateAssistantAssociation (..),+    newCreateAssistantAssociation,++    -- * Request Lenses+    createAssistantAssociation_clientToken,+    createAssistantAssociation_tags,+    createAssistantAssociation_assistantId,+    createAssistantAssociation_association,+    createAssistantAssociation_associationType,++    -- * Destructuring the Response+    CreateAssistantAssociationResponse (..),+    newCreateAssistantAssociationResponse,++    -- * Response Lenses+    createAssistantAssociationResponse_assistantAssociation,+    createAssistantAssociationResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newCreateAssistantAssociation' smart constructor.+data CreateAssistantAssociation = CreateAssistantAssociation'+  { -- | A unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The tags used to organize, track, or control access for this resource.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    assistantId :: Prelude.Text,+    -- | The identifier of the associated resource.+    association :: AssistantAssociationInputData,+    -- | The type of association.+    associationType :: AssociationType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAssistantAssociation' 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', 'createAssistantAssociation_clientToken' - A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+--+-- 'tags', 'createAssistantAssociation_tags' - The tags used to organize, track, or control access for this resource.+--+-- 'assistantId', 'createAssistantAssociation_assistantId' - The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+--+-- 'association', 'createAssistantAssociation_association' - The identifier of the associated resource.+--+-- 'associationType', 'createAssistantAssociation_associationType' - The type of association.+newCreateAssistantAssociation ::+  -- | 'assistantId'+  Prelude.Text ->+  -- | 'association'+  AssistantAssociationInputData ->+  -- | 'associationType'+  AssociationType ->+  CreateAssistantAssociation+newCreateAssistantAssociation+  pAssistantId_+  pAssociation_+  pAssociationType_ =+    CreateAssistantAssociation'+      { clientToken =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        assistantId = pAssistantId_,+        association = pAssociation_,+        associationType = pAssociationType_+      }++-- | A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createAssistantAssociation_clientToken :: Lens.Lens' CreateAssistantAssociation (Prelude.Maybe Prelude.Text)+createAssistantAssociation_clientToken = Lens.lens (\CreateAssistantAssociation' {clientToken} -> clientToken) (\s@CreateAssistantAssociation' {} a -> s {clientToken = a} :: CreateAssistantAssociation)++-- | The tags used to organize, track, or control access for this resource.+createAssistantAssociation_tags :: Lens.Lens' CreateAssistantAssociation (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createAssistantAssociation_tags = Lens.lens (\CreateAssistantAssociation' {tags} -> tags) (\s@CreateAssistantAssociation' {} a -> s {tags = a} :: CreateAssistantAssociation) Prelude.. Lens.mapping Lens.coerced++-- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+createAssistantAssociation_assistantId :: Lens.Lens' CreateAssistantAssociation Prelude.Text+createAssistantAssociation_assistantId = Lens.lens (\CreateAssistantAssociation' {assistantId} -> assistantId) (\s@CreateAssistantAssociation' {} a -> s {assistantId = a} :: CreateAssistantAssociation)++-- | The identifier of the associated resource.+createAssistantAssociation_association :: Lens.Lens' CreateAssistantAssociation AssistantAssociationInputData+createAssistantAssociation_association = Lens.lens (\CreateAssistantAssociation' {association} -> association) (\s@CreateAssistantAssociation' {} a -> s {association = a} :: CreateAssistantAssociation)++-- | The type of association.+createAssistantAssociation_associationType :: Lens.Lens' CreateAssistantAssociation AssociationType+createAssistantAssociation_associationType = Lens.lens (\CreateAssistantAssociation' {associationType} -> associationType) (\s@CreateAssistantAssociation' {} a -> s {associationType = a} :: CreateAssistantAssociation)++instance Core.AWSRequest CreateAssistantAssociation where+  type+    AWSResponse CreateAssistantAssociation =+      CreateAssistantAssociationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAssistantAssociationResponse'+            Prelude.<$> (x Data..?> "assistantAssociation")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateAssistantAssociation where+  hashWithSalt _salt CreateAssistantAssociation' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` assistantId+      `Prelude.hashWithSalt` association+      `Prelude.hashWithSalt` associationType++instance Prelude.NFData CreateAssistantAssociation where+  rnf CreateAssistantAssociation' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf assistantId+      `Prelude.seq` Prelude.rnf association+      `Prelude.seq` Prelude.rnf associationType++instance Data.ToHeaders CreateAssistantAssociation where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateAssistantAssociation where+  toJSON CreateAssistantAssociation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("association" Data..= association),+            Prelude.Just+              ("associationType" Data..= associationType)+          ]+      )++instance Data.ToPath CreateAssistantAssociation where+  toPath CreateAssistantAssociation' {..} =+    Prelude.mconcat+      [ "/assistants/",+        Data.toBS assistantId,+        "/associations"+      ]++instance Data.ToQuery CreateAssistantAssociation where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAssistantAssociationResponse' smart constructor.+data CreateAssistantAssociationResponse = CreateAssistantAssociationResponse'+  { -- | The assistant association.+    assistantAssociation :: Prelude.Maybe AssistantAssociationData,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAssistantAssociationResponse' 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:+--+-- 'assistantAssociation', 'createAssistantAssociationResponse_assistantAssociation' - The assistant association.+--+-- 'httpStatus', 'createAssistantAssociationResponse_httpStatus' - The response's http status code.+newCreateAssistantAssociationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateAssistantAssociationResponse+newCreateAssistantAssociationResponse pHttpStatus_ =+  CreateAssistantAssociationResponse'+    { assistantAssociation =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The assistant association.+createAssistantAssociationResponse_assistantAssociation :: Lens.Lens' CreateAssistantAssociationResponse (Prelude.Maybe AssistantAssociationData)+createAssistantAssociationResponse_assistantAssociation = Lens.lens (\CreateAssistantAssociationResponse' {assistantAssociation} -> assistantAssociation) (\s@CreateAssistantAssociationResponse' {} a -> s {assistantAssociation = a} :: CreateAssistantAssociationResponse)++-- | The response's http status code.+createAssistantAssociationResponse_httpStatus :: Lens.Lens' CreateAssistantAssociationResponse Prelude.Int+createAssistantAssociationResponse_httpStatus = Lens.lens (\CreateAssistantAssociationResponse' {httpStatus} -> httpStatus) (\s@CreateAssistantAssociationResponse' {} a -> s {httpStatus = a} :: CreateAssistantAssociationResponse)++instance+  Prelude.NFData+    CreateAssistantAssociationResponse+  where+  rnf CreateAssistantAssociationResponse' {..} =+    Prelude.rnf assistantAssociation+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/CreateContent.hs view
@@ -0,0 +1,306 @@+{-# 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.Wisdom.CreateContent+-- 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 Wisdom content. Before to calling this API, use+-- <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html StartContentUpload>+-- to upload an asset.+module Amazonka.Wisdom.CreateContent+  ( -- * Creating a Request+    CreateContent (..),+    newCreateContent,++    -- * Request Lenses+    createContent_clientToken,+    createContent_metadata,+    createContent_overrideLinkOutUri,+    createContent_tags,+    createContent_title,+    createContent_knowledgeBaseId,+    createContent_name,+    createContent_uploadId,++    -- * Destructuring the Response+    CreateContentResponse (..),+    newCreateContentResponse,++    -- * Response Lenses+    createContentResponse_content,+    createContentResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newCreateContent' smart constructor.+data CreateContent = CreateContent'+  { -- | A unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | A key\/value map to store attributes without affecting tagging or+    -- recommendations. For example, when synchronizing data between an+    -- external system and Wisdom, you can store an external version identifier+    -- as metadata to utilize for determining drift.+    metadata :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The URI you want to use for the article. If the knowledge base has a+    -- templateUri, setting this argument overrides it for this piece of+    -- content.+    overrideLinkOutUri :: Prelude.Maybe Prelude.Text,+    -- | The tags used to organize, track, or control access for this resource.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The title of the content. If not set, the title is equal to the name.+    title :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the knowledge base. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    knowledgeBaseId :: Prelude.Text,+    -- | The name of the content. Each piece of content in a knowledge base must+    -- have a unique name. You can retrieve a piece of content using only its+    -- knowledge base and its name with the+    -- <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_SearchContent.html SearchContent>+    -- API.+    name :: Prelude.Text,+    -- | A pointer to the uploaded asset. This value is returned by+    -- <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html StartContentUpload>.+    uploadId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateContent' 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', 'createContent_clientToken' - A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+--+-- 'metadata', 'createContent_metadata' - A key\/value map to store attributes without affecting tagging or+-- recommendations. For example, when synchronizing data between an+-- external system and Wisdom, you can store an external version identifier+-- as metadata to utilize for determining drift.+--+-- 'overrideLinkOutUri', 'createContent_overrideLinkOutUri' - The URI you want to use for the article. If the knowledge base has a+-- templateUri, setting this argument overrides it for this piece of+-- content.+--+-- 'tags', 'createContent_tags' - The tags used to organize, track, or control access for this resource.+--+-- 'title', 'createContent_title' - The title of the content. If not set, the title is equal to the name.+--+-- 'knowledgeBaseId', 'createContent_knowledgeBaseId' - The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+--+-- 'name', 'createContent_name' - The name of the content. Each piece of content in a knowledge base must+-- have a unique name. You can retrieve a piece of content using only its+-- knowledge base and its name with the+-- <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_SearchContent.html SearchContent>+-- API.+--+-- 'uploadId', 'createContent_uploadId' - A pointer to the uploaded asset. This value is returned by+-- <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html StartContentUpload>.+newCreateContent ::+  -- | 'knowledgeBaseId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'uploadId'+  Prelude.Text ->+  CreateContent+newCreateContent pKnowledgeBaseId_ pName_ pUploadId_ =+  CreateContent'+    { clientToken = Prelude.Nothing,+      metadata = Prelude.Nothing,+      overrideLinkOutUri = Prelude.Nothing,+      tags = Prelude.Nothing,+      title = Prelude.Nothing,+      knowledgeBaseId = pKnowledgeBaseId_,+      name = pName_,+      uploadId = pUploadId_+    }++-- | A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createContent_clientToken :: Lens.Lens' CreateContent (Prelude.Maybe Prelude.Text)+createContent_clientToken = Lens.lens (\CreateContent' {clientToken} -> clientToken) (\s@CreateContent' {} a -> s {clientToken = a} :: CreateContent)++-- | A key\/value map to store attributes without affecting tagging or+-- recommendations. For example, when synchronizing data between an+-- external system and Wisdom, you can store an external version identifier+-- as metadata to utilize for determining drift.+createContent_metadata :: Lens.Lens' CreateContent (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createContent_metadata = Lens.lens (\CreateContent' {metadata} -> metadata) (\s@CreateContent' {} a -> s {metadata = a} :: CreateContent) Prelude.. Lens.mapping Lens.coerced++-- | The URI you want to use for the article. If the knowledge base has a+-- templateUri, setting this argument overrides it for this piece of+-- content.+createContent_overrideLinkOutUri :: Lens.Lens' CreateContent (Prelude.Maybe Prelude.Text)+createContent_overrideLinkOutUri = Lens.lens (\CreateContent' {overrideLinkOutUri} -> overrideLinkOutUri) (\s@CreateContent' {} a -> s {overrideLinkOutUri = a} :: CreateContent)++-- | The tags used to organize, track, or control access for this resource.+createContent_tags :: Lens.Lens' CreateContent (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createContent_tags = Lens.lens (\CreateContent' {tags} -> tags) (\s@CreateContent' {} a -> s {tags = a} :: CreateContent) Prelude.. Lens.mapping Lens.coerced++-- | The title of the content. If not set, the title is equal to the name.+createContent_title :: Lens.Lens' CreateContent (Prelude.Maybe Prelude.Text)+createContent_title = Lens.lens (\CreateContent' {title} -> title) (\s@CreateContent' {} a -> s {title = a} :: CreateContent)++-- | The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+createContent_knowledgeBaseId :: Lens.Lens' CreateContent Prelude.Text+createContent_knowledgeBaseId = Lens.lens (\CreateContent' {knowledgeBaseId} -> knowledgeBaseId) (\s@CreateContent' {} a -> s {knowledgeBaseId = a} :: CreateContent)++-- | The name of the content. Each piece of content in a knowledge base must+-- have a unique name. You can retrieve a piece of content using only its+-- knowledge base and its name with the+-- <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_SearchContent.html SearchContent>+-- API.+createContent_name :: Lens.Lens' CreateContent Prelude.Text+createContent_name = Lens.lens (\CreateContent' {name} -> name) (\s@CreateContent' {} a -> s {name = a} :: CreateContent)++-- | A pointer to the uploaded asset. This value is returned by+-- <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html StartContentUpload>.+createContent_uploadId :: Lens.Lens' CreateContent Prelude.Text+createContent_uploadId = Lens.lens (\CreateContent' {uploadId} -> uploadId) (\s@CreateContent' {} a -> s {uploadId = a} :: CreateContent)++instance Core.AWSRequest CreateContent where+  type+    AWSResponse CreateContent =+      CreateContentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateContentResponse'+            Prelude.<$> (x Data..?> "content")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateContent where+  hashWithSalt _salt CreateContent' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` overrideLinkOutUri+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` knowledgeBaseId+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` uploadId++instance Prelude.NFData CreateContent where+  rnf CreateContent' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf overrideLinkOutUri+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf knowledgeBaseId+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf uploadId++instance Data.ToHeaders CreateContent where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateContent where+  toJSON CreateContent' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            ("metadata" Data..=) Prelude.<$> metadata,+            ("overrideLinkOutUri" Data..=)+              Prelude.<$> overrideLinkOutUri,+            ("tags" Data..=) Prelude.<$> tags,+            ("title" Data..=) Prelude.<$> title,+            Prelude.Just ("name" Data..= name),+            Prelude.Just ("uploadId" Data..= uploadId)+          ]+      )++instance Data.ToPath CreateContent where+  toPath CreateContent' {..} =+    Prelude.mconcat+      [ "/knowledgeBases/",+        Data.toBS knowledgeBaseId,+        "/contents"+      ]++instance Data.ToQuery CreateContent where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateContentResponse' smart constructor.+data CreateContentResponse = CreateContentResponse'+  { -- | The content.+    content :: Prelude.Maybe ContentData,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateContentResponse' 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:+--+-- 'content', 'createContentResponse_content' - The content.+--+-- 'httpStatus', 'createContentResponse_httpStatus' - The response's http status code.+newCreateContentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateContentResponse+newCreateContentResponse pHttpStatus_ =+  CreateContentResponse'+    { content = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The content.+createContentResponse_content :: Lens.Lens' CreateContentResponse (Prelude.Maybe ContentData)+createContentResponse_content = Lens.lens (\CreateContentResponse' {content} -> content) (\s@CreateContentResponse' {} a -> s {content = a} :: CreateContentResponse)++-- | The response's http status code.+createContentResponse_httpStatus :: Lens.Lens' CreateContentResponse Prelude.Int+createContentResponse_httpStatus = Lens.lens (\CreateContentResponse' {httpStatus} -> httpStatus) (\s@CreateContentResponse' {} a -> s {httpStatus = a} :: CreateContentResponse)++instance Prelude.NFData CreateContentResponse where+  rnf CreateContentResponse' {..} =+    Prelude.rnf content+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/CreateKnowledgeBase.hs view
@@ -0,0 +1,285 @@+{-# 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.Wisdom.CreateKnowledgeBase+-- 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 knowledge base.+--+-- When using this API, you cannot reuse+-- <https://docs.aws.amazon.com/appintegrations/latest/APIReference/Welcome.html Amazon AppIntegrations>+-- DataIntegrations with external knowledge bases such as Salesforce and+-- ServiceNow. If you do, you\'ll get an @InvalidRequestException@ error.+--+-- >  <p>For example, you're programmatically managing your external knowledge base, and you want to add or remove one of the fields that is being ingested from Salesforce. Do the following:</p> <ol> <li> <p>Call <a href="https://docs.aws.amazon.com/wisdom/latest/APIReference/API_DeleteKnowledgeBase.html">DeleteKnowledgeBase</a>.</p> </li> <li> <p>Call <a href="https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_DeleteDataIntegration.html">DeleteDataIntegration</a>.</p> </li> <li> <p>Call <a href="https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateDataIntegration.html">CreateDataIntegration</a> to recreate the DataIntegration or a create different one.</p> </li> <li> <p>Call CreateKnowledgeBase.</p> </li> </ol> </note>+module Amazonka.Wisdom.CreateKnowledgeBase+  ( -- * Creating a Request+    CreateKnowledgeBase (..),+    newCreateKnowledgeBase,++    -- * Request Lenses+    createKnowledgeBase_clientToken,+    createKnowledgeBase_description,+    createKnowledgeBase_renderingConfiguration,+    createKnowledgeBase_serverSideEncryptionConfiguration,+    createKnowledgeBase_sourceConfiguration,+    createKnowledgeBase_tags,+    createKnowledgeBase_knowledgeBaseType,+    createKnowledgeBase_name,++    -- * Destructuring the Response+    CreateKnowledgeBaseResponse (..),+    newCreateKnowledgeBaseResponse,++    -- * Response Lenses+    createKnowledgeBaseResponse_knowledgeBase,+    createKnowledgeBaseResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newCreateKnowledgeBase' smart constructor.+data CreateKnowledgeBase = CreateKnowledgeBase'+  { -- | A unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The description.+    description :: Prelude.Maybe Prelude.Text,+    -- | Information about how to render the content.+    renderingConfiguration :: Prelude.Maybe RenderingConfiguration,+    -- | The KMS key used for encryption.+    serverSideEncryptionConfiguration :: Prelude.Maybe ServerSideEncryptionConfiguration,+    -- | The source of the knowledge base content. Only set this argument for+    -- EXTERNAL knowledge bases.+    sourceConfiguration :: Prelude.Maybe SourceConfiguration,+    -- | The tags used to organize, track, or control access for this resource.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The type of knowledge base. Only CUSTOM knowledge bases allow you to+    -- upload your own content. EXTERNAL knowledge bases support integrations+    -- with third-party systems whose content is synchronized automatically.+    knowledgeBaseType :: KnowledgeBaseType,+    -- | The name of the knowledge base.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateKnowledgeBase' 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', 'createKnowledgeBase_clientToken' - A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+--+-- 'description', 'createKnowledgeBase_description' - The description.+--+-- 'renderingConfiguration', 'createKnowledgeBase_renderingConfiguration' - Information about how to render the content.+--+-- 'serverSideEncryptionConfiguration', 'createKnowledgeBase_serverSideEncryptionConfiguration' - The KMS key used for encryption.+--+-- 'sourceConfiguration', 'createKnowledgeBase_sourceConfiguration' - The source of the knowledge base content. Only set this argument for+-- EXTERNAL knowledge bases.+--+-- 'tags', 'createKnowledgeBase_tags' - The tags used to organize, track, or control access for this resource.+--+-- 'knowledgeBaseType', 'createKnowledgeBase_knowledgeBaseType' - The type of knowledge base. Only CUSTOM knowledge bases allow you to+-- upload your own content. EXTERNAL knowledge bases support integrations+-- with third-party systems whose content is synchronized automatically.+--+-- 'name', 'createKnowledgeBase_name' - The name of the knowledge base.+newCreateKnowledgeBase ::+  -- | 'knowledgeBaseType'+  KnowledgeBaseType ->+  -- | 'name'+  Prelude.Text ->+  CreateKnowledgeBase+newCreateKnowledgeBase pKnowledgeBaseType_ pName_ =+  CreateKnowledgeBase'+    { clientToken = Prelude.Nothing,+      description = Prelude.Nothing,+      renderingConfiguration = Prelude.Nothing,+      serverSideEncryptionConfiguration = Prelude.Nothing,+      sourceConfiguration = Prelude.Nothing,+      tags = Prelude.Nothing,+      knowledgeBaseType = pKnowledgeBaseType_,+      name = pName_+    }++-- | A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createKnowledgeBase_clientToken :: Lens.Lens' CreateKnowledgeBase (Prelude.Maybe Prelude.Text)+createKnowledgeBase_clientToken = Lens.lens (\CreateKnowledgeBase' {clientToken} -> clientToken) (\s@CreateKnowledgeBase' {} a -> s {clientToken = a} :: CreateKnowledgeBase)++-- | The description.+createKnowledgeBase_description :: Lens.Lens' CreateKnowledgeBase (Prelude.Maybe Prelude.Text)+createKnowledgeBase_description = Lens.lens (\CreateKnowledgeBase' {description} -> description) (\s@CreateKnowledgeBase' {} a -> s {description = a} :: CreateKnowledgeBase)++-- | Information about how to render the content.+createKnowledgeBase_renderingConfiguration :: Lens.Lens' CreateKnowledgeBase (Prelude.Maybe RenderingConfiguration)+createKnowledgeBase_renderingConfiguration = Lens.lens (\CreateKnowledgeBase' {renderingConfiguration} -> renderingConfiguration) (\s@CreateKnowledgeBase' {} a -> s {renderingConfiguration = a} :: CreateKnowledgeBase)++-- | The KMS key used for encryption.+createKnowledgeBase_serverSideEncryptionConfiguration :: Lens.Lens' CreateKnowledgeBase (Prelude.Maybe ServerSideEncryptionConfiguration)+createKnowledgeBase_serverSideEncryptionConfiguration = Lens.lens (\CreateKnowledgeBase' {serverSideEncryptionConfiguration} -> serverSideEncryptionConfiguration) (\s@CreateKnowledgeBase' {} a -> s {serverSideEncryptionConfiguration = a} :: CreateKnowledgeBase)++-- | The source of the knowledge base content. Only set this argument for+-- EXTERNAL knowledge bases.+createKnowledgeBase_sourceConfiguration :: Lens.Lens' CreateKnowledgeBase (Prelude.Maybe SourceConfiguration)+createKnowledgeBase_sourceConfiguration = Lens.lens (\CreateKnowledgeBase' {sourceConfiguration} -> sourceConfiguration) (\s@CreateKnowledgeBase' {} a -> s {sourceConfiguration = a} :: CreateKnowledgeBase)++-- | The tags used to organize, track, or control access for this resource.+createKnowledgeBase_tags :: Lens.Lens' CreateKnowledgeBase (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createKnowledgeBase_tags = Lens.lens (\CreateKnowledgeBase' {tags} -> tags) (\s@CreateKnowledgeBase' {} a -> s {tags = a} :: CreateKnowledgeBase) Prelude.. Lens.mapping Lens.coerced++-- | The type of knowledge base. Only CUSTOM knowledge bases allow you to+-- upload your own content. EXTERNAL knowledge bases support integrations+-- with third-party systems whose content is synchronized automatically.+createKnowledgeBase_knowledgeBaseType :: Lens.Lens' CreateKnowledgeBase KnowledgeBaseType+createKnowledgeBase_knowledgeBaseType = Lens.lens (\CreateKnowledgeBase' {knowledgeBaseType} -> knowledgeBaseType) (\s@CreateKnowledgeBase' {} a -> s {knowledgeBaseType = a} :: CreateKnowledgeBase)++-- | The name of the knowledge base.+createKnowledgeBase_name :: Lens.Lens' CreateKnowledgeBase Prelude.Text+createKnowledgeBase_name = Lens.lens (\CreateKnowledgeBase' {name} -> name) (\s@CreateKnowledgeBase' {} a -> s {name = a} :: CreateKnowledgeBase)++instance Core.AWSRequest CreateKnowledgeBase where+  type+    AWSResponse CreateKnowledgeBase =+      CreateKnowledgeBaseResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateKnowledgeBaseResponse'+            Prelude.<$> (x Data..?> "knowledgeBase")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateKnowledgeBase where+  hashWithSalt _salt CreateKnowledgeBase' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` renderingConfiguration+      `Prelude.hashWithSalt` serverSideEncryptionConfiguration+      `Prelude.hashWithSalt` sourceConfiguration+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` knowledgeBaseType+      `Prelude.hashWithSalt` name++instance Prelude.NFData CreateKnowledgeBase where+  rnf CreateKnowledgeBase' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf renderingConfiguration+      `Prelude.seq` Prelude.rnf serverSideEncryptionConfiguration+      `Prelude.seq` Prelude.rnf sourceConfiguration+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf knowledgeBaseType+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateKnowledgeBase where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateKnowledgeBase where+  toJSON CreateKnowledgeBase' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            ("description" Data..=) Prelude.<$> description,+            ("renderingConfiguration" Data..=)+              Prelude.<$> renderingConfiguration,+            ("serverSideEncryptionConfiguration" Data..=)+              Prelude.<$> serverSideEncryptionConfiguration,+            ("sourceConfiguration" Data..=)+              Prelude.<$> sourceConfiguration,+            ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("knowledgeBaseType" Data..= knowledgeBaseType),+            Prelude.Just ("name" Data..= name)+          ]+      )++instance Data.ToPath CreateKnowledgeBase where+  toPath = Prelude.const "/knowledgeBases"++instance Data.ToQuery CreateKnowledgeBase where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateKnowledgeBaseResponse' smart constructor.+data CreateKnowledgeBaseResponse = CreateKnowledgeBaseResponse'+  { -- | The knowledge base.+    knowledgeBase :: Prelude.Maybe KnowledgeBaseData,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateKnowledgeBaseResponse' 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:+--+-- 'knowledgeBase', 'createKnowledgeBaseResponse_knowledgeBase' - The knowledge base.+--+-- 'httpStatus', 'createKnowledgeBaseResponse_httpStatus' - The response's http status code.+newCreateKnowledgeBaseResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateKnowledgeBaseResponse+newCreateKnowledgeBaseResponse pHttpStatus_ =+  CreateKnowledgeBaseResponse'+    { knowledgeBase =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The knowledge base.+createKnowledgeBaseResponse_knowledgeBase :: Lens.Lens' CreateKnowledgeBaseResponse (Prelude.Maybe KnowledgeBaseData)+createKnowledgeBaseResponse_knowledgeBase = Lens.lens (\CreateKnowledgeBaseResponse' {knowledgeBase} -> knowledgeBase) (\s@CreateKnowledgeBaseResponse' {} a -> s {knowledgeBase = a} :: CreateKnowledgeBaseResponse)++-- | The response's http status code.+createKnowledgeBaseResponse_httpStatus :: Lens.Lens' CreateKnowledgeBaseResponse Prelude.Int+createKnowledgeBaseResponse_httpStatus = Lens.lens (\CreateKnowledgeBaseResponse' {httpStatus} -> httpStatus) (\s@CreateKnowledgeBaseResponse' {} a -> s {httpStatus = a} :: CreateKnowledgeBaseResponse)++instance Prelude.NFData CreateKnowledgeBaseResponse where+  rnf CreateKnowledgeBaseResponse' {..} =+    Prelude.rnf knowledgeBase+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/CreateSession.hs view
@@ -0,0 +1,231 @@+{-# 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.Wisdom.CreateSession+-- 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 session. A session is a contextual container used for+-- generating recommendations. Amazon Connect creates a new Wisdom session+-- for each contact on which Wisdom is enabled.+module Amazonka.Wisdom.CreateSession+  ( -- * Creating a Request+    CreateSession (..),+    newCreateSession,++    -- * Request Lenses+    createSession_clientToken,+    createSession_description,+    createSession_tags,+    createSession_assistantId,+    createSession_name,++    -- * Destructuring the Response+    CreateSessionResponse (..),+    newCreateSessionResponse,++    -- * Response Lenses+    createSessionResponse_session,+    createSessionResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newCreateSession' smart constructor.+data CreateSession = CreateSession'+  { -- | A unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The description.+    description :: Prelude.Maybe Prelude.Text,+    -- | The tags used to organize, track, or control access for this resource.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    assistantId :: Prelude.Text,+    -- | The name of the session.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSession' 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', 'createSession_clientToken' - A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+--+-- 'description', 'createSession_description' - The description.+--+-- 'tags', 'createSession_tags' - The tags used to organize, track, or control access for this resource.+--+-- 'assistantId', 'createSession_assistantId' - The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+--+-- 'name', 'createSession_name' - The name of the session.+newCreateSession ::+  -- | 'assistantId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  CreateSession+newCreateSession pAssistantId_ pName_ =+  CreateSession'+    { clientToken = Prelude.Nothing,+      description = Prelude.Nothing,+      tags = Prelude.Nothing,+      assistantId = pAssistantId_,+      name = pName_+    }++-- | A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createSession_clientToken :: Lens.Lens' CreateSession (Prelude.Maybe Prelude.Text)+createSession_clientToken = Lens.lens (\CreateSession' {clientToken} -> clientToken) (\s@CreateSession' {} a -> s {clientToken = a} :: CreateSession)++-- | The description.+createSession_description :: Lens.Lens' CreateSession (Prelude.Maybe Prelude.Text)+createSession_description = Lens.lens (\CreateSession' {description} -> description) (\s@CreateSession' {} a -> s {description = a} :: CreateSession)++-- | The tags used to organize, track, or control access for this resource.+createSession_tags :: Lens.Lens' CreateSession (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createSession_tags = Lens.lens (\CreateSession' {tags} -> tags) (\s@CreateSession' {} a -> s {tags = a} :: CreateSession) Prelude.. Lens.mapping Lens.coerced++-- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+createSession_assistantId :: Lens.Lens' CreateSession Prelude.Text+createSession_assistantId = Lens.lens (\CreateSession' {assistantId} -> assistantId) (\s@CreateSession' {} a -> s {assistantId = a} :: CreateSession)++-- | The name of the session.+createSession_name :: Lens.Lens' CreateSession Prelude.Text+createSession_name = Lens.lens (\CreateSession' {name} -> name) (\s@CreateSession' {} a -> s {name = a} :: CreateSession)++instance Core.AWSRequest CreateSession where+  type+    AWSResponse CreateSession =+      CreateSessionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateSessionResponse'+            Prelude.<$> (x Data..?> "session")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateSession where+  hashWithSalt _salt CreateSession' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` assistantId+      `Prelude.hashWithSalt` name++instance Prelude.NFData CreateSession where+  rnf CreateSession' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf assistantId+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateSession where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateSession where+  toJSON CreateSession' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            ("description" Data..=) Prelude.<$> description,+            ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("name" Data..= name)+          ]+      )++instance Data.ToPath CreateSession where+  toPath CreateSession' {..} =+    Prelude.mconcat+      ["/assistants/", Data.toBS assistantId, "/sessions"]++instance Data.ToQuery CreateSession where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSessionResponse' smart constructor.+data CreateSessionResponse = CreateSessionResponse'+  { -- | The session.+    session :: Prelude.Maybe SessionData,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSessionResponse' 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:+--+-- 'session', 'createSessionResponse_session' - The session.+--+-- 'httpStatus', 'createSessionResponse_httpStatus' - The response's http status code.+newCreateSessionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateSessionResponse+newCreateSessionResponse pHttpStatus_ =+  CreateSessionResponse'+    { session = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The session.+createSessionResponse_session :: Lens.Lens' CreateSessionResponse (Prelude.Maybe SessionData)+createSessionResponse_session = Lens.lens (\CreateSessionResponse' {session} -> session) (\s@CreateSessionResponse' {} a -> s {session = a} :: CreateSessionResponse)++-- | The response's http status code.+createSessionResponse_httpStatus :: Lens.Lens' CreateSessionResponse Prelude.Int+createSessionResponse_httpStatus = Lens.lens (\CreateSessionResponse' {httpStatus} -> httpStatus) (\s@CreateSessionResponse' {} a -> s {httpStatus = a} :: CreateSessionResponse)++instance Prelude.NFData CreateSessionResponse where+  rnf CreateSessionResponse' {..} =+    Prelude.rnf session+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/DeleteAssistant.hs view
@@ -0,0 +1,147 @@+{-# 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.Wisdom.DeleteAssistant+-- 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 assistant.+module Amazonka.Wisdom.DeleteAssistant+  ( -- * Creating a Request+    DeleteAssistant (..),+    newDeleteAssistant,++    -- * Request Lenses+    deleteAssistant_assistantId,++    -- * Destructuring the Response+    DeleteAssistantResponse (..),+    newDeleteAssistantResponse,++    -- * Response Lenses+    deleteAssistantResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newDeleteAssistant' smart constructor.+data DeleteAssistant = DeleteAssistant'+  { -- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    assistantId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAssistant' 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:+--+-- 'assistantId', 'deleteAssistant_assistantId' - The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+newDeleteAssistant ::+  -- | 'assistantId'+  Prelude.Text ->+  DeleteAssistant+newDeleteAssistant pAssistantId_ =+  DeleteAssistant' {assistantId = pAssistantId_}++-- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+deleteAssistant_assistantId :: Lens.Lens' DeleteAssistant Prelude.Text+deleteAssistant_assistantId = Lens.lens (\DeleteAssistant' {assistantId} -> assistantId) (\s@DeleteAssistant' {} a -> s {assistantId = a} :: DeleteAssistant)++instance Core.AWSRequest DeleteAssistant where+  type+    AWSResponse DeleteAssistant =+      DeleteAssistantResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteAssistantResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteAssistant where+  hashWithSalt _salt DeleteAssistant' {..} =+    _salt `Prelude.hashWithSalt` assistantId++instance Prelude.NFData DeleteAssistant where+  rnf DeleteAssistant' {..} = Prelude.rnf assistantId++instance Data.ToHeaders DeleteAssistant where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteAssistant where+  toPath DeleteAssistant' {..} =+    Prelude.mconcat+      ["/assistants/", Data.toBS assistantId]++instance Data.ToQuery DeleteAssistant where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAssistantResponse' smart constructor.+data DeleteAssistantResponse = DeleteAssistantResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAssistantResponse' 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', 'deleteAssistantResponse_httpStatus' - The response's http status code.+newDeleteAssistantResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteAssistantResponse+newDeleteAssistantResponse pHttpStatus_ =+  DeleteAssistantResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteAssistantResponse_httpStatus :: Lens.Lens' DeleteAssistantResponse Prelude.Int+deleteAssistantResponse_httpStatus = Lens.lens (\DeleteAssistantResponse' {httpStatus} -> httpStatus) (\s@DeleteAssistantResponse' {} a -> s {httpStatus = a} :: DeleteAssistantResponse)++instance Prelude.NFData DeleteAssistantResponse where+  rnf DeleteAssistantResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/DeleteAssistantAssociation.hs view
@@ -0,0 +1,181 @@+{-# 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.Wisdom.DeleteAssistantAssociation+-- 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 assistant association.+module Amazonka.Wisdom.DeleteAssistantAssociation+  ( -- * Creating a Request+    DeleteAssistantAssociation (..),+    newDeleteAssistantAssociation,++    -- * Request Lenses+    deleteAssistantAssociation_assistantAssociationId,+    deleteAssistantAssociation_assistantId,++    -- * Destructuring the Response+    DeleteAssistantAssociationResponse (..),+    newDeleteAssistantAssociationResponse,++    -- * Response Lenses+    deleteAssistantAssociationResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newDeleteAssistantAssociation' smart constructor.+data DeleteAssistantAssociation = DeleteAssistantAssociation'+  { -- | The identifier of the assistant association. Can be either the ID or the+    -- ARN. URLs cannot contain the ARN.+    assistantAssociationId :: Prelude.Text,+    -- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    assistantId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAssistantAssociation' 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:+--+-- 'assistantAssociationId', 'deleteAssistantAssociation_assistantAssociationId' - The identifier of the assistant association. Can be either the ID or the+-- ARN. URLs cannot contain the ARN.+--+-- 'assistantId', 'deleteAssistantAssociation_assistantId' - The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+newDeleteAssistantAssociation ::+  -- | 'assistantAssociationId'+  Prelude.Text ->+  -- | 'assistantId'+  Prelude.Text ->+  DeleteAssistantAssociation+newDeleteAssistantAssociation+  pAssistantAssociationId_+  pAssistantId_ =+    DeleteAssistantAssociation'+      { assistantAssociationId =+          pAssistantAssociationId_,+        assistantId = pAssistantId_+      }++-- | The identifier of the assistant association. Can be either the ID or the+-- ARN. URLs cannot contain the ARN.+deleteAssistantAssociation_assistantAssociationId :: Lens.Lens' DeleteAssistantAssociation Prelude.Text+deleteAssistantAssociation_assistantAssociationId = Lens.lens (\DeleteAssistantAssociation' {assistantAssociationId} -> assistantAssociationId) (\s@DeleteAssistantAssociation' {} a -> s {assistantAssociationId = a} :: DeleteAssistantAssociation)++-- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+deleteAssistantAssociation_assistantId :: Lens.Lens' DeleteAssistantAssociation Prelude.Text+deleteAssistantAssociation_assistantId = Lens.lens (\DeleteAssistantAssociation' {assistantId} -> assistantId) (\s@DeleteAssistantAssociation' {} a -> s {assistantId = a} :: DeleteAssistantAssociation)++instance Core.AWSRequest DeleteAssistantAssociation where+  type+    AWSResponse DeleteAssistantAssociation =+      DeleteAssistantAssociationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteAssistantAssociationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteAssistantAssociation where+  hashWithSalt _salt DeleteAssistantAssociation' {..} =+    _salt+      `Prelude.hashWithSalt` assistantAssociationId+      `Prelude.hashWithSalt` assistantId++instance Prelude.NFData DeleteAssistantAssociation where+  rnf DeleteAssistantAssociation' {..} =+    Prelude.rnf assistantAssociationId+      `Prelude.seq` Prelude.rnf assistantId++instance Data.ToHeaders DeleteAssistantAssociation where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteAssistantAssociation where+  toPath DeleteAssistantAssociation' {..} =+    Prelude.mconcat+      [ "/assistants/",+        Data.toBS assistantId,+        "/associations/",+        Data.toBS assistantAssociationId+      ]++instance Data.ToQuery DeleteAssistantAssociation where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAssistantAssociationResponse' smart constructor.+data DeleteAssistantAssociationResponse = DeleteAssistantAssociationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAssistantAssociationResponse' 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', 'deleteAssistantAssociationResponse_httpStatus' - The response's http status code.+newDeleteAssistantAssociationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteAssistantAssociationResponse+newDeleteAssistantAssociationResponse pHttpStatus_ =+  DeleteAssistantAssociationResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteAssistantAssociationResponse_httpStatus :: Lens.Lens' DeleteAssistantAssociationResponse Prelude.Int+deleteAssistantAssociationResponse_httpStatus = Lens.lens (\DeleteAssistantAssociationResponse' {httpStatus} -> httpStatus) (\s@DeleteAssistantAssociationResponse' {} a -> s {httpStatus = a} :: DeleteAssistantAssociationResponse)++instance+  Prelude.NFData+    DeleteAssistantAssociationResponse+  where+  rnf DeleteAssistantAssociationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/DeleteContent.hs view
@@ -0,0 +1,172 @@+{-# 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.Wisdom.DeleteContent+-- 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 the content.+module Amazonka.Wisdom.DeleteContent+  ( -- * Creating a Request+    DeleteContent (..),+    newDeleteContent,++    -- * Request Lenses+    deleteContent_contentId,+    deleteContent_knowledgeBaseId,++    -- * Destructuring the Response+    DeleteContentResponse (..),+    newDeleteContentResponse,++    -- * Response Lenses+    deleteContentResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newDeleteContent' smart constructor.+data DeleteContent = DeleteContent'+  { -- | The identifier of the content. Can be either the ID or the ARN. URLs+    -- cannot contain the ARN.+    contentId :: Prelude.Text,+    -- | The identifier of the knowledge base. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    knowledgeBaseId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteContent' 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:+--+-- 'contentId', 'deleteContent_contentId' - The identifier of the content. Can be either the ID or the ARN. URLs+-- cannot contain the ARN.+--+-- 'knowledgeBaseId', 'deleteContent_knowledgeBaseId' - The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+newDeleteContent ::+  -- | 'contentId'+  Prelude.Text ->+  -- | 'knowledgeBaseId'+  Prelude.Text ->+  DeleteContent+newDeleteContent pContentId_ pKnowledgeBaseId_ =+  DeleteContent'+    { contentId = pContentId_,+      knowledgeBaseId = pKnowledgeBaseId_+    }++-- | The identifier of the content. Can be either the ID or the ARN. URLs+-- cannot contain the ARN.+deleteContent_contentId :: Lens.Lens' DeleteContent Prelude.Text+deleteContent_contentId = Lens.lens (\DeleteContent' {contentId} -> contentId) (\s@DeleteContent' {} a -> s {contentId = a} :: DeleteContent)++-- | The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+deleteContent_knowledgeBaseId :: Lens.Lens' DeleteContent Prelude.Text+deleteContent_knowledgeBaseId = Lens.lens (\DeleteContent' {knowledgeBaseId} -> knowledgeBaseId) (\s@DeleteContent' {} a -> s {knowledgeBaseId = a} :: DeleteContent)++instance Core.AWSRequest DeleteContent where+  type+    AWSResponse DeleteContent =+      DeleteContentResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteContentResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteContent where+  hashWithSalt _salt DeleteContent' {..} =+    _salt+      `Prelude.hashWithSalt` contentId+      `Prelude.hashWithSalt` knowledgeBaseId++instance Prelude.NFData DeleteContent where+  rnf DeleteContent' {..} =+    Prelude.rnf contentId+      `Prelude.seq` Prelude.rnf knowledgeBaseId++instance Data.ToHeaders DeleteContent where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteContent where+  toPath DeleteContent' {..} =+    Prelude.mconcat+      [ "/knowledgeBases/",+        Data.toBS knowledgeBaseId,+        "/contents/",+        Data.toBS contentId+      ]++instance Data.ToQuery DeleteContent where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteContentResponse' smart constructor.+data DeleteContentResponse = DeleteContentResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteContentResponse' 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', 'deleteContentResponse_httpStatus' - The response's http status code.+newDeleteContentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteContentResponse+newDeleteContentResponse pHttpStatus_ =+  DeleteContentResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteContentResponse_httpStatus :: Lens.Lens' DeleteContentResponse Prelude.Int+deleteContentResponse_httpStatus = Lens.lens (\DeleteContentResponse' {httpStatus} -> httpStatus) (\s@DeleteContentResponse' {} a -> s {httpStatus = a} :: DeleteContentResponse)++instance Prelude.NFData DeleteContentResponse where+  rnf DeleteContentResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/DeleteKnowledgeBase.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Wisdom.DeleteKnowledgeBase+-- 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 the knowledge base.+--+-- When you use this API to delete an external knowledge base such as+-- Salesforce or ServiceNow, you must also delete the+-- <https://docs.aws.amazon.com/appintegrations/latest/APIReference/Welcome.html Amazon AppIntegrations>+-- DataIntegration. This is because you can\'t reuse the DataIntegration+-- after it\'s been associated with an external knowledge base. However,+-- you can delete and recreate it. See+-- <https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_DeleteDataIntegration.html DeleteDataIntegration>+-- and+-- <https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateDataIntegration.html CreateDataIntegration>+-- in the /Amazon AppIntegrations API Reference/.+module Amazonka.Wisdom.DeleteKnowledgeBase+  ( -- * Creating a Request+    DeleteKnowledgeBase (..),+    newDeleteKnowledgeBase,++    -- * Request Lenses+    deleteKnowledgeBase_knowledgeBaseId,++    -- * Destructuring the Response+    DeleteKnowledgeBaseResponse (..),+    newDeleteKnowledgeBaseResponse,++    -- * Response Lenses+    deleteKnowledgeBaseResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newDeleteKnowledgeBase' smart constructor.+data DeleteKnowledgeBase = DeleteKnowledgeBase'+  { -- | The knowledge base to delete content from. Can be either the ID or the+    -- ARN. URLs cannot contain the ARN.+    knowledgeBaseId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteKnowledgeBase' 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:+--+-- 'knowledgeBaseId', 'deleteKnowledgeBase_knowledgeBaseId' - The knowledge base to delete content from. Can be either the ID or the+-- ARN. URLs cannot contain the ARN.+newDeleteKnowledgeBase ::+  -- | 'knowledgeBaseId'+  Prelude.Text ->+  DeleteKnowledgeBase+newDeleteKnowledgeBase pKnowledgeBaseId_ =+  DeleteKnowledgeBase'+    { knowledgeBaseId =+        pKnowledgeBaseId_+    }++-- | The knowledge base to delete content from. Can be either the ID or the+-- ARN. URLs cannot contain the ARN.+deleteKnowledgeBase_knowledgeBaseId :: Lens.Lens' DeleteKnowledgeBase Prelude.Text+deleteKnowledgeBase_knowledgeBaseId = Lens.lens (\DeleteKnowledgeBase' {knowledgeBaseId} -> knowledgeBaseId) (\s@DeleteKnowledgeBase' {} a -> s {knowledgeBaseId = a} :: DeleteKnowledgeBase)++instance Core.AWSRequest DeleteKnowledgeBase where+  type+    AWSResponse DeleteKnowledgeBase =+      DeleteKnowledgeBaseResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteKnowledgeBaseResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteKnowledgeBase where+  hashWithSalt _salt DeleteKnowledgeBase' {..} =+    _salt `Prelude.hashWithSalt` knowledgeBaseId++instance Prelude.NFData DeleteKnowledgeBase where+  rnf DeleteKnowledgeBase' {..} =+    Prelude.rnf knowledgeBaseId++instance Data.ToHeaders DeleteKnowledgeBase where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteKnowledgeBase where+  toPath DeleteKnowledgeBase' {..} =+    Prelude.mconcat+      ["/knowledgeBases/", Data.toBS knowledgeBaseId]++instance Data.ToQuery DeleteKnowledgeBase where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteKnowledgeBaseResponse' smart constructor.+data DeleteKnowledgeBaseResponse = DeleteKnowledgeBaseResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteKnowledgeBaseResponse' 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', 'deleteKnowledgeBaseResponse_httpStatus' - The response's http status code.+newDeleteKnowledgeBaseResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteKnowledgeBaseResponse+newDeleteKnowledgeBaseResponse pHttpStatus_ =+  DeleteKnowledgeBaseResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteKnowledgeBaseResponse_httpStatus :: Lens.Lens' DeleteKnowledgeBaseResponse Prelude.Int+deleteKnowledgeBaseResponse_httpStatus = Lens.lens (\DeleteKnowledgeBaseResponse' {httpStatus} -> httpStatus) (\s@DeleteKnowledgeBaseResponse' {} a -> s {httpStatus = a} :: DeleteKnowledgeBaseResponse)++instance Prelude.NFData DeleteKnowledgeBaseResponse where+  rnf DeleteKnowledgeBaseResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/GetAssistant.hs view
@@ -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.Wisdom.GetAssistant+-- 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 information about an assistant.+module Amazonka.Wisdom.GetAssistant+  ( -- * Creating a Request+    GetAssistant (..),+    newGetAssistant,++    -- * Request Lenses+    getAssistant_assistantId,++    -- * Destructuring the Response+    GetAssistantResponse (..),+    newGetAssistantResponse,++    -- * Response Lenses+    getAssistantResponse_assistant,+    getAssistantResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newGetAssistant' smart constructor.+data GetAssistant = GetAssistant'+  { -- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    assistantId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssistant' 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:+--+-- 'assistantId', 'getAssistant_assistantId' - The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+newGetAssistant ::+  -- | 'assistantId'+  Prelude.Text ->+  GetAssistant+newGetAssistant pAssistantId_ =+  GetAssistant' {assistantId = pAssistantId_}++-- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+getAssistant_assistantId :: Lens.Lens' GetAssistant Prelude.Text+getAssistant_assistantId = Lens.lens (\GetAssistant' {assistantId} -> assistantId) (\s@GetAssistant' {} a -> s {assistantId = a} :: GetAssistant)++instance Core.AWSRequest GetAssistant where+  type AWSResponse GetAssistant = GetAssistantResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetAssistantResponse'+            Prelude.<$> (x Data..?> "assistant")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetAssistant where+  hashWithSalt _salt GetAssistant' {..} =+    _salt `Prelude.hashWithSalt` assistantId++instance Prelude.NFData GetAssistant where+  rnf GetAssistant' {..} = Prelude.rnf assistantId++instance Data.ToHeaders GetAssistant where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetAssistant where+  toPath GetAssistant' {..} =+    Prelude.mconcat+      ["/assistants/", Data.toBS assistantId]++instance Data.ToQuery GetAssistant where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAssistantResponse' smart constructor.+data GetAssistantResponse = GetAssistantResponse'+  { -- | Information about the assistant.+    assistant :: Prelude.Maybe AssistantData,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssistantResponse' 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:+--+-- 'assistant', 'getAssistantResponse_assistant' - Information about the assistant.+--+-- 'httpStatus', 'getAssistantResponse_httpStatus' - The response's http status code.+newGetAssistantResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetAssistantResponse+newGetAssistantResponse pHttpStatus_ =+  GetAssistantResponse'+    { assistant = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the assistant.+getAssistantResponse_assistant :: Lens.Lens' GetAssistantResponse (Prelude.Maybe AssistantData)+getAssistantResponse_assistant = Lens.lens (\GetAssistantResponse' {assistant} -> assistant) (\s@GetAssistantResponse' {} a -> s {assistant = a} :: GetAssistantResponse)++-- | The response's http status code.+getAssistantResponse_httpStatus :: Lens.Lens' GetAssistantResponse Prelude.Int+getAssistantResponse_httpStatus = Lens.lens (\GetAssistantResponse' {httpStatus} -> httpStatus) (\s@GetAssistantResponse' {} a -> s {httpStatus = a} :: GetAssistantResponse)++instance Prelude.NFData GetAssistantResponse where+  rnf GetAssistantResponse' {..} =+    Prelude.rnf assistant+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/GetAssistantAssociation.hs view
@@ -0,0 +1,193 @@+{-# 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.Wisdom.GetAssistantAssociation+-- 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 information about an assistant association.+module Amazonka.Wisdom.GetAssistantAssociation+  ( -- * Creating a Request+    GetAssistantAssociation (..),+    newGetAssistantAssociation,++    -- * Request Lenses+    getAssistantAssociation_assistantAssociationId,+    getAssistantAssociation_assistantId,++    -- * Destructuring the Response+    GetAssistantAssociationResponse (..),+    newGetAssistantAssociationResponse,++    -- * Response Lenses+    getAssistantAssociationResponse_assistantAssociation,+    getAssistantAssociationResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newGetAssistantAssociation' smart constructor.+data GetAssistantAssociation = GetAssistantAssociation'+  { -- | The identifier of the assistant association. Can be either the ID or the+    -- ARN. URLs cannot contain the ARN.+    assistantAssociationId :: Prelude.Text,+    -- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    assistantId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssistantAssociation' 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:+--+-- 'assistantAssociationId', 'getAssistantAssociation_assistantAssociationId' - The identifier of the assistant association. Can be either the ID or the+-- ARN. URLs cannot contain the ARN.+--+-- 'assistantId', 'getAssistantAssociation_assistantId' - The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+newGetAssistantAssociation ::+  -- | 'assistantAssociationId'+  Prelude.Text ->+  -- | 'assistantId'+  Prelude.Text ->+  GetAssistantAssociation+newGetAssistantAssociation+  pAssistantAssociationId_+  pAssistantId_ =+    GetAssistantAssociation'+      { assistantAssociationId =+          pAssistantAssociationId_,+        assistantId = pAssistantId_+      }++-- | The identifier of the assistant association. Can be either the ID or the+-- ARN. URLs cannot contain the ARN.+getAssistantAssociation_assistantAssociationId :: Lens.Lens' GetAssistantAssociation Prelude.Text+getAssistantAssociation_assistantAssociationId = Lens.lens (\GetAssistantAssociation' {assistantAssociationId} -> assistantAssociationId) (\s@GetAssistantAssociation' {} a -> s {assistantAssociationId = a} :: GetAssistantAssociation)++-- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+getAssistantAssociation_assistantId :: Lens.Lens' GetAssistantAssociation Prelude.Text+getAssistantAssociation_assistantId = Lens.lens (\GetAssistantAssociation' {assistantId} -> assistantId) (\s@GetAssistantAssociation' {} a -> s {assistantId = a} :: GetAssistantAssociation)++instance Core.AWSRequest GetAssistantAssociation where+  type+    AWSResponse GetAssistantAssociation =+      GetAssistantAssociationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetAssistantAssociationResponse'+            Prelude.<$> (x Data..?> "assistantAssociation")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetAssistantAssociation where+  hashWithSalt _salt GetAssistantAssociation' {..} =+    _salt+      `Prelude.hashWithSalt` assistantAssociationId+      `Prelude.hashWithSalt` assistantId++instance Prelude.NFData GetAssistantAssociation where+  rnf GetAssistantAssociation' {..} =+    Prelude.rnf assistantAssociationId+      `Prelude.seq` Prelude.rnf assistantId++instance Data.ToHeaders GetAssistantAssociation where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetAssistantAssociation where+  toPath GetAssistantAssociation' {..} =+    Prelude.mconcat+      [ "/assistants/",+        Data.toBS assistantId,+        "/associations/",+        Data.toBS assistantAssociationId+      ]++instance Data.ToQuery GetAssistantAssociation where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAssistantAssociationResponse' smart constructor.+data GetAssistantAssociationResponse = GetAssistantAssociationResponse'+  { -- | The assistant association.+    assistantAssociation :: Prelude.Maybe AssistantAssociationData,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssistantAssociationResponse' 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:+--+-- 'assistantAssociation', 'getAssistantAssociationResponse_assistantAssociation' - The assistant association.+--+-- 'httpStatus', 'getAssistantAssociationResponse_httpStatus' - The response's http status code.+newGetAssistantAssociationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetAssistantAssociationResponse+newGetAssistantAssociationResponse pHttpStatus_ =+  GetAssistantAssociationResponse'+    { assistantAssociation =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The assistant association.+getAssistantAssociationResponse_assistantAssociation :: Lens.Lens' GetAssistantAssociationResponse (Prelude.Maybe AssistantAssociationData)+getAssistantAssociationResponse_assistantAssociation = Lens.lens (\GetAssistantAssociationResponse' {assistantAssociation} -> assistantAssociation) (\s@GetAssistantAssociationResponse' {} a -> s {assistantAssociation = a} :: GetAssistantAssociationResponse)++-- | The response's http status code.+getAssistantAssociationResponse_httpStatus :: Lens.Lens' GetAssistantAssociationResponse Prelude.Int+getAssistantAssociationResponse_httpStatus = Lens.lens (\GetAssistantAssociationResponse' {httpStatus} -> httpStatus) (\s@GetAssistantAssociationResponse' {} a -> s {httpStatus = a} :: GetAssistantAssociationResponse)++instance+  Prelude.NFData+    GetAssistantAssociationResponse+  where+  rnf GetAssistantAssociationResponse' {..} =+    Prelude.rnf assistantAssociation+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/GetContent.hs view
@@ -0,0 +1,184 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Wisdom.GetContent+-- 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 content, including a pre-signed URL to download the content.+module Amazonka.Wisdom.GetContent+  ( -- * Creating a Request+    GetContent (..),+    newGetContent,++    -- * Request Lenses+    getContent_contentId,+    getContent_knowledgeBaseId,++    -- * Destructuring the Response+    GetContentResponse (..),+    newGetContentResponse,++    -- * Response Lenses+    getContentResponse_content,+    getContentResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newGetContent' smart constructor.+data GetContent = GetContent'+  { -- | The identifier of the content. Can be either the ID or the ARN. URLs+    -- cannot contain the ARN.+    contentId :: Prelude.Text,+    -- | The identifier of the knowledge base. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    knowledgeBaseId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetContent' 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:+--+-- 'contentId', 'getContent_contentId' - The identifier of the content. Can be either the ID or the ARN. URLs+-- cannot contain the ARN.+--+-- 'knowledgeBaseId', 'getContent_knowledgeBaseId' - The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+newGetContent ::+  -- | 'contentId'+  Prelude.Text ->+  -- | 'knowledgeBaseId'+  Prelude.Text ->+  GetContent+newGetContent pContentId_ pKnowledgeBaseId_ =+  GetContent'+    { contentId = pContentId_,+      knowledgeBaseId = pKnowledgeBaseId_+    }++-- | The identifier of the content. Can be either the ID or the ARN. URLs+-- cannot contain the ARN.+getContent_contentId :: Lens.Lens' GetContent Prelude.Text+getContent_contentId = Lens.lens (\GetContent' {contentId} -> contentId) (\s@GetContent' {} a -> s {contentId = a} :: GetContent)++-- | The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+getContent_knowledgeBaseId :: Lens.Lens' GetContent Prelude.Text+getContent_knowledgeBaseId = Lens.lens (\GetContent' {knowledgeBaseId} -> knowledgeBaseId) (\s@GetContent' {} a -> s {knowledgeBaseId = a} :: GetContent)++instance Core.AWSRequest GetContent where+  type AWSResponse GetContent = GetContentResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetContentResponse'+            Prelude.<$> (x Data..?> "content")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetContent where+  hashWithSalt _salt GetContent' {..} =+    _salt+      `Prelude.hashWithSalt` contentId+      `Prelude.hashWithSalt` knowledgeBaseId++instance Prelude.NFData GetContent where+  rnf GetContent' {..} =+    Prelude.rnf contentId+      `Prelude.seq` Prelude.rnf knowledgeBaseId++instance Data.ToHeaders GetContent where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetContent where+  toPath GetContent' {..} =+    Prelude.mconcat+      [ "/knowledgeBases/",+        Data.toBS knowledgeBaseId,+        "/contents/",+        Data.toBS contentId+      ]++instance Data.ToQuery GetContent where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetContentResponse' smart constructor.+data GetContentResponse = GetContentResponse'+  { -- | The content.+    content :: Prelude.Maybe ContentData,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetContentResponse' 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:+--+-- 'content', 'getContentResponse_content' - The content.+--+-- 'httpStatus', 'getContentResponse_httpStatus' - The response's http status code.+newGetContentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetContentResponse+newGetContentResponse pHttpStatus_ =+  GetContentResponse'+    { content = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The content.+getContentResponse_content :: Lens.Lens' GetContentResponse (Prelude.Maybe ContentData)+getContentResponse_content = Lens.lens (\GetContentResponse' {content} -> content) (\s@GetContentResponse' {} a -> s {content = a} :: GetContentResponse)++-- | The response's http status code.+getContentResponse_httpStatus :: Lens.Lens' GetContentResponse Prelude.Int+getContentResponse_httpStatus = Lens.lens (\GetContentResponse' {httpStatus} -> httpStatus) (\s@GetContentResponse' {} a -> s {httpStatus = a} :: GetContentResponse)++instance Prelude.NFData GetContentResponse where+  rnf GetContentResponse' {..} =+    Prelude.rnf content+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/GetContentSummary.hs view
@@ -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.Wisdom.GetContentSummary+-- 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 summary information about the content.+module Amazonka.Wisdom.GetContentSummary+  ( -- * Creating a Request+    GetContentSummary (..),+    newGetContentSummary,++    -- * Request Lenses+    getContentSummary_contentId,+    getContentSummary_knowledgeBaseId,++    -- * Destructuring the Response+    GetContentSummaryResponse (..),+    newGetContentSummaryResponse,++    -- * Response Lenses+    getContentSummaryResponse_contentSummary,+    getContentSummaryResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newGetContentSummary' smart constructor.+data GetContentSummary = GetContentSummary'+  { -- | The identifier of the content. Can be either the ID or the ARN. URLs+    -- cannot contain the ARN.+    contentId :: Prelude.Text,+    -- | The identifier of the knowledge base. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    knowledgeBaseId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetContentSummary' 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:+--+-- 'contentId', 'getContentSummary_contentId' - The identifier of the content. Can be either the ID or the ARN. URLs+-- cannot contain the ARN.+--+-- 'knowledgeBaseId', 'getContentSummary_knowledgeBaseId' - The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+newGetContentSummary ::+  -- | 'contentId'+  Prelude.Text ->+  -- | 'knowledgeBaseId'+  Prelude.Text ->+  GetContentSummary+newGetContentSummary pContentId_ pKnowledgeBaseId_ =+  GetContentSummary'+    { contentId = pContentId_,+      knowledgeBaseId = pKnowledgeBaseId_+    }++-- | The identifier of the content. Can be either the ID or the ARN. URLs+-- cannot contain the ARN.+getContentSummary_contentId :: Lens.Lens' GetContentSummary Prelude.Text+getContentSummary_contentId = Lens.lens (\GetContentSummary' {contentId} -> contentId) (\s@GetContentSummary' {} a -> s {contentId = a} :: GetContentSummary)++-- | The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+getContentSummary_knowledgeBaseId :: Lens.Lens' GetContentSummary Prelude.Text+getContentSummary_knowledgeBaseId = Lens.lens (\GetContentSummary' {knowledgeBaseId} -> knowledgeBaseId) (\s@GetContentSummary' {} a -> s {knowledgeBaseId = a} :: GetContentSummary)++instance Core.AWSRequest GetContentSummary where+  type+    AWSResponse GetContentSummary =+      GetContentSummaryResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetContentSummaryResponse'+            Prelude.<$> (x Data..?> "contentSummary")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetContentSummary where+  hashWithSalt _salt GetContentSummary' {..} =+    _salt+      `Prelude.hashWithSalt` contentId+      `Prelude.hashWithSalt` knowledgeBaseId++instance Prelude.NFData GetContentSummary where+  rnf GetContentSummary' {..} =+    Prelude.rnf contentId+      `Prelude.seq` Prelude.rnf knowledgeBaseId++instance Data.ToHeaders GetContentSummary where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetContentSummary where+  toPath GetContentSummary' {..} =+    Prelude.mconcat+      [ "/knowledgeBases/",+        Data.toBS knowledgeBaseId,+        "/contents/",+        Data.toBS contentId,+        "/summary"+      ]++instance Data.ToQuery GetContentSummary where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetContentSummaryResponse' smart constructor.+data GetContentSummaryResponse = GetContentSummaryResponse'+  { -- | The content summary.+    contentSummary :: Prelude.Maybe ContentSummary,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetContentSummaryResponse' 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:+--+-- 'contentSummary', 'getContentSummaryResponse_contentSummary' - The content summary.+--+-- 'httpStatus', 'getContentSummaryResponse_httpStatus' - The response's http status code.+newGetContentSummaryResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetContentSummaryResponse+newGetContentSummaryResponse pHttpStatus_ =+  GetContentSummaryResponse'+    { contentSummary =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The content summary.+getContentSummaryResponse_contentSummary :: Lens.Lens' GetContentSummaryResponse (Prelude.Maybe ContentSummary)+getContentSummaryResponse_contentSummary = Lens.lens (\GetContentSummaryResponse' {contentSummary} -> contentSummary) (\s@GetContentSummaryResponse' {} a -> s {contentSummary = a} :: GetContentSummaryResponse)++-- | The response's http status code.+getContentSummaryResponse_httpStatus :: Lens.Lens' GetContentSummaryResponse Prelude.Int+getContentSummaryResponse_httpStatus = Lens.lens (\GetContentSummaryResponse' {httpStatus} -> httpStatus) (\s@GetContentSummaryResponse' {} a -> s {httpStatus = a} :: GetContentSummaryResponse)++instance Prelude.NFData GetContentSummaryResponse where+  rnf GetContentSummaryResponse' {..} =+    Prelude.rnf contentSummary+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/GetKnowledgeBase.hs view
@@ -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.Wisdom.GetKnowledgeBase+-- 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 information about the knowledge base.+module Amazonka.Wisdom.GetKnowledgeBase+  ( -- * Creating a Request+    GetKnowledgeBase (..),+    newGetKnowledgeBase,++    -- * Request Lenses+    getKnowledgeBase_knowledgeBaseId,++    -- * Destructuring the Response+    GetKnowledgeBaseResponse (..),+    newGetKnowledgeBaseResponse,++    -- * Response Lenses+    getKnowledgeBaseResponse_knowledgeBase,+    getKnowledgeBaseResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newGetKnowledgeBase' smart constructor.+data GetKnowledgeBase = GetKnowledgeBase'+  { -- | The identifier of the knowledge base. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    knowledgeBaseId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetKnowledgeBase' 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:+--+-- 'knowledgeBaseId', 'getKnowledgeBase_knowledgeBaseId' - The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+newGetKnowledgeBase ::+  -- | 'knowledgeBaseId'+  Prelude.Text ->+  GetKnowledgeBase+newGetKnowledgeBase pKnowledgeBaseId_ =+  GetKnowledgeBase'+    { knowledgeBaseId =+        pKnowledgeBaseId_+    }++-- | The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+getKnowledgeBase_knowledgeBaseId :: Lens.Lens' GetKnowledgeBase Prelude.Text+getKnowledgeBase_knowledgeBaseId = Lens.lens (\GetKnowledgeBase' {knowledgeBaseId} -> knowledgeBaseId) (\s@GetKnowledgeBase' {} a -> s {knowledgeBaseId = a} :: GetKnowledgeBase)++instance Core.AWSRequest GetKnowledgeBase where+  type+    AWSResponse GetKnowledgeBase =+      GetKnowledgeBaseResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetKnowledgeBaseResponse'+            Prelude.<$> (x Data..?> "knowledgeBase")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetKnowledgeBase where+  hashWithSalt _salt GetKnowledgeBase' {..} =+    _salt `Prelude.hashWithSalt` knowledgeBaseId++instance Prelude.NFData GetKnowledgeBase where+  rnf GetKnowledgeBase' {..} =+    Prelude.rnf knowledgeBaseId++instance Data.ToHeaders GetKnowledgeBase where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetKnowledgeBase where+  toPath GetKnowledgeBase' {..} =+    Prelude.mconcat+      ["/knowledgeBases/", Data.toBS knowledgeBaseId]++instance Data.ToQuery GetKnowledgeBase where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetKnowledgeBaseResponse' smart constructor.+data GetKnowledgeBaseResponse = GetKnowledgeBaseResponse'+  { -- | The knowledge base.+    knowledgeBase :: Prelude.Maybe KnowledgeBaseData,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetKnowledgeBaseResponse' 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:+--+-- 'knowledgeBase', 'getKnowledgeBaseResponse_knowledgeBase' - The knowledge base.+--+-- 'httpStatus', 'getKnowledgeBaseResponse_httpStatus' - The response's http status code.+newGetKnowledgeBaseResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetKnowledgeBaseResponse+newGetKnowledgeBaseResponse pHttpStatus_ =+  GetKnowledgeBaseResponse'+    { knowledgeBase =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The knowledge base.+getKnowledgeBaseResponse_knowledgeBase :: Lens.Lens' GetKnowledgeBaseResponse (Prelude.Maybe KnowledgeBaseData)+getKnowledgeBaseResponse_knowledgeBase = Lens.lens (\GetKnowledgeBaseResponse' {knowledgeBase} -> knowledgeBase) (\s@GetKnowledgeBaseResponse' {} a -> s {knowledgeBase = a} :: GetKnowledgeBaseResponse)++-- | The response's http status code.+getKnowledgeBaseResponse_httpStatus :: Lens.Lens' GetKnowledgeBaseResponse Prelude.Int+getKnowledgeBaseResponse_httpStatus = Lens.lens (\GetKnowledgeBaseResponse' {httpStatus} -> httpStatus) (\s@GetKnowledgeBaseResponse' {} a -> s {httpStatus = a} :: GetKnowledgeBaseResponse)++instance Prelude.NFData GetKnowledgeBaseResponse where+  rnf GetKnowledgeBaseResponse' {..} =+    Prelude.rnf knowledgeBase+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/GetRecommendations.hs view
@@ -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.Wisdom.GetRecommendations+-- 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 recommendations for the specified session. To avoid retrieving+-- the same recommendations in subsequent calls, use+-- <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_NotifyRecommendationsReceived.html NotifyRecommendationsReceived>.+-- This API supports long-polling behavior with the @waitTimeSeconds@+-- parameter. Short poll is the default behavior and only returns+-- recommendations already available. To perform a manual query against an+-- assistant, use+-- <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_QueryAssistant.html QueryAssistant>.+module Amazonka.Wisdom.GetRecommendations+  ( -- * Creating a Request+    GetRecommendations (..),+    newGetRecommendations,++    -- * Request Lenses+    getRecommendations_maxResults,+    getRecommendations_waitTimeSeconds,+    getRecommendations_assistantId,+    getRecommendations_sessionId,++    -- * Destructuring the Response+    GetRecommendationsResponse (..),+    newGetRecommendationsResponse,++    -- * Response Lenses+    getRecommendationsResponse_triggers,+    getRecommendationsResponse_httpStatus,+    getRecommendationsResponse_recommendations,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newGetRecommendations' smart constructor.+data GetRecommendations = GetRecommendations'+  { -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The duration (in seconds) for which the call waits for a recommendation+    -- to be made available before returning. If a recommendation is available,+    -- the call returns sooner than @WaitTimeSeconds@. If no messages are+    -- available and the wait time expires, the call returns successfully with+    -- an empty list.+    waitTimeSeconds :: Prelude.Maybe Prelude.Natural,+    -- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    assistantId :: Prelude.Text,+    -- | The identifier of the session. Can be either the ID or the ARN. URLs+    -- cannot contain the ARN.+    sessionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRecommendations' 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', 'getRecommendations_maxResults' - The maximum number of results to return per page.+--+-- 'waitTimeSeconds', 'getRecommendations_waitTimeSeconds' - The duration (in seconds) for which the call waits for a recommendation+-- to be made available before returning. If a recommendation is available,+-- the call returns sooner than @WaitTimeSeconds@. If no messages are+-- available and the wait time expires, the call returns successfully with+-- an empty list.+--+-- 'assistantId', 'getRecommendations_assistantId' - The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+--+-- 'sessionId', 'getRecommendations_sessionId' - The identifier of the session. Can be either the ID or the ARN. URLs+-- cannot contain the ARN.+newGetRecommendations ::+  -- | 'assistantId'+  Prelude.Text ->+  -- | 'sessionId'+  Prelude.Text ->+  GetRecommendations+newGetRecommendations pAssistantId_ pSessionId_ =+  GetRecommendations'+    { maxResults = Prelude.Nothing,+      waitTimeSeconds = Prelude.Nothing,+      assistantId = pAssistantId_,+      sessionId = pSessionId_+    }++-- | The maximum number of results to return per page.+getRecommendations_maxResults :: Lens.Lens' GetRecommendations (Prelude.Maybe Prelude.Natural)+getRecommendations_maxResults = Lens.lens (\GetRecommendations' {maxResults} -> maxResults) (\s@GetRecommendations' {} a -> s {maxResults = a} :: GetRecommendations)++-- | The duration (in seconds) for which the call waits for a recommendation+-- to be made available before returning. If a recommendation is available,+-- the call returns sooner than @WaitTimeSeconds@. If no messages are+-- available and the wait time expires, the call returns successfully with+-- an empty list.+getRecommendations_waitTimeSeconds :: Lens.Lens' GetRecommendations (Prelude.Maybe Prelude.Natural)+getRecommendations_waitTimeSeconds = Lens.lens (\GetRecommendations' {waitTimeSeconds} -> waitTimeSeconds) (\s@GetRecommendations' {} a -> s {waitTimeSeconds = a} :: GetRecommendations)++-- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+getRecommendations_assistantId :: Lens.Lens' GetRecommendations Prelude.Text+getRecommendations_assistantId = Lens.lens (\GetRecommendations' {assistantId} -> assistantId) (\s@GetRecommendations' {} a -> s {assistantId = a} :: GetRecommendations)++-- | The identifier of the session. Can be either the ID or the ARN. URLs+-- cannot contain the ARN.+getRecommendations_sessionId :: Lens.Lens' GetRecommendations Prelude.Text+getRecommendations_sessionId = Lens.lens (\GetRecommendations' {sessionId} -> sessionId) (\s@GetRecommendations' {} a -> s {sessionId = a} :: GetRecommendations)++instance Core.AWSRequest GetRecommendations where+  type+    AWSResponse GetRecommendations =+      GetRecommendationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetRecommendationsResponse'+            Prelude.<$> (x Data..?> "triggers" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "recommendations"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable GetRecommendations where+  hashWithSalt _salt GetRecommendations' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` waitTimeSeconds+      `Prelude.hashWithSalt` assistantId+      `Prelude.hashWithSalt` sessionId++instance Prelude.NFData GetRecommendations where+  rnf GetRecommendations' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf waitTimeSeconds+      `Prelude.seq` Prelude.rnf assistantId+      `Prelude.seq` Prelude.rnf sessionId++instance Data.ToHeaders GetRecommendations where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetRecommendations where+  toPath GetRecommendations' {..} =+    Prelude.mconcat+      [ "/assistants/",+        Data.toBS assistantId,+        "/sessions/",+        Data.toBS sessionId,+        "/recommendations"+      ]++instance Data.ToQuery GetRecommendations where+  toQuery GetRecommendations' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "waitTimeSeconds" Data.=: waitTimeSeconds+      ]++-- | /See:/ 'newGetRecommendationsResponse' smart constructor.+data GetRecommendationsResponse = GetRecommendationsResponse'+  { -- | The triggers corresponding to recommendations.+    triggers :: Prelude.Maybe [RecommendationTrigger],+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The recommendations.+    recommendations :: [RecommendationData]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRecommendationsResponse' 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:+--+-- 'triggers', 'getRecommendationsResponse_triggers' - The triggers corresponding to recommendations.+--+-- 'httpStatus', 'getRecommendationsResponse_httpStatus' - The response's http status code.+--+-- 'recommendations', 'getRecommendationsResponse_recommendations' - The recommendations.+newGetRecommendationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetRecommendationsResponse+newGetRecommendationsResponse pHttpStatus_ =+  GetRecommendationsResponse'+    { triggers =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      recommendations = Prelude.mempty+    }++-- | The triggers corresponding to recommendations.+getRecommendationsResponse_triggers :: Lens.Lens' GetRecommendationsResponse (Prelude.Maybe [RecommendationTrigger])+getRecommendationsResponse_triggers = Lens.lens (\GetRecommendationsResponse' {triggers} -> triggers) (\s@GetRecommendationsResponse' {} a -> s {triggers = a} :: GetRecommendationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getRecommendationsResponse_httpStatus :: Lens.Lens' GetRecommendationsResponse Prelude.Int+getRecommendationsResponse_httpStatus = Lens.lens (\GetRecommendationsResponse' {httpStatus} -> httpStatus) (\s@GetRecommendationsResponse' {} a -> s {httpStatus = a} :: GetRecommendationsResponse)++-- | The recommendations.+getRecommendationsResponse_recommendations :: Lens.Lens' GetRecommendationsResponse [RecommendationData]+getRecommendationsResponse_recommendations = Lens.lens (\GetRecommendationsResponse' {recommendations} -> recommendations) (\s@GetRecommendationsResponse' {} a -> s {recommendations = a} :: GetRecommendationsResponse) Prelude.. Lens.coerced++instance Prelude.NFData GetRecommendationsResponse where+  rnf GetRecommendationsResponse' {..} =+    Prelude.rnf triggers+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf recommendations
+ gen/Amazonka/Wisdom/GetSession.hs view
@@ -0,0 +1,184 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Wisdom.GetSession+-- 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 information for a specified session.+module Amazonka.Wisdom.GetSession+  ( -- * Creating a Request+    GetSession (..),+    newGetSession,++    -- * Request Lenses+    getSession_assistantId,+    getSession_sessionId,++    -- * Destructuring the Response+    GetSessionResponse (..),+    newGetSessionResponse,++    -- * Response Lenses+    getSessionResponse_session,+    getSessionResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newGetSession' smart constructor.+data GetSession = GetSession'+  { -- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    assistantId :: Prelude.Text,+    -- | The identifier of the session. Can be either the ID or the ARN. URLs+    -- cannot contain the ARN.+    sessionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSession' 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:+--+-- 'assistantId', 'getSession_assistantId' - The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+--+-- 'sessionId', 'getSession_sessionId' - The identifier of the session. Can be either the ID or the ARN. URLs+-- cannot contain the ARN.+newGetSession ::+  -- | 'assistantId'+  Prelude.Text ->+  -- | 'sessionId'+  Prelude.Text ->+  GetSession+newGetSession pAssistantId_ pSessionId_ =+  GetSession'+    { assistantId = pAssistantId_,+      sessionId = pSessionId_+    }++-- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+getSession_assistantId :: Lens.Lens' GetSession Prelude.Text+getSession_assistantId = Lens.lens (\GetSession' {assistantId} -> assistantId) (\s@GetSession' {} a -> s {assistantId = a} :: GetSession)++-- | The identifier of the session. Can be either the ID or the ARN. URLs+-- cannot contain the ARN.+getSession_sessionId :: Lens.Lens' GetSession Prelude.Text+getSession_sessionId = Lens.lens (\GetSession' {sessionId} -> sessionId) (\s@GetSession' {} a -> s {sessionId = a} :: GetSession)++instance Core.AWSRequest GetSession where+  type AWSResponse GetSession = GetSessionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetSessionResponse'+            Prelude.<$> (x Data..?> "session")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetSession where+  hashWithSalt _salt GetSession' {..} =+    _salt+      `Prelude.hashWithSalt` assistantId+      `Prelude.hashWithSalt` sessionId++instance Prelude.NFData GetSession where+  rnf GetSession' {..} =+    Prelude.rnf assistantId+      `Prelude.seq` Prelude.rnf sessionId++instance Data.ToHeaders GetSession where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetSession where+  toPath GetSession' {..} =+    Prelude.mconcat+      [ "/assistants/",+        Data.toBS assistantId,+        "/sessions/",+        Data.toBS sessionId+      ]++instance Data.ToQuery GetSession where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSessionResponse' smart constructor.+data GetSessionResponse = GetSessionResponse'+  { -- | The session.+    session :: Prelude.Maybe SessionData,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSessionResponse' 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:+--+-- 'session', 'getSessionResponse_session' - The session.+--+-- 'httpStatus', 'getSessionResponse_httpStatus' - The response's http status code.+newGetSessionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetSessionResponse+newGetSessionResponse pHttpStatus_ =+  GetSessionResponse'+    { session = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The session.+getSessionResponse_session :: Lens.Lens' GetSessionResponse (Prelude.Maybe SessionData)+getSessionResponse_session = Lens.lens (\GetSessionResponse' {session} -> session) (\s@GetSessionResponse' {} a -> s {session = a} :: GetSessionResponse)++-- | The response's http status code.+getSessionResponse_httpStatus :: Lens.Lens' GetSessionResponse Prelude.Int+getSessionResponse_httpStatus = Lens.lens (\GetSessionResponse' {httpStatus} -> httpStatus) (\s@GetSessionResponse' {} a -> s {httpStatus = a} :: GetSessionResponse)++instance Prelude.NFData GetSessionResponse where+  rnf GetSessionResponse' {..} =+    Prelude.rnf session+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/Lens.hs view
@@ -0,0 +1,488 @@+{-# 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.Wisdom.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.Wisdom.Lens+  ( -- * Operations++    -- ** CreateAssistant+    createAssistant_clientToken,+    createAssistant_description,+    createAssistant_serverSideEncryptionConfiguration,+    createAssistant_tags,+    createAssistant_name,+    createAssistant_type,+    createAssistantResponse_assistant,+    createAssistantResponse_httpStatus,++    -- ** CreateAssistantAssociation+    createAssistantAssociation_clientToken,+    createAssistantAssociation_tags,+    createAssistantAssociation_assistantId,+    createAssistantAssociation_association,+    createAssistantAssociation_associationType,+    createAssistantAssociationResponse_assistantAssociation,+    createAssistantAssociationResponse_httpStatus,++    -- ** CreateContent+    createContent_clientToken,+    createContent_metadata,+    createContent_overrideLinkOutUri,+    createContent_tags,+    createContent_title,+    createContent_knowledgeBaseId,+    createContent_name,+    createContent_uploadId,+    createContentResponse_content,+    createContentResponse_httpStatus,++    -- ** CreateKnowledgeBase+    createKnowledgeBase_clientToken,+    createKnowledgeBase_description,+    createKnowledgeBase_renderingConfiguration,+    createKnowledgeBase_serverSideEncryptionConfiguration,+    createKnowledgeBase_sourceConfiguration,+    createKnowledgeBase_tags,+    createKnowledgeBase_knowledgeBaseType,+    createKnowledgeBase_name,+    createKnowledgeBaseResponse_knowledgeBase,+    createKnowledgeBaseResponse_httpStatus,++    -- ** CreateSession+    createSession_clientToken,+    createSession_description,+    createSession_tags,+    createSession_assistantId,+    createSession_name,+    createSessionResponse_session,+    createSessionResponse_httpStatus,++    -- ** DeleteAssistant+    deleteAssistant_assistantId,+    deleteAssistantResponse_httpStatus,++    -- ** DeleteAssistantAssociation+    deleteAssistantAssociation_assistantAssociationId,+    deleteAssistantAssociation_assistantId,+    deleteAssistantAssociationResponse_httpStatus,++    -- ** DeleteContent+    deleteContent_contentId,+    deleteContent_knowledgeBaseId,+    deleteContentResponse_httpStatus,++    -- ** DeleteKnowledgeBase+    deleteKnowledgeBase_knowledgeBaseId,+    deleteKnowledgeBaseResponse_httpStatus,++    -- ** GetAssistant+    getAssistant_assistantId,+    getAssistantResponse_assistant,+    getAssistantResponse_httpStatus,++    -- ** GetAssistantAssociation+    getAssistantAssociation_assistantAssociationId,+    getAssistantAssociation_assistantId,+    getAssistantAssociationResponse_assistantAssociation,+    getAssistantAssociationResponse_httpStatus,++    -- ** GetContent+    getContent_contentId,+    getContent_knowledgeBaseId,+    getContentResponse_content,+    getContentResponse_httpStatus,++    -- ** GetContentSummary+    getContentSummary_contentId,+    getContentSummary_knowledgeBaseId,+    getContentSummaryResponse_contentSummary,+    getContentSummaryResponse_httpStatus,++    -- ** GetKnowledgeBase+    getKnowledgeBase_knowledgeBaseId,+    getKnowledgeBaseResponse_knowledgeBase,+    getKnowledgeBaseResponse_httpStatus,++    -- ** GetRecommendations+    getRecommendations_maxResults,+    getRecommendations_waitTimeSeconds,+    getRecommendations_assistantId,+    getRecommendations_sessionId,+    getRecommendationsResponse_triggers,+    getRecommendationsResponse_httpStatus,+    getRecommendationsResponse_recommendations,++    -- ** GetSession+    getSession_assistantId,+    getSession_sessionId,+    getSessionResponse_session,+    getSessionResponse_httpStatus,++    -- ** ListAssistantAssociations+    listAssistantAssociations_maxResults,+    listAssistantAssociations_nextToken,+    listAssistantAssociations_assistantId,+    listAssistantAssociationsResponse_nextToken,+    listAssistantAssociationsResponse_httpStatus,+    listAssistantAssociationsResponse_assistantAssociationSummaries,++    -- ** ListAssistants+    listAssistants_maxResults,+    listAssistants_nextToken,+    listAssistantsResponse_nextToken,+    listAssistantsResponse_httpStatus,+    listAssistantsResponse_assistantSummaries,++    -- ** ListContents+    listContents_maxResults,+    listContents_nextToken,+    listContents_knowledgeBaseId,+    listContentsResponse_nextToken,+    listContentsResponse_httpStatus,+    listContentsResponse_contentSummaries,++    -- ** ListKnowledgeBases+    listKnowledgeBases_maxResults,+    listKnowledgeBases_nextToken,+    listKnowledgeBasesResponse_nextToken,+    listKnowledgeBasesResponse_httpStatus,+    listKnowledgeBasesResponse_knowledgeBaseSummaries,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** NotifyRecommendationsReceived+    notifyRecommendationsReceived_assistantId,+    notifyRecommendationsReceived_recommendationIds,+    notifyRecommendationsReceived_sessionId,+    notifyRecommendationsReceivedResponse_errors,+    notifyRecommendationsReceivedResponse_recommendationIds,+    notifyRecommendationsReceivedResponse_httpStatus,++    -- ** QueryAssistant+    queryAssistant_maxResults,+    queryAssistant_nextToken,+    queryAssistant_assistantId,+    queryAssistant_queryText,+    queryAssistantResponse_nextToken,+    queryAssistantResponse_httpStatus,+    queryAssistantResponse_results,++    -- ** RemoveKnowledgeBaseTemplateUri+    removeKnowledgeBaseTemplateUri_knowledgeBaseId,+    removeKnowledgeBaseTemplateUriResponse_httpStatus,++    -- ** SearchContent+    searchContent_maxResults,+    searchContent_nextToken,+    searchContent_knowledgeBaseId,+    searchContent_searchExpression,+    searchContentResponse_nextToken,+    searchContentResponse_httpStatus,+    searchContentResponse_contentSummaries,++    -- ** SearchSessions+    searchSessions_maxResults,+    searchSessions_nextToken,+    searchSessions_assistantId,+    searchSessions_searchExpression,+    searchSessionsResponse_nextToken,+    searchSessionsResponse_httpStatus,+    searchSessionsResponse_sessionSummaries,++    -- ** StartContentUpload+    startContentUpload_contentType,+    startContentUpload_knowledgeBaseId,+    startContentUploadResponse_httpStatus,+    startContentUploadResponse_headersToInclude,+    startContentUploadResponse_uploadId,+    startContentUploadResponse_url,+    startContentUploadResponse_urlExpiry,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateContent+    updateContent_metadata,+    updateContent_overrideLinkOutUri,+    updateContent_removeOverrideLinkOutUri,+    updateContent_revisionId,+    updateContent_title,+    updateContent_uploadId,+    updateContent_contentId,+    updateContent_knowledgeBaseId,+    updateContentResponse_content,+    updateContentResponse_httpStatus,++    -- ** UpdateKnowledgeBaseTemplateUri+    updateKnowledgeBaseTemplateUri_knowledgeBaseId,+    updateKnowledgeBaseTemplateUri_templateUri,+    updateKnowledgeBaseTemplateUriResponse_knowledgeBase,+    updateKnowledgeBaseTemplateUriResponse_httpStatus,++    -- * Types++    -- ** AppIntegrationsConfiguration+    appIntegrationsConfiguration_appIntegrationArn,+    appIntegrationsConfiguration_objectFields,++    -- ** AssistantAssociationData+    assistantAssociationData_tags,+    assistantAssociationData_assistantArn,+    assistantAssociationData_assistantAssociationArn,+    assistantAssociationData_assistantAssociationId,+    assistantAssociationData_assistantId,+    assistantAssociationData_associationData,+    assistantAssociationData_associationType,++    -- ** AssistantAssociationInputData+    assistantAssociationInputData_knowledgeBaseId,++    -- ** AssistantAssociationOutputData+    assistantAssociationOutputData_knowledgeBaseAssociation,++    -- ** AssistantAssociationSummary+    assistantAssociationSummary_tags,+    assistantAssociationSummary_assistantArn,+    assistantAssociationSummary_assistantAssociationArn,+    assistantAssociationSummary_assistantAssociationId,+    assistantAssociationSummary_assistantId,+    assistantAssociationSummary_associationData,+    assistantAssociationSummary_associationType,++    -- ** AssistantData+    assistantData_description,+    assistantData_serverSideEncryptionConfiguration,+    assistantData_tags,+    assistantData_assistantArn,+    assistantData_assistantId,+    assistantData_name,+    assistantData_status,+    assistantData_type,++    -- ** AssistantSummary+    assistantSummary_description,+    assistantSummary_serverSideEncryptionConfiguration,+    assistantSummary_tags,+    assistantSummary_assistantArn,+    assistantSummary_assistantId,+    assistantSummary_name,+    assistantSummary_status,+    assistantSummary_type,++    -- ** ContentData+    contentData_linkOutUri,+    contentData_tags,+    contentData_contentArn,+    contentData_contentId,+    contentData_contentType,+    contentData_knowledgeBaseArn,+    contentData_knowledgeBaseId,+    contentData_metadata,+    contentData_name,+    contentData_revisionId,+    contentData_status,+    contentData_title,+    contentData_url,+    contentData_urlExpiry,++    -- ** ContentReference+    contentReference_contentArn,+    contentReference_contentId,+    contentReference_knowledgeBaseArn,+    contentReference_knowledgeBaseId,++    -- ** ContentSummary+    contentSummary_tags,+    contentSummary_contentArn,+    contentSummary_contentId,+    contentSummary_contentType,+    contentSummary_knowledgeBaseArn,+    contentSummary_knowledgeBaseId,+    contentSummary_metadata,+    contentSummary_name,+    contentSummary_revisionId,+    contentSummary_status,+    contentSummary_title,++    -- ** Document+    document_excerpt,+    document_title,+    document_contentReference,++    -- ** DocumentText+    documentText_highlights,+    documentText_text,++    -- ** Filter+    filter_field,+    filter_operator,+    filter_value,++    -- ** Highlight+    highlight_beginOffsetInclusive,+    highlight_endOffsetExclusive,++    -- ** KnowledgeBaseAssociationData+    knowledgeBaseAssociationData_knowledgeBaseArn,+    knowledgeBaseAssociationData_knowledgeBaseId,++    -- ** KnowledgeBaseData+    knowledgeBaseData_description,+    knowledgeBaseData_lastContentModificationTime,+    knowledgeBaseData_renderingConfiguration,+    knowledgeBaseData_serverSideEncryptionConfiguration,+    knowledgeBaseData_sourceConfiguration,+    knowledgeBaseData_tags,+    knowledgeBaseData_knowledgeBaseArn,+    knowledgeBaseData_knowledgeBaseId,+    knowledgeBaseData_knowledgeBaseType,+    knowledgeBaseData_name,+    knowledgeBaseData_status,++    -- ** KnowledgeBaseSummary+    knowledgeBaseSummary_description,+    knowledgeBaseSummary_renderingConfiguration,+    knowledgeBaseSummary_serverSideEncryptionConfiguration,+    knowledgeBaseSummary_sourceConfiguration,+    knowledgeBaseSummary_tags,+    knowledgeBaseSummary_knowledgeBaseArn,+    knowledgeBaseSummary_knowledgeBaseId,+    knowledgeBaseSummary_knowledgeBaseType,+    knowledgeBaseSummary_name,+    knowledgeBaseSummary_status,++    -- ** NotifyRecommendationsReceivedError+    notifyRecommendationsReceivedError_message,+    notifyRecommendationsReceivedError_recommendationId,++    -- ** QueryRecommendationTriggerData+    queryRecommendationTriggerData_text,++    -- ** RecommendationData+    recommendationData_relevanceLevel,+    recommendationData_relevanceScore,+    recommendationData_type,+    recommendationData_document,+    recommendationData_recommendationId,++    -- ** RecommendationTrigger+    recommendationTrigger_data,+    recommendationTrigger_id,+    recommendationTrigger_recommendationIds,+    recommendationTrigger_source,+    recommendationTrigger_type,++    -- ** RecommendationTriggerData+    recommendationTriggerData_query,++    -- ** RenderingConfiguration+    renderingConfiguration_templateUri,++    -- ** ResultData+    resultData_relevanceScore,+    resultData_document,+    resultData_resultId,++    -- ** SearchExpression+    searchExpression_filters,++    -- ** ServerSideEncryptionConfiguration+    serverSideEncryptionConfiguration_kmsKeyId,++    -- ** SessionData+    sessionData_description,+    sessionData_tags,+    sessionData_name,+    sessionData_sessionArn,+    sessionData_sessionId,++    -- ** SessionSummary+    sessionSummary_assistantArn,+    sessionSummary_assistantId,+    sessionSummary_sessionArn,+    sessionSummary_sessionId,++    -- ** SourceConfiguration+    sourceConfiguration_appIntegrations,+  )+where++import Amazonka.Wisdom.CreateAssistant+import Amazonka.Wisdom.CreateAssistantAssociation+import Amazonka.Wisdom.CreateContent+import Amazonka.Wisdom.CreateKnowledgeBase+import Amazonka.Wisdom.CreateSession+import Amazonka.Wisdom.DeleteAssistant+import Amazonka.Wisdom.DeleteAssistantAssociation+import Amazonka.Wisdom.DeleteContent+import Amazonka.Wisdom.DeleteKnowledgeBase+import Amazonka.Wisdom.GetAssistant+import Amazonka.Wisdom.GetAssistantAssociation+import Amazonka.Wisdom.GetContent+import Amazonka.Wisdom.GetContentSummary+import Amazonka.Wisdom.GetKnowledgeBase+import Amazonka.Wisdom.GetRecommendations+import Amazonka.Wisdom.GetSession+import Amazonka.Wisdom.ListAssistantAssociations+import Amazonka.Wisdom.ListAssistants+import Amazonka.Wisdom.ListContents+import Amazonka.Wisdom.ListKnowledgeBases+import Amazonka.Wisdom.ListTagsForResource+import Amazonka.Wisdom.NotifyRecommendationsReceived+import Amazonka.Wisdom.QueryAssistant+import Amazonka.Wisdom.RemoveKnowledgeBaseTemplateUri+import Amazonka.Wisdom.SearchContent+import Amazonka.Wisdom.SearchSessions+import Amazonka.Wisdom.StartContentUpload+import Amazonka.Wisdom.TagResource+import Amazonka.Wisdom.Types.AppIntegrationsConfiguration+import Amazonka.Wisdom.Types.AssistantAssociationData+import Amazonka.Wisdom.Types.AssistantAssociationInputData+import Amazonka.Wisdom.Types.AssistantAssociationOutputData+import Amazonka.Wisdom.Types.AssistantAssociationSummary+import Amazonka.Wisdom.Types.AssistantData+import Amazonka.Wisdom.Types.AssistantSummary+import Amazonka.Wisdom.Types.ContentData+import Amazonka.Wisdom.Types.ContentReference+import Amazonka.Wisdom.Types.ContentSummary+import Amazonka.Wisdom.Types.Document+import Amazonka.Wisdom.Types.DocumentText+import Amazonka.Wisdom.Types.Filter+import Amazonka.Wisdom.Types.Highlight+import Amazonka.Wisdom.Types.KnowledgeBaseAssociationData+import Amazonka.Wisdom.Types.KnowledgeBaseData+import Amazonka.Wisdom.Types.KnowledgeBaseSummary+import Amazonka.Wisdom.Types.NotifyRecommendationsReceivedError+import Amazonka.Wisdom.Types.QueryRecommendationTriggerData+import Amazonka.Wisdom.Types.RecommendationData+import Amazonka.Wisdom.Types.RecommendationTrigger+import Amazonka.Wisdom.Types.RecommendationTriggerData+import Amazonka.Wisdom.Types.RenderingConfiguration+import Amazonka.Wisdom.Types.ResultData+import Amazonka.Wisdom.Types.SearchExpression+import Amazonka.Wisdom.Types.ServerSideEncryptionConfiguration+import Amazonka.Wisdom.Types.SessionData+import Amazonka.Wisdom.Types.SessionSummary+import Amazonka.Wisdom.Types.SourceConfiguration+import Amazonka.Wisdom.UntagResource+import Amazonka.Wisdom.UpdateContent+import Amazonka.Wisdom.UpdateKnowledgeBaseTemplateUri
+ gen/Amazonka/Wisdom/ListAssistantAssociations.hs view
@@ -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.Wisdom.ListAssistantAssociations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists information about assistant associations.+--+-- This operation returns paginated results.+module Amazonka.Wisdom.ListAssistantAssociations+  ( -- * Creating a Request+    ListAssistantAssociations (..),+    newListAssistantAssociations,++    -- * Request Lenses+    listAssistantAssociations_maxResults,+    listAssistantAssociations_nextToken,+    listAssistantAssociations_assistantId,++    -- * Destructuring the Response+    ListAssistantAssociationsResponse (..),+    newListAssistantAssociationsResponse,++    -- * Response Lenses+    listAssistantAssociationsResponse_nextToken,+    listAssistantAssociationsResponse_httpStatus,+    listAssistantAssociationsResponse_assistantAssociationSummaries,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newListAssistantAssociations' smart constructor.+data ListAssistantAssociations = ListAssistantAssociations'+  { -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    assistantId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssistantAssociations' 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', 'listAssistantAssociations_maxResults' - The maximum number of results to return per page.+--+-- 'nextToken', 'listAssistantAssociations_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+--+-- 'assistantId', 'listAssistantAssociations_assistantId' - The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+newListAssistantAssociations ::+  -- | 'assistantId'+  Prelude.Text ->+  ListAssistantAssociations+newListAssistantAssociations pAssistantId_ =+  ListAssistantAssociations'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      assistantId = pAssistantId_+    }++-- | The maximum number of results to return per page.+listAssistantAssociations_maxResults :: Lens.Lens' ListAssistantAssociations (Prelude.Maybe Prelude.Natural)+listAssistantAssociations_maxResults = Lens.lens (\ListAssistantAssociations' {maxResults} -> maxResults) (\s@ListAssistantAssociations' {} a -> s {maxResults = a} :: ListAssistantAssociations)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listAssistantAssociations_nextToken :: Lens.Lens' ListAssistantAssociations (Prelude.Maybe Prelude.Text)+listAssistantAssociations_nextToken = Lens.lens (\ListAssistantAssociations' {nextToken} -> nextToken) (\s@ListAssistantAssociations' {} a -> s {nextToken = a} :: ListAssistantAssociations)++-- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+listAssistantAssociations_assistantId :: Lens.Lens' ListAssistantAssociations Prelude.Text+listAssistantAssociations_assistantId = Lens.lens (\ListAssistantAssociations' {assistantId} -> assistantId) (\s@ListAssistantAssociations' {} a -> s {assistantId = a} :: ListAssistantAssociations)++instance Core.AWSPager ListAssistantAssociations where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listAssistantAssociationsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. listAssistantAssociationsResponse_assistantAssociationSummaries+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listAssistantAssociations_nextToken+          Lens..~ rs+          Lens.^? listAssistantAssociationsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListAssistantAssociations where+  type+    AWSResponse ListAssistantAssociations =+      ListAssistantAssociationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAssistantAssociationsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "assistantAssociationSummaries"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListAssistantAssociations where+  hashWithSalt _salt ListAssistantAssociations' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` assistantId++instance Prelude.NFData ListAssistantAssociations where+  rnf ListAssistantAssociations' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf assistantId++instance Data.ToHeaders ListAssistantAssociations where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListAssistantAssociations where+  toPath ListAssistantAssociations' {..} =+    Prelude.mconcat+      [ "/assistants/",+        Data.toBS assistantId,+        "/associations"+      ]++instance Data.ToQuery ListAssistantAssociations where+  toQuery ListAssistantAssociations' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListAssistantAssociationsResponse' smart constructor.+data ListAssistantAssociationsResponse = ListAssistantAssociationsResponse'+  { -- | If there are additional results, this is the token for the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Summary information about assistant associations.+    assistantAssociationSummaries :: [AssistantAssociationSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssistantAssociationsResponse' 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', 'listAssistantAssociationsResponse_nextToken' - If there are additional results, this is the token for the next set of+-- results.+--+-- 'httpStatus', 'listAssistantAssociationsResponse_httpStatus' - The response's http status code.+--+-- 'assistantAssociationSummaries', 'listAssistantAssociationsResponse_assistantAssociationSummaries' - Summary information about assistant associations.+newListAssistantAssociationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAssistantAssociationsResponse+newListAssistantAssociationsResponse pHttpStatus_ =+  ListAssistantAssociationsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      assistantAssociationSummaries =+        Prelude.mempty+    }++-- | If there are additional results, this is the token for the next set of+-- results.+listAssistantAssociationsResponse_nextToken :: Lens.Lens' ListAssistantAssociationsResponse (Prelude.Maybe Prelude.Text)+listAssistantAssociationsResponse_nextToken = Lens.lens (\ListAssistantAssociationsResponse' {nextToken} -> nextToken) (\s@ListAssistantAssociationsResponse' {} a -> s {nextToken = a} :: ListAssistantAssociationsResponse)++-- | The response's http status code.+listAssistantAssociationsResponse_httpStatus :: Lens.Lens' ListAssistantAssociationsResponse Prelude.Int+listAssistantAssociationsResponse_httpStatus = Lens.lens (\ListAssistantAssociationsResponse' {httpStatus} -> httpStatus) (\s@ListAssistantAssociationsResponse' {} a -> s {httpStatus = a} :: ListAssistantAssociationsResponse)++-- | Summary information about assistant associations.+listAssistantAssociationsResponse_assistantAssociationSummaries :: Lens.Lens' ListAssistantAssociationsResponse [AssistantAssociationSummary]+listAssistantAssociationsResponse_assistantAssociationSummaries = Lens.lens (\ListAssistantAssociationsResponse' {assistantAssociationSummaries} -> assistantAssociationSummaries) (\s@ListAssistantAssociationsResponse' {} a -> s {assistantAssociationSummaries = a} :: ListAssistantAssociationsResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    ListAssistantAssociationsResponse+  where+  rnf ListAssistantAssociationsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf assistantAssociationSummaries
+ gen/Amazonka/Wisdom/ListAssistants.hs view
@@ -0,0 +1,222 @@+{-# 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.Wisdom.ListAssistants+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists information about assistants.+--+-- This operation returns paginated results.+module Amazonka.Wisdom.ListAssistants+  ( -- * Creating a Request+    ListAssistants (..),+    newListAssistants,++    -- * Request Lenses+    listAssistants_maxResults,+    listAssistants_nextToken,++    -- * Destructuring the Response+    ListAssistantsResponse (..),+    newListAssistantsResponse,++    -- * Response Lenses+    listAssistantsResponse_nextToken,+    listAssistantsResponse_httpStatus,+    listAssistantsResponse_assistantSummaries,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newListAssistants' smart constructor.+data ListAssistants = ListAssistants'+  { -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssistants' 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', 'listAssistants_maxResults' - The maximum number of results to return per page.+--+-- 'nextToken', 'listAssistants_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+newListAssistants ::+  ListAssistants+newListAssistants =+  ListAssistants'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return per page.+listAssistants_maxResults :: Lens.Lens' ListAssistants (Prelude.Maybe Prelude.Natural)+listAssistants_maxResults = Lens.lens (\ListAssistants' {maxResults} -> maxResults) (\s@ListAssistants' {} a -> s {maxResults = a} :: ListAssistants)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listAssistants_nextToken :: Lens.Lens' ListAssistants (Prelude.Maybe Prelude.Text)+listAssistants_nextToken = Lens.lens (\ListAssistants' {nextToken} -> nextToken) (\s@ListAssistants' {} a -> s {nextToken = a} :: ListAssistants)++instance Core.AWSPager ListAssistants where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listAssistantsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. listAssistantsResponse_assistantSummaries+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listAssistants_nextToken+          Lens..~ rs+          Lens.^? listAssistantsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListAssistants where+  type+    AWSResponse ListAssistants =+      ListAssistantsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAssistantsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "assistantSummaries"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListAssistants where+  hashWithSalt _salt ListAssistants' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListAssistants where+  rnf ListAssistants' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListAssistants where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListAssistants where+  toPath = Prelude.const "/assistants"++instance Data.ToQuery ListAssistants where+  toQuery ListAssistants' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListAssistantsResponse' smart constructor.+data ListAssistantsResponse = ListAssistantsResponse'+  { -- | If there are additional results, this is the token for the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Information about the assistants.+    assistantSummaries :: [AssistantSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssistantsResponse' 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', 'listAssistantsResponse_nextToken' - If there are additional results, this is the token for the next set of+-- results.+--+-- 'httpStatus', 'listAssistantsResponse_httpStatus' - The response's http status code.+--+-- 'assistantSummaries', 'listAssistantsResponse_assistantSummaries' - Information about the assistants.+newListAssistantsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAssistantsResponse+newListAssistantsResponse pHttpStatus_ =+  ListAssistantsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      assistantSummaries = Prelude.mempty+    }++-- | If there are additional results, this is the token for the next set of+-- results.+listAssistantsResponse_nextToken :: Lens.Lens' ListAssistantsResponse (Prelude.Maybe Prelude.Text)+listAssistantsResponse_nextToken = Lens.lens (\ListAssistantsResponse' {nextToken} -> nextToken) (\s@ListAssistantsResponse' {} a -> s {nextToken = a} :: ListAssistantsResponse)++-- | The response's http status code.+listAssistantsResponse_httpStatus :: Lens.Lens' ListAssistantsResponse Prelude.Int+listAssistantsResponse_httpStatus = Lens.lens (\ListAssistantsResponse' {httpStatus} -> httpStatus) (\s@ListAssistantsResponse' {} a -> s {httpStatus = a} :: ListAssistantsResponse)++-- | Information about the assistants.+listAssistantsResponse_assistantSummaries :: Lens.Lens' ListAssistantsResponse [AssistantSummary]+listAssistantsResponse_assistantSummaries = Lens.lens (\ListAssistantsResponse' {assistantSummaries} -> assistantSummaries) (\s@ListAssistantsResponse' {} a -> s {assistantSummaries = a} :: ListAssistantsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListAssistantsResponse where+  rnf ListAssistantsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf assistantSummaries
+ gen/Amazonka/Wisdom/ListContents.hs view
@@ -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.Wisdom.ListContents+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the content.+--+-- This operation returns paginated results.+module Amazonka.Wisdom.ListContents+  ( -- * Creating a Request+    ListContents (..),+    newListContents,++    -- * Request Lenses+    listContents_maxResults,+    listContents_nextToken,+    listContents_knowledgeBaseId,++    -- * Destructuring the Response+    ListContentsResponse (..),+    newListContentsResponse,++    -- * Response Lenses+    listContentsResponse_nextToken,+    listContentsResponse_httpStatus,+    listContentsResponse_contentSummaries,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newListContents' smart constructor.+data ListContents = ListContents'+  { -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the knowledge base. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    knowledgeBaseId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListContents' 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', 'listContents_maxResults' - The maximum number of results to return per page.+--+-- 'nextToken', 'listContents_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+--+-- 'knowledgeBaseId', 'listContents_knowledgeBaseId' - The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+newListContents ::+  -- | 'knowledgeBaseId'+  Prelude.Text ->+  ListContents+newListContents pKnowledgeBaseId_ =+  ListContents'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      knowledgeBaseId = pKnowledgeBaseId_+    }++-- | The maximum number of results to return per page.+listContents_maxResults :: Lens.Lens' ListContents (Prelude.Maybe Prelude.Natural)+listContents_maxResults = Lens.lens (\ListContents' {maxResults} -> maxResults) (\s@ListContents' {} a -> s {maxResults = a} :: ListContents)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listContents_nextToken :: Lens.Lens' ListContents (Prelude.Maybe Prelude.Text)+listContents_nextToken = Lens.lens (\ListContents' {nextToken} -> nextToken) (\s@ListContents' {} a -> s {nextToken = a} :: ListContents)++-- | The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+listContents_knowledgeBaseId :: Lens.Lens' ListContents Prelude.Text+listContents_knowledgeBaseId = Lens.lens (\ListContents' {knowledgeBaseId} -> knowledgeBaseId) (\s@ListContents' {} a -> s {knowledgeBaseId = a} :: ListContents)++instance Core.AWSPager ListContents where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listContentsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        (rs Lens.^. listContentsResponse_contentSummaries) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listContents_nextToken+          Lens..~ rs+          Lens.^? listContentsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListContents where+  type AWSResponse ListContents = ListContentsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListContentsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "contentSummaries"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListContents where+  hashWithSalt _salt ListContents' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` knowledgeBaseId++instance Prelude.NFData ListContents where+  rnf ListContents' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf knowledgeBaseId++instance Data.ToHeaders ListContents where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListContents where+  toPath ListContents' {..} =+    Prelude.mconcat+      [ "/knowledgeBases/",+        Data.toBS knowledgeBaseId,+        "/contents"+      ]++instance Data.ToQuery ListContents where+  toQuery ListContents' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListContentsResponse' smart constructor.+data ListContentsResponse = ListContentsResponse'+  { -- | If there are additional results, this is the token for the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Information about the content.+    contentSummaries :: [ContentSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListContentsResponse' 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', 'listContentsResponse_nextToken' - If there are additional results, this is the token for the next set of+-- results.+--+-- 'httpStatus', 'listContentsResponse_httpStatus' - The response's http status code.+--+-- 'contentSummaries', 'listContentsResponse_contentSummaries' - Information about the content.+newListContentsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListContentsResponse+newListContentsResponse pHttpStatus_ =+  ListContentsResponse'+    { nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_,+      contentSummaries = Prelude.mempty+    }++-- | If there are additional results, this is the token for the next set of+-- results.+listContentsResponse_nextToken :: Lens.Lens' ListContentsResponse (Prelude.Maybe Prelude.Text)+listContentsResponse_nextToken = Lens.lens (\ListContentsResponse' {nextToken} -> nextToken) (\s@ListContentsResponse' {} a -> s {nextToken = a} :: ListContentsResponse)++-- | The response's http status code.+listContentsResponse_httpStatus :: Lens.Lens' ListContentsResponse Prelude.Int+listContentsResponse_httpStatus = Lens.lens (\ListContentsResponse' {httpStatus} -> httpStatus) (\s@ListContentsResponse' {} a -> s {httpStatus = a} :: ListContentsResponse)++-- | Information about the content.+listContentsResponse_contentSummaries :: Lens.Lens' ListContentsResponse [ContentSummary]+listContentsResponse_contentSummaries = Lens.lens (\ListContentsResponse' {contentSummaries} -> contentSummaries) (\s@ListContentsResponse' {} a -> s {contentSummaries = a} :: ListContentsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListContentsResponse where+  rnf ListContentsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf contentSummaries
+ gen/Amazonka/Wisdom/ListKnowledgeBases.hs view
@@ -0,0 +1,222 @@+{-# 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.Wisdom.ListKnowledgeBases+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the knowledge bases.+--+-- This operation returns paginated results.+module Amazonka.Wisdom.ListKnowledgeBases+  ( -- * Creating a Request+    ListKnowledgeBases (..),+    newListKnowledgeBases,++    -- * Request Lenses+    listKnowledgeBases_maxResults,+    listKnowledgeBases_nextToken,++    -- * Destructuring the Response+    ListKnowledgeBasesResponse (..),+    newListKnowledgeBasesResponse,++    -- * Response Lenses+    listKnowledgeBasesResponse_nextToken,+    listKnowledgeBasesResponse_httpStatus,+    listKnowledgeBasesResponse_knowledgeBaseSummaries,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newListKnowledgeBases' smart constructor.+data ListKnowledgeBases = ListKnowledgeBases'+  { -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListKnowledgeBases' 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', 'listKnowledgeBases_maxResults' - The maximum number of results to return per page.+--+-- 'nextToken', 'listKnowledgeBases_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+newListKnowledgeBases ::+  ListKnowledgeBases+newListKnowledgeBases =+  ListKnowledgeBases'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return per page.+listKnowledgeBases_maxResults :: Lens.Lens' ListKnowledgeBases (Prelude.Maybe Prelude.Natural)+listKnowledgeBases_maxResults = Lens.lens (\ListKnowledgeBases' {maxResults} -> maxResults) (\s@ListKnowledgeBases' {} a -> s {maxResults = a} :: ListKnowledgeBases)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+listKnowledgeBases_nextToken :: Lens.Lens' ListKnowledgeBases (Prelude.Maybe Prelude.Text)+listKnowledgeBases_nextToken = Lens.lens (\ListKnowledgeBases' {nextToken} -> nextToken) (\s@ListKnowledgeBases' {} a -> s {nextToken = a} :: ListKnowledgeBases)++instance Core.AWSPager ListKnowledgeBases where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listKnowledgeBasesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. listKnowledgeBasesResponse_knowledgeBaseSummaries+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listKnowledgeBases_nextToken+          Lens..~ rs+          Lens.^? listKnowledgeBasesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListKnowledgeBases where+  type+    AWSResponse ListKnowledgeBases =+      ListKnowledgeBasesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListKnowledgeBasesResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "knowledgeBaseSummaries"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListKnowledgeBases where+  hashWithSalt _salt ListKnowledgeBases' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListKnowledgeBases where+  rnf ListKnowledgeBases' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListKnowledgeBases where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListKnowledgeBases where+  toPath = Prelude.const "/knowledgeBases"++instance Data.ToQuery ListKnowledgeBases where+  toQuery ListKnowledgeBases' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListKnowledgeBasesResponse' smart constructor.+data ListKnowledgeBasesResponse = ListKnowledgeBasesResponse'+  { -- | If there are additional results, this is the token for the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Information about the knowledge bases.+    knowledgeBaseSummaries :: [KnowledgeBaseSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListKnowledgeBasesResponse' 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', 'listKnowledgeBasesResponse_nextToken' - If there are additional results, this is the token for the next set of+-- results.+--+-- 'httpStatus', 'listKnowledgeBasesResponse_httpStatus' - The response's http status code.+--+-- 'knowledgeBaseSummaries', 'listKnowledgeBasesResponse_knowledgeBaseSummaries' - Information about the knowledge bases.+newListKnowledgeBasesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListKnowledgeBasesResponse+newListKnowledgeBasesResponse pHttpStatus_ =+  ListKnowledgeBasesResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      knowledgeBaseSummaries = Prelude.mempty+    }++-- | If there are additional results, this is the token for the next set of+-- results.+listKnowledgeBasesResponse_nextToken :: Lens.Lens' ListKnowledgeBasesResponse (Prelude.Maybe Prelude.Text)+listKnowledgeBasesResponse_nextToken = Lens.lens (\ListKnowledgeBasesResponse' {nextToken} -> nextToken) (\s@ListKnowledgeBasesResponse' {} a -> s {nextToken = a} :: ListKnowledgeBasesResponse)++-- | The response's http status code.+listKnowledgeBasesResponse_httpStatus :: Lens.Lens' ListKnowledgeBasesResponse Prelude.Int+listKnowledgeBasesResponse_httpStatus = Lens.lens (\ListKnowledgeBasesResponse' {httpStatus} -> httpStatus) (\s@ListKnowledgeBasesResponse' {} a -> s {httpStatus = a} :: ListKnowledgeBasesResponse)++-- | Information about the knowledge bases.+listKnowledgeBasesResponse_knowledgeBaseSummaries :: Lens.Lens' ListKnowledgeBasesResponse [KnowledgeBaseSummary]+listKnowledgeBasesResponse_knowledgeBaseSummaries = Lens.lens (\ListKnowledgeBasesResponse' {knowledgeBaseSummaries} -> knowledgeBaseSummaries) (\s@ListKnowledgeBasesResponse' {} a -> s {knowledgeBaseSummaries = a} :: ListKnowledgeBasesResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListKnowledgeBasesResponse where+  rnf ListKnowledgeBasesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf knowledgeBaseSummaries
+ gen/Amazonka/Wisdom/ListTagsForResource.hs view
@@ -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.Wisdom.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)+--+-- Lists the tags for the specified resource.+module Amazonka.Wisdom.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The Amazon Resource Name (ARN) of the resource.+    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 Amazon Resource Name (ARN) of the resource.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the resource.+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.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++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 tags used to organize, track, or control access for this resource.+    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 '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:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The tags used to organize, track, or control access for this resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The tags used to organize, track, or control access for this resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | 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)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/NotifyRecommendationsReceived.hs view
@@ -0,0 +1,241 @@+{-# 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.Wisdom.NotifyRecommendationsReceived+-- 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 the specified recommendations from the specified assistant\'s+-- queue of newly available recommendations. You can use this API in+-- conjunction with+-- <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_GetRecommendations.html GetRecommendations>+-- and a @waitTimeSeconds@ input for long-polling behavior and avoiding+-- duplicate recommendations.+module Amazonka.Wisdom.NotifyRecommendationsReceived+  ( -- * Creating a Request+    NotifyRecommendationsReceived (..),+    newNotifyRecommendationsReceived,++    -- * Request Lenses+    notifyRecommendationsReceived_assistantId,+    notifyRecommendationsReceived_recommendationIds,+    notifyRecommendationsReceived_sessionId,++    -- * Destructuring the Response+    NotifyRecommendationsReceivedResponse (..),+    newNotifyRecommendationsReceivedResponse,++    -- * Response Lenses+    notifyRecommendationsReceivedResponse_errors,+    notifyRecommendationsReceivedResponse_recommendationIds,+    notifyRecommendationsReceivedResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newNotifyRecommendationsReceived' smart constructor.+data NotifyRecommendationsReceived = NotifyRecommendationsReceived'+  { -- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    assistantId :: Prelude.Text,+    -- | The identifiers of the recommendations.+    recommendationIds :: [Prelude.Text],+    -- | The identifier of the session. Can be either the ID or the ARN. URLs+    -- cannot contain the ARN.+    sessionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NotifyRecommendationsReceived' 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:+--+-- 'assistantId', 'notifyRecommendationsReceived_assistantId' - The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+--+-- 'recommendationIds', 'notifyRecommendationsReceived_recommendationIds' - The identifiers of the recommendations.+--+-- 'sessionId', 'notifyRecommendationsReceived_sessionId' - The identifier of the session. Can be either the ID or the ARN. URLs+-- cannot contain the ARN.+newNotifyRecommendationsReceived ::+  -- | 'assistantId'+  Prelude.Text ->+  -- | 'sessionId'+  Prelude.Text ->+  NotifyRecommendationsReceived+newNotifyRecommendationsReceived+  pAssistantId_+  pSessionId_ =+    NotifyRecommendationsReceived'+      { assistantId =+          pAssistantId_,+        recommendationIds = Prelude.mempty,+        sessionId = pSessionId_+      }++-- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+notifyRecommendationsReceived_assistantId :: Lens.Lens' NotifyRecommendationsReceived Prelude.Text+notifyRecommendationsReceived_assistantId = Lens.lens (\NotifyRecommendationsReceived' {assistantId} -> assistantId) (\s@NotifyRecommendationsReceived' {} a -> s {assistantId = a} :: NotifyRecommendationsReceived)++-- | The identifiers of the recommendations.+notifyRecommendationsReceived_recommendationIds :: Lens.Lens' NotifyRecommendationsReceived [Prelude.Text]+notifyRecommendationsReceived_recommendationIds = Lens.lens (\NotifyRecommendationsReceived' {recommendationIds} -> recommendationIds) (\s@NotifyRecommendationsReceived' {} a -> s {recommendationIds = a} :: NotifyRecommendationsReceived) Prelude.. Lens.coerced++-- | The identifier of the session. Can be either the ID or the ARN. URLs+-- cannot contain the ARN.+notifyRecommendationsReceived_sessionId :: Lens.Lens' NotifyRecommendationsReceived Prelude.Text+notifyRecommendationsReceived_sessionId = Lens.lens (\NotifyRecommendationsReceived' {sessionId} -> sessionId) (\s@NotifyRecommendationsReceived' {} a -> s {sessionId = a} :: NotifyRecommendationsReceived)++instance+  Core.AWSRequest+    NotifyRecommendationsReceived+  where+  type+    AWSResponse NotifyRecommendationsReceived =+      NotifyRecommendationsReceivedResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          NotifyRecommendationsReceivedResponse'+            Prelude.<$> (x Data..?> "errors" Core..!@ Prelude.mempty)+            Prelude.<*> ( x+                            Data..?> "recommendationIds"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    NotifyRecommendationsReceived+  where+  hashWithSalt _salt NotifyRecommendationsReceived' {..} =+    _salt+      `Prelude.hashWithSalt` assistantId+      `Prelude.hashWithSalt` recommendationIds+      `Prelude.hashWithSalt` sessionId++instance Prelude.NFData NotifyRecommendationsReceived where+  rnf NotifyRecommendationsReceived' {..} =+    Prelude.rnf assistantId+      `Prelude.seq` Prelude.rnf recommendationIds+      `Prelude.seq` Prelude.rnf sessionId++instance Data.ToHeaders NotifyRecommendationsReceived where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON NotifyRecommendationsReceived where+  toJSON NotifyRecommendationsReceived' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("recommendationIds" Data..= recommendationIds)+          ]+      )++instance Data.ToPath NotifyRecommendationsReceived where+  toPath NotifyRecommendationsReceived' {..} =+    Prelude.mconcat+      [ "/assistants/",+        Data.toBS assistantId,+        "/sessions/",+        Data.toBS sessionId,+        "/recommendations/notify"+      ]++instance Data.ToQuery NotifyRecommendationsReceived where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newNotifyRecommendationsReceivedResponse' smart constructor.+data NotifyRecommendationsReceivedResponse = NotifyRecommendationsReceivedResponse'+  { -- | The identifiers of recommendations that are causing errors.+    errors :: Prelude.Maybe [NotifyRecommendationsReceivedError],+    -- | The identifiers of the recommendations.+    recommendationIds :: 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 'NotifyRecommendationsReceivedResponse' 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', 'notifyRecommendationsReceivedResponse_errors' - The identifiers of recommendations that are causing errors.+--+-- 'recommendationIds', 'notifyRecommendationsReceivedResponse_recommendationIds' - The identifiers of the recommendations.+--+-- 'httpStatus', 'notifyRecommendationsReceivedResponse_httpStatus' - The response's http status code.+newNotifyRecommendationsReceivedResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  NotifyRecommendationsReceivedResponse+newNotifyRecommendationsReceivedResponse pHttpStatus_ =+  NotifyRecommendationsReceivedResponse'+    { errors =+        Prelude.Nothing,+      recommendationIds = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The identifiers of recommendations that are causing errors.+notifyRecommendationsReceivedResponse_errors :: Lens.Lens' NotifyRecommendationsReceivedResponse (Prelude.Maybe [NotifyRecommendationsReceivedError])+notifyRecommendationsReceivedResponse_errors = Lens.lens (\NotifyRecommendationsReceivedResponse' {errors} -> errors) (\s@NotifyRecommendationsReceivedResponse' {} a -> s {errors = a} :: NotifyRecommendationsReceivedResponse) Prelude.. Lens.mapping Lens.coerced++-- | The identifiers of the recommendations.+notifyRecommendationsReceivedResponse_recommendationIds :: Lens.Lens' NotifyRecommendationsReceivedResponse (Prelude.Maybe [Prelude.Text])+notifyRecommendationsReceivedResponse_recommendationIds = Lens.lens (\NotifyRecommendationsReceivedResponse' {recommendationIds} -> recommendationIds) (\s@NotifyRecommendationsReceivedResponse' {} a -> s {recommendationIds = a} :: NotifyRecommendationsReceivedResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+notifyRecommendationsReceivedResponse_httpStatus :: Lens.Lens' NotifyRecommendationsReceivedResponse Prelude.Int+notifyRecommendationsReceivedResponse_httpStatus = Lens.lens (\NotifyRecommendationsReceivedResponse' {httpStatus} -> httpStatus) (\s@NotifyRecommendationsReceivedResponse' {} a -> s {httpStatus = a} :: NotifyRecommendationsReceivedResponse)++instance+  Prelude.NFData+    NotifyRecommendationsReceivedResponse+  where+  rnf NotifyRecommendationsReceivedResponse' {..} =+    Prelude.rnf errors+      `Prelude.seq` Prelude.rnf recommendationIds+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/QueryAssistant.hs view
@@ -0,0 +1,258 @@+{-# 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.Wisdom.QueryAssistant+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Performs a manual search against the specified assistant. To retrieve+-- recommendations for an assistant, use+-- <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_GetRecommendations.html GetRecommendations>.+--+-- This operation returns paginated results.+module Amazonka.Wisdom.QueryAssistant+  ( -- * Creating a Request+    QueryAssistant (..),+    newQueryAssistant,++    -- * Request Lenses+    queryAssistant_maxResults,+    queryAssistant_nextToken,+    queryAssistant_assistantId,+    queryAssistant_queryText,++    -- * Destructuring the Response+    QueryAssistantResponse (..),+    newQueryAssistantResponse,++    -- * Response Lenses+    queryAssistantResponse_nextToken,+    queryAssistantResponse_httpStatus,+    queryAssistantResponse_results,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newQueryAssistant' smart constructor.+data QueryAssistant = QueryAssistant'+  { -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    assistantId :: Prelude.Text,+    -- | The text to search for.+    queryText :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'QueryAssistant' 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', 'queryAssistant_maxResults' - The maximum number of results to return per page.+--+-- 'nextToken', 'queryAssistant_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+--+-- 'assistantId', 'queryAssistant_assistantId' - The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+--+-- 'queryText', 'queryAssistant_queryText' - The text to search for.+newQueryAssistant ::+  -- | 'assistantId'+  Prelude.Text ->+  -- | 'queryText'+  Prelude.Text ->+  QueryAssistant+newQueryAssistant pAssistantId_ pQueryText_ =+  QueryAssistant'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      assistantId = pAssistantId_,+      queryText = Data._Sensitive Lens.# pQueryText_+    }++-- | The maximum number of results to return per page.+queryAssistant_maxResults :: Lens.Lens' QueryAssistant (Prelude.Maybe Prelude.Natural)+queryAssistant_maxResults = Lens.lens (\QueryAssistant' {maxResults} -> maxResults) (\s@QueryAssistant' {} a -> s {maxResults = a} :: QueryAssistant)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+queryAssistant_nextToken :: Lens.Lens' QueryAssistant (Prelude.Maybe Prelude.Text)+queryAssistant_nextToken = Lens.lens (\QueryAssistant' {nextToken} -> nextToken) (\s@QueryAssistant' {} a -> s {nextToken = a} :: QueryAssistant)++-- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+queryAssistant_assistantId :: Lens.Lens' QueryAssistant Prelude.Text+queryAssistant_assistantId = Lens.lens (\QueryAssistant' {assistantId} -> assistantId) (\s@QueryAssistant' {} a -> s {assistantId = a} :: QueryAssistant)++-- | The text to search for.+queryAssistant_queryText :: Lens.Lens' QueryAssistant Prelude.Text+queryAssistant_queryText = Lens.lens (\QueryAssistant' {queryText} -> queryText) (\s@QueryAssistant' {} a -> s {queryText = a} :: QueryAssistant) Prelude.. Data._Sensitive++instance Core.AWSPager QueryAssistant where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? queryAssistantResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        (rs Lens.^. queryAssistantResponse_results) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& queryAssistant_nextToken+          Lens..~ rs+          Lens.^? queryAssistantResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest QueryAssistant where+  type+    AWSResponse QueryAssistant =+      QueryAssistantResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          QueryAssistantResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..?> "results" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable QueryAssistant where+  hashWithSalt _salt QueryAssistant' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` assistantId+      `Prelude.hashWithSalt` queryText++instance Prelude.NFData QueryAssistant where+  rnf QueryAssistant' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf assistantId+      `Prelude.seq` Prelude.rnf queryText++instance Data.ToHeaders QueryAssistant where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON QueryAssistant where+  toJSON QueryAssistant' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("maxResults" Data..=) Prelude.<$> maxResults,+            ("nextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("queryText" Data..= queryText)+          ]+      )++instance Data.ToPath QueryAssistant where+  toPath QueryAssistant' {..} =+    Prelude.mconcat+      ["/assistants/", Data.toBS assistantId, "/query"]++instance Data.ToQuery QueryAssistant where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newQueryAssistantResponse' smart constructor.+data QueryAssistantResponse = QueryAssistantResponse'+  { -- | If there are additional results, this is the token for the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The results of the query.+    results :: [ResultData]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'QueryAssistantResponse' 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', 'queryAssistantResponse_nextToken' - If there are additional results, this is the token for the next set of+-- results.+--+-- 'httpStatus', 'queryAssistantResponse_httpStatus' - The response's http status code.+--+-- 'results', 'queryAssistantResponse_results' - The results of the query.+newQueryAssistantResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  QueryAssistantResponse+newQueryAssistantResponse pHttpStatus_ =+  QueryAssistantResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      results = Prelude.mempty+    }++-- | If there are additional results, this is the token for the next set of+-- results.+queryAssistantResponse_nextToken :: Lens.Lens' QueryAssistantResponse (Prelude.Maybe Prelude.Text)+queryAssistantResponse_nextToken = Lens.lens (\QueryAssistantResponse' {nextToken} -> nextToken) (\s@QueryAssistantResponse' {} a -> s {nextToken = a} :: QueryAssistantResponse)++-- | The response's http status code.+queryAssistantResponse_httpStatus :: Lens.Lens' QueryAssistantResponse Prelude.Int+queryAssistantResponse_httpStatus = Lens.lens (\QueryAssistantResponse' {httpStatus} -> httpStatus) (\s@QueryAssistantResponse' {} a -> s {httpStatus = a} :: QueryAssistantResponse)++-- | The results of the query.+queryAssistantResponse_results :: Lens.Lens' QueryAssistantResponse [ResultData]+queryAssistantResponse_results = Lens.lens (\QueryAssistantResponse' {results} -> results) (\s@QueryAssistantResponse' {} a -> s {results = a} :: QueryAssistantResponse) Prelude.. Lens.coerced++instance Prelude.NFData QueryAssistantResponse where+  rnf QueryAssistantResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf results
+ gen/Amazonka/Wisdom/RemoveKnowledgeBaseTemplateUri.hs view
@@ -0,0 +1,175 @@+{-# 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.Wisdom.RemoveKnowledgeBaseTemplateUri+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes a URI template from a knowledge base.+module Amazonka.Wisdom.RemoveKnowledgeBaseTemplateUri+  ( -- * Creating a Request+    RemoveKnowledgeBaseTemplateUri (..),+    newRemoveKnowledgeBaseTemplateUri,++    -- * Request Lenses+    removeKnowledgeBaseTemplateUri_knowledgeBaseId,++    -- * Destructuring the Response+    RemoveKnowledgeBaseTemplateUriResponse (..),+    newRemoveKnowledgeBaseTemplateUriResponse,++    -- * Response Lenses+    removeKnowledgeBaseTemplateUriResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newRemoveKnowledgeBaseTemplateUri' smart constructor.+data RemoveKnowledgeBaseTemplateUri = RemoveKnowledgeBaseTemplateUri'+  { -- | The identifier of the knowledge base. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    knowledgeBaseId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveKnowledgeBaseTemplateUri' 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:+--+-- 'knowledgeBaseId', 'removeKnowledgeBaseTemplateUri_knowledgeBaseId' - The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+newRemoveKnowledgeBaseTemplateUri ::+  -- | 'knowledgeBaseId'+  Prelude.Text ->+  RemoveKnowledgeBaseTemplateUri+newRemoveKnowledgeBaseTemplateUri pKnowledgeBaseId_ =+  RemoveKnowledgeBaseTemplateUri'+    { knowledgeBaseId =+        pKnowledgeBaseId_+    }++-- | The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+removeKnowledgeBaseTemplateUri_knowledgeBaseId :: Lens.Lens' RemoveKnowledgeBaseTemplateUri Prelude.Text+removeKnowledgeBaseTemplateUri_knowledgeBaseId = Lens.lens (\RemoveKnowledgeBaseTemplateUri' {knowledgeBaseId} -> knowledgeBaseId) (\s@RemoveKnowledgeBaseTemplateUri' {} a -> s {knowledgeBaseId = a} :: RemoveKnowledgeBaseTemplateUri)++instance+  Core.AWSRequest+    RemoveKnowledgeBaseTemplateUri+  where+  type+    AWSResponse RemoveKnowledgeBaseTemplateUri =+      RemoveKnowledgeBaseTemplateUriResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          RemoveKnowledgeBaseTemplateUriResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    RemoveKnowledgeBaseTemplateUri+  where+  hashWithSalt+    _salt+    RemoveKnowledgeBaseTemplateUri' {..} =+      _salt `Prelude.hashWithSalt` knowledgeBaseId++instance+  Prelude.NFData+    RemoveKnowledgeBaseTemplateUri+  where+  rnf RemoveKnowledgeBaseTemplateUri' {..} =+    Prelude.rnf knowledgeBaseId++instance+  Data.ToHeaders+    RemoveKnowledgeBaseTemplateUri+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath RemoveKnowledgeBaseTemplateUri where+  toPath RemoveKnowledgeBaseTemplateUri' {..} =+    Prelude.mconcat+      [ "/knowledgeBases/",+        Data.toBS knowledgeBaseId,+        "/templateUri"+      ]++instance Data.ToQuery RemoveKnowledgeBaseTemplateUri where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRemoveKnowledgeBaseTemplateUriResponse' smart constructor.+data RemoveKnowledgeBaseTemplateUriResponse = RemoveKnowledgeBaseTemplateUriResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveKnowledgeBaseTemplateUriResponse' 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', 'removeKnowledgeBaseTemplateUriResponse_httpStatus' - The response's http status code.+newRemoveKnowledgeBaseTemplateUriResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RemoveKnowledgeBaseTemplateUriResponse+newRemoveKnowledgeBaseTemplateUriResponse+  pHttpStatus_ =+    RemoveKnowledgeBaseTemplateUriResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+removeKnowledgeBaseTemplateUriResponse_httpStatus :: Lens.Lens' RemoveKnowledgeBaseTemplateUriResponse Prelude.Int+removeKnowledgeBaseTemplateUriResponse_httpStatus = Lens.lens (\RemoveKnowledgeBaseTemplateUriResponse' {httpStatus} -> httpStatus) (\s@RemoveKnowledgeBaseTemplateUriResponse' {} a -> s {httpStatus = a} :: RemoveKnowledgeBaseTemplateUriResponse)++instance+  Prelude.NFData+    RemoveKnowledgeBaseTemplateUriResponse+  where+  rnf RemoveKnowledgeBaseTemplateUriResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/SearchContent.hs view
@@ -0,0 +1,265 @@+{-# 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.Wisdom.SearchContent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Searches for content in a specified knowledge base. Can be used to get a+-- specific content resource by its name.+--+-- This operation returns paginated results.+module Amazonka.Wisdom.SearchContent+  ( -- * Creating a Request+    SearchContent (..),+    newSearchContent,++    -- * Request Lenses+    searchContent_maxResults,+    searchContent_nextToken,+    searchContent_knowledgeBaseId,+    searchContent_searchExpression,++    -- * Destructuring the Response+    SearchContentResponse (..),+    newSearchContentResponse,++    -- * Response Lenses+    searchContentResponse_nextToken,+    searchContentResponse_httpStatus,+    searchContentResponse_contentSummaries,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newSearchContent' smart constructor.+data SearchContent = SearchContent'+  { -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the knowledge base. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    knowledgeBaseId :: Prelude.Text,+    -- | The search expression to filter results.+    searchExpression :: SearchExpression+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchContent' 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', 'searchContent_maxResults' - The maximum number of results to return per page.+--+-- 'nextToken', 'searchContent_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+--+-- 'knowledgeBaseId', 'searchContent_knowledgeBaseId' - The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+--+-- 'searchExpression', 'searchContent_searchExpression' - The search expression to filter results.+newSearchContent ::+  -- | 'knowledgeBaseId'+  Prelude.Text ->+  -- | 'searchExpression'+  SearchExpression ->+  SearchContent+newSearchContent pKnowledgeBaseId_ pSearchExpression_ =+  SearchContent'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      knowledgeBaseId = pKnowledgeBaseId_,+      searchExpression = pSearchExpression_+    }++-- | The maximum number of results to return per page.+searchContent_maxResults :: Lens.Lens' SearchContent (Prelude.Maybe Prelude.Natural)+searchContent_maxResults = Lens.lens (\SearchContent' {maxResults} -> maxResults) (\s@SearchContent' {} a -> s {maxResults = a} :: SearchContent)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+searchContent_nextToken :: Lens.Lens' SearchContent (Prelude.Maybe Prelude.Text)+searchContent_nextToken = Lens.lens (\SearchContent' {nextToken} -> nextToken) (\s@SearchContent' {} a -> s {nextToken = a} :: SearchContent)++-- | The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+searchContent_knowledgeBaseId :: Lens.Lens' SearchContent Prelude.Text+searchContent_knowledgeBaseId = Lens.lens (\SearchContent' {knowledgeBaseId} -> knowledgeBaseId) (\s@SearchContent' {} a -> s {knowledgeBaseId = a} :: SearchContent)++-- | The search expression to filter results.+searchContent_searchExpression :: Lens.Lens' SearchContent SearchExpression+searchContent_searchExpression = Lens.lens (\SearchContent' {searchExpression} -> searchExpression) (\s@SearchContent' {} a -> s {searchExpression = a} :: SearchContent)++instance Core.AWSPager SearchContent where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? searchContentResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        (rs Lens.^. searchContentResponse_contentSummaries) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& searchContent_nextToken+          Lens..~ rs+          Lens.^? searchContentResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest SearchContent where+  type+    AWSResponse SearchContent =+      SearchContentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          SearchContentResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "contentSummaries"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable SearchContent where+  hashWithSalt _salt SearchContent' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` knowledgeBaseId+      `Prelude.hashWithSalt` searchExpression++instance Prelude.NFData SearchContent where+  rnf SearchContent' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf knowledgeBaseId+      `Prelude.seq` Prelude.rnf searchExpression++instance Data.ToHeaders SearchContent where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON SearchContent where+  toJSON SearchContent' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("searchExpression" Data..= searchExpression)+          ]+      )++instance Data.ToPath SearchContent where+  toPath SearchContent' {..} =+    Prelude.mconcat+      [ "/knowledgeBases/",+        Data.toBS knowledgeBaseId,+        "/search"+      ]++instance Data.ToQuery SearchContent where+  toQuery SearchContent' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newSearchContentResponse' smart constructor.+data SearchContentResponse = SearchContentResponse'+  { -- | If there are additional results, this is the token for the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Summary information about the content.+    contentSummaries :: [ContentSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchContentResponse' 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', 'searchContentResponse_nextToken' - If there are additional results, this is the token for the next set of+-- results.+--+-- 'httpStatus', 'searchContentResponse_httpStatus' - The response's http status code.+--+-- 'contentSummaries', 'searchContentResponse_contentSummaries' - Summary information about the content.+newSearchContentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  SearchContentResponse+newSearchContentResponse pHttpStatus_ =+  SearchContentResponse'+    { nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_,+      contentSummaries = Prelude.mempty+    }++-- | If there are additional results, this is the token for the next set of+-- results.+searchContentResponse_nextToken :: Lens.Lens' SearchContentResponse (Prelude.Maybe Prelude.Text)+searchContentResponse_nextToken = Lens.lens (\SearchContentResponse' {nextToken} -> nextToken) (\s@SearchContentResponse' {} a -> s {nextToken = a} :: SearchContentResponse)++-- | The response's http status code.+searchContentResponse_httpStatus :: Lens.Lens' SearchContentResponse Prelude.Int+searchContentResponse_httpStatus = Lens.lens (\SearchContentResponse' {httpStatus} -> httpStatus) (\s@SearchContentResponse' {} a -> s {httpStatus = a} :: SearchContentResponse)++-- | Summary information about the content.+searchContentResponse_contentSummaries :: Lens.Lens' SearchContentResponse [ContentSummary]+searchContentResponse_contentSummaries = Lens.lens (\SearchContentResponse' {contentSummaries} -> contentSummaries) (\s@SearchContentResponse' {} a -> s {contentSummaries = a} :: SearchContentResponse) Prelude.. Lens.coerced++instance Prelude.NFData SearchContentResponse where+  rnf SearchContentResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf contentSummaries
+ gen/Amazonka/Wisdom/SearchSessions.hs view
@@ -0,0 +1,265 @@+{-# 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.Wisdom.SearchSessions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Searches for sessions.+--+-- This operation returns paginated results.+module Amazonka.Wisdom.SearchSessions+  ( -- * Creating a Request+    SearchSessions (..),+    newSearchSessions,++    -- * Request Lenses+    searchSessions_maxResults,+    searchSessions_nextToken,+    searchSessions_assistantId,+    searchSessions_searchExpression,++    -- * Destructuring the Response+    SearchSessionsResponse (..),+    newSearchSessionsResponse,++    -- * Response Lenses+    searchSessionsResponse_nextToken,+    searchSessionsResponse_httpStatus,+    searchSessionsResponse_sessionSummaries,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newSearchSessions' smart constructor.+data SearchSessions = SearchSessions'+  { -- | The maximum number of results to return per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next set of results. Use the value returned in the+    -- previous response in the next request to retrieve the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    assistantId :: Prelude.Text,+    -- | The search expression to filter results.+    searchExpression :: SearchExpression+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchSessions' 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', 'searchSessions_maxResults' - The maximum number of results to return per page.+--+-- 'nextToken', 'searchSessions_nextToken' - The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+--+-- 'assistantId', 'searchSessions_assistantId' - The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+--+-- 'searchExpression', 'searchSessions_searchExpression' - The search expression to filter results.+newSearchSessions ::+  -- | 'assistantId'+  Prelude.Text ->+  -- | 'searchExpression'+  SearchExpression ->+  SearchSessions+newSearchSessions pAssistantId_ pSearchExpression_ =+  SearchSessions'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      assistantId = pAssistantId_,+      searchExpression = pSearchExpression_+    }++-- | The maximum number of results to return per page.+searchSessions_maxResults :: Lens.Lens' SearchSessions (Prelude.Maybe Prelude.Natural)+searchSessions_maxResults = Lens.lens (\SearchSessions' {maxResults} -> maxResults) (\s@SearchSessions' {} a -> s {maxResults = a} :: SearchSessions)++-- | The token for the next set of results. Use the value returned in the+-- previous response in the next request to retrieve the next set of+-- results.+searchSessions_nextToken :: Lens.Lens' SearchSessions (Prelude.Maybe Prelude.Text)+searchSessions_nextToken = Lens.lens (\SearchSessions' {nextToken} -> nextToken) (\s@SearchSessions' {} a -> s {nextToken = a} :: SearchSessions)++-- | The identifier of the Wisdom assistant. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+searchSessions_assistantId :: Lens.Lens' SearchSessions Prelude.Text+searchSessions_assistantId = Lens.lens (\SearchSessions' {assistantId} -> assistantId) (\s@SearchSessions' {} a -> s {assistantId = a} :: SearchSessions)++-- | The search expression to filter results.+searchSessions_searchExpression :: Lens.Lens' SearchSessions SearchExpression+searchSessions_searchExpression = Lens.lens (\SearchSessions' {searchExpression} -> searchExpression) (\s@SearchSessions' {} a -> s {searchExpression = a} :: SearchSessions)++instance Core.AWSPager SearchSessions where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? searchSessionsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        (rs Lens.^. searchSessionsResponse_sessionSummaries) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& searchSessions_nextToken+          Lens..~ rs+          Lens.^? searchSessionsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest SearchSessions where+  type+    AWSResponse SearchSessions =+      SearchSessionsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          SearchSessionsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "sessionSummaries"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable SearchSessions where+  hashWithSalt _salt SearchSessions' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` assistantId+      `Prelude.hashWithSalt` searchExpression++instance Prelude.NFData SearchSessions where+  rnf SearchSessions' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf assistantId+      `Prelude.seq` Prelude.rnf searchExpression++instance Data.ToHeaders SearchSessions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON SearchSessions where+  toJSON SearchSessions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("searchExpression" Data..= searchExpression)+          ]+      )++instance Data.ToPath SearchSessions where+  toPath SearchSessions' {..} =+    Prelude.mconcat+      [ "/assistants/",+        Data.toBS assistantId,+        "/searchSessions"+      ]++instance Data.ToQuery SearchSessions where+  toQuery SearchSessions' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newSearchSessionsResponse' smart constructor.+data SearchSessionsResponse = SearchSessionsResponse'+  { -- | If there are additional results, this is the token for the next set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Summary information about the sessions.+    sessionSummaries :: [SessionSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchSessionsResponse' 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', 'searchSessionsResponse_nextToken' - If there are additional results, this is the token for the next set of+-- results.+--+-- 'httpStatus', 'searchSessionsResponse_httpStatus' - The response's http status code.+--+-- 'sessionSummaries', 'searchSessionsResponse_sessionSummaries' - Summary information about the sessions.+newSearchSessionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  SearchSessionsResponse+newSearchSessionsResponse pHttpStatus_ =+  SearchSessionsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      sessionSummaries = Prelude.mempty+    }++-- | If there are additional results, this is the token for the next set of+-- results.+searchSessionsResponse_nextToken :: Lens.Lens' SearchSessionsResponse (Prelude.Maybe Prelude.Text)+searchSessionsResponse_nextToken = Lens.lens (\SearchSessionsResponse' {nextToken} -> nextToken) (\s@SearchSessionsResponse' {} a -> s {nextToken = a} :: SearchSessionsResponse)++-- | The response's http status code.+searchSessionsResponse_httpStatus :: Lens.Lens' SearchSessionsResponse Prelude.Int+searchSessionsResponse_httpStatus = Lens.lens (\SearchSessionsResponse' {httpStatus} -> httpStatus) (\s@SearchSessionsResponse' {} a -> s {httpStatus = a} :: SearchSessionsResponse)++-- | Summary information about the sessions.+searchSessionsResponse_sessionSummaries :: Lens.Lens' SearchSessionsResponse [SessionSummary]+searchSessionsResponse_sessionSummaries = Lens.lens (\SearchSessionsResponse' {sessionSummaries} -> sessionSummaries) (\s@SearchSessionsResponse' {} a -> s {sessionSummaries = a} :: SearchSessionsResponse) Prelude.. Lens.coerced++instance Prelude.NFData SearchSessionsResponse where+  rnf SearchSessionsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf sessionSummaries
+ gen/Amazonka/Wisdom/StartContentUpload.hs view
@@ -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.Wisdom.StartContentUpload+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get a URL to upload content to a knowledge base. To upload content,+-- first make a PUT request to the returned URL with your file, making sure+-- to include the required headers. Then use+-- <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_CreateContent.html CreateContent>+-- to finalize the content creation process or+-- <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_UpdateContent.html UpdateContent>+-- to modify an existing resource. You can only upload content to a+-- knowledge base of type CUSTOM.+module Amazonka.Wisdom.StartContentUpload+  ( -- * Creating a Request+    StartContentUpload (..),+    newStartContentUpload,++    -- * Request Lenses+    startContentUpload_contentType,+    startContentUpload_knowledgeBaseId,++    -- * Destructuring the Response+    StartContentUploadResponse (..),+    newStartContentUploadResponse,++    -- * Response Lenses+    startContentUploadResponse_httpStatus,+    startContentUploadResponse_headersToInclude,+    startContentUploadResponse_uploadId,+    startContentUploadResponse_url,+    startContentUploadResponse_urlExpiry,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newStartContentUpload' smart constructor.+data StartContentUpload = StartContentUpload'+  { -- | The type of content to upload.+    contentType :: Prelude.Text,+    -- | The identifier of the knowledge base. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    knowledgeBaseId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartContentUpload' 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:+--+-- 'contentType', 'startContentUpload_contentType' - The type of content to upload.+--+-- 'knowledgeBaseId', 'startContentUpload_knowledgeBaseId' - The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+newStartContentUpload ::+  -- | 'contentType'+  Prelude.Text ->+  -- | 'knowledgeBaseId'+  Prelude.Text ->+  StartContentUpload+newStartContentUpload pContentType_ pKnowledgeBaseId_ =+  StartContentUpload'+    { contentType = pContentType_,+      knowledgeBaseId = pKnowledgeBaseId_+    }++-- | The type of content to upload.+startContentUpload_contentType :: Lens.Lens' StartContentUpload Prelude.Text+startContentUpload_contentType = Lens.lens (\StartContentUpload' {contentType} -> contentType) (\s@StartContentUpload' {} a -> s {contentType = a} :: StartContentUpload)++-- | The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+startContentUpload_knowledgeBaseId :: Lens.Lens' StartContentUpload Prelude.Text+startContentUpload_knowledgeBaseId = Lens.lens (\StartContentUpload' {knowledgeBaseId} -> knowledgeBaseId) (\s@StartContentUpload' {} a -> s {knowledgeBaseId = a} :: StartContentUpload)++instance Core.AWSRequest StartContentUpload where+  type+    AWSResponse StartContentUpload =+      StartContentUploadResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartContentUploadResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "headersToInclude"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..:> "uploadId")+            Prelude.<*> (x Data..:> "url")+            Prelude.<*> (x Data..:> "urlExpiry")+      )++instance Prelude.Hashable StartContentUpload where+  hashWithSalt _salt StartContentUpload' {..} =+    _salt+      `Prelude.hashWithSalt` contentType+      `Prelude.hashWithSalt` knowledgeBaseId++instance Prelude.NFData StartContentUpload where+  rnf StartContentUpload' {..} =+    Prelude.rnf contentType+      `Prelude.seq` Prelude.rnf knowledgeBaseId++instance Data.ToHeaders StartContentUpload where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartContentUpload where+  toJSON StartContentUpload' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("contentType" Data..= contentType)]+      )++instance Data.ToPath StartContentUpload where+  toPath StartContentUpload' {..} =+    Prelude.mconcat+      [ "/knowledgeBases/",+        Data.toBS knowledgeBaseId,+        "/upload"+      ]++instance Data.ToQuery StartContentUpload where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartContentUploadResponse' smart constructor.+data StartContentUploadResponse = StartContentUploadResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The headers to include in the upload.+    headersToInclude :: Prelude.HashMap Prelude.Text Prelude.Text,+    -- | The identifier of the upload.+    uploadId :: Prelude.Text,+    -- | The URL of the upload.+    url :: Data.Sensitive Prelude.Text,+    -- | The expiration time of the URL as an epoch timestamp.+    urlExpiry :: Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartContentUploadResponse' 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', 'startContentUploadResponse_httpStatus' - The response's http status code.+--+-- 'headersToInclude', 'startContentUploadResponse_headersToInclude' - The headers to include in the upload.+--+-- 'uploadId', 'startContentUploadResponse_uploadId' - The identifier of the upload.+--+-- 'url', 'startContentUploadResponse_url' - The URL of the upload.+--+-- 'urlExpiry', 'startContentUploadResponse_urlExpiry' - The expiration time of the URL as an epoch timestamp.+newStartContentUploadResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'uploadId'+  Prelude.Text ->+  -- | 'url'+  Prelude.Text ->+  -- | 'urlExpiry'+  Prelude.UTCTime ->+  StartContentUploadResponse+newStartContentUploadResponse+  pHttpStatus_+  pUploadId_+  pUrl_+  pUrlExpiry_ =+    StartContentUploadResponse'+      { httpStatus =+          pHttpStatus_,+        headersToInclude = Prelude.mempty,+        uploadId = pUploadId_,+        url = Data._Sensitive Lens.# pUrl_,+        urlExpiry = Data._Time Lens.# pUrlExpiry_+      }++-- | The response's http status code.+startContentUploadResponse_httpStatus :: Lens.Lens' StartContentUploadResponse Prelude.Int+startContentUploadResponse_httpStatus = Lens.lens (\StartContentUploadResponse' {httpStatus} -> httpStatus) (\s@StartContentUploadResponse' {} a -> s {httpStatus = a} :: StartContentUploadResponse)++-- | The headers to include in the upload.+startContentUploadResponse_headersToInclude :: Lens.Lens' StartContentUploadResponse (Prelude.HashMap Prelude.Text Prelude.Text)+startContentUploadResponse_headersToInclude = Lens.lens (\StartContentUploadResponse' {headersToInclude} -> headersToInclude) (\s@StartContentUploadResponse' {} a -> s {headersToInclude = a} :: StartContentUploadResponse) Prelude.. Lens.coerced++-- | The identifier of the upload.+startContentUploadResponse_uploadId :: Lens.Lens' StartContentUploadResponse Prelude.Text+startContentUploadResponse_uploadId = Lens.lens (\StartContentUploadResponse' {uploadId} -> uploadId) (\s@StartContentUploadResponse' {} a -> s {uploadId = a} :: StartContentUploadResponse)++-- | The URL of the upload.+startContentUploadResponse_url :: Lens.Lens' StartContentUploadResponse Prelude.Text+startContentUploadResponse_url = Lens.lens (\StartContentUploadResponse' {url} -> url) (\s@StartContentUploadResponse' {} a -> s {url = a} :: StartContentUploadResponse) Prelude.. Data._Sensitive++-- | The expiration time of the URL as an epoch timestamp.+startContentUploadResponse_urlExpiry :: Lens.Lens' StartContentUploadResponse Prelude.UTCTime+startContentUploadResponse_urlExpiry = Lens.lens (\StartContentUploadResponse' {urlExpiry} -> urlExpiry) (\s@StartContentUploadResponse' {} a -> s {urlExpiry = a} :: StartContentUploadResponse) Prelude.. Data._Time++instance Prelude.NFData StartContentUploadResponse where+  rnf StartContentUploadResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf headersToInclude+      `Prelude.seq` Prelude.rnf uploadId+      `Prelude.seq` Prelude.rnf url+      `Prelude.seq` Prelude.rnf urlExpiry
+ gen/Amazonka/Wisdom/TagResource.hs view
@@ -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.Wisdom.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)+--+-- Adds the specified tags to the specified resource.+module Amazonka.Wisdom.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 qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The Amazon Resource Name (ARN) of the resource.+    resourceArn :: Prelude.Text,+    -- | The tags used to organize, track, or control access for this 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 Amazon Resource Name (ARN) of the resource.+--+-- 'tags', 'tagResource_tags' - The tags used to organize, track, or control access for this resource.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the resource.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The tags used to organize, track, or control access for this 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
+ gen/Amazonka/Wisdom/Types.hs view
@@ -0,0 +1,486 @@+{-# 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.Wisdom.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.Wisdom.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _ConflictException,+    _PreconditionFailedException,+    _ResourceNotFoundException,+    _ServiceQuotaExceededException,+    _TooManyTagsException,+    _ValidationException,++    -- * AssistantStatus+    AssistantStatus (..),++    -- * AssistantType+    AssistantType (..),++    -- * AssociationType+    AssociationType (..),++    -- * ContentStatus+    ContentStatus (..),++    -- * FilterField+    FilterField (..),++    -- * FilterOperator+    FilterOperator (..),++    -- * KnowledgeBaseStatus+    KnowledgeBaseStatus (..),++    -- * KnowledgeBaseType+    KnowledgeBaseType (..),++    -- * RecommendationSourceType+    RecommendationSourceType (..),++    -- * RecommendationTriggerType+    RecommendationTriggerType (..),++    -- * RecommendationType+    RecommendationType (..),++    -- * RelevanceLevel+    RelevanceLevel (..),++    -- * AppIntegrationsConfiguration+    AppIntegrationsConfiguration (..),+    newAppIntegrationsConfiguration,+    appIntegrationsConfiguration_appIntegrationArn,+    appIntegrationsConfiguration_objectFields,++    -- * AssistantAssociationData+    AssistantAssociationData (..),+    newAssistantAssociationData,+    assistantAssociationData_tags,+    assistantAssociationData_assistantArn,+    assistantAssociationData_assistantAssociationArn,+    assistantAssociationData_assistantAssociationId,+    assistantAssociationData_assistantId,+    assistantAssociationData_associationData,+    assistantAssociationData_associationType,++    -- * AssistantAssociationInputData+    AssistantAssociationInputData (..),+    newAssistantAssociationInputData,+    assistantAssociationInputData_knowledgeBaseId,++    -- * AssistantAssociationOutputData+    AssistantAssociationOutputData (..),+    newAssistantAssociationOutputData,+    assistantAssociationOutputData_knowledgeBaseAssociation,++    -- * AssistantAssociationSummary+    AssistantAssociationSummary (..),+    newAssistantAssociationSummary,+    assistantAssociationSummary_tags,+    assistantAssociationSummary_assistantArn,+    assistantAssociationSummary_assistantAssociationArn,+    assistantAssociationSummary_assistantAssociationId,+    assistantAssociationSummary_assistantId,+    assistantAssociationSummary_associationData,+    assistantAssociationSummary_associationType,++    -- * AssistantData+    AssistantData (..),+    newAssistantData,+    assistantData_description,+    assistantData_serverSideEncryptionConfiguration,+    assistantData_tags,+    assistantData_assistantArn,+    assistantData_assistantId,+    assistantData_name,+    assistantData_status,+    assistantData_type,++    -- * AssistantSummary+    AssistantSummary (..),+    newAssistantSummary,+    assistantSummary_description,+    assistantSummary_serverSideEncryptionConfiguration,+    assistantSummary_tags,+    assistantSummary_assistantArn,+    assistantSummary_assistantId,+    assistantSummary_name,+    assistantSummary_status,+    assistantSummary_type,++    -- * ContentData+    ContentData (..),+    newContentData,+    contentData_linkOutUri,+    contentData_tags,+    contentData_contentArn,+    contentData_contentId,+    contentData_contentType,+    contentData_knowledgeBaseArn,+    contentData_knowledgeBaseId,+    contentData_metadata,+    contentData_name,+    contentData_revisionId,+    contentData_status,+    contentData_title,+    contentData_url,+    contentData_urlExpiry,++    -- * ContentReference+    ContentReference (..),+    newContentReference,+    contentReference_contentArn,+    contentReference_contentId,+    contentReference_knowledgeBaseArn,+    contentReference_knowledgeBaseId,++    -- * ContentSummary+    ContentSummary (..),+    newContentSummary,+    contentSummary_tags,+    contentSummary_contentArn,+    contentSummary_contentId,+    contentSummary_contentType,+    contentSummary_knowledgeBaseArn,+    contentSummary_knowledgeBaseId,+    contentSummary_metadata,+    contentSummary_name,+    contentSummary_revisionId,+    contentSummary_status,+    contentSummary_title,++    -- * Document+    Document (..),+    newDocument,+    document_excerpt,+    document_title,+    document_contentReference,++    -- * DocumentText+    DocumentText (..),+    newDocumentText,+    documentText_highlights,+    documentText_text,++    -- * Filter+    Filter (..),+    newFilter,+    filter_field,+    filter_operator,+    filter_value,++    -- * Highlight+    Highlight (..),+    newHighlight,+    highlight_beginOffsetInclusive,+    highlight_endOffsetExclusive,++    -- * KnowledgeBaseAssociationData+    KnowledgeBaseAssociationData (..),+    newKnowledgeBaseAssociationData,+    knowledgeBaseAssociationData_knowledgeBaseArn,+    knowledgeBaseAssociationData_knowledgeBaseId,++    -- * KnowledgeBaseData+    KnowledgeBaseData (..),+    newKnowledgeBaseData,+    knowledgeBaseData_description,+    knowledgeBaseData_lastContentModificationTime,+    knowledgeBaseData_renderingConfiguration,+    knowledgeBaseData_serverSideEncryptionConfiguration,+    knowledgeBaseData_sourceConfiguration,+    knowledgeBaseData_tags,+    knowledgeBaseData_knowledgeBaseArn,+    knowledgeBaseData_knowledgeBaseId,+    knowledgeBaseData_knowledgeBaseType,+    knowledgeBaseData_name,+    knowledgeBaseData_status,++    -- * KnowledgeBaseSummary+    KnowledgeBaseSummary (..),+    newKnowledgeBaseSummary,+    knowledgeBaseSummary_description,+    knowledgeBaseSummary_renderingConfiguration,+    knowledgeBaseSummary_serverSideEncryptionConfiguration,+    knowledgeBaseSummary_sourceConfiguration,+    knowledgeBaseSummary_tags,+    knowledgeBaseSummary_knowledgeBaseArn,+    knowledgeBaseSummary_knowledgeBaseId,+    knowledgeBaseSummary_knowledgeBaseType,+    knowledgeBaseSummary_name,+    knowledgeBaseSummary_status,++    -- * NotifyRecommendationsReceivedError+    NotifyRecommendationsReceivedError (..),+    newNotifyRecommendationsReceivedError,+    notifyRecommendationsReceivedError_message,+    notifyRecommendationsReceivedError_recommendationId,++    -- * QueryRecommendationTriggerData+    QueryRecommendationTriggerData (..),+    newQueryRecommendationTriggerData,+    queryRecommendationTriggerData_text,++    -- * RecommendationData+    RecommendationData (..),+    newRecommendationData,+    recommendationData_relevanceLevel,+    recommendationData_relevanceScore,+    recommendationData_type,+    recommendationData_document,+    recommendationData_recommendationId,++    -- * RecommendationTrigger+    RecommendationTrigger (..),+    newRecommendationTrigger,+    recommendationTrigger_data,+    recommendationTrigger_id,+    recommendationTrigger_recommendationIds,+    recommendationTrigger_source,+    recommendationTrigger_type,++    -- * RecommendationTriggerData+    RecommendationTriggerData (..),+    newRecommendationTriggerData,+    recommendationTriggerData_query,++    -- * RenderingConfiguration+    RenderingConfiguration (..),+    newRenderingConfiguration,+    renderingConfiguration_templateUri,++    -- * ResultData+    ResultData (..),+    newResultData,+    resultData_relevanceScore,+    resultData_document,+    resultData_resultId,++    -- * SearchExpression+    SearchExpression (..),+    newSearchExpression,+    searchExpression_filters,++    -- * ServerSideEncryptionConfiguration+    ServerSideEncryptionConfiguration (..),+    newServerSideEncryptionConfiguration,+    serverSideEncryptionConfiguration_kmsKeyId,++    -- * SessionData+    SessionData (..),+    newSessionData,+    sessionData_description,+    sessionData_tags,+    sessionData_name,+    sessionData_sessionArn,+    sessionData_sessionId,++    -- * SessionSummary+    SessionSummary (..),+    newSessionSummary,+    sessionSummary_assistantArn,+    sessionSummary_assistantId,+    sessionSummary_sessionArn,+    sessionSummary_sessionId,++    -- * SourceConfiguration+    SourceConfiguration (..),+    newSourceConfiguration,+    sourceConfiguration_appIntegrations,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign+import Amazonka.Wisdom.Types.AppIntegrationsConfiguration+import Amazonka.Wisdom.Types.AssistantAssociationData+import Amazonka.Wisdom.Types.AssistantAssociationInputData+import Amazonka.Wisdom.Types.AssistantAssociationOutputData+import Amazonka.Wisdom.Types.AssistantAssociationSummary+import Amazonka.Wisdom.Types.AssistantData+import Amazonka.Wisdom.Types.AssistantStatus+import Amazonka.Wisdom.Types.AssistantSummary+import Amazonka.Wisdom.Types.AssistantType+import Amazonka.Wisdom.Types.AssociationType+import Amazonka.Wisdom.Types.ContentData+import Amazonka.Wisdom.Types.ContentReference+import Amazonka.Wisdom.Types.ContentStatus+import Amazonka.Wisdom.Types.ContentSummary+import Amazonka.Wisdom.Types.Document+import Amazonka.Wisdom.Types.DocumentText+import Amazonka.Wisdom.Types.Filter+import Amazonka.Wisdom.Types.FilterField+import Amazonka.Wisdom.Types.FilterOperator+import Amazonka.Wisdom.Types.Highlight+import Amazonka.Wisdom.Types.KnowledgeBaseAssociationData+import Amazonka.Wisdom.Types.KnowledgeBaseData+import Amazonka.Wisdom.Types.KnowledgeBaseStatus+import Amazonka.Wisdom.Types.KnowledgeBaseSummary+import Amazonka.Wisdom.Types.KnowledgeBaseType+import Amazonka.Wisdom.Types.NotifyRecommendationsReceivedError+import Amazonka.Wisdom.Types.QueryRecommendationTriggerData+import Amazonka.Wisdom.Types.RecommendationData+import Amazonka.Wisdom.Types.RecommendationSourceType+import Amazonka.Wisdom.Types.RecommendationTrigger+import Amazonka.Wisdom.Types.RecommendationTriggerData+import Amazonka.Wisdom.Types.RecommendationTriggerType+import Amazonka.Wisdom.Types.RecommendationType+import Amazonka.Wisdom.Types.RelevanceLevel+import Amazonka.Wisdom.Types.RenderingConfiguration+import Amazonka.Wisdom.Types.ResultData+import Amazonka.Wisdom.Types.SearchExpression+import Amazonka.Wisdom.Types.ServerSideEncryptionConfiguration+import Amazonka.Wisdom.Types.SessionData+import Amazonka.Wisdom.Types.SessionSummary+import Amazonka.Wisdom.Types.SourceConfiguration++-- | API version @2020-10-19@ of the Amazon Connect Wisdom Service SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "Wisdom",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "wisdom",+      Core.signingName = "wisdom",+      Core.version = "2020-10-19",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "Wisdom",+      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 could not be processed because of conflict in the current+-- state of the resource. For example, if you\'re using a @Create@ API+-- (such as @CreateAssistant@) that accepts name, a conflicting resource+-- (usually with the same name) is being created or mutated.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | The provided @revisionId@ does not match, indicating the content has+-- been modified since it was last read.+_PreconditionFailedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_PreconditionFailedException =+  Core._MatchServiceError+    defaultService+    "PreconditionFailedException"+    Prelude.. Core.hasStatus 412++-- | The specified resource does not exist.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | You\'ve exceeded your service quota. To perform the requested action,+-- remove some of the relevant resources, or use service quotas to request+-- a service quota increase.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"+    Prelude.. Core.hasStatus 402++-- | Amazon Connect Wisdom throws this exception if you have too many tags in+-- your tag set.+_TooManyTagsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TooManyTagsException =+  Core._MatchServiceError+    defaultService+    "TooManyTagsException"+    Prelude.. Core.hasStatus 400++-- | The input fails to satisfy the constraints specified by a service.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/Wisdom/Types/AppIntegrationsConfiguration.hs view
@@ -0,0 +1,151 @@+{-# 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.Wisdom.Types.AppIntegrationsConfiguration+-- 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.Wisdom.Types.AppIntegrationsConfiguration 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++-- | Configuration information for Amazon AppIntegrations to automatically+-- ingest content.+--+-- /See:/ 'newAppIntegrationsConfiguration' smart constructor.+data AppIntegrationsConfiguration = AppIntegrationsConfiguration'+  { -- | The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to+    -- use for ingesting content.+    appIntegrationArn :: Prelude.Text,+    -- | The fields from the source that are made available to your agents in+    -- Wisdom.+    --+    -- -   For+    --     <https://developer.salesforce.com/docs/atlas.en-us.knowledge_dev.meta/knowledge_dev/sforce_api_objects_knowledge__kav.htm Salesforce>,+    --     you must include at least @Id@, @ArticleNumber@, @VersionNumber@,+    --     @Title@, @PublishStatus@, and @IsDeleted@.+    --+    -- -   For+    --     <https://developer.servicenow.com/dev.do#!/reference/api/rome/rest/knowledge-management-api ServiceNow>,+    --     you must include at least @number@, @short_description@,+    --     @sys_mod_count@, @workflow_state@, and @active@.+    --+    -- Make sure to include additional fields. These fields are indexed and+    -- used to source recommendations.+    objectFields :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppIntegrationsConfiguration' 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:+--+-- 'appIntegrationArn', 'appIntegrationsConfiguration_appIntegrationArn' - The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to+-- use for ingesting content.+--+-- 'objectFields', 'appIntegrationsConfiguration_objectFields' - The fields from the source that are made available to your agents in+-- Wisdom.+--+-- -   For+--     <https://developer.salesforce.com/docs/atlas.en-us.knowledge_dev.meta/knowledge_dev/sforce_api_objects_knowledge__kav.htm Salesforce>,+--     you must include at least @Id@, @ArticleNumber@, @VersionNumber@,+--     @Title@, @PublishStatus@, and @IsDeleted@.+--+-- -   For+--     <https://developer.servicenow.com/dev.do#!/reference/api/rome/rest/knowledge-management-api ServiceNow>,+--     you must include at least @number@, @short_description@,+--     @sys_mod_count@, @workflow_state@, and @active@.+--+-- Make sure to include additional fields. These fields are indexed and+-- used to source recommendations.+newAppIntegrationsConfiguration ::+  -- | 'appIntegrationArn'+  Prelude.Text ->+  -- | 'objectFields'+  Prelude.NonEmpty Prelude.Text ->+  AppIntegrationsConfiguration+newAppIntegrationsConfiguration+  pAppIntegrationArn_+  pObjectFields_ =+    AppIntegrationsConfiguration'+      { appIntegrationArn =+          pAppIntegrationArn_,+        objectFields =+          Lens.coerced Lens.# pObjectFields_+      }++-- | The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to+-- use for ingesting content.+appIntegrationsConfiguration_appIntegrationArn :: Lens.Lens' AppIntegrationsConfiguration Prelude.Text+appIntegrationsConfiguration_appIntegrationArn = Lens.lens (\AppIntegrationsConfiguration' {appIntegrationArn} -> appIntegrationArn) (\s@AppIntegrationsConfiguration' {} a -> s {appIntegrationArn = a} :: AppIntegrationsConfiguration)++-- | The fields from the source that are made available to your agents in+-- Wisdom.+--+-- -   For+--     <https://developer.salesforce.com/docs/atlas.en-us.knowledge_dev.meta/knowledge_dev/sforce_api_objects_knowledge__kav.htm Salesforce>,+--     you must include at least @Id@, @ArticleNumber@, @VersionNumber@,+--     @Title@, @PublishStatus@, and @IsDeleted@.+--+-- -   For+--     <https://developer.servicenow.com/dev.do#!/reference/api/rome/rest/knowledge-management-api ServiceNow>,+--     you must include at least @number@, @short_description@,+--     @sys_mod_count@, @workflow_state@, and @active@.+--+-- Make sure to include additional fields. These fields are indexed and+-- used to source recommendations.+appIntegrationsConfiguration_objectFields :: Lens.Lens' AppIntegrationsConfiguration (Prelude.NonEmpty Prelude.Text)+appIntegrationsConfiguration_objectFields = Lens.lens (\AppIntegrationsConfiguration' {objectFields} -> objectFields) (\s@AppIntegrationsConfiguration' {} a -> s {objectFields = a} :: AppIntegrationsConfiguration) Prelude.. Lens.coerced++instance Data.FromJSON AppIntegrationsConfiguration where+  parseJSON =+    Data.withObject+      "AppIntegrationsConfiguration"+      ( \x ->+          AppIntegrationsConfiguration'+            Prelude.<$> (x Data..: "appIntegrationArn")+            Prelude.<*> (x Data..: "objectFields")+      )++instance+  Prelude.Hashable+    AppIntegrationsConfiguration+  where+  hashWithSalt _salt AppIntegrationsConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` appIntegrationArn+      `Prelude.hashWithSalt` objectFields++instance Prelude.NFData AppIntegrationsConfiguration where+  rnf AppIntegrationsConfiguration' {..} =+    Prelude.rnf appIntegrationArn+      `Prelude.seq` Prelude.rnf objectFields++instance Data.ToJSON AppIntegrationsConfiguration where+  toJSON AppIntegrationsConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("appIntegrationArn" Data..= appIntegrationArn),+            Prelude.Just ("objectFields" Data..= objectFields)+          ]+      )
+ gen/Amazonka/Wisdom/Types/AssistantAssociationData.hs view
@@ -0,0 +1,168 @@+{-# 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.Wisdom.Types.AssistantAssociationData+-- 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.Wisdom.Types.AssistantAssociationData 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+import Amazonka.Wisdom.Types.AssistantAssociationOutputData+import Amazonka.Wisdom.Types.AssociationType++-- | Information about the assistant association.+--+-- /See:/ 'newAssistantAssociationData' smart constructor.+data AssistantAssociationData = AssistantAssociationData'+  { -- | The tags used to organize, track, or control access for this resource.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) of the Wisdom assistant.+    assistantArn :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the assistant association.+    assistantAssociationArn :: Prelude.Text,+    -- | The identifier of the assistant association.+    assistantAssociationId :: Prelude.Text,+    -- | The identifier of the Wisdom assistant.+    assistantId :: Prelude.Text,+    -- | A union type that currently has a single argument, the knowledge base+    -- ID.+    associationData :: AssistantAssociationOutputData,+    -- | The type of association.+    associationType :: AssociationType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssistantAssociationData' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'assistantAssociationData_tags' - The tags used to organize, track, or control access for this resource.+--+-- 'assistantArn', 'assistantAssociationData_assistantArn' - The Amazon Resource Name (ARN) of the Wisdom assistant.+--+-- 'assistantAssociationArn', 'assistantAssociationData_assistantAssociationArn' - The Amazon Resource Name (ARN) of the assistant association.+--+-- 'assistantAssociationId', 'assistantAssociationData_assistantAssociationId' - The identifier of the assistant association.+--+-- 'assistantId', 'assistantAssociationData_assistantId' - The identifier of the Wisdom assistant.+--+-- 'associationData', 'assistantAssociationData_associationData' - A union type that currently has a single argument, the knowledge base+-- ID.+--+-- 'associationType', 'assistantAssociationData_associationType' - The type of association.+newAssistantAssociationData ::+  -- | 'assistantArn'+  Prelude.Text ->+  -- | 'assistantAssociationArn'+  Prelude.Text ->+  -- | 'assistantAssociationId'+  Prelude.Text ->+  -- | 'assistantId'+  Prelude.Text ->+  -- | 'associationData'+  AssistantAssociationOutputData ->+  -- | 'associationType'+  AssociationType ->+  AssistantAssociationData+newAssistantAssociationData+  pAssistantArn_+  pAssistantAssociationArn_+  pAssistantAssociationId_+  pAssistantId_+  pAssociationData_+  pAssociationType_ =+    AssistantAssociationData'+      { tags = Prelude.Nothing,+        assistantArn = pAssistantArn_,+        assistantAssociationArn =+          pAssistantAssociationArn_,+        assistantAssociationId = pAssistantAssociationId_,+        assistantId = pAssistantId_,+        associationData = pAssociationData_,+        associationType = pAssociationType_+      }++-- | The tags used to organize, track, or control access for this resource.+assistantAssociationData_tags :: Lens.Lens' AssistantAssociationData (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+assistantAssociationData_tags = Lens.lens (\AssistantAssociationData' {tags} -> tags) (\s@AssistantAssociationData' {} a -> s {tags = a} :: AssistantAssociationData) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the Wisdom assistant.+assistantAssociationData_assistantArn :: Lens.Lens' AssistantAssociationData Prelude.Text+assistantAssociationData_assistantArn = Lens.lens (\AssistantAssociationData' {assistantArn} -> assistantArn) (\s@AssistantAssociationData' {} a -> s {assistantArn = a} :: AssistantAssociationData)++-- | The Amazon Resource Name (ARN) of the assistant association.+assistantAssociationData_assistantAssociationArn :: Lens.Lens' AssistantAssociationData Prelude.Text+assistantAssociationData_assistantAssociationArn = Lens.lens (\AssistantAssociationData' {assistantAssociationArn} -> assistantAssociationArn) (\s@AssistantAssociationData' {} a -> s {assistantAssociationArn = a} :: AssistantAssociationData)++-- | The identifier of the assistant association.+assistantAssociationData_assistantAssociationId :: Lens.Lens' AssistantAssociationData Prelude.Text+assistantAssociationData_assistantAssociationId = Lens.lens (\AssistantAssociationData' {assistantAssociationId} -> assistantAssociationId) (\s@AssistantAssociationData' {} a -> s {assistantAssociationId = a} :: AssistantAssociationData)++-- | The identifier of the Wisdom assistant.+assistantAssociationData_assistantId :: Lens.Lens' AssistantAssociationData Prelude.Text+assistantAssociationData_assistantId = Lens.lens (\AssistantAssociationData' {assistantId} -> assistantId) (\s@AssistantAssociationData' {} a -> s {assistantId = a} :: AssistantAssociationData)++-- | A union type that currently has a single argument, the knowledge base+-- ID.+assistantAssociationData_associationData :: Lens.Lens' AssistantAssociationData AssistantAssociationOutputData+assistantAssociationData_associationData = Lens.lens (\AssistantAssociationData' {associationData} -> associationData) (\s@AssistantAssociationData' {} a -> s {associationData = a} :: AssistantAssociationData)++-- | The type of association.+assistantAssociationData_associationType :: Lens.Lens' AssistantAssociationData AssociationType+assistantAssociationData_associationType = Lens.lens (\AssistantAssociationData' {associationType} -> associationType) (\s@AssistantAssociationData' {} a -> s {associationType = a} :: AssistantAssociationData)++instance Data.FromJSON AssistantAssociationData where+  parseJSON =+    Data.withObject+      "AssistantAssociationData"+      ( \x ->+          AssistantAssociationData'+            Prelude.<$> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "assistantArn")+            Prelude.<*> (x Data..: "assistantAssociationArn")+            Prelude.<*> (x Data..: "assistantAssociationId")+            Prelude.<*> (x Data..: "assistantId")+            Prelude.<*> (x Data..: "associationData")+            Prelude.<*> (x Data..: "associationType")+      )++instance Prelude.Hashable AssistantAssociationData where+  hashWithSalt _salt AssistantAssociationData' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` assistantArn+      `Prelude.hashWithSalt` assistantAssociationArn+      `Prelude.hashWithSalt` assistantAssociationId+      `Prelude.hashWithSalt` assistantId+      `Prelude.hashWithSalt` associationData+      `Prelude.hashWithSalt` associationType++instance Prelude.NFData AssistantAssociationData where+  rnf AssistantAssociationData' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf assistantArn+      `Prelude.seq` Prelude.rnf assistantAssociationArn+      `Prelude.seq` Prelude.rnf assistantAssociationId+      `Prelude.seq` Prelude.rnf assistantId+      `Prelude.seq` Prelude.rnf associationData+      `Prelude.seq` Prelude.rnf associationType
+ gen/Amazonka/Wisdom/Types/AssistantAssociationInputData.hs view
@@ -0,0 +1,76 @@+{-# 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.Wisdom.Types.AssistantAssociationInputData+-- 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.Wisdom.Types.AssistantAssociationInputData where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The data that is input into Wisdom as a result of the assistant+-- association.+--+-- /See:/ 'newAssistantAssociationInputData' smart constructor.+data AssistantAssociationInputData = AssistantAssociationInputData'+  { -- | The identifier of the knowledge base.+    knowledgeBaseId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssistantAssociationInputData' 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:+--+-- 'knowledgeBaseId', 'assistantAssociationInputData_knowledgeBaseId' - The identifier of the knowledge base.+newAssistantAssociationInputData ::+  AssistantAssociationInputData+newAssistantAssociationInputData =+  AssistantAssociationInputData'+    { knowledgeBaseId =+        Prelude.Nothing+    }++-- | The identifier of the knowledge base.+assistantAssociationInputData_knowledgeBaseId :: Lens.Lens' AssistantAssociationInputData (Prelude.Maybe Prelude.Text)+assistantAssociationInputData_knowledgeBaseId = Lens.lens (\AssistantAssociationInputData' {knowledgeBaseId} -> knowledgeBaseId) (\s@AssistantAssociationInputData' {} a -> s {knowledgeBaseId = a} :: AssistantAssociationInputData)++instance+  Prelude.Hashable+    AssistantAssociationInputData+  where+  hashWithSalt _salt AssistantAssociationInputData' {..} =+    _salt `Prelude.hashWithSalt` knowledgeBaseId++instance Prelude.NFData AssistantAssociationInputData where+  rnf AssistantAssociationInputData' {..} =+    Prelude.rnf knowledgeBaseId++instance Data.ToJSON AssistantAssociationInputData where+  toJSON AssistantAssociationInputData' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("knowledgeBaseId" Data..=)+              Prelude.<$> knowledgeBaseId+          ]+      )
+ gen/Amazonka/Wisdom/Types/AssistantAssociationOutputData.hs view
@@ -0,0 +1,82 @@+{-# 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.Wisdom.Types.AssistantAssociationOutputData+-- 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.Wisdom.Types.AssistantAssociationOutputData 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+import Amazonka.Wisdom.Types.KnowledgeBaseAssociationData++-- | The data that is output as a result of the assistant association.+--+-- /See:/ 'newAssistantAssociationOutputData' smart constructor.+data AssistantAssociationOutputData = AssistantAssociationOutputData'+  { -- | The knowledge base where output data is sent.+    knowledgeBaseAssociation :: Prelude.Maybe KnowledgeBaseAssociationData+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssistantAssociationOutputData' 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:+--+-- 'knowledgeBaseAssociation', 'assistantAssociationOutputData_knowledgeBaseAssociation' - The knowledge base where output data is sent.+newAssistantAssociationOutputData ::+  AssistantAssociationOutputData+newAssistantAssociationOutputData =+  AssistantAssociationOutputData'+    { knowledgeBaseAssociation =+        Prelude.Nothing+    }++-- | The knowledge base where output data is sent.+assistantAssociationOutputData_knowledgeBaseAssociation :: Lens.Lens' AssistantAssociationOutputData (Prelude.Maybe KnowledgeBaseAssociationData)+assistantAssociationOutputData_knowledgeBaseAssociation = Lens.lens (\AssistantAssociationOutputData' {knowledgeBaseAssociation} -> knowledgeBaseAssociation) (\s@AssistantAssociationOutputData' {} a -> s {knowledgeBaseAssociation = a} :: AssistantAssociationOutputData)++instance Data.FromJSON AssistantAssociationOutputData where+  parseJSON =+    Data.withObject+      "AssistantAssociationOutputData"+      ( \x ->+          AssistantAssociationOutputData'+            Prelude.<$> (x Data..:? "knowledgeBaseAssociation")+      )++instance+  Prelude.Hashable+    AssistantAssociationOutputData+  where+  hashWithSalt+    _salt+    AssistantAssociationOutputData' {..} =+      _salt+        `Prelude.hashWithSalt` knowledgeBaseAssociation++instance+  Prelude.NFData+    AssistantAssociationOutputData+  where+  rnf AssistantAssociationOutputData' {..} =+    Prelude.rnf knowledgeBaseAssociation
+ gen/Amazonka/Wisdom/Types/AssistantAssociationSummary.hs view
@@ -0,0 +1,167 @@+{-# 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.Wisdom.Types.AssistantAssociationSummary+-- 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.Wisdom.Types.AssistantAssociationSummary 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+import Amazonka.Wisdom.Types.AssistantAssociationOutputData+import Amazonka.Wisdom.Types.AssociationType++-- | Summary information about the assistant association.+--+-- /See:/ 'newAssistantAssociationSummary' smart constructor.+data AssistantAssociationSummary = AssistantAssociationSummary'+  { -- | The tags used to organize, track, or control access for this resource.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) of the Wisdom assistant.+    assistantArn :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the assistant association.+    assistantAssociationArn :: Prelude.Text,+    -- | The identifier of the assistant association.+    assistantAssociationId :: Prelude.Text,+    -- | The identifier of the Wisdom assistant.+    assistantId :: Prelude.Text,+    -- | The association data.+    associationData :: AssistantAssociationOutputData,+    -- | The type of association.+    associationType :: AssociationType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssistantAssociationSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'assistantAssociationSummary_tags' - The tags used to organize, track, or control access for this resource.+--+-- 'assistantArn', 'assistantAssociationSummary_assistantArn' - The Amazon Resource Name (ARN) of the Wisdom assistant.+--+-- 'assistantAssociationArn', 'assistantAssociationSummary_assistantAssociationArn' - The Amazon Resource Name (ARN) of the assistant association.+--+-- 'assistantAssociationId', 'assistantAssociationSummary_assistantAssociationId' - The identifier of the assistant association.+--+-- 'assistantId', 'assistantAssociationSummary_assistantId' - The identifier of the Wisdom assistant.+--+-- 'associationData', 'assistantAssociationSummary_associationData' - The association data.+--+-- 'associationType', 'assistantAssociationSummary_associationType' - The type of association.+newAssistantAssociationSummary ::+  -- | 'assistantArn'+  Prelude.Text ->+  -- | 'assistantAssociationArn'+  Prelude.Text ->+  -- | 'assistantAssociationId'+  Prelude.Text ->+  -- | 'assistantId'+  Prelude.Text ->+  -- | 'associationData'+  AssistantAssociationOutputData ->+  -- | 'associationType'+  AssociationType ->+  AssistantAssociationSummary+newAssistantAssociationSummary+  pAssistantArn_+  pAssistantAssociationArn_+  pAssistantAssociationId_+  pAssistantId_+  pAssociationData_+  pAssociationType_ =+    AssistantAssociationSummary'+      { tags =+          Prelude.Nothing,+        assistantArn = pAssistantArn_,+        assistantAssociationArn =+          pAssistantAssociationArn_,+        assistantAssociationId =+          pAssistantAssociationId_,+        assistantId = pAssistantId_,+        associationData = pAssociationData_,+        associationType = pAssociationType_+      }++-- | The tags used to organize, track, or control access for this resource.+assistantAssociationSummary_tags :: Lens.Lens' AssistantAssociationSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+assistantAssociationSummary_tags = Lens.lens (\AssistantAssociationSummary' {tags} -> tags) (\s@AssistantAssociationSummary' {} a -> s {tags = a} :: AssistantAssociationSummary) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the Wisdom assistant.+assistantAssociationSummary_assistantArn :: Lens.Lens' AssistantAssociationSummary Prelude.Text+assistantAssociationSummary_assistantArn = Lens.lens (\AssistantAssociationSummary' {assistantArn} -> assistantArn) (\s@AssistantAssociationSummary' {} a -> s {assistantArn = a} :: AssistantAssociationSummary)++-- | The Amazon Resource Name (ARN) of the assistant association.+assistantAssociationSummary_assistantAssociationArn :: Lens.Lens' AssistantAssociationSummary Prelude.Text+assistantAssociationSummary_assistantAssociationArn = Lens.lens (\AssistantAssociationSummary' {assistantAssociationArn} -> assistantAssociationArn) (\s@AssistantAssociationSummary' {} a -> s {assistantAssociationArn = a} :: AssistantAssociationSummary)++-- | The identifier of the assistant association.+assistantAssociationSummary_assistantAssociationId :: Lens.Lens' AssistantAssociationSummary Prelude.Text+assistantAssociationSummary_assistantAssociationId = Lens.lens (\AssistantAssociationSummary' {assistantAssociationId} -> assistantAssociationId) (\s@AssistantAssociationSummary' {} a -> s {assistantAssociationId = a} :: AssistantAssociationSummary)++-- | The identifier of the Wisdom assistant.+assistantAssociationSummary_assistantId :: Lens.Lens' AssistantAssociationSummary Prelude.Text+assistantAssociationSummary_assistantId = Lens.lens (\AssistantAssociationSummary' {assistantId} -> assistantId) (\s@AssistantAssociationSummary' {} a -> s {assistantId = a} :: AssistantAssociationSummary)++-- | The association data.+assistantAssociationSummary_associationData :: Lens.Lens' AssistantAssociationSummary AssistantAssociationOutputData+assistantAssociationSummary_associationData = Lens.lens (\AssistantAssociationSummary' {associationData} -> associationData) (\s@AssistantAssociationSummary' {} a -> s {associationData = a} :: AssistantAssociationSummary)++-- | The type of association.+assistantAssociationSummary_associationType :: Lens.Lens' AssistantAssociationSummary AssociationType+assistantAssociationSummary_associationType = Lens.lens (\AssistantAssociationSummary' {associationType} -> associationType) (\s@AssistantAssociationSummary' {} a -> s {associationType = a} :: AssistantAssociationSummary)++instance Data.FromJSON AssistantAssociationSummary where+  parseJSON =+    Data.withObject+      "AssistantAssociationSummary"+      ( \x ->+          AssistantAssociationSummary'+            Prelude.<$> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "assistantArn")+            Prelude.<*> (x Data..: "assistantAssociationArn")+            Prelude.<*> (x Data..: "assistantAssociationId")+            Prelude.<*> (x Data..: "assistantId")+            Prelude.<*> (x Data..: "associationData")+            Prelude.<*> (x Data..: "associationType")+      )++instance Prelude.Hashable AssistantAssociationSummary where+  hashWithSalt _salt AssistantAssociationSummary' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` assistantArn+      `Prelude.hashWithSalt` assistantAssociationArn+      `Prelude.hashWithSalt` assistantAssociationId+      `Prelude.hashWithSalt` assistantId+      `Prelude.hashWithSalt` associationData+      `Prelude.hashWithSalt` associationType++instance Prelude.NFData AssistantAssociationSummary where+  rnf AssistantAssociationSummary' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf assistantArn+      `Prelude.seq` Prelude.rnf assistantAssociationArn+      `Prelude.seq` Prelude.rnf assistantAssociationId+      `Prelude.seq` Prelude.rnf assistantId+      `Prelude.seq` Prelude.rnf associationData+      `Prelude.seq` Prelude.rnf associationType
+ gen/Amazonka/Wisdom/Types/AssistantData.hs view
@@ -0,0 +1,174 @@+{-# 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.Wisdom.Types.AssistantData+-- 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.Wisdom.Types.AssistantData 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+import Amazonka.Wisdom.Types.AssistantStatus+import Amazonka.Wisdom.Types.AssistantType+import Amazonka.Wisdom.Types.ServerSideEncryptionConfiguration++-- | The assistant data.+--+-- /See:/ 'newAssistantData' smart constructor.+data AssistantData = AssistantData'+  { -- | The description.+    description :: Prelude.Maybe Prelude.Text,+    -- | The KMS key used for encryption.+    serverSideEncryptionConfiguration :: Prelude.Maybe ServerSideEncryptionConfiguration,+    -- | The tags used to organize, track, or control access for this resource.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) of the Wisdom assistant.+    assistantArn :: Prelude.Text,+    -- | The identifier of the Wisdom assistant.+    assistantId :: Prelude.Text,+    -- | The name.+    name :: Prelude.Text,+    -- | The status of the assistant.+    status :: AssistantStatus,+    -- | The type of assistant.+    type' :: AssistantType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssistantData' 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', 'assistantData_description' - The description.+--+-- 'serverSideEncryptionConfiguration', 'assistantData_serverSideEncryptionConfiguration' - The KMS key used for encryption.+--+-- 'tags', 'assistantData_tags' - The tags used to organize, track, or control access for this resource.+--+-- 'assistantArn', 'assistantData_assistantArn' - The Amazon Resource Name (ARN) of the Wisdom assistant.+--+-- 'assistantId', 'assistantData_assistantId' - The identifier of the Wisdom assistant.+--+-- 'name', 'assistantData_name' - The name.+--+-- 'status', 'assistantData_status' - The status of the assistant.+--+-- 'type'', 'assistantData_type' - The type of assistant.+newAssistantData ::+  -- | 'assistantArn'+  Prelude.Text ->+  -- | 'assistantId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'status'+  AssistantStatus ->+  -- | 'type''+  AssistantType ->+  AssistantData+newAssistantData+  pAssistantArn_+  pAssistantId_+  pName_+  pStatus_+  pType_ =+    AssistantData'+      { description = Prelude.Nothing,+        serverSideEncryptionConfiguration = Prelude.Nothing,+        tags = Prelude.Nothing,+        assistantArn = pAssistantArn_,+        assistantId = pAssistantId_,+        name = pName_,+        status = pStatus_,+        type' = pType_+      }++-- | The description.+assistantData_description :: Lens.Lens' AssistantData (Prelude.Maybe Prelude.Text)+assistantData_description = Lens.lens (\AssistantData' {description} -> description) (\s@AssistantData' {} a -> s {description = a} :: AssistantData)++-- | The KMS key used for encryption.+assistantData_serverSideEncryptionConfiguration :: Lens.Lens' AssistantData (Prelude.Maybe ServerSideEncryptionConfiguration)+assistantData_serverSideEncryptionConfiguration = Lens.lens (\AssistantData' {serverSideEncryptionConfiguration} -> serverSideEncryptionConfiguration) (\s@AssistantData' {} a -> s {serverSideEncryptionConfiguration = a} :: AssistantData)++-- | The tags used to organize, track, or control access for this resource.+assistantData_tags :: Lens.Lens' AssistantData (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+assistantData_tags = Lens.lens (\AssistantData' {tags} -> tags) (\s@AssistantData' {} a -> s {tags = a} :: AssistantData) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the Wisdom assistant.+assistantData_assistantArn :: Lens.Lens' AssistantData Prelude.Text+assistantData_assistantArn = Lens.lens (\AssistantData' {assistantArn} -> assistantArn) (\s@AssistantData' {} a -> s {assistantArn = a} :: AssistantData)++-- | The identifier of the Wisdom assistant.+assistantData_assistantId :: Lens.Lens' AssistantData Prelude.Text+assistantData_assistantId = Lens.lens (\AssistantData' {assistantId} -> assistantId) (\s@AssistantData' {} a -> s {assistantId = a} :: AssistantData)++-- | The name.+assistantData_name :: Lens.Lens' AssistantData Prelude.Text+assistantData_name = Lens.lens (\AssistantData' {name} -> name) (\s@AssistantData' {} a -> s {name = a} :: AssistantData)++-- | The status of the assistant.+assistantData_status :: Lens.Lens' AssistantData AssistantStatus+assistantData_status = Lens.lens (\AssistantData' {status} -> status) (\s@AssistantData' {} a -> s {status = a} :: AssistantData)++-- | The type of assistant.+assistantData_type :: Lens.Lens' AssistantData AssistantType+assistantData_type = Lens.lens (\AssistantData' {type'} -> type') (\s@AssistantData' {} a -> s {type' = a} :: AssistantData)++instance Data.FromJSON AssistantData where+  parseJSON =+    Data.withObject+      "AssistantData"+      ( \x ->+          AssistantData'+            Prelude.<$> (x Data..:? "description")+            Prelude.<*> (x Data..:? "serverSideEncryptionConfiguration")+            Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "assistantArn")+            Prelude.<*> (x Data..: "assistantId")+            Prelude.<*> (x Data..: "name")+            Prelude.<*> (x Data..: "status")+            Prelude.<*> (x Data..: "type")+      )++instance Prelude.Hashable AssistantData where+  hashWithSalt _salt AssistantData' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` serverSideEncryptionConfiguration+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` assistantArn+      `Prelude.hashWithSalt` assistantId+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` type'++instance Prelude.NFData AssistantData where+  rnf AssistantData' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf serverSideEncryptionConfiguration+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf assistantArn+      `Prelude.seq` Prelude.rnf assistantId+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/Wisdom/Types/AssistantStatus.hs view
@@ -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.Wisdom.Types.AssistantStatus+-- 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.Wisdom.Types.AssistantStatus+  ( AssistantStatus+      ( ..,+        AssistantStatus_ACTIVE,+        AssistantStatus_CREATE_FAILED,+        AssistantStatus_CREATE_IN_PROGRESS,+        AssistantStatus_DELETED,+        AssistantStatus_DELETE_FAILED,+        AssistantStatus_DELETE_IN_PROGRESS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AssistantStatus = AssistantStatus'+  { fromAssistantStatus ::+      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 AssistantStatus_ACTIVE :: AssistantStatus+pattern AssistantStatus_ACTIVE = AssistantStatus' "ACTIVE"++pattern AssistantStatus_CREATE_FAILED :: AssistantStatus+pattern AssistantStatus_CREATE_FAILED = AssistantStatus' "CREATE_FAILED"++pattern AssistantStatus_CREATE_IN_PROGRESS :: AssistantStatus+pattern AssistantStatus_CREATE_IN_PROGRESS = AssistantStatus' "CREATE_IN_PROGRESS"++pattern AssistantStatus_DELETED :: AssistantStatus+pattern AssistantStatus_DELETED = AssistantStatus' "DELETED"++pattern AssistantStatus_DELETE_FAILED :: AssistantStatus+pattern AssistantStatus_DELETE_FAILED = AssistantStatus' "DELETE_FAILED"++pattern AssistantStatus_DELETE_IN_PROGRESS :: AssistantStatus+pattern AssistantStatus_DELETE_IN_PROGRESS = AssistantStatus' "DELETE_IN_PROGRESS"++{-# COMPLETE+  AssistantStatus_ACTIVE,+  AssistantStatus_CREATE_FAILED,+  AssistantStatus_CREATE_IN_PROGRESS,+  AssistantStatus_DELETED,+  AssistantStatus_DELETE_FAILED,+  AssistantStatus_DELETE_IN_PROGRESS,+  AssistantStatus'+  #-}
+ gen/Amazonka/Wisdom/Types/AssistantSummary.hs view
@@ -0,0 +1,174 @@+{-# 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.Wisdom.Types.AssistantSummary+-- 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.Wisdom.Types.AssistantSummary 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+import Amazonka.Wisdom.Types.AssistantStatus+import Amazonka.Wisdom.Types.AssistantType+import Amazonka.Wisdom.Types.ServerSideEncryptionConfiguration++-- | Summary information about the assistant.+--+-- /See:/ 'newAssistantSummary' smart constructor.+data AssistantSummary = AssistantSummary'+  { -- | The description of the assistant.+    description :: Prelude.Maybe Prelude.Text,+    -- | The KMS key used for encryption.+    serverSideEncryptionConfiguration :: Prelude.Maybe ServerSideEncryptionConfiguration,+    -- | The tags used to organize, track, or control access for this resource.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) of the Wisdom assistant.+    assistantArn :: Prelude.Text,+    -- | The identifier of the Wisdom assistant.+    assistantId :: Prelude.Text,+    -- | The name of the assistant.+    name :: Prelude.Text,+    -- | The status of the assistant.+    status :: AssistantStatus,+    -- | The type of the assistant.+    type' :: AssistantType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssistantSummary' 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', 'assistantSummary_description' - The description of the assistant.+--+-- 'serverSideEncryptionConfiguration', 'assistantSummary_serverSideEncryptionConfiguration' - The KMS key used for encryption.+--+-- 'tags', 'assistantSummary_tags' - The tags used to organize, track, or control access for this resource.+--+-- 'assistantArn', 'assistantSummary_assistantArn' - The Amazon Resource Name (ARN) of the Wisdom assistant.+--+-- 'assistantId', 'assistantSummary_assistantId' - The identifier of the Wisdom assistant.+--+-- 'name', 'assistantSummary_name' - The name of the assistant.+--+-- 'status', 'assistantSummary_status' - The status of the assistant.+--+-- 'type'', 'assistantSummary_type' - The type of the assistant.+newAssistantSummary ::+  -- | 'assistantArn'+  Prelude.Text ->+  -- | 'assistantId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'status'+  AssistantStatus ->+  -- | 'type''+  AssistantType ->+  AssistantSummary+newAssistantSummary+  pAssistantArn_+  pAssistantId_+  pName_+  pStatus_+  pType_ =+    AssistantSummary'+      { description = Prelude.Nothing,+        serverSideEncryptionConfiguration = Prelude.Nothing,+        tags = Prelude.Nothing,+        assistantArn = pAssistantArn_,+        assistantId = pAssistantId_,+        name = pName_,+        status = pStatus_,+        type' = pType_+      }++-- | The description of the assistant.+assistantSummary_description :: Lens.Lens' AssistantSummary (Prelude.Maybe Prelude.Text)+assistantSummary_description = Lens.lens (\AssistantSummary' {description} -> description) (\s@AssistantSummary' {} a -> s {description = a} :: AssistantSummary)++-- | The KMS key used for encryption.+assistantSummary_serverSideEncryptionConfiguration :: Lens.Lens' AssistantSummary (Prelude.Maybe ServerSideEncryptionConfiguration)+assistantSummary_serverSideEncryptionConfiguration = Lens.lens (\AssistantSummary' {serverSideEncryptionConfiguration} -> serverSideEncryptionConfiguration) (\s@AssistantSummary' {} a -> s {serverSideEncryptionConfiguration = a} :: AssistantSummary)++-- | The tags used to organize, track, or control access for this resource.+assistantSummary_tags :: Lens.Lens' AssistantSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+assistantSummary_tags = Lens.lens (\AssistantSummary' {tags} -> tags) (\s@AssistantSummary' {} a -> s {tags = a} :: AssistantSummary) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the Wisdom assistant.+assistantSummary_assistantArn :: Lens.Lens' AssistantSummary Prelude.Text+assistantSummary_assistantArn = Lens.lens (\AssistantSummary' {assistantArn} -> assistantArn) (\s@AssistantSummary' {} a -> s {assistantArn = a} :: AssistantSummary)++-- | The identifier of the Wisdom assistant.+assistantSummary_assistantId :: Lens.Lens' AssistantSummary Prelude.Text+assistantSummary_assistantId = Lens.lens (\AssistantSummary' {assistantId} -> assistantId) (\s@AssistantSummary' {} a -> s {assistantId = a} :: AssistantSummary)++-- | The name of the assistant.+assistantSummary_name :: Lens.Lens' AssistantSummary Prelude.Text+assistantSummary_name = Lens.lens (\AssistantSummary' {name} -> name) (\s@AssistantSummary' {} a -> s {name = a} :: AssistantSummary)++-- | The status of the assistant.+assistantSummary_status :: Lens.Lens' AssistantSummary AssistantStatus+assistantSummary_status = Lens.lens (\AssistantSummary' {status} -> status) (\s@AssistantSummary' {} a -> s {status = a} :: AssistantSummary)++-- | The type of the assistant.+assistantSummary_type :: Lens.Lens' AssistantSummary AssistantType+assistantSummary_type = Lens.lens (\AssistantSummary' {type'} -> type') (\s@AssistantSummary' {} a -> s {type' = a} :: AssistantSummary)++instance Data.FromJSON AssistantSummary where+  parseJSON =+    Data.withObject+      "AssistantSummary"+      ( \x ->+          AssistantSummary'+            Prelude.<$> (x Data..:? "description")+            Prelude.<*> (x Data..:? "serverSideEncryptionConfiguration")+            Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "assistantArn")+            Prelude.<*> (x Data..: "assistantId")+            Prelude.<*> (x Data..: "name")+            Prelude.<*> (x Data..: "status")+            Prelude.<*> (x Data..: "type")+      )++instance Prelude.Hashable AssistantSummary where+  hashWithSalt _salt AssistantSummary' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` serverSideEncryptionConfiguration+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` assistantArn+      `Prelude.hashWithSalt` assistantId+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` type'++instance Prelude.NFData AssistantSummary where+  rnf AssistantSummary' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf serverSideEncryptionConfiguration+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf assistantArn+      `Prelude.seq` Prelude.rnf assistantId+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/Wisdom/Types/AssistantType.hs view
@@ -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.Wisdom.Types.AssistantType+-- 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.Wisdom.Types.AssistantType+  ( AssistantType+      ( ..,+        AssistantType_AGENT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AssistantType = AssistantType'+  { fromAssistantType ::+      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 AssistantType_AGENT :: AssistantType+pattern AssistantType_AGENT = AssistantType' "AGENT"++{-# COMPLETE+  AssistantType_AGENT,+  AssistantType'+  #-}
+ gen/Amazonka/Wisdom/Types/AssociationType.hs view
@@ -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.Wisdom.Types.AssociationType+-- 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.Wisdom.Types.AssociationType+  ( AssociationType+      ( ..,+        AssociationType_KNOWLEDGE_BASE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AssociationType = AssociationType'+  { fromAssociationType ::+      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 AssociationType_KNOWLEDGE_BASE :: AssociationType+pattern AssociationType_KNOWLEDGE_BASE = AssociationType' "KNOWLEDGE_BASE"++{-# COMPLETE+  AssociationType_KNOWLEDGE_BASE,+  AssociationType'+  #-}
+ gen/Amazonka/Wisdom/Types/ContentData.hs view
@@ -0,0 +1,271 @@+{-# 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.Wisdom.Types.ContentData+-- 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.Wisdom.Types.ContentData 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+import Amazonka.Wisdom.Types.ContentStatus++-- | Information about the content.+--+-- /See:/ 'newContentData' smart constructor.+data ContentData = ContentData'+  { -- | The URI of the content.+    linkOutUri :: Prelude.Maybe Prelude.Text,+    -- | The tags used to organize, track, or control access for this resource.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) of the content.+    contentArn :: Prelude.Text,+    -- | The identifier of the content.+    contentId :: Prelude.Text,+    -- | The media type of the content.+    contentType :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the knowledge base.+    knowledgeBaseArn :: Prelude.Text,+    -- | The identifier of the knowledge base.+    knowledgeBaseId :: Prelude.Text,+    -- | A key\/value map to store attributes without affecting tagging or+    -- recommendations. For example, when synchronizing data between an+    -- external system and Wisdom, you can store an external version identifier+    -- as metadata to utilize for determining drift.+    metadata :: Prelude.HashMap Prelude.Text Prelude.Text,+    -- | The name of the content.+    name :: Prelude.Text,+    -- | The identifier of the content revision.+    revisionId :: Prelude.Text,+    -- | The status of the content.+    status :: ContentStatus,+    -- | The title of the content.+    title :: Prelude.Text,+    -- | The URL of the content.+    url :: Data.Sensitive Prelude.Text,+    -- | The expiration time of the URL as an epoch timestamp.+    urlExpiry :: Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ContentData' 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:+--+-- 'linkOutUri', 'contentData_linkOutUri' - The URI of the content.+--+-- 'tags', 'contentData_tags' - The tags used to organize, track, or control access for this resource.+--+-- 'contentArn', 'contentData_contentArn' - The Amazon Resource Name (ARN) of the content.+--+-- 'contentId', 'contentData_contentId' - The identifier of the content.+--+-- 'contentType', 'contentData_contentType' - The media type of the content.+--+-- 'knowledgeBaseArn', 'contentData_knowledgeBaseArn' - The Amazon Resource Name (ARN) of the knowledge base.+--+-- 'knowledgeBaseId', 'contentData_knowledgeBaseId' - The identifier of the knowledge base.+--+-- 'metadata', 'contentData_metadata' - A key\/value map to store attributes without affecting tagging or+-- recommendations. For example, when synchronizing data between an+-- external system and Wisdom, you can store an external version identifier+-- as metadata to utilize for determining drift.+--+-- 'name', 'contentData_name' - The name of the content.+--+-- 'revisionId', 'contentData_revisionId' - The identifier of the content revision.+--+-- 'status', 'contentData_status' - The status of the content.+--+-- 'title', 'contentData_title' - The title of the content.+--+-- 'url', 'contentData_url' - The URL of the content.+--+-- 'urlExpiry', 'contentData_urlExpiry' - The expiration time of the URL as an epoch timestamp.+newContentData ::+  -- | 'contentArn'+  Prelude.Text ->+  -- | 'contentId'+  Prelude.Text ->+  -- | 'contentType'+  Prelude.Text ->+  -- | 'knowledgeBaseArn'+  Prelude.Text ->+  -- | 'knowledgeBaseId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'revisionId'+  Prelude.Text ->+  -- | 'status'+  ContentStatus ->+  -- | 'title'+  Prelude.Text ->+  -- | 'url'+  Prelude.Text ->+  -- | 'urlExpiry'+  Prelude.UTCTime ->+  ContentData+newContentData+  pContentArn_+  pContentId_+  pContentType_+  pKnowledgeBaseArn_+  pKnowledgeBaseId_+  pName_+  pRevisionId_+  pStatus_+  pTitle_+  pUrl_+  pUrlExpiry_ =+    ContentData'+      { linkOutUri = Prelude.Nothing,+        tags = Prelude.Nothing,+        contentArn = pContentArn_,+        contentId = pContentId_,+        contentType = pContentType_,+        knowledgeBaseArn = pKnowledgeBaseArn_,+        knowledgeBaseId = pKnowledgeBaseId_,+        metadata = Prelude.mempty,+        name = pName_,+        revisionId = pRevisionId_,+        status = pStatus_,+        title = pTitle_,+        url = Data._Sensitive Lens.# pUrl_,+        urlExpiry = Data._Time Lens.# pUrlExpiry_+      }++-- | The URI of the content.+contentData_linkOutUri :: Lens.Lens' ContentData (Prelude.Maybe Prelude.Text)+contentData_linkOutUri = Lens.lens (\ContentData' {linkOutUri} -> linkOutUri) (\s@ContentData' {} a -> s {linkOutUri = a} :: ContentData)++-- | The tags used to organize, track, or control access for this resource.+contentData_tags :: Lens.Lens' ContentData (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+contentData_tags = Lens.lens (\ContentData' {tags} -> tags) (\s@ContentData' {} a -> s {tags = a} :: ContentData) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the content.+contentData_contentArn :: Lens.Lens' ContentData Prelude.Text+contentData_contentArn = Lens.lens (\ContentData' {contentArn} -> contentArn) (\s@ContentData' {} a -> s {contentArn = a} :: ContentData)++-- | The identifier of the content.+contentData_contentId :: Lens.Lens' ContentData Prelude.Text+contentData_contentId = Lens.lens (\ContentData' {contentId} -> contentId) (\s@ContentData' {} a -> s {contentId = a} :: ContentData)++-- | The media type of the content.+contentData_contentType :: Lens.Lens' ContentData Prelude.Text+contentData_contentType = Lens.lens (\ContentData' {contentType} -> contentType) (\s@ContentData' {} a -> s {contentType = a} :: ContentData)++-- | The Amazon Resource Name (ARN) of the knowledge base.+contentData_knowledgeBaseArn :: Lens.Lens' ContentData Prelude.Text+contentData_knowledgeBaseArn = Lens.lens (\ContentData' {knowledgeBaseArn} -> knowledgeBaseArn) (\s@ContentData' {} a -> s {knowledgeBaseArn = a} :: ContentData)++-- | The identifier of the knowledge base.+contentData_knowledgeBaseId :: Lens.Lens' ContentData Prelude.Text+contentData_knowledgeBaseId = Lens.lens (\ContentData' {knowledgeBaseId} -> knowledgeBaseId) (\s@ContentData' {} a -> s {knowledgeBaseId = a} :: ContentData)++-- | A key\/value map to store attributes without affecting tagging or+-- recommendations. For example, when synchronizing data between an+-- external system and Wisdom, you can store an external version identifier+-- as metadata to utilize for determining drift.+contentData_metadata :: Lens.Lens' ContentData (Prelude.HashMap Prelude.Text Prelude.Text)+contentData_metadata = Lens.lens (\ContentData' {metadata} -> metadata) (\s@ContentData' {} a -> s {metadata = a} :: ContentData) Prelude.. Lens.coerced++-- | The name of the content.+contentData_name :: Lens.Lens' ContentData Prelude.Text+contentData_name = Lens.lens (\ContentData' {name} -> name) (\s@ContentData' {} a -> s {name = a} :: ContentData)++-- | The identifier of the content revision.+contentData_revisionId :: Lens.Lens' ContentData Prelude.Text+contentData_revisionId = Lens.lens (\ContentData' {revisionId} -> revisionId) (\s@ContentData' {} a -> s {revisionId = a} :: ContentData)++-- | The status of the content.+contentData_status :: Lens.Lens' ContentData ContentStatus+contentData_status = Lens.lens (\ContentData' {status} -> status) (\s@ContentData' {} a -> s {status = a} :: ContentData)++-- | The title of the content.+contentData_title :: Lens.Lens' ContentData Prelude.Text+contentData_title = Lens.lens (\ContentData' {title} -> title) (\s@ContentData' {} a -> s {title = a} :: ContentData)++-- | The URL of the content.+contentData_url :: Lens.Lens' ContentData Prelude.Text+contentData_url = Lens.lens (\ContentData' {url} -> url) (\s@ContentData' {} a -> s {url = a} :: ContentData) Prelude.. Data._Sensitive++-- | The expiration time of the URL as an epoch timestamp.+contentData_urlExpiry :: Lens.Lens' ContentData Prelude.UTCTime+contentData_urlExpiry = Lens.lens (\ContentData' {urlExpiry} -> urlExpiry) (\s@ContentData' {} a -> s {urlExpiry = a} :: ContentData) Prelude.. Data._Time++instance Data.FromJSON ContentData where+  parseJSON =+    Data.withObject+      "ContentData"+      ( \x ->+          ContentData'+            Prelude.<$> (x Data..:? "linkOutUri")+            Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "contentArn")+            Prelude.<*> (x Data..: "contentId")+            Prelude.<*> (x Data..: "contentType")+            Prelude.<*> (x Data..: "knowledgeBaseArn")+            Prelude.<*> (x Data..: "knowledgeBaseId")+            Prelude.<*> (x Data..:? "metadata" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "name")+            Prelude.<*> (x Data..: "revisionId")+            Prelude.<*> (x Data..: "status")+            Prelude.<*> (x Data..: "title")+            Prelude.<*> (x Data..: "url")+            Prelude.<*> (x Data..: "urlExpiry")+      )++instance Prelude.Hashable ContentData where+  hashWithSalt _salt ContentData' {..} =+    _salt+      `Prelude.hashWithSalt` linkOutUri+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` contentArn+      `Prelude.hashWithSalt` contentId+      `Prelude.hashWithSalt` contentType+      `Prelude.hashWithSalt` knowledgeBaseArn+      `Prelude.hashWithSalt` knowledgeBaseId+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` revisionId+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` url+      `Prelude.hashWithSalt` urlExpiry++instance Prelude.NFData ContentData where+  rnf ContentData' {..} =+    Prelude.rnf linkOutUri+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf contentArn+      `Prelude.seq` Prelude.rnf contentId+      `Prelude.seq` Prelude.rnf contentType+      `Prelude.seq` Prelude.rnf knowledgeBaseArn+      `Prelude.seq` Prelude.rnf knowledgeBaseId+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf revisionId+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf url+      `Prelude.seq` Prelude.rnf urlExpiry
+ gen/Amazonka/Wisdom/Types/ContentReference.hs view
@@ -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.Wisdom.Types.ContentReference+-- 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.Wisdom.Types.ContentReference 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++-- | Reference information about the content.+--+-- /See:/ 'newContentReference' smart constructor.+data ContentReference = ContentReference'+  { -- | The Amazon Resource Name (ARN) of the content.+    contentArn :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the content.+    contentId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the knowledge base.+    knowledgeBaseArn :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the knowledge base.+    knowledgeBaseId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ContentReference' 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:+--+-- 'contentArn', 'contentReference_contentArn' - The Amazon Resource Name (ARN) of the content.+--+-- 'contentId', 'contentReference_contentId' - The identifier of the content.+--+-- 'knowledgeBaseArn', 'contentReference_knowledgeBaseArn' - The Amazon Resource Name (ARN) of the knowledge base.+--+-- 'knowledgeBaseId', 'contentReference_knowledgeBaseId' - The identifier of the knowledge base.+newContentReference ::+  ContentReference+newContentReference =+  ContentReference'+    { contentArn = Prelude.Nothing,+      contentId = Prelude.Nothing,+      knowledgeBaseArn = Prelude.Nothing,+      knowledgeBaseId = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the content.+contentReference_contentArn :: Lens.Lens' ContentReference (Prelude.Maybe Prelude.Text)+contentReference_contentArn = Lens.lens (\ContentReference' {contentArn} -> contentArn) (\s@ContentReference' {} a -> s {contentArn = a} :: ContentReference)++-- | The identifier of the content.+contentReference_contentId :: Lens.Lens' ContentReference (Prelude.Maybe Prelude.Text)+contentReference_contentId = Lens.lens (\ContentReference' {contentId} -> contentId) (\s@ContentReference' {} a -> s {contentId = a} :: ContentReference)++-- | The Amazon Resource Name (ARN) of the knowledge base.+contentReference_knowledgeBaseArn :: Lens.Lens' ContentReference (Prelude.Maybe Prelude.Text)+contentReference_knowledgeBaseArn = Lens.lens (\ContentReference' {knowledgeBaseArn} -> knowledgeBaseArn) (\s@ContentReference' {} a -> s {knowledgeBaseArn = a} :: ContentReference)++-- | The identifier of the knowledge base.+contentReference_knowledgeBaseId :: Lens.Lens' ContentReference (Prelude.Maybe Prelude.Text)+contentReference_knowledgeBaseId = Lens.lens (\ContentReference' {knowledgeBaseId} -> knowledgeBaseId) (\s@ContentReference' {} a -> s {knowledgeBaseId = a} :: ContentReference)++instance Data.FromJSON ContentReference where+  parseJSON =+    Data.withObject+      "ContentReference"+      ( \x ->+          ContentReference'+            Prelude.<$> (x Data..:? "contentArn")+            Prelude.<*> (x Data..:? "contentId")+            Prelude.<*> (x Data..:? "knowledgeBaseArn")+            Prelude.<*> (x Data..:? "knowledgeBaseId")+      )++instance Prelude.Hashable ContentReference where+  hashWithSalt _salt ContentReference' {..} =+    _salt+      `Prelude.hashWithSalt` contentArn+      `Prelude.hashWithSalt` contentId+      `Prelude.hashWithSalt` knowledgeBaseArn+      `Prelude.hashWithSalt` knowledgeBaseId++instance Prelude.NFData ContentReference where+  rnf ContentReference' {..} =+    Prelude.rnf contentArn+      `Prelude.seq` Prelude.rnf contentId+      `Prelude.seq` Prelude.rnf knowledgeBaseArn+      `Prelude.seq` Prelude.rnf knowledgeBaseId
+ gen/Amazonka/Wisdom/Types/ContentStatus.hs view
@@ -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.Wisdom.Types.ContentStatus+-- 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.Wisdom.Types.ContentStatus+  ( ContentStatus+      ( ..,+        ContentStatus_ACTIVE,+        ContentStatus_CREATE_FAILED,+        ContentStatus_CREATE_IN_PROGRESS,+        ContentStatus_DELETED,+        ContentStatus_DELETE_FAILED,+        ContentStatus_DELETE_IN_PROGRESS,+        ContentStatus_UPDATE_FAILED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ContentStatus = ContentStatus'+  { fromContentStatus ::+      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 ContentStatus_ACTIVE :: ContentStatus+pattern ContentStatus_ACTIVE = ContentStatus' "ACTIVE"++pattern ContentStatus_CREATE_FAILED :: ContentStatus+pattern ContentStatus_CREATE_FAILED = ContentStatus' "CREATE_FAILED"++pattern ContentStatus_CREATE_IN_PROGRESS :: ContentStatus+pattern ContentStatus_CREATE_IN_PROGRESS = ContentStatus' "CREATE_IN_PROGRESS"++pattern ContentStatus_DELETED :: ContentStatus+pattern ContentStatus_DELETED = ContentStatus' "DELETED"++pattern ContentStatus_DELETE_FAILED :: ContentStatus+pattern ContentStatus_DELETE_FAILED = ContentStatus' "DELETE_FAILED"++pattern ContentStatus_DELETE_IN_PROGRESS :: ContentStatus+pattern ContentStatus_DELETE_IN_PROGRESS = ContentStatus' "DELETE_IN_PROGRESS"++pattern ContentStatus_UPDATE_FAILED :: ContentStatus+pattern ContentStatus_UPDATE_FAILED = ContentStatus' "UPDATE_FAILED"++{-# COMPLETE+  ContentStatus_ACTIVE,+  ContentStatus_CREATE_FAILED,+  ContentStatus_CREATE_IN_PROGRESS,+  ContentStatus_DELETED,+  ContentStatus_DELETE_FAILED,+  ContentStatus_DELETE_IN_PROGRESS,+  ContentStatus_UPDATE_FAILED,+  ContentStatus'+  #-}
+ gen/Amazonka/Wisdom/Types/ContentSummary.hs view
@@ -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.Wisdom.Types.ContentSummary+-- 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.Wisdom.Types.ContentSummary 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+import Amazonka.Wisdom.Types.ContentStatus++-- | Summary information about the content.+--+-- /See:/ 'newContentSummary' smart constructor.+data ContentSummary = ContentSummary'+  { -- | The tags used to organize, track, or control access for this resource.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) of the content.+    contentArn :: Prelude.Text,+    -- | The identifier of the content.+    contentId :: Prelude.Text,+    -- | The media type of the content.+    contentType :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the knowledge base.+    knowledgeBaseArn :: Prelude.Text,+    -- | The identifier of the knowledge base.+    knowledgeBaseId :: Prelude.Text,+    -- | A key\/value map to store attributes without affecting tagging or+    -- recommendations. For example, when synchronizing data between an+    -- external system and Wisdom, you can store an external version identifier+    -- as metadata to utilize for determining drift.+    metadata :: Prelude.HashMap Prelude.Text Prelude.Text,+    -- | The name of the content.+    name :: Prelude.Text,+    -- | The identifier of the revision of the content.+    revisionId :: Prelude.Text,+    -- | The status of the content.+    status :: ContentStatus,+    -- | The title of the content.+    title :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ContentSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'contentSummary_tags' - The tags used to organize, track, or control access for this resource.+--+-- 'contentArn', 'contentSummary_contentArn' - The Amazon Resource Name (ARN) of the content.+--+-- 'contentId', 'contentSummary_contentId' - The identifier of the content.+--+-- 'contentType', 'contentSummary_contentType' - The media type of the content.+--+-- 'knowledgeBaseArn', 'contentSummary_knowledgeBaseArn' - The Amazon Resource Name (ARN) of the knowledge base.+--+-- 'knowledgeBaseId', 'contentSummary_knowledgeBaseId' - The identifier of the knowledge base.+--+-- 'metadata', 'contentSummary_metadata' - A key\/value map to store attributes without affecting tagging or+-- recommendations. For example, when synchronizing data between an+-- external system and Wisdom, you can store an external version identifier+-- as metadata to utilize for determining drift.+--+-- 'name', 'contentSummary_name' - The name of the content.+--+-- 'revisionId', 'contentSummary_revisionId' - The identifier of the revision of the content.+--+-- 'status', 'contentSummary_status' - The status of the content.+--+-- 'title', 'contentSummary_title' - The title of the content.+newContentSummary ::+  -- | 'contentArn'+  Prelude.Text ->+  -- | 'contentId'+  Prelude.Text ->+  -- | 'contentType'+  Prelude.Text ->+  -- | 'knowledgeBaseArn'+  Prelude.Text ->+  -- | 'knowledgeBaseId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'revisionId'+  Prelude.Text ->+  -- | 'status'+  ContentStatus ->+  -- | 'title'+  Prelude.Text ->+  ContentSummary+newContentSummary+  pContentArn_+  pContentId_+  pContentType_+  pKnowledgeBaseArn_+  pKnowledgeBaseId_+  pName_+  pRevisionId_+  pStatus_+  pTitle_ =+    ContentSummary'+      { tags = Prelude.Nothing,+        contentArn = pContentArn_,+        contentId = pContentId_,+        contentType = pContentType_,+        knowledgeBaseArn = pKnowledgeBaseArn_,+        knowledgeBaseId = pKnowledgeBaseId_,+        metadata = Prelude.mempty,+        name = pName_,+        revisionId = pRevisionId_,+        status = pStatus_,+        title = pTitle_+      }++-- | The tags used to organize, track, or control access for this resource.+contentSummary_tags :: Lens.Lens' ContentSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+contentSummary_tags = Lens.lens (\ContentSummary' {tags} -> tags) (\s@ContentSummary' {} a -> s {tags = a} :: ContentSummary) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the content.+contentSummary_contentArn :: Lens.Lens' ContentSummary Prelude.Text+contentSummary_contentArn = Lens.lens (\ContentSummary' {contentArn} -> contentArn) (\s@ContentSummary' {} a -> s {contentArn = a} :: ContentSummary)++-- | The identifier of the content.+contentSummary_contentId :: Lens.Lens' ContentSummary Prelude.Text+contentSummary_contentId = Lens.lens (\ContentSummary' {contentId} -> contentId) (\s@ContentSummary' {} a -> s {contentId = a} :: ContentSummary)++-- | The media type of the content.+contentSummary_contentType :: Lens.Lens' ContentSummary Prelude.Text+contentSummary_contentType = Lens.lens (\ContentSummary' {contentType} -> contentType) (\s@ContentSummary' {} a -> s {contentType = a} :: ContentSummary)++-- | The Amazon Resource Name (ARN) of the knowledge base.+contentSummary_knowledgeBaseArn :: Lens.Lens' ContentSummary Prelude.Text+contentSummary_knowledgeBaseArn = Lens.lens (\ContentSummary' {knowledgeBaseArn} -> knowledgeBaseArn) (\s@ContentSummary' {} a -> s {knowledgeBaseArn = a} :: ContentSummary)++-- | The identifier of the knowledge base.+contentSummary_knowledgeBaseId :: Lens.Lens' ContentSummary Prelude.Text+contentSummary_knowledgeBaseId = Lens.lens (\ContentSummary' {knowledgeBaseId} -> knowledgeBaseId) (\s@ContentSummary' {} a -> s {knowledgeBaseId = a} :: ContentSummary)++-- | A key\/value map to store attributes without affecting tagging or+-- recommendations. For example, when synchronizing data between an+-- external system and Wisdom, you can store an external version identifier+-- as metadata to utilize for determining drift.+contentSummary_metadata :: Lens.Lens' ContentSummary (Prelude.HashMap Prelude.Text Prelude.Text)+contentSummary_metadata = Lens.lens (\ContentSummary' {metadata} -> metadata) (\s@ContentSummary' {} a -> s {metadata = a} :: ContentSummary) Prelude.. Lens.coerced++-- | The name of the content.+contentSummary_name :: Lens.Lens' ContentSummary Prelude.Text+contentSummary_name = Lens.lens (\ContentSummary' {name} -> name) (\s@ContentSummary' {} a -> s {name = a} :: ContentSummary)++-- | The identifier of the revision of the content.+contentSummary_revisionId :: Lens.Lens' ContentSummary Prelude.Text+contentSummary_revisionId = Lens.lens (\ContentSummary' {revisionId} -> revisionId) (\s@ContentSummary' {} a -> s {revisionId = a} :: ContentSummary)++-- | The status of the content.+contentSummary_status :: Lens.Lens' ContentSummary ContentStatus+contentSummary_status = Lens.lens (\ContentSummary' {status} -> status) (\s@ContentSummary' {} a -> s {status = a} :: ContentSummary)++-- | The title of the content.+contentSummary_title :: Lens.Lens' ContentSummary Prelude.Text+contentSummary_title = Lens.lens (\ContentSummary' {title} -> title) (\s@ContentSummary' {} a -> s {title = a} :: ContentSummary)++instance Data.FromJSON ContentSummary where+  parseJSON =+    Data.withObject+      "ContentSummary"+      ( \x ->+          ContentSummary'+            Prelude.<$> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "contentArn")+            Prelude.<*> (x Data..: "contentId")+            Prelude.<*> (x Data..: "contentType")+            Prelude.<*> (x Data..: "knowledgeBaseArn")+            Prelude.<*> (x Data..: "knowledgeBaseId")+            Prelude.<*> (x Data..:? "metadata" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "name")+            Prelude.<*> (x Data..: "revisionId")+            Prelude.<*> (x Data..: "status")+            Prelude.<*> (x Data..: "title")+      )++instance Prelude.Hashable ContentSummary where+  hashWithSalt _salt ContentSummary' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` contentArn+      `Prelude.hashWithSalt` contentId+      `Prelude.hashWithSalt` contentType+      `Prelude.hashWithSalt` knowledgeBaseArn+      `Prelude.hashWithSalt` knowledgeBaseId+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` revisionId+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` title++instance Prelude.NFData ContentSummary where+  rnf ContentSummary' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf contentArn+      `Prelude.seq` Prelude.rnf contentId+      `Prelude.seq` Prelude.rnf contentType+      `Prelude.seq` Prelude.rnf knowledgeBaseArn+      `Prelude.seq` Prelude.rnf knowledgeBaseId+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf revisionId+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf title
+ gen/Amazonka/Wisdom/Types/Document.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Wisdom.Types.Document+-- 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.Wisdom.Types.Document 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+import Amazonka.Wisdom.Types.ContentReference+import Amazonka.Wisdom.Types.DocumentText++-- | The document.+--+-- /See:/ 'newDocument' smart constructor.+data Document = Document'+  { -- | The excerpt from the document.+    excerpt :: Prelude.Maybe DocumentText,+    -- | The title of the document.+    title :: Prelude.Maybe DocumentText,+    -- | A reference to the content resource.+    contentReference :: ContentReference+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Document' 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:+--+-- 'excerpt', 'document_excerpt' - The excerpt from the document.+--+-- 'title', 'document_title' - The title of the document.+--+-- 'contentReference', 'document_contentReference' - A reference to the content resource.+newDocument ::+  -- | 'contentReference'+  ContentReference ->+  Document+newDocument pContentReference_ =+  Document'+    { excerpt = Prelude.Nothing,+      title = Prelude.Nothing,+      contentReference = pContentReference_+    }++-- | The excerpt from the document.+document_excerpt :: Lens.Lens' Document (Prelude.Maybe DocumentText)+document_excerpt = Lens.lens (\Document' {excerpt} -> excerpt) (\s@Document' {} a -> s {excerpt = a} :: Document)++-- | The title of the document.+document_title :: Lens.Lens' Document (Prelude.Maybe DocumentText)+document_title = Lens.lens (\Document' {title} -> title) (\s@Document' {} a -> s {title = a} :: Document)++-- | A reference to the content resource.+document_contentReference :: Lens.Lens' Document ContentReference+document_contentReference = Lens.lens (\Document' {contentReference} -> contentReference) (\s@Document' {} a -> s {contentReference = a} :: Document)++instance Data.FromJSON Document where+  parseJSON =+    Data.withObject+      "Document"+      ( \x ->+          Document'+            Prelude.<$> (x Data..:? "excerpt")+            Prelude.<*> (x Data..:? "title")+            Prelude.<*> (x Data..: "contentReference")+      )++instance Prelude.Hashable Document where+  hashWithSalt _salt Document' {..} =+    _salt+      `Prelude.hashWithSalt` excerpt+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` contentReference++instance Prelude.NFData Document where+  rnf Document' {..} =+    Prelude.rnf excerpt+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf contentReference
+ gen/Amazonka/Wisdom/Types/DocumentText.hs view
@@ -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.Wisdom.Types.DocumentText+-- 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.Wisdom.Types.DocumentText 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+import Amazonka.Wisdom.Types.Highlight++-- | The text of the document.+--+-- /See:/ 'newDocumentText' smart constructor.+data DocumentText = DocumentText'+  { -- | Highlights in the document text.+    highlights :: Prelude.Maybe [Highlight],+    -- | Text in the document.+    text :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DocumentText' 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:+--+-- 'highlights', 'documentText_highlights' - Highlights in the document text.+--+-- 'text', 'documentText_text' - Text in the document.+newDocumentText ::+  DocumentText+newDocumentText =+  DocumentText'+    { highlights = Prelude.Nothing,+      text = Prelude.Nothing+    }++-- | Highlights in the document text.+documentText_highlights :: Lens.Lens' DocumentText (Prelude.Maybe [Highlight])+documentText_highlights = Lens.lens (\DocumentText' {highlights} -> highlights) (\s@DocumentText' {} a -> s {highlights = a} :: DocumentText) Prelude.. Lens.mapping Lens.coerced++-- | Text in the document.+documentText_text :: Lens.Lens' DocumentText (Prelude.Maybe Prelude.Text)+documentText_text = Lens.lens (\DocumentText' {text} -> text) (\s@DocumentText' {} a -> s {text = a} :: DocumentText) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON DocumentText where+  parseJSON =+    Data.withObject+      "DocumentText"+      ( \x ->+          DocumentText'+            Prelude.<$> (x Data..:? "highlights" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "text")+      )++instance Prelude.Hashable DocumentText where+  hashWithSalt _salt DocumentText' {..} =+    _salt+      `Prelude.hashWithSalt` highlights+      `Prelude.hashWithSalt` text++instance Prelude.NFData DocumentText where+  rnf DocumentText' {..} =+    Prelude.rnf highlights+      `Prelude.seq` Prelude.rnf text
+ gen/Amazonka/Wisdom/Types/Filter.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Wisdom.Types.Filter+-- 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.Wisdom.Types.Filter 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+import Amazonka.Wisdom.Types.FilterField+import Amazonka.Wisdom.Types.FilterOperator++-- | A search filter.+--+-- /See:/ 'newFilter' smart constructor.+data Filter = Filter'+  { -- | The field on which to filter.+    field :: FilterField,+    -- | The operator to use for comparing the field’s value with the provided+    -- value.+    operator :: FilterOperator,+    -- | The desired field value on which to filter.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Filter' 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:+--+-- 'field', 'filter_field' - The field on which to filter.+--+-- 'operator', 'filter_operator' - The operator to use for comparing the field’s value with the provided+-- value.+--+-- 'value', 'filter_value' - The desired field value on which to filter.+newFilter ::+  -- | 'field'+  FilterField ->+  -- | 'operator'+  FilterOperator ->+  -- | 'value'+  Prelude.Text ->+  Filter+newFilter pField_ pOperator_ pValue_ =+  Filter'+    { field = pField_,+      operator = pOperator_,+      value = pValue_+    }++-- | The field on which to filter.+filter_field :: Lens.Lens' Filter FilterField+filter_field = Lens.lens (\Filter' {field} -> field) (\s@Filter' {} a -> s {field = a} :: Filter)++-- | The operator to use for comparing the field’s value with the provided+-- value.+filter_operator :: Lens.Lens' Filter FilterOperator+filter_operator = Lens.lens (\Filter' {operator} -> operator) (\s@Filter' {} a -> s {operator = a} :: Filter)++-- | The desired field value on which to filter.+filter_value :: Lens.Lens' Filter Prelude.Text+filter_value = Lens.lens (\Filter' {value} -> value) (\s@Filter' {} a -> s {value = a} :: Filter)++instance Prelude.Hashable Filter where+  hashWithSalt _salt Filter' {..} =+    _salt+      `Prelude.hashWithSalt` field+      `Prelude.hashWithSalt` operator+      `Prelude.hashWithSalt` value++instance Prelude.NFData Filter where+  rnf Filter' {..} =+    Prelude.rnf field+      `Prelude.seq` Prelude.rnf operator+      `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Filter where+  toJSON Filter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("field" Data..= field),+            Prelude.Just ("operator" Data..= operator),+            Prelude.Just ("value" Data..= value)+          ]+      )
+ gen/Amazonka/Wisdom/Types/FilterField.hs view
@@ -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.Wisdom.Types.FilterField+-- 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.Wisdom.Types.FilterField+  ( FilterField+      ( ..,+        FilterField_NAME+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FilterField = FilterField'+  { fromFilterField ::+      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 FilterField_NAME :: FilterField+pattern FilterField_NAME = FilterField' "NAME"++{-# COMPLETE+  FilterField_NAME,+  FilterField'+  #-}
+ gen/Amazonka/Wisdom/Types/FilterOperator.hs view
@@ -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.Wisdom.Types.FilterOperator+-- 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.Wisdom.Types.FilterOperator+  ( FilterOperator+      ( ..,+        FilterOperator_EQUALS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FilterOperator = FilterOperator'+  { fromFilterOperator ::+      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 FilterOperator_EQUALS :: FilterOperator+pattern FilterOperator_EQUALS = FilterOperator' "EQUALS"++{-# COMPLETE+  FilterOperator_EQUALS,+  FilterOperator'+  #-}
+ gen/Amazonka/Wisdom/Types/Highlight.hs view
@@ -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.Wisdom.Types.Highlight+-- 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.Wisdom.Types.Highlight 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++-- | Offset specification to describe highlighting of document excerpts for+-- rendering search results and recommendations.+--+-- /See:/ 'newHighlight' smart constructor.+data Highlight = Highlight'+  { -- | The offset for the start of the highlight.+    beginOffsetInclusive :: Prelude.Maybe Prelude.Int,+    -- | The offset for the end of the highlight.+    endOffsetExclusive :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Highlight' 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:+--+-- 'beginOffsetInclusive', 'highlight_beginOffsetInclusive' - The offset for the start of the highlight.+--+-- 'endOffsetExclusive', 'highlight_endOffsetExclusive' - The offset for the end of the highlight.+newHighlight ::+  Highlight+newHighlight =+  Highlight'+    { beginOffsetInclusive = Prelude.Nothing,+      endOffsetExclusive = Prelude.Nothing+    }++-- | The offset for the start of the highlight.+highlight_beginOffsetInclusive :: Lens.Lens' Highlight (Prelude.Maybe Prelude.Int)+highlight_beginOffsetInclusive = Lens.lens (\Highlight' {beginOffsetInclusive} -> beginOffsetInclusive) (\s@Highlight' {} a -> s {beginOffsetInclusive = a} :: Highlight)++-- | The offset for the end of the highlight.+highlight_endOffsetExclusive :: Lens.Lens' Highlight (Prelude.Maybe Prelude.Int)+highlight_endOffsetExclusive = Lens.lens (\Highlight' {endOffsetExclusive} -> endOffsetExclusive) (\s@Highlight' {} a -> s {endOffsetExclusive = a} :: Highlight)++instance Data.FromJSON Highlight where+  parseJSON =+    Data.withObject+      "Highlight"+      ( \x ->+          Highlight'+            Prelude.<$> (x Data..:? "beginOffsetInclusive")+            Prelude.<*> (x Data..:? "endOffsetExclusive")+      )++instance Prelude.Hashable Highlight where+  hashWithSalt _salt Highlight' {..} =+    _salt+      `Prelude.hashWithSalt` beginOffsetInclusive+      `Prelude.hashWithSalt` endOffsetExclusive++instance Prelude.NFData Highlight where+  rnf Highlight' {..} =+    Prelude.rnf beginOffsetInclusive+      `Prelude.seq` Prelude.rnf endOffsetExclusive
+ gen/Amazonka/Wisdom/Types/KnowledgeBaseAssociationData.hs view
@@ -0,0 +1,88 @@+{-# 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.Wisdom.Types.KnowledgeBaseAssociationData+-- 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.Wisdom.Types.KnowledgeBaseAssociationData 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++-- | Association information about the knowledge base.+--+-- /See:/ 'newKnowledgeBaseAssociationData' smart constructor.+data KnowledgeBaseAssociationData = KnowledgeBaseAssociationData'+  { -- | The Amazon Resource Name (ARN) of the knowledge base.+    knowledgeBaseArn :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the knowledge base.+    knowledgeBaseId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KnowledgeBaseAssociationData' 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:+--+-- 'knowledgeBaseArn', 'knowledgeBaseAssociationData_knowledgeBaseArn' - The Amazon Resource Name (ARN) of the knowledge base.+--+-- 'knowledgeBaseId', 'knowledgeBaseAssociationData_knowledgeBaseId' - The identifier of the knowledge base.+newKnowledgeBaseAssociationData ::+  KnowledgeBaseAssociationData+newKnowledgeBaseAssociationData =+  KnowledgeBaseAssociationData'+    { knowledgeBaseArn =+        Prelude.Nothing,+      knowledgeBaseId = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the knowledge base.+knowledgeBaseAssociationData_knowledgeBaseArn :: Lens.Lens' KnowledgeBaseAssociationData (Prelude.Maybe Prelude.Text)+knowledgeBaseAssociationData_knowledgeBaseArn = Lens.lens (\KnowledgeBaseAssociationData' {knowledgeBaseArn} -> knowledgeBaseArn) (\s@KnowledgeBaseAssociationData' {} a -> s {knowledgeBaseArn = a} :: KnowledgeBaseAssociationData)++-- | The identifier of the knowledge base.+knowledgeBaseAssociationData_knowledgeBaseId :: Lens.Lens' KnowledgeBaseAssociationData (Prelude.Maybe Prelude.Text)+knowledgeBaseAssociationData_knowledgeBaseId = Lens.lens (\KnowledgeBaseAssociationData' {knowledgeBaseId} -> knowledgeBaseId) (\s@KnowledgeBaseAssociationData' {} a -> s {knowledgeBaseId = a} :: KnowledgeBaseAssociationData)++instance Data.FromJSON KnowledgeBaseAssociationData where+  parseJSON =+    Data.withObject+      "KnowledgeBaseAssociationData"+      ( \x ->+          KnowledgeBaseAssociationData'+            Prelude.<$> (x Data..:? "knowledgeBaseArn")+            Prelude.<*> (x Data..:? "knowledgeBaseId")+      )++instance+  Prelude.Hashable+    KnowledgeBaseAssociationData+  where+  hashWithSalt _salt KnowledgeBaseAssociationData' {..} =+    _salt+      `Prelude.hashWithSalt` knowledgeBaseArn+      `Prelude.hashWithSalt` knowledgeBaseId++instance Prelude.NFData KnowledgeBaseAssociationData where+  rnf KnowledgeBaseAssociationData' {..} =+    Prelude.rnf knowledgeBaseArn+      `Prelude.seq` Prelude.rnf knowledgeBaseId
+ gen/Amazonka/Wisdom/Types/KnowledgeBaseData.hs view
@@ -0,0 +1,218 @@+{-# 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.Wisdom.Types.KnowledgeBaseData+-- 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.Wisdom.Types.KnowledgeBaseData 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+import Amazonka.Wisdom.Types.KnowledgeBaseStatus+import Amazonka.Wisdom.Types.KnowledgeBaseType+import Amazonka.Wisdom.Types.RenderingConfiguration+import Amazonka.Wisdom.Types.ServerSideEncryptionConfiguration+import Amazonka.Wisdom.Types.SourceConfiguration++-- | Information about the knowledge base.+--+-- /See:/ 'newKnowledgeBaseData' smart constructor.+data KnowledgeBaseData = KnowledgeBaseData'+  { -- | The description.+    description :: Prelude.Maybe Prelude.Text,+    -- | An epoch timestamp indicating the most recent content modification+    -- inside the knowledge base. If no content exists in a knowledge base,+    -- this value is unset.+    lastContentModificationTime :: Prelude.Maybe Data.POSIX,+    -- | Information about how to render the content.+    renderingConfiguration :: Prelude.Maybe RenderingConfiguration,+    -- | The KMS key used for encryption.+    serverSideEncryptionConfiguration :: Prelude.Maybe ServerSideEncryptionConfiguration,+    -- | Source configuration information about the knowledge base.+    sourceConfiguration :: Prelude.Maybe SourceConfiguration,+    -- | The tags used to organize, track, or control access for this resource.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) of the knowledge base.+    knowledgeBaseArn :: Prelude.Text,+    -- | The identifier of the knowledge base.+    knowledgeBaseId :: Prelude.Text,+    -- | The type of knowledge base.+    knowledgeBaseType :: KnowledgeBaseType,+    -- | The name of the knowledge base.+    name :: Prelude.Text,+    -- | The status of the knowledge base.+    status :: KnowledgeBaseStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KnowledgeBaseData' 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', 'knowledgeBaseData_description' - The description.+--+-- 'lastContentModificationTime', 'knowledgeBaseData_lastContentModificationTime' - An epoch timestamp indicating the most recent content modification+-- inside the knowledge base. If no content exists in a knowledge base,+-- this value is unset.+--+-- 'renderingConfiguration', 'knowledgeBaseData_renderingConfiguration' - Information about how to render the content.+--+-- 'serverSideEncryptionConfiguration', 'knowledgeBaseData_serverSideEncryptionConfiguration' - The KMS key used for encryption.+--+-- 'sourceConfiguration', 'knowledgeBaseData_sourceConfiguration' - Source configuration information about the knowledge base.+--+-- 'tags', 'knowledgeBaseData_tags' - The tags used to organize, track, or control access for this resource.+--+-- 'knowledgeBaseArn', 'knowledgeBaseData_knowledgeBaseArn' - The Amazon Resource Name (ARN) of the knowledge base.+--+-- 'knowledgeBaseId', 'knowledgeBaseData_knowledgeBaseId' - The identifier of the knowledge base.+--+-- 'knowledgeBaseType', 'knowledgeBaseData_knowledgeBaseType' - The type of knowledge base.+--+-- 'name', 'knowledgeBaseData_name' - The name of the knowledge base.+--+-- 'status', 'knowledgeBaseData_status' - The status of the knowledge base.+newKnowledgeBaseData ::+  -- | 'knowledgeBaseArn'+  Prelude.Text ->+  -- | 'knowledgeBaseId'+  Prelude.Text ->+  -- | 'knowledgeBaseType'+  KnowledgeBaseType ->+  -- | 'name'+  Prelude.Text ->+  -- | 'status'+  KnowledgeBaseStatus ->+  KnowledgeBaseData+newKnowledgeBaseData+  pKnowledgeBaseArn_+  pKnowledgeBaseId_+  pKnowledgeBaseType_+  pName_+  pStatus_ =+    KnowledgeBaseData'+      { description = Prelude.Nothing,+        lastContentModificationTime = Prelude.Nothing,+        renderingConfiguration = Prelude.Nothing,+        serverSideEncryptionConfiguration = Prelude.Nothing,+        sourceConfiguration = Prelude.Nothing,+        tags = Prelude.Nothing,+        knowledgeBaseArn = pKnowledgeBaseArn_,+        knowledgeBaseId = pKnowledgeBaseId_,+        knowledgeBaseType = pKnowledgeBaseType_,+        name = pName_,+        status = pStatus_+      }++-- | The description.+knowledgeBaseData_description :: Lens.Lens' KnowledgeBaseData (Prelude.Maybe Prelude.Text)+knowledgeBaseData_description = Lens.lens (\KnowledgeBaseData' {description} -> description) (\s@KnowledgeBaseData' {} a -> s {description = a} :: KnowledgeBaseData)++-- | An epoch timestamp indicating the most recent content modification+-- inside the knowledge base. If no content exists in a knowledge base,+-- this value is unset.+knowledgeBaseData_lastContentModificationTime :: Lens.Lens' KnowledgeBaseData (Prelude.Maybe Prelude.UTCTime)+knowledgeBaseData_lastContentModificationTime = Lens.lens (\KnowledgeBaseData' {lastContentModificationTime} -> lastContentModificationTime) (\s@KnowledgeBaseData' {} a -> s {lastContentModificationTime = a} :: KnowledgeBaseData) Prelude.. Lens.mapping Data._Time++-- | Information about how to render the content.+knowledgeBaseData_renderingConfiguration :: Lens.Lens' KnowledgeBaseData (Prelude.Maybe RenderingConfiguration)+knowledgeBaseData_renderingConfiguration = Lens.lens (\KnowledgeBaseData' {renderingConfiguration} -> renderingConfiguration) (\s@KnowledgeBaseData' {} a -> s {renderingConfiguration = a} :: KnowledgeBaseData)++-- | The KMS key used for encryption.+knowledgeBaseData_serverSideEncryptionConfiguration :: Lens.Lens' KnowledgeBaseData (Prelude.Maybe ServerSideEncryptionConfiguration)+knowledgeBaseData_serverSideEncryptionConfiguration = Lens.lens (\KnowledgeBaseData' {serverSideEncryptionConfiguration} -> serverSideEncryptionConfiguration) (\s@KnowledgeBaseData' {} a -> s {serverSideEncryptionConfiguration = a} :: KnowledgeBaseData)++-- | Source configuration information about the knowledge base.+knowledgeBaseData_sourceConfiguration :: Lens.Lens' KnowledgeBaseData (Prelude.Maybe SourceConfiguration)+knowledgeBaseData_sourceConfiguration = Lens.lens (\KnowledgeBaseData' {sourceConfiguration} -> sourceConfiguration) (\s@KnowledgeBaseData' {} a -> s {sourceConfiguration = a} :: KnowledgeBaseData)++-- | The tags used to organize, track, or control access for this resource.+knowledgeBaseData_tags :: Lens.Lens' KnowledgeBaseData (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+knowledgeBaseData_tags = Lens.lens (\KnowledgeBaseData' {tags} -> tags) (\s@KnowledgeBaseData' {} a -> s {tags = a} :: KnowledgeBaseData) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the knowledge base.+knowledgeBaseData_knowledgeBaseArn :: Lens.Lens' KnowledgeBaseData Prelude.Text+knowledgeBaseData_knowledgeBaseArn = Lens.lens (\KnowledgeBaseData' {knowledgeBaseArn} -> knowledgeBaseArn) (\s@KnowledgeBaseData' {} a -> s {knowledgeBaseArn = a} :: KnowledgeBaseData)++-- | The identifier of the knowledge base.+knowledgeBaseData_knowledgeBaseId :: Lens.Lens' KnowledgeBaseData Prelude.Text+knowledgeBaseData_knowledgeBaseId = Lens.lens (\KnowledgeBaseData' {knowledgeBaseId} -> knowledgeBaseId) (\s@KnowledgeBaseData' {} a -> s {knowledgeBaseId = a} :: KnowledgeBaseData)++-- | The type of knowledge base.+knowledgeBaseData_knowledgeBaseType :: Lens.Lens' KnowledgeBaseData KnowledgeBaseType+knowledgeBaseData_knowledgeBaseType = Lens.lens (\KnowledgeBaseData' {knowledgeBaseType} -> knowledgeBaseType) (\s@KnowledgeBaseData' {} a -> s {knowledgeBaseType = a} :: KnowledgeBaseData)++-- | The name of the knowledge base.+knowledgeBaseData_name :: Lens.Lens' KnowledgeBaseData Prelude.Text+knowledgeBaseData_name = Lens.lens (\KnowledgeBaseData' {name} -> name) (\s@KnowledgeBaseData' {} a -> s {name = a} :: KnowledgeBaseData)++-- | The status of the knowledge base.+knowledgeBaseData_status :: Lens.Lens' KnowledgeBaseData KnowledgeBaseStatus+knowledgeBaseData_status = Lens.lens (\KnowledgeBaseData' {status} -> status) (\s@KnowledgeBaseData' {} a -> s {status = a} :: KnowledgeBaseData)++instance Data.FromJSON KnowledgeBaseData where+  parseJSON =+    Data.withObject+      "KnowledgeBaseData"+      ( \x ->+          KnowledgeBaseData'+            Prelude.<$> (x Data..:? "description")+            Prelude.<*> (x Data..:? "lastContentModificationTime")+            Prelude.<*> (x Data..:? "renderingConfiguration")+            Prelude.<*> (x Data..:? "serverSideEncryptionConfiguration")+            Prelude.<*> (x Data..:? "sourceConfiguration")+            Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "knowledgeBaseArn")+            Prelude.<*> (x Data..: "knowledgeBaseId")+            Prelude.<*> (x Data..: "knowledgeBaseType")+            Prelude.<*> (x Data..: "name")+            Prelude.<*> (x Data..: "status")+      )++instance Prelude.Hashable KnowledgeBaseData where+  hashWithSalt _salt KnowledgeBaseData' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` lastContentModificationTime+      `Prelude.hashWithSalt` renderingConfiguration+      `Prelude.hashWithSalt` serverSideEncryptionConfiguration+      `Prelude.hashWithSalt` sourceConfiguration+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` knowledgeBaseArn+      `Prelude.hashWithSalt` knowledgeBaseId+      `Prelude.hashWithSalt` knowledgeBaseType+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` status++instance Prelude.NFData KnowledgeBaseData where+  rnf KnowledgeBaseData' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf lastContentModificationTime+      `Prelude.seq` Prelude.rnf renderingConfiguration+      `Prelude.seq` Prelude.rnf serverSideEncryptionConfiguration+      `Prelude.seq` Prelude.rnf sourceConfiguration+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf knowledgeBaseArn+      `Prelude.seq` Prelude.rnf knowledgeBaseId+      `Prelude.seq` Prelude.rnf knowledgeBaseType+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Wisdom/Types/KnowledgeBaseStatus.hs view
@@ -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.Wisdom.Types.KnowledgeBaseStatus+-- 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.Wisdom.Types.KnowledgeBaseStatus+  ( KnowledgeBaseStatus+      ( ..,+        KnowledgeBaseStatus_ACTIVE,+        KnowledgeBaseStatus_CREATE_FAILED,+        KnowledgeBaseStatus_CREATE_IN_PROGRESS,+        KnowledgeBaseStatus_DELETED,+        KnowledgeBaseStatus_DELETE_FAILED,+        KnowledgeBaseStatus_DELETE_IN_PROGRESS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype KnowledgeBaseStatus = KnowledgeBaseStatus'+  { fromKnowledgeBaseStatus ::+      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 KnowledgeBaseStatus_ACTIVE :: KnowledgeBaseStatus+pattern KnowledgeBaseStatus_ACTIVE = KnowledgeBaseStatus' "ACTIVE"++pattern KnowledgeBaseStatus_CREATE_FAILED :: KnowledgeBaseStatus+pattern KnowledgeBaseStatus_CREATE_FAILED = KnowledgeBaseStatus' "CREATE_FAILED"++pattern KnowledgeBaseStatus_CREATE_IN_PROGRESS :: KnowledgeBaseStatus+pattern KnowledgeBaseStatus_CREATE_IN_PROGRESS = KnowledgeBaseStatus' "CREATE_IN_PROGRESS"++pattern KnowledgeBaseStatus_DELETED :: KnowledgeBaseStatus+pattern KnowledgeBaseStatus_DELETED = KnowledgeBaseStatus' "DELETED"++pattern KnowledgeBaseStatus_DELETE_FAILED :: KnowledgeBaseStatus+pattern KnowledgeBaseStatus_DELETE_FAILED = KnowledgeBaseStatus' "DELETE_FAILED"++pattern KnowledgeBaseStatus_DELETE_IN_PROGRESS :: KnowledgeBaseStatus+pattern KnowledgeBaseStatus_DELETE_IN_PROGRESS = KnowledgeBaseStatus' "DELETE_IN_PROGRESS"++{-# COMPLETE+  KnowledgeBaseStatus_ACTIVE,+  KnowledgeBaseStatus_CREATE_FAILED,+  KnowledgeBaseStatus_CREATE_IN_PROGRESS,+  KnowledgeBaseStatus_DELETED,+  KnowledgeBaseStatus_DELETE_FAILED,+  KnowledgeBaseStatus_DELETE_IN_PROGRESS,+  KnowledgeBaseStatus'+  #-}
+ gen/Amazonka/Wisdom/Types/KnowledgeBaseSummary.hs view
@@ -0,0 +1,201 @@+{-# 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.Wisdom.Types.KnowledgeBaseSummary+-- 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.Wisdom.Types.KnowledgeBaseSummary 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+import Amazonka.Wisdom.Types.KnowledgeBaseStatus+import Amazonka.Wisdom.Types.KnowledgeBaseType+import Amazonka.Wisdom.Types.RenderingConfiguration+import Amazonka.Wisdom.Types.ServerSideEncryptionConfiguration+import Amazonka.Wisdom.Types.SourceConfiguration++-- | Summary information about the knowledge base.+--+-- /See:/ 'newKnowledgeBaseSummary' smart constructor.+data KnowledgeBaseSummary = KnowledgeBaseSummary'+  { -- | The description of the knowledge base.+    description :: Prelude.Maybe Prelude.Text,+    -- | Information about how to render the content.+    renderingConfiguration :: Prelude.Maybe RenderingConfiguration,+    -- | The KMS key used for encryption.+    serverSideEncryptionConfiguration :: Prelude.Maybe ServerSideEncryptionConfiguration,+    -- | Configuration information about the external data source.+    sourceConfiguration :: Prelude.Maybe SourceConfiguration,+    -- | The tags used to organize, track, or control access for this resource.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) of the knowledge base.+    knowledgeBaseArn :: Prelude.Text,+    -- | The identifier of the knowledge base.+    knowledgeBaseId :: Prelude.Text,+    -- | The type of knowledge base.+    knowledgeBaseType :: KnowledgeBaseType,+    -- | The name of the knowledge base.+    name :: Prelude.Text,+    -- | The status of the knowledge base summary.+    status :: KnowledgeBaseStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KnowledgeBaseSummary' 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', 'knowledgeBaseSummary_description' - The description of the knowledge base.+--+-- 'renderingConfiguration', 'knowledgeBaseSummary_renderingConfiguration' - Information about how to render the content.+--+-- 'serverSideEncryptionConfiguration', 'knowledgeBaseSummary_serverSideEncryptionConfiguration' - The KMS key used for encryption.+--+-- 'sourceConfiguration', 'knowledgeBaseSummary_sourceConfiguration' - Configuration information about the external data source.+--+-- 'tags', 'knowledgeBaseSummary_tags' - The tags used to organize, track, or control access for this resource.+--+-- 'knowledgeBaseArn', 'knowledgeBaseSummary_knowledgeBaseArn' - The Amazon Resource Name (ARN) of the knowledge base.+--+-- 'knowledgeBaseId', 'knowledgeBaseSummary_knowledgeBaseId' - The identifier of the knowledge base.+--+-- 'knowledgeBaseType', 'knowledgeBaseSummary_knowledgeBaseType' - The type of knowledge base.+--+-- 'name', 'knowledgeBaseSummary_name' - The name of the knowledge base.+--+-- 'status', 'knowledgeBaseSummary_status' - The status of the knowledge base summary.+newKnowledgeBaseSummary ::+  -- | 'knowledgeBaseArn'+  Prelude.Text ->+  -- | 'knowledgeBaseId'+  Prelude.Text ->+  -- | 'knowledgeBaseType'+  KnowledgeBaseType ->+  -- | 'name'+  Prelude.Text ->+  -- | 'status'+  KnowledgeBaseStatus ->+  KnowledgeBaseSummary+newKnowledgeBaseSummary+  pKnowledgeBaseArn_+  pKnowledgeBaseId_+  pKnowledgeBaseType_+  pName_+  pStatus_ =+    KnowledgeBaseSummary'+      { description =+          Prelude.Nothing,+        renderingConfiguration = Prelude.Nothing,+        serverSideEncryptionConfiguration = Prelude.Nothing,+        sourceConfiguration = Prelude.Nothing,+        tags = Prelude.Nothing,+        knowledgeBaseArn = pKnowledgeBaseArn_,+        knowledgeBaseId = pKnowledgeBaseId_,+        knowledgeBaseType = pKnowledgeBaseType_,+        name = pName_,+        status = pStatus_+      }++-- | The description of the knowledge base.+knowledgeBaseSummary_description :: Lens.Lens' KnowledgeBaseSummary (Prelude.Maybe Prelude.Text)+knowledgeBaseSummary_description = Lens.lens (\KnowledgeBaseSummary' {description} -> description) (\s@KnowledgeBaseSummary' {} a -> s {description = a} :: KnowledgeBaseSummary)++-- | Information about how to render the content.+knowledgeBaseSummary_renderingConfiguration :: Lens.Lens' KnowledgeBaseSummary (Prelude.Maybe RenderingConfiguration)+knowledgeBaseSummary_renderingConfiguration = Lens.lens (\KnowledgeBaseSummary' {renderingConfiguration} -> renderingConfiguration) (\s@KnowledgeBaseSummary' {} a -> s {renderingConfiguration = a} :: KnowledgeBaseSummary)++-- | The KMS key used for encryption.+knowledgeBaseSummary_serverSideEncryptionConfiguration :: Lens.Lens' KnowledgeBaseSummary (Prelude.Maybe ServerSideEncryptionConfiguration)+knowledgeBaseSummary_serverSideEncryptionConfiguration = Lens.lens (\KnowledgeBaseSummary' {serverSideEncryptionConfiguration} -> serverSideEncryptionConfiguration) (\s@KnowledgeBaseSummary' {} a -> s {serverSideEncryptionConfiguration = a} :: KnowledgeBaseSummary)++-- | Configuration information about the external data source.+knowledgeBaseSummary_sourceConfiguration :: Lens.Lens' KnowledgeBaseSummary (Prelude.Maybe SourceConfiguration)+knowledgeBaseSummary_sourceConfiguration = Lens.lens (\KnowledgeBaseSummary' {sourceConfiguration} -> sourceConfiguration) (\s@KnowledgeBaseSummary' {} a -> s {sourceConfiguration = a} :: KnowledgeBaseSummary)++-- | The tags used to organize, track, or control access for this resource.+knowledgeBaseSummary_tags :: Lens.Lens' KnowledgeBaseSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+knowledgeBaseSummary_tags = Lens.lens (\KnowledgeBaseSummary' {tags} -> tags) (\s@KnowledgeBaseSummary' {} a -> s {tags = a} :: KnowledgeBaseSummary) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the knowledge base.+knowledgeBaseSummary_knowledgeBaseArn :: Lens.Lens' KnowledgeBaseSummary Prelude.Text+knowledgeBaseSummary_knowledgeBaseArn = Lens.lens (\KnowledgeBaseSummary' {knowledgeBaseArn} -> knowledgeBaseArn) (\s@KnowledgeBaseSummary' {} a -> s {knowledgeBaseArn = a} :: KnowledgeBaseSummary)++-- | The identifier of the knowledge base.+knowledgeBaseSummary_knowledgeBaseId :: Lens.Lens' KnowledgeBaseSummary Prelude.Text+knowledgeBaseSummary_knowledgeBaseId = Lens.lens (\KnowledgeBaseSummary' {knowledgeBaseId} -> knowledgeBaseId) (\s@KnowledgeBaseSummary' {} a -> s {knowledgeBaseId = a} :: KnowledgeBaseSummary)++-- | The type of knowledge base.+knowledgeBaseSummary_knowledgeBaseType :: Lens.Lens' KnowledgeBaseSummary KnowledgeBaseType+knowledgeBaseSummary_knowledgeBaseType = Lens.lens (\KnowledgeBaseSummary' {knowledgeBaseType} -> knowledgeBaseType) (\s@KnowledgeBaseSummary' {} a -> s {knowledgeBaseType = a} :: KnowledgeBaseSummary)++-- | The name of the knowledge base.+knowledgeBaseSummary_name :: Lens.Lens' KnowledgeBaseSummary Prelude.Text+knowledgeBaseSummary_name = Lens.lens (\KnowledgeBaseSummary' {name} -> name) (\s@KnowledgeBaseSummary' {} a -> s {name = a} :: KnowledgeBaseSummary)++-- | The status of the knowledge base summary.+knowledgeBaseSummary_status :: Lens.Lens' KnowledgeBaseSummary KnowledgeBaseStatus+knowledgeBaseSummary_status = Lens.lens (\KnowledgeBaseSummary' {status} -> status) (\s@KnowledgeBaseSummary' {} a -> s {status = a} :: KnowledgeBaseSummary)++instance Data.FromJSON KnowledgeBaseSummary where+  parseJSON =+    Data.withObject+      "KnowledgeBaseSummary"+      ( \x ->+          KnowledgeBaseSummary'+            Prelude.<$> (x Data..:? "description")+            Prelude.<*> (x Data..:? "renderingConfiguration")+            Prelude.<*> (x Data..:? "serverSideEncryptionConfiguration")+            Prelude.<*> (x Data..:? "sourceConfiguration")+            Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "knowledgeBaseArn")+            Prelude.<*> (x Data..: "knowledgeBaseId")+            Prelude.<*> (x Data..: "knowledgeBaseType")+            Prelude.<*> (x Data..: "name")+            Prelude.<*> (x Data..: "status")+      )++instance Prelude.Hashable KnowledgeBaseSummary where+  hashWithSalt _salt KnowledgeBaseSummary' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` renderingConfiguration+      `Prelude.hashWithSalt` serverSideEncryptionConfiguration+      `Prelude.hashWithSalt` sourceConfiguration+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` knowledgeBaseArn+      `Prelude.hashWithSalt` knowledgeBaseId+      `Prelude.hashWithSalt` knowledgeBaseType+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` status++instance Prelude.NFData KnowledgeBaseSummary where+  rnf KnowledgeBaseSummary' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf renderingConfiguration+      `Prelude.seq` Prelude.rnf serverSideEncryptionConfiguration+      `Prelude.seq` Prelude.rnf sourceConfiguration+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf knowledgeBaseArn+      `Prelude.seq` Prelude.rnf knowledgeBaseId+      `Prelude.seq` Prelude.rnf knowledgeBaseType+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Wisdom/Types/KnowledgeBaseType.hs view
@@ -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.Wisdom.Types.KnowledgeBaseType+-- 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.Wisdom.Types.KnowledgeBaseType+  ( KnowledgeBaseType+      ( ..,+        KnowledgeBaseType_CUSTOM,+        KnowledgeBaseType_EXTERNAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype KnowledgeBaseType = KnowledgeBaseType'+  { fromKnowledgeBaseType ::+      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 KnowledgeBaseType_CUSTOM :: KnowledgeBaseType+pattern KnowledgeBaseType_CUSTOM = KnowledgeBaseType' "CUSTOM"++pattern KnowledgeBaseType_EXTERNAL :: KnowledgeBaseType+pattern KnowledgeBaseType_EXTERNAL = KnowledgeBaseType' "EXTERNAL"++{-# COMPLETE+  KnowledgeBaseType_CUSTOM,+  KnowledgeBaseType_EXTERNAL,+  KnowledgeBaseType'+  #-}
+ gen/Amazonka/Wisdom/Types/NotifyRecommendationsReceivedError.hs view
@@ -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.Wisdom.Types.NotifyRecommendationsReceivedError+-- 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.Wisdom.Types.NotifyRecommendationsReceivedError 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 occurred when creating a recommendation.+--+-- /See:/ 'newNotifyRecommendationsReceivedError' smart constructor.+data NotifyRecommendationsReceivedError = NotifyRecommendationsReceivedError'+  { -- | A recommendation is causing an error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the recommendation that is in error.+    recommendationId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NotifyRecommendationsReceivedError' 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:+--+-- 'message', 'notifyRecommendationsReceivedError_message' - A recommendation is causing an error.+--+-- 'recommendationId', 'notifyRecommendationsReceivedError_recommendationId' - The identifier of the recommendation that is in error.+newNotifyRecommendationsReceivedError ::+  NotifyRecommendationsReceivedError+newNotifyRecommendationsReceivedError =+  NotifyRecommendationsReceivedError'+    { message =+        Prelude.Nothing,+      recommendationId = Prelude.Nothing+    }++-- | A recommendation is causing an error.+notifyRecommendationsReceivedError_message :: Lens.Lens' NotifyRecommendationsReceivedError (Prelude.Maybe Prelude.Text)+notifyRecommendationsReceivedError_message = Lens.lens (\NotifyRecommendationsReceivedError' {message} -> message) (\s@NotifyRecommendationsReceivedError' {} a -> s {message = a} :: NotifyRecommendationsReceivedError)++-- | The identifier of the recommendation that is in error.+notifyRecommendationsReceivedError_recommendationId :: Lens.Lens' NotifyRecommendationsReceivedError (Prelude.Maybe Prelude.Text)+notifyRecommendationsReceivedError_recommendationId = Lens.lens (\NotifyRecommendationsReceivedError' {recommendationId} -> recommendationId) (\s@NotifyRecommendationsReceivedError' {} a -> s {recommendationId = a} :: NotifyRecommendationsReceivedError)++instance+  Data.FromJSON+    NotifyRecommendationsReceivedError+  where+  parseJSON =+    Data.withObject+      "NotifyRecommendationsReceivedError"+      ( \x ->+          NotifyRecommendationsReceivedError'+            Prelude.<$> (x Data..:? "message")+            Prelude.<*> (x Data..:? "recommendationId")+      )++instance+  Prelude.Hashable+    NotifyRecommendationsReceivedError+  where+  hashWithSalt+    _salt+    NotifyRecommendationsReceivedError' {..} =+      _salt+        `Prelude.hashWithSalt` message+        `Prelude.hashWithSalt` recommendationId++instance+  Prelude.NFData+    NotifyRecommendationsReceivedError+  where+  rnf NotifyRecommendationsReceivedError' {..} =+    Prelude.rnf message+      `Prelude.seq` Prelude.rnf recommendationId
+ gen/Amazonka/Wisdom/Types/QueryRecommendationTriggerData.hs view
@@ -0,0 +1,80 @@+{-# 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.Wisdom.Types.QueryRecommendationTriggerData+-- 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.Wisdom.Types.QueryRecommendationTriggerData 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++-- | Data associated with the QUERY RecommendationTriggerType.+--+-- /See:/ 'newQueryRecommendationTriggerData' smart constructor.+data QueryRecommendationTriggerData = QueryRecommendationTriggerData'+  { -- | The text associated with the recommendation trigger.+    text :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'QueryRecommendationTriggerData' 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:+--+-- 'text', 'queryRecommendationTriggerData_text' - The text associated with the recommendation trigger.+newQueryRecommendationTriggerData ::+  QueryRecommendationTriggerData+newQueryRecommendationTriggerData =+  QueryRecommendationTriggerData'+    { text =+        Prelude.Nothing+    }++-- | The text associated with the recommendation trigger.+queryRecommendationTriggerData_text :: Lens.Lens' QueryRecommendationTriggerData (Prelude.Maybe Prelude.Text)+queryRecommendationTriggerData_text = Lens.lens (\QueryRecommendationTriggerData' {text} -> text) (\s@QueryRecommendationTriggerData' {} a -> s {text = a} :: QueryRecommendationTriggerData) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON QueryRecommendationTriggerData where+  parseJSON =+    Data.withObject+      "QueryRecommendationTriggerData"+      ( \x ->+          QueryRecommendationTriggerData'+            Prelude.<$> (x Data..:? "text")+      )++instance+  Prelude.Hashable+    QueryRecommendationTriggerData+  where+  hashWithSalt+    _salt+    QueryRecommendationTriggerData' {..} =+      _salt `Prelude.hashWithSalt` text++instance+  Prelude.NFData+    QueryRecommendationTriggerData+  where+  rnf QueryRecommendationTriggerData' {..} =+    Prelude.rnf text
+ gen/Amazonka/Wisdom/Types/RecommendationData.hs view
@@ -0,0 +1,128 @@+{-# 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.Wisdom.Types.RecommendationData+-- 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.Wisdom.Types.RecommendationData 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+import Amazonka.Wisdom.Types.Document+import Amazonka.Wisdom.Types.RecommendationType+import Amazonka.Wisdom.Types.RelevanceLevel++-- | Information about the recommendation.+--+-- /See:/ 'newRecommendationData' smart constructor.+data RecommendationData = RecommendationData'+  { -- | The relevance level of the recommendation.+    relevanceLevel :: Prelude.Maybe RelevanceLevel,+    -- | The relevance score of the recommendation.+    relevanceScore :: Prelude.Maybe Prelude.Double,+    -- | The type of recommendation.+    type' :: Prelude.Maybe RecommendationType,+    -- | The recommended document.+    document :: Document,+    -- | The identifier of the recommendation.+    recommendationId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecommendationData' 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:+--+-- 'relevanceLevel', 'recommendationData_relevanceLevel' - The relevance level of the recommendation.+--+-- 'relevanceScore', 'recommendationData_relevanceScore' - The relevance score of the recommendation.+--+-- 'type'', 'recommendationData_type' - The type of recommendation.+--+-- 'document', 'recommendationData_document' - The recommended document.+--+-- 'recommendationId', 'recommendationData_recommendationId' - The identifier of the recommendation.+newRecommendationData ::+  -- | 'document'+  Document ->+  -- | 'recommendationId'+  Prelude.Text ->+  RecommendationData+newRecommendationData pDocument_ pRecommendationId_ =+  RecommendationData'+    { relevanceLevel =+        Prelude.Nothing,+      relevanceScore = Prelude.Nothing,+      type' = Prelude.Nothing,+      document = pDocument_,+      recommendationId = pRecommendationId_+    }++-- | The relevance level of the recommendation.+recommendationData_relevanceLevel :: Lens.Lens' RecommendationData (Prelude.Maybe RelevanceLevel)+recommendationData_relevanceLevel = Lens.lens (\RecommendationData' {relevanceLevel} -> relevanceLevel) (\s@RecommendationData' {} a -> s {relevanceLevel = a} :: RecommendationData)++-- | The relevance score of the recommendation.+recommendationData_relevanceScore :: Lens.Lens' RecommendationData (Prelude.Maybe Prelude.Double)+recommendationData_relevanceScore = Lens.lens (\RecommendationData' {relevanceScore} -> relevanceScore) (\s@RecommendationData' {} a -> s {relevanceScore = a} :: RecommendationData)++-- | The type of recommendation.+recommendationData_type :: Lens.Lens' RecommendationData (Prelude.Maybe RecommendationType)+recommendationData_type = Lens.lens (\RecommendationData' {type'} -> type') (\s@RecommendationData' {} a -> s {type' = a} :: RecommendationData)++-- | The recommended document.+recommendationData_document :: Lens.Lens' RecommendationData Document+recommendationData_document = Lens.lens (\RecommendationData' {document} -> document) (\s@RecommendationData' {} a -> s {document = a} :: RecommendationData)++-- | The identifier of the recommendation.+recommendationData_recommendationId :: Lens.Lens' RecommendationData Prelude.Text+recommendationData_recommendationId = Lens.lens (\RecommendationData' {recommendationId} -> recommendationId) (\s@RecommendationData' {} a -> s {recommendationId = a} :: RecommendationData)++instance Data.FromJSON RecommendationData where+  parseJSON =+    Data.withObject+      "RecommendationData"+      ( \x ->+          RecommendationData'+            Prelude.<$> (x Data..:? "relevanceLevel")+            Prelude.<*> (x Data..:? "relevanceScore")+            Prelude.<*> (x Data..:? "type")+            Prelude.<*> (x Data..: "document")+            Prelude.<*> (x Data..: "recommendationId")+      )++instance Prelude.Hashable RecommendationData where+  hashWithSalt _salt RecommendationData' {..} =+    _salt+      `Prelude.hashWithSalt` relevanceLevel+      `Prelude.hashWithSalt` relevanceScore+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` document+      `Prelude.hashWithSalt` recommendationId++instance Prelude.NFData RecommendationData where+  rnf RecommendationData' {..} =+    Prelude.rnf relevanceLevel+      `Prelude.seq` Prelude.rnf relevanceScore+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf document+      `Prelude.seq` Prelude.rnf recommendationId
+ gen/Amazonka/Wisdom/Types/RecommendationSourceType.hs view
@@ -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.Wisdom.Types.RecommendationSourceType+-- 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.Wisdom.Types.RecommendationSourceType+  ( RecommendationSourceType+      ( ..,+        RecommendationSourceType_ISSUE_DETECTION,+        RecommendationSourceType_OTHER,+        RecommendationSourceType_RULE_EVALUATION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RecommendationSourceType = RecommendationSourceType'+  { fromRecommendationSourceType ::+      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 RecommendationSourceType_ISSUE_DETECTION :: RecommendationSourceType+pattern RecommendationSourceType_ISSUE_DETECTION = RecommendationSourceType' "ISSUE_DETECTION"++pattern RecommendationSourceType_OTHER :: RecommendationSourceType+pattern RecommendationSourceType_OTHER = RecommendationSourceType' "OTHER"++pattern RecommendationSourceType_RULE_EVALUATION :: RecommendationSourceType+pattern RecommendationSourceType_RULE_EVALUATION = RecommendationSourceType' "RULE_EVALUATION"++{-# COMPLETE+  RecommendationSourceType_ISSUE_DETECTION,+  RecommendationSourceType_OTHER,+  RecommendationSourceType_RULE_EVALUATION,+  RecommendationSourceType'+  #-}
+ gen/Amazonka/Wisdom/Types/RecommendationTrigger.hs view
@@ -0,0 +1,154 @@+{-# 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.Wisdom.Types.RecommendationTrigger+-- 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.Wisdom.Types.RecommendationTrigger 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+import Amazonka.Wisdom.Types.RecommendationSourceType+import Amazonka.Wisdom.Types.RecommendationTriggerData+import Amazonka.Wisdom.Types.RecommendationTriggerType++-- | A recommendation trigger provides context on the event that produced the+-- referenced recommendations. Recommendations are only referenced in+-- @recommendationIds@ by a single RecommendationTrigger.+--+-- /See:/ 'newRecommendationTrigger' smart constructor.+data RecommendationTrigger = RecommendationTrigger'+  { -- | A union type containing information related to the trigger.+    data' :: RecommendationTriggerData,+    -- | The identifier of the recommendation trigger.+    id :: Prelude.Text,+    -- | The identifiers of the recommendations.+    recommendationIds :: [Prelude.Text],+    -- | The source of the recommendation trigger.+    --+    -- -   ISSUE_DETECTION: The corresponding recommendations were triggered by+    --     a Contact Lens issue.+    --+    -- -   RULE_EVALUATION: The corresponding recommendations were triggered by+    --     a Contact Lens rule.+    source :: RecommendationSourceType,+    -- | The type of recommendation trigger.+    type' :: RecommendationTriggerType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecommendationTrigger' 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:+--+-- 'data'', 'recommendationTrigger_data' - A union type containing information related to the trigger.+--+-- 'id', 'recommendationTrigger_id' - The identifier of the recommendation trigger.+--+-- 'recommendationIds', 'recommendationTrigger_recommendationIds' - The identifiers of the recommendations.+--+-- 'source', 'recommendationTrigger_source' - The source of the recommendation trigger.+--+-- -   ISSUE_DETECTION: The corresponding recommendations were triggered by+--     a Contact Lens issue.+--+-- -   RULE_EVALUATION: The corresponding recommendations were triggered by+--     a Contact Lens rule.+--+-- 'type'', 'recommendationTrigger_type' - The type of recommendation trigger.+newRecommendationTrigger ::+  -- | 'data''+  RecommendationTriggerData ->+  -- | 'id'+  Prelude.Text ->+  -- | 'source'+  RecommendationSourceType ->+  -- | 'type''+  RecommendationTriggerType ->+  RecommendationTrigger+newRecommendationTrigger pData_ pId_ pSource_ pType_ =+  RecommendationTrigger'+    { data' = pData_,+      id = pId_,+      recommendationIds = Prelude.mempty,+      source = pSource_,+      type' = pType_+    }++-- | A union type containing information related to the trigger.+recommendationTrigger_data :: Lens.Lens' RecommendationTrigger RecommendationTriggerData+recommendationTrigger_data = Lens.lens (\RecommendationTrigger' {data'} -> data') (\s@RecommendationTrigger' {} a -> s {data' = a} :: RecommendationTrigger)++-- | The identifier of the recommendation trigger.+recommendationTrigger_id :: Lens.Lens' RecommendationTrigger Prelude.Text+recommendationTrigger_id = Lens.lens (\RecommendationTrigger' {id} -> id) (\s@RecommendationTrigger' {} a -> s {id = a} :: RecommendationTrigger)++-- | The identifiers of the recommendations.+recommendationTrigger_recommendationIds :: Lens.Lens' RecommendationTrigger [Prelude.Text]+recommendationTrigger_recommendationIds = Lens.lens (\RecommendationTrigger' {recommendationIds} -> recommendationIds) (\s@RecommendationTrigger' {} a -> s {recommendationIds = a} :: RecommendationTrigger) Prelude.. Lens.coerced++-- | The source of the recommendation trigger.+--+-- -   ISSUE_DETECTION: The corresponding recommendations were triggered by+--     a Contact Lens issue.+--+-- -   RULE_EVALUATION: The corresponding recommendations were triggered by+--     a Contact Lens rule.+recommendationTrigger_source :: Lens.Lens' RecommendationTrigger RecommendationSourceType+recommendationTrigger_source = Lens.lens (\RecommendationTrigger' {source} -> source) (\s@RecommendationTrigger' {} a -> s {source = a} :: RecommendationTrigger)++-- | The type of recommendation trigger.+recommendationTrigger_type :: Lens.Lens' RecommendationTrigger RecommendationTriggerType+recommendationTrigger_type = Lens.lens (\RecommendationTrigger' {type'} -> type') (\s@RecommendationTrigger' {} a -> s {type' = a} :: RecommendationTrigger)++instance Data.FromJSON RecommendationTrigger where+  parseJSON =+    Data.withObject+      "RecommendationTrigger"+      ( \x ->+          RecommendationTrigger'+            Prelude.<$> (x Data..: "data")+            Prelude.<*> (x Data..: "id")+            Prelude.<*> ( x+                            Data..:? "recommendationIds"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "source")+            Prelude.<*> (x Data..: "type")+      )++instance Prelude.Hashable RecommendationTrigger where+  hashWithSalt _salt RecommendationTrigger' {..} =+    _salt+      `Prelude.hashWithSalt` data'+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` recommendationIds+      `Prelude.hashWithSalt` source+      `Prelude.hashWithSalt` type'++instance Prelude.NFData RecommendationTrigger where+  rnf RecommendationTrigger' {..} =+    Prelude.rnf data'+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf recommendationIds+      `Prelude.seq` Prelude.rnf source+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/Wisdom/Types/RecommendationTriggerData.hs view
@@ -0,0 +1,70 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Wisdom.Types.RecommendationTriggerData+-- 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.Wisdom.Types.RecommendationTriggerData 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+import Amazonka.Wisdom.Types.QueryRecommendationTriggerData++-- | A union type containing information related to the trigger.+--+-- /See:/ 'newRecommendationTriggerData' smart constructor.+data RecommendationTriggerData = RecommendationTriggerData'+  { -- | Data associated with the QUERY RecommendationTriggerType.+    query :: Prelude.Maybe QueryRecommendationTriggerData+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecommendationTriggerData' 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:+--+-- 'query', 'recommendationTriggerData_query' - Data associated with the QUERY RecommendationTriggerType.+newRecommendationTriggerData ::+  RecommendationTriggerData+newRecommendationTriggerData =+  RecommendationTriggerData' {query = Prelude.Nothing}++-- | Data associated with the QUERY RecommendationTriggerType.+recommendationTriggerData_query :: Lens.Lens' RecommendationTriggerData (Prelude.Maybe QueryRecommendationTriggerData)+recommendationTriggerData_query = Lens.lens (\RecommendationTriggerData' {query} -> query) (\s@RecommendationTriggerData' {} a -> s {query = a} :: RecommendationTriggerData)++instance Data.FromJSON RecommendationTriggerData where+  parseJSON =+    Data.withObject+      "RecommendationTriggerData"+      ( \x ->+          RecommendationTriggerData'+            Prelude.<$> (x Data..:? "query")+      )++instance Prelude.Hashable RecommendationTriggerData where+  hashWithSalt _salt RecommendationTriggerData' {..} =+    _salt `Prelude.hashWithSalt` query++instance Prelude.NFData RecommendationTriggerData where+  rnf RecommendationTriggerData' {..} =+    Prelude.rnf query
+ gen/Amazonka/Wisdom/Types/RecommendationTriggerType.hs view
@@ -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.Wisdom.Types.RecommendationTriggerType+-- 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.Wisdom.Types.RecommendationTriggerType+  ( RecommendationTriggerType+      ( ..,+        RecommendationTriggerType_QUERY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RecommendationTriggerType = RecommendationTriggerType'+  { fromRecommendationTriggerType ::+      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 RecommendationTriggerType_QUERY :: RecommendationTriggerType+pattern RecommendationTriggerType_QUERY = RecommendationTriggerType' "QUERY"++{-# COMPLETE+  RecommendationTriggerType_QUERY,+  RecommendationTriggerType'+  #-}
+ gen/Amazonka/Wisdom/Types/RecommendationType.hs view
@@ -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.Wisdom.Types.RecommendationType+-- 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.Wisdom.Types.RecommendationType+  ( RecommendationType+      ( ..,+        RecommendationType_KNOWLEDGE_CONTENT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RecommendationType = RecommendationType'+  { fromRecommendationType ::+      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 RecommendationType_KNOWLEDGE_CONTENT :: RecommendationType+pattern RecommendationType_KNOWLEDGE_CONTENT = RecommendationType' "KNOWLEDGE_CONTENT"++{-# COMPLETE+  RecommendationType_KNOWLEDGE_CONTENT,+  RecommendationType'+  #-}
+ gen/Amazonka/Wisdom/Types/RelevanceLevel.hs view
@@ -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.Wisdom.Types.RelevanceLevel+-- 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.Wisdom.Types.RelevanceLevel+  ( RelevanceLevel+      ( ..,+        RelevanceLevel_HIGH,+        RelevanceLevel_LOW,+        RelevanceLevel_MEDIUM+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RelevanceLevel = RelevanceLevel'+  { fromRelevanceLevel ::+      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 RelevanceLevel_HIGH :: RelevanceLevel+pattern RelevanceLevel_HIGH = RelevanceLevel' "HIGH"++pattern RelevanceLevel_LOW :: RelevanceLevel+pattern RelevanceLevel_LOW = RelevanceLevel' "LOW"++pattern RelevanceLevel_MEDIUM :: RelevanceLevel+pattern RelevanceLevel_MEDIUM = RelevanceLevel' "MEDIUM"++{-# COMPLETE+  RelevanceLevel_HIGH,+  RelevanceLevel_LOW,+  RelevanceLevel_MEDIUM,+  RelevanceLevel'+  #-}
+ gen/Amazonka/Wisdom/Types/RenderingConfiguration.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Wisdom.Types.RenderingConfiguration+-- 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.Wisdom.Types.RenderingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about how to render the content.+--+-- /See:/ 'newRenderingConfiguration' smart constructor.+data RenderingConfiguration = RenderingConfiguration'+  { -- | A URI template containing exactly one variable in+    -- @${variableName} @format. This can only be set for @EXTERNAL@ knowledge+    -- bases. For Salesforce and ServiceNow, the variable must be one of the+    -- following:+    --+    -- -   Salesforce: @Id@, @ArticleNumber@, @VersionNumber@, @Title@,+    --     @PublishStatus@, or @IsDeleted@+    --+    -- -   ServiceNow: @number@, @short_description@, @sys_mod_count@,+    --     @workflow_state@, or @active@+    --+    -- >  <p>The variable is replaced with the actual value for a piece of content when calling <a href="https://docs.aws.amazon.com/wisdom/latest/APIReference/API_GetContent.html">GetContent</a>. </p>+    templateUri :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RenderingConfiguration' 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:+--+-- 'templateUri', 'renderingConfiguration_templateUri' - A URI template containing exactly one variable in+-- @${variableName} @format. This can only be set for @EXTERNAL@ knowledge+-- bases. For Salesforce and ServiceNow, the variable must be one of the+-- following:+--+-- -   Salesforce: @Id@, @ArticleNumber@, @VersionNumber@, @Title@,+--     @PublishStatus@, or @IsDeleted@+--+-- -   ServiceNow: @number@, @short_description@, @sys_mod_count@,+--     @workflow_state@, or @active@+--+-- >  <p>The variable is replaced with the actual value for a piece of content when calling <a href="https://docs.aws.amazon.com/wisdom/latest/APIReference/API_GetContent.html">GetContent</a>. </p>+newRenderingConfiguration ::+  RenderingConfiguration+newRenderingConfiguration =+  RenderingConfiguration'+    { templateUri =+        Prelude.Nothing+    }++-- | A URI template containing exactly one variable in+-- @${variableName} @format. This can only be set for @EXTERNAL@ knowledge+-- bases. For Salesforce and ServiceNow, the variable must be one of the+-- following:+--+-- -   Salesforce: @Id@, @ArticleNumber@, @VersionNumber@, @Title@,+--     @PublishStatus@, or @IsDeleted@+--+-- -   ServiceNow: @number@, @short_description@, @sys_mod_count@,+--     @workflow_state@, or @active@+--+-- >  <p>The variable is replaced with the actual value for a piece of content when calling <a href="https://docs.aws.amazon.com/wisdom/latest/APIReference/API_GetContent.html">GetContent</a>. </p>+renderingConfiguration_templateUri :: Lens.Lens' RenderingConfiguration (Prelude.Maybe Prelude.Text)+renderingConfiguration_templateUri = Lens.lens (\RenderingConfiguration' {templateUri} -> templateUri) (\s@RenderingConfiguration' {} a -> s {templateUri = a} :: RenderingConfiguration)++instance Data.FromJSON RenderingConfiguration where+  parseJSON =+    Data.withObject+      "RenderingConfiguration"+      ( \x ->+          RenderingConfiguration'+            Prelude.<$> (x Data..:? "templateUri")+      )++instance Prelude.Hashable RenderingConfiguration where+  hashWithSalt _salt RenderingConfiguration' {..} =+    _salt `Prelude.hashWithSalt` templateUri++instance Prelude.NFData RenderingConfiguration where+  rnf RenderingConfiguration' {..} =+    Prelude.rnf templateUri++instance Data.ToJSON RenderingConfiguration where+  toJSON RenderingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [("templateUri" Data..=) Prelude.<$> templateUri]+      )
+ gen/Amazonka/Wisdom/Types/ResultData.hs view
@@ -0,0 +1,101 @@+{-# 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.Wisdom.Types.ResultData+-- 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.Wisdom.Types.ResultData 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+import Amazonka.Wisdom.Types.Document++-- | Information about the result.+--+-- /See:/ 'newResultData' smart constructor.+data ResultData = ResultData'+  { -- | The relevance score of the results.+    relevanceScore :: Prelude.Maybe Prelude.Double,+    -- | The document.+    document :: Document,+    -- | The identifier of the result data.+    resultId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResultData' 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:+--+-- 'relevanceScore', 'resultData_relevanceScore' - The relevance score of the results.+--+-- 'document', 'resultData_document' - The document.+--+-- 'resultId', 'resultData_resultId' - The identifier of the result data.+newResultData ::+  -- | 'document'+  Document ->+  -- | 'resultId'+  Prelude.Text ->+  ResultData+newResultData pDocument_ pResultId_ =+  ResultData'+    { relevanceScore = Prelude.Nothing,+      document = pDocument_,+      resultId = pResultId_+    }++-- | The relevance score of the results.+resultData_relevanceScore :: Lens.Lens' ResultData (Prelude.Maybe Prelude.Double)+resultData_relevanceScore = Lens.lens (\ResultData' {relevanceScore} -> relevanceScore) (\s@ResultData' {} a -> s {relevanceScore = a} :: ResultData)++-- | The document.+resultData_document :: Lens.Lens' ResultData Document+resultData_document = Lens.lens (\ResultData' {document} -> document) (\s@ResultData' {} a -> s {document = a} :: ResultData)++-- | The identifier of the result data.+resultData_resultId :: Lens.Lens' ResultData Prelude.Text+resultData_resultId = Lens.lens (\ResultData' {resultId} -> resultId) (\s@ResultData' {} a -> s {resultId = a} :: ResultData)++instance Data.FromJSON ResultData where+  parseJSON =+    Data.withObject+      "ResultData"+      ( \x ->+          ResultData'+            Prelude.<$> (x Data..:? "relevanceScore")+            Prelude.<*> (x Data..: "document")+            Prelude.<*> (x Data..: "resultId")+      )++instance Prelude.Hashable ResultData where+  hashWithSalt _salt ResultData' {..} =+    _salt+      `Prelude.hashWithSalt` relevanceScore+      `Prelude.hashWithSalt` document+      `Prelude.hashWithSalt` resultId++instance Prelude.NFData ResultData where+  rnf ResultData' {..} =+    Prelude.rnf relevanceScore+      `Prelude.seq` Prelude.rnf document+      `Prelude.seq` Prelude.rnf resultId
+ gen/Amazonka/Wisdom/Types/SearchExpression.hs view
@@ -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.Wisdom.Types.SearchExpression+-- 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.Wisdom.Types.SearchExpression 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+import Amazonka.Wisdom.Types.Filter++-- | The search expression.+--+-- /See:/ 'newSearchExpression' smart constructor.+data SearchExpression = SearchExpression'+  { -- | The search expression filters.+    filters :: [Filter]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchExpression' 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:+--+-- 'filters', 'searchExpression_filters' - The search expression filters.+newSearchExpression ::+  SearchExpression+newSearchExpression =+  SearchExpression' {filters = Prelude.mempty}++-- | The search expression filters.+searchExpression_filters :: Lens.Lens' SearchExpression [Filter]+searchExpression_filters = Lens.lens (\SearchExpression' {filters} -> filters) (\s@SearchExpression' {} a -> s {filters = a} :: SearchExpression) Prelude.. Lens.coerced++instance Prelude.Hashable SearchExpression where+  hashWithSalt _salt SearchExpression' {..} =+    _salt `Prelude.hashWithSalt` filters++instance Prelude.NFData SearchExpression where+  rnf SearchExpression' {..} = Prelude.rnf filters++instance Data.ToJSON SearchExpression where+  toJSON SearchExpression' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("filters" Data..= filters)]+      )
+ gen/Amazonka/Wisdom/Types/ServerSideEncryptionConfiguration.hs view
@@ -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.Wisdom.Types.ServerSideEncryptionConfiguration+-- 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.Wisdom.Types.ServerSideEncryptionConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The KMS key used for encryption.+--+-- /See:/ 'newServerSideEncryptionConfiguration' smart constructor.+data ServerSideEncryptionConfiguration = ServerSideEncryptionConfiguration'+  { -- | The KMS key. For information about valid ID values, see+    -- <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id Key identifiers (KeyId)>.+    kmsKeyId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServerSideEncryptionConfiguration' 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:+--+-- 'kmsKeyId', 'serverSideEncryptionConfiguration_kmsKeyId' - The KMS key. For information about valid ID values, see+-- <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id Key identifiers (KeyId)>.+newServerSideEncryptionConfiguration ::+  ServerSideEncryptionConfiguration+newServerSideEncryptionConfiguration =+  ServerSideEncryptionConfiguration'+    { kmsKeyId =+        Prelude.Nothing+    }++-- | The KMS key. For information about valid ID values, see+-- <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id Key identifiers (KeyId)>.+serverSideEncryptionConfiguration_kmsKeyId :: Lens.Lens' ServerSideEncryptionConfiguration (Prelude.Maybe Prelude.Text)+serverSideEncryptionConfiguration_kmsKeyId = Lens.lens (\ServerSideEncryptionConfiguration' {kmsKeyId} -> kmsKeyId) (\s@ServerSideEncryptionConfiguration' {} a -> s {kmsKeyId = a} :: ServerSideEncryptionConfiguration)++instance+  Data.FromJSON+    ServerSideEncryptionConfiguration+  where+  parseJSON =+    Data.withObject+      "ServerSideEncryptionConfiguration"+      ( \x ->+          ServerSideEncryptionConfiguration'+            Prelude.<$> (x Data..:? "kmsKeyId")+      )++instance+  Prelude.Hashable+    ServerSideEncryptionConfiguration+  where+  hashWithSalt+    _salt+    ServerSideEncryptionConfiguration' {..} =+      _salt `Prelude.hashWithSalt` kmsKeyId++instance+  Prelude.NFData+    ServerSideEncryptionConfiguration+  where+  rnf ServerSideEncryptionConfiguration' {..} =+    Prelude.rnf kmsKeyId++instance+  Data.ToJSON+    ServerSideEncryptionConfiguration+  where+  toJSON ServerSideEncryptionConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [("kmsKeyId" Data..=) Prelude.<$> kmsKeyId]+      )
+ gen/Amazonka/Wisdom/Types/SessionData.hs view
@@ -0,0 +1,126 @@+{-# 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.Wisdom.Types.SessionData+-- 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.Wisdom.Types.SessionData where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the session.+--+-- /See:/ 'newSessionData' smart constructor.+data SessionData = SessionData'+  { -- | The description of the session.+    description :: Prelude.Maybe Prelude.Text,+    -- | The tags used to organize, track, or control access for this resource.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the session.+    name :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the session.+    sessionArn :: Prelude.Text,+    -- | The identifier of the session.+    sessionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SessionData' 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', 'sessionData_description' - The description of the session.+--+-- 'tags', 'sessionData_tags' - The tags used to organize, track, or control access for this resource.+--+-- 'name', 'sessionData_name' - The name of the session.+--+-- 'sessionArn', 'sessionData_sessionArn' - The Amazon Resource Name (ARN) of the session.+--+-- 'sessionId', 'sessionData_sessionId' - The identifier of the session.+newSessionData ::+  -- | 'name'+  Prelude.Text ->+  -- | 'sessionArn'+  Prelude.Text ->+  -- | 'sessionId'+  Prelude.Text ->+  SessionData+newSessionData pName_ pSessionArn_ pSessionId_ =+  SessionData'+    { description = Prelude.Nothing,+      tags = Prelude.Nothing,+      name = pName_,+      sessionArn = pSessionArn_,+      sessionId = pSessionId_+    }++-- | The description of the session.+sessionData_description :: Lens.Lens' SessionData (Prelude.Maybe Prelude.Text)+sessionData_description = Lens.lens (\SessionData' {description} -> description) (\s@SessionData' {} a -> s {description = a} :: SessionData)++-- | The tags used to organize, track, or control access for this resource.+sessionData_tags :: Lens.Lens' SessionData (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+sessionData_tags = Lens.lens (\SessionData' {tags} -> tags) (\s@SessionData' {} a -> s {tags = a} :: SessionData) Prelude.. Lens.mapping Lens.coerced++-- | The name of the session.+sessionData_name :: Lens.Lens' SessionData Prelude.Text+sessionData_name = Lens.lens (\SessionData' {name} -> name) (\s@SessionData' {} a -> s {name = a} :: SessionData)++-- | The Amazon Resource Name (ARN) of the session.+sessionData_sessionArn :: Lens.Lens' SessionData Prelude.Text+sessionData_sessionArn = Lens.lens (\SessionData' {sessionArn} -> sessionArn) (\s@SessionData' {} a -> s {sessionArn = a} :: SessionData)++-- | The identifier of the session.+sessionData_sessionId :: Lens.Lens' SessionData Prelude.Text+sessionData_sessionId = Lens.lens (\SessionData' {sessionId} -> sessionId) (\s@SessionData' {} a -> s {sessionId = a} :: SessionData)++instance Data.FromJSON SessionData where+  parseJSON =+    Data.withObject+      "SessionData"+      ( \x ->+          SessionData'+            Prelude.<$> (x Data..:? "description")+            Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "name")+            Prelude.<*> (x Data..: "sessionArn")+            Prelude.<*> (x Data..: "sessionId")+      )++instance Prelude.Hashable SessionData where+  hashWithSalt _salt SessionData' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` sessionArn+      `Prelude.hashWithSalt` sessionId++instance Prelude.NFData SessionData where+  rnf SessionData' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf sessionArn+      `Prelude.seq` Prelude.rnf sessionId
+ gen/Amazonka/Wisdom/Types/SessionSummary.hs view
@@ -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.Wisdom.Types.SessionSummary+-- 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.Wisdom.Types.SessionSummary 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++-- | Summary information about the session.+--+-- /See:/ 'newSessionSummary' smart constructor.+data SessionSummary = SessionSummary'+  { -- | The Amazon Resource Name (ARN) of the Wisdom assistant.+    assistantArn :: Prelude.Text,+    -- | The identifier of the Wisdom assistant.+    assistantId :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the session.+    sessionArn :: Prelude.Text,+    -- | The identifier of the session.+    sessionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SessionSummary' 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:+--+-- 'assistantArn', 'sessionSummary_assistantArn' - The Amazon Resource Name (ARN) of the Wisdom assistant.+--+-- 'assistantId', 'sessionSummary_assistantId' - The identifier of the Wisdom assistant.+--+-- 'sessionArn', 'sessionSummary_sessionArn' - The Amazon Resource Name (ARN) of the session.+--+-- 'sessionId', 'sessionSummary_sessionId' - The identifier of the session.+newSessionSummary ::+  -- | 'assistantArn'+  Prelude.Text ->+  -- | 'assistantId'+  Prelude.Text ->+  -- | 'sessionArn'+  Prelude.Text ->+  -- | 'sessionId'+  Prelude.Text ->+  SessionSummary+newSessionSummary+  pAssistantArn_+  pAssistantId_+  pSessionArn_+  pSessionId_ =+    SessionSummary'+      { assistantArn = pAssistantArn_,+        assistantId = pAssistantId_,+        sessionArn = pSessionArn_,+        sessionId = pSessionId_+      }++-- | The Amazon Resource Name (ARN) of the Wisdom assistant.+sessionSummary_assistantArn :: Lens.Lens' SessionSummary Prelude.Text+sessionSummary_assistantArn = Lens.lens (\SessionSummary' {assistantArn} -> assistantArn) (\s@SessionSummary' {} a -> s {assistantArn = a} :: SessionSummary)++-- | The identifier of the Wisdom assistant.+sessionSummary_assistantId :: Lens.Lens' SessionSummary Prelude.Text+sessionSummary_assistantId = Lens.lens (\SessionSummary' {assistantId} -> assistantId) (\s@SessionSummary' {} a -> s {assistantId = a} :: SessionSummary)++-- | The Amazon Resource Name (ARN) of the session.+sessionSummary_sessionArn :: Lens.Lens' SessionSummary Prelude.Text+sessionSummary_sessionArn = Lens.lens (\SessionSummary' {sessionArn} -> sessionArn) (\s@SessionSummary' {} a -> s {sessionArn = a} :: SessionSummary)++-- | The identifier of the session.+sessionSummary_sessionId :: Lens.Lens' SessionSummary Prelude.Text+sessionSummary_sessionId = Lens.lens (\SessionSummary' {sessionId} -> sessionId) (\s@SessionSummary' {} a -> s {sessionId = a} :: SessionSummary)++instance Data.FromJSON SessionSummary where+  parseJSON =+    Data.withObject+      "SessionSummary"+      ( \x ->+          SessionSummary'+            Prelude.<$> (x Data..: "assistantArn")+            Prelude.<*> (x Data..: "assistantId")+            Prelude.<*> (x Data..: "sessionArn")+            Prelude.<*> (x Data..: "sessionId")+      )++instance Prelude.Hashable SessionSummary where+  hashWithSalt _salt SessionSummary' {..} =+    _salt+      `Prelude.hashWithSalt` assistantArn+      `Prelude.hashWithSalt` assistantId+      `Prelude.hashWithSalt` sessionArn+      `Prelude.hashWithSalt` sessionId++instance Prelude.NFData SessionSummary where+  rnf SessionSummary' {..} =+    Prelude.rnf assistantArn+      `Prelude.seq` Prelude.rnf assistantId+      `Prelude.seq` Prelude.rnf sessionArn+      `Prelude.seq` Prelude.rnf sessionId
+ gen/Amazonka/Wisdom/Types/SourceConfiguration.hs view
@@ -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.Wisdom.Types.SourceConfiguration+-- 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.Wisdom.Types.SourceConfiguration 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+import Amazonka.Wisdom.Types.AppIntegrationsConfiguration++-- | Configuration information about the external data source.+--+-- /See:/ 'newSourceConfiguration' smart constructor.+data SourceConfiguration = SourceConfiguration'+  { -- | Configuration information for Amazon AppIntegrations to automatically+    -- ingest content.+    appIntegrations :: Prelude.Maybe AppIntegrationsConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SourceConfiguration' 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:+--+-- 'appIntegrations', 'sourceConfiguration_appIntegrations' - Configuration information for Amazon AppIntegrations to automatically+-- ingest content.+newSourceConfiguration ::+  SourceConfiguration+newSourceConfiguration =+  SourceConfiguration'+    { appIntegrations =+        Prelude.Nothing+    }++-- | Configuration information for Amazon AppIntegrations to automatically+-- ingest content.+sourceConfiguration_appIntegrations :: Lens.Lens' SourceConfiguration (Prelude.Maybe AppIntegrationsConfiguration)+sourceConfiguration_appIntegrations = Lens.lens (\SourceConfiguration' {appIntegrations} -> appIntegrations) (\s@SourceConfiguration' {} a -> s {appIntegrations = a} :: SourceConfiguration)++instance Data.FromJSON SourceConfiguration where+  parseJSON =+    Data.withObject+      "SourceConfiguration"+      ( \x ->+          SourceConfiguration'+            Prelude.<$> (x Data..:? "appIntegrations")+      )++instance Prelude.Hashable SourceConfiguration where+  hashWithSalt _salt SourceConfiguration' {..} =+    _salt `Prelude.hashWithSalt` appIntegrations++instance Prelude.NFData SourceConfiguration where+  rnf SourceConfiguration' {..} =+    Prelude.rnf appIntegrations++instance Data.ToJSON SourceConfiguration where+  toJSON SourceConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("appIntegrations" Data..=)+              Prelude.<$> appIntegrations+          ]+      )
+ gen/Amazonka/Wisdom/UntagResource.hs view
@@ -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.Wisdom.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 the specified tags from the specified resource.+module Amazonka.Wisdom.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 qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The Amazon Resource Name (ARN) of the resource.+    resourceArn :: Prelude.Text,+    -- | The tag keys.+    tagKeys :: Prelude.NonEmpty 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 Amazon Resource Name (ARN) of the resource.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tag keys.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ pTagKeys_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Lens.coerced Lens.# pTagKeys_+    }++-- | The Amazon Resource Name (ARN) of the resource.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The tag keys.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty 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
+ gen/Amazonka/Wisdom/UpdateContent.hs view
@@ -0,0 +1,303 @@+{-# 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.Wisdom.UpdateContent+-- 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 information about the content.+module Amazonka.Wisdom.UpdateContent+  ( -- * Creating a Request+    UpdateContent (..),+    newUpdateContent,++    -- * Request Lenses+    updateContent_metadata,+    updateContent_overrideLinkOutUri,+    updateContent_removeOverrideLinkOutUri,+    updateContent_revisionId,+    updateContent_title,+    updateContent_uploadId,+    updateContent_contentId,+    updateContent_knowledgeBaseId,++    -- * Destructuring the Response+    UpdateContentResponse (..),+    newUpdateContentResponse,++    -- * Response Lenses+    updateContentResponse_content,+    updateContentResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newUpdateContent' smart constructor.+data UpdateContent = UpdateContent'+  { -- | A key\/value map to store attributes without affecting tagging or+    -- recommendations. For example, when synchronizing data between an+    -- external system and Wisdom, you can store an external version identifier+    -- as metadata to utilize for determining drift.+    metadata :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The URI for the article. If the knowledge base has a templateUri,+    -- setting this argument overrides it for this piece of content. To remove+    -- an existing @overrideLinkOurUri@, exclude this argument and set+    -- @removeOverrideLinkOutUri@ to true.+    overrideLinkOutUri :: Prelude.Maybe Prelude.Text,+    -- | Unset the existing @overrideLinkOutUri@ if it exists.+    removeOverrideLinkOutUri :: Prelude.Maybe Prelude.Bool,+    -- | The @revisionId@ of the content resource to update, taken from an+    -- earlier call to @GetContent@, @GetContentSummary@, @SearchContent@, or+    -- @ListContents@. If included, this argument acts as an optimistic lock to+    -- ensure content was not modified since it was last read. If it has been+    -- modified, this API throws a @PreconditionFailedException@.+    revisionId :: Prelude.Maybe Prelude.Text,+    -- | The title of the content.+    title :: Prelude.Maybe Prelude.Text,+    -- | A pointer to the uploaded asset. This value is returned by+    -- <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html StartContentUpload>.+    uploadId :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the content. Can be either the ID or the ARN. URLs+    -- cannot contain the ARN.+    contentId :: Prelude.Text,+    -- | The identifier of the knowledge base. Can be either the ID or the ARN+    knowledgeBaseId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateContent' 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:+--+-- 'metadata', 'updateContent_metadata' - A key\/value map to store attributes without affecting tagging or+-- recommendations. For example, when synchronizing data between an+-- external system and Wisdom, you can store an external version identifier+-- as metadata to utilize for determining drift.+--+-- 'overrideLinkOutUri', 'updateContent_overrideLinkOutUri' - The URI for the article. If the knowledge base has a templateUri,+-- setting this argument overrides it for this piece of content. To remove+-- an existing @overrideLinkOurUri@, exclude this argument and set+-- @removeOverrideLinkOutUri@ to true.+--+-- 'removeOverrideLinkOutUri', 'updateContent_removeOverrideLinkOutUri' - Unset the existing @overrideLinkOutUri@ if it exists.+--+-- 'revisionId', 'updateContent_revisionId' - The @revisionId@ of the content resource to update, taken from an+-- earlier call to @GetContent@, @GetContentSummary@, @SearchContent@, or+-- @ListContents@. If included, this argument acts as an optimistic lock to+-- ensure content was not modified since it was last read. If it has been+-- modified, this API throws a @PreconditionFailedException@.+--+-- 'title', 'updateContent_title' - The title of the content.+--+-- 'uploadId', 'updateContent_uploadId' - A pointer to the uploaded asset. This value is returned by+-- <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html StartContentUpload>.+--+-- 'contentId', 'updateContent_contentId' - The identifier of the content. Can be either the ID or the ARN. URLs+-- cannot contain the ARN.+--+-- 'knowledgeBaseId', 'updateContent_knowledgeBaseId' - The identifier of the knowledge base. Can be either the ID or the ARN+newUpdateContent ::+  -- | 'contentId'+  Prelude.Text ->+  -- | 'knowledgeBaseId'+  Prelude.Text ->+  UpdateContent+newUpdateContent pContentId_ pKnowledgeBaseId_ =+  UpdateContent'+    { metadata = Prelude.Nothing,+      overrideLinkOutUri = Prelude.Nothing,+      removeOverrideLinkOutUri = Prelude.Nothing,+      revisionId = Prelude.Nothing,+      title = Prelude.Nothing,+      uploadId = Prelude.Nothing,+      contentId = pContentId_,+      knowledgeBaseId = pKnowledgeBaseId_+    }++-- | A key\/value map to store attributes without affecting tagging or+-- recommendations. For example, when synchronizing data between an+-- external system and Wisdom, you can store an external version identifier+-- as metadata to utilize for determining drift.+updateContent_metadata :: Lens.Lens' UpdateContent (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateContent_metadata = Lens.lens (\UpdateContent' {metadata} -> metadata) (\s@UpdateContent' {} a -> s {metadata = a} :: UpdateContent) Prelude.. Lens.mapping Lens.coerced++-- | The URI for the article. If the knowledge base has a templateUri,+-- setting this argument overrides it for this piece of content. To remove+-- an existing @overrideLinkOurUri@, exclude this argument and set+-- @removeOverrideLinkOutUri@ to true.+updateContent_overrideLinkOutUri :: Lens.Lens' UpdateContent (Prelude.Maybe Prelude.Text)+updateContent_overrideLinkOutUri = Lens.lens (\UpdateContent' {overrideLinkOutUri} -> overrideLinkOutUri) (\s@UpdateContent' {} a -> s {overrideLinkOutUri = a} :: UpdateContent)++-- | Unset the existing @overrideLinkOutUri@ if it exists.+updateContent_removeOverrideLinkOutUri :: Lens.Lens' UpdateContent (Prelude.Maybe Prelude.Bool)+updateContent_removeOverrideLinkOutUri = Lens.lens (\UpdateContent' {removeOverrideLinkOutUri} -> removeOverrideLinkOutUri) (\s@UpdateContent' {} a -> s {removeOverrideLinkOutUri = a} :: UpdateContent)++-- | The @revisionId@ of the content resource to update, taken from an+-- earlier call to @GetContent@, @GetContentSummary@, @SearchContent@, or+-- @ListContents@. If included, this argument acts as an optimistic lock to+-- ensure content was not modified since it was last read. If it has been+-- modified, this API throws a @PreconditionFailedException@.+updateContent_revisionId :: Lens.Lens' UpdateContent (Prelude.Maybe Prelude.Text)+updateContent_revisionId = Lens.lens (\UpdateContent' {revisionId} -> revisionId) (\s@UpdateContent' {} a -> s {revisionId = a} :: UpdateContent)++-- | The title of the content.+updateContent_title :: Lens.Lens' UpdateContent (Prelude.Maybe Prelude.Text)+updateContent_title = Lens.lens (\UpdateContent' {title} -> title) (\s@UpdateContent' {} a -> s {title = a} :: UpdateContent)++-- | A pointer to the uploaded asset. This value is returned by+-- <https://docs.aws.amazon.com/wisdom/latest/APIReference/API_StartContentUpload.html StartContentUpload>.+updateContent_uploadId :: Lens.Lens' UpdateContent (Prelude.Maybe Prelude.Text)+updateContent_uploadId = Lens.lens (\UpdateContent' {uploadId} -> uploadId) (\s@UpdateContent' {} a -> s {uploadId = a} :: UpdateContent)++-- | The identifier of the content. Can be either the ID or the ARN. URLs+-- cannot contain the ARN.+updateContent_contentId :: Lens.Lens' UpdateContent Prelude.Text+updateContent_contentId = Lens.lens (\UpdateContent' {contentId} -> contentId) (\s@UpdateContent' {} a -> s {contentId = a} :: UpdateContent)++-- | The identifier of the knowledge base. Can be either the ID or the ARN+updateContent_knowledgeBaseId :: Lens.Lens' UpdateContent Prelude.Text+updateContent_knowledgeBaseId = Lens.lens (\UpdateContent' {knowledgeBaseId} -> knowledgeBaseId) (\s@UpdateContent' {} a -> s {knowledgeBaseId = a} :: UpdateContent)++instance Core.AWSRequest UpdateContent where+  type+    AWSResponse UpdateContent =+      UpdateContentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateContentResponse'+            Prelude.<$> (x Data..?> "content")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateContent where+  hashWithSalt _salt UpdateContent' {..} =+    _salt+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` overrideLinkOutUri+      `Prelude.hashWithSalt` removeOverrideLinkOutUri+      `Prelude.hashWithSalt` revisionId+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` uploadId+      `Prelude.hashWithSalt` contentId+      `Prelude.hashWithSalt` knowledgeBaseId++instance Prelude.NFData UpdateContent where+  rnf UpdateContent' {..} =+    Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf overrideLinkOutUri+      `Prelude.seq` Prelude.rnf removeOverrideLinkOutUri+      `Prelude.seq` Prelude.rnf revisionId+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf uploadId+      `Prelude.seq` Prelude.rnf contentId+      `Prelude.seq` Prelude.rnf knowledgeBaseId++instance Data.ToHeaders UpdateContent where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateContent where+  toJSON UpdateContent' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("metadata" Data..=) Prelude.<$> metadata,+            ("overrideLinkOutUri" Data..=)+              Prelude.<$> overrideLinkOutUri,+            ("removeOverrideLinkOutUri" Data..=)+              Prelude.<$> removeOverrideLinkOutUri,+            ("revisionId" Data..=) Prelude.<$> revisionId,+            ("title" Data..=) Prelude.<$> title,+            ("uploadId" Data..=) Prelude.<$> uploadId+          ]+      )++instance Data.ToPath UpdateContent where+  toPath UpdateContent' {..} =+    Prelude.mconcat+      [ "/knowledgeBases/",+        Data.toBS knowledgeBaseId,+        "/contents/",+        Data.toBS contentId+      ]++instance Data.ToQuery UpdateContent where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateContentResponse' smart constructor.+data UpdateContentResponse = UpdateContentResponse'+  { -- | The content.+    content :: Prelude.Maybe ContentData,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateContentResponse' 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:+--+-- 'content', 'updateContentResponse_content' - The content.+--+-- 'httpStatus', 'updateContentResponse_httpStatus' - The response's http status code.+newUpdateContentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateContentResponse+newUpdateContentResponse pHttpStatus_ =+  UpdateContentResponse'+    { content = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The content.+updateContentResponse_content :: Lens.Lens' UpdateContentResponse (Prelude.Maybe ContentData)+updateContentResponse_content = Lens.lens (\UpdateContentResponse' {content} -> content) (\s@UpdateContentResponse' {} a -> s {content = a} :: UpdateContentResponse)++-- | The response's http status code.+updateContentResponse_httpStatus :: Lens.Lens' UpdateContentResponse Prelude.Int+updateContentResponse_httpStatus = Lens.lens (\UpdateContentResponse' {httpStatus} -> httpStatus) (\s@UpdateContentResponse' {} a -> s {httpStatus = a} :: UpdateContentResponse)++instance Prelude.NFData UpdateContentResponse where+  rnf UpdateContentResponse' {..} =+    Prelude.rnf content+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/UpdateKnowledgeBaseTemplateUri.hs view
@@ -0,0 +1,216 @@+{-# 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.Wisdom.UpdateKnowledgeBaseTemplateUri+-- 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 the template URI of a knowledge base. This is only supported for+-- knowledge bases of type EXTERNAL. Include a single variable in+-- @${variable}@ format; this interpolated by Wisdom using ingested+-- content. For example, if you ingest a Salesforce article, it has an @Id@+-- value, and you can set the template URI to+-- @https:\/\/myInstanceName.lightning.force.com\/lightning\/r\/Knowledge__kav\/*${Id}*\/view@.+module Amazonka.Wisdom.UpdateKnowledgeBaseTemplateUri+  ( -- * Creating a Request+    UpdateKnowledgeBaseTemplateUri (..),+    newUpdateKnowledgeBaseTemplateUri,++    -- * Request Lenses+    updateKnowledgeBaseTemplateUri_knowledgeBaseId,+    updateKnowledgeBaseTemplateUri_templateUri,++    -- * Destructuring the Response+    UpdateKnowledgeBaseTemplateUriResponse (..),+    newUpdateKnowledgeBaseTemplateUriResponse,++    -- * Response Lenses+    updateKnowledgeBaseTemplateUriResponse_knowledgeBase,+    updateKnowledgeBaseTemplateUriResponse_httpStatus,+  )+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+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.Wisdom.Types++-- | /See:/ 'newUpdateKnowledgeBaseTemplateUri' smart constructor.+data UpdateKnowledgeBaseTemplateUri = UpdateKnowledgeBaseTemplateUri'+  { -- | The identifier of the knowledge base. Can be either the ID or the ARN.+    -- URLs cannot contain the ARN.+    knowledgeBaseId :: Prelude.Text,+    -- | The template URI to update.+    templateUri :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateKnowledgeBaseTemplateUri' 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:+--+-- 'knowledgeBaseId', 'updateKnowledgeBaseTemplateUri_knowledgeBaseId' - The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+--+-- 'templateUri', 'updateKnowledgeBaseTemplateUri_templateUri' - The template URI to update.+newUpdateKnowledgeBaseTemplateUri ::+  -- | 'knowledgeBaseId'+  Prelude.Text ->+  -- | 'templateUri'+  Prelude.Text ->+  UpdateKnowledgeBaseTemplateUri+newUpdateKnowledgeBaseTemplateUri+  pKnowledgeBaseId_+  pTemplateUri_ =+    UpdateKnowledgeBaseTemplateUri'+      { knowledgeBaseId =+          pKnowledgeBaseId_,+        templateUri = pTemplateUri_+      }++-- | The identifier of the knowledge base. Can be either the ID or the ARN.+-- URLs cannot contain the ARN.+updateKnowledgeBaseTemplateUri_knowledgeBaseId :: Lens.Lens' UpdateKnowledgeBaseTemplateUri Prelude.Text+updateKnowledgeBaseTemplateUri_knowledgeBaseId = Lens.lens (\UpdateKnowledgeBaseTemplateUri' {knowledgeBaseId} -> knowledgeBaseId) (\s@UpdateKnowledgeBaseTemplateUri' {} a -> s {knowledgeBaseId = a} :: UpdateKnowledgeBaseTemplateUri)++-- | The template URI to update.+updateKnowledgeBaseTemplateUri_templateUri :: Lens.Lens' UpdateKnowledgeBaseTemplateUri Prelude.Text+updateKnowledgeBaseTemplateUri_templateUri = Lens.lens (\UpdateKnowledgeBaseTemplateUri' {templateUri} -> templateUri) (\s@UpdateKnowledgeBaseTemplateUri' {} a -> s {templateUri = a} :: UpdateKnowledgeBaseTemplateUri)++instance+  Core.AWSRequest+    UpdateKnowledgeBaseTemplateUri+  where+  type+    AWSResponse UpdateKnowledgeBaseTemplateUri =+      UpdateKnowledgeBaseTemplateUriResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateKnowledgeBaseTemplateUriResponse'+            Prelude.<$> (x Data..?> "knowledgeBase")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    UpdateKnowledgeBaseTemplateUri+  where+  hashWithSalt+    _salt+    UpdateKnowledgeBaseTemplateUri' {..} =+      _salt+        `Prelude.hashWithSalt` knowledgeBaseId+        `Prelude.hashWithSalt` templateUri++instance+  Prelude.NFData+    UpdateKnowledgeBaseTemplateUri+  where+  rnf UpdateKnowledgeBaseTemplateUri' {..} =+    Prelude.rnf knowledgeBaseId+      `Prelude.seq` Prelude.rnf templateUri++instance+  Data.ToHeaders+    UpdateKnowledgeBaseTemplateUri+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateKnowledgeBaseTemplateUri where+  toJSON UpdateKnowledgeBaseTemplateUri' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("templateUri" Data..= templateUri)]+      )++instance Data.ToPath UpdateKnowledgeBaseTemplateUri where+  toPath UpdateKnowledgeBaseTemplateUri' {..} =+    Prelude.mconcat+      [ "/knowledgeBases/",+        Data.toBS knowledgeBaseId,+        "/templateUri"+      ]++instance Data.ToQuery UpdateKnowledgeBaseTemplateUri where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateKnowledgeBaseTemplateUriResponse' smart constructor.+data UpdateKnowledgeBaseTemplateUriResponse = UpdateKnowledgeBaseTemplateUriResponse'+  { -- | The knowledge base to update.+    knowledgeBase :: Prelude.Maybe KnowledgeBaseData,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateKnowledgeBaseTemplateUriResponse' 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:+--+-- 'knowledgeBase', 'updateKnowledgeBaseTemplateUriResponse_knowledgeBase' - The knowledge base to update.+--+-- 'httpStatus', 'updateKnowledgeBaseTemplateUriResponse_httpStatus' - The response's http status code.+newUpdateKnowledgeBaseTemplateUriResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateKnowledgeBaseTemplateUriResponse+newUpdateKnowledgeBaseTemplateUriResponse+  pHttpStatus_ =+    UpdateKnowledgeBaseTemplateUriResponse'+      { knowledgeBase =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The knowledge base to update.+updateKnowledgeBaseTemplateUriResponse_knowledgeBase :: Lens.Lens' UpdateKnowledgeBaseTemplateUriResponse (Prelude.Maybe KnowledgeBaseData)+updateKnowledgeBaseTemplateUriResponse_knowledgeBase = Lens.lens (\UpdateKnowledgeBaseTemplateUriResponse' {knowledgeBase} -> knowledgeBase) (\s@UpdateKnowledgeBaseTemplateUriResponse' {} a -> s {knowledgeBase = a} :: UpdateKnowledgeBaseTemplateUriResponse)++-- | The response's http status code.+updateKnowledgeBaseTemplateUriResponse_httpStatus :: Lens.Lens' UpdateKnowledgeBaseTemplateUriResponse Prelude.Int+updateKnowledgeBaseTemplateUriResponse_httpStatus = Lens.lens (\UpdateKnowledgeBaseTemplateUriResponse' {httpStatus} -> httpStatus) (\s@UpdateKnowledgeBaseTemplateUriResponse' {} a -> s {httpStatus = a} :: UpdateKnowledgeBaseTemplateUriResponse)++instance+  Prelude.NFData+    UpdateKnowledgeBaseTemplateUriResponse+  where+  rnf UpdateKnowledgeBaseTemplateUriResponse' {..} =+    Prelude.rnf knowledgeBase+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Wisdom/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Wisdom.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.Wisdom.Waiters 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+import Amazonka.Wisdom.Lens+import Amazonka.Wisdom.Types
+ src/.gitkeep view
+ test/Main.hs view
@@ -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.Wisdom+import Test.Amazonka.Wisdom.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "Wisdom"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/Wisdom.hs view
@@ -0,0 +1,658 @@+{-# 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.Wisdom+-- 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.Wisdom where++import Amazonka.Wisdom+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.Wisdom.Internal+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"+--         [ requestCreateAssistant $+--             newCreateAssistant+--+--         , requestCreateAssistantAssociation $+--             newCreateAssistantAssociation+--+--         , requestCreateContent $+--             newCreateContent+--+--         , requestCreateKnowledgeBase $+--             newCreateKnowledgeBase+--+--         , requestCreateSession $+--             newCreateSession+--+--         , requestDeleteAssistant $+--             newDeleteAssistant+--+--         , requestDeleteAssistantAssociation $+--             newDeleteAssistantAssociation+--+--         , requestDeleteContent $+--             newDeleteContent+--+--         , requestDeleteKnowledgeBase $+--             newDeleteKnowledgeBase+--+--         , requestGetAssistant $+--             newGetAssistant+--+--         , requestGetAssistantAssociation $+--             newGetAssistantAssociation+--+--         , requestGetContent $+--             newGetContent+--+--         , requestGetContentSummary $+--             newGetContentSummary+--+--         , requestGetKnowledgeBase $+--             newGetKnowledgeBase+--+--         , requestGetRecommendations $+--             newGetRecommendations+--+--         , requestGetSession $+--             newGetSession+--+--         , requestListAssistantAssociations $+--             newListAssistantAssociations+--+--         , requestListAssistants $+--             newListAssistants+--+--         , requestListContents $+--             newListContents+--+--         , requestListKnowledgeBases $+--             newListKnowledgeBases+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestNotifyRecommendationsReceived $+--             newNotifyRecommendationsReceived+--+--         , requestQueryAssistant $+--             newQueryAssistant+--+--         , requestRemoveKnowledgeBaseTemplateUri $+--             newRemoveKnowledgeBaseTemplateUri+--+--         , requestSearchContent $+--             newSearchContent+--+--         , requestSearchSessions $+--             newSearchSessions+--+--         , requestStartContentUpload $+--             newStartContentUpload+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateContent $+--             newUpdateContent+--+--         , requestUpdateKnowledgeBaseTemplateUri $+--             newUpdateKnowledgeBaseTemplateUri+--+--           ]++--     , testGroup "response"+--         [ responseCreateAssistant $+--             newCreateAssistantResponse+--+--         , responseCreateAssistantAssociation $+--             newCreateAssistantAssociationResponse+--+--         , responseCreateContent $+--             newCreateContentResponse+--+--         , responseCreateKnowledgeBase $+--             newCreateKnowledgeBaseResponse+--+--         , responseCreateSession $+--             newCreateSessionResponse+--+--         , responseDeleteAssistant $+--             newDeleteAssistantResponse+--+--         , responseDeleteAssistantAssociation $+--             newDeleteAssistantAssociationResponse+--+--         , responseDeleteContent $+--             newDeleteContentResponse+--+--         , responseDeleteKnowledgeBase $+--             newDeleteKnowledgeBaseResponse+--+--         , responseGetAssistant $+--             newGetAssistantResponse+--+--         , responseGetAssistantAssociation $+--             newGetAssistantAssociationResponse+--+--         , responseGetContent $+--             newGetContentResponse+--+--         , responseGetContentSummary $+--             newGetContentSummaryResponse+--+--         , responseGetKnowledgeBase $+--             newGetKnowledgeBaseResponse+--+--         , responseGetRecommendations $+--             newGetRecommendationsResponse+--+--         , responseGetSession $+--             newGetSessionResponse+--+--         , responseListAssistantAssociations $+--             newListAssistantAssociationsResponse+--+--         , responseListAssistants $+--             newListAssistantsResponse+--+--         , responseListContents $+--             newListContentsResponse+--+--         , responseListKnowledgeBases $+--             newListKnowledgeBasesResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseNotifyRecommendationsReceived $+--             newNotifyRecommendationsReceivedResponse+--+--         , responseQueryAssistant $+--             newQueryAssistantResponse+--+--         , responseRemoveKnowledgeBaseTemplateUri $+--             newRemoveKnowledgeBaseTemplateUriResponse+--+--         , responseSearchContent $+--             newSearchContentResponse+--+--         , responseSearchSessions $+--             newSearchSessionsResponse+--+--         , responseStartContentUpload $+--             newStartContentUploadResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateContent $+--             newUpdateContentResponse+--+--         , responseUpdateKnowledgeBaseTemplateUri $+--             newUpdateKnowledgeBaseTemplateUriResponse+--+--           ]+--     ]++-- Requests++requestCreateAssistant :: CreateAssistant -> TestTree+requestCreateAssistant =+  req+    "CreateAssistant"+    "fixture/CreateAssistant.yaml"++requestCreateAssistantAssociation :: CreateAssistantAssociation -> TestTree+requestCreateAssistantAssociation =+  req+    "CreateAssistantAssociation"+    "fixture/CreateAssistantAssociation.yaml"++requestCreateContent :: CreateContent -> TestTree+requestCreateContent =+  req+    "CreateContent"+    "fixture/CreateContent.yaml"++requestCreateKnowledgeBase :: CreateKnowledgeBase -> TestTree+requestCreateKnowledgeBase =+  req+    "CreateKnowledgeBase"+    "fixture/CreateKnowledgeBase.yaml"++requestCreateSession :: CreateSession -> TestTree+requestCreateSession =+  req+    "CreateSession"+    "fixture/CreateSession.yaml"++requestDeleteAssistant :: DeleteAssistant -> TestTree+requestDeleteAssistant =+  req+    "DeleteAssistant"+    "fixture/DeleteAssistant.yaml"++requestDeleteAssistantAssociation :: DeleteAssistantAssociation -> TestTree+requestDeleteAssistantAssociation =+  req+    "DeleteAssistantAssociation"+    "fixture/DeleteAssistantAssociation.yaml"++requestDeleteContent :: DeleteContent -> TestTree+requestDeleteContent =+  req+    "DeleteContent"+    "fixture/DeleteContent.yaml"++requestDeleteKnowledgeBase :: DeleteKnowledgeBase -> TestTree+requestDeleteKnowledgeBase =+  req+    "DeleteKnowledgeBase"+    "fixture/DeleteKnowledgeBase.yaml"++requestGetAssistant :: GetAssistant -> TestTree+requestGetAssistant =+  req+    "GetAssistant"+    "fixture/GetAssistant.yaml"++requestGetAssistantAssociation :: GetAssistantAssociation -> TestTree+requestGetAssistantAssociation =+  req+    "GetAssistantAssociation"+    "fixture/GetAssistantAssociation.yaml"++requestGetContent :: GetContent -> TestTree+requestGetContent =+  req+    "GetContent"+    "fixture/GetContent.yaml"++requestGetContentSummary :: GetContentSummary -> TestTree+requestGetContentSummary =+  req+    "GetContentSummary"+    "fixture/GetContentSummary.yaml"++requestGetKnowledgeBase :: GetKnowledgeBase -> TestTree+requestGetKnowledgeBase =+  req+    "GetKnowledgeBase"+    "fixture/GetKnowledgeBase.yaml"++requestGetRecommendations :: GetRecommendations -> TestTree+requestGetRecommendations =+  req+    "GetRecommendations"+    "fixture/GetRecommendations.yaml"++requestGetSession :: GetSession -> TestTree+requestGetSession =+  req+    "GetSession"+    "fixture/GetSession.yaml"++requestListAssistantAssociations :: ListAssistantAssociations -> TestTree+requestListAssistantAssociations =+  req+    "ListAssistantAssociations"+    "fixture/ListAssistantAssociations.yaml"++requestListAssistants :: ListAssistants -> TestTree+requestListAssistants =+  req+    "ListAssistants"+    "fixture/ListAssistants.yaml"++requestListContents :: ListContents -> TestTree+requestListContents =+  req+    "ListContents"+    "fixture/ListContents.yaml"++requestListKnowledgeBases :: ListKnowledgeBases -> TestTree+requestListKnowledgeBases =+  req+    "ListKnowledgeBases"+    "fixture/ListKnowledgeBases.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestNotifyRecommendationsReceived :: NotifyRecommendationsReceived -> TestTree+requestNotifyRecommendationsReceived =+  req+    "NotifyRecommendationsReceived"+    "fixture/NotifyRecommendationsReceived.yaml"++requestQueryAssistant :: QueryAssistant -> TestTree+requestQueryAssistant =+  req+    "QueryAssistant"+    "fixture/QueryAssistant.yaml"++requestRemoveKnowledgeBaseTemplateUri :: RemoveKnowledgeBaseTemplateUri -> TestTree+requestRemoveKnowledgeBaseTemplateUri =+  req+    "RemoveKnowledgeBaseTemplateUri"+    "fixture/RemoveKnowledgeBaseTemplateUri.yaml"++requestSearchContent :: SearchContent -> TestTree+requestSearchContent =+  req+    "SearchContent"+    "fixture/SearchContent.yaml"++requestSearchSessions :: SearchSessions -> TestTree+requestSearchSessions =+  req+    "SearchSessions"+    "fixture/SearchSessions.yaml"++requestStartContentUpload :: StartContentUpload -> TestTree+requestStartContentUpload =+  req+    "StartContentUpload"+    "fixture/StartContentUpload.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateContent :: UpdateContent -> TestTree+requestUpdateContent =+  req+    "UpdateContent"+    "fixture/UpdateContent.yaml"++requestUpdateKnowledgeBaseTemplateUri :: UpdateKnowledgeBaseTemplateUri -> TestTree+requestUpdateKnowledgeBaseTemplateUri =+  req+    "UpdateKnowledgeBaseTemplateUri"+    "fixture/UpdateKnowledgeBaseTemplateUri.yaml"++-- Responses++responseCreateAssistant :: CreateAssistantResponse -> TestTree+responseCreateAssistant =+  res+    "CreateAssistantResponse"+    "fixture/CreateAssistantResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAssistant)++responseCreateAssistantAssociation :: CreateAssistantAssociationResponse -> TestTree+responseCreateAssistantAssociation =+  res+    "CreateAssistantAssociationResponse"+    "fixture/CreateAssistantAssociationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAssistantAssociation)++responseCreateContent :: CreateContentResponse -> TestTree+responseCreateContent =+  res+    "CreateContentResponse"+    "fixture/CreateContentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateContent)++responseCreateKnowledgeBase :: CreateKnowledgeBaseResponse -> TestTree+responseCreateKnowledgeBase =+  res+    "CreateKnowledgeBaseResponse"+    "fixture/CreateKnowledgeBaseResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateKnowledgeBase)++responseCreateSession :: CreateSessionResponse -> TestTree+responseCreateSession =+  res+    "CreateSessionResponse"+    "fixture/CreateSessionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateSession)++responseDeleteAssistant :: DeleteAssistantResponse -> TestTree+responseDeleteAssistant =+  res+    "DeleteAssistantResponse"+    "fixture/DeleteAssistantResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAssistant)++responseDeleteAssistantAssociation :: DeleteAssistantAssociationResponse -> TestTree+responseDeleteAssistantAssociation =+  res+    "DeleteAssistantAssociationResponse"+    "fixture/DeleteAssistantAssociationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAssistantAssociation)++responseDeleteContent :: DeleteContentResponse -> TestTree+responseDeleteContent =+  res+    "DeleteContentResponse"+    "fixture/DeleteContentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteContent)++responseDeleteKnowledgeBase :: DeleteKnowledgeBaseResponse -> TestTree+responseDeleteKnowledgeBase =+  res+    "DeleteKnowledgeBaseResponse"+    "fixture/DeleteKnowledgeBaseResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteKnowledgeBase)++responseGetAssistant :: GetAssistantResponse -> TestTree+responseGetAssistant =+  res+    "GetAssistantResponse"+    "fixture/GetAssistantResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAssistant)++responseGetAssistantAssociation :: GetAssistantAssociationResponse -> TestTree+responseGetAssistantAssociation =+  res+    "GetAssistantAssociationResponse"+    "fixture/GetAssistantAssociationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAssistantAssociation)++responseGetContent :: GetContentResponse -> TestTree+responseGetContent =+  res+    "GetContentResponse"+    "fixture/GetContentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetContent)++responseGetContentSummary :: GetContentSummaryResponse -> TestTree+responseGetContentSummary =+  res+    "GetContentSummaryResponse"+    "fixture/GetContentSummaryResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetContentSummary)++responseGetKnowledgeBase :: GetKnowledgeBaseResponse -> TestTree+responseGetKnowledgeBase =+  res+    "GetKnowledgeBaseResponse"+    "fixture/GetKnowledgeBaseResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetKnowledgeBase)++responseGetRecommendations :: GetRecommendationsResponse -> TestTree+responseGetRecommendations =+  res+    "GetRecommendationsResponse"+    "fixture/GetRecommendationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetRecommendations)++responseGetSession :: GetSessionResponse -> TestTree+responseGetSession =+  res+    "GetSessionResponse"+    "fixture/GetSessionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetSession)++responseListAssistantAssociations :: ListAssistantAssociationsResponse -> TestTree+responseListAssistantAssociations =+  res+    "ListAssistantAssociationsResponse"+    "fixture/ListAssistantAssociationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAssistantAssociations)++responseListAssistants :: ListAssistantsResponse -> TestTree+responseListAssistants =+  res+    "ListAssistantsResponse"+    "fixture/ListAssistantsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAssistants)++responseListContents :: ListContentsResponse -> TestTree+responseListContents =+  res+    "ListContentsResponse"+    "fixture/ListContentsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListContents)++responseListKnowledgeBases :: ListKnowledgeBasesResponse -> TestTree+responseListKnowledgeBases =+  res+    "ListKnowledgeBasesResponse"+    "fixture/ListKnowledgeBasesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListKnowledgeBases)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseNotifyRecommendationsReceived :: NotifyRecommendationsReceivedResponse -> TestTree+responseNotifyRecommendationsReceived =+  res+    "NotifyRecommendationsReceivedResponse"+    "fixture/NotifyRecommendationsReceivedResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy NotifyRecommendationsReceived)++responseQueryAssistant :: QueryAssistantResponse -> TestTree+responseQueryAssistant =+  res+    "QueryAssistantResponse"+    "fixture/QueryAssistantResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy QueryAssistant)++responseRemoveKnowledgeBaseTemplateUri :: RemoveKnowledgeBaseTemplateUriResponse -> TestTree+responseRemoveKnowledgeBaseTemplateUri =+  res+    "RemoveKnowledgeBaseTemplateUriResponse"+    "fixture/RemoveKnowledgeBaseTemplateUriResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RemoveKnowledgeBaseTemplateUri)++responseSearchContent :: SearchContentResponse -> TestTree+responseSearchContent =+  res+    "SearchContentResponse"+    "fixture/SearchContentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy SearchContent)++responseSearchSessions :: SearchSessionsResponse -> TestTree+responseSearchSessions =+  res+    "SearchSessionsResponse"+    "fixture/SearchSessionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy SearchSessions)++responseStartContentUpload :: StartContentUploadResponse -> TestTree+responseStartContentUpload =+  res+    "StartContentUploadResponse"+    "fixture/StartContentUploadResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartContentUpload)++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)++responseUpdateContent :: UpdateContentResponse -> TestTree+responseUpdateContent =+  res+    "UpdateContentResponse"+    "fixture/UpdateContentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateContent)++responseUpdateKnowledgeBaseTemplateUri :: UpdateKnowledgeBaseTemplateUriResponse -> TestTree+responseUpdateKnowledgeBaseTemplateUri =+  res+    "UpdateKnowledgeBaseTemplateUriResponse"+    "fixture/UpdateKnowledgeBaseTemplateUriResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateKnowledgeBaseTemplateUri)
+ test/Test/Amazonka/Wisdom.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.Wisdom+-- 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.Wisdom+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/Wisdom/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.Wisdom.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.Wisdom.Internal where