github.com/Azure/aad-pod-identity@v1.8.17/pkg/cloudprovider/truncate.go (about) 1 package cloudprovider 2 3 import ( 4 "github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-12-01/compute" 5 ) 6 7 const ( 8 maxIdentitiesCount = 150 9 ) 10 11 // truncateVMIdentities truncates a given list of vm identities to maxIdentitiesCount and returns any extra identities. 12 func truncateVMIdentities(ids map[string]*compute.VirtualMachineIdentityUserAssignedIdentitiesValue) (map[string]*compute.VirtualMachineIdentityUserAssignedIdentitiesValue, map[string]*compute.VirtualMachineIdentityUserAssignedIdentitiesValue) { 13 rest := make(map[string]*compute.VirtualMachineIdentityUserAssignedIdentitiesValue) 14 i := 0 15 for k, v := range ids { 16 if i >= maxIdentitiesCount { 17 rest[k] = v 18 delete(ids, k) 19 } 20 i++ 21 } 22 23 return ids, rest 24 } 25 26 // truncateVMSSIdentities truncates a given list of vmss identities to maxIdentitiesCount and returns any extra identities. 27 func truncateVMSSIdentities(ids map[string]*compute.VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue) (map[string]*compute.VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue, map[string]*compute.VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue) { 28 rest := make(map[string]*compute.VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue) 29 i := 0 30 for k, v := range ids { 31 if i >= maxIdentitiesCount { 32 rest[k] = v 33 delete(ids, k) 34 } 35 i++ 36 } 37 38 return ids, rest 39 }