func AddAzureVMExtensionConfiguration(role *vm.Role, name, publisher, version, referenceName, state string, publicConfigurationValue, privateConfigurationValue []byte) error { if role == nil { return fmt.Errorf(errParamNotSpecified, "role") } extension := vm.ResourceExtensionReference{ Name: name, Publisher: publisher, Version: version, ReferenceName: referenceName, State: state, } if len(privateConfigurationValue) != 0 { extension.ParameterValues = append(extension.ParameterValues, vm.ResourceExtensionParameter{ Key: "ignored", Value: base64.StdEncoding.EncodeToString(privateConfigurationValue), Type: "Private", }) } if len(publicConfigurationValue) != 0 { extension.ParameterValues = append(extension.ParameterValues, vm.ResourceExtensionParameter{ Key: "ignored", Value: base64.StdEncoding.EncodeToString(publicConfigurationValue), Type: "Public", }) } if role.ResourceExtensionReferences == nil { role.ResourceExtensionReferences = &[]vm.ResourceExtensionReference{} } extensionList := append(*role.ResourceExtensionReferences, extension) role.ResourceExtensionReferences = &extensionList return nil }