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

com.pulumi.azurenative.apimanagement.outputs.GetApiManagementServiceResult 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.apimanagement.outputs;

import com.pulumi.azurenative.apimanagement.outputs.AdditionalLocationResponse;
import com.pulumi.azurenative.apimanagement.outputs.ApiManagementServiceIdentityResponse;
import com.pulumi.azurenative.apimanagement.outputs.ApiManagementServiceSkuPropertiesResponse;
import com.pulumi.azurenative.apimanagement.outputs.ApiVersionConstraintResponse;
import com.pulumi.azurenative.apimanagement.outputs.CertificateConfigurationResponse;
import com.pulumi.azurenative.apimanagement.outputs.HostnameConfigurationResponse;
import com.pulumi.azurenative.apimanagement.outputs.RemotePrivateEndpointConnectionWrapperResponse;
import com.pulumi.azurenative.apimanagement.outputs.SystemDataResponse;
import com.pulumi.azurenative.apimanagement.outputs.VirtualNetworkConfigurationResponse;
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 GetApiManagementServiceResult {
    /**
     * @return Additional datacenter locations of the API Management service.
     * 
     */
    private @Nullable List additionalLocations;
    /**
     * @return Control Plane Apis version constraint for the API Management service.
     * 
     */
    private @Nullable ApiVersionConstraintResponse apiVersionConstraint;
    /**
     * @return List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10.
     * 
     */
    private @Nullable List certificates;
    /**
     * @return Creation UTC date of the API Management service.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
     * 
     */
    private String createdAtUtc;
    /**
     * @return Custom properties of the API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.</br>Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is `False`.</br></br>You can disable any of the following ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them.</br> Note: The following ciphers can't be disabled since they are required by internal platform components: TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
     * 
     */
    private @Nullable Map customProperties;
    /**
     * @return DEveloper Portal endpoint URL of the API Management service.
     * 
     */
    private String developerPortalUrl;
    /**
     * @return Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region.
     * 
     */
    private @Nullable Boolean disableGateway;
    /**
     * @return Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway.
     * 
     */
    private @Nullable Boolean enableClientCertificate;
    /**
     * @return ETag of the resource.
     * 
     */
    private String etag;
    /**
     * @return Gateway URL of the API Management service in the Default Region.
     * 
     */
    private String gatewayRegionalUrl;
    /**
     * @return Gateway URL of the API Management service.
     * 
     */
    private String gatewayUrl;
    /**
     * @return Custom hostname configuration of the API Management service.
     * 
     */
    private @Nullable List hostnameConfigurations;
    /**
     * @return Resource ID.
     * 
     */
    private String id;
    /**
     * @return Managed service identity of the Api Management service.
     * 
     */
    private @Nullable ApiManagementServiceIdentityResponse identity;
    /**
     * @return Resource location.
     * 
     */
    private String location;
    /**
     * @return Management API endpoint URL of the API Management service.
     * 
     */
    private String managementApiUrl;
    /**
     * @return Resource name.
     * 
     */
    private String name;
    /**
     * @return Property can be used to enable NAT Gateway for this API Management service.
     * 
     */
    private @Nullable String natGatewayState;
    /**
     * @return Email address from which the notification will be sent.
     * 
     */
    private @Nullable String notificationSenderEmail;
    /**
     * @return Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available only for Premium SKU on stv2 platform.
     * 
     */
    private List outboundPublicIPAddresses;
    /**
     * @return Compute Platform Version running the service in this location.
     * 
     */
    private String platformVersion;
    /**
     * @return Publisher portal endpoint Url of the API Management service.
     * 
     */
    private String portalUrl;
    /**
     * @return List of Private Endpoint Connections of this service.
     * 
     */
    private @Nullable List privateEndpointConnections;
    /**
     * @return Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU.
     * 
     */
    private List privateIPAddresses;
    /**
     * @return The current provisioning state of the API Management service which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted.
     * 
     */
    private String provisioningState;
    /**
     * @return Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard, Premium and Isolated SKU.
     * 
     */
    private List publicIPAddresses;
    /**
     * @return Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network.
     * 
     */
    private @Nullable String publicIpAddressId;
    /**
     * @return Whether or not public endpoint access is allowed for this API Management service.  Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'
     * 
     */
    private @Nullable String publicNetworkAccess;
    /**
     * @return Publisher email.
     * 
     */
    private String publisherEmail;
    /**
     * @return Publisher name.
     * 
     */
    private String publisherName;
    /**
     * @return Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True all other properties will be ignored.
     * 
     */
    private @Nullable Boolean restore;
    /**
     * @return SCM endpoint URL of the API Management service.
     * 
     */
    private String scmUrl;
    /**
     * @return SKU properties of the API Management service.
     * 
     */
    private ApiManagementServiceSkuPropertiesResponse sku;
    /**
     * @return Metadata pertaining to creation and last modification of the resource.
     * 
     */
    private SystemDataResponse systemData;
    /**
     * @return Resource tags.
     * 
     */
    private @Nullable Map tags;
    /**
     * @return The provisioning state of the API Management service, which is targeted by the long running operation started on the service.
     * 
     */
    private String targetProvisioningState;
    /**
     * @return Resource type for API Management resource is set to Microsoft.ApiManagement.
     * 
     */
    private String type;
    /**
     * @return Virtual network configuration of the API Management service.
     * 
     */
    private @Nullable VirtualNetworkConfigurationResponse virtualNetworkConfiguration;
    /**
     * @return The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only.
     * 
     */
    private @Nullable String virtualNetworkType;
    /**
     * @return A list of availability zones denoting where the resource needs to come from.
     * 
     */
    private @Nullable List zones;

    private GetApiManagementServiceResult() {}
    /**
     * @return Additional datacenter locations of the API Management service.
     * 
     */
    public List additionalLocations() {
        return this.additionalLocations == null ? List.of() : this.additionalLocations;
    }
    /**
     * @return Control Plane Apis version constraint for the API Management service.
     * 
     */
    public Optional apiVersionConstraint() {
        return Optional.ofNullable(this.apiVersionConstraint);
    }
    /**
     * @return List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10.
     * 
     */
    public List certificates() {
        return this.certificates == null ? List.of() : this.certificates;
    }
    /**
     * @return Creation UTC date of the API Management service.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.
     * 
     */
    public String createdAtUtc() {
        return this.createdAtUtc;
    }
    /**
     * @return Custom properties of the API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.</br>Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.</br>Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is `False`.</br></br>You can disable any of the following ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them.</br> Note: The following ciphers can't be disabled since they are required by internal platform components: TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
     * 
     */
    public Map customProperties() {
        return this.customProperties == null ? Map.of() : this.customProperties;
    }
    /**
     * @return DEveloper Portal endpoint URL of the API Management service.
     * 
     */
    public String developerPortalUrl() {
        return this.developerPortalUrl;
    }
    /**
     * @return Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region.
     * 
     */
    public Optional disableGateway() {
        return Optional.ofNullable(this.disableGateway);
    }
    /**
     * @return Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway.
     * 
     */
    public Optional enableClientCertificate() {
        return Optional.ofNullable(this.enableClientCertificate);
    }
    /**
     * @return ETag of the resource.
     * 
     */
    public String etag() {
        return this.etag;
    }
    /**
     * @return Gateway URL of the API Management service in the Default Region.
     * 
     */
    public String gatewayRegionalUrl() {
        return this.gatewayRegionalUrl;
    }
    /**
     * @return Gateway URL of the API Management service.
     * 
     */
    public String gatewayUrl() {
        return this.gatewayUrl;
    }
    /**
     * @return Custom hostname configuration of the API Management service.
     * 
     */
    public List hostnameConfigurations() {
        return this.hostnameConfigurations == null ? List.of() : this.hostnameConfigurations;
    }
    /**
     * @return Resource ID.
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return Managed service identity of the Api Management service.
     * 
     */
    public Optional identity() {
        return Optional.ofNullable(this.identity);
    }
    /**
     * @return Resource location.
     * 
     */
    public String location() {
        return this.location;
    }
    /**
     * @return Management API endpoint URL of the API Management service.
     * 
     */
    public String managementApiUrl() {
        return this.managementApiUrl;
    }
    /**
     * @return Resource name.
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return Property can be used to enable NAT Gateway for this API Management service.
     * 
     */
    public Optional natGatewayState() {
        return Optional.ofNullable(this.natGatewayState);
    }
    /**
     * @return Email address from which the notification will be sent.
     * 
     */
    public Optional notificationSenderEmail() {
        return Optional.ofNullable(this.notificationSenderEmail);
    }
    /**
     * @return Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available only for Premium SKU on stv2 platform.
     * 
     */
    public List outboundPublicIPAddresses() {
        return this.outboundPublicIPAddresses;
    }
    /**
     * @return Compute Platform Version running the service in this location.
     * 
     */
    public String platformVersion() {
        return this.platformVersion;
    }
    /**
     * @return Publisher portal endpoint Url of the API Management service.
     * 
     */
    public String portalUrl() {
        return this.portalUrl;
    }
    /**
     * @return List of Private Endpoint Connections of this service.
     * 
     */
    public List privateEndpointConnections() {
        return this.privateEndpointConnections == null ? List.of() : this.privateEndpointConnections;
    }
    /**
     * @return Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU.
     * 
     */
    public List privateIPAddresses() {
        return this.privateIPAddresses;
    }
    /**
     * @return The current provisioning state of the API Management service which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted.
     * 
     */
    public String provisioningState() {
        return this.provisioningState;
    }
    /**
     * @return Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard, Premium and Isolated SKU.
     * 
     */
    public List publicIPAddresses() {
        return this.publicIPAddresses;
    }
    /**
     * @return Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network.
     * 
     */
    public Optional publicIpAddressId() {
        return Optional.ofNullable(this.publicIpAddressId);
    }
    /**
     * @return Whether or not public endpoint access is allowed for this API Management service.  Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'
     * 
     */
    public Optional publicNetworkAccess() {
        return Optional.ofNullable(this.publicNetworkAccess);
    }
    /**
     * @return Publisher email.
     * 
     */
    public String publisherEmail() {
        return this.publisherEmail;
    }
    /**
     * @return Publisher name.
     * 
     */
    public String publisherName() {
        return this.publisherName;
    }
    /**
     * @return Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True all other properties will be ignored.
     * 
     */
    public Optional restore() {
        return Optional.ofNullable(this.restore);
    }
    /**
     * @return SCM endpoint URL of the API Management service.
     * 
     */
    public String scmUrl() {
        return this.scmUrl;
    }
    /**
     * @return SKU properties of the API Management service.
     * 
     */
    public ApiManagementServiceSkuPropertiesResponse sku() {
        return this.sku;
    }
    /**
     * @return Metadata pertaining to creation and last modification of the resource.
     * 
     */
    public SystemDataResponse systemData() {
        return this.systemData;
    }
    /**
     * @return Resource tags.
     * 
     */
    public Map tags() {
        return this.tags == null ? Map.of() : this.tags;
    }
    /**
     * @return The provisioning state of the API Management service, which is targeted by the long running operation started on the service.
     * 
     */
    public String targetProvisioningState() {
        return this.targetProvisioningState;
    }
    /**
     * @return Resource type for API Management resource is set to Microsoft.ApiManagement.
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return Virtual network configuration of the API Management service.
     * 
     */
    public Optional virtualNetworkConfiguration() {
        return Optional.ofNullable(this.virtualNetworkConfiguration);
    }
    /**
     * @return The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only.
     * 
     */
    public Optional virtualNetworkType() {
        return Optional.ofNullable(this.virtualNetworkType);
    }
    /**
     * @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(GetApiManagementServiceResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List additionalLocations;
        private @Nullable ApiVersionConstraintResponse apiVersionConstraint;
        private @Nullable List certificates;
        private String createdAtUtc;
        private @Nullable Map customProperties;
        private String developerPortalUrl;
        private @Nullable Boolean disableGateway;
        private @Nullable Boolean enableClientCertificate;
        private String etag;
        private String gatewayRegionalUrl;
        private String gatewayUrl;
        private @Nullable List hostnameConfigurations;
        private String id;
        private @Nullable ApiManagementServiceIdentityResponse identity;
        private String location;
        private String managementApiUrl;
        private String name;
        private @Nullable String natGatewayState;
        private @Nullable String notificationSenderEmail;
        private List outboundPublicIPAddresses;
        private String platformVersion;
        private String portalUrl;
        private @Nullable List privateEndpointConnections;
        private List privateIPAddresses;
        private String provisioningState;
        private List publicIPAddresses;
        private @Nullable String publicIpAddressId;
        private @Nullable String publicNetworkAccess;
        private String publisherEmail;
        private String publisherName;
        private @Nullable Boolean restore;
        private String scmUrl;
        private ApiManagementServiceSkuPropertiesResponse sku;
        private SystemDataResponse systemData;
        private @Nullable Map tags;
        private String targetProvisioningState;
        private String type;
        private @Nullable VirtualNetworkConfigurationResponse virtualNetworkConfiguration;
        private @Nullable String virtualNetworkType;
        private @Nullable List zones;
        public Builder() {}
        public Builder(GetApiManagementServiceResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.additionalLocations = defaults.additionalLocations;
    	      this.apiVersionConstraint = defaults.apiVersionConstraint;
    	      this.certificates = defaults.certificates;
    	      this.createdAtUtc = defaults.createdAtUtc;
    	      this.customProperties = defaults.customProperties;
    	      this.developerPortalUrl = defaults.developerPortalUrl;
    	      this.disableGateway = defaults.disableGateway;
    	      this.enableClientCertificate = defaults.enableClientCertificate;
    	      this.etag = defaults.etag;
    	      this.gatewayRegionalUrl = defaults.gatewayRegionalUrl;
    	      this.gatewayUrl = defaults.gatewayUrl;
    	      this.hostnameConfigurations = defaults.hostnameConfigurations;
    	      this.id = defaults.id;
    	      this.identity = defaults.identity;
    	      this.location = defaults.location;
    	      this.managementApiUrl = defaults.managementApiUrl;
    	      this.name = defaults.name;
    	      this.natGatewayState = defaults.natGatewayState;
    	      this.notificationSenderEmail = defaults.notificationSenderEmail;
    	      this.outboundPublicIPAddresses = defaults.outboundPublicIPAddresses;
    	      this.platformVersion = defaults.platformVersion;
    	      this.portalUrl = defaults.portalUrl;
    	      this.privateEndpointConnections = defaults.privateEndpointConnections;
    	      this.privateIPAddresses = defaults.privateIPAddresses;
    	      this.provisioningState = defaults.provisioningState;
    	      this.publicIPAddresses = defaults.publicIPAddresses;
    	      this.publicIpAddressId = defaults.publicIpAddressId;
    	      this.publicNetworkAccess = defaults.publicNetworkAccess;
    	      this.publisherEmail = defaults.publisherEmail;
    	      this.publisherName = defaults.publisherName;
    	      this.restore = defaults.restore;
    	      this.scmUrl = defaults.scmUrl;
    	      this.sku = defaults.sku;
    	      this.systemData = defaults.systemData;
    	      this.tags = defaults.tags;
    	      this.targetProvisioningState = defaults.targetProvisioningState;
    	      this.type = defaults.type;
    	      this.virtualNetworkConfiguration = defaults.virtualNetworkConfiguration;
    	      this.virtualNetworkType = defaults.virtualNetworkType;
    	      this.zones = defaults.zones;
        }

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

            this.additionalLocations = additionalLocations;
            return this;
        }
        public Builder additionalLocations(AdditionalLocationResponse... additionalLocations) {
            return additionalLocations(List.of(additionalLocations));
        }
        @CustomType.Setter
        public Builder apiVersionConstraint(@Nullable ApiVersionConstraintResponse apiVersionConstraint) {

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

            this.certificates = certificates;
            return this;
        }
        public Builder certificates(CertificateConfigurationResponse... certificates) {
            return certificates(List.of(certificates));
        }
        @CustomType.Setter
        public Builder createdAtUtc(String createdAtUtc) {
            if (createdAtUtc == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "createdAtUtc");
            }
            this.createdAtUtc = createdAtUtc;
            return this;
        }
        @CustomType.Setter
        public Builder customProperties(@Nullable Map customProperties) {

            this.customProperties = customProperties;
            return this;
        }
        @CustomType.Setter
        public Builder developerPortalUrl(String developerPortalUrl) {
            if (developerPortalUrl == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "developerPortalUrl");
            }
            this.developerPortalUrl = developerPortalUrl;
            return this;
        }
        @CustomType.Setter
        public Builder disableGateway(@Nullable Boolean disableGateway) {

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

            this.enableClientCertificate = enableClientCertificate;
            return this;
        }
        @CustomType.Setter
        public Builder etag(String etag) {
            if (etag == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "etag");
            }
            this.etag = etag;
            return this;
        }
        @CustomType.Setter
        public Builder gatewayRegionalUrl(String gatewayRegionalUrl) {
            if (gatewayRegionalUrl == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "gatewayRegionalUrl");
            }
            this.gatewayRegionalUrl = gatewayRegionalUrl;
            return this;
        }
        @CustomType.Setter
        public Builder gatewayUrl(String gatewayUrl) {
            if (gatewayUrl == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "gatewayUrl");
            }
            this.gatewayUrl = gatewayUrl;
            return this;
        }
        @CustomType.Setter
        public Builder hostnameConfigurations(@Nullable List hostnameConfigurations) {

            this.hostnameConfigurations = hostnameConfigurations;
            return this;
        }
        public Builder hostnameConfigurations(HostnameConfigurationResponse... hostnameConfigurations) {
            return hostnameConfigurations(List.of(hostnameConfigurations));
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder identity(@Nullable ApiManagementServiceIdentityResponse identity) {

            this.identity = identity;
            return this;
        }
        @CustomType.Setter
        public Builder location(String location) {
            if (location == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "location");
            }
            this.location = location;
            return this;
        }
        @CustomType.Setter
        public Builder managementApiUrl(String managementApiUrl) {
            if (managementApiUrl == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "managementApiUrl");
            }
            this.managementApiUrl = managementApiUrl;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder natGatewayState(@Nullable String natGatewayState) {

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

            this.notificationSenderEmail = notificationSenderEmail;
            return this;
        }
        @CustomType.Setter
        public Builder outboundPublicIPAddresses(List outboundPublicIPAddresses) {
            if (outboundPublicIPAddresses == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "outboundPublicIPAddresses");
            }
            this.outboundPublicIPAddresses = outboundPublicIPAddresses;
            return this;
        }
        public Builder outboundPublicIPAddresses(String... outboundPublicIPAddresses) {
            return outboundPublicIPAddresses(List.of(outboundPublicIPAddresses));
        }
        @CustomType.Setter
        public Builder platformVersion(String platformVersion) {
            if (platformVersion == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "platformVersion");
            }
            this.platformVersion = platformVersion;
            return this;
        }
        @CustomType.Setter
        public Builder portalUrl(String portalUrl) {
            if (portalUrl == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "portalUrl");
            }
            this.portalUrl = portalUrl;
            return this;
        }
        @CustomType.Setter
        public Builder privateEndpointConnections(@Nullable List privateEndpointConnections) {

            this.privateEndpointConnections = privateEndpointConnections;
            return this;
        }
        public Builder privateEndpointConnections(RemotePrivateEndpointConnectionWrapperResponse... privateEndpointConnections) {
            return privateEndpointConnections(List.of(privateEndpointConnections));
        }
        @CustomType.Setter
        public Builder privateIPAddresses(List privateIPAddresses) {
            if (privateIPAddresses == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "privateIPAddresses");
            }
            this.privateIPAddresses = privateIPAddresses;
            return this;
        }
        public Builder privateIPAddresses(String... privateIPAddresses) {
            return privateIPAddresses(List.of(privateIPAddresses));
        }
        @CustomType.Setter
        public Builder provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "provisioningState");
            }
            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder publicIPAddresses(List publicIPAddresses) {
            if (publicIPAddresses == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "publicIPAddresses");
            }
            this.publicIPAddresses = publicIPAddresses;
            return this;
        }
        public Builder publicIPAddresses(String... publicIPAddresses) {
            return publicIPAddresses(List.of(publicIPAddresses));
        }
        @CustomType.Setter
        public Builder publicIpAddressId(@Nullable String publicIpAddressId) {

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

            this.publicNetworkAccess = publicNetworkAccess;
            return this;
        }
        @CustomType.Setter
        public Builder publisherEmail(String publisherEmail) {
            if (publisherEmail == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "publisherEmail");
            }
            this.publisherEmail = publisherEmail;
            return this;
        }
        @CustomType.Setter
        public Builder publisherName(String publisherName) {
            if (publisherName == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "publisherName");
            }
            this.publisherName = publisherName;
            return this;
        }
        @CustomType.Setter
        public Builder restore(@Nullable Boolean restore) {

            this.restore = restore;
            return this;
        }
        @CustomType.Setter
        public Builder scmUrl(String scmUrl) {
            if (scmUrl == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "scmUrl");
            }
            this.scmUrl = scmUrl;
            return this;
        }
        @CustomType.Setter
        public Builder sku(ApiManagementServiceSkuPropertiesResponse sku) {
            if (sku == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "sku");
            }
            this.sku = sku;
            return this;
        }
        @CustomType.Setter
        public Builder systemData(SystemDataResponse systemData) {
            if (systemData == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "systemData");
            }
            this.systemData = systemData;
            return this;
        }
        @CustomType.Setter
        public Builder tags(@Nullable Map tags) {

            this.tags = tags;
            return this;
        }
        @CustomType.Setter
        public Builder targetProvisioningState(String targetProvisioningState) {
            if (targetProvisioningState == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "targetProvisioningState");
            }
            this.targetProvisioningState = targetProvisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("GetApiManagementServiceResult", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder virtualNetworkConfiguration(@Nullable VirtualNetworkConfigurationResponse virtualNetworkConfiguration) {

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

            this.virtualNetworkType = virtualNetworkType;
            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 GetApiManagementServiceResult build() {
            final var _resultValue = new GetApiManagementServiceResult();
            _resultValue.additionalLocations = additionalLocations;
            _resultValue.apiVersionConstraint = apiVersionConstraint;
            _resultValue.certificates = certificates;
            _resultValue.createdAtUtc = createdAtUtc;
            _resultValue.customProperties = customProperties;
            _resultValue.developerPortalUrl = developerPortalUrl;
            _resultValue.disableGateway = disableGateway;
            _resultValue.enableClientCertificate = enableClientCertificate;
            _resultValue.etag = etag;
            _resultValue.gatewayRegionalUrl = gatewayRegionalUrl;
            _resultValue.gatewayUrl = gatewayUrl;
            _resultValue.hostnameConfigurations = hostnameConfigurations;
            _resultValue.id = id;
            _resultValue.identity = identity;
            _resultValue.location = location;
            _resultValue.managementApiUrl = managementApiUrl;
            _resultValue.name = name;
            _resultValue.natGatewayState = natGatewayState;
            _resultValue.notificationSenderEmail = notificationSenderEmail;
            _resultValue.outboundPublicIPAddresses = outboundPublicIPAddresses;
            _resultValue.platformVersion = platformVersion;
            _resultValue.portalUrl = portalUrl;
            _resultValue.privateEndpointConnections = privateEndpointConnections;
            _resultValue.privateIPAddresses = privateIPAddresses;
            _resultValue.provisioningState = provisioningState;
            _resultValue.publicIPAddresses = publicIPAddresses;
            _resultValue.publicIpAddressId = publicIpAddressId;
            _resultValue.publicNetworkAccess = publicNetworkAccess;
            _resultValue.publisherEmail = publisherEmail;
            _resultValue.publisherName = publisherName;
            _resultValue.restore = restore;
            _resultValue.scmUrl = scmUrl;
            _resultValue.sku = sku;
            _resultValue.systemData = systemData;
            _resultValue.tags = tags;
            _resultValue.targetProvisioningState = targetProvisioningState;
            _resultValue.type = type;
            _resultValue.virtualNetworkConfiguration = virtualNetworkConfiguration;
            _resultValue.virtualNetworkType = virtualNetworkType;
            _resultValue.zones = zones;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy