All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.pricing.inputs.GetProductPlainArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.pricing.inputs;

import com.pulumi.aws.pricing.inputs.GetProductFilter;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;


public final class GetProductPlainArgs extends com.pulumi.resources.InvokeArgs {

    public static final GetProductPlainArgs Empty = new GetProductPlainArgs();

    /**
     * List of filters. Passed directly to the API (see GetProducts API reference). These filters must describe a single product, this resource will fail if more than one product is returned by the API.
     * 
     */
    @Import(name="filters", required=true)
    private List filters;

    /**
     * @return List of filters. Passed directly to the API (see GetProducts API reference). These filters must describe a single product, this resource will fail if more than one product is returned by the API.
     * 
     */
    public List filters() {
        return this.filters;
    }

    /**
     * Code of the service. Available service codes can be fetched using the DescribeServices pricing API call.
     * 
     */
    @Import(name="serviceCode", required=true)
    private String serviceCode;

    /**
     * @return Code of the service. Available service codes can be fetched using the DescribeServices pricing API call.
     * 
     */
    public String serviceCode() {
        return this.serviceCode;
    }

    private GetProductPlainArgs() {}

    private GetProductPlainArgs(GetProductPlainArgs $) {
        this.filters = $.filters;
        this.serviceCode = $.serviceCode;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(GetProductPlainArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private GetProductPlainArgs $;

        public Builder() {
            $ = new GetProductPlainArgs();
        }

        public Builder(GetProductPlainArgs defaults) {
            $ = new GetProductPlainArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param filters List of filters. Passed directly to the API (see GetProducts API reference). These filters must describe a single product, this resource will fail if more than one product is returned by the API.
         * 
         * @return builder
         * 
         */
        public Builder filters(List filters) {
            $.filters = filters;
            return this;
        }

        /**
         * @param filters List of filters. Passed directly to the API (see GetProducts API reference). These filters must describe a single product, this resource will fail if more than one product is returned by the API.
         * 
         * @return builder
         * 
         */
        public Builder filters(GetProductFilter... filters) {
            return filters(List.of(filters));
        }

        /**
         * @param serviceCode Code of the service. Available service codes can be fetched using the DescribeServices pricing API call.
         * 
         * @return builder
         * 
         */
        public Builder serviceCode(String serviceCode) {
            $.serviceCode = serviceCode;
            return this;
        }

        public GetProductPlainArgs build() {
            if ($.filters == null) {
                throw new MissingRequiredPropertyException("GetProductPlainArgs", "filters");
            }
            if ($.serviceCode == null) {
                throw new MissingRequiredPropertyException("GetProductPlainArgs", "serviceCode");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy