{
  "version": "2.0",
  "service": "<fullname>AWS Service Catalog</fullname> <p> <b>Overview</b> </p> <p> <a href=\"https://aws.amazon.com/servicecatalog/\">AWS Service Catalog</a> allows organizations to create and manage catalogs of IT services that are approved for use on AWS. This documentation provides reference material for the AWS Service Catalog end user API. To get the most out of this documentation, you need to be familiar with the terminology discussed in <a href=\"http://docs.aws.amazon.com/servicecatalog/latest/userguide/what-is_concepts.html\">AWS Service Catalog Concepts</a>.</p> <p> <i>Additional Resources</i> </p> <ul> <li> <p> <a href=\"http://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html\">AWS Service Catalog Administrator Guide</a> </p> </li> <li> <p> <a href=\"http://docs.aws.amazon.com/servicecatalog/latest/userguide/introduction.html\">AWS Service Catalog User Guide</a> </p> </li> </ul>",
  "operations": {
    "DescribeProduct": "<p>Retrieves information about a specified product.</p> <p>This operation is functionally identical to <a>DescribeProductView</a> except that it takes as input <code>ProductId</code> instead of <code>ProductViewId</code>.</p>",
    "DescribeProductView": "<p>Retrieves information about a specified product.</p> <p>This operation is functionally identical to <a>DescribeProduct</a> except that it takes as input <code>ProductViewId</code> instead of <code>ProductId</code>.</p>",
    "DescribeProvisioningParameters": "<p>Provides information about parameters required to provision a specified product in a specified manner. Use this operation to obtain the list of <code>ProvisioningArtifactParameters</code> parameters available to call the <a>ProvisionProduct</a> operation for the specified product.</p>",
    "DescribeRecord": "<p>Retrieves a paginated list of the full details of a specific request. Use this operation after calling a request operation (<a>ProvisionProduct</a>, <a>TerminateProvisionedProduct</a>, or <a>UpdateProvisionedProduct</a>). </p>",
    "ListLaunchPaths": "<p>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.</p>",
    "ListRecordHistory": "<p>Returns a paginated list of all performed requests, in the form of RecordDetails objects that are filtered as specified.</p>",
    "ProvisionProduct": "<p>Requests a <i>Provision</i> of a specified product. A <i>ProvisionedProduct</i> 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. </p> <p>You can check the status of this request using the <a>DescribeRecord</a> operation.</p>",
    "ScanProvisionedProducts": "<p>Returns a paginated list of all the ProvisionedProduct objects that are currently available (not terminated). </p>",
    "SearchProducts": "<p>Returns a paginated list all of the <code>Products</code> objects to which the caller has access. </p> <p>The output of this operation can be used as input for other operations, such as <a>DescribeProductView</a>.</p>",
    "TerminateProvisionedProduct": "<p>Requests termination of an existing ProvisionedProduct object. If there are <code>Tags</code> associated with the object, they are terminated when the ProvisionedProduct object is terminated. </p> <p>This operation does not delete any records associated with the ProvisionedProduct object.</p> <p>You can check the status of this request using the <a>DescribeRecord</a> operation.</p>",
    "UpdateProvisionedProduct": "<p>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. </p> <p>You can check the status of this request using the <a>DescribeRecord</a> operation.</p>"
  },
  "shapes": {
    "AcceptLanguage": {
      "base": null,
      "refs": {
        "DescribeProductInput$AcceptLanguage": "<p>The language code to use for this operation. Supported language codes are as follows:</p> <p>\"en\" (English)</p> <p>\"jp\" (Japanese)</p> <p>\"zh\" (Chinese)</p> <p>If no code is specified, \"en\" is used as the default.</p>",
        "DescribeProductViewInput$AcceptLanguage": "<p>The language code to use for this operation. Supported language codes are as follows:</p> <p>\"en\" (English)</p> <p>\"jp\" (Japanese)</p> <p>\"zh\" (Chinese)</p> <p>If no code is specified, \"en\" is used as the default.</p>",
        "DescribeProvisioningParametersInput$AcceptLanguage": "<p>The language code to use for this operation. Supported language codes are as follows:</p> <p>\"en\" (English)</p> <p>\"jp\" (Japanese)</p> <p>\"zh\" (Chinese)</p> <p>If no code is specified, \"en\" is used as the default.</p>",
        "DescribeRecordInput$AcceptLanguage": "<p>The language code to use for this operation. Supported language codes are as follows:</p> <p>\"en\" (English)</p> <p>\"jp\" (Japanese)</p> <p>\"zh\" (Chinese)</p> <p>If no code is specified, \"en\" is used as the default.</p>",
        "ListLaunchPathsInput$AcceptLanguage": "<p>The language code to use for this operation. Supported language codes are as follows:</p> <p>\"en\" (English)</p> <p>\"jp\" (Japanese)</p> <p>\"zh\" (Chinese)</p> <p>If no code is specified, \"en\" is used as the default.</p>",
        "ListRecordHistoryInput$AcceptLanguage": "<p>The language code to use for this operation. Supported language codes are as follows:</p> <p>\"en\" (English)</p> <p>\"jp\" (Japanese)</p> <p>\"zh\" (Chinese)</p> <p>If no code is specified, \"en\" is used as the default.</p>",
        "ProvisionProductInput$AcceptLanguage": "<p>The language code to use for this operation. Supported language codes are as follows:</p> <p>\"en\" (English)</p> <p>\"jp\" (Japanese)</p> <p>\"zh\" (Chinese)</p> <p>If no code is specified, \"en\" is used as the default.</p>",
        "ScanProvisionedProductsInput$AcceptLanguage": "<p>The language code to use for this operation. Supported language codes are as follows:</p> <p>\"en\" (English)</p> <p>\"jp\" (Japanese)</p> <p>\"zh\" (Chinese)</p> <p>If no code is specified, \"en\" is used as the default.</p>",
        "SearchProductsInput$AcceptLanguage": "<p>The language code to use for this operation. Supported language codes are as follows:</p> <p>\"en\" (English)</p> <p>\"jp\" (Japanese)</p> <p>\"zh\" (Chinese)</p> <p>If no code is specified, \"en\" is used as the default.</p>",
        "TerminateProvisionedProductInput$AcceptLanguage": "<p>The language code to use for this operation. Supported language codes are as follows:</p> <p>\"en\" (English)</p> <p>\"jp\" (Japanese)</p> <p>\"zh\" (Chinese)</p> <p>If no code is specified, \"en\" is used as the default.</p>",
        "UpdateProvisionedProductInput$AcceptLanguage": "<p>The language code to use for this operation. Supported language codes are as follows:</p> <p>\"en\" (English)</p> <p>\"jp\" (Japanese)</p> <p>\"zh\" (Chinese)</p> <p>If no code is specified, \"en\" is used as the default.</p>"
      }
    },
    "AccessLevelFilter": {
      "base": "<p>The access level to limit results.</p>",
      "refs": {
        "ListRecordHistoryInput$AccessLevelFilter": "<p>The access level for obtaining results. If left unspecified, <code>User</code> level access is used.</p>",
        "ScanProvisionedProductsInput$AccessLevelFilter": "<p>The access level for obtaining results. If left unspecified, <code>User</code> level access is used.</p>"
      }
    },
    "AccessLevelFilterKey": {
      "base": null,
      "refs": {
        "AccessLevelFilter$Key": "<p>Specifies the access level.</p> <p> <code>Account</code> allows results at the account level. </p> <p> <code>Role</code> allows results based on the federated role of the specified user.</p> <p> <code>User</code> allows results limited to the specified user. </p>"
      }
    },
    "AccessLevelFilterValue": {
      "base": null,
      "refs": {
        "AccessLevelFilter$Value": "<p>Specifies the user to which the access level applies. A value of <code>Self</code> is currently supported.</p>"
      }
    },
    "AllowedValue": {
      "base": null,
      "refs": {
        "AllowedValues$member": null
      }
    },
    "AllowedValues": {
      "base": null,
      "refs": {
        "ParameterConstraints$AllowedValues": "<p>The values that the administrator has allowed for the parameter.</p>"
      }
    },
    "ApproximateCount": {
      "base": null,
      "refs": {
        "ProductViewAggregationValue$ApproximateCount": "<p>An approximate count of the products that match the value.</p>"
      }
    },
    "AttributeValue": {
      "base": null,
      "refs": {
        "ProductViewAggregationValue$Value": "<p>The value of the product view aggregation.</p>"
      }
    },
    "ConstraintDescription": {
      "base": null,
      "refs": {
        "ConstraintSummary$Description": "<p>The text description of the constraint.</p>"
      }
    },
    "ConstraintSummaries": {
      "base": null,
      "refs": {
        "DescribeProvisioningParametersOutput$ConstraintSummaries": "<p>The list of constraint summaries that apply to provisioning this product.</p>",
        "LaunchPathSummary$ConstraintSummaries": "<p>List of constraints on the portfolio-product relationship.</p>"
      }
    },
    "ConstraintSummary": {
      "base": "<p>An administrator-specified constraint to apply when provisioning a product.</p>",
      "refs": {
        "ConstraintSummaries$member": null
      }
    },
    "ConstraintType": {
      "base": null,
      "refs": {
        "ConstraintSummary$Type": "<p>The type of the constraint. </p>"
      }
    },
    "CreatedTime": {
      "base": null,
      "refs": {
        "ProvisionedProductDetail$CreatedTime": "<p>The time the ProvisionedProduct was created.</p>",
        "RecordDetail$CreatedTime": "<p>The time when the record for the ProvisionedProduct object was created.</p>"
      }
    },
    "DefaultValue": {
      "base": null,
      "refs": {
        "ProvisioningArtifactParameter$DefaultValue": "<p>The default value for this parameter.</p>"
      }
    },
    "DescribeProductInput": {
      "base": null,
      "refs": {
      }
    },
    "DescribeProductOutput": {
      "base": null,
      "refs": {
      }
    },
    "DescribeProductViewInput": {
      "base": null,
      "refs": {
      }
    },
    "DescribeProductViewOutput": {
      "base": null,
      "refs": {
      }
    },
    "DescribeProvisioningParametersInput": {
      "base": null,
      "refs": {
      }
    },
    "DescribeProvisioningParametersOutput": {
      "base": null,
      "refs": {
      }
    },
    "DescribeRecordInput": {
      "base": null,
      "refs": {
      }
    },
    "DescribeRecordOutput": {
      "base": null,
      "refs": {
      }
    },
    "Description": {
      "base": null,
      "refs": {
        "ProvisioningArtifactParameter$Description": "<p>The text description of the parameter.</p>",
        "RecordOutput$Description": "<p>The text description of the output.</p>"
      }
    },
    "DuplicateResourceException": {
      "base": "<p>The specified resource is a duplicate.</p>",
      "refs": {
      }
    },
    "ErrorCode": {
      "base": null,
      "refs": {
        "RecordError$Code": "<p>The numeric value of the error.</p>"
      }
    },
    "ErrorDescription": {
      "base": null,
      "refs": {
        "RecordError$Description": "<p>The text description of the error.</p>"
      }
    },
    "HasDefaultPath": {
      "base": null,
      "refs": {
        "ProductViewSummary$HasDefaultPath": "<p>A value of <code>false</code> indicates that the product does not have a default path, while a value of <code>true</code> indicates that it does. If it's false, call <a>ListLaunchPaths</a> to disambiguate between paths. If true, <a>ListLaunchPaths</a> is not required, and the output of the <a>ProductViewSummary</a> operation can be used directly with <a>DescribeProvisioningParameters</a>.</p>"
      }
    },
    "Id": {
      "base": null,
      "refs": {
        "DescribeProductInput$Id": "<p>The <code>ProductId</code> of the product to describe.</p>",
        "DescribeProductViewInput$Id": "<p>The <code>ProductViewId</code> of the product to describe.</p>",
        "DescribeProvisioningParametersInput$ProductId": "<p>The identifier of the product.</p>",
        "DescribeProvisioningParametersInput$ProvisioningArtifactId": "<p>The provisioning artifact identifier for this product.</p>",
        "DescribeProvisioningParametersInput$PathId": "<p>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.</p>",
        "DescribeRecordInput$Id": "<p>The record identifier of the ProvisionedProduct object for which to retrieve output information. This is the <code>RecordDetail.RecordId</code> obtained from the request operation's response.</p>",
        "LaunchPathSummary$Id": "<p>The unique identifier of the product path.</p>",
        "ListLaunchPathsInput$ProductId": "<p>Identifies the product for which to retrieve <code>LaunchPathSummaries</code> information.</p>",
        "ProductViewSummary$Id": "<p>The product view identifier.</p>",
        "ProductViewSummary$ProductId": "<p>The product identifier.</p>",
        "ProvisionProductInput$ProductId": "<p>The identifier of the product.</p>",
        "ProvisionProductInput$ProvisioningArtifactId": "<p>The provisioning artifact identifier for this product.</p>",
        "ProvisionProductInput$PathId": "<p>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.</p>",
        "ProvisioningArtifact$Id": "<p>The identifier for the artifact.</p>",
        "RecordDetail$RecordId": "<p>The identifier of the ProvisionedProduct object record.</p>",
        "RecordDetail$ProvisionedProductId": "<p>The identifier of the ProvisionedProduct object.</p>",
        "RecordDetail$ProductId": "<p>The identifier of the product.</p>",
        "RecordDetail$ProvisioningArtifactId": "<p>The provisioning artifact identifier for this product.</p>",
        "RecordDetail$PathId": "<p>The identifier of the path for this product's provisioning.</p>",
        "TerminateProvisionedProductInput$ProvisionedProductId": "<p>The identifier of the ProvisionedProduct object to terminate. You must specify either <code>ProvisionedProductName</code> or <code>ProvisionedProductId</code>, but not both.</p>",
        "UpdateProvisionedProductInput$ProvisionedProductId": "<p>The identifier of the ProvisionedProduct object to update. You must specify either <code>ProvisionedProductName</code> or <code>ProvisionedProductId</code>, but not both.</p>",
        "UpdateProvisionedProductInput$ProductId": "<p>The identifier of the ProvisionedProduct object.</p>",
        "UpdateProvisionedProductInput$ProvisioningArtifactId": "<p>The provisioning artifact identifier for this product.</p>",
        "UpdateProvisionedProductInput$PathId": "<p>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.</p>"
      }
    },
    "IdempotencyToken": {
      "base": null,
      "refs": {
        "ProvisionProductInput$ProvisionToken": "<p>An idempotency token that uniquely identifies the provisioning request. </p>",
        "ProvisionedProductDetail$IdempotencyToken": "<p>An idempotency token that uniquely identifies this ProvisionedProduct.</p>",
        "TerminateProvisionedProductInput$TerminateToken": "<p>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 <b>ResourceNotFound</b> regardless of the value of <code>TerminateToken</code>.</p>",
        "UpdateProvisionedProductInput$UpdateToken": "<p>The idempotency token that uniquely identifies the provisioning update request.</p>"
      }
    },
    "IgnoreErrors": {
      "base": null,
      "refs": {
        "TerminateProvisionedProductInput$IgnoreErrors": "<p>If set to true, AWS Service Catalog stops managing the specified ProvisionedProduct object even if it cannot delete the underlying resources.</p>"
      }
    },
    "InstructionType": {
      "base": null,
      "refs": {
        "UsageInstruction$Type": "<p>The usage instruction type for the value.</p>"
      }
    },
    "InstructionValue": {
      "base": null,
      "refs": {
        "UsageInstruction$Value": "<p>The usage instruction value for this type.</p>"
      }
    },
    "InvalidParametersException": {
      "base": "<p>One or more parameters provided to the operation are invalid.</p>",
      "refs": {
      }
    },
    "LastRequestId": {
      "base": null,
      "refs": {
        "ProvisionedProductDetail$LastRecordId": "<p>The record identifier of the last request performed on this ProvisionedProduct object.</p>"
      }
    },
    "LaunchPathSummaries": {
      "base": null,
      "refs": {
        "ListLaunchPathsOutput$LaunchPathSummaries": "<p>List of launch path information summaries for the specified <code>PageToken</code>.</p>"
      }
    },
    "LaunchPathSummary": {
      "base": "<p>Summary information about a path for a user to have access to a specified product.</p>",
      "refs": {
        "LaunchPathSummaries$member": null
      }
    },
    "ListLaunchPathsInput": {
      "base": null,
      "refs": {
      }
    },
    "ListLaunchPathsOutput": {
      "base": null,
      "refs": {
      }
    },
    "ListRecordHistoryInput": {
      "base": null,
      "refs": {
      }
    },
    "ListRecordHistoryOutput": {
      "base": null,
      "refs": {
      }
    },
    "ListRecordHistorySearchFilter": {
      "base": "<p>The search filter to limit results when listing request history records.</p>",
      "refs": {
        "ListRecordHistoryInput$SearchFilter": "<p>The filter to limit search results. </p>"
      }
    },
    "NoEcho": {
      "base": null,
      "refs": {
        "ProvisioningArtifactParameter$IsNoEcho": "<p>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.</p>"
      }
    },
    "NotificationArn": {
      "base": null,
      "refs": {
        "NotificationArns$member": null
      }
    },
    "NotificationArns": {
      "base": null,
      "refs": {
        "ProvisionProductInput$NotificationArns": "<p>Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.</p>"
      }
    },
    "OutputKey": {
      "base": null,
      "refs": {
        "RecordOutput$OutputKey": "<p>The output key.</p>"
      }
    },
    "OutputValue": {
      "base": null,
      "refs": {
        "RecordOutput$OutputValue": "<p>The output value.</p>"
      }
    },
    "PageSize": {
      "base": null,
      "refs": {
        "DescribeRecordInput$PageSize": "<p>The maximum number of items to return in the results. If more results exist than fit in the specified <code>PageSize</code>, the value of <code>NextPageToken</code> in the response is non-null.</p>",
        "ListLaunchPathsInput$PageSize": "<p>The maximum number of items to return in the results. If more results exist than fit in the specified <code>PageSize</code>, the value of <code>NextPageToken</code> in the response is non-null.</p>",
        "ListRecordHistoryInput$PageSize": "<p>The maximum number of items to return in the results. If more results exist than fit in the specified <code>PageSize</code>, the value of <code>NextPageToken</code> in the response is non-null.</p>",
        "ScanProvisionedProductsInput$PageSize": "<p>The maximum number of items to return in the results. If more results exist than fit in the specified <code>PageSize</code>, the value of <code>NextPageToken</code> in the response is non-null.</p>",
        "SearchProductsInput$PageSize": "<p>The maximum number of items to return in the results. If more results exist than fit in the specified <code>PageSize</code>, the value of <code>NextPageToken</code> in the response is non-null.</p>"
      }
    },
    "PageToken": {
      "base": null,
      "refs": {
        "DescribeRecordInput$PageToken": "<p>The page token of the first page retrieved. If null, this retrieves the first page of size <code>PageSize</code>.</p>",
        "DescribeRecordOutput$NextPageToken": "<p>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.</p>",
        "ListLaunchPathsInput$PageToken": "<p>The page token of the first page retrieved. If null, this retrieves the first page of size <code>PageSize</code>.</p>",
        "ListLaunchPathsOutput$NextPageToken": "<p>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.</p>",
        "ListRecordHistoryInput$PageToken": "<p>The page token of the first page retrieved. If null, this retrieves the first page of size <code>PageSize</code>.</p>",
        "ListRecordHistoryOutput$NextPageToken": "<p>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.</p>",
        "ScanProvisionedProductsInput$PageToken": "<p>The page token of the first page retrieved. If null, this retrieves the first page of size <code>PageSize</code>.</p>",
        "ScanProvisionedProductsOutput$NextPageToken": "<p>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.</p>",
        "SearchProductsInput$PageToken": "<p>The page token of the first page retrieved. If null, this retrieves the first page of size <code>PageSize</code>.</p>",
        "SearchProductsOutput$NextPageToken": "<p>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.</p>"
      }
    },
    "ParameterConstraints": {
      "base": "<p>The constraints that the administrator has put on the parameter.</p>",
      "refs": {
        "ProvisioningArtifactParameter$ParameterConstraints": "<p>The list of constraints that the administrator has put on the parameter.</p>"
      }
    },
    "ParameterKey": {
      "base": null,
      "refs": {
        "ProvisioningArtifactParameter$ParameterKey": "<p>The parameter key. </p>",
        "ProvisioningParameter$Key": "<p>The <code>ProvisioningArtifactParameter.ParameterKey</code> parameter from <a>DescribeProvisioningParameters</a>.</p>",
        "UpdateProvisioningParameter$Key": "<p>The <code>ProvisioningArtifactParameter.ParameterKey</code> parameter from <a>DescribeProvisioningParameters</a>.</p>"
      }
    },
    "ParameterType": {
      "base": null,
      "refs": {
        "ProvisioningArtifactParameter$ParameterType": "<p>The parameter type.</p>"
      }
    },
    "ParameterValue": {
      "base": null,
      "refs": {
        "ProvisioningParameter$Value": "<p>The value to use for provisioning. Any constraints on this value can be found in <code>ProvisioningArtifactParameter</code> for <code>Key</code>.</p>",
        "UpdateProvisioningParameter$Value": "<p>The value to use for updating the product provisioning. Any constraints on this value can be found in the <code>ProvisioningArtifactParameter</code> parameter for <code>Key</code>.</p>"
      }
    },
    "PortfolioName": {
      "base": null,
      "refs": {
        "LaunchPathSummary$Name": "<p>Corresponds to the name of the portfolio to which the user was assigned.</p>"
      }
    },
    "ProductType": {
      "base": null,
      "refs": {
        "ProductViewSummary$Type": "<p>The product type. Contact the product administrator for the significance of this value.</p>"
      }
    },
    "ProductViewAggregationType": {
      "base": null,
      "refs": {
        "ProductViewAggregations$key": null
      }
    },
    "ProductViewAggregationValue": {
      "base": "<p>A single product view aggregation value/count pair, containing metadata about each product to which the calling user has access.</p>",
      "refs": {
        "ProductViewAggregationValues$member": null
      }
    },
    "ProductViewAggregationValues": {
      "base": null,
      "refs": {
        "ProductViewAggregations$value": null
      }
    },
    "ProductViewAggregations": {
      "base": null,
      "refs": {
        "SearchProductsOutput$ProductViewAggregations": "<p>A list of the product view aggregation value objects.</p>"
      }
    },
    "ProductViewDistributor": {
      "base": null,
      "refs": {
        "ProductViewSummary$Distributor": "<p>The distributor of the product. Contact the product administrator for the significance of this value.</p>"
      }
    },
    "ProductViewFilterBy": {
      "base": null,
      "refs": {
        "ProductViewFilters$key": null
      }
    },
    "ProductViewFilterValue": {
      "base": null,
      "refs": {
        "ProductViewFilterValues$member": null
      }
    },
    "ProductViewFilterValues": {
      "base": null,
      "refs": {
        "ProductViewFilters$value": null
      }
    },
    "ProductViewFilters": {
      "base": null,
      "refs": {
        "SearchProductsInput$Filters": "<p>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. </p>"
      }
    },
    "ProductViewName": {
      "base": null,
      "refs": {
        "ProductViewSummary$Name": "<p>The name of the product.</p>"
      }
    },
    "ProductViewOwner": {
      "base": null,
      "refs": {
        "ProductViewSummary$Owner": "<p>The owner of the product. Contact the product administrator for the significance of this value.</p>"
      }
    },
    "ProductViewShortDescription": {
      "base": null,
      "refs": {
        "ProductViewSummary$ShortDescription": "<p>Short description of the product.</p>"
      }
    },
    "ProductViewSortBy": {
      "base": null,
      "refs": {
        "SearchProductsInput$SortBy": "<p>The sort field specifier. If no value is specified, results are not sorted.</p>"
      }
    },
    "ProductViewSummaries": {
      "base": null,
      "refs": {
        "SearchProductsOutput$ProductViewSummaries": "<p>A list of the product view summary objects.</p>"
      }
    },
    "ProductViewSummary": {
      "base": "<p>The summary metadata about the specified product.</p>",
      "refs": {
        "DescribeProductOutput$ProductViewSummary": "<p>The summary metadata about the specified product.</p>",
        "DescribeProductViewOutput$ProductViewSummary": "<p>The summary metadata about the specified product.</p>",
        "ProductViewSummaries$member": null
      }
    },
    "ProvisionProductInput": {
      "base": null,
      "refs": {
      }
    },
    "ProvisionProductOutput": {
      "base": null,
      "refs": {
      }
    },
    "ProvisionedProductDetail": {
      "base": "<p>Detailed information about a ProvisionedProduct object.</p>",
      "refs": {
        "ProvisionedProductDetails$member": null
      }
    },
    "ProvisionedProductDetails": {
      "base": null,
      "refs": {
        "ScanProvisionedProductsOutput$ProvisionedProducts": "<p>A list of ProvisionedProduct detail objects.</p>"
      }
    },
    "ProvisionedProductId": {
      "base": null,
      "refs": {
        "ProvisionedProductDetail$Id": "<p>The identifier of the ProvisionedProduct object.</p>"
      }
    },
    "ProvisionedProductName": {
      "base": null,
      "refs": {
        "ProvisionProductInput$ProvisionedProductName": "<p>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.</p>",
        "RecordDetail$ProvisionedProductName": "<p>The user-friendly name of the ProvisionedProduct object.</p>"
      }
    },
    "ProvisionedProductNameOrArn": {
      "base": null,
      "refs": {
        "ProvisionedProductDetail$Name": "<p>The user-friendly name of the ProvisionedProduct object.</p>",
        "ProvisionedProductDetail$Arn": "<p>The ARN associated with the ProvisionedProduct object.</p>",
        "TerminateProvisionedProductInput$ProvisionedProductName": "<p>The name of the ProvisionedProduct object to terminate. You must specify either <code>ProvisionedProductName</code> or <code>ProvisionedProductId</code>, but not both.</p>",
        "UpdateProvisionedProductInput$ProvisionedProductName": "<p>The updated name of the ProvisionedProduct object . You must specify either <code>ProvisionedProductName</code> or <code>ProvisionedProductId</code>, but not both.</p>"
      }
    },
    "ProvisionedProductStatusMessage": {
      "base": null,
      "refs": {
        "ProvisionedProductDetail$StatusMessage": "<p>The current status message of the ProvisionedProduct.</p>"
      }
    },
    "ProvisionedProductType": {
      "base": null,
      "refs": {
        "ProvisionedProductDetail$Type": "<p>The type of the ProvisionedProduct object.</p>",
        "RecordDetail$ProvisionedProductType": "<p>The type of the ProvisionedProduct object.</p>"
      }
    },
    "ProvisioningArtifact": {
      "base": "<p>Contains information indicating the ways in which a product can be provisioned.</p>",
      "refs": {
        "ProvisioningArtifacts$member": null
      }
    },
    "ProvisioningArtifactCreatedTime": {
      "base": null,
      "refs": {
        "ProvisioningArtifact$CreatedTime": "<p>The time that the artifact was created by the Administrator.</p>"
      }
    },
    "ProvisioningArtifactDescription": {
      "base": null,
      "refs": {
        "ProvisioningArtifact$Description": "<p>The text description of the artifact.</p>"
      }
    },
    "ProvisioningArtifactName": {
      "base": null,
      "refs": {
        "ProvisioningArtifact$Name": "<p>The name of the artifact.</p>"
      }
    },
    "ProvisioningArtifactParameter": {
      "base": "<p>A parameter used to successfully provision the product. This value includes a list of allowable values and additional metadata. </p>",
      "refs": {
        "ProvisioningArtifactParameters$member": null
      }
    },
    "ProvisioningArtifactParameters": {
      "base": null,
      "refs": {
        "DescribeProvisioningParametersOutput$ProvisioningArtifactParameters": "<p>The list of parameters used to successfully provision the product. Each parameter includes a list of allowable values and additional metadata about each parameter.</p>"
      }
    },
    "ProvisioningArtifacts": {
      "base": null,
      "refs": {
        "DescribeProductOutput$ProvisioningArtifacts": "<p>A list of provisioning artifact objects for the specified product. The <code>ProvisioningArtifacts</code> parameter represent the ways the specified product can be provisioned.</p>",
        "DescribeProductViewOutput$ProvisioningArtifacts": "<p>A list of provisioning artifact objects for the specified product. The <code>ProvisioningArtifacts</code> represent the ways in which the specified product can be provisioned.</p>"
      }
    },
    "ProvisioningParameter": {
      "base": "<p>The arameter key/value pairs used to provision a product.</p>",
      "refs": {
        "ProvisioningParameters$member": null
      }
    },
    "ProvisioningParameters": {
      "base": null,
      "refs": {
        "ProvisionProductInput$ProvisioningParameters": "<p>Parameters specified by the administrator that are required for provisioning the product.</p>"
      }
    },
    "RecordDetail": {
      "base": "<p>The full details of a specific ProvisionedProduct object.</p>",
      "refs": {
        "DescribeRecordOutput$RecordDetail": "<p>Detailed record information for the specified product. </p>",
        "ProvisionProductOutput$RecordDetail": "<p>The detailed result of the <a>ProvisionProduct</a> 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. </p>",
        "RecordDetails$member": null,
        "TerminateProvisionedProductOutput$RecordDetail": "<p>The detailed result of the <a>TerminateProvisionedProduct</a> 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.</p>",
        "UpdateProvisionedProductOutput$RecordDetail": "<p>The detailed result of the <a>UpdateProvisionedProduct</a> 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.</p>"
      }
    },
    "RecordDetails": {
      "base": null,
      "refs": {
        "ListRecordHistoryOutput$RecordDetails": "<p>A list of record detail objects, listed in reverse chronological order.</p>"
      }
    },
    "RecordError": {
      "base": "<p>The error code and description resulting from an operation.</p>",
      "refs": {
        "RecordErrors$member": null
      }
    },
    "RecordErrors": {
      "base": null,
      "refs": {
        "RecordDetail$RecordErrors": "<p>A list of errors that occurred while processing the request.</p>"
      }
    },
    "RecordOutput": {
      "base": "<p>An output 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.</p>",
      "refs": {
        "RecordOutputs$member": null
      }
    },
    "RecordOutputs": {
      "base": null,
      "refs": {
        "DescribeRecordOutput$RecordOutputs": "<p>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.</p>"
      }
    },
    "RecordStatus": {
      "base": null,
      "refs": {
        "ProvisionedProductDetail$Status": "<p>The current status of the ProvisionedProduct.</p>",
        "RecordDetail$Status": "<p>The status of the ProvisionedProduct object.</p>"
      }
    },
    "RecordTag": {
      "base": "<p>A tag associated with the record, stored as a key-value pair.</p>",
      "refs": {
        "RecordTags$member": null
      }
    },
    "RecordTagKey": {
      "base": null,
      "refs": {
        "RecordTag$Key": "<p>The key for this tag.</p>"
      }
    },
    "RecordTagValue": {
      "base": null,
      "refs": {
        "RecordTag$Value": "<p>The value for this tag.</p>"
      }
    },
    "RecordTags": {
      "base": null,
      "refs": {
        "RecordDetail$RecordTags": "<p>List of tags associated with this record.</p>"
      }
    },
    "RecordType": {
      "base": null,
      "refs": {
        "RecordDetail$RecordType": "<p>The record type for this record.</p>"
      }
    },
    "ResourceNotFoundException": {
      "base": "<p>The specified resource was not found.</p>",
      "refs": {
      }
    },
    "ScanProvisionedProductsInput": {
      "base": null,
      "refs": {
      }
    },
    "ScanProvisionedProductsOutput": {
      "base": null,
      "refs": {
      }
    },
    "SearchFilterKey": {
      "base": null,
      "refs": {
        "ListRecordHistorySearchFilter$Key": "<p>The filter key.</p>"
      }
    },
    "SearchFilterValue": {
      "base": null,
      "refs": {
        "ListRecordHistorySearchFilter$Value": "<p>The filter value for <code>Key</code>.</p>"
      }
    },
    "SearchProductsInput": {
      "base": null,
      "refs": {
      }
    },
    "SearchProductsOutput": {
      "base": null,
      "refs": {
      }
    },
    "SortOrder": {
      "base": null,
      "refs": {
        "SearchProductsInput$SortOrder": "<p>The sort order specifier. If no value is specified, results are not sorted.</p>"
      }
    },
    "SupportDescription": {
      "base": null,
      "refs": {
        "ProductViewSummary$SupportDescription": "<p>The description of the support for this Product.</p>"
      }
    },
    "SupportEmail": {
      "base": null,
      "refs": {
        "ProductViewSummary$SupportEmail": "<p>The email contact information to obtain support for this Product.</p>"
      }
    },
    "SupportUrl": {
      "base": null,
      "refs": {
        "ProductViewSummary$SupportUrl": "<p>The URL information to obtain support for this Product.</p>"
      }
    },
    "Tag": {
      "base": "<p>Key/value pairs to associate with this provisioning. These tags are entirely discretionary and are propagated to the resources created in the provisioning.</p>",
      "refs": {
        "Tags$member": null
      }
    },
    "TagKey": {
      "base": null,
      "refs": {
        "Tag$Key": "<p>The <code>ProvisioningArtifactParameter.TagKey</code> parameter from <a>DescribeProvisioningParameters</a>.</p>"
      }
    },
    "TagValue": {
      "base": null,
      "refs": {
        "Tag$Value": "<p>The esired value for this key.</p>"
      }
    },
    "Tags": {
      "base": null,
      "refs": {
        "LaunchPathSummary$Tags": "<p>List of tags used by this launch path.</p>",
        "ProvisionProductInput$Tags": "<p>A list of tags to use as provisioning options.</p>"
      }
    },
    "TerminateProvisionedProductInput": {
      "base": null,
      "refs": {
      }
    },
    "TerminateProvisionedProductOutput": {
      "base": null,
      "refs": {
      }
    },
    "UpdateProvisionedProductInput": {
      "base": null,
      "refs": {
      }
    },
    "UpdateProvisionedProductOutput": {
      "base": null,
      "refs": {
      }
    },
    "UpdateProvisioningParameter": {
      "base": "<p>The parameter key/value pair used to update a ProvisionedProduct object. If <code>UsePreviousValue</code> is set to true, <code>Value</code> is ignored and the value for <code>Key</code> is kept as previously set (current value).</p>",
      "refs": {
        "UpdateProvisioningParameters$member": null
      }
    },
    "UpdateProvisioningParameters": {
      "base": null,
      "refs": {
        "UpdateProvisionedProductInput$ProvisioningParameters": "<p>A list of <code>ProvisioningParameter</code> objects used to update the ProvisionedProduct object.</p>"
      }
    },
    "UpdatedTime": {
      "base": null,
      "refs": {
        "RecordDetail$UpdatedTime": "<p>The time when the record for the ProvisionedProduct object was last updated.</p>"
      }
    },
    "UsageInstruction": {
      "base": "<p>Additional information provided by the administrator.</p>",
      "refs": {
        "UsageInstructions$member": null
      }
    },
    "UsageInstructions": {
      "base": null,
      "refs": {
        "DescribeProvisioningParametersOutput$UsageInstructions": "<p>Any additional metadata specifically related to the provisioning of the product. For example, see the <code>Version</code> field of the CloudFormation template.</p>"
      }
    },
    "UsePreviousValue": {
      "base": null,
      "refs": {
        "UpdateProvisioningParameter$UsePreviousValue": "<p>If true, uses the currently set value for <code>Key</code>, ignoring <code>UpdateProvisioningParameter.Value</code>.</p>"
      }
    }
  }
}
