public override void Execute() { base.Execute(); var vRouteTable = new PSRouteTable { DisableBgpRoutePropagation = this.DisableBgpRoutePropagation, Location = this.Location, Routes = this.Route, }; var vRouteTableModel = NetworkResourceManagerProfile.Mapper.Map <MNM.RouteTable>(vRouteTable); vRouteTableModel.Tags = TagsConversionHelper.CreateTagDictionary(this.Tag, validate: true); var present = true; try { this.NetworkClient.NetworkManagementClient.RouteTables.Get(this.ResourceGroupName, this.Name); } catch (Microsoft.Rest.Azure.CloudException exception) { if (exception.Response.StatusCode == HttpStatusCode.NotFound) { // Resource is not present present = false; } else { throw; } } ConfirmAction( Force.IsPresent, string.Format(Properties.Resources.OverwritingResource, Name), Properties.Resources.CreatingResourceMessage, Name, () => { this.NetworkClient.NetworkManagementClient.RouteTables.CreateOrUpdate(this.ResourceGroupName, this.Name, vRouteTableModel); var getRouteTable = this.NetworkClient.NetworkManagementClient.RouteTables.Get(this.ResourceGroupName, this.Name); var psRouteTable = NetworkResourceManagerProfile.Mapper.Map <PSRouteTable>(getRouteTable); psRouteTable.ResourceGroupName = this.ResourceGroupName; psRouteTable.Tag = TagsConversionHelper.CreateTagHashtable(getRouteTable.Tags); WriteObject(psRouteTable, true); }, () => present); }
private PSRouteTable CreateRouteTable() { var psRouteTable = new PSRouteTable(); psRouteTable.Name = this.Name; psRouteTable.ResourceGroupName = this.ResourceGroupName; psRouteTable.Location = this.Location; psRouteTable.Routes = this.Route; // Map to the sdk object var routeTableModel = Mapper.Map <MNM.RouteTable>(psRouteTable); routeTableModel.Tags = TagsConversionHelper.CreateTagDictionary(this.Tag, validate: true); // Execute the Create RouteTable call this.RouteTableClient.CreateOrUpdate(this.ResourceGroupName, this.Name, routeTableModel); var getRouteTable = this.GetRouteTable(this.ResourceGroupName, this.Name); return(getRouteTable); }