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

com.pulumi.meraki.organizations.inputs.GetDevicesAvailabilitiesArgs Maven / Gradle / Ivy

There is a newer version: 0.4.0-alpha.1731736975
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.meraki.organizations.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final GetDevicesAvailabilitiesArgs Empty = new GetDevicesAvailabilitiesArgs();

    /**
     * endingBefore query parameter. A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
     * 
     */
    @Import(name="endingBefore")
    private @Nullable Output endingBefore;

    /**
     * @return endingBefore query parameter. A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
     * 
     */
    public Optional> endingBefore() {
        return Optional.ofNullable(this.endingBefore);
    }

    /**
     * networkIds query parameter. Optional parameter to filter device availabilities by network ID. This filter uses multiple exact matches.
     * 
     */
    @Import(name="networkIds")
    private @Nullable Output> networkIds;

    /**
     * @return networkIds query parameter. Optional parameter to filter device availabilities by network ID. This filter uses multiple exact matches.
     * 
     */
    public Optional>> networkIds() {
        return Optional.ofNullable(this.networkIds);
    }

    /**
     * organizationId path parameter. Organization ID
     * 
     */
    @Import(name="organizationId", required=true)
    private Output organizationId;

    /**
     * @return organizationId path parameter. Organization ID
     * 
     */
    public Output organizationId() {
        return this.organizationId;
    }

    /**
     * perPage query parameter. The number of entries per page returned. Acceptable range is 3 1000. Default is 1000.
     * 
     */
    @Import(name="perPage")
    private @Nullable Output perPage;

    /**
     * @return perPage query parameter. The number of entries per page returned. Acceptable range is 3 1000. Default is 1000.
     * 
     */
    public Optional> perPage() {
        return Optional.ofNullable(this.perPage);
    }

    /**
     * productTypes query parameter. Optional parameter to filter device availabilities by device product types. This filter uses multiple exact matches.
     * 
     */
    @Import(name="productTypes")
    private @Nullable Output> productTypes;

    /**
     * @return productTypes query parameter. Optional parameter to filter device availabilities by device product types. This filter uses multiple exact matches.
     * 
     */
    public Optional>> productTypes() {
        return Optional.ofNullable(this.productTypes);
    }

    /**
     * serials query parameter. Optional parameter to filter device availabilities by device serial numbers. This filter uses multiple exact matches.
     * 
     */
    @Import(name="serials")
    private @Nullable Output> serials;

    /**
     * @return serials query parameter. Optional parameter to filter device availabilities by device serial numbers. This filter uses multiple exact matches.
     * 
     */
    public Optional>> serials() {
        return Optional.ofNullable(this.serials);
    }

    /**
     * startingAfter query parameter. A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
     * 
     */
    @Import(name="startingAfter")
    private @Nullable Output startingAfter;

    /**
     * @return startingAfter query parameter. A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
     * 
     */
    public Optional> startingAfter() {
        return Optional.ofNullable(this.startingAfter);
    }

    /**
     * tags query parameter. An optional parameter to filter devices by tags. The filtering is case-sensitive. If tags are included, 'tagsFilterType' should also be included (see below). This filter uses multiple exact matches.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return tags query parameter. An optional parameter to filter devices by tags. The filtering is case-sensitive. If tags are included, 'tagsFilterType' should also be included (see below). This filter uses multiple exact matches.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * tagsFilterType query parameter. An optional parameter of value 'withAnyTags' or 'withAllTags' to indicate whether to return devices which contain ANY or ALL of the included tags. If no type is included, 'withAnyTags' will be selected.
     * 
     */
    @Import(name="tagsFilterType")
    private @Nullable Output tagsFilterType;

    /**
     * @return tagsFilterType query parameter. An optional parameter of value 'withAnyTags' or 'withAllTags' to indicate whether to return devices which contain ANY or ALL of the included tags. If no type is included, 'withAnyTags' will be selected.
     * 
     */
    public Optional> tagsFilterType() {
        return Optional.ofNullable(this.tagsFilterType);
    }

    private GetDevicesAvailabilitiesArgs() {}

    private GetDevicesAvailabilitiesArgs(GetDevicesAvailabilitiesArgs $) {
        this.endingBefore = $.endingBefore;
        this.networkIds = $.networkIds;
        this.organizationId = $.organizationId;
        this.perPage = $.perPage;
        this.productTypes = $.productTypes;
        this.serials = $.serials;
        this.startingAfter = $.startingAfter;
        this.tags = $.tags;
        this.tagsFilterType = $.tagsFilterType;
    }

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

    public static final class Builder {
        private GetDevicesAvailabilitiesArgs $;

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

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

        /**
         * @param endingBefore endingBefore query parameter. A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
         * 
         * @return builder
         * 
         */
        public Builder endingBefore(@Nullable Output endingBefore) {
            $.endingBefore = endingBefore;
            return this;
        }

        /**
         * @param endingBefore endingBefore query parameter. A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
         * 
         * @return builder
         * 
         */
        public Builder endingBefore(String endingBefore) {
            return endingBefore(Output.of(endingBefore));
        }

        /**
         * @param networkIds networkIds query parameter. Optional parameter to filter device availabilities by network ID. This filter uses multiple exact matches.
         * 
         * @return builder
         * 
         */
        public Builder networkIds(@Nullable Output> networkIds) {
            $.networkIds = networkIds;
            return this;
        }

        /**
         * @param networkIds networkIds query parameter. Optional parameter to filter device availabilities by network ID. This filter uses multiple exact matches.
         * 
         * @return builder
         * 
         */
        public Builder networkIds(List networkIds) {
            return networkIds(Output.of(networkIds));
        }

        /**
         * @param networkIds networkIds query parameter. Optional parameter to filter device availabilities by network ID. This filter uses multiple exact matches.
         * 
         * @return builder
         * 
         */
        public Builder networkIds(String... networkIds) {
            return networkIds(List.of(networkIds));
        }

        /**
         * @param organizationId organizationId path parameter. Organization ID
         * 
         * @return builder
         * 
         */
        public Builder organizationId(Output organizationId) {
            $.organizationId = organizationId;
            return this;
        }

        /**
         * @param organizationId organizationId path parameter. Organization ID
         * 
         * @return builder
         * 
         */
        public Builder organizationId(String organizationId) {
            return organizationId(Output.of(organizationId));
        }

        /**
         * @param perPage perPage query parameter. The number of entries per page returned. Acceptable range is 3 1000. Default is 1000.
         * 
         * @return builder
         * 
         */
        public Builder perPage(@Nullable Output perPage) {
            $.perPage = perPage;
            return this;
        }

        /**
         * @param perPage perPage query parameter. The number of entries per page returned. Acceptable range is 3 1000. Default is 1000.
         * 
         * @return builder
         * 
         */
        public Builder perPage(Integer perPage) {
            return perPage(Output.of(perPage));
        }

        /**
         * @param productTypes productTypes query parameter. Optional parameter to filter device availabilities by device product types. This filter uses multiple exact matches.
         * 
         * @return builder
         * 
         */
        public Builder productTypes(@Nullable Output> productTypes) {
            $.productTypes = productTypes;
            return this;
        }

        /**
         * @param productTypes productTypes query parameter. Optional parameter to filter device availabilities by device product types. This filter uses multiple exact matches.
         * 
         * @return builder
         * 
         */
        public Builder productTypes(List productTypes) {
            return productTypes(Output.of(productTypes));
        }

        /**
         * @param productTypes productTypes query parameter. Optional parameter to filter device availabilities by device product types. This filter uses multiple exact matches.
         * 
         * @return builder
         * 
         */
        public Builder productTypes(String... productTypes) {
            return productTypes(List.of(productTypes));
        }

        /**
         * @param serials serials query parameter. Optional parameter to filter device availabilities by device serial numbers. This filter uses multiple exact matches.
         * 
         * @return builder
         * 
         */
        public Builder serials(@Nullable Output> serials) {
            $.serials = serials;
            return this;
        }

        /**
         * @param serials serials query parameter. Optional parameter to filter device availabilities by device serial numbers. This filter uses multiple exact matches.
         * 
         * @return builder
         * 
         */
        public Builder serials(List serials) {
            return serials(Output.of(serials));
        }

        /**
         * @param serials serials query parameter. Optional parameter to filter device availabilities by device serial numbers. This filter uses multiple exact matches.
         * 
         * @return builder
         * 
         */
        public Builder serials(String... serials) {
            return serials(List.of(serials));
        }

        /**
         * @param startingAfter startingAfter query parameter. A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
         * 
         * @return builder
         * 
         */
        public Builder startingAfter(@Nullable Output startingAfter) {
            $.startingAfter = startingAfter;
            return this;
        }

        /**
         * @param startingAfter startingAfter query parameter. A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it.
         * 
         * @return builder
         * 
         */
        public Builder startingAfter(String startingAfter) {
            return startingAfter(Output.of(startingAfter));
        }

        /**
         * @param tags tags query parameter. An optional parameter to filter devices by tags. The filtering is case-sensitive. If tags are included, 'tagsFilterType' should also be included (see below). This filter uses multiple exact matches.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags tags query parameter. An optional parameter to filter devices by tags. The filtering is case-sensitive. If tags are included, 'tagsFilterType' should also be included (see below). This filter uses multiple exact matches.
         * 
         * @return builder
         * 
         */
        public Builder tags(List tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tags tags query parameter. An optional parameter to filter devices by tags. The filtering is case-sensitive. If tags are included, 'tagsFilterType' should also be included (see below). This filter uses multiple exact matches.
         * 
         * @return builder
         * 
         */
        public Builder tags(String... tags) {
            return tags(List.of(tags));
        }

        /**
         * @param tagsFilterType tagsFilterType query parameter. An optional parameter of value 'withAnyTags' or 'withAllTags' to indicate whether to return devices which contain ANY or ALL of the included tags. If no type is included, 'withAnyTags' will be selected.
         * 
         * @return builder
         * 
         */
        public Builder tagsFilterType(@Nullable Output tagsFilterType) {
            $.tagsFilterType = tagsFilterType;
            return this;
        }

        /**
         * @param tagsFilterType tagsFilterType query parameter. An optional parameter of value 'withAnyTags' or 'withAllTags' to indicate whether to return devices which contain ANY or ALL of the included tags. If no type is included, 'withAnyTags' will be selected.
         * 
         * @return builder
         * 
         */
        public Builder tagsFilterType(String tagsFilterType) {
            return tagsFilterType(Output.of(tagsFilterType));
        }

        public GetDevicesAvailabilitiesArgs build() {
            if ($.organizationId == null) {
                throw new MissingRequiredPropertyException("GetDevicesAvailabilitiesArgs", "organizationId");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy