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

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

There is a newer version: 2.72.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.network.outputs;

import com.pulumi.azurenative.network.outputs.ApplicationGatewayAuthenticationCertificateResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayAutoscaleConfigurationResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayBackendAddressPoolResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayBackendHttpSettingsResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayBackendSettingsResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayCustomErrorResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayFrontendIPConfigurationResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayFrontendPortResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayGlobalConfigurationResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayHttpListenerResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayIPConfigurationResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayListenerResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayLoadDistributionPolicyResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayPrivateEndpointConnectionResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayPrivateLinkConfigurationResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayProbeResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayRedirectConfigurationResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayRequestRoutingRuleResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayRewriteRuleSetResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayRoutingRuleResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewaySkuResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewaySslCertificateResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewaySslPolicyResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewaySslProfileResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayTrustedClientCertificateResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayTrustedRootCertificateResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayUrlPathMapResponse;
import com.pulumi.azurenative.network.outputs.ApplicationGatewayWebApplicationFirewallConfigurationResponse;
import com.pulumi.azurenative.network.outputs.ManagedServiceIdentityResponse;
import com.pulumi.azurenative.network.outputs.SubResourceResponse;
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.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ApplicationGatewayResponse {
    /**
     * @return Authentication certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    private @Nullable List authenticationCertificates;
    /**
     * @return Autoscale Configuration.
     * 
     */
    private @Nullable ApplicationGatewayAutoscaleConfigurationResponse autoscaleConfiguration;
    /**
     * @return Backend address pool of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    private @Nullable List backendAddressPools;
    /**
     * @return Backend http settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    private @Nullable List backendHttpSettingsCollection;
    /**
     * @return Backend settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    private @Nullable List backendSettingsCollection;
    /**
     * @return Custom error configurations of the application gateway resource.
     * 
     */
    private @Nullable List customErrorConfigurations;
    /**
     * @return The default predefined SSL Policy applied on the application gateway resource.
     * 
     */
    private String defaultPredefinedSslPolicy;
    /**
     * @return Whether FIPS is enabled on the application gateway resource.
     * 
     */
    private @Nullable Boolean enableFips;
    /**
     * @return Whether HTTP2 is enabled on the application gateway resource.
     * 
     */
    private @Nullable Boolean enableHttp2;
    /**
     * @return A unique read-only string that changes whenever the resource is updated.
     * 
     */
    private String etag;
    /**
     * @return Reference to the FirewallPolicy resource.
     * 
     */
    private @Nullable SubResourceResponse firewallPolicy;
    /**
     * @return If true, associates a firewall policy with an application gateway regardless whether the policy differs from the WAF Config.
     * 
     */
    private @Nullable Boolean forceFirewallPolicyAssociation;
    /**
     * @return Frontend IP addresses of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    private @Nullable List frontendIPConfigurations;
    /**
     * @return Frontend ports of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    private @Nullable List frontendPorts;
    /**
     * @return Subnets of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    private @Nullable List gatewayIPConfigurations;
    /**
     * @return Global Configuration.
     * 
     */
    private @Nullable ApplicationGatewayGlobalConfigurationResponse globalConfiguration;
    /**
     * @return Http listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    private @Nullable List httpListeners;
    /**
     * @return Resource ID.
     * 
     */
    private @Nullable String id;
    /**
     * @return The identity of the application gateway, if configured.
     * 
     */
    private @Nullable ManagedServiceIdentityResponse identity;
    /**
     * @return Listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    private @Nullable List listeners;
    /**
     * @return Load distribution policies of the application gateway resource.
     * 
     */
    private @Nullable List loadDistributionPolicies;
    /**
     * @return Resource location.
     * 
     */
    private @Nullable String location;
    /**
     * @return Resource name.
     * 
     */
    private String name;
    /**
     * @return Operational state of the application gateway resource.
     * 
     */
    private String operationalState;
    /**
     * @return Private Endpoint connections on application gateway.
     * 
     */
    private List privateEndpointConnections;
    /**
     * @return PrivateLink configurations on application gateway.
     * 
     */
    private @Nullable List privateLinkConfigurations;
    /**
     * @return Probes of the application gateway resource.
     * 
     */
    private @Nullable List probes;
    /**
     * @return The provisioning state of the application gateway resource.
     * 
     */
    private String provisioningState;
    /**
     * @return Redirect configurations of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    private @Nullable List redirectConfigurations;
    /**
     * @return Request routing rules of the application gateway resource.
     * 
     */
    private @Nullable List requestRoutingRules;
    /**
     * @return The resource GUID property of the application gateway resource.
     * 
     */
    private String resourceGuid;
    /**
     * @return Rewrite rules for the application gateway resource.
     * 
     */
    private @Nullable List rewriteRuleSets;
    /**
     * @return Routing rules of the application gateway resource.
     * 
     */
    private @Nullable List routingRules;
    /**
     * @return SKU of the application gateway resource.
     * 
     */
    private @Nullable ApplicationGatewaySkuResponse sku;
    /**
     * @return SSL certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    private @Nullable List sslCertificates;
    /**
     * @return SSL policy of the application gateway resource.
     * 
     */
    private @Nullable ApplicationGatewaySslPolicyResponse sslPolicy;
    /**
     * @return SSL profiles of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    private @Nullable List sslProfiles;
    /**
     * @return Resource tags.
     * 
     */
    private @Nullable Map tags;
    /**
     * @return Trusted client certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    private @Nullable List trustedClientCertificates;
    /**
     * @return Trusted Root certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    private @Nullable List trustedRootCertificates;
    /**
     * @return Resource type.
     * 
     */
    private String type;
    /**
     * @return URL path map of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    private @Nullable List urlPathMaps;
    /**
     * @return Web application firewall configuration.
     * 
     */
    private @Nullable ApplicationGatewayWebApplicationFirewallConfigurationResponse webApplicationFirewallConfiguration;
    /**
     * @return A list of availability zones denoting where the resource needs to come from.
     * 
     */
    private @Nullable List zones;

    private ApplicationGatewayResponse() {}
    /**
     * @return Authentication certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    public List authenticationCertificates() {
        return this.authenticationCertificates == null ? List.of() : this.authenticationCertificates;
    }
    /**
     * @return Autoscale Configuration.
     * 
     */
    public Optional autoscaleConfiguration() {
        return Optional.ofNullable(this.autoscaleConfiguration);
    }
    /**
     * @return Backend address pool of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    public List backendAddressPools() {
        return this.backendAddressPools == null ? List.of() : this.backendAddressPools;
    }
    /**
     * @return Backend http settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    public List backendHttpSettingsCollection() {
        return this.backendHttpSettingsCollection == null ? List.of() : this.backendHttpSettingsCollection;
    }
    /**
     * @return Backend settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    public List backendSettingsCollection() {
        return this.backendSettingsCollection == null ? List.of() : this.backendSettingsCollection;
    }
    /**
     * @return Custom error configurations of the application gateway resource.
     * 
     */
    public List customErrorConfigurations() {
        return this.customErrorConfigurations == null ? List.of() : this.customErrorConfigurations;
    }
    /**
     * @return The default predefined SSL Policy applied on the application gateway resource.
     * 
     */
    public String defaultPredefinedSslPolicy() {
        return this.defaultPredefinedSslPolicy;
    }
    /**
     * @return Whether FIPS is enabled on the application gateway resource.
     * 
     */
    public Optional enableFips() {
        return Optional.ofNullable(this.enableFips);
    }
    /**
     * @return Whether HTTP2 is enabled on the application gateway resource.
     * 
     */
    public Optional enableHttp2() {
        return Optional.ofNullable(this.enableHttp2);
    }
    /**
     * @return A unique read-only string that changes whenever the resource is updated.
     * 
     */
    public String etag() {
        return this.etag;
    }
    /**
     * @return Reference to the FirewallPolicy resource.
     * 
     */
    public Optional firewallPolicy() {
        return Optional.ofNullable(this.firewallPolicy);
    }
    /**
     * @return If true, associates a firewall policy with an application gateway regardless whether the policy differs from the WAF Config.
     * 
     */
    public Optional forceFirewallPolicyAssociation() {
        return Optional.ofNullable(this.forceFirewallPolicyAssociation);
    }
    /**
     * @return Frontend IP addresses of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    public List frontendIPConfigurations() {
        return this.frontendIPConfigurations == null ? List.of() : this.frontendIPConfigurations;
    }
    /**
     * @return Frontend ports of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    public List frontendPorts() {
        return this.frontendPorts == null ? List.of() : this.frontendPorts;
    }
    /**
     * @return Subnets of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    public List gatewayIPConfigurations() {
        return this.gatewayIPConfigurations == null ? List.of() : this.gatewayIPConfigurations;
    }
    /**
     * @return Global Configuration.
     * 
     */
    public Optional globalConfiguration() {
        return Optional.ofNullable(this.globalConfiguration);
    }
    /**
     * @return Http listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    public List httpListeners() {
        return this.httpListeners == null ? List.of() : this.httpListeners;
    }
    /**
     * @return Resource ID.
     * 
     */
    public Optional id() {
        return Optional.ofNullable(this.id);
    }
    /**
     * @return The identity of the application gateway, if configured.
     * 
     */
    public Optional identity() {
        return Optional.ofNullable(this.identity);
    }
    /**
     * @return Listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    public List listeners() {
        return this.listeners == null ? List.of() : this.listeners;
    }
    /**
     * @return Load distribution policies of the application gateway resource.
     * 
     */
    public List loadDistributionPolicies() {
        return this.loadDistributionPolicies == null ? List.of() : this.loadDistributionPolicies;
    }
    /**
     * @return Resource location.
     * 
     */
    public Optional location() {
        return Optional.ofNullable(this.location);
    }
    /**
     * @return Resource name.
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return Operational state of the application gateway resource.
     * 
     */
    public String operationalState() {
        return this.operationalState;
    }
    /**
     * @return Private Endpoint connections on application gateway.
     * 
     */
    public List privateEndpointConnections() {
        return this.privateEndpointConnections;
    }
    /**
     * @return PrivateLink configurations on application gateway.
     * 
     */
    public List privateLinkConfigurations() {
        return this.privateLinkConfigurations == null ? List.of() : this.privateLinkConfigurations;
    }
    /**
     * @return Probes of the application gateway resource.
     * 
     */
    public List probes() {
        return this.probes == null ? List.of() : this.probes;
    }
    /**
     * @return The provisioning state of the application gateway resource.
     * 
     */
    public String provisioningState() {
        return this.provisioningState;
    }
    /**
     * @return Redirect configurations of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    public List redirectConfigurations() {
        return this.redirectConfigurations == null ? List.of() : this.redirectConfigurations;
    }
    /**
     * @return Request routing rules of the application gateway resource.
     * 
     */
    public List requestRoutingRules() {
        return this.requestRoutingRules == null ? List.of() : this.requestRoutingRules;
    }
    /**
     * @return The resource GUID property of the application gateway resource.
     * 
     */
    public String resourceGuid() {
        return this.resourceGuid;
    }
    /**
     * @return Rewrite rules for the application gateway resource.
     * 
     */
    public List rewriteRuleSets() {
        return this.rewriteRuleSets == null ? List.of() : this.rewriteRuleSets;
    }
    /**
     * @return Routing rules of the application gateway resource.
     * 
     */
    public List routingRules() {
        return this.routingRules == null ? List.of() : this.routingRules;
    }
    /**
     * @return SKU of the application gateway resource.
     * 
     */
    public Optional sku() {
        return Optional.ofNullable(this.sku);
    }
    /**
     * @return SSL certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    public List sslCertificates() {
        return this.sslCertificates == null ? List.of() : this.sslCertificates;
    }
    /**
     * @return SSL policy of the application gateway resource.
     * 
     */
    public Optional sslPolicy() {
        return Optional.ofNullable(this.sslPolicy);
    }
    /**
     * @return SSL profiles of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    public List sslProfiles() {
        return this.sslProfiles == null ? List.of() : this.sslProfiles;
    }
    /**
     * @return Resource tags.
     * 
     */
    public Map tags() {
        return this.tags == null ? Map.of() : this.tags;
    }
    /**
     * @return Trusted client certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    public List trustedClientCertificates() {
        return this.trustedClientCertificates == null ? List.of() : this.trustedClientCertificates;
    }
    /**
     * @return Trusted Root certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    public List trustedRootCertificates() {
        return this.trustedRootCertificates == null ? List.of() : this.trustedRootCertificates;
    }
    /**
     * @return Resource type.
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return URL path map of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
     * 
     */
    public List urlPathMaps() {
        return this.urlPathMaps == null ? List.of() : this.urlPathMaps;
    }
    /**
     * @return Web application firewall configuration.
     * 
     */
    public Optional webApplicationFirewallConfiguration() {
        return Optional.ofNullable(this.webApplicationFirewallConfiguration);
    }
    /**
     * @return A list of availability zones denoting where the resource needs to come from.
     * 
     */
    public List zones() {
        return this.zones == null ? List.of() : this.zones;
    }

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

    public static Builder builder(ApplicationGatewayResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List authenticationCertificates;
        private @Nullable ApplicationGatewayAutoscaleConfigurationResponse autoscaleConfiguration;
        private @Nullable List backendAddressPools;
        private @Nullable List backendHttpSettingsCollection;
        private @Nullable List backendSettingsCollection;
        private @Nullable List customErrorConfigurations;
        private String defaultPredefinedSslPolicy;
        private @Nullable Boolean enableFips;
        private @Nullable Boolean enableHttp2;
        private String etag;
        private @Nullable SubResourceResponse firewallPolicy;
        private @Nullable Boolean forceFirewallPolicyAssociation;
        private @Nullable List frontendIPConfigurations;
        private @Nullable List frontendPorts;
        private @Nullable List gatewayIPConfigurations;
        private @Nullable ApplicationGatewayGlobalConfigurationResponse globalConfiguration;
        private @Nullable List httpListeners;
        private @Nullable String id;
        private @Nullable ManagedServiceIdentityResponse identity;
        private @Nullable List listeners;
        private @Nullable List loadDistributionPolicies;
        private @Nullable String location;
        private String name;
        private String operationalState;
        private List privateEndpointConnections;
        private @Nullable List privateLinkConfigurations;
        private @Nullable List probes;
        private String provisioningState;
        private @Nullable List redirectConfigurations;
        private @Nullable List requestRoutingRules;
        private String resourceGuid;
        private @Nullable List rewriteRuleSets;
        private @Nullable List routingRules;
        private @Nullable ApplicationGatewaySkuResponse sku;
        private @Nullable List sslCertificates;
        private @Nullable ApplicationGatewaySslPolicyResponse sslPolicy;
        private @Nullable List sslProfiles;
        private @Nullable Map tags;
        private @Nullable List trustedClientCertificates;
        private @Nullable List trustedRootCertificates;
        private String type;
        private @Nullable List urlPathMaps;
        private @Nullable ApplicationGatewayWebApplicationFirewallConfigurationResponse webApplicationFirewallConfiguration;
        private @Nullable List zones;
        public Builder() {}
        public Builder(ApplicationGatewayResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.authenticationCertificates = defaults.authenticationCertificates;
    	      this.autoscaleConfiguration = defaults.autoscaleConfiguration;
    	      this.backendAddressPools = defaults.backendAddressPools;
    	      this.backendHttpSettingsCollection = defaults.backendHttpSettingsCollection;
    	      this.backendSettingsCollection = defaults.backendSettingsCollection;
    	      this.customErrorConfigurations = defaults.customErrorConfigurations;
    	      this.defaultPredefinedSslPolicy = defaults.defaultPredefinedSslPolicy;
    	      this.enableFips = defaults.enableFips;
    	      this.enableHttp2 = defaults.enableHttp2;
    	      this.etag = defaults.etag;
    	      this.firewallPolicy = defaults.firewallPolicy;
    	      this.forceFirewallPolicyAssociation = defaults.forceFirewallPolicyAssociation;
    	      this.frontendIPConfigurations = defaults.frontendIPConfigurations;
    	      this.frontendPorts = defaults.frontendPorts;
    	      this.gatewayIPConfigurations = defaults.gatewayIPConfigurations;
    	      this.globalConfiguration = defaults.globalConfiguration;
    	      this.httpListeners = defaults.httpListeners;
    	      this.id = defaults.id;
    	      this.identity = defaults.identity;
    	      this.listeners = defaults.listeners;
    	      this.loadDistributionPolicies = defaults.loadDistributionPolicies;
    	      this.location = defaults.location;
    	      this.name = defaults.name;
    	      this.operationalState = defaults.operationalState;
    	      this.privateEndpointConnections = defaults.privateEndpointConnections;
    	      this.privateLinkConfigurations = defaults.privateLinkConfigurations;
    	      this.probes = defaults.probes;
    	      this.provisioningState = defaults.provisioningState;
    	      this.redirectConfigurations = defaults.redirectConfigurations;
    	      this.requestRoutingRules = defaults.requestRoutingRules;
    	      this.resourceGuid = defaults.resourceGuid;
    	      this.rewriteRuleSets = defaults.rewriteRuleSets;
    	      this.routingRules = defaults.routingRules;
    	      this.sku = defaults.sku;
    	      this.sslCertificates = defaults.sslCertificates;
    	      this.sslPolicy = defaults.sslPolicy;
    	      this.sslProfiles = defaults.sslProfiles;
    	      this.tags = defaults.tags;
    	      this.trustedClientCertificates = defaults.trustedClientCertificates;
    	      this.trustedRootCertificates = defaults.trustedRootCertificates;
    	      this.type = defaults.type;
    	      this.urlPathMaps = defaults.urlPathMaps;
    	      this.webApplicationFirewallConfiguration = defaults.webApplicationFirewallConfiguration;
    	      this.zones = defaults.zones;
        }

        @CustomType.Setter
        public Builder authenticationCertificates(@Nullable List authenticationCertificates) {

            this.authenticationCertificates = authenticationCertificates;
            return this;
        }
        public Builder authenticationCertificates(ApplicationGatewayAuthenticationCertificateResponse... authenticationCertificates) {
            return authenticationCertificates(List.of(authenticationCertificates));
        }
        @CustomType.Setter
        public Builder autoscaleConfiguration(@Nullable ApplicationGatewayAutoscaleConfigurationResponse autoscaleConfiguration) {

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

            this.backendAddressPools = backendAddressPools;
            return this;
        }
        public Builder backendAddressPools(ApplicationGatewayBackendAddressPoolResponse... backendAddressPools) {
            return backendAddressPools(List.of(backendAddressPools));
        }
        @CustomType.Setter
        public Builder backendHttpSettingsCollection(@Nullable List backendHttpSettingsCollection) {

            this.backendHttpSettingsCollection = backendHttpSettingsCollection;
            return this;
        }
        public Builder backendHttpSettingsCollection(ApplicationGatewayBackendHttpSettingsResponse... backendHttpSettingsCollection) {
            return backendHttpSettingsCollection(List.of(backendHttpSettingsCollection));
        }
        @CustomType.Setter
        public Builder backendSettingsCollection(@Nullable List backendSettingsCollection) {

            this.backendSettingsCollection = backendSettingsCollection;
            return this;
        }
        public Builder backendSettingsCollection(ApplicationGatewayBackendSettingsResponse... backendSettingsCollection) {
            return backendSettingsCollection(List.of(backendSettingsCollection));
        }
        @CustomType.Setter
        public Builder customErrorConfigurations(@Nullable List customErrorConfigurations) {

            this.customErrorConfigurations = customErrorConfigurations;
            return this;
        }
        public Builder customErrorConfigurations(ApplicationGatewayCustomErrorResponse... customErrorConfigurations) {
            return customErrorConfigurations(List.of(customErrorConfigurations));
        }
        @CustomType.Setter
        public Builder defaultPredefinedSslPolicy(String defaultPredefinedSslPolicy) {
            if (defaultPredefinedSslPolicy == null) {
              throw new MissingRequiredPropertyException("ApplicationGatewayResponse", "defaultPredefinedSslPolicy");
            }
            this.defaultPredefinedSslPolicy = defaultPredefinedSslPolicy;
            return this;
        }
        @CustomType.Setter
        public Builder enableFips(@Nullable Boolean enableFips) {

            this.enableFips = enableFips;
            return this;
        }
        @CustomType.Setter
        public Builder enableHttp2(@Nullable Boolean enableHttp2) {

            this.enableHttp2 = enableHttp2;
            return this;
        }
        @CustomType.Setter
        public Builder etag(String etag) {
            if (etag == null) {
              throw new MissingRequiredPropertyException("ApplicationGatewayResponse", "etag");
            }
            this.etag = etag;
            return this;
        }
        @CustomType.Setter
        public Builder firewallPolicy(@Nullable SubResourceResponse firewallPolicy) {

            this.firewallPolicy = firewallPolicy;
            return this;
        }
        @CustomType.Setter
        public Builder forceFirewallPolicyAssociation(@Nullable Boolean forceFirewallPolicyAssociation) {

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

            this.frontendIPConfigurations = frontendIPConfigurations;
            return this;
        }
        public Builder frontendIPConfigurations(ApplicationGatewayFrontendIPConfigurationResponse... frontendIPConfigurations) {
            return frontendIPConfigurations(List.of(frontendIPConfigurations));
        }
        @CustomType.Setter
        public Builder frontendPorts(@Nullable List frontendPorts) {

            this.frontendPorts = frontendPorts;
            return this;
        }
        public Builder frontendPorts(ApplicationGatewayFrontendPortResponse... frontendPorts) {
            return frontendPorts(List.of(frontendPorts));
        }
        @CustomType.Setter
        public Builder gatewayIPConfigurations(@Nullable List gatewayIPConfigurations) {

            this.gatewayIPConfigurations = gatewayIPConfigurations;
            return this;
        }
        public Builder gatewayIPConfigurations(ApplicationGatewayIPConfigurationResponse... gatewayIPConfigurations) {
            return gatewayIPConfigurations(List.of(gatewayIPConfigurations));
        }
        @CustomType.Setter
        public Builder globalConfiguration(@Nullable ApplicationGatewayGlobalConfigurationResponse globalConfiguration) {

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

            this.httpListeners = httpListeners;
            return this;
        }
        public Builder httpListeners(ApplicationGatewayHttpListenerResponse... httpListeners) {
            return httpListeners(List.of(httpListeners));
        }
        @CustomType.Setter
        public Builder id(@Nullable String id) {

            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder identity(@Nullable ManagedServiceIdentityResponse identity) {

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

            this.listeners = listeners;
            return this;
        }
        public Builder listeners(ApplicationGatewayListenerResponse... listeners) {
            return listeners(List.of(listeners));
        }
        @CustomType.Setter
        public Builder loadDistributionPolicies(@Nullable List loadDistributionPolicies) {

            this.loadDistributionPolicies = loadDistributionPolicies;
            return this;
        }
        public Builder loadDistributionPolicies(ApplicationGatewayLoadDistributionPolicyResponse... loadDistributionPolicies) {
            return loadDistributionPolicies(List.of(loadDistributionPolicies));
        }
        @CustomType.Setter
        public Builder location(@Nullable String location) {

            this.location = location;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("ApplicationGatewayResponse", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder operationalState(String operationalState) {
            if (operationalState == null) {
              throw new MissingRequiredPropertyException("ApplicationGatewayResponse", "operationalState");
            }
            this.operationalState = operationalState;
            return this;
        }
        @CustomType.Setter
        public Builder privateEndpointConnections(List privateEndpointConnections) {
            if (privateEndpointConnections == null) {
              throw new MissingRequiredPropertyException("ApplicationGatewayResponse", "privateEndpointConnections");
            }
            this.privateEndpointConnections = privateEndpointConnections;
            return this;
        }
        public Builder privateEndpointConnections(ApplicationGatewayPrivateEndpointConnectionResponse... privateEndpointConnections) {
            return privateEndpointConnections(List.of(privateEndpointConnections));
        }
        @CustomType.Setter
        public Builder privateLinkConfigurations(@Nullable List privateLinkConfigurations) {

            this.privateLinkConfigurations = privateLinkConfigurations;
            return this;
        }
        public Builder privateLinkConfigurations(ApplicationGatewayPrivateLinkConfigurationResponse... privateLinkConfigurations) {
            return privateLinkConfigurations(List.of(privateLinkConfigurations));
        }
        @CustomType.Setter
        public Builder probes(@Nullable List probes) {

            this.probes = probes;
            return this;
        }
        public Builder probes(ApplicationGatewayProbeResponse... probes) {
            return probes(List.of(probes));
        }
        @CustomType.Setter
        public Builder provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("ApplicationGatewayResponse", "provisioningState");
            }
            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder redirectConfigurations(@Nullable List redirectConfigurations) {

            this.redirectConfigurations = redirectConfigurations;
            return this;
        }
        public Builder redirectConfigurations(ApplicationGatewayRedirectConfigurationResponse... redirectConfigurations) {
            return redirectConfigurations(List.of(redirectConfigurations));
        }
        @CustomType.Setter
        public Builder requestRoutingRules(@Nullable List requestRoutingRules) {

            this.requestRoutingRules = requestRoutingRules;
            return this;
        }
        public Builder requestRoutingRules(ApplicationGatewayRequestRoutingRuleResponse... requestRoutingRules) {
            return requestRoutingRules(List.of(requestRoutingRules));
        }
        @CustomType.Setter
        public Builder resourceGuid(String resourceGuid) {
            if (resourceGuid == null) {
              throw new MissingRequiredPropertyException("ApplicationGatewayResponse", "resourceGuid");
            }
            this.resourceGuid = resourceGuid;
            return this;
        }
        @CustomType.Setter
        public Builder rewriteRuleSets(@Nullable List rewriteRuleSets) {

            this.rewriteRuleSets = rewriteRuleSets;
            return this;
        }
        public Builder rewriteRuleSets(ApplicationGatewayRewriteRuleSetResponse... rewriteRuleSets) {
            return rewriteRuleSets(List.of(rewriteRuleSets));
        }
        @CustomType.Setter
        public Builder routingRules(@Nullable List routingRules) {

            this.routingRules = routingRules;
            return this;
        }
        public Builder routingRules(ApplicationGatewayRoutingRuleResponse... routingRules) {
            return routingRules(List.of(routingRules));
        }
        @CustomType.Setter
        public Builder sku(@Nullable ApplicationGatewaySkuResponse sku) {

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

            this.sslCertificates = sslCertificates;
            return this;
        }
        public Builder sslCertificates(ApplicationGatewaySslCertificateResponse... sslCertificates) {
            return sslCertificates(List.of(sslCertificates));
        }
        @CustomType.Setter
        public Builder sslPolicy(@Nullable ApplicationGatewaySslPolicyResponse sslPolicy) {

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

            this.sslProfiles = sslProfiles;
            return this;
        }
        public Builder sslProfiles(ApplicationGatewaySslProfileResponse... sslProfiles) {
            return sslProfiles(List.of(sslProfiles));
        }
        @CustomType.Setter
        public Builder tags(@Nullable Map tags) {

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

            this.trustedClientCertificates = trustedClientCertificates;
            return this;
        }
        public Builder trustedClientCertificates(ApplicationGatewayTrustedClientCertificateResponse... trustedClientCertificates) {
            return trustedClientCertificates(List.of(trustedClientCertificates));
        }
        @CustomType.Setter
        public Builder trustedRootCertificates(@Nullable List trustedRootCertificates) {

            this.trustedRootCertificates = trustedRootCertificates;
            return this;
        }
        public Builder trustedRootCertificates(ApplicationGatewayTrustedRootCertificateResponse... trustedRootCertificates) {
            return trustedRootCertificates(List.of(trustedRootCertificates));
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("ApplicationGatewayResponse", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder urlPathMaps(@Nullable List urlPathMaps) {

            this.urlPathMaps = urlPathMaps;
            return this;
        }
        public Builder urlPathMaps(ApplicationGatewayUrlPathMapResponse... urlPathMaps) {
            return urlPathMaps(List.of(urlPathMaps));
        }
        @CustomType.Setter
        public Builder webApplicationFirewallConfiguration(@Nullable ApplicationGatewayWebApplicationFirewallConfigurationResponse webApplicationFirewallConfiguration) {

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

            this.zones = zones;
            return this;
        }
        public Builder zones(String... zones) {
            return zones(List.of(zones));
        }
        public ApplicationGatewayResponse build() {
            final var _resultValue = new ApplicationGatewayResponse();
            _resultValue.authenticationCertificates = authenticationCertificates;
            _resultValue.autoscaleConfiguration = autoscaleConfiguration;
            _resultValue.backendAddressPools = backendAddressPools;
            _resultValue.backendHttpSettingsCollection = backendHttpSettingsCollection;
            _resultValue.backendSettingsCollection = backendSettingsCollection;
            _resultValue.customErrorConfigurations = customErrorConfigurations;
            _resultValue.defaultPredefinedSslPolicy = defaultPredefinedSslPolicy;
            _resultValue.enableFips = enableFips;
            _resultValue.enableHttp2 = enableHttp2;
            _resultValue.etag = etag;
            _resultValue.firewallPolicy = firewallPolicy;
            _resultValue.forceFirewallPolicyAssociation = forceFirewallPolicyAssociation;
            _resultValue.frontendIPConfigurations = frontendIPConfigurations;
            _resultValue.frontendPorts = frontendPorts;
            _resultValue.gatewayIPConfigurations = gatewayIPConfigurations;
            _resultValue.globalConfiguration = globalConfiguration;
            _resultValue.httpListeners = httpListeners;
            _resultValue.id = id;
            _resultValue.identity = identity;
            _resultValue.listeners = listeners;
            _resultValue.loadDistributionPolicies = loadDistributionPolicies;
            _resultValue.location = location;
            _resultValue.name = name;
            _resultValue.operationalState = operationalState;
            _resultValue.privateEndpointConnections = privateEndpointConnections;
            _resultValue.privateLinkConfigurations = privateLinkConfigurations;
            _resultValue.probes = probes;
            _resultValue.provisioningState = provisioningState;
            _resultValue.redirectConfigurations = redirectConfigurations;
            _resultValue.requestRoutingRules = requestRoutingRules;
            _resultValue.resourceGuid = resourceGuid;
            _resultValue.rewriteRuleSets = rewriteRuleSets;
            _resultValue.routingRules = routingRules;
            _resultValue.sku = sku;
            _resultValue.sslCertificates = sslCertificates;
            _resultValue.sslPolicy = sslPolicy;
            _resultValue.sslProfiles = sslProfiles;
            _resultValue.tags = tags;
            _resultValue.trustedClientCertificates = trustedClientCertificates;
            _resultValue.trustedRootCertificates = trustedRootCertificates;
            _resultValue.type = type;
            _resultValue.urlPathMaps = urlPathMaps;
            _resultValue.webApplicationFirewallConfiguration = webApplicationFirewallConfiguration;
            _resultValue.zones = zones;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy