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

com.pulumi.azurenative.containerregistry.ConnectedRegistryArgs Maven / Gradle / Ivy

There is a newer version: 2.82.0
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.azurenative.containerregistry;

import com.pulumi.azurenative.containerregistry.enums.ConnectedRegistryMode;
import com.pulumi.azurenative.containerregistry.inputs.LoggingPropertiesArgs;
import com.pulumi.azurenative.containerregistry.inputs.ParentPropertiesArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ConnectedRegistryArgs Empty = new ConnectedRegistryArgs();

    /**
     * The list of the ACR token resource IDs used to authenticate clients to the connected registry.
     * 
     */
    @Import(name="clientTokenIds")
    private @Nullable Output> clientTokenIds;

    /**
     * @return The list of the ACR token resource IDs used to authenticate clients to the connected registry.
     * 
     */
    public Optional>> clientTokenIds() {
        return Optional.ofNullable(this.clientTokenIds);
    }

    /**
     * The name of the connected registry.
     * 
     */
    @Import(name="connectedRegistryName")
    private @Nullable Output connectedRegistryName;

    /**
     * @return The name of the connected registry.
     * 
     */
    public Optional> connectedRegistryName() {
        return Optional.ofNullable(this.connectedRegistryName);
    }

    /**
     * The logging properties of the connected registry.
     * 
     */
    @Import(name="logging")
    private @Nullable Output logging;

    /**
     * @return The logging properties of the connected registry.
     * 
     */
    public Optional> logging() {
        return Optional.ofNullable(this.logging);
    }

    /**
     * The mode of the connected registry resource that indicates the permissions of the registry.
     * 
     */
    @Import(name="mode", required=true)
    private Output> mode;

    /**
     * @return The mode of the connected registry resource that indicates the permissions of the registry.
     * 
     */
    public Output> mode() {
        return this.mode;
    }

    /**
     * The list of notifications subscription information for the connected registry.
     * 
     */
    @Import(name="notificationsList")
    private @Nullable Output> notificationsList;

    /**
     * @return The list of notifications subscription information for the connected registry.
     * 
     */
    public Optional>> notificationsList() {
        return Optional.ofNullable(this.notificationsList);
    }

    /**
     * The parent of the connected registry.
     * 
     */
    @Import(name="parent", required=true)
    private Output parent;

    /**
     * @return The parent of the connected registry.
     * 
     */
    public Output parent() {
        return this.parent;
    }

    /**
     * The name of the container registry.
     * 
     */
    @Import(name="registryName", required=true)
    private Output registryName;

    /**
     * @return The name of the container registry.
     * 
     */
    public Output registryName() {
        return this.registryName;
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    private ConnectedRegistryArgs() {}

    private ConnectedRegistryArgs(ConnectedRegistryArgs $) {
        this.clientTokenIds = $.clientTokenIds;
        this.connectedRegistryName = $.connectedRegistryName;
        this.logging = $.logging;
        this.mode = $.mode;
        this.notificationsList = $.notificationsList;
        this.parent = $.parent;
        this.registryName = $.registryName;
        this.resourceGroupName = $.resourceGroupName;
    }

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

    public static final class Builder {
        private ConnectedRegistryArgs $;

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

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

        /**
         * @param clientTokenIds The list of the ACR token resource IDs used to authenticate clients to the connected registry.
         * 
         * @return builder
         * 
         */
        public Builder clientTokenIds(@Nullable Output> clientTokenIds) {
            $.clientTokenIds = clientTokenIds;
            return this;
        }

        /**
         * @param clientTokenIds The list of the ACR token resource IDs used to authenticate clients to the connected registry.
         * 
         * @return builder
         * 
         */
        public Builder clientTokenIds(List clientTokenIds) {
            return clientTokenIds(Output.of(clientTokenIds));
        }

        /**
         * @param clientTokenIds The list of the ACR token resource IDs used to authenticate clients to the connected registry.
         * 
         * @return builder
         * 
         */
        public Builder clientTokenIds(String... clientTokenIds) {
            return clientTokenIds(List.of(clientTokenIds));
        }

        /**
         * @param connectedRegistryName The name of the connected registry.
         * 
         * @return builder
         * 
         */
        public Builder connectedRegistryName(@Nullable Output connectedRegistryName) {
            $.connectedRegistryName = connectedRegistryName;
            return this;
        }

        /**
         * @param connectedRegistryName The name of the connected registry.
         * 
         * @return builder
         * 
         */
        public Builder connectedRegistryName(String connectedRegistryName) {
            return connectedRegistryName(Output.of(connectedRegistryName));
        }

        /**
         * @param logging The logging properties of the connected registry.
         * 
         * @return builder
         * 
         */
        public Builder logging(@Nullable Output logging) {
            $.logging = logging;
            return this;
        }

        /**
         * @param logging The logging properties of the connected registry.
         * 
         * @return builder
         * 
         */
        public Builder logging(LoggingPropertiesArgs logging) {
            return logging(Output.of(logging));
        }

        /**
         * @param mode The mode of the connected registry resource that indicates the permissions of the registry.
         * 
         * @return builder
         * 
         */
        public Builder mode(Output> mode) {
            $.mode = mode;
            return this;
        }

        /**
         * @param mode The mode of the connected registry resource that indicates the permissions of the registry.
         * 
         * @return builder
         * 
         */
        public Builder mode(Either mode) {
            return mode(Output.of(mode));
        }

        /**
         * @param mode The mode of the connected registry resource that indicates the permissions of the registry.
         * 
         * @return builder
         * 
         */
        public Builder mode(String mode) {
            return mode(Either.ofLeft(mode));
        }

        /**
         * @param mode The mode of the connected registry resource that indicates the permissions of the registry.
         * 
         * @return builder
         * 
         */
        public Builder mode(ConnectedRegistryMode mode) {
            return mode(Either.ofRight(mode));
        }

        /**
         * @param notificationsList The list of notifications subscription information for the connected registry.
         * 
         * @return builder
         * 
         */
        public Builder notificationsList(@Nullable Output> notificationsList) {
            $.notificationsList = notificationsList;
            return this;
        }

        /**
         * @param notificationsList The list of notifications subscription information for the connected registry.
         * 
         * @return builder
         * 
         */
        public Builder notificationsList(List notificationsList) {
            return notificationsList(Output.of(notificationsList));
        }

        /**
         * @param notificationsList The list of notifications subscription information for the connected registry.
         * 
         * @return builder
         * 
         */
        public Builder notificationsList(String... notificationsList) {
            return notificationsList(List.of(notificationsList));
        }

        /**
         * @param parent The parent of the connected registry.
         * 
         * @return builder
         * 
         */
        public Builder parent(Output parent) {
            $.parent = parent;
            return this;
        }

        /**
         * @param parent The parent of the connected registry.
         * 
         * @return builder
         * 
         */
        public Builder parent(ParentPropertiesArgs parent) {
            return parent(Output.of(parent));
        }

        /**
         * @param registryName The name of the container registry.
         * 
         * @return builder
         * 
         */
        public Builder registryName(Output registryName) {
            $.registryName = registryName;
            return this;
        }

        /**
         * @param registryName The name of the container registry.
         * 
         * @return builder
         * 
         */
        public Builder registryName(String registryName) {
            return registryName(Output.of(registryName));
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        public ConnectedRegistryArgs build() {
            if ($.mode == null) {
                throw new MissingRequiredPropertyException("ConnectedRegistryArgs", "mode");
            }
            if ($.parent == null) {
                throw new MissingRequiredPropertyException("ConnectedRegistryArgs", "parent");
            }
            if ($.registryName == null) {
                throw new MissingRequiredPropertyException("ConnectedRegistryArgs", "registryName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ConnectedRegistryArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy