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

com.pulumi.meraki.organizations.CameraRolesArgs 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;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import com.pulumi.meraki.organizations.inputs.CameraRolesAppliedOnDeviceArgs;
import com.pulumi.meraki.organizations.inputs.CameraRolesAppliedOnNetworkArgs;
import com.pulumi.meraki.organizations.inputs.CameraRolesAppliedOrgWideArgs;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class CameraRolesArgs extends com.pulumi.resources.ResourceArgs {

    public static final CameraRolesArgs Empty = new CameraRolesArgs();

    /**
     * Device tag on which this specified permission is applied.
     * 
     */
    @Import(name="appliedOnDevices")
    private @Nullable Output> appliedOnDevices;

    /**
     * @return Device tag on which this specified permission is applied.
     * 
     */
    public Optional>> appliedOnDevices() {
        return Optional.ofNullable(this.appliedOnDevices);
    }

    /**
     * Network tag on which this specified permission is applied.
     * 
     */
    @Import(name="appliedOnNetworks")
    private @Nullable Output> appliedOnNetworks;

    /**
     * @return Network tag on which this specified permission is applied.
     * 
     */
    public Optional>> appliedOnNetworks() {
        return Optional.ofNullable(this.appliedOnNetworks);
    }

    /**
     * Permissions to be applied org wide.
     * 
     */
    @Import(name="appliedOrgWides")
    private @Nullable Output> appliedOrgWides;

    /**
     * @return Permissions to be applied org wide.
     * 
     */
    public Optional>> appliedOrgWides() {
        return Optional.ofNullable(this.appliedOrgWides);
    }

    /**
     * The name of the new role. Must be unique. This parameter is required.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the new role. Must be unique. This parameter is required.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * 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;
    }

    /**
     * roleId path parameter. Role ID
     * 
     */
    @Import(name="roleId")
    private @Nullable Output roleId;

    /**
     * @return roleId path parameter. Role ID
     * 
     */
    public Optional> roleId() {
        return Optional.ofNullable(this.roleId);
    }

    private CameraRolesArgs() {}

    private CameraRolesArgs(CameraRolesArgs $) {
        this.appliedOnDevices = $.appliedOnDevices;
        this.appliedOnNetworks = $.appliedOnNetworks;
        this.appliedOrgWides = $.appliedOrgWides;
        this.name = $.name;
        this.organizationId = $.organizationId;
        this.roleId = $.roleId;
    }

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

    public static final class Builder {
        private CameraRolesArgs $;

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

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

        /**
         * @param appliedOnDevices Device tag on which this specified permission is applied.
         * 
         * @return builder
         * 
         */
        public Builder appliedOnDevices(@Nullable Output> appliedOnDevices) {
            $.appliedOnDevices = appliedOnDevices;
            return this;
        }

        /**
         * @param appliedOnDevices Device tag on which this specified permission is applied.
         * 
         * @return builder
         * 
         */
        public Builder appliedOnDevices(List appliedOnDevices) {
            return appliedOnDevices(Output.of(appliedOnDevices));
        }

        /**
         * @param appliedOnDevices Device tag on which this specified permission is applied.
         * 
         * @return builder
         * 
         */
        public Builder appliedOnDevices(CameraRolesAppliedOnDeviceArgs... appliedOnDevices) {
            return appliedOnDevices(List.of(appliedOnDevices));
        }

        /**
         * @param appliedOnNetworks Network tag on which this specified permission is applied.
         * 
         * @return builder
         * 
         */
        public Builder appliedOnNetworks(@Nullable Output> appliedOnNetworks) {
            $.appliedOnNetworks = appliedOnNetworks;
            return this;
        }

        /**
         * @param appliedOnNetworks Network tag on which this specified permission is applied.
         * 
         * @return builder
         * 
         */
        public Builder appliedOnNetworks(List appliedOnNetworks) {
            return appliedOnNetworks(Output.of(appliedOnNetworks));
        }

        /**
         * @param appliedOnNetworks Network tag on which this specified permission is applied.
         * 
         * @return builder
         * 
         */
        public Builder appliedOnNetworks(CameraRolesAppliedOnNetworkArgs... appliedOnNetworks) {
            return appliedOnNetworks(List.of(appliedOnNetworks));
        }

        /**
         * @param appliedOrgWides Permissions to be applied org wide.
         * 
         * @return builder
         * 
         */
        public Builder appliedOrgWides(@Nullable Output> appliedOrgWides) {
            $.appliedOrgWides = appliedOrgWides;
            return this;
        }

        /**
         * @param appliedOrgWides Permissions to be applied org wide.
         * 
         * @return builder
         * 
         */
        public Builder appliedOrgWides(List appliedOrgWides) {
            return appliedOrgWides(Output.of(appliedOrgWides));
        }

        /**
         * @param appliedOrgWides Permissions to be applied org wide.
         * 
         * @return builder
         * 
         */
        public Builder appliedOrgWides(CameraRolesAppliedOrgWideArgs... appliedOrgWides) {
            return appliedOrgWides(List.of(appliedOrgWides));
        }

        /**
         * @param name The name of the new role. Must be unique. This parameter is required.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of the new role. Must be unique. This parameter is required.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @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 roleId roleId path parameter. Role ID
         * 
         * @return builder
         * 
         */
        public Builder roleId(@Nullable Output roleId) {
            $.roleId = roleId;
            return this;
        }

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

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy