mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
fix(region): aws create vpc with igw add defaultroute
This commit is contained in:
@@ -448,9 +448,44 @@ func (self *SVpc) AttachInternetGateway(igwId string) error {
|
||||
return errors.Wrap(err, "AttachInternetGateway")
|
||||
}
|
||||
|
||||
err = self.AddDefaultInternetGatewayRoute(igwId)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "AddDefaultInternetGatewayRoute")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *SVpc) AddDefaultInternetGatewayRoute(igwId string) error {
|
||||
rt, err := self.GetMainRouteTable()
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "GetMainRouteTable")
|
||||
}
|
||||
|
||||
defaultRoute := cloudprovider.RouteSet{}
|
||||
defaultRoute.NextHop = igwId
|
||||
defaultRoute.Destination = "0.0.0.0/0"
|
||||
err = rt.CreateRoute(defaultRoute)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "CreateRoute")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *SVpc) GetMainRouteTable() (*SRouteTable, error) {
|
||||
rt, err := self.region.GetRouteTables(self.GetId(), true)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "GetRouteTables")
|
||||
}
|
||||
|
||||
if len(rt) == 0 {
|
||||
return nil, errors.Wrap(cloudprovider.ErrNotSupported, "GetMainRouteTable")
|
||||
}
|
||||
|
||||
return &rt[0], nil
|
||||
}
|
||||
|
||||
func (self *SVpc) DetachInternetGateways() error {
|
||||
igws, err := self.region.GetInternetGateways(self.GetId())
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user