// Copyright (c) All respective contributors to the Peridot Project. All rights reserved. // Copyright (c) 2021-2022 Rocky Enterprise Software Foundation, Inc. All rights reserved. // Copyright (c) 2021-2022 Ctrl IQ, Inc. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: // // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. // // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. // // 3. Neither the name of the copyright holder nor the names of its contributors // may be used to endorse or promote products derived from this software without // specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE // POSSIBILITY OF SUCH DAMAGE. package modulemd type V3 struct { Document string `yaml:"document,omitempty"` Version int `yaml:"version,omitempty"` Data *V3Data `yaml:"data,omitempty"` } type Configurations struct { Context string `yaml:"context,omitempty"` Platform string `yaml:"platform,omitempty"` BuildRequires map[string][]string `yaml:"buildrequires,omitempty"` Requires map[string][]string `yaml:"requires,omitempty"` BuildOpts *BuildOpts `yaml:"buildopts,omitempty"` } type V3Data struct { Name string `yaml:"name,omitempty"` Stream string `yaml:"stream,omitempty"` Summary string `yaml:"summary,omitempty"` Description string `yaml:"description,omitempty"` License []string `yaml:"license,omitempty"` Xmd map[string]map[string]string `yaml:"xmd,omitempty"` Configurations []*Configurations `yaml:"configurations,omitempty"` References *References `yaml:"references,omitempty"` Profiles map[string]*Profile `yaml:"profiles,omitempty"` Profile map[string]*Profile `yaml:"profile,omitempty"` API *API `yaml:"api,omitempty"` Filter *API `yaml:"filter,omitempty"` Demodularized *API `yaml:"demodularized,omitempty"` Components *Components `yaml:"components,omitempty"` }