Class ApiManagementServiceBaseProperties

java.lang.Object
com.azure.resourcemanager.apimanagement.models.ApiManagementServiceBaseProperties
All Implemented Interfaces:
com.azure.json.JsonSerializable<ApiManagementServiceBaseProperties>
Direct Known Subclasses:
ApiManagementServiceProperties, ApiManagementServiceUpdateProperties

public class ApiManagementServiceBaseProperties extends Object implements com.azure.json.JsonSerializable<ApiManagementServiceBaseProperties>
Base Properties of an API Management service resource description.
  • Constructor Details

    • ApiManagementServiceBaseProperties

      public ApiManagementServiceBaseProperties()
      Creates an instance of ApiManagementServiceBaseProperties class.
  • Method Details

    • notificationSenderEmail

      public String notificationSenderEmail()
      Get the notificationSenderEmail property: Email address from which the notification will be sent.
      Returns:
      the notificationSenderEmail value.
    • withNotificationSenderEmail

      public ApiManagementServiceBaseProperties withNotificationSenderEmail(String notificationSenderEmail)
      Set the notificationSenderEmail property: Email address from which the notification will be sent.
      Parameters:
      notificationSenderEmail - the notificationSenderEmail value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • provisioningState

      public String provisioningState()
      Get the provisioningState property: 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.
      Returns:
      the provisioningState value.
    • targetProvisioningState

      public String targetProvisioningState()
      Get the targetProvisioningState property: The provisioning state of the API Management service, which is targeted by the long running operation started on the service.
      Returns:
      the targetProvisioningState value.
    • createdAtUtc

      public OffsetDateTime createdAtUtc()
      Get the createdAtUtc property: 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.
      Returns:
      the createdAtUtc value.
    • gatewayUrl

      public String gatewayUrl()
      Get the gatewayUrl property: Gateway URL of the API Management service.
      Returns:
      the gatewayUrl value.
    • gatewayRegionalUrl

      public String gatewayRegionalUrl()
      Get the gatewayRegionalUrl property: Gateway URL of the API Management service in the Default Region.
      Returns:
      the gatewayRegionalUrl value.
    • portalUrl

      public String portalUrl()
      Get the portalUrl property: Publisher portal endpoint Url of the API Management service.
      Returns:
      the portalUrl value.
    • managementApiUrl

      public String managementApiUrl()
      Get the managementApiUrl property: Management API endpoint URL of the API Management service.
      Returns:
      the managementApiUrl value.
    • scmUrl

      public String scmUrl()
      Get the scmUrl property: SCM endpoint URL of the API Management service.
      Returns:
      the scmUrl value.
    • developerPortalUrl

      public String developerPortalUrl()
      Get the developerPortalUrl property: DEveloper Portal endpoint URL of the API Management service.
      Returns:
      the developerPortalUrl value.
    • hostnameConfigurations

      public List<HostnameConfiguration> hostnameConfigurations()
      Get the hostnameConfigurations property: Custom hostname configuration of the API Management service.
      Returns:
      the hostnameConfigurations value.
    • withHostnameConfigurations

      public ApiManagementServiceBaseProperties withHostnameConfigurations(List<HostnameConfiguration> hostnameConfigurations)
      Set the hostnameConfigurations property: Custom hostname configuration of the API Management service.
      Parameters:
      hostnameConfigurations - the hostnameConfigurations value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • publicIpAddresses

      public List<String> publicIpAddresses()
      Get the publicIpAddresses property: Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard, Premium and Isolated SKU.
      Returns:
      the publicIpAddresses value.
    • privateIpAddresses

      public List<String> privateIpAddresses()
      Get the privateIpAddresses property: 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.
      Returns:
      the privateIpAddresses value.
    • publicIpAddressId

      public String publicIpAddressId()
      Get the publicIpAddressId property: 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.
      Returns:
      the publicIpAddressId value.
    • withPublicIpAddressId

      public ApiManagementServiceBaseProperties withPublicIpAddressId(String publicIpAddressId)
      Set the publicIpAddressId property: 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.
      Parameters:
      publicIpAddressId - the publicIpAddressId value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • publicNetworkAccess

      public PublicNetworkAccess publicNetworkAccess()
      Get the publicNetworkAccess property: 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'.
      Returns:
      the publicNetworkAccess value.
    • withPublicNetworkAccess

      public ApiManagementServiceBaseProperties withPublicNetworkAccess(PublicNetworkAccess publicNetworkAccess)
      Set the publicNetworkAccess property: 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'.
      Parameters:
      publicNetworkAccess - the publicNetworkAccess value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • configurationApi

      public ConfigurationApi configurationApi()
      Get the configurationApi property: Configuration API configuration of the API Management service.
      Returns:
      the configurationApi value.
    • withConfigurationApi

      public ApiManagementServiceBaseProperties withConfigurationApi(ConfigurationApi configurationApi)
      Set the configurationApi property: Configuration API configuration of the API Management service.
      Parameters:
      configurationApi - the configurationApi value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • virtualNetworkConfiguration

      public VirtualNetworkConfiguration virtualNetworkConfiguration()
      Get the virtualNetworkConfiguration property: Virtual network configuration of the API Management service.
      Returns:
      the virtualNetworkConfiguration value.
    • withVirtualNetworkConfiguration

      public ApiManagementServiceBaseProperties withVirtualNetworkConfiguration(VirtualNetworkConfiguration virtualNetworkConfiguration)
      Set the virtualNetworkConfiguration property: Virtual network configuration of the API Management service.
      Parameters:
      virtualNetworkConfiguration - the virtualNetworkConfiguration value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • additionalLocations

      public List<AdditionalLocation> additionalLocations()
      Get the additionalLocations property: Additional datacenter locations of the API Management service.
      Returns:
      the additionalLocations value.
    • withAdditionalLocations

      public ApiManagementServiceBaseProperties withAdditionalLocations(List<AdditionalLocation> additionalLocations)
      Set the additionalLocations property: Additional datacenter locations of the API Management service.
      Parameters:
      additionalLocations - the additionalLocations value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • customProperties

      public Map<String,String> customProperties()
      Get the customProperties property: 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.
      Returns:
      the customProperties value.
    • withCustomProperties

      public ApiManagementServiceBaseProperties withCustomProperties(Map<String,String> customProperties)
      Set the customProperties property: 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.
      Parameters:
      customProperties - the customProperties value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • certificates

      public List<CertificateConfiguration> certificates()
      Get the certificates property: List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10.
      Returns:
      the certificates value.
    • withCertificates

      public ApiManagementServiceBaseProperties withCertificates(List<CertificateConfiguration> certificates)
      Set the certificates property: List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10.
      Parameters:
      certificates - the certificates value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • enableClientCertificate

      public Boolean enableClientCertificate()
      Get the enableClientCertificate property: 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.
      Returns:
      the enableClientCertificate value.
    • withEnableClientCertificate

      public ApiManagementServiceBaseProperties withEnableClientCertificate(Boolean enableClientCertificate)
      Set the enableClientCertificate property: 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.
      Parameters:
      enableClientCertificate - the enableClientCertificate value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • natGatewayState

      public NatGatewayState natGatewayState()
      Get the natGatewayState property: Property can be used to enable NAT Gateway for this API Management service.
      Returns:
      the natGatewayState value.
    • withNatGatewayState

      public ApiManagementServiceBaseProperties withNatGatewayState(NatGatewayState natGatewayState)
      Set the natGatewayState property: Property can be used to enable NAT Gateway for this API Management service.
      Parameters:
      natGatewayState - the natGatewayState value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • outboundPublicIpAddresses

      public List<String> outboundPublicIpAddresses()
      Get the outboundPublicIpAddresses property: Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available only for Premium SKU on stv2 platform.
      Returns:
      the outboundPublicIpAddresses value.
    • disableGateway

      public Boolean disableGateway()
      Get the disableGateway property: Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region.
      Returns:
      the disableGateway value.
    • withDisableGateway

      public ApiManagementServiceBaseProperties withDisableGateway(Boolean disableGateway)
      Set the disableGateway property: Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region.
      Parameters:
      disableGateway - the disableGateway value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • virtualNetworkType

      public VirtualNetworkType virtualNetworkType()
      Get the virtualNetworkType property: 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.
      Returns:
      the virtualNetworkType value.
    • withVirtualNetworkType

      public ApiManagementServiceBaseProperties withVirtualNetworkType(VirtualNetworkType virtualNetworkType)
      Set the virtualNetworkType property: 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.
      Parameters:
      virtualNetworkType - the virtualNetworkType value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • apiVersionConstraint

      public ApiVersionConstraint apiVersionConstraint()
      Get the apiVersionConstraint property: Control Plane Apis version constraint for the API Management service.
      Returns:
      the apiVersionConstraint value.
    • withApiVersionConstraint

      public ApiManagementServiceBaseProperties withApiVersionConstraint(ApiVersionConstraint apiVersionConstraint)
      Set the apiVersionConstraint property: Control Plane Apis version constraint for the API Management service.
      Parameters:
      apiVersionConstraint - the apiVersionConstraint value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • restore

      public Boolean restore()
      Get the restore property: 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.
      Returns:
      the restore value.
    • withRestore

      public ApiManagementServiceBaseProperties withRestore(Boolean restore)
      Set the restore property: 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.
      Parameters:
      restore - the restore value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • privateEndpointConnections

      public List<RemotePrivateEndpointConnectionWrapper> privateEndpointConnections()
      Get the privateEndpointConnections property: List of Private Endpoint Connections of this service.
      Returns:
      the privateEndpointConnections value.
    • withPrivateEndpointConnections

      public ApiManagementServiceBaseProperties withPrivateEndpointConnections(List<RemotePrivateEndpointConnectionWrapper> privateEndpointConnections)
      Set the privateEndpointConnections property: List of Private Endpoint Connections of this service.
      Parameters:
      privateEndpointConnections - the privateEndpointConnections value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • platformVersion

      public PlatformVersion platformVersion()
      Get the platformVersion property: Compute Platform Version running the service in this location.
      Returns:
      the platformVersion value.
    • legacyPortalStatus

      public LegacyPortalStatus legacyPortalStatus()
      Get the legacyPortalStatus property: Status of legacy portal in the API Management service.
      Returns:
      the legacyPortalStatus value.
    • withLegacyPortalStatus

      public ApiManagementServiceBaseProperties withLegacyPortalStatus(LegacyPortalStatus legacyPortalStatus)
      Set the legacyPortalStatus property: Status of legacy portal in the API Management service.
      Parameters:
      legacyPortalStatus - the legacyPortalStatus value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • developerPortalStatus

      public DeveloperPortalStatus developerPortalStatus()
      Get the developerPortalStatus property: Status of developer portal in this API Management service.
      Returns:
      the developerPortalStatus value.
    • withDeveloperPortalStatus

      public ApiManagementServiceBaseProperties withDeveloperPortalStatus(DeveloperPortalStatus developerPortalStatus)
      Set the developerPortalStatus property: Status of developer portal in this API Management service.
      Parameters:
      developerPortalStatus - the developerPortalStatus value to set.
      Returns:
      the ApiManagementServiceBaseProperties object itself.
    • validate

      public void validate()
      Validates the instance.
      Throws:
      IllegalArgumentException - thrown if the instance is not valid.
    • toJson

      public com.azure.json.JsonWriter toJson(com.azure.json.JsonWriter jsonWriter) throws IOException
      Specified by:
      toJson in interface com.azure.json.JsonSerializable<ApiManagementServiceBaseProperties>
      Throws:
      IOException
    • fromJson

      public static ApiManagementServiceBaseProperties fromJson(com.azure.json.JsonReader jsonReader) throws IOException
      Reads an instance of ApiManagementServiceBaseProperties from the JsonReader.
      Parameters:
      jsonReader - The JsonReader being read.
      Returns:
      An instance of ApiManagementServiceBaseProperties if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
      Throws:
      IOException - If an error occurs while reading the ApiManagementServiceBaseProperties.