mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-19 10:46:58 +08:00
fix: init sharing status of default vpc and default secgroup
This commit is contained in:
@@ -1037,4 +1037,12 @@ func init() {
|
||||
return nil
|
||||
})
|
||||
|
||||
R(&CloudaccountShowOptions{}, "cloud-account-change-owner-candidate-domains", "Show candiate domains of a cloud account changing project", func(s *mcclient.ClientSession, args *CloudaccountShowOptions) error {
|
||||
result, err := modules.Cloudaccounts.GetSpecific(s, args.ID, "change-owner-candidate-domains", nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
printObject(result)
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
package shell
|
||||
|
||||
import (
|
||||
"yunion.io/x/jsonutils"
|
||||
|
||||
"yunion.io/x/onecloud/pkg/mcclient"
|
||||
"yunion.io/x/onecloud/pkg/mcclient/modules"
|
||||
"yunion.io/x/onecloud/pkg/mcclient/options"
|
||||
@@ -48,4 +50,32 @@ func init() {
|
||||
printObject(result)
|
||||
return nil
|
||||
})
|
||||
|
||||
type GlobalVpcPublicOptions struct {
|
||||
ID string `help:"ID or name of global vpc" json:"-"`
|
||||
Scope string `help:"sharing scope" choices:"system|domain"`
|
||||
SharedDomains []string `help:"share to domains"`
|
||||
}
|
||||
R(&GlobalVpcPublicOptions{}, "global-vpc-public", "Make global vpc public", func(s *mcclient.ClientSession, args *GlobalVpcPublicOptions) error {
|
||||
params := jsonutils.Marshal(args)
|
||||
result, err := modules.GlobalVpcs.PerformAction(s, args.ID, "public", params)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
printObject(result)
|
||||
return nil
|
||||
})
|
||||
|
||||
type GlobalVpcPrivateOptions struct {
|
||||
ID string `help:"ID or name of global vpc" json:"-"`
|
||||
}
|
||||
R(&GlobalVpcPrivateOptions{}, "global-vpc-private", "Make global vpc private", func(s *mcclient.ClientSession, args *GlobalVpcPrivateOptions) error {
|
||||
params := jsonutils.Marshal(args)
|
||||
result, err := modules.GlobalVpcs.PerformAction(s, args.ID, "private", params)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
printObject(result)
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
@@ -2566,11 +2566,13 @@ func (net *SNetwork) PerformStatus(ctx context.Context, userCred mcclient.TokenC
|
||||
}
|
||||
|
||||
func (net *SNetwork) GetChangeOwnerCandidateDomainIds() []string {
|
||||
candidates := [][]string{
|
||||
db.ISharableChangeOwnerCandidateDomainIds(net),
|
||||
}
|
||||
candidates := [][]string{}
|
||||
wire := net.GetWire()
|
||||
if wire != nil {
|
||||
vpc := wire.GetVpc()
|
||||
if vpc != nil {
|
||||
candidates = append(candidates, vpc.GetChangeOwnerCandidateDomainIds())
|
||||
}
|
||||
candidates = append(candidates, db.ISharableChangeOwnerCandidateDomainIds(wire))
|
||||
}
|
||||
return db.ISharableMergeChangeOwnerCandidateDomainIds(net, candidates...)
|
||||
|
||||
@@ -819,6 +819,7 @@ func (manager *SSecurityGroupManager) InitializeData() error {
|
||||
secGrp.DomainId = auth.AdminCredential().GetProjectDomainId()
|
||||
// secGrp.IsEmulated = false
|
||||
secGrp.IsPublic = true
|
||||
secGrp.PublicScope = string(rbacutils.ScopeSystem)
|
||||
err = manager.TableSpec().Insert(secGrp)
|
||||
if err != nil {
|
||||
log.Errorf("Insert default secgroup failed!!! %s", err)
|
||||
|
||||
@@ -573,6 +573,7 @@ func (manager *SVpcManager) InitializeData() error {
|
||||
defVpc.Description = "Default VPC"
|
||||
defVpc.Status = api.VPC_STATUS_AVAILABLE
|
||||
defVpc.IsDefault = true
|
||||
defVpc.IsPublic = true
|
||||
defVpc.PublicScope = string(rbacutils.ScopeSystem)
|
||||
err = manager.TableSpec().Insert(&defVpc)
|
||||
if err != nil {
|
||||
@@ -1093,12 +1094,13 @@ func (manager *SVpcManager) totalCount(
|
||||
|
||||
func (vpc *SVpc) GetChangeOwnerCandidateDomainIds() []string {
|
||||
candidates := [][]string{
|
||||
db.ISharableChangeOwnerCandidateDomainIds(vpc),
|
||||
vpc.SManagedResourceBase.GetChangeOwnerCandidateDomainIds(),
|
||||
}
|
||||
globalVpc, _ := vpc.GetGlobalVpc()
|
||||
if globalVpc != nil {
|
||||
candidates = append(candidates, db.ISharableChangeOwnerCandidateDomainIds(globalVpc))
|
||||
}
|
||||
log.Debugf("Candidate: %s", candidates)
|
||||
return db.ISharableMergeChangeOwnerCandidateDomainIds(vpc, candidates...)
|
||||
}
|
||||
|
||||
|
||||
@@ -1011,12 +1011,12 @@ func (model *SWire) CustomizeCreate(ctx context.Context, userCred mcclient.Token
|
||||
}
|
||||
|
||||
func (wire *SWire) GetChangeOwnerCandidateDomainIds() []string {
|
||||
candidates := [][]string{
|
||||
db.ISharableChangeOwnerCandidateDomainIds(wire),
|
||||
}
|
||||
candidates := [][]string{}
|
||||
vpc := wire.GetVpc()
|
||||
if vpc != nil {
|
||||
candidates = append(candidates, db.ISharableChangeOwnerCandidateDomainIds(vpc))
|
||||
candidates = append(candidates,
|
||||
vpc.GetChangeOwnerCandidateDomainIds(),
|
||||
db.ISharableChangeOwnerCandidateDomainIds(vpc))
|
||||
}
|
||||
return db.ISharableMergeChangeOwnerCandidateDomainIds(wire, candidates...)
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ var (
|
||||
|
||||
func init() {
|
||||
Vpcs = NewComputeManager("vpc", "vpcs",
|
||||
[]string{"ID", "Name", "Enabled", "Status", "Cloudregion_Id", "Is_default", "Cidr_Block", "Region", "Public_Scope"},
|
||||
[]string{"ID", "Name", "Enabled", "Status", "Cloudregion_Id", "Is_default", "Cidr_Block", "Region", "Public_Scope", "Domain_Id", "Domain"},
|
||||
[]string{})
|
||||
|
||||
registerCompute(&Vpcs)
|
||||
|
||||
Reference in New Issue
Block a user