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

com.pulumi.azurenative.resources.outputs.DenySettingsResponse 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.resources.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class DenySettingsResponse {
    /**
     * @return DenySettings will be applied to child scopes.
     * 
     */
    private @Nullable Boolean applyToChildScopes;
    /**
     * @return List of role-based management operations that are excluded from the denySettings. Up to 200 actions are permitted. If the denySetting mode is set to 'denyWriteAndDelete', then the following actions are automatically appended to 'excludedActions': '*\/read' and 'Microsoft.Authorization/locks/delete'. If the denySetting mode is set to 'denyDelete', then the following actions are automatically appended to 'excludedActions': 'Microsoft.Authorization/locks/delete'. Duplicate actions will be removed.
     * 
     */
    private @Nullable List excludedActions;
    /**
     * @return List of AAD principal IDs excluded from the lock. Up to 5 principals are permitted.
     * 
     */
    private @Nullable List excludedPrincipals;
    /**
     * @return denySettings Mode.
     * 
     */
    private String mode;

    private DenySettingsResponse() {}
    /**
     * @return DenySettings will be applied to child scopes.
     * 
     */
    public Optional applyToChildScopes() {
        return Optional.ofNullable(this.applyToChildScopes);
    }
    /**
     * @return List of role-based management operations that are excluded from the denySettings. Up to 200 actions are permitted. If the denySetting mode is set to 'denyWriteAndDelete', then the following actions are automatically appended to 'excludedActions': '*\/read' and 'Microsoft.Authorization/locks/delete'. If the denySetting mode is set to 'denyDelete', then the following actions are automatically appended to 'excludedActions': 'Microsoft.Authorization/locks/delete'. Duplicate actions will be removed.
     * 
     */
    public List excludedActions() {
        return this.excludedActions == null ? List.of() : this.excludedActions;
    }
    /**
     * @return List of AAD principal IDs excluded from the lock. Up to 5 principals are permitted.
     * 
     */
    public List excludedPrincipals() {
        return this.excludedPrincipals == null ? List.of() : this.excludedPrincipals;
    }
    /**
     * @return denySettings Mode.
     * 
     */
    public String mode() {
        return this.mode;
    }

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

    public static Builder builder(DenySettingsResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable Boolean applyToChildScopes;
        private @Nullable List excludedActions;
        private @Nullable List excludedPrincipals;
        private String mode;
        public Builder() {}
        public Builder(DenySettingsResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.applyToChildScopes = defaults.applyToChildScopes;
    	      this.excludedActions = defaults.excludedActions;
    	      this.excludedPrincipals = defaults.excludedPrincipals;
    	      this.mode = defaults.mode;
        }

        @CustomType.Setter
        public Builder applyToChildScopes(@Nullable Boolean applyToChildScopes) {

            this.applyToChildScopes = applyToChildScopes;
            return this;
        }
        @CustomType.Setter
        public Builder excludedActions(@Nullable List excludedActions) {

            this.excludedActions = excludedActions;
            return this;
        }
        public Builder excludedActions(String... excludedActions) {
            return excludedActions(List.of(excludedActions));
        }
        @CustomType.Setter
        public Builder excludedPrincipals(@Nullable List excludedPrincipals) {

            this.excludedPrincipals = excludedPrincipals;
            return this;
        }
        public Builder excludedPrincipals(String... excludedPrincipals) {
            return excludedPrincipals(List.of(excludedPrincipals));
        }
        @CustomType.Setter
        public Builder mode(String mode) {
            if (mode == null) {
              throw new MissingRequiredPropertyException("DenySettingsResponse", "mode");
            }
            this.mode = mode;
            return this;
        }
        public DenySettingsResponse build() {
            final var _resultValue = new DenySettingsResponse();
            _resultValue.applyToChildScopes = applyToChildScopes;
            _resultValue.excludedActions = excludedActions;
            _resultValue.excludedPrincipals = excludedPrincipals;
            _resultValue.mode = mode;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy