Пример #1
0
        public void AddIpConfigurtaionToPSVirtualHub(CNM.PSVirtualHub virtualHubModel,
                                                     string resourceGroupName,
                                                     string routerName)
        {
            var ipConfigModels = this.NetworkClient.NetworkManagementClient.VirtualHubIpConfiguration.List(resourceGroupName, routerName);
            var ipConfigList   = ListNextLink <HubIpConfiguration> .GetAllResourcesByPollingNextLink(ipConfigModels, this.NetworkClient.NetworkManagementClient.VirtualHubIpConfiguration.ListNext);

            HubIpConfiguration ipConfigModel = null;

            if (ipConfigList.Count > 0)
            {
                ipConfigModel = ipConfigList[0];
            }
            var ipconfig = NetworkResourceManagerProfile.Mapper.Map <CNM.PSHubIpConfiguration>(ipConfigModel);

            virtualHubModel.IpConfigurations = new List <CNM.PSHubIpConfiguration>();
            virtualHubModel.IpConfigurations.Add(ipconfig);
        }
Пример #2
0
        public override void Execute()
        {
            base.Execute();


            var present = true;

            try
            {
                this.NetworkClient.NetworkManagementClient.VirtualHubs.Get(this.ResourceGroupName, this.Name);
            }
            catch (Exception ex)
            {
                if (ex is Microsoft.Azure.Management.Network.Models.ErrorException || ex is Rest.Azure.CloudException)
                {
                    // Resource is not present
                    present = false;
                }
                else
                {
                    throw;
                }
            }

            if (present)
            {
                throw new PSArgumentException(string.Format(Properties.Resources.ResourceAlreadyPresentInResourceGroup, this.Name, this.ResourceGroupName));
            }


            ConfirmAction(
                Properties.Resources.CreatingResourceMessage,
                Name,
                () =>
            {
                WriteVerbose(String.Format(Properties.Resources.CreatingLongRunningOperationMessage, this.ResourceGroupName, this.Name));
                PSVirtualHub virtualHub = new PSVirtualHub
                {
                    ResourceGroupName = this.ResourceGroupName,
                    Name     = this.Name,
                    Location = this.Location
                };

                virtualHub.RouteTables      = new List <PSVirtualHubRouteTable>();
                string ipConfigName         = "ipconfig1";
                HubIpConfiguration ipconfig = new HubIpConfiguration
                {
                    Subnet = new Subnet()
                    {
                        Id = this.HostedSubnet
                    }
                };

                var virtualHubModel  = NetworkResourceManagerProfile.Mapper.Map <MNM.VirtualHub>(virtualHub);
                virtualHubModel.Tags = TagsConversionHelper.CreateTagDictionary(this.Tag, validate: true);
                virtualHubModel.Sku  = "Standard";

                this.NetworkClient.NetworkManagementClient.VirtualHubs.CreateOrUpdate(this.ResourceGroupName, this.Name, virtualHubModel);
                this.NetworkClient.NetworkManagementClient.VirtualHubIpConfiguration.CreateOrUpdate(this.ResourceGroupName, this.Name, ipConfigName, ipconfig);
                virtualHubModel = this.NetworkClient.NetworkManagementClient.VirtualHubs.Get(this.ResourceGroupName, this.Name);

                virtualHub = NetworkResourceManagerProfile.Mapper.Map <PSVirtualHub>(virtualHubModel);
                virtualHub.ResourceGroupName = this.ResourceGroupName;
                AddIpConfigurtaionToPSVirtualHub(virtualHub, this.ResourceGroupName, this.Name, ipConfigName);

                var virtualRouter = new PSVirtualRouter(virtualHub);
                virtualRouter.Tag = TagsConversionHelper.CreateTagHashtable(virtualHubModel.Tags);
                WriteObject(virtualRouter, true);
            });
        }
Пример #3
0
 /// <summary>
 /// Creates a VirtualHubIpConfiguration resource if it doesn't exist else
 /// updates the existing VirtualHubIpConfiguration.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The resource group name of the VirtualHub.
 /// </param>
 /// <param name='virtualHubName'>
 /// The name of the VirtualHub.
 /// </param>
 /// <param name='ipConfigName'>
 /// The name of the ipconfig.
 /// </param>
 /// <param name='parameters'>
 /// Hub Ip Configuration parameters.
 /// </param>
 public static HubIpConfiguration CreateOrUpdate(this IVirtualHubIpConfigurationOperations operations, string resourceGroupName, string virtualHubName, string ipConfigName, HubIpConfiguration parameters)
 {
     return(operations.CreateOrUpdateAsync(resourceGroupName, virtualHubName, ipConfigName, parameters).GetAwaiter().GetResult());
 }
Пример #4
0
 /// <summary>
 /// Creates a VirtualHubIpConfiguration resource if it doesn't exist else
 /// updates the existing VirtualHubIpConfiguration.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The resource group name of the VirtualHub.
 /// </param>
 /// <param name='virtualHubName'>
 /// The name of the VirtualHub.
 /// </param>
 /// <param name='ipConfigName'>
 /// The name of the ipconfig.
 /// </param>
 /// <param name='parameters'>
 /// Hub Ip Configuration parameters.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <HubIpConfiguration> BeginCreateOrUpdateAsync(this IVirtualHubIpConfigurationOperations operations, string resourceGroupName, string virtualHubName, string ipConfigName, HubIpConfiguration parameters, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, virtualHubName, ipConfigName, parameters, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }