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.Method;
import com.microsoft.azure.management.network.implementation.ExpressRouteCrossConnectionPeeringInner;
import com.microsoft.azure.management.network.implementation.NetworkManager;
import com.microsoft.azure.management.resources.fluentcore.arm.models.IndependentChild;
import com.microsoft.azure.management.resources.fluentcore.model.Appliable;
import com.microsoft.azure.management.resources.fluentcore.model.Creatable;
import com.microsoft.azure.management.resources.fluentcore.model.HasInner;
import com.microsoft.azure.management.resources.fluentcore.model.Refreshable;
import com.microsoft.azure.management.resources.fluentcore.model.Updatable;
Client-side representation of express route cross connection peering object, associated with express route cross connection.
/**
* Client-side representation of express route cross connection peering object, associated with express route cross connection.
*/
@Fluent
@Beta(Beta.SinceVersion.V1_11_0)
public interface ExpressRouteCrossConnectionPeering extends
IndependentChild<NetworkManager>,
HasInner<ExpressRouteCrossConnectionPeeringInner>,
Refreshable<ExpressRouteCrossConnectionPeering>,
Updatable<ExpressRouteCrossConnectionPeering.Update> {
Returns: the peering type
/**
* @return the peering type
*/
ExpressRoutePeeringType peeringType();
Returns: the peering state
/**
* @return the peering state
*/
ExpressRoutePeeringState state();
Returns: the Azure ASN
/**
* @return the Azure ASN
*/
int azureASN();
Returns: the peer ASN
/**
* @return the peer ASN
*/
long peerASN();
Returns: the primary address prefix
/**
* @return the primary address prefix
*/
String primaryPeerAddressPrefix();
Returns: the secondary address prefix
/**
* @return the secondary address prefix
*/
String secondaryPeerAddressPrefix();
Returns: the primary port
/**
* @return the primary port
*/
String primaryAzurePort();
Returns: the secondary port
/**
* @return the secondary port
*/
String secondaryAzurePort();
Returns: the shared key
/**
* @return the shared key
*/
String sharedKey();
Returns: the VLAN ID
/**
* @return the VLAN ID
*/
int vlanId();
Returns: the Microsoft peering configuration
/**
* @return the Microsoft peering configuration
*/
ExpressRouteCircuitPeeringConfig microsoftPeeringConfig();
Returns: the provisioning state of the public IP resource
/**
* @return the provisioning state of the public IP resource
*/
ProvisioningState provisioningState();
Returns: the GatewayManager Etag
/**
* @return the GatewayManager Etag
*/
String gatewayManagerEtag();
Returns: whether the provider or the customer last modified the peering
/**
* @return whether the provider or the customer last modified the peering
*/
String lastModifiedBy();
Returns: the IPv6 peering configuration.
/**
* @return the IPv6 peering configuration.
*/
Ipv6ExpressRouteCircuitPeeringConfig ipv6PeeringConfig();
The entirety of the express route Cross Connection peering definition.
/**
* The entirety of the express route Cross Connection peering definition.
*/
interface Definition extends
DefinitionStages.Blank,
DefinitionStages.WithAdvertisedPublicPrefixes,
DefinitionStages.WithCustomerASN,
DefinitionStages.WithRoutingRegistryName,
DefinitionStages.WithPrimaryPeerAddressPrefix,
DefinitionStages.WithSecondaryPeerAddressPrefix,
DefinitionStages.WithVlanId,
DefinitionStages.WithPeerAsn,
DefinitionStages.WithCreate {
}
Grouping of express route Cross Connection peering definition stages.
/**
* Grouping of express route Cross Connection peering definition stages.
*/
interface DefinitionStages {
interface Blank extends WithPrimaryPeerAddressPrefix {
}
The stage of Express Route Cross Connection Peering definition allowing to specify advertised address prefixes.
/**
* The stage of Express Route Cross Connection Peering definition allowing to specify advertised address prefixes.
*/
interface WithAdvertisedPublicPrefixes {
Specify advertised prefixes: sets a list of all prefixes that are planned to advertise over the BGP session.
Only public IP address prefixes are accepted. A set of prefixes can be sent as a comma-separated list.
These prefixes must be registered to you in an RIR / IRR.
Params: - publicPrefixes – advertised prefixes
Returns: next stage of definition
/**
* Specify advertised prefixes: sets a list of all prefixes that are planned to advertise over the BGP session.
* Only public IP address prefixes are accepted. A set of prefixes can be sent as a comma-separated list.
* These prefixes must be registered to you in an RIR / IRR.
* @param publicPrefixes advertised prefixes
* @return next stage of definition
*/
WithCustomerASN withAdvertisedPublicPrefixes(String publicPrefixes);
}
The stage of Cross Connection Peering configuration definition allowing to specify customer ASN.
/**
* The stage of Cross Connection Peering configuration definition allowing to specify customer ASN.
*/
interface WithCustomerASN {
Specifies customer ASN.
Params: - customerASN – customer ASN
Returns: the next satge of the definition
/**
* Specifies customer ASN.
* @param customerASN customer ASN
* @return the next satge of the definition
*/
WithRoutingRegistryName withCustomerASN(int customerASN);
}
The stage of Cross Connection Peering definition allowing to specify routing registry name.
/**
* The stage of Cross Connection Peering definition allowing to specify routing registry name.
*/
interface WithRoutingRegistryName {
Specifies routing registry name.
Params: - routingRegistryName – routing registry name
Returns: the next stage of the definition
/**
* Specifies routing registry name.
* @param routingRegistryName routing registry name
* @return the next stage of the definition
*/
WithPrimaryPeerAddressPrefix withRoutingRegistryName(String routingRegistryName);
}
The stage of Express Route Cross Connection Peering definition allowing to specify primary address prefix.
/**
* The stage of Express Route Cross Connection Peering definition allowing to specify primary address prefix.
*/
interface WithPrimaryPeerAddressPrefix {
WithSecondaryPeerAddressPrefix withPrimaryPeerAddressPrefix(String addressPrefix);
}
The stage of Express Route Cross Connection Peering definition allowing to specify secondary address prefix.
/**
* The stage of Express Route Cross Connection Peering definition allowing to specify secondary address prefix.
*/
interface WithSecondaryPeerAddressPrefix {
WithVlanId withSecondaryPeerAddressPrefix(String addressPrefix);
}
The stage of Express Route Cross Connection Peering definition allowing to specify VLAN ID.
/**
* The stage of Express Route Cross Connection Peering definition allowing to specify VLAN ID.
*/
interface WithVlanId {
Params: - vlanId – a valid VLAN ID to establish this peering on. No other peering in the circuit can use the same VLAN ID
Returns: next stage of definition
/**
*
* @param vlanId a valid VLAN ID to establish this peering on. No other peering in the circuit can use the same VLAN ID
* @return next stage of definition
*/
WithPeerAsn withVlanId(int vlanId);
}
The stage of Express Route Cross Connection Peering definition allowing to specify AS number for peering.
/**
* The stage of Express Route Cross Connection Peering definition allowing to specify AS number for peering.
*/
interface WithPeerAsn {
Params: - peerAsn – AS number for peering. Both 2-byte and 4-byte AS numbers can be used
Returns: next stage of definition
/**
* @param peerAsn AS number for peering. Both 2-byte and 4-byte AS numbers can be used
* @return next stage of definition
*/
WithCreate withPeerAsn(long peerAsn);
}
interface WithSharedKey {
WithCreate withSharedKey(String sharedKey);
}
interface WithIpv6PeeringConfig {
Ipv6PeeringConfig.DefinitionStages.Blank<WithCreate> defineIpv6Config();
WithCreate withoutIpv6Config();
}
The stage of Express Route Cross Connection Peering definition allowing to specify the peering state.
/**
* The stage of Express Route Cross Connection Peering definition allowing to specify the peering state.
*/
interface WithState {
Specifies the peering state.
Params: - state – the peering state
Returns: the next stage of the definition
/**
* Specifies the peering state.
* @param state the peering state
* @return the next stage of the definition
*/
WithCreate withState(ExpressRoutePeeringState state);
}
interface WithCreate extends
Creatable<ExpressRouteCrossConnectionPeering>,
DefinitionStages.WithSharedKey,
DefinitionStages.WithIpv6PeeringConfig,
DefinitionStages.WithState {
}
}
Grouping of express route cross connection peering update stages.
/**
* Grouping of express route cross connection peering update stages.
*/
interface Update extends Appliable<ExpressRouteCrossConnectionPeering>,
UpdateStages.WithAdvertisedPublicPrefixes,
UpdateStages.WithCustomerASN,
UpdateStages.WithRoutingRegistryName,
UpdateStages.WithPrimaryPeerAddressPrefix,
UpdateStages.WithSecondaryPeerAddressPrefix,
UpdateStages.WithVlanId,
UpdateStages.WithPeerAsn,
UpdateStages.WithIpv6PeeringConfig,
UpdateStages.WithState {
}
The template for express route Cross Connection peering update operation, containing all the settings that
can be modified.
/**
* The template for express route Cross Connection peering update operation, containing all the settings that
* can be modified.
*/
interface UpdateStages {
The stage of Express Route Cross Connection Peering update allowing to specify advertised address prefixes.
/**
* The stage of Express Route Cross Connection Peering update allowing to specify advertised address prefixes.
*/
interface WithAdvertisedPublicPrefixes {
Update withAdvertisedPublicPrefixes(String publicPrefixes);
}
The stage of Cross Connection Peering configuration definition allowing to specify customer ASN.
/**
* The stage of Cross Connection Peering configuration definition allowing to specify customer ASN.
*/
interface WithCustomerASN {
Specifies customer ASN.
Params: - customerASN – customer ASN
Returns: the next stage of the definition
/**
* Specifies customer ASN.
* @param customerASN customer ASN
* @return the next stage of the definition
*/
Update withCustomerASN(int customerASN);
}
The stage of Cross Connection Peering definition allowing to specify routing registry name.
/**
* The stage of Cross Connection Peering definition allowing to specify routing registry name.
*/
interface WithRoutingRegistryName {
Specifies routing registry name.
Params: - routingRegistryName – routing registry name
Returns: the next stage of the definition
/**
* Specifies routing registry name.
* @param routingRegistryName routing registry name
* @return the next stage of the definition
*/
Update withRoutingRegistryName(String routingRegistryName);
}
The stage of Express Route Cross Connection Peering update allowing to specify primary address prefix.
/**
* The stage of Express Route Cross Connection Peering update allowing to specify primary address prefix.
*/
interface WithPrimaryPeerAddressPrefix {
Update withPrimaryPeerAddressPrefix(String addressPrefix);
}
The stage of Express Route Cross Connection Peering update allowing to specify secondary address prefix.
/**
* The stage of Express Route Cross Connection Peering update allowing to specify secondary address prefix.
*/
interface WithSecondaryPeerAddressPrefix {
Params: - addressPrefix – secondary address prefix
Returns: the next stage of the update
/**
* @param addressPrefix secondary address prefix
* @return the next stage of the update
*/
Update withSecondaryPeerAddressPrefix(String addressPrefix);
}
The stage of Express Route Cross Connection Peering update allowing to specify VLAN ID.
/**
* The stage of Express Route Cross Connection Peering update allowing to specify VLAN ID.
*/
interface WithVlanId {
Sets the VLAN ID.
Params: - vlanId – VLAN ID
Returns: the next stage of the update
/**
* Sets the VLAN ID.
* @param vlanId VLAN ID
* @return the next stage of the update
*/
Update withVlanId(int vlanId);
}
The stage of Express Route Cross Connection Peering update allowing to specify AS number for peering.
/**
* The stage of Express Route Cross Connection Peering update allowing to specify AS number for peering.
*/
interface WithPeerAsn {
Sets peer ASN.
Params: - peerAsn – the AS number for peering
Returns: the next stage of the update
/**
* Sets peer ASN.
* @param peerAsn the AS number for peering
* @return the next stage of the update
*/
Update withPeerAsn(long peerAsn);
}
Specifies IPv6 configuration.
/**
* Specifies IPv6 configuration.
*/
interface WithIpv6PeeringConfig {
Begins the definition of IPv6 configuration.
Returns: next stage of Ipv6 configuration definition
/**
* Begins the definition of IPv6 configuration.
* @return next stage of Ipv6 configuration definition
*/
@Method
Ipv6PeeringConfig.UpdateDefinitionStages.Blank<Update> defineIpv6Config();
Removes IPv6 configuration from peering.
Returns: the next stage of the update
/**
* Removes IPv6 configuration from peering.
* @return the next stage of the update
*/
@Method
Update withoutIpv6Config();
}
The stage of Express Route Cross Connection Peering update allowing to specify the peering state.
/**
* The stage of Express Route Cross Connection Peering update allowing to specify the peering state.
*/
interface WithState {
Specifies the peering state.
Params: - state – the peering state
Returns: the next stage of the update
/**
* Specifies the peering state.
* @param state the peering state
* @return the next stage of the update
*/
Update withState(ExpressRoutePeeringState state);
}
}
}