Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License. See License.txt in the project root for license information.
/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. */
package com.microsoft.azure.management.network; import com.microsoft.azure.management.apigeneration.Beta; import com.microsoft.azure.management.apigeneration.Fluent; import com.microsoft.azure.management.apigeneration.Beta.SinceVersion; import com.microsoft.azure.management.resources.fluentcore.model.Attachable; import com.microsoft.azure.management.resources.fluentcore.model.HasInner; import com.microsoft.azure.management.resources.fluentcore.model.Settable; import java.io.File; import java.io.IOException;
A client-side representation of point-to-site configuration for a virtual network gateway.
/** * A client-side representation of point-to-site configuration for a virtual network gateway. */
@Fluent @Beta(SinceVersion.V1_6_0) public interface PointToSiteConfiguration extends HasInner<VpnClientConfiguration> {
Grouping of point-to-site configuration definition stages.
/** * Grouping of point-to-site configuration definition stages. */
interface DefinitionStages {
The first stage of the point-to-site configuration definition.
Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** * The first stage of the point-to-site configuration definition. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface Blank<ParentT> extends WithAddressPool<ParentT> { } interface WithAddressPool<ParentT> { WithAuthenticationType<ParentT> withAddressPool(String addressPool); }
The stage of the point-to-site configuration definition allowing to specify authentication type.
Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** * The stage of the point-to-site configuration definition allowing to specify authentication type. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface WithAuthenticationType<ParentT> extends WithAzureCertificate<ParentT> {
Specifies that RADIUS server will be used for authentication.
Params:
  • serverIPAddress – the radius server address
  • serverSecret – the radius server secret
Returns:the next stage of the definition
/** * Specifies that RADIUS server will be used for authentication. * @param serverIPAddress the radius server address * @param serverSecret the radius server secret * @return the next stage of the definition */
WithAttach<ParentT> withRadiusAuthentication(String serverIPAddress, String serverSecret); }
The stage of the point-to-site configuration definition allowing to add root certificate for Azure authentication.
Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** * The stage of the point-to-site configuration definition allowing to add root certificate for Azure authentication. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface WithAzureCertificate<ParentT> {
Specifies that Azure certificate authentication type will be used and certificate to use for Azure authentication.
Params:
  • name – name of certificate
  • certificateData – the certificate public data
Returns:the next stage of the definition
/** * Specifies that Azure certificate authentication type will be used and certificate to use for Azure authentication. * @param name name of certificate * @param certificateData the certificate public data * @return the next stage of the definition */
WithAttachAndAzureCertificate<ParentT> withAzureCertificate(String name, String certificateData);
Specifies that Azure certificate authentication type will be used and certificate to use for Azure authentication.
Params:
  • name – name of certificate
  • certificateFile – public Base64-encoded certificate file
Throws:
Returns:the next stage of the definition
/** * Specifies that Azure certificate authentication type will be used and certificate to use for Azure authentication. * * @param name name of certificate * @param certificateFile public Base64-encoded certificate file * @return the next stage of the definition * @throws IOException IOException */
WithAttachAndAzureCertificate<ParentT> withAzureCertificateFromFile(String name, File certificateFile) throws IOException; } interface WithRevokedCertificate<ParentT> { WithAttach<ParentT> withRevokedCertificate(String name, String thumbprint); }
The stage of a point-to-site configuration definition allowing to specify which tunnel type will be used.
Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** * The stage of a point-to-site configuration definition allowing to specify which tunnel type will be used. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface WithTunnelType<ParentT> {
Specifies that only SSTP tunnel type will be used.
Returns:the next stage of the definition
/** * Specifies that only SSTP tunnel type will be used. * @return the next stage of the definition */
WithAttach<ParentT> withSstpOnly();
Specifies that only IKEv2 VPN tunnel type will be used.
Returns:the next stage of the definition
/** * Specifies that only IKEv2 VPN tunnel type will be used. * @return the next stage of the definition */
WithAttach<ParentT> withIkeV2Only(); }
The final stage of the point-to-site configuration definition.

At this stage, any remaining optional settings can be specified, or the point-to-site configuration definition can be attached to the parent virtual network gateway definition.

Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** The final stage of the point-to-site configuration definition. * <p> * At this stage, any remaining optional settings can be specified, or the point-to-site configuration definition * can be attached to the parent virtual network gateway definition. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface WithAttach<ParentT> extends Attachable.InDefinition<ParentT>, WithTunnelType<ParentT> { }
The final stage of the point-to-site configuration definition.

At this stage, any remaining optional settings can be specified, or the point-to-site configuration definition can be attached to the parent virtual network gateway definition.

Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** The final stage of the point-to-site configuration definition. * <p> * At this stage, any remaining optional settings can be specified, or the point-to-site configuration definition * can be attached to the parent virtual network gateway definition. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface WithAttachAndAzureCertificate<ParentT> extends WithAttach<ParentT>, WithTunnelType<ParentT>, WithAzureCertificate<ParentT>, WithRevokedCertificate<ParentT> { } }
The entirety of a point-to-site configuration definition.
Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** The entirety of a point-to-site configuration definition. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface Definition<ParentT> extends DefinitionStages.Blank<ParentT>, DefinitionStages.WithAuthenticationType<ParentT>, DefinitionStages.WithAddressPool<ParentT>, DefinitionStages.WithAttachAndAzureCertificate<ParentT> { }
Grouping of point-to-site configuration update stages.
/** * Grouping of point-to-site configuration update stages. */
interface UpdateStages {
The stage of the point-to-site configuration definition allowing to specify address pool.
Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** * The stage of the point-to-site configuration definition allowing to specify address pool. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface WithAddressPool<ParentT> {
Specifies address pool.
Params:
  • addressPool – address pool
Returns:the next stage of the update
/** * Specifies address pool. * @param addressPool address pool * @return the next stage of the update */
Update withAddressPool(String addressPool); }
Specifies authentication type of the point-to-site configuration.
/** * Specifies authentication type of the point-to-site configuration. */
interface WithAuthenticationType extends WithAzureCertificate {
Specifies that RADIUS authentication type will be used.
Params:
  • serverIPAddress – the radius server address
  • serverSecret – the radius server secret
Returns:the next stage of the update
/** * Specifies that RADIUS authentication type will be used. * @param serverIPAddress the radius server address * @param serverSecret the radius server secret * @return the next stage of the update */
Update withRadiusAuthentication(String serverIPAddress, String serverSecret); }
Specifies Azure certificate for authentication.
/** * Specifies Azure certificate for authentication. */
interface WithAzureCertificate {
Specifies that Azure certificate authentication type will be used and certificate to use for Azure authentication.
Params:
  • name – name of certificate
  • certificateData – the certificate public data
Returns:the next stage of the update
/** * Specifies that Azure certificate authentication type will be used and certificate to use for Azure authentication. * @param name name of certificate * @param certificateData the certificate public data * @return the next stage of the update */
Update withAzureCertificate(String name, String certificateData);
Specifies that azure certificate authentication type will be used and certificate to use for Azure authentication.
Params:
  • name – name of certificate
  • certificateFile – public Base64-encoded certificate file
Throws:
Returns:the next stage of the update
/** * Specifies that azure certificate authentication type will be used and certificate to use for Azure authentication. * @param name name of certificate * @param certificateFile public Base64-encoded certificate file * @return the next stage of the update * @throws IOException IOException */
Update withAzureCertificateFromFile(String name, File certificateFile) throws IOException;
Removes attached azure certificate with specified name.
Params:
  • name – name of the certificate
Returns:the next stage of the update
/** * Removes attached azure certificate with specified name. * @param name name of the certificate * @return the next stage of the update */
Update withoutAzureCertificate(String name); }
Specifies revoked certificate for azure authentication.
/** * Specifies revoked certificate for azure authentication. */
interface WithRevokedCertificate {
Specifies revoked certificate.
Params:
  • name – certificate name
  • thumbprint – certificate thumbprint
Returns:the next stage of the update
/** * Specifies revoked certificate. * @param name certificate name * @param thumbprint certificate thumbprint * @return the next stage of the update */
Update withRevokedCertificate(String name, String thumbprint); }
The stage of a point-to-site configuration definition allowing to specify which tunnel type will be used.
Type parameters:
  • <ParentT> – the stage of the parent definition to return to after attaching this definition
/** * The stage of a point-to-site configuration definition allowing to specify which tunnel type will be used. * @param <ParentT> the stage of the parent definition to return to after attaching this definition */
interface WithTunnelType<ParentT> {
Specifies that only SSTP tunnel type will be used.
Returns:the next stage of the update
/** * Specifies that only SSTP tunnel type will be used. * @return the next stage of the update */
Update withSstpOnly();
Specifies that only IKEv2 VPN tunnel type will be used.
Returns:the next stage of the update
/** * Specifies that only IKEv2 VPN tunnel type will be used. * @return the next stage of the update */
Update withIkeV2Only(); } }
The entirety of a subnet update as part of a network update.
/** * The entirety of a subnet update as part of a network update. */
interface Update extends UpdateStages.WithAddressPool, UpdateStages.WithAuthenticationType, UpdateStages.WithRevokedCertificate, UpdateStages.WithTunnelType, Settable<VirtualNetworkGateway.Update> { } }