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

com.pulumi.azure.iot.inputs.SharedAccessPolicyState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.azure.iot.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final SharedAccessPolicyState Empty = new SharedAccessPolicyState();

    /**
     * Adds `DeviceConnect` permission to this Shared Access Account. It allows sending and receiving on the device-side endpoints.
     * 
     * > **NOTE** At least one of `registry_read`, `registry_write`, `service_connect`, `device_connect` permissions must be set to `true`.
     * 
     */
    @Import(name="deviceConnect")
    private @Nullable Output deviceConnect;

    /**
     * @return Adds `DeviceConnect` permission to this Shared Access Account. It allows sending and receiving on the device-side endpoints.
     * 
     * > **NOTE** At least one of `registry_read`, `registry_write`, `service_connect`, `device_connect` permissions must be set to `true`.
     * 
     */
    public Optional> deviceConnect() {
        return Optional.ofNullable(this.deviceConnect);
    }

    /**
     * The name of the IoTHub to which this Shared Access Policy belongs. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="iothubName")
    private @Nullable Output iothubName;

    /**
     * @return The name of the IoTHub to which this Shared Access Policy belongs. Changing this forces a new resource to be created.
     * 
     */
    public Optional> iothubName() {
        return Optional.ofNullable(this.iothubName);
    }

    /**
     * Specifies the name of the IotHub Shared Access Policy resource. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Specifies the name of the IotHub Shared Access Policy resource. Changing this forces a new resource to be created.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The primary connection string of the Shared Access Policy.
     * 
     */
    @Import(name="primaryConnectionString")
    private @Nullable Output primaryConnectionString;

    /**
     * @return The primary connection string of the Shared Access Policy.
     * 
     */
    public Optional> primaryConnectionString() {
        return Optional.ofNullable(this.primaryConnectionString);
    }

    /**
     * The primary key used to create the authentication token.
     * 
     */
    @Import(name="primaryKey")
    private @Nullable Output primaryKey;

    /**
     * @return The primary key used to create the authentication token.
     * 
     */
    public Optional> primaryKey() {
        return Optional.ofNullable(this.primaryKey);
    }

    /**
     * Adds `RegistryRead` permission to this Shared Access Account. It allows read access to the identity registry.
     * 
     */
    @Import(name="registryRead")
    private @Nullable Output registryRead;

    /**
     * @return Adds `RegistryRead` permission to this Shared Access Account. It allows read access to the identity registry.
     * 
     */
    public Optional> registryRead() {
        return Optional.ofNullable(this.registryRead);
    }

    /**
     * Adds `RegistryWrite` permission to this Shared Access Account. It allows write access to the identity registry.
     * 
     * > **NOTE** When `registry_write` is set to `true`, `registry_read` must also be set to true. This is a limitation of the Azure REST API
     * 
     */
    @Import(name="registryWrite")
    private @Nullable Output registryWrite;

    /**
     * @return Adds `RegistryWrite` permission to this Shared Access Account. It allows write access to the identity registry.
     * 
     * > **NOTE** When `registry_write` is set to `true`, `registry_read` must also be set to true. This is a limitation of the Azure REST API
     * 
     */
    public Optional> registryWrite() {
        return Optional.ofNullable(this.registryWrite);
    }

    /**
     * The name of the resource group under which the IotHub Shared Access Policy resource has to be created. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="resourceGroupName")
    private @Nullable Output resourceGroupName;

    /**
     * @return The name of the resource group under which the IotHub Shared Access Policy resource has to be created. Changing this forces a new resource to be created.
     * 
     */
    public Optional> resourceGroupName() {
        return Optional.ofNullable(this.resourceGroupName);
    }

    /**
     * The secondary connection string of the Shared Access Policy.
     * 
     */
    @Import(name="secondaryConnectionString")
    private @Nullable Output secondaryConnectionString;

    /**
     * @return The secondary connection string of the Shared Access Policy.
     * 
     */
    public Optional> secondaryConnectionString() {
        return Optional.ofNullable(this.secondaryConnectionString);
    }

    /**
     * The secondary key used to create the authentication token.
     * 
     */
    @Import(name="secondaryKey")
    private @Nullable Output secondaryKey;

    /**
     * @return The secondary key used to create the authentication token.
     * 
     */
    public Optional> secondaryKey() {
        return Optional.ofNullable(this.secondaryKey);
    }

    /**
     * Adds `ServiceConnect` permission to this Shared Access Account. It allows sending and receiving on the cloud-side endpoints.
     * 
     */
    @Import(name="serviceConnect")
    private @Nullable Output serviceConnect;

    /**
     * @return Adds `ServiceConnect` permission to this Shared Access Account. It allows sending and receiving on the cloud-side endpoints.
     * 
     */
    public Optional> serviceConnect() {
        return Optional.ofNullable(this.serviceConnect);
    }

    private SharedAccessPolicyState() {}

    private SharedAccessPolicyState(SharedAccessPolicyState $) {
        this.deviceConnect = $.deviceConnect;
        this.iothubName = $.iothubName;
        this.name = $.name;
        this.primaryConnectionString = $.primaryConnectionString;
        this.primaryKey = $.primaryKey;
        this.registryRead = $.registryRead;
        this.registryWrite = $.registryWrite;
        this.resourceGroupName = $.resourceGroupName;
        this.secondaryConnectionString = $.secondaryConnectionString;
        this.secondaryKey = $.secondaryKey;
        this.serviceConnect = $.serviceConnect;
    }

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

    public static final class Builder {
        private SharedAccessPolicyState $;

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

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

        /**
         * @param deviceConnect Adds `DeviceConnect` permission to this Shared Access Account. It allows sending and receiving on the device-side endpoints.
         * 
         * > **NOTE** At least one of `registry_read`, `registry_write`, `service_connect`, `device_connect` permissions must be set to `true`.
         * 
         * @return builder
         * 
         */
        public Builder deviceConnect(@Nullable Output deviceConnect) {
            $.deviceConnect = deviceConnect;
            return this;
        }

        /**
         * @param deviceConnect Adds `DeviceConnect` permission to this Shared Access Account. It allows sending and receiving on the device-side endpoints.
         * 
         * > **NOTE** At least one of `registry_read`, `registry_write`, `service_connect`, `device_connect` permissions must be set to `true`.
         * 
         * @return builder
         * 
         */
        public Builder deviceConnect(Boolean deviceConnect) {
            return deviceConnect(Output.of(deviceConnect));
        }

        /**
         * @param iothubName The name of the IoTHub to which this Shared Access Policy belongs. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder iothubName(@Nullable Output iothubName) {
            $.iothubName = iothubName;
            return this;
        }

        /**
         * @param iothubName The name of the IoTHub to which this Shared Access Policy belongs. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder iothubName(String iothubName) {
            return iothubName(Output.of(iothubName));
        }

        /**
         * @param name Specifies the name of the IotHub Shared Access Policy resource. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Specifies the name of the IotHub Shared Access Policy resource. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param primaryConnectionString The primary connection string of the Shared Access Policy.
         * 
         * @return builder
         * 
         */
        public Builder primaryConnectionString(@Nullable Output primaryConnectionString) {
            $.primaryConnectionString = primaryConnectionString;
            return this;
        }

        /**
         * @param primaryConnectionString The primary connection string of the Shared Access Policy.
         * 
         * @return builder
         * 
         */
        public Builder primaryConnectionString(String primaryConnectionString) {
            return primaryConnectionString(Output.of(primaryConnectionString));
        }

        /**
         * @param primaryKey The primary key used to create the authentication token.
         * 
         * @return builder
         * 
         */
        public Builder primaryKey(@Nullable Output primaryKey) {
            $.primaryKey = primaryKey;
            return this;
        }

        /**
         * @param primaryKey The primary key used to create the authentication token.
         * 
         * @return builder
         * 
         */
        public Builder primaryKey(String primaryKey) {
            return primaryKey(Output.of(primaryKey));
        }

        /**
         * @param registryRead Adds `RegistryRead` permission to this Shared Access Account. It allows read access to the identity registry.
         * 
         * @return builder
         * 
         */
        public Builder registryRead(@Nullable Output registryRead) {
            $.registryRead = registryRead;
            return this;
        }

        /**
         * @param registryRead Adds `RegistryRead` permission to this Shared Access Account. It allows read access to the identity registry.
         * 
         * @return builder
         * 
         */
        public Builder registryRead(Boolean registryRead) {
            return registryRead(Output.of(registryRead));
        }

        /**
         * @param registryWrite Adds `RegistryWrite` permission to this Shared Access Account. It allows write access to the identity registry.
         * 
         * > **NOTE** When `registry_write` is set to `true`, `registry_read` must also be set to true. This is a limitation of the Azure REST API
         * 
         * @return builder
         * 
         */
        public Builder registryWrite(@Nullable Output registryWrite) {
            $.registryWrite = registryWrite;
            return this;
        }

        /**
         * @param registryWrite Adds `RegistryWrite` permission to this Shared Access Account. It allows write access to the identity registry.
         * 
         * > **NOTE** When `registry_write` is set to `true`, `registry_read` must also be set to true. This is a limitation of the Azure REST API
         * 
         * @return builder
         * 
         */
        public Builder registryWrite(Boolean registryWrite) {
            return registryWrite(Output.of(registryWrite));
        }

        /**
         * @param resourceGroupName The name of the resource group under which the IotHub Shared Access Policy resource has to be created. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(@Nullable Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group under which the IotHub Shared Access Policy resource has to be created. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param secondaryConnectionString The secondary connection string of the Shared Access Policy.
         * 
         * @return builder
         * 
         */
        public Builder secondaryConnectionString(@Nullable Output secondaryConnectionString) {
            $.secondaryConnectionString = secondaryConnectionString;
            return this;
        }

        /**
         * @param secondaryConnectionString The secondary connection string of the Shared Access Policy.
         * 
         * @return builder
         * 
         */
        public Builder secondaryConnectionString(String secondaryConnectionString) {
            return secondaryConnectionString(Output.of(secondaryConnectionString));
        }

        /**
         * @param secondaryKey The secondary key used to create the authentication token.
         * 
         * @return builder
         * 
         */
        public Builder secondaryKey(@Nullable Output secondaryKey) {
            $.secondaryKey = secondaryKey;
            return this;
        }

        /**
         * @param secondaryKey The secondary key used to create the authentication token.
         * 
         * @return builder
         * 
         */
        public Builder secondaryKey(String secondaryKey) {
            return secondaryKey(Output.of(secondaryKey));
        }

        /**
         * @param serviceConnect Adds `ServiceConnect` permission to this Shared Access Account. It allows sending and receiving on the cloud-side endpoints.
         * 
         * @return builder
         * 
         */
        public Builder serviceConnect(@Nullable Output serviceConnect) {
            $.serviceConnect = serviceConnect;
            return this;
        }

        /**
         * @param serviceConnect Adds `ServiceConnect` permission to this Shared Access Account. It allows sending and receiving on the cloud-side endpoints.
         * 
         * @return builder
         * 
         */
        public Builder serviceConnect(Boolean serviceConnect) {
            return serviceConnect(Output.of(serviceConnect));
        }

        public SharedAccessPolicyState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy