import java.security.InvalidParameterException;

public interface Sample {
    /**
     * <p>
     * Returns a list of attribute values. Attributes are similar to the details in a Price List API offer file. For a
     * list of available attributes, see <a
     * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/reading-an-offer.html#pps-defs">Offer File
     * Definitions</a> in the <a
     * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-what-is.html">Billing and Cost
     * Management User Guide</a>.
     * </p>
     *
     * @param getAttributeValuesRequest
     * @return Result of the GetAttributeValues operation returned by the service.
     * @throws InvalidParameterException One or more parameters had an invalid value.
     * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/pricing-2017-10-15/GetAttributeValues" target="_top">AWS API
     * Documentation</a>
     */
    GetAttributeValuesResult getAttributeValues(GetAttributeValuesRequest getAttributeValuesRequest);

    /**
     * <p>
     * <i> <b>This feature is in preview release and is subject to change. Your use of Amazon Web Services Price List
     * API is subject to the Beta Service Participation terms of the <a
     * href="https://aws.amazon.com/service-terms/">Amazon Web Services Service Terms</a> (Section 1.10).</b> </i>
     * </p>
     * <p>
     * This returns the URL that you can retrieve your Price List file from. This URL is based on the
     * <code>PriceListArn</code> and <code>FileFormat</code> that you retrieve from the <a
     * href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_ListPriceLists.html"
     * >ListPriceLists</a> response.
     * </p>
     *
     * @param getPriceListFileUrlRequest
     * @return Result of the GetPriceListFileUrl operation returned by the service.
     * @throws InvalidParameterException One or more parameters had an invalid value.
     * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/pricing-2017-10-15/GetPriceListFileUrl" target="_top">AWS
     * API Documentation</a>
     */
    GetPriceListFileUrlResult getPriceListFileUrl(GetPriceListFileUrlRequest getPriceListFileUrlRequest);

    /**
     * <p>
     * Returns a list of all products that match the filter criteria.
     * </p>
     *
     * @param getProductsRequest
     * @return Result of the GetProducts operation returned by the service.
     * @throws InvalidParameterException One or more parameters had an invalid value.
     * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/pricing-2017-10-15/GetProducts" target="_top">AWS API
     * Documentation</a>
     */
    GetProductsResult getProducts(GetProductsRequest getProductsRequest);

    class GetAttributeValuesResult {
    }

    class GetAttributeValuesRequest {
    }

    class GetPriceListFileUrlResult {
    }

    class GetPriceListFileUrlRequest {
    }

    class GetProductsResult {
    }

    class GetProductsRequest {
    }
}