{{Types "BSD-3-Clause Apache-2.0 MIT"}}

## APIs

This project may include APIs to SAP or third party products or services. The use of these APIs, products and services may be subject to additional agreements. In no event shall the application of the Apache Software License, v.2 to this project grant any rights in or to these APIs, products or services that would alter, expand, be inconsistent with, or supersede any terms of these additional agreements. API means application programming interfaces, as well as their respective specifications and implementing code that allows other software products to communicate with or call on SAP or third party products or services (for example, SAP Enterprise Services, BAPIs, Idocs, RFCs and ABAP calls or other user exits) and may be made available through SAP or third party products, SDKs, documentation or other media.

## Subcomponents

This project includes the following subcomponents that are subject to separate license terms. 
Your use of these subcomponents is subject to the separate license terms applicable to
each subcomponent.

OAI Object Model.   
https://github.com/go-openapi/spec.  
Copyright 2015 go-swagger maintainers.  
Apache 2 license (https://github.com/go-openapi/spec/blob/master/LICENSE ).  

Glog.  
https://github.com/golang/glog.  
Copyright 2013 Google Inc. All Rights Reserved.  
Apache 2 license (https://github.com/golang/glog/blob/master/LICENSE ).  

Prometheus Go Client Library.  
https://github.com/prometheus/client_golang.  
Copyright 2015 The Prometheus Authors.  
Apache 2 license (https://github.com/prometheus/client_golang/blob/master/LICENSE ).  

Pflag.   
https://github.com/spf13/pflag.  
Copyright (c) 2012 Alex Ogier. Copyright (c) 2012 The Go Authors.   
BSD 3-clause "New" or "Revised" License (https://github.com/spf13/pflag/blob/master/LICENSE ).  

API.  
https://github.com/kubernetes/api/.  
Copyright 2017 The Kubernetes Authors.   
Apache 2 license (https://github.com/kubernetes/api/blob/master/LICENSE ).  

APIMachinery.  
https://github.com/kubernetes/apimachinery.  
Copyright 2017 The Kubernetes Authors.      
Apache 2 license (https://github.com/kubernetes/apimachinery/blob/master/LICENSE ).  

APIServer.  
https://github.com/kubernetes/apiserver.  
Copyright 2017 The Kubernetes Authors.   
Apache 2 license (https://github.com/kubernetes/apiserver/blob/master/LICENSE ).  

Client-go.  
https://github.com/kubernetes/client-go.  
Copyright 2017 The Kubernetes Authors.   
Apache 2 license (https://github.com/kubernetes/client-go/blob/master/LICENSE ).  

Code-generator.  
https://github.com/kubernetes/code-generator.  
Copyright 2017 The Kubernetes Authors.   
Apache 2 license (https://github.com/kubernetes/code-generator/blob/master/LICENSE ).  

Gengo.  
https://github.com/kubernetes/gengo.  
Copyright 2017 The Kubernetes Authors.   
Apache 2 license (https://github.com/kubernetes/gengo/blob/master/LICENSE ).   

Kube OpenAPI.  
https://github.com/kubernetes/kube-openapi.  
Copyright 2017 The Kubernetes Authors.   
Apache 2 license (https://github.com/kubernetes/kube-openapi/blob/master/LICENSE ).  

Google Cloud Go SDK.  
https://cloud.google.com/compute/docs/api/libraries#google_apis_go_client_library.  
Copyright (c) 2011 Google Inc. All rights reserved.  
BSD-3 license (https://github.com/google/google-api-go-client/blob/master/LICENSE)  

Gophercloud.  
https://github.com/gophercloud/gophercloud.  
Copyright 2012-2013 Rackspace, Inc.  
Apache 2 license (https://github.com/gophercloud/gophercloud/blob/master/LICENSE)  

Concurrent.  
https://github.com/modern-go/concurrent.  
Apache 2 license (https://github.com/modern-go/concurrent/blob/master/LICENSE)  

Reflect2.  
https://github.com/modern-go/reflect2.  
Apache 2 license (https://github.com/modern-go/reflect2/blob/master/LICENSE)  

Ginkgo.  
https://github.com/onsi/ginkgo.  
Copyright (c) 2013-2014 Onsi Fakhouri
MIT license (https://github.com/onsi/ginkgo/blob/master/LICENSE)  

Gomega.  
https://github.com/onsi/ginkgo.  
Copyright (c) 2013-2014 Onsi Fakhouri
MIT license (https://github.com/onsi/gomega/blob/master/LICENSE)  

Alibaba Cloud Go Software Development Kit.  
https://github.com/aliyun/alibaba-cloud-sdk-go.  
Apache 2 license (https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/LICENSE)  
