in pkg/providers/instance/instance.go [869:897]
func (p *DefaultProvider) getCSExtension(cse string, isWindows bool) *armcompute.VirtualMachineExtension {
const (
vmExtensionType = "Microsoft.Compute/virtualMachines/extensions"
cseNameWindows = "windows-cse-agent-karpenter"
cseTypeWindows = "CustomScriptExtension"
csePublisherWindows = "Microsoft.Compute"
cseVersionWindows = "1.10"
cseNameLinux = "cse-agent-karpenter"
cseTypeLinux = "CustomScript"
csePublisherLinux = "Microsoft.Azure.Extensions"
cseVersionLinux = "2.0"
)
return &armcompute.VirtualMachineExtension{
Location: lo.ToPtr(p.location),
Name: lo.ToPtr(lo.Ternary(isWindows, cseNameWindows, cseNameLinux)),
Type: lo.ToPtr(vmExtensionType),
Properties: &armcompute.VirtualMachineExtensionProperties{
AutoUpgradeMinorVersion: lo.ToPtr(true),
Type: lo.ToPtr(lo.Ternary(isWindows, cseTypeWindows, cseTypeLinux)),
Publisher: lo.ToPtr(lo.Ternary(isWindows, csePublisherWindows, csePublisherLinux)),
TypeHandlerVersion: lo.ToPtr(lo.Ternary(isWindows, cseVersionWindows, cseVersionLinux)),
Settings: &map[string]interface{}{},
ProtectedSettings: &map[string]interface{}{
"commandToExecute": cse,
},
},
}
}