1// Copyright 2019 Istio Authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package schema
16
17import (
18	"fmt"
19)
20
21// Get returns the contained resources.yaml file, in parsed form.
22func Get() (*Metadata, error) {
23	b, err := Asset("metadata.yaml")
24	if err != nil {
25		return nil, err
26	}
27
28	m, err := ParseAndBuild(string(b))
29	if err != nil {
30		return nil, err
31	}
32
33	return m, nil
34}
35
36// MustGet calls Get and panics if it returns and error.
37func MustGet() *Metadata {
38	s, err := Get()
39	if err != nil {
40		panic(fmt.Sprintf("metadata.MustGet: %v", err))
41	}
42	return s
43}
44