func configureDNI()

in projects/aws/bottlerocket-bootstrap/pkg/providers/snow/system/network.go [52:89]


func configureDNI() error {
	if files.PathExists(netConfigPath) {
		return nil
	}

	instanceIP, err := instanceIP()
	if err != nil {
		return errors.Wrap(err, "error getting local instance ip")
	}

	defaultGateway, err := defaultGateway()
	if err != nil {
		return errors.Wrap(err, "error getting default gateway")
	}

	network, err := networkMapping()
	if err != nil {
		return errors.Wrap(err, "error generating network mapping")
	}

	data := map[string]interface{}{
		"network":           network,
		"instanceIP":        instanceIP,
		"defaultGateway":    defaultGateway,
		"metadataServiceIP": metadataServiceIP,
	}

	b, err := GenerateNetworkTemplate(data)
	if err != nil {
		return errors.Wrap(err, "error generating network template")
	}

	if err := files.Write(netConfigPath, b, 0o640); err != nil {
		return errors.Wrapf(err, "error writing network configuration to %s", netConfigPath)
	}

	return nil
}