import * as core from "@terrascript/core"; export interface FiltersArgs extends core.SchemaArgs { field: string | core.StringOut; value: string | core.StringOut; } export class Filters extends core.Schema { @core.attr(String) public field!: string | core.StringOut; @core.attr(String) public value!: string | core.StringOut; } export interface DsProductArgs { /** * (Required) A list of filters. Passed directly to the API (see GetProducts API reference). These filt * ers must describe a single product, this resource will fail if more than one product is returned by * the API. */ filters: core.Array | core.ArrayOut; /** * (Required) The code of the service. Available service codes can be fetched using the DescribeService * s pricing API call. */ serviceCode: string | core.StringOut; } export class DsProduct extends core.Data { /** * (Required) A list of filters. Passed directly to the API (see GetProducts API reference). These filt * ers must describe a single product, this resource will fail if more than one product is returned by * the API. */ @core.attr(Filters, { kind: "array" }) public filters!: core.Array | core.ArrayOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * Set to the product returned from the API. */ @core.attr(String, { computed: true }) public result!: string | core.StringOut; /** * (Required) The code of the service. Available service codes can be fetched using the DescribeService * s pricing API call. */ @core.attr(String) public serviceCode!: string | core.StringOut; constructor(name: string, args?: DsProductArgs) { super(name, "aws_pricing_product", args); } public override getNamespace(): string { return "aws_pricing"; } }