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

com.pulumi.azurenative.blueprint.inputs.AssignmentLockSettingsArgs 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.blueprint.inputs;

import com.pulumi.azurenative.blueprint.enums.AssignmentLockMode;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Defines how resources deployed by a blueprint assignment are locked.
 * 
 */
public final class AssignmentLockSettingsArgs extends com.pulumi.resources.ResourceArgs {

    public static final AssignmentLockSettingsArgs Empty = new AssignmentLockSettingsArgs();

    /**
     * List of management operations that are excluded from blueprint locks. Up to 200 actions are permitted. If the lock mode is set to 'AllResourcesReadOnly', then the following actions are automatically appended to 'excludedActions': '*/read', 'Microsoft.Network/virtualNetworks/subnets/join/action' and 'Microsoft.Authorization/locks/delete'. If the lock mode is set to 'AllResourcesDoNotDelete', then the following actions are automatically appended to 'excludedActions': 'Microsoft.Authorization/locks/delete'. Duplicate actions will get removed.
     * 
     */
    @Import(name="excludedActions")
    private @Nullable Output> excludedActions;

    /**
     * @return List of management operations that are excluded from blueprint locks. Up to 200 actions are permitted. If the lock mode is set to 'AllResourcesReadOnly', then the following actions are automatically appended to 'excludedActions': '*/read', 'Microsoft.Network/virtualNetworks/subnets/join/action' and 'Microsoft.Authorization/locks/delete'. If the lock mode is set to 'AllResourcesDoNotDelete', then the following actions are automatically appended to 'excludedActions': 'Microsoft.Authorization/locks/delete'. Duplicate actions will get removed.
     * 
     */
    public Optional>> excludedActions() {
        return Optional.ofNullable(this.excludedActions);
    }

    /**
     * List of AAD principals excluded from blueprint locks. Up to 5 principals are permitted.
     * 
     */
    @Import(name="excludedPrincipals")
    private @Nullable Output> excludedPrincipals;

    /**
     * @return List of AAD principals excluded from blueprint locks. Up to 5 principals are permitted.
     * 
     */
    public Optional>> excludedPrincipals() {
        return Optional.ofNullable(this.excludedPrincipals);
    }

    /**
     * Lock mode.
     * 
     */
    @Import(name="mode")
    private @Nullable Output> mode;

    /**
     * @return Lock mode.
     * 
     */
    public Optional>> mode() {
        return Optional.ofNullable(this.mode);
    }

    private AssignmentLockSettingsArgs() {}

    private AssignmentLockSettingsArgs(AssignmentLockSettingsArgs $) {
        this.excludedActions = $.excludedActions;
        this.excludedPrincipals = $.excludedPrincipals;
        this.mode = $.mode;
    }

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

    public static final class Builder {
        private AssignmentLockSettingsArgs $;

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

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

        /**
         * @param excludedActions List of management operations that are excluded from blueprint locks. Up to 200 actions are permitted. If the lock mode is set to 'AllResourcesReadOnly', then the following actions are automatically appended to 'excludedActions': '*/read', 'Microsoft.Network/virtualNetworks/subnets/join/action' and 'Microsoft.Authorization/locks/delete'. If the lock mode is set to 'AllResourcesDoNotDelete', then the following actions are automatically appended to 'excludedActions': 'Microsoft.Authorization/locks/delete'. Duplicate actions will get removed.
         * 
         * @return builder
         * 
         */
        public Builder excludedActions(@Nullable Output> excludedActions) {
            $.excludedActions = excludedActions;
            return this;
        }

        /**
         * @param excludedActions List of management operations that are excluded from blueprint locks. Up to 200 actions are permitted. If the lock mode is set to 'AllResourcesReadOnly', then the following actions are automatically appended to 'excludedActions': '*/read', 'Microsoft.Network/virtualNetworks/subnets/join/action' and 'Microsoft.Authorization/locks/delete'. If the lock mode is set to 'AllResourcesDoNotDelete', then the following actions are automatically appended to 'excludedActions': 'Microsoft.Authorization/locks/delete'. Duplicate actions will get removed.
         * 
         * @return builder
         * 
         */
        public Builder excludedActions(List excludedActions) {
            return excludedActions(Output.of(excludedActions));
        }

        /**
         * @param excludedActions List of management operations that are excluded from blueprint locks. Up to 200 actions are permitted. If the lock mode is set to 'AllResourcesReadOnly', then the following actions are automatically appended to 'excludedActions': '*/read', 'Microsoft.Network/virtualNetworks/subnets/join/action' and 'Microsoft.Authorization/locks/delete'. If the lock mode is set to 'AllResourcesDoNotDelete', then the following actions are automatically appended to 'excludedActions': 'Microsoft.Authorization/locks/delete'. Duplicate actions will get removed.
         * 
         * @return builder
         * 
         */
        public Builder excludedActions(String... excludedActions) {
            return excludedActions(List.of(excludedActions));
        }

        /**
         * @param excludedPrincipals List of AAD principals excluded from blueprint locks. Up to 5 principals are permitted.
         * 
         * @return builder
         * 
         */
        public Builder excludedPrincipals(@Nullable Output> excludedPrincipals) {
            $.excludedPrincipals = excludedPrincipals;
            return this;
        }

        /**
         * @param excludedPrincipals List of AAD principals excluded from blueprint locks. Up to 5 principals are permitted.
         * 
         * @return builder
         * 
         */
        public Builder excludedPrincipals(List excludedPrincipals) {
            return excludedPrincipals(Output.of(excludedPrincipals));
        }

        /**
         * @param excludedPrincipals List of AAD principals excluded from blueprint locks. Up to 5 principals are permitted.
         * 
         * @return builder
         * 
         */
        public Builder excludedPrincipals(String... excludedPrincipals) {
            return excludedPrincipals(List.of(excludedPrincipals));
        }

        /**
         * @param mode Lock mode.
         * 
         * @return builder
         * 
         */
        public Builder mode(@Nullable Output> mode) {
            $.mode = mode;
            return this;
        }

        /**
         * @param mode Lock mode.
         * 
         * @return builder
         * 
         */
        public Builder mode(Either mode) {
            return mode(Output.of(mode));
        }

        /**
         * @param mode Lock mode.
         * 
         * @return builder
         * 
         */
        public Builder mode(String mode) {
            return mode(Either.ofLeft(mode));
        }

        /**
         * @param mode Lock mode.
         * 
         * @return builder
         * 
         */
        public Builder mode(AssignmentLockMode mode) {
            return mode(Either.ofRight(mode));
        }

        public AssignmentLockSettingsArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy