in cli_tools/common/utils/paramhelper/subnet.go [45:68]
func SplitSubnetResource(originalInput string) (*SubnetResource, error) {
if originalInput == "" {
return &SubnetResource{}, nil
}
parts := strings.Split(trimResourcePrefix(originalInput), "/")
resource := &SubnetResource{}
if len(parts) == 6 && parts[0] == "projects" {
resource.Project = parts[1]
parts = parts[2:]
}
if len(parts) == 4 && parts[0] == "regions" {
resource.Region = parts[1]
parts = parts[2:]
}
if len(parts) == 2 && parts[0] == "subnetworks" {
parts = parts[1:]
}
if len(parts) != 1 {
return nil, daisy.Errf("%q is not a valid subnet resource identifier. See %s for naming guidelines.",
originalInput, "https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks/get")
}
resource.Name = parts[0]
return resource, nil
}