git-off

git off handles large files in git repos
git clone https://noulin.net/git/git-off.git
Log | Files | Refs | README

servicecatalog.d.ts (90995B)


      1 import {Request} from '../lib/request';
      2 import {Response} from '../lib/response';
      3 import {AWSError} from '../lib/error';
      4 import {Service} from '../lib/service';
      5 import {ServiceConfigurationOptions} from '../lib/service';
      6 import {ConfigBase as Config} from '../lib/config';
      7 interface Blob {}
      8 declare class ServiceCatalog extends Service {
      9   /**
     10    * Constructs a service object. This object has one method for each API operation.
     11    */
     12   constructor(options?: ServiceCatalog.Types.ClientConfiguration)
     13   config: Config & ServiceCatalog.Types.ClientConfiguration;
     14   /**
     15    * Accepts an offer to share a portfolio.
     16    */
     17   acceptPortfolioShare(params: ServiceCatalog.Types.AcceptPortfolioShareInput, callback?: (err: AWSError, data: ServiceCatalog.Types.AcceptPortfolioShareOutput) => void): Request<ServiceCatalog.Types.AcceptPortfolioShareOutput, AWSError>;
     18   /**
     19    * Accepts an offer to share a portfolio.
     20    */
     21   acceptPortfolioShare(callback?: (err: AWSError, data: ServiceCatalog.Types.AcceptPortfolioShareOutput) => void): Request<ServiceCatalog.Types.AcceptPortfolioShareOutput, AWSError>;
     22   /**
     23    * Associates the specified principal ARN with the specified portfolio.
     24    */
     25   associatePrincipalWithPortfolio(params: ServiceCatalog.Types.AssociatePrincipalWithPortfolioInput, callback?: (err: AWSError, data: ServiceCatalog.Types.AssociatePrincipalWithPortfolioOutput) => void): Request<ServiceCatalog.Types.AssociatePrincipalWithPortfolioOutput, AWSError>;
     26   /**
     27    * Associates the specified principal ARN with the specified portfolio.
     28    */
     29   associatePrincipalWithPortfolio(callback?: (err: AWSError, data: ServiceCatalog.Types.AssociatePrincipalWithPortfolioOutput) => void): Request<ServiceCatalog.Types.AssociatePrincipalWithPortfolioOutput, AWSError>;
     30   /**
     31    * Associates a product with a portfolio.
     32    */
     33   associateProductWithPortfolio(params: ServiceCatalog.Types.AssociateProductWithPortfolioInput, callback?: (err: AWSError, data: ServiceCatalog.Types.AssociateProductWithPortfolioOutput) => void): Request<ServiceCatalog.Types.AssociateProductWithPortfolioOutput, AWSError>;
     34   /**
     35    * Associates a product with a portfolio.
     36    */
     37   associateProductWithPortfolio(callback?: (err: AWSError, data: ServiceCatalog.Types.AssociateProductWithPortfolioOutput) => void): Request<ServiceCatalog.Types.AssociateProductWithPortfolioOutput, AWSError>;
     38   /**
     39    * Creates a new constraint.
     40    */
     41   createConstraint(params: ServiceCatalog.Types.CreateConstraintInput, callback?: (err: AWSError, data: ServiceCatalog.Types.CreateConstraintOutput) => void): Request<ServiceCatalog.Types.CreateConstraintOutput, AWSError>;
     42   /**
     43    * Creates a new constraint.
     44    */
     45   createConstraint(callback?: (err: AWSError, data: ServiceCatalog.Types.CreateConstraintOutput) => void): Request<ServiceCatalog.Types.CreateConstraintOutput, AWSError>;
     46   /**
     47    * Creates a new portfolio.
     48    */
     49   createPortfolio(params: ServiceCatalog.Types.CreatePortfolioInput, callback?: (err: AWSError, data: ServiceCatalog.Types.CreatePortfolioOutput) => void): Request<ServiceCatalog.Types.CreatePortfolioOutput, AWSError>;
     50   /**
     51    * Creates a new portfolio.
     52    */
     53   createPortfolio(callback?: (err: AWSError, data: ServiceCatalog.Types.CreatePortfolioOutput) => void): Request<ServiceCatalog.Types.CreatePortfolioOutput, AWSError>;
     54   /**
     55    * Creates a new portfolio share.
     56    */
     57   createPortfolioShare(params: ServiceCatalog.Types.CreatePortfolioShareInput, callback?: (err: AWSError, data: ServiceCatalog.Types.CreatePortfolioShareOutput) => void): Request<ServiceCatalog.Types.CreatePortfolioShareOutput, AWSError>;
     58   /**
     59    * Creates a new portfolio share.
     60    */
     61   createPortfolioShare(callback?: (err: AWSError, data: ServiceCatalog.Types.CreatePortfolioShareOutput) => void): Request<ServiceCatalog.Types.CreatePortfolioShareOutput, AWSError>;
     62   /**
     63    * Creates a new product.
     64    */
     65   createProduct(params: ServiceCatalog.Types.CreateProductInput, callback?: (err: AWSError, data: ServiceCatalog.Types.CreateProductOutput) => void): Request<ServiceCatalog.Types.CreateProductOutput, AWSError>;
     66   /**
     67    * Creates a new product.
     68    */
     69   createProduct(callback?: (err: AWSError, data: ServiceCatalog.Types.CreateProductOutput) => void): Request<ServiceCatalog.Types.CreateProductOutput, AWSError>;
     70   /**
     71    * Create a new provisioning artifact for the specified product. This operation will not work with a product that has been shared with you.
     72    */
     73   createProvisioningArtifact(params: ServiceCatalog.Types.CreateProvisioningArtifactInput, callback?: (err: AWSError, data: ServiceCatalog.Types.CreateProvisioningArtifactOutput) => void): Request<ServiceCatalog.Types.CreateProvisioningArtifactOutput, AWSError>;
     74   /**
     75    * Create a new provisioning artifact for the specified product. This operation will not work with a product that has been shared with you.
     76    */
     77   createProvisioningArtifact(callback?: (err: AWSError, data: ServiceCatalog.Types.CreateProvisioningArtifactOutput) => void): Request<ServiceCatalog.Types.CreateProvisioningArtifactOutput, AWSError>;
     78   /**
     79    * Deletes the specified constraint.
     80    */
     81   deleteConstraint(params: ServiceCatalog.Types.DeleteConstraintInput, callback?: (err: AWSError, data: ServiceCatalog.Types.DeleteConstraintOutput) => void): Request<ServiceCatalog.Types.DeleteConstraintOutput, AWSError>;
     82   /**
     83    * Deletes the specified constraint.
     84    */
     85   deleteConstraint(callback?: (err: AWSError, data: ServiceCatalog.Types.DeleteConstraintOutput) => void): Request<ServiceCatalog.Types.DeleteConstraintOutput, AWSError>;
     86   /**
     87    * Deletes the specified portfolio. This operation will not work with a portfolio that has been shared with you or if it has products, users, constraints, or shared accounts associated with it.
     88    */
     89   deletePortfolio(params: ServiceCatalog.Types.DeletePortfolioInput, callback?: (err: AWSError, data: ServiceCatalog.Types.DeletePortfolioOutput) => void): Request<ServiceCatalog.Types.DeletePortfolioOutput, AWSError>;
     90   /**
     91    * Deletes the specified portfolio. This operation will not work with a portfolio that has been shared with you or if it has products, users, constraints, or shared accounts associated with it.
     92    */
     93   deletePortfolio(callback?: (err: AWSError, data: ServiceCatalog.Types.DeletePortfolioOutput) => void): Request<ServiceCatalog.Types.DeletePortfolioOutput, AWSError>;
     94   /**
     95    * Deletes the specified portfolio share.
     96    */
     97   deletePortfolioShare(params: ServiceCatalog.Types.DeletePortfolioShareInput, callback?: (err: AWSError, data: ServiceCatalog.Types.DeletePortfolioShareOutput) => void): Request<ServiceCatalog.Types.DeletePortfolioShareOutput, AWSError>;
     98   /**
     99    * Deletes the specified portfolio share.
    100    */
    101   deletePortfolioShare(callback?: (err: AWSError, data: ServiceCatalog.Types.DeletePortfolioShareOutput) => void): Request<ServiceCatalog.Types.DeletePortfolioShareOutput, AWSError>;
    102   /**
    103    * Deletes the specified product. This operation will not work with a product that has been shared with you or is associated with a portfolio. 
    104    */
    105   deleteProduct(params: ServiceCatalog.Types.DeleteProductInput, callback?: (err: AWSError, data: ServiceCatalog.Types.DeleteProductOutput) => void): Request<ServiceCatalog.Types.DeleteProductOutput, AWSError>;
    106   /**
    107    * Deletes the specified product. This operation will not work with a product that has been shared with you or is associated with a portfolio. 
    108    */
    109   deleteProduct(callback?: (err: AWSError, data: ServiceCatalog.Types.DeleteProductOutput) => void): Request<ServiceCatalog.Types.DeleteProductOutput, AWSError>;
    110   /**
    111    * Deletes the specified provisioning artifact. This operation will not work on a provisioning artifact associated with a product that has been shared with you, or on the last provisioning artifact associated with a product (a product must have at least one provisioning artifact).
    112    */
    113   deleteProvisioningArtifact(params: ServiceCatalog.Types.DeleteProvisioningArtifactInput, callback?: (err: AWSError, data: ServiceCatalog.Types.DeleteProvisioningArtifactOutput) => void): Request<ServiceCatalog.Types.DeleteProvisioningArtifactOutput, AWSError>;
    114   /**
    115    * Deletes the specified provisioning artifact. This operation will not work on a provisioning artifact associated with a product that has been shared with you, or on the last provisioning artifact associated with a product (a product must have at least one provisioning artifact).
    116    */
    117   deleteProvisioningArtifact(callback?: (err: AWSError, data: ServiceCatalog.Types.DeleteProvisioningArtifactOutput) => void): Request<ServiceCatalog.Types.DeleteProvisioningArtifactOutput, AWSError>;
    118   /**
    119    * Retrieves detailed information for a specified constraint.
    120    */
    121   describeConstraint(params: ServiceCatalog.Types.DescribeConstraintInput, callback?: (err: AWSError, data: ServiceCatalog.Types.DescribeConstraintOutput) => void): Request<ServiceCatalog.Types.DescribeConstraintOutput, AWSError>;
    122   /**
    123    * Retrieves detailed information for a specified constraint.
    124    */
    125   describeConstraint(callback?: (err: AWSError, data: ServiceCatalog.Types.DescribeConstraintOutput) => void): Request<ServiceCatalog.Types.DescribeConstraintOutput, AWSError>;
    126   /**
    127    * Retrieves detailed information and any tags associated with the specified portfolio.
    128    */
    129   describePortfolio(params: ServiceCatalog.Types.DescribePortfolioInput, callback?: (err: AWSError, data: ServiceCatalog.Types.DescribePortfolioOutput) => void): Request<ServiceCatalog.Types.DescribePortfolioOutput, AWSError>;
    130   /**
    131    * Retrieves detailed information and any tags associated with the specified portfolio.
    132    */
    133   describePortfolio(callback?: (err: AWSError, data: ServiceCatalog.Types.DescribePortfolioOutput) => void): Request<ServiceCatalog.Types.DescribePortfolioOutput, AWSError>;
    134   /**
    135    * Retrieves information about a specified product. This operation is functionally identical to DescribeProductView except that it takes as input ProductId instead of ProductViewId.
    136    */
    137   describeProduct(params: ServiceCatalog.Types.DescribeProductInput, callback?: (err: AWSError, data: ServiceCatalog.Types.DescribeProductOutput) => void): Request<ServiceCatalog.Types.DescribeProductOutput, AWSError>;
    138   /**
    139    * Retrieves information about a specified product. This operation is functionally identical to DescribeProductView except that it takes as input ProductId instead of ProductViewId.
    140    */
    141   describeProduct(callback?: (err: AWSError, data: ServiceCatalog.Types.DescribeProductOutput) => void): Request<ServiceCatalog.Types.DescribeProductOutput, AWSError>;
    142   /**
    143    * Retrieves information about a specified product, run with administrator access.
    144    */
    145   describeProductAsAdmin(params: ServiceCatalog.Types.DescribeProductAsAdminInput, callback?: (err: AWSError, data: ServiceCatalog.Types.DescribeProductAsAdminOutput) => void): Request<ServiceCatalog.Types.DescribeProductAsAdminOutput, AWSError>;
    146   /**
    147    * Retrieves information about a specified product, run with administrator access.
    148    */
    149   describeProductAsAdmin(callback?: (err: AWSError, data: ServiceCatalog.Types.DescribeProductAsAdminOutput) => void): Request<ServiceCatalog.Types.DescribeProductAsAdminOutput, AWSError>;
    150   /**
    151    * Retrieves information about a specified product. This operation is functionally identical to DescribeProduct except that it takes as input ProductViewId instead of ProductId.
    152    */
    153   describeProductView(params: ServiceCatalog.Types.DescribeProductViewInput, callback?: (err: AWSError, data: ServiceCatalog.Types.DescribeProductViewOutput) => void): Request<ServiceCatalog.Types.DescribeProductViewOutput, AWSError>;
    154   /**
    155    * Retrieves information about a specified product. This operation is functionally identical to DescribeProduct except that it takes as input ProductViewId instead of ProductId.
    156    */
    157   describeProductView(callback?: (err: AWSError, data: ServiceCatalog.Types.DescribeProductViewOutput) => void): Request<ServiceCatalog.Types.DescribeProductViewOutput, AWSError>;
    158   /**
    159    * Retrieves detailed information about the specified provisioning artifact.
    160    */
    161   describeProvisioningArtifact(params: ServiceCatalog.Types.DescribeProvisioningArtifactInput, callback?: (err: AWSError, data: ServiceCatalog.Types.DescribeProvisioningArtifactOutput) => void): Request<ServiceCatalog.Types.DescribeProvisioningArtifactOutput, AWSError>;
    162   /**
    163    * Retrieves detailed information about the specified provisioning artifact.
    164    */
    165   describeProvisioningArtifact(callback?: (err: AWSError, data: ServiceCatalog.Types.DescribeProvisioningArtifactOutput) => void): Request<ServiceCatalog.Types.DescribeProvisioningArtifactOutput, AWSError>;
    166   /**
    167    * Provides information about parameters required to provision a specified product in a specified manner. Use this operation to obtain the list of ProvisioningArtifactParameters parameters available to call the ProvisionProduct operation for the specified product.
    168    */
    169   describeProvisioningParameters(params: ServiceCatalog.Types.DescribeProvisioningParametersInput, callback?: (err: AWSError, data: ServiceCatalog.Types.DescribeProvisioningParametersOutput) => void): Request<ServiceCatalog.Types.DescribeProvisioningParametersOutput, AWSError>;
    170   /**
    171    * Provides information about parameters required to provision a specified product in a specified manner. Use this operation to obtain the list of ProvisioningArtifactParameters parameters available to call the ProvisionProduct operation for the specified product.
    172    */
    173   describeProvisioningParameters(callback?: (err: AWSError, data: ServiceCatalog.Types.DescribeProvisioningParametersOutput) => void): Request<ServiceCatalog.Types.DescribeProvisioningParametersOutput, AWSError>;
    174   /**
    175    * Retrieves a paginated list of the full details of a specific request. Use this operation after calling a request operation (ProvisionProduct, TerminateProvisionedProduct, or UpdateProvisionedProduct). 
    176    */
    177   describeRecord(params: ServiceCatalog.Types.DescribeRecordInput, callback?: (err: AWSError, data: ServiceCatalog.Types.DescribeRecordOutput) => void): Request<ServiceCatalog.Types.DescribeRecordOutput, AWSError>;
    178   /**
    179    * Retrieves a paginated list of the full details of a specific request. Use this operation after calling a request operation (ProvisionProduct, TerminateProvisionedProduct, or UpdateProvisionedProduct). 
    180    */
    181   describeRecord(callback?: (err: AWSError, data: ServiceCatalog.Types.DescribeRecordOutput) => void): Request<ServiceCatalog.Types.DescribeRecordOutput, AWSError>;
    182   /**
    183    * Disassociates a previously associated principal ARN from a specified portfolio.
    184    */
    185   disassociatePrincipalFromPortfolio(params: ServiceCatalog.Types.DisassociatePrincipalFromPortfolioInput, callback?: (err: AWSError, data: ServiceCatalog.Types.DisassociatePrincipalFromPortfolioOutput) => void): Request<ServiceCatalog.Types.DisassociatePrincipalFromPortfolioOutput, AWSError>;
    186   /**
    187    * Disassociates a previously associated principal ARN from a specified portfolio.
    188    */
    189   disassociatePrincipalFromPortfolio(callback?: (err: AWSError, data: ServiceCatalog.Types.DisassociatePrincipalFromPortfolioOutput) => void): Request<ServiceCatalog.Types.DisassociatePrincipalFromPortfolioOutput, AWSError>;
    190   /**
    191    * Disassociates the specified product from the specified portfolio. 
    192    */
    193   disassociateProductFromPortfolio(params: ServiceCatalog.Types.DisassociateProductFromPortfolioInput, callback?: (err: AWSError, data: ServiceCatalog.Types.DisassociateProductFromPortfolioOutput) => void): Request<ServiceCatalog.Types.DisassociateProductFromPortfolioOutput, AWSError>;
    194   /**
    195    * Disassociates the specified product from the specified portfolio. 
    196    */
    197   disassociateProductFromPortfolio(callback?: (err: AWSError, data: ServiceCatalog.Types.DisassociateProductFromPortfolioOutput) => void): Request<ServiceCatalog.Types.DisassociateProductFromPortfolioOutput, AWSError>;
    198   /**
    199    * Lists details of all portfolios for which sharing was accepted by this account.
    200    */
    201   listAcceptedPortfolioShares(params: ServiceCatalog.Types.ListAcceptedPortfolioSharesInput, callback?: (err: AWSError, data: ServiceCatalog.Types.ListAcceptedPortfolioSharesOutput) => void): Request<ServiceCatalog.Types.ListAcceptedPortfolioSharesOutput, AWSError>;
    202   /**
    203    * Lists details of all portfolios for which sharing was accepted by this account.
    204    */
    205   listAcceptedPortfolioShares(callback?: (err: AWSError, data: ServiceCatalog.Types.ListAcceptedPortfolioSharesOutput) => void): Request<ServiceCatalog.Types.ListAcceptedPortfolioSharesOutput, AWSError>;
    206   /**
    207    * Retrieves detailed constraint information for the specified portfolio and product.
    208    */
    209   listConstraintsForPortfolio(params: ServiceCatalog.Types.ListConstraintsForPortfolioInput, callback?: (err: AWSError, data: ServiceCatalog.Types.ListConstraintsForPortfolioOutput) => void): Request<ServiceCatalog.Types.ListConstraintsForPortfolioOutput, AWSError>;
    210   /**
    211    * Retrieves detailed constraint information for the specified portfolio and product.
    212    */
    213   listConstraintsForPortfolio(callback?: (err: AWSError, data: ServiceCatalog.Types.ListConstraintsForPortfolioOutput) => void): Request<ServiceCatalog.Types.ListConstraintsForPortfolioOutput, AWSError>;
    214   /**
    215    * Returns a paginated list of all paths to a specified product. A path is how the user has access to a specified product, and is necessary when provisioning a product. A path also determines the constraints put on the product.
    216    */
    217   listLaunchPaths(params: ServiceCatalog.Types.ListLaunchPathsInput, callback?: (err: AWSError, data: ServiceCatalog.Types.ListLaunchPathsOutput) => void): Request<ServiceCatalog.Types.ListLaunchPathsOutput, AWSError>;
    218   /**
    219    * Returns a paginated list of all paths to a specified product. A path is how the user has access to a specified product, and is necessary when provisioning a product. A path also determines the constraints put on the product.
    220    */
    221   listLaunchPaths(callback?: (err: AWSError, data: ServiceCatalog.Types.ListLaunchPathsOutput) => void): Request<ServiceCatalog.Types.ListLaunchPathsOutput, AWSError>;
    222   /**
    223    * Lists the account IDs that have been authorized sharing of the specified portfolio.
    224    */
    225   listPortfolioAccess(params: ServiceCatalog.Types.ListPortfolioAccessInput, callback?: (err: AWSError, data: ServiceCatalog.Types.ListPortfolioAccessOutput) => void): Request<ServiceCatalog.Types.ListPortfolioAccessOutput, AWSError>;
    226   /**
    227    * Lists the account IDs that have been authorized sharing of the specified portfolio.
    228    */
    229   listPortfolioAccess(callback?: (err: AWSError, data: ServiceCatalog.Types.ListPortfolioAccessOutput) => void): Request<ServiceCatalog.Types.ListPortfolioAccessOutput, AWSError>;
    230   /**
    231    * Lists all portfolios in the catalog.
    232    */
    233   listPortfolios(params: ServiceCatalog.Types.ListPortfoliosInput, callback?: (err: AWSError, data: ServiceCatalog.Types.ListPortfoliosOutput) => void): Request<ServiceCatalog.Types.ListPortfoliosOutput, AWSError>;
    234   /**
    235    * Lists all portfolios in the catalog.
    236    */
    237   listPortfolios(callback?: (err: AWSError, data: ServiceCatalog.Types.ListPortfoliosOutput) => void): Request<ServiceCatalog.Types.ListPortfoliosOutput, AWSError>;
    238   /**
    239    * Lists all portfolios that the specified product is associated with.
    240    */
    241   listPortfoliosForProduct(params: ServiceCatalog.Types.ListPortfoliosForProductInput, callback?: (err: AWSError, data: ServiceCatalog.Types.ListPortfoliosForProductOutput) => void): Request<ServiceCatalog.Types.ListPortfoliosForProductOutput, AWSError>;
    242   /**
    243    * Lists all portfolios that the specified product is associated with.
    244    */
    245   listPortfoliosForProduct(callback?: (err: AWSError, data: ServiceCatalog.Types.ListPortfoliosForProductOutput) => void): Request<ServiceCatalog.Types.ListPortfoliosForProductOutput, AWSError>;
    246   /**
    247    * Lists all principal ARNs associated with the specified portfolio.
    248    */
    249   listPrincipalsForPortfolio(params: ServiceCatalog.Types.ListPrincipalsForPortfolioInput, callback?: (err: AWSError, data: ServiceCatalog.Types.ListPrincipalsForPortfolioOutput) => void): Request<ServiceCatalog.Types.ListPrincipalsForPortfolioOutput, AWSError>;
    250   /**
    251    * Lists all principal ARNs associated with the specified portfolio.
    252    */
    253   listPrincipalsForPortfolio(callback?: (err: AWSError, data: ServiceCatalog.Types.ListPrincipalsForPortfolioOutput) => void): Request<ServiceCatalog.Types.ListPrincipalsForPortfolioOutput, AWSError>;
    254   /**
    255    * Lists all provisioning artifacts associated with the specified product.
    256    */
    257   listProvisioningArtifacts(params: ServiceCatalog.Types.ListProvisioningArtifactsInput, callback?: (err: AWSError, data: ServiceCatalog.Types.ListProvisioningArtifactsOutput) => void): Request<ServiceCatalog.Types.ListProvisioningArtifactsOutput, AWSError>;
    258   /**
    259    * Lists all provisioning artifacts associated with the specified product.
    260    */
    261   listProvisioningArtifacts(callback?: (err: AWSError, data: ServiceCatalog.Types.ListProvisioningArtifactsOutput) => void): Request<ServiceCatalog.Types.ListProvisioningArtifactsOutput, AWSError>;
    262   /**
    263    * Returns a paginated list of all performed requests, in the form of RecordDetails objects that are filtered as specified.
    264    */
    265   listRecordHistory(params: ServiceCatalog.Types.ListRecordHistoryInput, callback?: (err: AWSError, data: ServiceCatalog.Types.ListRecordHistoryOutput) => void): Request<ServiceCatalog.Types.ListRecordHistoryOutput, AWSError>;
    266   /**
    267    * Returns a paginated list of all performed requests, in the form of RecordDetails objects that are filtered as specified.
    268    */
    269   listRecordHistory(callback?: (err: AWSError, data: ServiceCatalog.Types.ListRecordHistoryOutput) => void): Request<ServiceCatalog.Types.ListRecordHistoryOutput, AWSError>;
    270   /**
    271    * Requests a Provision of a specified product. A ProvisionedProduct is a resourced instance for a product. For example, provisioning a CloudFormation-template-backed product results in launching a CloudFormation stack and all the underlying resources that come with it.  You can check the status of this request using the DescribeRecord operation.
    272    */
    273   provisionProduct(params: ServiceCatalog.Types.ProvisionProductInput, callback?: (err: AWSError, data: ServiceCatalog.Types.ProvisionProductOutput) => void): Request<ServiceCatalog.Types.ProvisionProductOutput, AWSError>;
    274   /**
    275    * Requests a Provision of a specified product. A ProvisionedProduct is a resourced instance for a product. For example, provisioning a CloudFormation-template-backed product results in launching a CloudFormation stack and all the underlying resources that come with it.  You can check the status of this request using the DescribeRecord operation.
    276    */
    277   provisionProduct(callback?: (err: AWSError, data: ServiceCatalog.Types.ProvisionProductOutput) => void): Request<ServiceCatalog.Types.ProvisionProductOutput, AWSError>;
    278   /**
    279    * Rejects an offer to share a portfolio.
    280    */
    281   rejectPortfolioShare(params: ServiceCatalog.Types.RejectPortfolioShareInput, callback?: (err: AWSError, data: ServiceCatalog.Types.RejectPortfolioShareOutput) => void): Request<ServiceCatalog.Types.RejectPortfolioShareOutput, AWSError>;
    282   /**
    283    * Rejects an offer to share a portfolio.
    284    */
    285   rejectPortfolioShare(callback?: (err: AWSError, data: ServiceCatalog.Types.RejectPortfolioShareOutput) => void): Request<ServiceCatalog.Types.RejectPortfolioShareOutput, AWSError>;
    286   /**
    287    * Returns a paginated list of all the ProvisionedProduct objects that are currently available (not terminated). 
    288    */
    289   scanProvisionedProducts(params: ServiceCatalog.Types.ScanProvisionedProductsInput, callback?: (err: AWSError, data: ServiceCatalog.Types.ScanProvisionedProductsOutput) => void): Request<ServiceCatalog.Types.ScanProvisionedProductsOutput, AWSError>;
    290   /**
    291    * Returns a paginated list of all the ProvisionedProduct objects that are currently available (not terminated). 
    292    */
    293   scanProvisionedProducts(callback?: (err: AWSError, data: ServiceCatalog.Types.ScanProvisionedProductsOutput) => void): Request<ServiceCatalog.Types.ScanProvisionedProductsOutput, AWSError>;
    294   /**
    295    * Returns a paginated list all of the Products objects to which the caller has access.  The output of this operation can be used as input for other operations, such as DescribeProductView.
    296    */
    297   searchProducts(params: ServiceCatalog.Types.SearchProductsInput, callback?: (err: AWSError, data: ServiceCatalog.Types.SearchProductsOutput) => void): Request<ServiceCatalog.Types.SearchProductsOutput, AWSError>;
    298   /**
    299    * Returns a paginated list all of the Products objects to which the caller has access.  The output of this operation can be used as input for other operations, such as DescribeProductView.
    300    */
    301   searchProducts(callback?: (err: AWSError, data: ServiceCatalog.Types.SearchProductsOutput) => void): Request<ServiceCatalog.Types.SearchProductsOutput, AWSError>;
    302   /**
    303    * Retrieves summary and status information about all products created within the caller's account. If a portfolio ID is provided, this operation retrieves information for only those products that are associated with the specified portfolio.
    304    */
    305   searchProductsAsAdmin(params: ServiceCatalog.Types.SearchProductsAsAdminInput, callback?: (err: AWSError, data: ServiceCatalog.Types.SearchProductsAsAdminOutput) => void): Request<ServiceCatalog.Types.SearchProductsAsAdminOutput, AWSError>;
    306   /**
    307    * Retrieves summary and status information about all products created within the caller's account. If a portfolio ID is provided, this operation retrieves information for only those products that are associated with the specified portfolio.
    308    */
    309   searchProductsAsAdmin(callback?: (err: AWSError, data: ServiceCatalog.Types.SearchProductsAsAdminOutput) => void): Request<ServiceCatalog.Types.SearchProductsAsAdminOutput, AWSError>;
    310   /**
    311    * Requests termination of an existing ProvisionedProduct object. If there are Tags associated with the object, they are terminated when the ProvisionedProduct object is terminated.  This operation does not delete any records associated with the ProvisionedProduct object. You can check the status of this request using the DescribeRecord operation.
    312    */
    313   terminateProvisionedProduct(params: ServiceCatalog.Types.TerminateProvisionedProductInput, callback?: (err: AWSError, data: ServiceCatalog.Types.TerminateProvisionedProductOutput) => void): Request<ServiceCatalog.Types.TerminateProvisionedProductOutput, AWSError>;
    314   /**
    315    * Requests termination of an existing ProvisionedProduct object. If there are Tags associated with the object, they are terminated when the ProvisionedProduct object is terminated.  This operation does not delete any records associated with the ProvisionedProduct object. You can check the status of this request using the DescribeRecord operation.
    316    */
    317   terminateProvisionedProduct(callback?: (err: AWSError, data: ServiceCatalog.Types.TerminateProvisionedProductOutput) => void): Request<ServiceCatalog.Types.TerminateProvisionedProductOutput, AWSError>;
    318   /**
    319    * Updates an existing constraint.
    320    */
    321   updateConstraint(params: ServiceCatalog.Types.UpdateConstraintInput, callback?: (err: AWSError, data: ServiceCatalog.Types.UpdateConstraintOutput) => void): Request<ServiceCatalog.Types.UpdateConstraintOutput, AWSError>;
    322   /**
    323    * Updates an existing constraint.
    324    */
    325   updateConstraint(callback?: (err: AWSError, data: ServiceCatalog.Types.UpdateConstraintOutput) => void): Request<ServiceCatalog.Types.UpdateConstraintOutput, AWSError>;
    326   /**
    327    * Updates the specified portfolio's details. This operation will not work with a product that has been shared with you.
    328    */
    329   updatePortfolio(params: ServiceCatalog.Types.UpdatePortfolioInput, callback?: (err: AWSError, data: ServiceCatalog.Types.UpdatePortfolioOutput) => void): Request<ServiceCatalog.Types.UpdatePortfolioOutput, AWSError>;
    330   /**
    331    * Updates the specified portfolio's details. This operation will not work with a product that has been shared with you.
    332    */
    333   updatePortfolio(callback?: (err: AWSError, data: ServiceCatalog.Types.UpdatePortfolioOutput) => void): Request<ServiceCatalog.Types.UpdatePortfolioOutput, AWSError>;
    334   /**
    335    * Updates an existing product.
    336    */
    337   updateProduct(params: ServiceCatalog.Types.UpdateProductInput, callback?: (err: AWSError, data: ServiceCatalog.Types.UpdateProductOutput) => void): Request<ServiceCatalog.Types.UpdateProductOutput, AWSError>;
    338   /**
    339    * Updates an existing product.
    340    */
    341   updateProduct(callback?: (err: AWSError, data: ServiceCatalog.Types.UpdateProductOutput) => void): Request<ServiceCatalog.Types.UpdateProductOutput, AWSError>;
    342   /**
    343    * Requests updates to the configuration of an existing ProvisionedProduct object. If there are tags associated with the object, they cannot be updated or added with this operation. Depending on the specific updates requested, this operation may update with no interruption, with some interruption, or replace the ProvisionedProduct object entirely.  You can check the status of this request using the DescribeRecord operation.
    344    */
    345   updateProvisionedProduct(params: ServiceCatalog.Types.UpdateProvisionedProductInput, callback?: (err: AWSError, data: ServiceCatalog.Types.UpdateProvisionedProductOutput) => void): Request<ServiceCatalog.Types.UpdateProvisionedProductOutput, AWSError>;
    346   /**
    347    * Requests updates to the configuration of an existing ProvisionedProduct object. If there are tags associated with the object, they cannot be updated or added with this operation. Depending on the specific updates requested, this operation may update with no interruption, with some interruption, or replace the ProvisionedProduct object entirely.  You can check the status of this request using the DescribeRecord operation.
    348    */
    349   updateProvisionedProduct(callback?: (err: AWSError, data: ServiceCatalog.Types.UpdateProvisionedProductOutput) => void): Request<ServiceCatalog.Types.UpdateProvisionedProductOutput, AWSError>;
    350   /**
    351    * Updates an existing provisioning artifact's information. This operation will not work on a provisioning artifact associated with a product that has been shared with you.
    352    */
    353   updateProvisioningArtifact(params: ServiceCatalog.Types.UpdateProvisioningArtifactInput, callback?: (err: AWSError, data: ServiceCatalog.Types.UpdateProvisioningArtifactOutput) => void): Request<ServiceCatalog.Types.UpdateProvisioningArtifactOutput, AWSError>;
    354   /**
    355    * Updates an existing provisioning artifact's information. This operation will not work on a provisioning artifact associated with a product that has been shared with you.
    356    */
    357   updateProvisioningArtifact(callback?: (err: AWSError, data: ServiceCatalog.Types.UpdateProvisioningArtifactOutput) => void): Request<ServiceCatalog.Types.UpdateProvisioningArtifactOutput, AWSError>;
    358 }
    359 declare namespace ServiceCatalog.Types {
    360   export type AcceptLanguage = string;
    361   export interface AcceptPortfolioShareInput {
    362     /**
    363      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    364      */
    365     AcceptLanguage?: AcceptLanguage;
    366     /**
    367      * The portfolio identifier.
    368      */
    369     PortfolioId: Id;
    370   }
    371   export interface AcceptPortfolioShareOutput {
    372   }
    373   export interface AccessLevelFilter {
    374     /**
    375      * Specifies the access level.  Account allows results at the account level.   Role allows results based on the federated role of the specified user.  User allows results limited to the specified user. 
    376      */
    377     Key?: AccessLevelFilterKey;
    378     /**
    379      * Specifies the user to which the access level applies. A value of Self is currently supported.
    380      */
    381     Value?: AccessLevelFilterValue;
    382   }
    383   export type AccessLevelFilterKey = "Account"|"Role"|"User"|string;
    384   export type AccessLevelFilterValue = string;
    385   export type AccountId = string;
    386   export type AccountIds = AccountId[];
    387   export type AddTags = Tag[];
    388   export type AllowedValue = string;
    389   export type AllowedValues = AllowedValue[];
    390   export type ApproximateCount = number;
    391   export interface AssociatePrincipalWithPortfolioInput {
    392     /**
    393      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    394      */
    395     AcceptLanguage?: AcceptLanguage;
    396     /**
    397      * The portfolio identifier.
    398      */
    399     PortfolioId: Id;
    400     /**
    401      * The ARN representing the principal (IAM user, role, or group).
    402      */
    403     PrincipalARN: PrincipalARN;
    404     /**
    405      * The principal type. Must be IAM 
    406      */
    407     PrincipalType: PrincipalType;
    408   }
    409   export interface AssociatePrincipalWithPortfolioOutput {
    410   }
    411   export interface AssociateProductWithPortfolioInput {
    412     /**
    413      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    414      */
    415     AcceptLanguage?: AcceptLanguage;
    416     /**
    417      * The product identifier.
    418      */
    419     ProductId: Id;
    420     /**
    421      * The portfolio identifier.
    422      */
    423     PortfolioId: Id;
    424     /**
    425      * The identifier of the source portfolio to use with this association.
    426      */
    427     SourcePortfolioId?: Id;
    428   }
    429   export interface AssociateProductWithPortfolioOutput {
    430   }
    431   export type AttributeValue = string;
    432   export type ConstraintDescription = string;
    433   export interface ConstraintDetail {
    434     /**
    435      * The identifier of the constraint.
    436      */
    437     ConstraintId?: Id;
    438     /**
    439      * The type of the constraint.
    440      */
    441     Type?: ConstraintType;
    442     /**
    443      * The text description of the constraint.
    444      */
    445     Description?: ConstraintDescription;
    446     /**
    447      * The owner of the constraint.
    448      */
    449     Owner?: AccountId;
    450   }
    451   export type ConstraintDetails = ConstraintDetail[];
    452   export type ConstraintParameters = string;
    453   export type ConstraintSummaries = ConstraintSummary[];
    454   export interface ConstraintSummary {
    455     /**
    456      * The type of the constraint. 
    457      */
    458     Type?: ConstraintType;
    459     /**
    460      * The text description of the constraint.
    461      */
    462     Description?: ConstraintDescription;
    463   }
    464   export type ConstraintType = string;
    465   export interface CreateConstraintInput {
    466     /**
    467      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    468      */
    469     AcceptLanguage?: AcceptLanguage;
    470     /**
    471      * The portfolio identifier.
    472      */
    473     PortfolioId: Id;
    474     /**
    475      * The product identifier.
    476      */
    477     ProductId: Id;
    478     /**
    479      * The constraint parameters.
    480      */
    481     Parameters: ConstraintParameters;
    482     /**
    483      * The type of the constraint.
    484      */
    485     Type: ConstraintType;
    486     /**
    487      * The text description of the constraint.
    488      */
    489     Description?: ConstraintDescription;
    490     /**
    491      * A token to disambiguate duplicate requests. You can create multiple resources using the same input in multiple requests, provided that you also specify a different idempotency token for each request.
    492      */
    493     IdempotencyToken: IdempotencyToken;
    494   }
    495   export interface CreateConstraintOutput {
    496     /**
    497      * The resulting detailed constraint information.
    498      */
    499     ConstraintDetail?: ConstraintDetail;
    500     /**
    501      * The resulting constraint parameters.
    502      */
    503     ConstraintParameters?: ConstraintParameters;
    504     /**
    505      * The status of the current request.
    506      */
    507     Status?: Status;
    508   }
    509   export interface CreatePortfolioInput {
    510     /**
    511      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    512      */
    513     AcceptLanguage?: AcceptLanguage;
    514     /**
    515      * The name to use for display purposes.
    516      */
    517     DisplayName: PortfolioDisplayName;
    518     /**
    519      * The text description of the portfolio.
    520      */
    521     Description?: PortfolioDescription;
    522     /**
    523      * The name of the portfolio provider.
    524      */
    525     ProviderName: ProviderName;
    526     /**
    527      * Tags to associate with the new portfolio.
    528      */
    529     Tags?: AddTags;
    530     /**
    531      * A token to disambiguate duplicate requests. You can create multiple resources using the same input in multiple requests, provided that you also specify a different idempotency token for each request.
    532      */
    533     IdempotencyToken: IdempotencyToken;
    534   }
    535   export interface CreatePortfolioOutput {
    536     /**
    537      * The resulting detailed portfolio information.
    538      */
    539     PortfolioDetail?: PortfolioDetail;
    540     /**
    541      * Tags successfully associated with the new portfolio.
    542      */
    543     Tags?: Tags;
    544   }
    545   export interface CreatePortfolioShareInput {
    546     /**
    547      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    548      */
    549     AcceptLanguage?: AcceptLanguage;
    550     /**
    551      * The portfolio identifier.
    552      */
    553     PortfolioId: Id;
    554     /**
    555      * The account ID with which to share the portfolio.
    556      */
    557     AccountId: AccountId;
    558   }
    559   export interface CreatePortfolioShareOutput {
    560   }
    561   export interface CreateProductInput {
    562     /**
    563      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    564      */
    565     AcceptLanguage?: AcceptLanguage;
    566     /**
    567      * The name of the product.
    568      */
    569     Name: ProductViewName;
    570     /**
    571      * The owner of the product.
    572      */
    573     Owner: ProductViewOwner;
    574     /**
    575      * The text description of the product.
    576      */
    577     Description?: ProductViewShortDescription;
    578     /**
    579      * The distributor of the product.
    580      */
    581     Distributor?: ProductViewOwner;
    582     /**
    583      * Support information about the product.
    584      */
    585     SupportDescription?: SupportDescription;
    586     /**
    587      * Contact email for product support.
    588      */
    589     SupportEmail?: SupportEmail;
    590     /**
    591      * Contact URL for product support.
    592      */
    593     SupportUrl?: SupportUrl;
    594     /**
    595      * The type of the product to create.
    596      */
    597     ProductType: ProductType;
    598     /**
    599      * Tags to associate with the new product.
    600      */
    601     Tags?: AddTags;
    602     /**
    603      * Parameters for the provisioning artifact.
    604      */
    605     ProvisioningArtifactParameters: ProvisioningArtifactProperties;
    606     /**
    607      * A token to disambiguate duplicate requests. You can create multiple resources using the same input in multiple requests, provided that you also specify a different idempotency token for each request.
    608      */
    609     IdempotencyToken: IdempotencyToken;
    610   }
    611   export interface CreateProductOutput {
    612     /**
    613      * The resulting detailed product view information.
    614      */
    615     ProductViewDetail?: ProductViewDetail;
    616     /**
    617      * The resulting detailed provisioning artifact information.
    618      */
    619     ProvisioningArtifactDetail?: ProvisioningArtifactDetail;
    620     /**
    621      * Tags successfully associated with the new product.
    622      */
    623     Tags?: Tags;
    624   }
    625   export interface CreateProvisioningArtifactInput {
    626     /**
    627      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    628      */
    629     AcceptLanguage?: AcceptLanguage;
    630     /**
    631      * The product identifier.
    632      */
    633     ProductId: Id;
    634     /**
    635      * The parameters to use when creating the new provisioning artifact.
    636      */
    637     Parameters: ProvisioningArtifactProperties;
    638     /**
    639      * A token to disambiguate duplicate requests. You can create multiple resources using the same input in multiple requests, provided that you also specify a different idempotency token for each request.
    640      */
    641     IdempotencyToken: IdempotencyToken;
    642   }
    643   export interface CreateProvisioningArtifactOutput {
    644     /**
    645      * The resulting detailed provisioning artifact information.
    646      */
    647     ProvisioningArtifactDetail?: ProvisioningArtifactDetail;
    648     /**
    649      * Additional information about the provisioning artifact create request.
    650      */
    651     Info?: ProvisioningArtifactInfo;
    652     /**
    653      * The status of the current request.
    654      */
    655     Status?: Status;
    656   }
    657   export type CreatedTime = Date;
    658   export type CreationTime = Date;
    659   export type DefaultValue = string;
    660   export interface DeleteConstraintInput {
    661     /**
    662      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    663      */
    664     AcceptLanguage?: AcceptLanguage;
    665     /**
    666      * The identifier of the constraint to delete.
    667      */
    668     Id: Id;
    669   }
    670   export interface DeleteConstraintOutput {
    671   }
    672   export interface DeletePortfolioInput {
    673     /**
    674      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    675      */
    676     AcceptLanguage?: AcceptLanguage;
    677     /**
    678      * The identifier of the portfolio for the delete request.
    679      */
    680     Id: Id;
    681   }
    682   export interface DeletePortfolioOutput {
    683   }
    684   export interface DeletePortfolioShareInput {
    685     /**
    686      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    687      */
    688     AcceptLanguage?: AcceptLanguage;
    689     /**
    690      * The portfolio identifier.
    691      */
    692     PortfolioId: Id;
    693     /**
    694      * The account ID associated with the share to delete.
    695      */
    696     AccountId: AccountId;
    697   }
    698   export interface DeletePortfolioShareOutput {
    699   }
    700   export interface DeleteProductInput {
    701     /**
    702      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    703      */
    704     AcceptLanguage?: AcceptLanguage;
    705     /**
    706      * The identifier of the product for the delete request.
    707      */
    708     Id: Id;
    709   }
    710   export interface DeleteProductOutput {
    711   }
    712   export interface DeleteProvisioningArtifactInput {
    713     /**
    714      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    715      */
    716     AcceptLanguage?: AcceptLanguage;
    717     /**
    718      * The product identifier.
    719      */
    720     ProductId: Id;
    721     /**
    722      * The identifier of the provisioning artifact for the delete request.
    723      */
    724     ProvisioningArtifactId: Id;
    725   }
    726   export interface DeleteProvisioningArtifactOutput {
    727   }
    728   export interface DescribeConstraintInput {
    729     /**
    730      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    731      */
    732     AcceptLanguage?: AcceptLanguage;
    733     /**
    734      * The identifier of the constraint.
    735      */
    736     Id: Id;
    737   }
    738   export interface DescribeConstraintOutput {
    739     /**
    740      * Detailed constraint information.
    741      */
    742     ConstraintDetail?: ConstraintDetail;
    743     /**
    744      * The current parameters associated with the specified constraint.
    745      */
    746     ConstraintParameters?: ConstraintParameters;
    747     /**
    748      * The status of the current request.
    749      */
    750     Status?: Status;
    751   }
    752   export interface DescribePortfolioInput {
    753     /**
    754      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    755      */
    756     AcceptLanguage?: AcceptLanguage;
    757     /**
    758      * The identifier of the portfolio for which to retrieve information.
    759      */
    760     Id: Id;
    761   }
    762   export interface DescribePortfolioOutput {
    763     /**
    764      * Detailed portfolio information.
    765      */
    766     PortfolioDetail?: PortfolioDetail;
    767     /**
    768      * Tags associated with the portfolio.
    769      */
    770     Tags?: Tags;
    771   }
    772   export interface DescribeProductAsAdminInput {
    773     /**
    774      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    775      */
    776     AcceptLanguage?: AcceptLanguage;
    777     /**
    778      * The identifier of the product for which to retrieve information.
    779      */
    780     Id: Id;
    781   }
    782   export interface DescribeProductAsAdminOutput {
    783     /**
    784      * Detailed product view information.
    785      */
    786     ProductViewDetail?: ProductViewDetail;
    787     /**
    788      * Tags associated with the product.
    789      */
    790     Tags?: Tags;
    791   }
    792   export interface DescribeProductInput {
    793     /**
    794      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    795      */
    796     AcceptLanguage?: AcceptLanguage;
    797     /**
    798      * The ProductId of the product to describe.
    799      */
    800     Id: Id;
    801   }
    802   export interface DescribeProductOutput {
    803     /**
    804      * The summary metadata about the specified product.
    805      */
    806     ProductViewSummary?: ProductViewSummary;
    807     /**
    808      * A list of provisioning artifact objects for the specified product. The ProvisioningArtifacts parameter represent the ways the specified product can be provisioned.
    809      */
    810     ProvisioningArtifacts?: ProvisioningArtifacts;
    811   }
    812   export interface DescribeProductViewInput {
    813     /**
    814      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    815      */
    816     AcceptLanguage?: AcceptLanguage;
    817     /**
    818      * The ProductViewId of the product to describe.
    819      */
    820     Id: Id;
    821   }
    822   export interface DescribeProductViewOutput {
    823     /**
    824      * The summary metadata about the specified product.
    825      */
    826     ProductViewSummary?: ProductViewSummary;
    827     /**
    828      * A list of provisioning artifact objects for the specified product. The ProvisioningArtifacts represent the ways in which the specified product can be provisioned.
    829      */
    830     ProvisioningArtifacts?: ProvisioningArtifacts;
    831   }
    832   export interface DescribeProvisioningArtifactInput {
    833     /**
    834      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    835      */
    836     AcceptLanguage?: AcceptLanguage;
    837     /**
    838      * The identifier of the provisioning artifact.
    839      */
    840     ProvisioningArtifactId: Id;
    841     /**
    842      * The product identifier.
    843      */
    844     ProductId: Id;
    845   }
    846   export interface DescribeProvisioningArtifactOutput {
    847     /**
    848      * Detailed provisioning artifact information.
    849      */
    850     ProvisioningArtifactDetail?: ProvisioningArtifactDetail;
    851     /**
    852      * Additional information about the provisioning artifact.
    853      */
    854     Info?: ProvisioningArtifactInfo;
    855     /**
    856      * The status of the current request.
    857      */
    858     Status?: Status;
    859   }
    860   export interface DescribeProvisioningParametersInput {
    861     /**
    862      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    863      */
    864     AcceptLanguage?: AcceptLanguage;
    865     /**
    866      * The product identifier.
    867      */
    868     ProductId: Id;
    869     /**
    870      * The provisioning artifact identifier for this product.
    871      */
    872     ProvisioningArtifactId: Id;
    873     /**
    874      * The identifier of the path for this product's provisioning. This value is optional if the product has a default path, and is required if there is more than one path for the specified product.
    875      */
    876     PathId?: Id;
    877   }
    878   export interface DescribeProvisioningParametersOutput {
    879     /**
    880      * The list of parameters used to successfully provision the product. Each parameter includes a list of allowable values and additional metadata about each parameter.
    881      */
    882     ProvisioningArtifactParameters?: ProvisioningArtifactParameters;
    883     /**
    884      * The list of constraint summaries that apply to provisioning this product.
    885      */
    886     ConstraintSummaries?: ConstraintSummaries;
    887     /**
    888      * Any additional metadata specifically related to the provisioning of the product. For example, see the Version field of the CloudFormation template.
    889      */
    890     UsageInstructions?: UsageInstructions;
    891   }
    892   export interface DescribeRecordInput {
    893     /**
    894      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    895      */
    896     AcceptLanguage?: AcceptLanguage;
    897     /**
    898      * The record identifier of the ProvisionedProduct object for which to retrieve output information. This is the RecordDetail.RecordId obtained from the request operation's response.
    899      */
    900     Id: Id;
    901     /**
    902      * The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.
    903      */
    904     PageToken?: PageToken;
    905     /**
    906      * The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.
    907      */
    908     PageSize?: PageSize;
    909   }
    910   export interface DescribeRecordOutput {
    911     /**
    912      * Detailed record information for the specified product. 
    913      */
    914     RecordDetail?: RecordDetail;
    915     /**
    916      * A list of outputs for the specified Product object created as the result of a request. For example, a CloudFormation-backed product that creates an S3 bucket would have an output for the S3 bucket URL.
    917      */
    918     RecordOutputs?: RecordOutputs;
    919     /**
    920      * The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
    921      */
    922     NextPageToken?: PageToken;
    923   }
    924   export type Description = string;
    925   export interface DisassociatePrincipalFromPortfolioInput {
    926     /**
    927      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    928      */
    929     AcceptLanguage?: AcceptLanguage;
    930     /**
    931      * The portfolio identifier.
    932      */
    933     PortfolioId: Id;
    934     /**
    935      * The ARN representing the principal (IAM user, role, or group).
    936      */
    937     PrincipalARN: PrincipalARN;
    938   }
    939   export interface DisassociatePrincipalFromPortfolioOutput {
    940   }
    941   export interface DisassociateProductFromPortfolioInput {
    942     /**
    943      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    944      */
    945     AcceptLanguage?: AcceptLanguage;
    946     /**
    947      * The product identifier.
    948      */
    949     ProductId: Id;
    950     /**
    951      * The portfolio identifier.
    952      */
    953     PortfolioId: Id;
    954   }
    955   export interface DisassociateProductFromPortfolioOutput {
    956   }
    957   export type ErrorCode = string;
    958   export type ErrorDescription = string;
    959   export type HasDefaultPath = boolean;
    960   export type Id = string;
    961   export type IdempotencyToken = string;
    962   export type IgnoreErrors = boolean;
    963   export type InstructionType = string;
    964   export type InstructionValue = string;
    965   export type LastRequestId = string;
    966   export type LaunchPathSummaries = LaunchPathSummary[];
    967   export interface LaunchPathSummary {
    968     /**
    969      * The unique identifier of the product path.
    970      */
    971     Id?: Id;
    972     /**
    973      * List of constraints on the portfolio-product relationship.
    974      */
    975     ConstraintSummaries?: ConstraintSummaries;
    976     /**
    977      * List of tags used by this launch path.
    978      */
    979     Tags?: Tags;
    980     /**
    981      * Corresponds to the name of the portfolio to which the user was assigned.
    982      */
    983     Name?: PortfolioName;
    984   }
    985   export interface ListAcceptedPortfolioSharesInput {
    986     /**
    987      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
    988      */
    989     AcceptLanguage?: AcceptLanguage;
    990     /**
    991      * The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.
    992      */
    993     PageToken?: PageToken;
    994     /**
    995      * The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.
    996      */
    997     PageSize?: PageSize;
    998   }
    999   export interface ListAcceptedPortfolioSharesOutput {
   1000     /**
   1001      * List of detailed portfolio information objects.
   1002      */
   1003     PortfolioDetails?: PortfolioDetails;
   1004     /**
   1005      * The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
   1006      */
   1007     NextPageToken?: PageToken;
   1008   }
   1009   export interface ListConstraintsForPortfolioInput {
   1010     /**
   1011      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1012      */
   1013     AcceptLanguage?: AcceptLanguage;
   1014     /**
   1015      * The portfolio identifier.
   1016      */
   1017     PortfolioId: Id;
   1018     /**
   1019      * The product identifier.
   1020      */
   1021     ProductId?: Id;
   1022     /**
   1023      * The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.
   1024      */
   1025     PageSize?: PageSize;
   1026     /**
   1027      * The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.
   1028      */
   1029     PageToken?: PageToken;
   1030   }
   1031   export interface ListConstraintsForPortfolioOutput {
   1032     /**
   1033      * List of detailed constraint information objects.
   1034      */
   1035     ConstraintDetails?: ConstraintDetails;
   1036     /**
   1037      * The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
   1038      */
   1039     NextPageToken?: PageToken;
   1040   }
   1041   export interface ListLaunchPathsInput {
   1042     /**
   1043      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1044      */
   1045     AcceptLanguage?: AcceptLanguage;
   1046     /**
   1047      * The product identifier.. Identifies the product for which to retrieve LaunchPathSummaries information.
   1048      */
   1049     ProductId: Id;
   1050     /**
   1051      * The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.
   1052      */
   1053     PageSize?: PageSize;
   1054     /**
   1055      * The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.
   1056      */
   1057     PageToken?: PageToken;
   1058   }
   1059   export interface ListLaunchPathsOutput {
   1060     /**
   1061      * List of launch path information summaries for the specified PageToken.
   1062      */
   1063     LaunchPathSummaries?: LaunchPathSummaries;
   1064     /**
   1065      * The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
   1066      */
   1067     NextPageToken?: PageToken;
   1068   }
   1069   export interface ListPortfolioAccessInput {
   1070     /**
   1071      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1072      */
   1073     AcceptLanguage?: AcceptLanguage;
   1074     /**
   1075      * The portfolio identifier.
   1076      */
   1077     PortfolioId: Id;
   1078   }
   1079   export interface ListPortfolioAccessOutput {
   1080     /**
   1081      * List of account IDs associated with access to the portfolio.
   1082      */
   1083     AccountIds?: AccountIds;
   1084     /**
   1085      * The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
   1086      */
   1087     NextPageToken?: PageToken;
   1088   }
   1089   export interface ListPortfoliosForProductInput {
   1090     /**
   1091      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1092      */
   1093     AcceptLanguage?: AcceptLanguage;
   1094     /**
   1095      * The product identifier.
   1096      */
   1097     ProductId: Id;
   1098     /**
   1099      * The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.
   1100      */
   1101     PageToken?: PageToken;
   1102     /**
   1103      * The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.
   1104      */
   1105     PageSize?: PageSize;
   1106   }
   1107   export interface ListPortfoliosForProductOutput {
   1108     /**
   1109      * List of detailed portfolio information objects.
   1110      */
   1111     PortfolioDetails?: PortfolioDetails;
   1112     /**
   1113      * The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
   1114      */
   1115     NextPageToken?: PageToken;
   1116   }
   1117   export interface ListPortfoliosInput {
   1118     /**
   1119      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1120      */
   1121     AcceptLanguage?: AcceptLanguage;
   1122     /**
   1123      * The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.
   1124      */
   1125     PageToken?: PageToken;
   1126     /**
   1127      * The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.
   1128      */
   1129     PageSize?: PageSize;
   1130   }
   1131   export interface ListPortfoliosOutput {
   1132     /**
   1133      * List of detailed portfolio information objects.
   1134      */
   1135     PortfolioDetails?: PortfolioDetails;
   1136     /**
   1137      * The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
   1138      */
   1139     NextPageToken?: PageToken;
   1140   }
   1141   export interface ListPrincipalsForPortfolioInput {
   1142     /**
   1143      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1144      */
   1145     AcceptLanguage?: AcceptLanguage;
   1146     /**
   1147      * The portfolio identifier.
   1148      */
   1149     PortfolioId: Id;
   1150     /**
   1151      * The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.
   1152      */
   1153     PageSize?: PageSize;
   1154     /**
   1155      * The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.
   1156      */
   1157     PageToken?: PageToken;
   1158   }
   1159   export interface ListPrincipalsForPortfolioOutput {
   1160     /**
   1161      * The IAM principals (users or roles) associated with the portfolio.
   1162      */
   1163     Principals?: Principals;
   1164     /**
   1165      * The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
   1166      */
   1167     NextPageToken?: PageToken;
   1168   }
   1169   export interface ListProvisioningArtifactsInput {
   1170     /**
   1171      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1172      */
   1173     AcceptLanguage?: AcceptLanguage;
   1174     /**
   1175      * The product identifier.
   1176      */
   1177     ProductId: Id;
   1178   }
   1179   export interface ListProvisioningArtifactsOutput {
   1180     /**
   1181      * List of detailed provisioning artifact information objects.
   1182      */
   1183     ProvisioningArtifactDetails?: ProvisioningArtifactDetails;
   1184     /**
   1185      * The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
   1186      */
   1187     NextPageToken?: PageToken;
   1188   }
   1189   export interface ListRecordHistoryInput {
   1190     /**
   1191      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1192      */
   1193     AcceptLanguage?: AcceptLanguage;
   1194     /**
   1195      * The access level for obtaining results. If left unspecified, User level access is used.
   1196      */
   1197     AccessLevelFilter?: AccessLevelFilter;
   1198     /**
   1199      * The filter to limit search results. 
   1200      */
   1201     SearchFilter?: ListRecordHistorySearchFilter;
   1202     /**
   1203      * The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.
   1204      */
   1205     PageSize?: PageSize;
   1206     /**
   1207      * The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.
   1208      */
   1209     PageToken?: PageToken;
   1210   }
   1211   export interface ListRecordHistoryOutput {
   1212     /**
   1213      * A list of record detail objects, listed in reverse chronological order.
   1214      */
   1215     RecordDetails?: RecordDetails;
   1216     /**
   1217      * The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
   1218      */
   1219     NextPageToken?: PageToken;
   1220   }
   1221   export interface ListRecordHistorySearchFilter {
   1222     /**
   1223      * The filter key.
   1224      */
   1225     Key?: SearchFilterKey;
   1226     /**
   1227      * The filter value for Key.
   1228      */
   1229     Value?: SearchFilterValue;
   1230   }
   1231   export type NoEcho = boolean;
   1232   export type NotificationArn = string;
   1233   export type NotificationArns = NotificationArn[];
   1234   export type OutputKey = string;
   1235   export type OutputValue = string;
   1236   export type PageSize = number;
   1237   export type PageToken = string;
   1238   export interface ParameterConstraints {
   1239     /**
   1240      * The values that the administrator has allowed for the parameter.
   1241      */
   1242     AllowedValues?: AllowedValues;
   1243   }
   1244   export type ParameterKey = string;
   1245   export type ParameterType = string;
   1246   export type ParameterValue = string;
   1247   export type PortfolioDescription = string;
   1248   export interface PortfolioDetail {
   1249     /**
   1250      * The identifier for the portfolio.
   1251      */
   1252     Id?: Id;
   1253     /**
   1254      * The ARN assigned to the portfolio.
   1255      */
   1256     ARN?: ResourceARN;
   1257     /**
   1258      * The name to use for display purposes.
   1259      */
   1260     DisplayName?: PortfolioDisplayName;
   1261     /**
   1262      * The text description of the portfolio.
   1263      */
   1264     Description?: PortfolioDescription;
   1265     /**
   1266      * The UTC timestamp of the creation time.
   1267      */
   1268     CreatedTime?: CreationTime;
   1269     /**
   1270      * The name of the portfolio provider.
   1271      */
   1272     ProviderName?: ProviderName;
   1273   }
   1274   export type PortfolioDetails = PortfolioDetail[];
   1275   export type PortfolioDisplayName = string;
   1276   export type PortfolioName = string;
   1277   export interface Principal {
   1278     /**
   1279      * The ARN representing the principal (IAM user, role, or group).
   1280      */
   1281     PrincipalARN?: PrincipalARN;
   1282     /**
   1283      * The principal type. Must be IAM 
   1284      */
   1285     PrincipalType?: PrincipalType;
   1286   }
   1287   export type PrincipalARN = string;
   1288   export type PrincipalType = "IAM"|string;
   1289   export type Principals = Principal[];
   1290   export type ProductSource = "ACCOUNT"|string;
   1291   export type ProductType = "CLOUD_FORMATION_TEMPLATE"|string;
   1292   export type ProductViewAggregationType = string;
   1293   export interface ProductViewAggregationValue {
   1294     /**
   1295      * The value of the product view aggregation.
   1296      */
   1297     Value?: AttributeValue;
   1298     /**
   1299      * An approximate count of the products that match the value.
   1300      */
   1301     ApproximateCount?: ApproximateCount;
   1302   }
   1303   export type ProductViewAggregationValues = ProductViewAggregationValue[];
   1304   export type ProductViewAggregations = {[key: string]: ProductViewAggregationValues};
   1305   export interface ProductViewDetail {
   1306     /**
   1307      * The summary metadata about the specified product view.
   1308      */
   1309     ProductViewSummary?: ProductViewSummary;
   1310     /**
   1311      * Current status of the product.
   1312      */
   1313     Status?: Status;
   1314     /**
   1315      * The ARN associated with the product.
   1316      */
   1317     ProductARN?: ResourceARN;
   1318     /**
   1319      * The UTC timestamp of the creation time.
   1320      */
   1321     CreatedTime?: CreatedTime;
   1322   }
   1323   export type ProductViewDetails = ProductViewDetail[];
   1324   export type ProductViewDistributor = string;
   1325   export type ProductViewFilterBy = "FullTextSearch"|"Owner"|"ProductType"|string;
   1326   export type ProductViewFilterValue = string;
   1327   export type ProductViewFilterValues = ProductViewFilterValue[];
   1328   export type ProductViewFilters = {[key: string]: ProductViewFilterValues};
   1329   export type ProductViewName = string;
   1330   export type ProductViewOwner = string;
   1331   export type ProductViewShortDescription = string;
   1332   export type ProductViewSortBy = "Title"|"VersionCount"|"CreationDate"|string;
   1333   export type ProductViewSummaries = ProductViewSummary[];
   1334   export interface ProductViewSummary {
   1335     /**
   1336      * The product view identifier.
   1337      */
   1338     Id?: Id;
   1339     /**
   1340      * The product identifier.
   1341      */
   1342     ProductId?: Id;
   1343     /**
   1344      * The name of the product.
   1345      */
   1346     Name?: ProductViewName;
   1347     /**
   1348      * The owner of the product. Contact the product administrator for the significance of this value.
   1349      */
   1350     Owner?: ProductViewOwner;
   1351     /**
   1352      * Short description of the product.
   1353      */
   1354     ShortDescription?: ProductViewShortDescription;
   1355     /**
   1356      * The product type. Contact the product administrator for the significance of this value.
   1357      */
   1358     Type?: ProductType;
   1359     /**
   1360      * The distributor of the product. Contact the product administrator for the significance of this value.
   1361      */
   1362     Distributor?: ProductViewDistributor;
   1363     /**
   1364      * A value of false indicates that the product does not have a default path, while a value of true indicates that it does. If it's false, call ListLaunchPaths to disambiguate between paths. If true, ListLaunchPaths is not required, and the output of the ProductViewSummary operation can be used directly with DescribeProvisioningParameters.
   1365      */
   1366     HasDefaultPath?: HasDefaultPath;
   1367     /**
   1368      * The email contact information to obtain support for this Product.
   1369      */
   1370     SupportEmail?: SupportEmail;
   1371     /**
   1372      * The description of the support for this Product.
   1373      */
   1374     SupportDescription?: SupportDescription;
   1375     /**
   1376      * The URL information to obtain support for this Product.
   1377      */
   1378     SupportUrl?: SupportUrl;
   1379   }
   1380   export type ProviderName = string;
   1381   export interface ProvisionProductInput {
   1382     /**
   1383      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1384      */
   1385     AcceptLanguage?: AcceptLanguage;
   1386     /**
   1387      * The product identifier.
   1388      */
   1389     ProductId: Id;
   1390     /**
   1391      * The provisioning artifact identifier for this product.
   1392      */
   1393     ProvisioningArtifactId: Id;
   1394     /**
   1395      * The identifier of the path for this product's provisioning. This value is optional if the product has a default path, and is required if there is more than one path for the specified product.
   1396      */
   1397     PathId?: Id;
   1398     /**
   1399      * A user-friendly name to identify the ProvisionedProduct object. This value must be unique for the AWS account and cannot be updated after the product is provisioned.
   1400      */
   1401     ProvisionedProductName: ProvisionedProductName;
   1402     /**
   1403      * Parameters specified by the administrator that are required for provisioning the product.
   1404      */
   1405     ProvisioningParameters?: ProvisioningParameters;
   1406     /**
   1407      * A list of tags to use as provisioning options.
   1408      */
   1409     Tags?: Tags;
   1410     /**
   1411      * Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.
   1412      */
   1413     NotificationArns?: NotificationArns;
   1414     /**
   1415      * An idempotency token that uniquely identifies the provisioning request. 
   1416      */
   1417     ProvisionToken: IdempotencyToken;
   1418   }
   1419   export interface ProvisionProductOutput {
   1420     /**
   1421      * The detailed result of the ProvisionProduct request, containing the inputs made to that request, the current state of the request, a pointer to the ProvisionedProduct object of the request, and a list of any errors that the request encountered. 
   1422      */
   1423     RecordDetail?: RecordDetail;
   1424   }
   1425   export interface ProvisionedProductDetail {
   1426     /**
   1427      * The user-friendly name of the ProvisionedProduct object.
   1428      */
   1429     Name?: ProvisionedProductNameOrArn;
   1430     /**
   1431      * The ARN associated with the ProvisionedProduct object.
   1432      */
   1433     Arn?: ProvisionedProductNameOrArn;
   1434     /**
   1435      * The type of the ProvisionedProduct object.
   1436      */
   1437     Type?: ProvisionedProductType;
   1438     /**
   1439      * The identifier of the ProvisionedProduct object.
   1440      */
   1441     Id?: ProvisionedProductId;
   1442     /**
   1443      * The current status of the ProvisionedProduct.
   1444      */
   1445     Status?: RecordStatus;
   1446     /**
   1447      * The current status message of the ProvisionedProduct.
   1448      */
   1449     StatusMessage?: ProvisionedProductStatusMessage;
   1450     /**
   1451      * The UTC timestamp of the creation time.
   1452      */
   1453     CreatedTime?: CreatedTime;
   1454     /**
   1455      * A token to disambiguate duplicate requests. You can create multiple resources using the same input in multiple requests, provided that you also specify a different idempotency token for each request.
   1456      */
   1457     IdempotencyToken?: IdempotencyToken;
   1458     /**
   1459      * The record identifier of the last request performed on this ProvisionedProduct object.
   1460      */
   1461     LastRecordId?: LastRequestId;
   1462   }
   1463   export type ProvisionedProductDetails = ProvisionedProductDetail[];
   1464   export type ProvisionedProductId = string;
   1465   export type ProvisionedProductName = string;
   1466   export type ProvisionedProductNameOrArn = string;
   1467   export type ProvisionedProductStatusMessage = string;
   1468   export type ProvisionedProductType = string;
   1469   export interface ProvisioningArtifact {
   1470     /**
   1471      * The identifier for the artifact.
   1472      */
   1473     Id?: Id;
   1474     /**
   1475      * The name of the artifact.
   1476      */
   1477     Name?: ProvisioningArtifactName;
   1478     /**
   1479      * The text description of the artifact.
   1480      */
   1481     Description?: ProvisioningArtifactDescription;
   1482     /**
   1483      * The UTC timestamp of the creation time.
   1484      */
   1485     CreatedTime?: ProvisioningArtifactCreatedTime;
   1486   }
   1487   export type ProvisioningArtifactCreatedTime = Date;
   1488   export type ProvisioningArtifactDescription = string;
   1489   export interface ProvisioningArtifactDetail {
   1490     /**
   1491      * The identifier of the provisioning artifact.
   1492      */
   1493     Id?: Id;
   1494     /**
   1495      * The name assigned to the provisioning artifact.
   1496      */
   1497     Name?: ProvisioningArtifactName;
   1498     /**
   1499      * The text description of the provisioning artifact.
   1500      */
   1501     Description?: ProvisioningArtifactName;
   1502     /**
   1503      * The type of the provisioning artifact.
   1504      */
   1505     Type?: ProvisioningArtifactType;
   1506     /**
   1507      * The UTC timestamp of the creation time.
   1508      */
   1509     CreatedTime?: CreationTime;
   1510   }
   1511   export type ProvisioningArtifactDetails = ProvisioningArtifactDetail[];
   1512   export type ProvisioningArtifactInfo = {[key: string]: ProvisioningArtifactInfoValue};
   1513   export type ProvisioningArtifactInfoKey = string;
   1514   export type ProvisioningArtifactInfoValue = string;
   1515   export type ProvisioningArtifactName = string;
   1516   export interface ProvisioningArtifactParameter {
   1517     /**
   1518      * The parameter key. 
   1519      */
   1520     ParameterKey?: ParameterKey;
   1521     /**
   1522      * The default value for this parameter.
   1523      */
   1524     DefaultValue?: DefaultValue;
   1525     /**
   1526      * The parameter type.
   1527      */
   1528     ParameterType?: ParameterType;
   1529     /**
   1530      * If this value is true, the value for this parameter is obfuscated from view when the parameter is retrieved. This parameter is used to hide sensitive information.
   1531      */
   1532     IsNoEcho?: NoEcho;
   1533     /**
   1534      * The text description of the parameter.
   1535      */
   1536     Description?: Description;
   1537     /**
   1538      * The list of constraints that the administrator has put on the parameter.
   1539      */
   1540     ParameterConstraints?: ParameterConstraints;
   1541   }
   1542   export type ProvisioningArtifactParameters = ProvisioningArtifactParameter[];
   1543   export interface ProvisioningArtifactProperties {
   1544     /**
   1545      * The name assigned to the provisioning artifact properties.
   1546      */
   1547     Name?: ProvisioningArtifactName;
   1548     /**
   1549      * The text description of the provisioning artifact properties.
   1550      */
   1551     Description?: ProvisioningArtifactDescription;
   1552     /**
   1553      * Additional information about the provisioning artifact properties.
   1554      */
   1555     Info: ProvisioningArtifactInfo;
   1556     /**
   1557      * The type of the provisioning artifact properties.
   1558      */
   1559     Type?: ProvisioningArtifactType;
   1560   }
   1561   export type ProvisioningArtifactType = "CLOUD_FORMATION_TEMPLATE"|string;
   1562   export type ProvisioningArtifacts = ProvisioningArtifact[];
   1563   export interface ProvisioningParameter {
   1564     /**
   1565      * The ProvisioningArtifactParameter.ParameterKey parameter from DescribeProvisioningParameters.
   1566      */
   1567     Key?: ParameterKey;
   1568     /**
   1569      * The value to use for provisioning. Any constraints on this value can be found in ProvisioningArtifactParameter for Key.
   1570      */
   1571     Value?: ParameterValue;
   1572   }
   1573   export type ProvisioningParameters = ProvisioningParameter[];
   1574   export interface RecordDetail {
   1575     /**
   1576      * The identifier of the ProvisionedProduct object record.
   1577      */
   1578     RecordId?: Id;
   1579     /**
   1580      * The user-friendly name of the ProvisionedProduct object.
   1581      */
   1582     ProvisionedProductName?: ProvisionedProductName;
   1583     /**
   1584      * The status of the ProvisionedProduct object.
   1585      */
   1586     Status?: RecordStatus;
   1587     /**
   1588      * The UTC timestamp of the creation time.
   1589      */
   1590     CreatedTime?: CreatedTime;
   1591     /**
   1592      * The time when the record for the ProvisionedProduct object was last updated.
   1593      */
   1594     UpdatedTime?: UpdatedTime;
   1595     /**
   1596      * The type of the ProvisionedProduct object.
   1597      */
   1598     ProvisionedProductType?: ProvisionedProductType;
   1599     /**
   1600      * The record type for this record.
   1601      */
   1602     RecordType?: RecordType;
   1603     /**
   1604      * The identifier of the ProvisionedProduct object.
   1605      */
   1606     ProvisionedProductId?: Id;
   1607     /**
   1608      * The product identifier.
   1609      */
   1610     ProductId?: Id;
   1611     /**
   1612      * The provisioning artifact identifier for this product.
   1613      */
   1614     ProvisioningArtifactId?: Id;
   1615     /**
   1616      * The identifier of the path for this product's provisioning.
   1617      */
   1618     PathId?: Id;
   1619     /**
   1620      * A list of errors that occurred while processing the request.
   1621      */
   1622     RecordErrors?: RecordErrors;
   1623     /**
   1624      * List of tags associated with this record.
   1625      */
   1626     RecordTags?: RecordTags;
   1627   }
   1628   export type RecordDetails = RecordDetail[];
   1629   export interface RecordError {
   1630     /**
   1631      * The numeric value of the error.
   1632      */
   1633     Code?: ErrorCode;
   1634     /**
   1635      * The text description of the error.
   1636      */
   1637     Description?: ErrorDescription;
   1638   }
   1639   export type RecordErrors = RecordError[];
   1640   export interface RecordOutput {
   1641     /**
   1642      * The output key.
   1643      */
   1644     OutputKey?: OutputKey;
   1645     /**
   1646      * The output value.
   1647      */
   1648     OutputValue?: OutputValue;
   1649     /**
   1650      * The text description of the output.
   1651      */
   1652     Description?: Description;
   1653   }
   1654   export type RecordOutputs = RecordOutput[];
   1655   export type RecordStatus = "IN_PROGRESS"|"SUCCEEDED"|"ERROR"|string;
   1656   export interface RecordTag {
   1657     /**
   1658      * The key for this tag.
   1659      */
   1660     Key?: RecordTagKey;
   1661     /**
   1662      * The value for this tag.
   1663      */
   1664     Value?: RecordTagValue;
   1665   }
   1666   export type RecordTagKey = string;
   1667   export type RecordTagValue = string;
   1668   export type RecordTags = RecordTag[];
   1669   export type RecordType = string;
   1670   export interface RejectPortfolioShareInput {
   1671     /**
   1672      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1673      */
   1674     AcceptLanguage?: AcceptLanguage;
   1675     /**
   1676      * The portfolio identifier.
   1677      */
   1678     PortfolioId: Id;
   1679   }
   1680   export interface RejectPortfolioShareOutput {
   1681   }
   1682   export type ResourceARN = string;
   1683   export interface ScanProvisionedProductsInput {
   1684     /**
   1685      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1686      */
   1687     AcceptLanguage?: AcceptLanguage;
   1688     /**
   1689      * The access level for obtaining results. If left unspecified, User level access is used.
   1690      */
   1691     AccessLevelFilter?: AccessLevelFilter;
   1692     /**
   1693      * The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.
   1694      */
   1695     PageSize?: PageSize;
   1696     /**
   1697      * The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.
   1698      */
   1699     PageToken?: PageToken;
   1700   }
   1701   export interface ScanProvisionedProductsOutput {
   1702     /**
   1703      * A list of ProvisionedProduct detail objects.
   1704      */
   1705     ProvisionedProducts?: ProvisionedProductDetails;
   1706     /**
   1707      * The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
   1708      */
   1709     NextPageToken?: PageToken;
   1710   }
   1711   export type SearchFilterKey = string;
   1712   export type SearchFilterValue = string;
   1713   export interface SearchProductsAsAdminInput {
   1714     /**
   1715      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1716      */
   1717     AcceptLanguage?: AcceptLanguage;
   1718     /**
   1719      * The portfolio identifier.
   1720      */
   1721     PortfolioId?: Id;
   1722     /**
   1723      * The list of filters with which to limit search results. If no search filters are specified, the output is all the products to which the administrator has access.
   1724      */
   1725     Filters?: ProductViewFilters;
   1726     /**
   1727      * The sort field specifier. If no value is specified, results are not sorted.
   1728      */
   1729     SortBy?: ProductViewSortBy;
   1730     /**
   1731      * The sort order specifier. If no value is specified, results are not sorted.
   1732      */
   1733     SortOrder?: SortOrder;
   1734     /**
   1735      * The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.
   1736      */
   1737     PageToken?: PageToken;
   1738     /**
   1739      * The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.
   1740      */
   1741     PageSize?: PageSize;
   1742     /**
   1743      * Access level of the source of the product.
   1744      */
   1745     ProductSource?: ProductSource;
   1746   }
   1747   export interface SearchProductsAsAdminOutput {
   1748     /**
   1749      * List of detailed product view information objects.
   1750      */
   1751     ProductViewDetails?: ProductViewDetails;
   1752     /**
   1753      * The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
   1754      */
   1755     NextPageToken?: PageToken;
   1756   }
   1757   export interface SearchProductsInput {
   1758     /**
   1759      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1760      */
   1761     AcceptLanguage?: AcceptLanguage;
   1762     /**
   1763      * The list of filters with which to limit search results. If no search filters are specified, the output is all the products to which the calling user has access. 
   1764      */
   1765     Filters?: ProductViewFilters;
   1766     /**
   1767      * The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.
   1768      */
   1769     PageSize?: PageSize;
   1770     /**
   1771      * The sort field specifier. If no value is specified, results are not sorted.
   1772      */
   1773     SortBy?: ProductViewSortBy;
   1774     /**
   1775      * The sort order specifier. If no value is specified, results are not sorted.
   1776      */
   1777     SortOrder?: SortOrder;
   1778     /**
   1779      * The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.
   1780      */
   1781     PageToken?: PageToken;
   1782   }
   1783   export interface SearchProductsOutput {
   1784     /**
   1785      * A list of the product view summary objects.
   1786      */
   1787     ProductViewSummaries?: ProductViewSummaries;
   1788     /**
   1789      * A list of the product view aggregation value objects.
   1790      */
   1791     ProductViewAggregations?: ProductViewAggregations;
   1792     /**
   1793      * The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
   1794      */
   1795     NextPageToken?: PageToken;
   1796   }
   1797   export type SortOrder = "ASCENDING"|"DESCENDING"|string;
   1798   export type Status = "AVAILABLE"|"CREATING"|"FAILED"|string;
   1799   export type SupportDescription = string;
   1800   export type SupportEmail = string;
   1801   export type SupportUrl = string;
   1802   export interface Tag {
   1803     /**
   1804      * The ProvisioningArtifactParameter.TagKey parameter from DescribeProvisioningParameters.
   1805      */
   1806     Key: TagKey;
   1807     /**
   1808      * The esired value for this key.
   1809      */
   1810     Value: TagValue;
   1811   }
   1812   export type TagKey = string;
   1813   export type TagKeys = TagKey[];
   1814   export type TagValue = string;
   1815   export type Tags = Tag[];
   1816   export interface TerminateProvisionedProductInput {
   1817     /**
   1818      * The name of the ProvisionedProduct object to terminate. You must specify either ProvisionedProductName or ProvisionedProductId, but not both.
   1819      */
   1820     ProvisionedProductName?: ProvisionedProductNameOrArn;
   1821     /**
   1822      * The identifier of the ProvisionedProduct object to terminate. You must specify either ProvisionedProductName or ProvisionedProductId, but not both.
   1823      */
   1824     ProvisionedProductId?: Id;
   1825     /**
   1826      * An idempotency token that uniquely identifies the termination request. This token is only valid during the termination process. After the ProvisionedProduct object is terminated, further requests to terminate the same ProvisionedProduct object always return ResourceNotFound regardless of the value of TerminateToken.
   1827      */
   1828     TerminateToken: IdempotencyToken;
   1829     /**
   1830      * If set to true, AWS Service Catalog stops managing the specified ProvisionedProduct object even if it cannot delete the underlying resources.
   1831      */
   1832     IgnoreErrors?: IgnoreErrors;
   1833     /**
   1834      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1835      */
   1836     AcceptLanguage?: AcceptLanguage;
   1837   }
   1838   export interface TerminateProvisionedProductOutput {
   1839     /**
   1840      * The detailed result of the TerminateProvisionedProduct request, containing the inputs made to that request, the current state of the request, a pointer to the ProvisionedProduct object that the request is modifying, and a list of any errors that the request encountered.
   1841      */
   1842     RecordDetail?: RecordDetail;
   1843   }
   1844   export interface UpdateConstraintInput {
   1845     /**
   1846      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1847      */
   1848     AcceptLanguage?: AcceptLanguage;
   1849     /**
   1850      * The identifier of the constraint to update.
   1851      */
   1852     Id: Id;
   1853     /**
   1854      * The updated text description of the constraint.
   1855      */
   1856     Description?: ConstraintDescription;
   1857   }
   1858   export interface UpdateConstraintOutput {
   1859     /**
   1860      * The resulting detailed constraint information.
   1861      */
   1862     ConstraintDetail?: ConstraintDetail;
   1863     /**
   1864      * The resulting updated constraint parameters.
   1865      */
   1866     ConstraintParameters?: ConstraintParameters;
   1867     /**
   1868      * The status of the current request.
   1869      */
   1870     Status?: Status;
   1871   }
   1872   export interface UpdatePortfolioInput {
   1873     /**
   1874      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1875      */
   1876     AcceptLanguage?: AcceptLanguage;
   1877     /**
   1878      * The identifier of the portfolio for the update request.
   1879      */
   1880     Id: Id;
   1881     /**
   1882      * The name to use for display purposes.
   1883      */
   1884     DisplayName?: PortfolioDisplayName;
   1885     /**
   1886      * The updated text description of the portfolio.
   1887      */
   1888     Description?: PortfolioDescription;
   1889     /**
   1890      * The updated name of the portfolio provider.
   1891      */
   1892     ProviderName?: ProviderName;
   1893     /**
   1894      * Tags to add to the existing list of tags associated with the portfolio.
   1895      */
   1896     AddTags?: AddTags;
   1897     /**
   1898      * Tags to remove from the existing list of tags associated with the portfolio.
   1899      */
   1900     RemoveTags?: TagKeys;
   1901   }
   1902   export interface UpdatePortfolioOutput {
   1903     /**
   1904      * The resulting detailed portfolio information.
   1905      */
   1906     PortfolioDetail?: PortfolioDetail;
   1907     /**
   1908      * Tags associated with the portfolio.
   1909      */
   1910     Tags?: Tags;
   1911   }
   1912   export interface UpdateProductInput {
   1913     /**
   1914      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1915      */
   1916     AcceptLanguage?: AcceptLanguage;
   1917     /**
   1918      * The identifier of the product for the update request.
   1919      */
   1920     Id: Id;
   1921     /**
   1922      * The updated product name.
   1923      */
   1924     Name?: ProductViewName;
   1925     /**
   1926      * The updated owner of the product.
   1927      */
   1928     Owner?: ProductViewOwner;
   1929     /**
   1930      * The updated text description of the product.
   1931      */
   1932     Description?: ProductViewShortDescription;
   1933     /**
   1934      * The updated distributor of the product.
   1935      */
   1936     Distributor?: ProductViewOwner;
   1937     /**
   1938      * The updated support description for the product.
   1939      */
   1940     SupportDescription?: SupportDescription;
   1941     /**
   1942      * The updated support email for the product.
   1943      */
   1944     SupportEmail?: SupportEmail;
   1945     /**
   1946      * The updated support URL for the product.
   1947      */
   1948     SupportUrl?: SupportUrl;
   1949     /**
   1950      * Tags to add to the existing list of tags associated with the product.
   1951      */
   1952     AddTags?: AddTags;
   1953     /**
   1954      * Tags to remove from the existing list of tags associated with the product.
   1955      */
   1956     RemoveTags?: TagKeys;
   1957   }
   1958   export interface UpdateProductOutput {
   1959     /**
   1960      * The resulting detailed product view information.
   1961      */
   1962     ProductViewDetail?: ProductViewDetail;
   1963     /**
   1964      * Tags associated with the product.
   1965      */
   1966     Tags?: Tags;
   1967   }
   1968   export interface UpdateProvisionedProductInput {
   1969     /**
   1970      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   1971      */
   1972     AcceptLanguage?: AcceptLanguage;
   1973     /**
   1974      * The updated name of the ProvisionedProduct object . You must specify either ProvisionedProductName or ProvisionedProductId, but not both.
   1975      */
   1976     ProvisionedProductName?: ProvisionedProductNameOrArn;
   1977     /**
   1978      * The identifier of the ProvisionedProduct object to update. You must specify either ProvisionedProductName or ProvisionedProductId, but not both.
   1979      */
   1980     ProvisionedProductId?: Id;
   1981     /**
   1982      * The identifier of the ProvisionedProduct object.
   1983      */
   1984     ProductId?: Id;
   1985     /**
   1986      * The provisioning artifact identifier for this product.
   1987      */
   1988     ProvisioningArtifactId?: Id;
   1989     /**
   1990      * The identifier of the path to use in the updated ProvisionedProduct object. This value is optional if the product has a default path, and is required if there is more than one path for the specified product.
   1991      */
   1992     PathId?: Id;
   1993     /**
   1994      * A list of ProvisioningParameter objects used to update the ProvisionedProduct object.
   1995      */
   1996     ProvisioningParameters?: UpdateProvisioningParameters;
   1997     /**
   1998      * The idempotency token that uniquely identifies the provisioning update request.
   1999      */
   2000     UpdateToken: IdempotencyToken;
   2001   }
   2002   export interface UpdateProvisionedProductOutput {
   2003     /**
   2004      * The detailed result of the UpdateProvisionedProduct request, containing the inputs made to that request, the current state of the request, a pointer to the ProvisionedProduct object that the request is modifying, and a list of any errors that the request encountered.
   2005      */
   2006     RecordDetail?: RecordDetail;
   2007   }
   2008   export interface UpdateProvisioningArtifactInput {
   2009     /**
   2010      * The language code to use for this operation. Supported language codes are as follows: "en" (English) "jp" (Japanese) "zh" (Chinese) If no code is specified, "en" is used as the default.
   2011      */
   2012     AcceptLanguage?: AcceptLanguage;
   2013     /**
   2014      * The product identifier.
   2015      */
   2016     ProductId: Id;
   2017     /**
   2018      * The identifier of the provisioning artifact for the update request.
   2019      */
   2020     ProvisioningArtifactId: Id;
   2021     /**
   2022      * The updated name of the provisioning artifact.
   2023      */
   2024     Name?: ProvisioningArtifactName;
   2025     /**
   2026      * The updated text description of the provisioning artifact.
   2027      */
   2028     Description?: ProvisioningArtifactDescription;
   2029   }
   2030   export interface UpdateProvisioningArtifactOutput {
   2031     /**
   2032      * The resulting detailed provisioning artifact information.
   2033      */
   2034     ProvisioningArtifactDetail?: ProvisioningArtifactDetail;
   2035     /**
   2036      * Additional information about the provisioning artifact update request.
   2037      */
   2038     Info?: ProvisioningArtifactInfo;
   2039     /**
   2040      * The status of the current request.
   2041      */
   2042     Status?: Status;
   2043   }
   2044   export interface UpdateProvisioningParameter {
   2045     /**
   2046      * The ProvisioningArtifactParameter.ParameterKey parameter from DescribeProvisioningParameters.
   2047      */
   2048     Key?: ParameterKey;
   2049     /**
   2050      * The value to use for updating the product provisioning. Any constraints on this value can be found in the ProvisioningArtifactParameter parameter for Key.
   2051      */
   2052     Value?: ParameterValue;
   2053     /**
   2054      * If true, uses the currently set value for Key, ignoring UpdateProvisioningParameter.Value.
   2055      */
   2056     UsePreviousValue?: UsePreviousValue;
   2057   }
   2058   export type UpdateProvisioningParameters = UpdateProvisioningParameter[];
   2059   export type UpdatedTime = Date;
   2060   export interface UsageInstruction {
   2061     /**
   2062      * The usage instruction type for the value.
   2063      */
   2064     Type?: InstructionType;
   2065     /**
   2066      * The usage instruction value for this type.
   2067      */
   2068     Value?: InstructionValue;
   2069   }
   2070   export type UsageInstructions = UsageInstruction[];
   2071   export type UsePreviousValue = boolean;
   2072   /**
   2073    * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
   2074    */
   2075   export type apiVersion = "2015-12-10"|"latest"|string;
   2076   export interface ClientApiVersions {
   2077     /**
   2078      * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
   2079      */
   2080     apiVersion?: apiVersion;
   2081   }
   2082   export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
   2083 }
   2084 export = ServiceCatalog;