Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
3741e5f
Added application security groups
lenala Apr 20, 2018
e3feb07
Added route filters
lenala Apr 23, 2018
8cfac00
Added route filter rules
lenala Apr 23, 2018
1228a35
checkstyle
lenala Apr 23, 2018
f545df6
Adding list availbale providers for network watcher
lenala Apr 24, 2018
b897705
Adding reachability report for network watcher
lenala Apr 25, 2018
eb16ab4
checkstyle
lenala Apr 25, 2018
e1b1731
Connection Monitor for Network Watcher
lenala Apr 25, 2018
82a050f
test for Connection Monitor
lenala Apr 26, 2018
2d1e2c7
Adding DDoS protection plans
lenala Apr 26, 2018
3d399ec
Adding disableBgpRoutePropagation property to RouteTable
lenala Apr 27, 2018
c84108c
checkstyle
lenala Apr 27, 2018
b2842d6
Adding DDoS protection plans and VM protection
lenala Apr 27, 2018
e9f59ba
remoteAddressSpace property for NetworkPeering
lenala Apr 27, 2018
02d1b1e
updateTags() for LocalNetworkGateway
lenala Apr 30, 2018
8527964
updateTags() for Network
lenala Apr 30, 2018
8d4e871
updateTags() for ExpressRouteCircuit, NetworkSecurityGroup, PublicIPA…
lenala Apr 30, 2018
8446fc6
updateTags() for NetworkInterface
lenala Apr 30, 2018
d826e4c
updateTags() for RouteTable
lenala Apr 30, 2018
e88440d
checkstyle
lenala Apr 30, 2018
363714e
updateTags() for LoadBalancer, ApplicationGateway and VirtualNetworkG…
lenala May 1, 2018
b4026c6
ipTags for PublicIPAddress
lenala May 1, 2018
7688033
adding application security groups for NetworkInterface
lenala May 1, 2018
e866bb9
fixing build
lenala May 1, 2018
2c415fa
session record
lenala May 1, 2018
94d553b
addressing code review
lenala May 1, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import com.microsoft.azure.management.network.implementation.NetworkManager;
import com.microsoft.azure.management.network.model.HasPrivateIPAddress;
import com.microsoft.azure.management.network.model.HasPublicIPAddress;
import com.microsoft.azure.management.network.model.UpdatableWithTags;
import com.microsoft.azure.management.resources.fluentcore.arm.AvailabilityZoneId;
import com.microsoft.azure.management.resources.fluentcore.arm.models.GroupableResource;
import com.microsoft.azure.management.resources.fluentcore.arm.models.HasSubnet;
Expand All @@ -37,6 +38,7 @@ public interface ApplicationGateway extends
GroupableResource<NetworkManager, ApplicationGatewayInner>,
Refreshable<ApplicationGateway>,
Updatable<ApplicationGateway.Update>,
UpdatableWithTags<ApplicationGateway>,
HasSubnet,
HasPrivateIPAddress {

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
/**
* 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.network.implementation.ApplicationSecurityGroupInner;
import com.microsoft.azure.management.network.implementation.NetworkManager;
import com.microsoft.azure.management.resources.fluentcore.arm.models.GroupableResource;
import com.microsoft.azure.management.resources.fluentcore.arm.models.Resource;
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.Refreshable;
import com.microsoft.azure.management.resources.fluentcore.model.Updatable;

/**
* Application security group.
*/
@Fluent
@Beta(Beta.SinceVersion.V1_10_0)
public interface ApplicationSecurityGroup extends
GroupableResource<NetworkManager, ApplicationSecurityGroupInner>,
Refreshable<ApplicationSecurityGroup>,
Updatable<ApplicationSecurityGroup.Update> {
/**
* @return the resource GUID property of the application security group resource.
* It uniquely identifies a resource, even if the user changes its name or
* migrate the resource across subscriptions or resource groups.
*/
String resourceGuid();

/**
* @return the provisioning state of the application security group resource
*/
String provisioningState();

// Fluent interfaces for creating Application Security Groups

/**
* The entirety of the application security group definition.
*/
interface Definition extends
DefinitionStages.Blank,
DefinitionStages.WithGroup,
DefinitionStages.WithCreate {
}

/**
* Grouping of application security group definition stages.
*/
interface DefinitionStages {
/**
* The first stage of the definition.
*/
interface Blank
extends GroupableResource.DefinitionWithRegion<WithGroup> {
}

/**
* The stage allowing to specify the resource group.
*/
interface WithGroup
extends GroupableResource.DefinitionStages.WithGroup<WithCreate> {
}

/**
* The stage of the definition which contains all the minimum required inputs for
* the resource to be created (via {@link WithCreate#create()}), but also allows
* for any other optional settings to be specified.
*/
interface WithCreate extends
Creatable<ApplicationSecurityGroup>,
Resource.DefinitionWithTags<WithCreate> {
}
}

/**
* The template for an update operation, containing all the settings that
* can be modified.
* <p>
* Call {@link Update#apply()} to apply the changes to the resource in Azure.
*/
interface Update extends
Appliable<ApplicationSecurityGroup>,
Resource.UpdateWithTags<Update> {
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/**
* 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.network.implementation.ApplicationSecurityGroupsInner;
import com.microsoft.azure.management.network.implementation.NetworkManager;
import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsBatchDeletion;
import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsDeletingByResourceGroup;
import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsGettingByResourceGroup;
import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsGettingById;
import com.microsoft.azure.management.resources.fluentcore.arm.collection.SupportsListingByResourceGroup;
import com.microsoft.azure.management.resources.fluentcore.arm.models.HasManager;
import com.microsoft.azure.management.resources.fluentcore.collection.SupportsBatchCreation;
import com.microsoft.azure.management.resources.fluentcore.collection.SupportsCreating;
import com.microsoft.azure.management.resources.fluentcore.collection.SupportsDeletingById;
import com.microsoft.azure.management.resources.fluentcore.collection.SupportsListing;
import com.microsoft.azure.management.resources.fluentcore.model.HasInner;


/**
* Entry point to application security group management.
*/
@Fluent
@Beta(Beta.SinceVersion.V1_10_0)
public interface ApplicationSecurityGroups extends
SupportsCreating<ApplicationSecurityGroup.DefinitionStages.Blank>,
SupportsListing<ApplicationSecurityGroup>,
SupportsListingByResourceGroup<ApplicationSecurityGroup>,
SupportsGettingByResourceGroup<ApplicationSecurityGroup>,
SupportsGettingById<ApplicationSecurityGroup>,
SupportsDeletingById,
SupportsDeletingByResourceGroup,
SupportsBatchCreation<ApplicationSecurityGroup>,
SupportsBatchDeletion,
HasManager<NetworkManager>,
HasInner<ApplicationSecurityGroupsInner> {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
/**
* 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.Beta.SinceVersion;
import com.microsoft.azure.management.apigeneration.Fluent;
import com.microsoft.azure.management.network.implementation.AvailableProvidersListInner;
import com.microsoft.azure.management.resources.fluentcore.arm.models.HasParent;
import com.microsoft.azure.management.resources.fluentcore.model.Executable;
import com.microsoft.azure.management.resources.fluentcore.model.HasInner;

import java.util.Map;

/**
* An immutable client-side representation of available Internet service providers.
*/
@Fluent
@Beta(SinceVersion.V1_10_0)
public interface AvailableProviders extends Executable<AvailableProviders>,
HasInner<AvailableProvidersListInner>,
HasParent<NetworkWatcher> {
/**
* @return parameters used to query available internet providers
*/
AvailableProvidersListParameters availableProvidersParameters();

/**
* @return read-only map of available internet providers, indexed by country
*/
Map<String, AvailableProvidersListCountry> providersByCountry();

/**
* The entirety of available providers parameters definition.
*/
interface Definition extends DefinitionStages.WithExecuteAndCountry,
DefinitionStages.WithExecuteAndState,
DefinitionStages.WithExecuteAndCity {
}

/**
* Grouping of available providers parameters definition stages.
*/
interface DefinitionStages {
/**
* The first stage of available providers parameters definition.
*/
interface WithAzureLocations {
/**
* Set the list of Azure regions. Note: this will overwrite locations if already set.
*
* @param azureLocations locations list
* @return the AvailableProviders object itself.
*/
WithExecute withAzureLocations(String... azureLocations);
/**
* Sets Azure region name. Note: this method has additive effect.
*
* @param azureLocation region name
* @return the AvailableProviders object itself.
*/
WithExecuteAndCountry withAzureLocation(String azureLocation);
}

/**
* The stage of the definition which contains all the minimum required inputs for execution, but also allows
* for any other optional settings to be specified.
*/
interface WithExecute extends
Executable<AvailableProviders>,
DefinitionStages.WithAzureLocations {
}

/**
* The stage of the definition which allows to specify country or execute the query.
*/
interface WithExecuteAndCountry extends WithExecute {
/**
* @param country the country for available providers list
* @return the next stage of the definition
*/
WithExecuteAndState withCountry(String country);
}

/**
* The stage of the definition which allows to specify state or execute the query.
*/
interface WithExecuteAndState extends WithExecute {
/**
* @param state the state for available providers list
* @return the next stage of the definition
*/
WithExecuteAndCity withState(String state);
}

/**
* The stage of the definition which allows to specify city or execute the query.
*/
interface WithExecuteAndCity extends WithExecute {
/**
* @param city the city or town for available providers list
* @return the next stage of the definition
*/
WithExecute withCity(String city);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
/**
* 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.Beta.SinceVersion;
import com.microsoft.azure.management.apigeneration.Fluent;
import com.microsoft.azure.management.network.implementation.AzureReachabilityReportInner;
import com.microsoft.azure.management.resources.fluentcore.arm.models.HasParent;
import com.microsoft.azure.management.resources.fluentcore.model.Executable;
import com.microsoft.azure.management.resources.fluentcore.model.HasInner;
import org.joda.time.DateTime;

import java.util.List;

/**
* An immutable client-side representation of Azure reachability report details.
*/
@Fluent
@Beta(SinceVersion.V1_10_0)
public interface AzureReachabilityReport extends Executable<AzureReachabilityReport>,
HasInner<AzureReachabilityReportInner>,
HasParent<NetworkWatcher> {
/**
* @return the aggregation level of Azure reachability report. Can be Country,
* State or City.
*/
String aggregationLevel();

/**
* @return the providerLocation property
*/
AzureReachabilityReportLocation providerLocation();

/**
* @return list of Azure reachability report items.
*/
List<AzureReachabilityReportItem> reachabilityReport();
/**
* @return parameters used to query available internet providers
*/
AzureReachabilityReportParameters azureReachabilityReportParameters();

/**
* The entirety of Azure reachability report parameters definition.
*/
interface Definition extends DefinitionStages.WithProviderLocation,
DefinitionStages.WithStartTime,
DefinitionStages.WithEndTime,
DefinitionStages.WithExecute {
}

/**
* Grouping of Azure reachability report definition stages.
*/
interface DefinitionStages {
/**
* The first stage of Azure reachability report parameters definition.
*/
interface WithProviderLocation {
/**
* @param country the name of the country
* @return the AzureReachabilityReport object itself
*/
WithStartTime withProviderLocation(String country);
/**
* @param country the name of the country
* @param state the name of the state
* @return the AzureReachabilityReport object itself
*/
WithStartTime withProviderLocation(String country, String state);
/**
* @param country the name of the country
* @param state the name of the state
* @param city the name of the city
* @return the AzureReachabilityReport object itself
*/
WithStartTime withProviderLocation(String country, String state, String city);
}

/**
* Sets the start time for the Azure reachability report.
*/
interface WithStartTime {
/**
* @param startTime the start time for the Azure reachability report
* @return the next stage of the definition
*/
WithEndTime withStartTime(DateTime startTime);
}

/**
* Sets the end time for the Azure reachability report.
*/
interface WithEndTime {
/**
* @param endTime the start time for the Azure reachability report
* @return the next stage of the definition
*/
WithExecute withEndTime(DateTime endTime);
}

/**
* Sets Azure regions to scope the query to.
* Note: if none or multiple Azure regions specified, only one provider should be set.
* If none or multiple providers specified, only one Azure region should be set.
*/
interface WithAzureLocations {
WithExecute withAzureLocations(String... azureLocations);
}

/**
* Sets the list of Internet service providers.
* Note: if none or multiple Azure regions specified, only one provider should be set.
* If none or multiple providers specified, only one Azure region should be set.
*/
interface WithProviders {
/**
* @param providers the list of Internet service providers
* @return the next stage of the definition
*/
WithExecute withProviders(String... providers);
}

/**
* The stage of the definition which contains all the minimum required inputs for execution, but also allows
* for any other optional settings to be specified.
*/
interface WithExecute extends
Executable<AzureReachabilityReport>,
DefinitionStages.WithAzureLocations,
DefinitionStages.WithProviders {
}
}
}
Loading