func SplitSubnetResource()

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
}