42 lines
939 B
Go
42 lines
939 B
Go
package utils
|
|
|
|
import (
|
|
"net"
|
|
"strconv"
|
|
|
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
|
)
|
|
|
|
func IncrementIP(ip net.IP) net.IP {
|
|
if ip == nil {
|
|
return ip
|
|
}
|
|
ip = ip.To4()
|
|
ip[3]++
|
|
return ip
|
|
}
|
|
|
|
func IDtoInt(val string) (int, error) {
|
|
i, err := strconv.Atoi(val)
|
|
return i, err
|
|
}
|
|
|
|
func IDtoIntPtr(val string) (*int, error) {
|
|
i, err := strconv.Atoi(val)
|
|
return &i, err
|
|
}
|
|
|
|
// Convert pulumi.IDOutput to pulumi.InOutput
|
|
//
|
|
// Some hcloud ID's are int based, but pulumi.IDOutput doesn't have a ToIntOutput method
|
|
func IDtoIntOutput(val pulumi.IDInput) pulumi.IntOutput {
|
|
return val.ToIDOutput().ToStringOutput().ApplyT(IDtoInt).(pulumi.IntOutput)
|
|
}
|
|
|
|
// Convert pulumi.IDOutput to pulumi.InOutput
|
|
//
|
|
// Some hcloud ID's are int based, but pulumi.IDOutput doesn't have a ToIntOutput method
|
|
func IDtoIntPtrOutput(val pulumi.IDInput) pulumi.IntPtrOutput {
|
|
return val.ToIDOutput().ToStringOutput().ApplyT(IDtoIntPtr).(pulumi.IntPtrOutput)
|
|
}
|