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

com.pulumi.azurenative.network.outputs.GetNspLinkResult Maven / Gradle / Ivy

// *** 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.network.outputs;

import com.pulumi.core.annotations.CustomType;
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;

@CustomType
public final class GetNspLinkResult {
    /**
     * @return Perimeter ARM Id for the remote NSP with which the link gets created in Auto-approval mode. It should be used when the NSP admin have Microsoft.Network/networkSecurityPerimeters/linkPerimeter/action permission on the remote NSP resource.
     * 
     */
    private @Nullable String autoApprovedRemotePerimeterResourceId;
    /**
     * @return A message passed to the owner of the remote NSP link resource with this connection request. In case of Auto-approved flow, it is default to 'Auto Approved'. Restricted to 140 chars.
     * 
     */
    private @Nullable String description;
    /**
     * @return A unique read-only string that changes whenever the resource is updated.
     * 
     */
    private String etag;
    /**
     * @return Resource ID.
     * 
     */
    private String id;
    /**
     * @return Local Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. It's default value is ['*'].
     * 
     */
    private @Nullable List localInboundProfiles;
    /**
     * @return Local Outbound profile names from which Outbound is allowed. In current version, it is readonly property and it's value is set to ['*'] to allow outbound from all profiles. In later version, user will be able to modify it.
     * 
     */
    private List localOutboundProfiles;
    /**
     * @return Resource name.
     * 
     */
    private String name;
    /**
     * @return The provisioning state of the NSP Link resource.
     * 
     */
    private String provisioningState;
    /**
     * @return Remote Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. This property can only be updated in auto-approval mode. It's default value is ['*'].
     * 
     */
    private @Nullable List remoteInboundProfiles;
    /**
     * @return Remote Outbound profile names from which Outbound is allowed. In current version, it is readonly property and it's value is set to ['*'] to allow outbound from all profiles. In later version, user will be able to modify it.
     * 
     */
    private List remoteOutboundProfiles;
    /**
     * @return Remote NSP Guid with which the link gets created.
     * 
     */
    private String remotePerimeterGuid;
    /**
     * @return Remote NSP location with which the link gets created.
     * 
     */
    private String remotePerimeterLocation;
    /**
     * @return The NSP link state.
     * 
     */
    private String status;
    /**
     * @return Resource type.
     * 
     */
    private String type;

    private GetNspLinkResult() {}
    /**
     * @return Perimeter ARM Id for the remote NSP with which the link gets created in Auto-approval mode. It should be used when the NSP admin have Microsoft.Network/networkSecurityPerimeters/linkPerimeter/action permission on the remote NSP resource.
     * 
     */
    public Optional autoApprovedRemotePerimeterResourceId() {
        return Optional.ofNullable(this.autoApprovedRemotePerimeterResourceId);
    }
    /**
     * @return A message passed to the owner of the remote NSP link resource with this connection request. In case of Auto-approved flow, it is default to 'Auto Approved'. Restricted to 140 chars.
     * 
     */
    public Optional description() {
        return Optional.ofNullable(this.description);
    }
    /**
     * @return A unique read-only string that changes whenever the resource is updated.
     * 
     */
    public String etag() {
        return this.etag;
    }
    /**
     * @return Resource ID.
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return Local Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. It's default value is ['*'].
     * 
     */
    public List localInboundProfiles() {
        return this.localInboundProfiles == null ? List.of() : this.localInboundProfiles;
    }
    /**
     * @return Local Outbound profile names from which Outbound is allowed. In current version, it is readonly property and it's value is set to ['*'] to allow outbound from all profiles. In later version, user will be able to modify it.
     * 
     */
    public List localOutboundProfiles() {
        return this.localOutboundProfiles;
    }
    /**
     * @return Resource name.
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return The provisioning state of the NSP Link resource.
     * 
     */
    public String provisioningState() {
        return this.provisioningState;
    }
    /**
     * @return Remote Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. This property can only be updated in auto-approval mode. It's default value is ['*'].
     * 
     */
    public List remoteInboundProfiles() {
        return this.remoteInboundProfiles == null ? List.of() : this.remoteInboundProfiles;
    }
    /**
     * @return Remote Outbound profile names from which Outbound is allowed. In current version, it is readonly property and it's value is set to ['*'] to allow outbound from all profiles. In later version, user will be able to modify it.
     * 
     */
    public List remoteOutboundProfiles() {
        return this.remoteOutboundProfiles;
    }
    /**
     * @return Remote NSP Guid with which the link gets created.
     * 
     */
    public String remotePerimeterGuid() {
        return this.remotePerimeterGuid;
    }
    /**
     * @return Remote NSP location with which the link gets created.
     * 
     */
    public String remotePerimeterLocation() {
        return this.remotePerimeterLocation;
    }
    /**
     * @return The NSP link state.
     * 
     */
    public String status() {
        return this.status;
    }
    /**
     * @return Resource type.
     * 
     */
    public String type() {
        return this.type;
    }

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

    public static Builder builder(GetNspLinkResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String autoApprovedRemotePerimeterResourceId;
        private @Nullable String description;
        private String etag;
        private String id;
        private @Nullable List localInboundProfiles;
        private List localOutboundProfiles;
        private String name;
        private String provisioningState;
        private @Nullable List remoteInboundProfiles;
        private List remoteOutboundProfiles;
        private String remotePerimeterGuid;
        private String remotePerimeterLocation;
        private String status;
        private String type;
        public Builder() {}
        public Builder(GetNspLinkResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.autoApprovedRemotePerimeterResourceId = defaults.autoApprovedRemotePerimeterResourceId;
    	      this.description = defaults.description;
    	      this.etag = defaults.etag;
    	      this.id = defaults.id;
    	      this.localInboundProfiles = defaults.localInboundProfiles;
    	      this.localOutboundProfiles = defaults.localOutboundProfiles;
    	      this.name = defaults.name;
    	      this.provisioningState = defaults.provisioningState;
    	      this.remoteInboundProfiles = defaults.remoteInboundProfiles;
    	      this.remoteOutboundProfiles = defaults.remoteOutboundProfiles;
    	      this.remotePerimeterGuid = defaults.remotePerimeterGuid;
    	      this.remotePerimeterLocation = defaults.remotePerimeterLocation;
    	      this.status = defaults.status;
    	      this.type = defaults.type;
        }

        @CustomType.Setter
        public Builder autoApprovedRemotePerimeterResourceId(@Nullable String autoApprovedRemotePerimeterResourceId) {

            this.autoApprovedRemotePerimeterResourceId = autoApprovedRemotePerimeterResourceId;
            return this;
        }
        @CustomType.Setter
        public Builder description(@Nullable String description) {

            this.description = description;
            return this;
        }
        @CustomType.Setter
        public Builder etag(String etag) {
            if (etag == null) {
              throw new MissingRequiredPropertyException("GetNspLinkResult", "etag");
            }
            this.etag = etag;
            return this;
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetNspLinkResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder localInboundProfiles(@Nullable List localInboundProfiles) {

            this.localInboundProfiles = localInboundProfiles;
            return this;
        }
        public Builder localInboundProfiles(String... localInboundProfiles) {
            return localInboundProfiles(List.of(localInboundProfiles));
        }
        @CustomType.Setter
        public Builder localOutboundProfiles(List localOutboundProfiles) {
            if (localOutboundProfiles == null) {
              throw new MissingRequiredPropertyException("GetNspLinkResult", "localOutboundProfiles");
            }
            this.localOutboundProfiles = localOutboundProfiles;
            return this;
        }
        public Builder localOutboundProfiles(String... localOutboundProfiles) {
            return localOutboundProfiles(List.of(localOutboundProfiles));
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetNspLinkResult", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("GetNspLinkResult", "provisioningState");
            }
            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder remoteInboundProfiles(@Nullable List remoteInboundProfiles) {

            this.remoteInboundProfiles = remoteInboundProfiles;
            return this;
        }
        public Builder remoteInboundProfiles(String... remoteInboundProfiles) {
            return remoteInboundProfiles(List.of(remoteInboundProfiles));
        }
        @CustomType.Setter
        public Builder remoteOutboundProfiles(List remoteOutboundProfiles) {
            if (remoteOutboundProfiles == null) {
              throw new MissingRequiredPropertyException("GetNspLinkResult", "remoteOutboundProfiles");
            }
            this.remoteOutboundProfiles = remoteOutboundProfiles;
            return this;
        }
        public Builder remoteOutboundProfiles(String... remoteOutboundProfiles) {
            return remoteOutboundProfiles(List.of(remoteOutboundProfiles));
        }
        @CustomType.Setter
        public Builder remotePerimeterGuid(String remotePerimeterGuid) {
            if (remotePerimeterGuid == null) {
              throw new MissingRequiredPropertyException("GetNspLinkResult", "remotePerimeterGuid");
            }
            this.remotePerimeterGuid = remotePerimeterGuid;
            return this;
        }
        @CustomType.Setter
        public Builder remotePerimeterLocation(String remotePerimeterLocation) {
            if (remotePerimeterLocation == null) {
              throw new MissingRequiredPropertyException("GetNspLinkResult", "remotePerimeterLocation");
            }
            this.remotePerimeterLocation = remotePerimeterLocation;
            return this;
        }
        @CustomType.Setter
        public Builder status(String status) {
            if (status == null) {
              throw new MissingRequiredPropertyException("GetNspLinkResult", "status");
            }
            this.status = status;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("GetNspLinkResult", "type");
            }
            this.type = type;
            return this;
        }
        public GetNspLinkResult build() {
            final var _resultValue = new GetNspLinkResult();
            _resultValue.autoApprovedRemotePerimeterResourceId = autoApprovedRemotePerimeterResourceId;
            _resultValue.description = description;
            _resultValue.etag = etag;
            _resultValue.id = id;
            _resultValue.localInboundProfiles = localInboundProfiles;
            _resultValue.localOutboundProfiles = localOutboundProfiles;
            _resultValue.name = name;
            _resultValue.provisioningState = provisioningState;
            _resultValue.remoteInboundProfiles = remoteInboundProfiles;
            _resultValue.remoteOutboundProfiles = remoteOutboundProfiles;
            _resultValue.remotePerimeterGuid = remotePerimeterGuid;
            _resultValue.remotePerimeterLocation = remotePerimeterLocation;
            _resultValue.status = status;
            _resultValue.type = type;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy