mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Merge pull request #45836 from mbohlool/openapi_pb
Automatic merge from submit-queue Add protobuf binary version of OpenAPI spec Fixes #45833 Partially fixes #42841 ```release-note OpenAPI spec is now available in protobuf binary and gzip format (with ETag support) ```
This commit is contained in:
		
							
								
								
									
										32
									
								
								Godeps/Godeps.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										32
									
								
								Godeps/Godeps.json
									
									
									
										generated
									
									
									
								
							@@ -1219,6 +1219,22 @@
 | 
				
			|||||||
			"ImportPath": "github.com/golang/protobuf/proto",
 | 
								"ImportPath": "github.com/golang/protobuf/proto",
 | 
				
			||||||
			"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes/any",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes/duration",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes/timestamp",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"ImportPath": "github.com/google/btree",
 | 
								"ImportPath": "github.com/google/btree",
 | 
				
			||||||
			"Rev": "7d79101e329e5a3adf994758c578dab82b90c017"
 | 
								"Rev": "7d79101e329e5a3adf994758c578dab82b90c017"
 | 
				
			||||||
@@ -1452,6 +1468,18 @@
 | 
				
			|||||||
			"ImportPath": "github.com/google/gofuzz",
 | 
								"ImportPath": "github.com/google/gofuzz",
 | 
				
			||||||
			"Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c"
 | 
								"Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/googleapis/gnostic/OpenAPIv2",
 | 
				
			||||||
 | 
								"Rev": "68f4ded48ba9414dab2ae69b3f0d69971da73aa5"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/googleapis/gnostic/compiler",
 | 
				
			||||||
 | 
								"Rev": "68f4ded48ba9414dab2ae69b3f0d69971da73aa5"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/googleapis/gnostic/extensions",
 | 
				
			||||||
 | 
								"Rev": "68f4ded48ba9414dab2ae69b3f0d69971da73aa5"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"ImportPath": "github.com/gophercloud/gophercloud",
 | 
								"ImportPath": "github.com/gophercloud/gophercloud",
 | 
				
			||||||
			"Rev": "b06120d13e262ceaf890ef38ee30898813696af0"
 | 
								"Rev": "b06120d13e262ceaf890ef38ee30898813696af0"
 | 
				
			||||||
@@ -2700,10 +2728,6 @@
 | 
				
			|||||||
			"ImportPath": "google.golang.org/api/cloudmonitoring/v2beta2",
 | 
								"ImportPath": "google.golang.org/api/cloudmonitoring/v2beta2",
 | 
				
			||||||
			"Rev": "e3824ed33c72bf7e81da0286772c34b987520914"
 | 
								"Rev": "e3824ed33c72bf7e81da0286772c34b987520914"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			"ImportPath": "google.golang.org/api/compute/v0.alpha",
 | 
					 | 
				
			||||||
			"Rev": "e3824ed33c72bf7e81da0286772c34b987520914"
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"ImportPath": "google.golang.org/api/compute/v0.beta",
 | 
								"ImportPath": "google.golang.org/api/compute/v0.beta",
 | 
				
			||||||
			"Rev": "e3824ed33c72bf7e81da0286772c34b987520914"
 | 
								"Rev": "e3824ed33c72bf7e81da0286772c34b987520914"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										824
									
								
								Godeps/LICENSES
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										824
									
								
								Godeps/LICENSES
									
									
									
										generated
									
									
									
								
							@@ -39399,6 +39399,162 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
				
			|||||||
================================================================================
 | 
					================================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					================================================================================
 | 
				
			||||||
 | 
					= vendor/github.com/golang/protobuf/ptypes licensed under: =
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Go support for Protocol Buffers - Google's data interchange format
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Copyright 2010 The Go Authors.  All rights reserved.
 | 
				
			||||||
 | 
					https://github.com/golang/protobuf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 | 
					modification, are permitted provided that the following conditions are
 | 
				
			||||||
 | 
					met:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    * Redistributions of source code must retain the above copyright
 | 
				
			||||||
 | 
					notice, this list of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					    * 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.
 | 
				
			||||||
 | 
					    * Neither the name of Google Inc. 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
 | 
				
			||||||
 | 
					OWNER 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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					= vendor/github.com/golang/protobuf/LICENSE 14db3a56c3796a940ba32948a15f97d0  -
 | 
				
			||||||
 | 
					================================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					================================================================================
 | 
				
			||||||
 | 
					= vendor/github.com/golang/protobuf/ptypes/any licensed under: =
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Go support for Protocol Buffers - Google's data interchange format
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Copyright 2010 The Go Authors.  All rights reserved.
 | 
				
			||||||
 | 
					https://github.com/golang/protobuf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 | 
					modification, are permitted provided that the following conditions are
 | 
				
			||||||
 | 
					met:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    * Redistributions of source code must retain the above copyright
 | 
				
			||||||
 | 
					notice, this list of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					    * 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.
 | 
				
			||||||
 | 
					    * Neither the name of Google Inc. 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
 | 
				
			||||||
 | 
					OWNER 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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					= vendor/github.com/golang/protobuf/LICENSE 14db3a56c3796a940ba32948a15f97d0  -
 | 
				
			||||||
 | 
					================================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					================================================================================
 | 
				
			||||||
 | 
					= vendor/github.com/golang/protobuf/ptypes/duration licensed under: =
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Go support for Protocol Buffers - Google's data interchange format
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Copyright 2010 The Go Authors.  All rights reserved.
 | 
				
			||||||
 | 
					https://github.com/golang/protobuf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 | 
					modification, are permitted provided that the following conditions are
 | 
				
			||||||
 | 
					met:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    * Redistributions of source code must retain the above copyright
 | 
				
			||||||
 | 
					notice, this list of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					    * 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.
 | 
				
			||||||
 | 
					    * Neither the name of Google Inc. 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
 | 
				
			||||||
 | 
					OWNER 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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					= vendor/github.com/golang/protobuf/LICENSE 14db3a56c3796a940ba32948a15f97d0  -
 | 
				
			||||||
 | 
					================================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					================================================================================
 | 
				
			||||||
 | 
					= vendor/github.com/golang/protobuf/ptypes/timestamp licensed under: =
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Go support for Protocol Buffers - Google's data interchange format
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Copyright 2010 The Go Authors.  All rights reserved.
 | 
				
			||||||
 | 
					https://github.com/golang/protobuf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 | 
					modification, are permitted provided that the following conditions are
 | 
				
			||||||
 | 
					met:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    * Redistributions of source code must retain the above copyright
 | 
				
			||||||
 | 
					notice, this list of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					    * 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.
 | 
				
			||||||
 | 
					    * Neither the name of Google Inc. 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
 | 
				
			||||||
 | 
					OWNER 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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					= vendor/github.com/golang/protobuf/LICENSE 14db3a56c3796a940ba32948a15f97d0  -
 | 
				
			||||||
 | 
					================================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
================================================================================
 | 
					================================================================================
 | 
				
			||||||
= vendor/github.com/google/btree licensed under: =
 | 
					= vendor/github.com/google/btree licensed under: =
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -48987,6 +49143,639 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
				
			|||||||
================================================================================
 | 
					================================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					================================================================================
 | 
				
			||||||
 | 
					= vendor/github.com/googleapis/gnostic/compiler licensed under: =
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                 Apache License
 | 
				
			||||||
 | 
					                           Version 2.0, January 2004
 | 
				
			||||||
 | 
					                        http://www.apache.org/licenses/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   1. Definitions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "License" shall mean the terms and conditions for use, reproduction,
 | 
				
			||||||
 | 
					      and distribution as defined by Sections 1 through 9 of this document.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Licensor" shall mean the copyright owner or entity authorized by
 | 
				
			||||||
 | 
					      the copyright owner that is granting the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Legal Entity" shall mean the union of the acting entity and all
 | 
				
			||||||
 | 
					      other entities that control, are controlled by, or are under common
 | 
				
			||||||
 | 
					      control with that entity. For the purposes of this definition,
 | 
				
			||||||
 | 
					      "control" means (i) the power, direct or indirect, to cause the
 | 
				
			||||||
 | 
					      direction or management of such entity, whether by contract or
 | 
				
			||||||
 | 
					      otherwise, or (ii) ownership of fifty percent (50%) or more of the
 | 
				
			||||||
 | 
					      outstanding shares, or (iii) beneficial ownership of such entity.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "You" (or "Your") shall mean an individual or Legal Entity
 | 
				
			||||||
 | 
					      exercising permissions granted by this License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Source" form shall mean the preferred form for making modifications,
 | 
				
			||||||
 | 
					      including but not limited to software source code, documentation
 | 
				
			||||||
 | 
					      source, and configuration files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Object" form shall mean any form resulting from mechanical
 | 
				
			||||||
 | 
					      transformation or translation of a Source form, including but
 | 
				
			||||||
 | 
					      not limited to compiled object code, generated documentation,
 | 
				
			||||||
 | 
					      and conversions to other media types.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Work" shall mean the work of authorship, whether in Source or
 | 
				
			||||||
 | 
					      Object form, made available under the License, as indicated by a
 | 
				
			||||||
 | 
					      copyright notice that is included in or attached to the work
 | 
				
			||||||
 | 
					      (an example is provided in the Appendix below).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Derivative Works" shall mean any work, whether in Source or Object
 | 
				
			||||||
 | 
					      form, that is based on (or derived from) the Work and for which the
 | 
				
			||||||
 | 
					      editorial revisions, annotations, elaborations, or other modifications
 | 
				
			||||||
 | 
					      represent, as a whole, an original work of authorship. For the purposes
 | 
				
			||||||
 | 
					      of this License, Derivative Works shall not include works that remain
 | 
				
			||||||
 | 
					      separable from, or merely link (or bind by name) to the interfaces of,
 | 
				
			||||||
 | 
					      the Work and Derivative Works thereof.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Contribution" shall mean any work of authorship, including
 | 
				
			||||||
 | 
					      the original version of the Work and any modifications or additions
 | 
				
			||||||
 | 
					      to that Work or Derivative Works thereof, that is intentionally
 | 
				
			||||||
 | 
					      submitted to Licensor for inclusion in the Work by the copyright owner
 | 
				
			||||||
 | 
					      or by an individual or Legal Entity authorized to submit on behalf of
 | 
				
			||||||
 | 
					      the copyright owner. For the purposes of this definition, "submitted"
 | 
				
			||||||
 | 
					      means any form of electronic, verbal, or written communication sent
 | 
				
			||||||
 | 
					      to the Licensor or its representatives, including but not limited to
 | 
				
			||||||
 | 
					      communication on electronic mailing lists, source code control systems,
 | 
				
			||||||
 | 
					      and issue tracking systems that are managed by, or on behalf of, the
 | 
				
			||||||
 | 
					      Licensor for the purpose of discussing and improving the Work, but
 | 
				
			||||||
 | 
					      excluding communication that is conspicuously marked or otherwise
 | 
				
			||||||
 | 
					      designated in writing by the copyright owner as "Not a Contribution."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Contributor" shall mean Licensor and any individual or Legal Entity
 | 
				
			||||||
 | 
					      on behalf of whom a Contribution has been received by Licensor and
 | 
				
			||||||
 | 
					      subsequently incorporated within the Work.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   2. Grant of Copyright License. Subject to the terms and conditions of
 | 
				
			||||||
 | 
					      this License, each Contributor hereby grants to You a perpetual,
 | 
				
			||||||
 | 
					      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 | 
				
			||||||
 | 
					      copyright license to reproduce, prepare Derivative Works of,
 | 
				
			||||||
 | 
					      publicly display, publicly perform, sublicense, and distribute the
 | 
				
			||||||
 | 
					      Work and such Derivative Works in Source or Object form.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   3. Grant of Patent License. Subject to the terms and conditions of
 | 
				
			||||||
 | 
					      this License, each Contributor hereby grants to You a perpetual,
 | 
				
			||||||
 | 
					      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 | 
				
			||||||
 | 
					      (except as stated in this section) patent license to make, have made,
 | 
				
			||||||
 | 
					      use, offer to sell, sell, import, and otherwise transfer the Work,
 | 
				
			||||||
 | 
					      where such license applies only to those patent claims licensable
 | 
				
			||||||
 | 
					      by such Contributor that are necessarily infringed by their
 | 
				
			||||||
 | 
					      Contribution(s) alone or by combination of their Contribution(s)
 | 
				
			||||||
 | 
					      with the Work to which such Contribution(s) was submitted. If You
 | 
				
			||||||
 | 
					      institute patent litigation against any entity (including a
 | 
				
			||||||
 | 
					      cross-claim or counterclaim in a lawsuit) alleging that the Work
 | 
				
			||||||
 | 
					      or a Contribution incorporated within the Work constitutes direct
 | 
				
			||||||
 | 
					      or contributory patent infringement, then any patent licenses
 | 
				
			||||||
 | 
					      granted to You under this License for that Work shall terminate
 | 
				
			||||||
 | 
					      as of the date such litigation is filed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   4. Redistribution. You may reproduce and distribute copies of the
 | 
				
			||||||
 | 
					      Work or Derivative Works thereof in any medium, with or without
 | 
				
			||||||
 | 
					      modifications, and in Source or Object form, provided that You
 | 
				
			||||||
 | 
					      meet the following conditions:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (a) You must give any other recipients of the Work or
 | 
				
			||||||
 | 
					          Derivative Works a copy of this License; and
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (b) You must cause any modified files to carry prominent notices
 | 
				
			||||||
 | 
					          stating that You changed the files; and
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (c) You must retain, in the Source form of any Derivative Works
 | 
				
			||||||
 | 
					          that You distribute, all copyright, patent, trademark, and
 | 
				
			||||||
 | 
					          attribution notices from the Source form of the Work,
 | 
				
			||||||
 | 
					          excluding those notices that do not pertain to any part of
 | 
				
			||||||
 | 
					          the Derivative Works; and
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (d) If the Work includes a "NOTICE" text file as part of its
 | 
				
			||||||
 | 
					          distribution, then any Derivative Works that You distribute must
 | 
				
			||||||
 | 
					          include a readable copy of the attribution notices contained
 | 
				
			||||||
 | 
					          within such NOTICE file, excluding those notices that do not
 | 
				
			||||||
 | 
					          pertain to any part of the Derivative Works, in at least one
 | 
				
			||||||
 | 
					          of the following places: within a NOTICE text file distributed
 | 
				
			||||||
 | 
					          as part of the Derivative Works; within the Source form or
 | 
				
			||||||
 | 
					          documentation, if provided along with the Derivative Works; or,
 | 
				
			||||||
 | 
					          within a display generated by the Derivative Works, if and
 | 
				
			||||||
 | 
					          wherever such third-party notices normally appear. The contents
 | 
				
			||||||
 | 
					          of the NOTICE file are for informational purposes only and
 | 
				
			||||||
 | 
					          do not modify the License. You may add Your own attribution
 | 
				
			||||||
 | 
					          notices within Derivative Works that You distribute, alongside
 | 
				
			||||||
 | 
					          or as an addendum to the NOTICE text from the Work, provided
 | 
				
			||||||
 | 
					          that such additional attribution notices cannot be construed
 | 
				
			||||||
 | 
					          as modifying the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      You may add Your own copyright statement to Your modifications and
 | 
				
			||||||
 | 
					      may provide additional or different license terms and conditions
 | 
				
			||||||
 | 
					      for use, reproduction, or distribution of Your modifications, or
 | 
				
			||||||
 | 
					      for any such Derivative Works as a whole, provided Your use,
 | 
				
			||||||
 | 
					      reproduction, and distribution of the Work otherwise complies with
 | 
				
			||||||
 | 
					      the conditions stated in this License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   5. Submission of Contributions. Unless You explicitly state otherwise,
 | 
				
			||||||
 | 
					      any Contribution intentionally submitted for inclusion in the Work
 | 
				
			||||||
 | 
					      by You to the Licensor shall be under the terms and conditions of
 | 
				
			||||||
 | 
					      this License, without any additional terms or conditions.
 | 
				
			||||||
 | 
					      Notwithstanding the above, nothing herein shall supersede or modify
 | 
				
			||||||
 | 
					      the terms of any separate license agreement you may have executed
 | 
				
			||||||
 | 
					      with Licensor regarding such Contributions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   6. Trademarks. This License does not grant permission to use the trade
 | 
				
			||||||
 | 
					      names, trademarks, service marks, or product names of the Licensor,
 | 
				
			||||||
 | 
					      except as required for reasonable and customary use in describing the
 | 
				
			||||||
 | 
					      origin of the Work and reproducing the content of the NOTICE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   7. Disclaimer of Warranty. Unless required by applicable law or
 | 
				
			||||||
 | 
					      agreed to in writing, Licensor provides the Work (and each
 | 
				
			||||||
 | 
					      Contributor provides its Contributions) on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 | 
				
			||||||
 | 
					      implied, including, without limitation, any warranties or conditions
 | 
				
			||||||
 | 
					      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
 | 
				
			||||||
 | 
					      PARTICULAR PURPOSE. You are solely responsible for determining the
 | 
				
			||||||
 | 
					      appropriateness of using or redistributing the Work and assume any
 | 
				
			||||||
 | 
					      risks associated with Your exercise of permissions under this License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   8. Limitation of Liability. In no event and under no legal theory,
 | 
				
			||||||
 | 
					      whether in tort (including negligence), contract, or otherwise,
 | 
				
			||||||
 | 
					      unless required by applicable law (such as deliberate and grossly
 | 
				
			||||||
 | 
					      negligent acts) or agreed to in writing, shall any Contributor be
 | 
				
			||||||
 | 
					      liable to You for damages, including any direct, indirect, special,
 | 
				
			||||||
 | 
					      incidental, or consequential damages of any character arising as a
 | 
				
			||||||
 | 
					      result of this License or out of the use or inability to use the
 | 
				
			||||||
 | 
					      Work (including but not limited to damages for loss of goodwill,
 | 
				
			||||||
 | 
					      work stoppage, computer failure or malfunction, or any and all
 | 
				
			||||||
 | 
					      other commercial damages or losses), even if such Contributor
 | 
				
			||||||
 | 
					      has been advised of the possibility of such damages.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   9. Accepting Warranty or Additional Liability. While redistributing
 | 
				
			||||||
 | 
					      the Work or Derivative Works thereof, You may choose to offer,
 | 
				
			||||||
 | 
					      and charge a fee for, acceptance of support, warranty, indemnity,
 | 
				
			||||||
 | 
					      or other liability obligations and/or rights consistent with this
 | 
				
			||||||
 | 
					      License. However, in accepting such obligations, You may act only
 | 
				
			||||||
 | 
					      on Your own behalf and on Your sole responsibility, not on behalf
 | 
				
			||||||
 | 
					      of any other Contributor, and only if You agree to indemnify,
 | 
				
			||||||
 | 
					      defend, and hold each Contributor harmless for any liability
 | 
				
			||||||
 | 
					      incurred by, or claims asserted against, such Contributor by reason
 | 
				
			||||||
 | 
					      of your accepting any such warranty or additional liability.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   END OF TERMS AND CONDITIONS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   APPENDIX: How to apply the Apache License to your work.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      To apply the Apache License to your work, attach the following
 | 
				
			||||||
 | 
					      boilerplate notice, with the fields enclosed by brackets "[]"
 | 
				
			||||||
 | 
					      replaced with your own identifying information. (Don't include
 | 
				
			||||||
 | 
					      the brackets!)  The text should be enclosed in the appropriate
 | 
				
			||||||
 | 
					      comment syntax for the file format. We also recommend that a
 | 
				
			||||||
 | 
					      file or class name and description of purpose be included on the
 | 
				
			||||||
 | 
					      same "printed page" as the copyright notice for easier
 | 
				
			||||||
 | 
					      identification within third-party archives.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Copyright [yyyy] [name of copyright owner]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					   you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					   You may obtain a copy of the License at
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					   distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					   See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					   limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					= vendor/github.com/googleapis/gnostic/LICENSE b1e01b26bacfc2232046c90a330332b3  -
 | 
				
			||||||
 | 
					================================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					================================================================================
 | 
				
			||||||
 | 
					= vendor/github.com/googleapis/gnostic/extensions licensed under: =
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                 Apache License
 | 
				
			||||||
 | 
					                           Version 2.0, January 2004
 | 
				
			||||||
 | 
					                        http://www.apache.org/licenses/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   1. Definitions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "License" shall mean the terms and conditions for use, reproduction,
 | 
				
			||||||
 | 
					      and distribution as defined by Sections 1 through 9 of this document.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Licensor" shall mean the copyright owner or entity authorized by
 | 
				
			||||||
 | 
					      the copyright owner that is granting the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Legal Entity" shall mean the union of the acting entity and all
 | 
				
			||||||
 | 
					      other entities that control, are controlled by, or are under common
 | 
				
			||||||
 | 
					      control with that entity. For the purposes of this definition,
 | 
				
			||||||
 | 
					      "control" means (i) the power, direct or indirect, to cause the
 | 
				
			||||||
 | 
					      direction or management of such entity, whether by contract or
 | 
				
			||||||
 | 
					      otherwise, or (ii) ownership of fifty percent (50%) or more of the
 | 
				
			||||||
 | 
					      outstanding shares, or (iii) beneficial ownership of such entity.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "You" (or "Your") shall mean an individual or Legal Entity
 | 
				
			||||||
 | 
					      exercising permissions granted by this License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Source" form shall mean the preferred form for making modifications,
 | 
				
			||||||
 | 
					      including but not limited to software source code, documentation
 | 
				
			||||||
 | 
					      source, and configuration files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Object" form shall mean any form resulting from mechanical
 | 
				
			||||||
 | 
					      transformation or translation of a Source form, including but
 | 
				
			||||||
 | 
					      not limited to compiled object code, generated documentation,
 | 
				
			||||||
 | 
					      and conversions to other media types.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Work" shall mean the work of authorship, whether in Source or
 | 
				
			||||||
 | 
					      Object form, made available under the License, as indicated by a
 | 
				
			||||||
 | 
					      copyright notice that is included in or attached to the work
 | 
				
			||||||
 | 
					      (an example is provided in the Appendix below).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Derivative Works" shall mean any work, whether in Source or Object
 | 
				
			||||||
 | 
					      form, that is based on (or derived from) the Work and for which the
 | 
				
			||||||
 | 
					      editorial revisions, annotations, elaborations, or other modifications
 | 
				
			||||||
 | 
					      represent, as a whole, an original work of authorship. For the purposes
 | 
				
			||||||
 | 
					      of this License, Derivative Works shall not include works that remain
 | 
				
			||||||
 | 
					      separable from, or merely link (or bind by name) to the interfaces of,
 | 
				
			||||||
 | 
					      the Work and Derivative Works thereof.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Contribution" shall mean any work of authorship, including
 | 
				
			||||||
 | 
					      the original version of the Work and any modifications or additions
 | 
				
			||||||
 | 
					      to that Work or Derivative Works thereof, that is intentionally
 | 
				
			||||||
 | 
					      submitted to Licensor for inclusion in the Work by the copyright owner
 | 
				
			||||||
 | 
					      or by an individual or Legal Entity authorized to submit on behalf of
 | 
				
			||||||
 | 
					      the copyright owner. For the purposes of this definition, "submitted"
 | 
				
			||||||
 | 
					      means any form of electronic, verbal, or written communication sent
 | 
				
			||||||
 | 
					      to the Licensor or its representatives, including but not limited to
 | 
				
			||||||
 | 
					      communication on electronic mailing lists, source code control systems,
 | 
				
			||||||
 | 
					      and issue tracking systems that are managed by, or on behalf of, the
 | 
				
			||||||
 | 
					      Licensor for the purpose of discussing and improving the Work, but
 | 
				
			||||||
 | 
					      excluding communication that is conspicuously marked or otherwise
 | 
				
			||||||
 | 
					      designated in writing by the copyright owner as "Not a Contribution."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Contributor" shall mean Licensor and any individual or Legal Entity
 | 
				
			||||||
 | 
					      on behalf of whom a Contribution has been received by Licensor and
 | 
				
			||||||
 | 
					      subsequently incorporated within the Work.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   2. Grant of Copyright License. Subject to the terms and conditions of
 | 
				
			||||||
 | 
					      this License, each Contributor hereby grants to You a perpetual,
 | 
				
			||||||
 | 
					      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 | 
				
			||||||
 | 
					      copyright license to reproduce, prepare Derivative Works of,
 | 
				
			||||||
 | 
					      publicly display, publicly perform, sublicense, and distribute the
 | 
				
			||||||
 | 
					      Work and such Derivative Works in Source or Object form.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   3. Grant of Patent License. Subject to the terms and conditions of
 | 
				
			||||||
 | 
					      this License, each Contributor hereby grants to You a perpetual,
 | 
				
			||||||
 | 
					      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 | 
				
			||||||
 | 
					      (except as stated in this section) patent license to make, have made,
 | 
				
			||||||
 | 
					      use, offer to sell, sell, import, and otherwise transfer the Work,
 | 
				
			||||||
 | 
					      where such license applies only to those patent claims licensable
 | 
				
			||||||
 | 
					      by such Contributor that are necessarily infringed by their
 | 
				
			||||||
 | 
					      Contribution(s) alone or by combination of their Contribution(s)
 | 
				
			||||||
 | 
					      with the Work to which such Contribution(s) was submitted. If You
 | 
				
			||||||
 | 
					      institute patent litigation against any entity (including a
 | 
				
			||||||
 | 
					      cross-claim or counterclaim in a lawsuit) alleging that the Work
 | 
				
			||||||
 | 
					      or a Contribution incorporated within the Work constitutes direct
 | 
				
			||||||
 | 
					      or contributory patent infringement, then any patent licenses
 | 
				
			||||||
 | 
					      granted to You under this License for that Work shall terminate
 | 
				
			||||||
 | 
					      as of the date such litigation is filed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   4. Redistribution. You may reproduce and distribute copies of the
 | 
				
			||||||
 | 
					      Work or Derivative Works thereof in any medium, with or without
 | 
				
			||||||
 | 
					      modifications, and in Source or Object form, provided that You
 | 
				
			||||||
 | 
					      meet the following conditions:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (a) You must give any other recipients of the Work or
 | 
				
			||||||
 | 
					          Derivative Works a copy of this License; and
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (b) You must cause any modified files to carry prominent notices
 | 
				
			||||||
 | 
					          stating that You changed the files; and
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (c) You must retain, in the Source form of any Derivative Works
 | 
				
			||||||
 | 
					          that You distribute, all copyright, patent, trademark, and
 | 
				
			||||||
 | 
					          attribution notices from the Source form of the Work,
 | 
				
			||||||
 | 
					          excluding those notices that do not pertain to any part of
 | 
				
			||||||
 | 
					          the Derivative Works; and
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (d) If the Work includes a "NOTICE" text file as part of its
 | 
				
			||||||
 | 
					          distribution, then any Derivative Works that You distribute must
 | 
				
			||||||
 | 
					          include a readable copy of the attribution notices contained
 | 
				
			||||||
 | 
					          within such NOTICE file, excluding those notices that do not
 | 
				
			||||||
 | 
					          pertain to any part of the Derivative Works, in at least one
 | 
				
			||||||
 | 
					          of the following places: within a NOTICE text file distributed
 | 
				
			||||||
 | 
					          as part of the Derivative Works; within the Source form or
 | 
				
			||||||
 | 
					          documentation, if provided along with the Derivative Works; or,
 | 
				
			||||||
 | 
					          within a display generated by the Derivative Works, if and
 | 
				
			||||||
 | 
					          wherever such third-party notices normally appear. The contents
 | 
				
			||||||
 | 
					          of the NOTICE file are for informational purposes only and
 | 
				
			||||||
 | 
					          do not modify the License. You may add Your own attribution
 | 
				
			||||||
 | 
					          notices within Derivative Works that You distribute, alongside
 | 
				
			||||||
 | 
					          or as an addendum to the NOTICE text from the Work, provided
 | 
				
			||||||
 | 
					          that such additional attribution notices cannot be construed
 | 
				
			||||||
 | 
					          as modifying the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      You may add Your own copyright statement to Your modifications and
 | 
				
			||||||
 | 
					      may provide additional or different license terms and conditions
 | 
				
			||||||
 | 
					      for use, reproduction, or distribution of Your modifications, or
 | 
				
			||||||
 | 
					      for any such Derivative Works as a whole, provided Your use,
 | 
				
			||||||
 | 
					      reproduction, and distribution of the Work otherwise complies with
 | 
				
			||||||
 | 
					      the conditions stated in this License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   5. Submission of Contributions. Unless You explicitly state otherwise,
 | 
				
			||||||
 | 
					      any Contribution intentionally submitted for inclusion in the Work
 | 
				
			||||||
 | 
					      by You to the Licensor shall be under the terms and conditions of
 | 
				
			||||||
 | 
					      this License, without any additional terms or conditions.
 | 
				
			||||||
 | 
					      Notwithstanding the above, nothing herein shall supersede or modify
 | 
				
			||||||
 | 
					      the terms of any separate license agreement you may have executed
 | 
				
			||||||
 | 
					      with Licensor regarding such Contributions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   6. Trademarks. This License does not grant permission to use the trade
 | 
				
			||||||
 | 
					      names, trademarks, service marks, or product names of the Licensor,
 | 
				
			||||||
 | 
					      except as required for reasonable and customary use in describing the
 | 
				
			||||||
 | 
					      origin of the Work and reproducing the content of the NOTICE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   7. Disclaimer of Warranty. Unless required by applicable law or
 | 
				
			||||||
 | 
					      agreed to in writing, Licensor provides the Work (and each
 | 
				
			||||||
 | 
					      Contributor provides its Contributions) on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 | 
				
			||||||
 | 
					      implied, including, without limitation, any warranties or conditions
 | 
				
			||||||
 | 
					      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
 | 
				
			||||||
 | 
					      PARTICULAR PURPOSE. You are solely responsible for determining the
 | 
				
			||||||
 | 
					      appropriateness of using or redistributing the Work and assume any
 | 
				
			||||||
 | 
					      risks associated with Your exercise of permissions under this License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   8. Limitation of Liability. In no event and under no legal theory,
 | 
				
			||||||
 | 
					      whether in tort (including negligence), contract, or otherwise,
 | 
				
			||||||
 | 
					      unless required by applicable law (such as deliberate and grossly
 | 
				
			||||||
 | 
					      negligent acts) or agreed to in writing, shall any Contributor be
 | 
				
			||||||
 | 
					      liable to You for damages, including any direct, indirect, special,
 | 
				
			||||||
 | 
					      incidental, or consequential damages of any character arising as a
 | 
				
			||||||
 | 
					      result of this License or out of the use or inability to use the
 | 
				
			||||||
 | 
					      Work (including but not limited to damages for loss of goodwill,
 | 
				
			||||||
 | 
					      work stoppage, computer failure or malfunction, or any and all
 | 
				
			||||||
 | 
					      other commercial damages or losses), even if such Contributor
 | 
				
			||||||
 | 
					      has been advised of the possibility of such damages.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   9. Accepting Warranty or Additional Liability. While redistributing
 | 
				
			||||||
 | 
					      the Work or Derivative Works thereof, You may choose to offer,
 | 
				
			||||||
 | 
					      and charge a fee for, acceptance of support, warranty, indemnity,
 | 
				
			||||||
 | 
					      or other liability obligations and/or rights consistent with this
 | 
				
			||||||
 | 
					      License. However, in accepting such obligations, You may act only
 | 
				
			||||||
 | 
					      on Your own behalf and on Your sole responsibility, not on behalf
 | 
				
			||||||
 | 
					      of any other Contributor, and only if You agree to indemnify,
 | 
				
			||||||
 | 
					      defend, and hold each Contributor harmless for any liability
 | 
				
			||||||
 | 
					      incurred by, or claims asserted against, such Contributor by reason
 | 
				
			||||||
 | 
					      of your accepting any such warranty or additional liability.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   END OF TERMS AND CONDITIONS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   APPENDIX: How to apply the Apache License to your work.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      To apply the Apache License to your work, attach the following
 | 
				
			||||||
 | 
					      boilerplate notice, with the fields enclosed by brackets "[]"
 | 
				
			||||||
 | 
					      replaced with your own identifying information. (Don't include
 | 
				
			||||||
 | 
					      the brackets!)  The text should be enclosed in the appropriate
 | 
				
			||||||
 | 
					      comment syntax for the file format. We also recommend that a
 | 
				
			||||||
 | 
					      file or class name and description of purpose be included on the
 | 
				
			||||||
 | 
					      same "printed page" as the copyright notice for easier
 | 
				
			||||||
 | 
					      identification within third-party archives.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Copyright [yyyy] [name of copyright owner]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					   you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					   You may obtain a copy of the License at
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					   distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					   See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					   limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					= vendor/github.com/googleapis/gnostic/LICENSE b1e01b26bacfc2232046c90a330332b3  -
 | 
				
			||||||
 | 
					================================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					================================================================================
 | 
				
			||||||
 | 
					= vendor/github.com/googleapis/gnostic/OpenAPIv2 licensed under: =
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                 Apache License
 | 
				
			||||||
 | 
					                           Version 2.0, January 2004
 | 
				
			||||||
 | 
					                        http://www.apache.org/licenses/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   1. Definitions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "License" shall mean the terms and conditions for use, reproduction,
 | 
				
			||||||
 | 
					      and distribution as defined by Sections 1 through 9 of this document.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Licensor" shall mean the copyright owner or entity authorized by
 | 
				
			||||||
 | 
					      the copyright owner that is granting the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Legal Entity" shall mean the union of the acting entity and all
 | 
				
			||||||
 | 
					      other entities that control, are controlled by, or are under common
 | 
				
			||||||
 | 
					      control with that entity. For the purposes of this definition,
 | 
				
			||||||
 | 
					      "control" means (i) the power, direct or indirect, to cause the
 | 
				
			||||||
 | 
					      direction or management of such entity, whether by contract or
 | 
				
			||||||
 | 
					      otherwise, or (ii) ownership of fifty percent (50%) or more of the
 | 
				
			||||||
 | 
					      outstanding shares, or (iii) beneficial ownership of such entity.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "You" (or "Your") shall mean an individual or Legal Entity
 | 
				
			||||||
 | 
					      exercising permissions granted by this License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Source" form shall mean the preferred form for making modifications,
 | 
				
			||||||
 | 
					      including but not limited to software source code, documentation
 | 
				
			||||||
 | 
					      source, and configuration files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Object" form shall mean any form resulting from mechanical
 | 
				
			||||||
 | 
					      transformation or translation of a Source form, including but
 | 
				
			||||||
 | 
					      not limited to compiled object code, generated documentation,
 | 
				
			||||||
 | 
					      and conversions to other media types.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Work" shall mean the work of authorship, whether in Source or
 | 
				
			||||||
 | 
					      Object form, made available under the License, as indicated by a
 | 
				
			||||||
 | 
					      copyright notice that is included in or attached to the work
 | 
				
			||||||
 | 
					      (an example is provided in the Appendix below).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Derivative Works" shall mean any work, whether in Source or Object
 | 
				
			||||||
 | 
					      form, that is based on (or derived from) the Work and for which the
 | 
				
			||||||
 | 
					      editorial revisions, annotations, elaborations, or other modifications
 | 
				
			||||||
 | 
					      represent, as a whole, an original work of authorship. For the purposes
 | 
				
			||||||
 | 
					      of this License, Derivative Works shall not include works that remain
 | 
				
			||||||
 | 
					      separable from, or merely link (or bind by name) to the interfaces of,
 | 
				
			||||||
 | 
					      the Work and Derivative Works thereof.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Contribution" shall mean any work of authorship, including
 | 
				
			||||||
 | 
					      the original version of the Work and any modifications or additions
 | 
				
			||||||
 | 
					      to that Work or Derivative Works thereof, that is intentionally
 | 
				
			||||||
 | 
					      submitted to Licensor for inclusion in the Work by the copyright owner
 | 
				
			||||||
 | 
					      or by an individual or Legal Entity authorized to submit on behalf of
 | 
				
			||||||
 | 
					      the copyright owner. For the purposes of this definition, "submitted"
 | 
				
			||||||
 | 
					      means any form of electronic, verbal, or written communication sent
 | 
				
			||||||
 | 
					      to the Licensor or its representatives, including but not limited to
 | 
				
			||||||
 | 
					      communication on electronic mailing lists, source code control systems,
 | 
				
			||||||
 | 
					      and issue tracking systems that are managed by, or on behalf of, the
 | 
				
			||||||
 | 
					      Licensor for the purpose of discussing and improving the Work, but
 | 
				
			||||||
 | 
					      excluding communication that is conspicuously marked or otherwise
 | 
				
			||||||
 | 
					      designated in writing by the copyright owner as "Not a Contribution."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Contributor" shall mean Licensor and any individual or Legal Entity
 | 
				
			||||||
 | 
					      on behalf of whom a Contribution has been received by Licensor and
 | 
				
			||||||
 | 
					      subsequently incorporated within the Work.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   2. Grant of Copyright License. Subject to the terms and conditions of
 | 
				
			||||||
 | 
					      this License, each Contributor hereby grants to You a perpetual,
 | 
				
			||||||
 | 
					      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 | 
				
			||||||
 | 
					      copyright license to reproduce, prepare Derivative Works of,
 | 
				
			||||||
 | 
					      publicly display, publicly perform, sublicense, and distribute the
 | 
				
			||||||
 | 
					      Work and such Derivative Works in Source or Object form.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   3. Grant of Patent License. Subject to the terms and conditions of
 | 
				
			||||||
 | 
					      this License, each Contributor hereby grants to You a perpetual,
 | 
				
			||||||
 | 
					      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 | 
				
			||||||
 | 
					      (except as stated in this section) patent license to make, have made,
 | 
				
			||||||
 | 
					      use, offer to sell, sell, import, and otherwise transfer the Work,
 | 
				
			||||||
 | 
					      where such license applies only to those patent claims licensable
 | 
				
			||||||
 | 
					      by such Contributor that are necessarily infringed by their
 | 
				
			||||||
 | 
					      Contribution(s) alone or by combination of their Contribution(s)
 | 
				
			||||||
 | 
					      with the Work to which such Contribution(s) was submitted. If You
 | 
				
			||||||
 | 
					      institute patent litigation against any entity (including a
 | 
				
			||||||
 | 
					      cross-claim or counterclaim in a lawsuit) alleging that the Work
 | 
				
			||||||
 | 
					      or a Contribution incorporated within the Work constitutes direct
 | 
				
			||||||
 | 
					      or contributory patent infringement, then any patent licenses
 | 
				
			||||||
 | 
					      granted to You under this License for that Work shall terminate
 | 
				
			||||||
 | 
					      as of the date such litigation is filed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   4. Redistribution. You may reproduce and distribute copies of the
 | 
				
			||||||
 | 
					      Work or Derivative Works thereof in any medium, with or without
 | 
				
			||||||
 | 
					      modifications, and in Source or Object form, provided that You
 | 
				
			||||||
 | 
					      meet the following conditions:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (a) You must give any other recipients of the Work or
 | 
				
			||||||
 | 
					          Derivative Works a copy of this License; and
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (b) You must cause any modified files to carry prominent notices
 | 
				
			||||||
 | 
					          stating that You changed the files; and
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (c) You must retain, in the Source form of any Derivative Works
 | 
				
			||||||
 | 
					          that You distribute, all copyright, patent, trademark, and
 | 
				
			||||||
 | 
					          attribution notices from the Source form of the Work,
 | 
				
			||||||
 | 
					          excluding those notices that do not pertain to any part of
 | 
				
			||||||
 | 
					          the Derivative Works; and
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (d) If the Work includes a "NOTICE" text file as part of its
 | 
				
			||||||
 | 
					          distribution, then any Derivative Works that You distribute must
 | 
				
			||||||
 | 
					          include a readable copy of the attribution notices contained
 | 
				
			||||||
 | 
					          within such NOTICE file, excluding those notices that do not
 | 
				
			||||||
 | 
					          pertain to any part of the Derivative Works, in at least one
 | 
				
			||||||
 | 
					          of the following places: within a NOTICE text file distributed
 | 
				
			||||||
 | 
					          as part of the Derivative Works; within the Source form or
 | 
				
			||||||
 | 
					          documentation, if provided along with the Derivative Works; or,
 | 
				
			||||||
 | 
					          within a display generated by the Derivative Works, if and
 | 
				
			||||||
 | 
					          wherever such third-party notices normally appear. The contents
 | 
				
			||||||
 | 
					          of the NOTICE file are for informational purposes only and
 | 
				
			||||||
 | 
					          do not modify the License. You may add Your own attribution
 | 
				
			||||||
 | 
					          notices within Derivative Works that You distribute, alongside
 | 
				
			||||||
 | 
					          or as an addendum to the NOTICE text from the Work, provided
 | 
				
			||||||
 | 
					          that such additional attribution notices cannot be construed
 | 
				
			||||||
 | 
					          as modifying the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      You may add Your own copyright statement to Your modifications and
 | 
				
			||||||
 | 
					      may provide additional or different license terms and conditions
 | 
				
			||||||
 | 
					      for use, reproduction, or distribution of Your modifications, or
 | 
				
			||||||
 | 
					      for any such Derivative Works as a whole, provided Your use,
 | 
				
			||||||
 | 
					      reproduction, and distribution of the Work otherwise complies with
 | 
				
			||||||
 | 
					      the conditions stated in this License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   5. Submission of Contributions. Unless You explicitly state otherwise,
 | 
				
			||||||
 | 
					      any Contribution intentionally submitted for inclusion in the Work
 | 
				
			||||||
 | 
					      by You to the Licensor shall be under the terms and conditions of
 | 
				
			||||||
 | 
					      this License, without any additional terms or conditions.
 | 
				
			||||||
 | 
					      Notwithstanding the above, nothing herein shall supersede or modify
 | 
				
			||||||
 | 
					      the terms of any separate license agreement you may have executed
 | 
				
			||||||
 | 
					      with Licensor regarding such Contributions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   6. Trademarks. This License does not grant permission to use the trade
 | 
				
			||||||
 | 
					      names, trademarks, service marks, or product names of the Licensor,
 | 
				
			||||||
 | 
					      except as required for reasonable and customary use in describing the
 | 
				
			||||||
 | 
					      origin of the Work and reproducing the content of the NOTICE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   7. Disclaimer of Warranty. Unless required by applicable law or
 | 
				
			||||||
 | 
					      agreed to in writing, Licensor provides the Work (and each
 | 
				
			||||||
 | 
					      Contributor provides its Contributions) on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 | 
				
			||||||
 | 
					      implied, including, without limitation, any warranties or conditions
 | 
				
			||||||
 | 
					      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
 | 
				
			||||||
 | 
					      PARTICULAR PURPOSE. You are solely responsible for determining the
 | 
				
			||||||
 | 
					      appropriateness of using or redistributing the Work and assume any
 | 
				
			||||||
 | 
					      risks associated with Your exercise of permissions under this License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   8. Limitation of Liability. In no event and under no legal theory,
 | 
				
			||||||
 | 
					      whether in tort (including negligence), contract, or otherwise,
 | 
				
			||||||
 | 
					      unless required by applicable law (such as deliberate and grossly
 | 
				
			||||||
 | 
					      negligent acts) or agreed to in writing, shall any Contributor be
 | 
				
			||||||
 | 
					      liable to You for damages, including any direct, indirect, special,
 | 
				
			||||||
 | 
					      incidental, or consequential damages of any character arising as a
 | 
				
			||||||
 | 
					      result of this License or out of the use or inability to use the
 | 
				
			||||||
 | 
					      Work (including but not limited to damages for loss of goodwill,
 | 
				
			||||||
 | 
					      work stoppage, computer failure or malfunction, or any and all
 | 
				
			||||||
 | 
					      other commercial damages or losses), even if such Contributor
 | 
				
			||||||
 | 
					      has been advised of the possibility of such damages.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   9. Accepting Warranty or Additional Liability. While redistributing
 | 
				
			||||||
 | 
					      the Work or Derivative Works thereof, You may choose to offer,
 | 
				
			||||||
 | 
					      and charge a fee for, acceptance of support, warranty, indemnity,
 | 
				
			||||||
 | 
					      or other liability obligations and/or rights consistent with this
 | 
				
			||||||
 | 
					      License. However, in accepting such obligations, You may act only
 | 
				
			||||||
 | 
					      on Your own behalf and on Your sole responsibility, not on behalf
 | 
				
			||||||
 | 
					      of any other Contributor, and only if You agree to indemnify,
 | 
				
			||||||
 | 
					      defend, and hold each Contributor harmless for any liability
 | 
				
			||||||
 | 
					      incurred by, or claims asserted against, such Contributor by reason
 | 
				
			||||||
 | 
					      of your accepting any such warranty or additional liability.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   END OF TERMS AND CONDITIONS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   APPENDIX: How to apply the Apache License to your work.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      To apply the Apache License to your work, attach the following
 | 
				
			||||||
 | 
					      boilerplate notice, with the fields enclosed by brackets "[]"
 | 
				
			||||||
 | 
					      replaced with your own identifying information. (Don't include
 | 
				
			||||||
 | 
					      the brackets!)  The text should be enclosed in the appropriate
 | 
				
			||||||
 | 
					      comment syntax for the file format. We also recommend that a
 | 
				
			||||||
 | 
					      file or class name and description of purpose be included on the
 | 
				
			||||||
 | 
					      same "printed page" as the copyright notice for easier
 | 
				
			||||||
 | 
					      identification within third-party archives.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Copyright [yyyy] [name of copyright owner]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					   you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					   You may obtain a copy of the License at
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					   distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					   See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					   limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					= vendor/github.com/googleapis/gnostic/LICENSE b1e01b26bacfc2232046c90a330332b3  -
 | 
				
			||||||
 | 
					================================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
================================================================================
 | 
					================================================================================
 | 
				
			||||||
= vendor/github.com/gophercloud/gophercloud licensed under: =
 | 
					= vendor/github.com/gophercloud/gophercloud licensed under: =
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -81788,41 +82577,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
				
			|||||||
================================================================================
 | 
					================================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
================================================================================
 | 
					 | 
				
			||||||
= vendor/google.golang.org/api/compute/v0.alpha licensed under: =
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Copyright (c) 2011 Google 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:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   * Redistributions of source code must retain the above copyright
 | 
					 | 
				
			||||||
notice, this list of conditions and the following disclaimer.
 | 
					 | 
				
			||||||
   * 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.
 | 
					 | 
				
			||||||
   * Neither the name of Google Inc. 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
 | 
					 | 
				
			||||||
OWNER 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.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
= vendor/google.golang.org/api/LICENSE a651bb3d8b1c412632e28823bb432b40  -
 | 
					 | 
				
			||||||
================================================================================
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
================================================================================
 | 
					================================================================================
 | 
				
			||||||
= vendor/google.golang.org/api/compute/v0.beta licensed under: =
 | 
					= vendor/google.golang.org/api/compute/v0.beta licensed under: =
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -63,7 +63,7 @@ kube::log::status "Starting federation-apiserver"
 | 
				
			|||||||
  --cert-dir="${TMP_DIR}/certs" \
 | 
					  --cert-dir="${TMP_DIR}/certs" \
 | 
				
			||||||
  --token-auth-file=$TMP_DIR/tokenauth.csv >/tmp/openapi-federation-api-server.log 2>&1 &
 | 
					  --token-auth-file=$TMP_DIR/tokenauth.csv >/tmp/openapi-federation-api-server.log 2>&1 &
 | 
				
			||||||
APISERVER_PID=$!
 | 
					APISERVER_PID=$!
 | 
				
			||||||
kube::util::wait_for_url "${API_HOST}:${API_PORT}/" "apiserver: "
 | 
					kube::util::wait_for_url "${API_HOST}:${API_PORT}/healthz" "apiserver: "
 | 
				
			||||||
 | 
					
 | 
				
			||||||
kube::log::status "Updating " ${OPENAPI_ROOT_DIR}
 | 
					kube::log::status "Updating " ${OPENAPI_ROOT_DIR}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										28
									
								
								staging/src/k8s.io/apiserver/Godeps/Godeps.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										28
									
								
								staging/src/k8s.io/apiserver/Godeps/Godeps.json
									
									
									
										generated
									
									
									
								
							@@ -382,6 +382,22 @@
 | 
				
			|||||||
			"ImportPath": "github.com/golang/protobuf/proto",
 | 
								"ImportPath": "github.com/golang/protobuf/proto",
 | 
				
			||||||
			"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes/any",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes/duration",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes/timestamp",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"ImportPath": "github.com/google/btree",
 | 
								"ImportPath": "github.com/google/btree",
 | 
				
			||||||
			"Rev": "7d79101e329e5a3adf994758c578dab82b90c017"
 | 
								"Rev": "7d79101e329e5a3adf994758c578dab82b90c017"
 | 
				
			||||||
@@ -390,6 +406,18 @@
 | 
				
			|||||||
			"ImportPath": "github.com/google/gofuzz",
 | 
								"ImportPath": "github.com/google/gofuzz",
 | 
				
			||||||
			"Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c"
 | 
								"Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/googleapis/gnostic/OpenAPIv2",
 | 
				
			||||||
 | 
								"Rev": "68f4ded48ba9414dab2ae69b3f0d69971da73aa5"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/googleapis/gnostic/compiler",
 | 
				
			||||||
 | 
								"Rev": "68f4ded48ba9414dab2ae69b3f0d69971da73aa5"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/googleapis/gnostic/extensions",
 | 
				
			||||||
 | 
								"Rev": "68f4ded48ba9414dab2ae69b3f0d69971da73aa5"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"ImportPath": "github.com/gophercloud/gophercloud",
 | 
								"ImportPath": "github.com/gophercloud/gophercloud",
 | 
				
			||||||
			"Rev": "b06120d13e262ceaf890ef38ee30898813696af0"
 | 
								"Rev": "b06120d13e262ceaf890ef38ee30898813696af0"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,8 +32,11 @@ go_library(
 | 
				
			|||||||
    deps = [
 | 
					    deps = [
 | 
				
			||||||
        "//vendor/github.com/emicklei/go-restful:go_default_library",
 | 
					        "//vendor/github.com/emicklei/go-restful:go_default_library",
 | 
				
			||||||
        "//vendor/github.com/go-openapi/spec:go_default_library",
 | 
					        "//vendor/github.com/go-openapi/spec:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor/github.com/golang/protobuf/proto:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor/github.com/googleapis/gnostic/OpenAPIv2:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor/github.com/googleapis/gnostic/compiler:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor/gopkg.in/yaml.v2:go_default_library",
 | 
				
			||||||
        "//vendor/k8s.io/apimachinery/pkg/openapi:go_default_library",
 | 
					        "//vendor/k8s.io/apimachinery/pkg/openapi:go_default_library",
 | 
				
			||||||
        "//vendor/k8s.io/apimachinery/pkg/util/json:go_default_library",
 | 
					 | 
				
			||||||
        "//vendor/k8s.io/apiserver/pkg/server/mux:go_default_library",
 | 
					        "//vendor/k8s.io/apiserver/pkg/server/mux:go_default_library",
 | 
				
			||||||
        "//vendor/k8s.io/apiserver/pkg/util/trie:go_default_library",
 | 
					        "//vendor/k8s.io/apiserver/pkg/util/trie:go_default_library",
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,16 +17,25 @@ limitations under the License.
 | 
				
			|||||||
package openapi
 | 
					package openapi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 | 
						"bytes"
 | 
				
			||||||
 | 
						"compress/gzip"
 | 
				
			||||||
 | 
						"crypto/sha512"
 | 
				
			||||||
 | 
						"encoding/json"
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
 | 
						"gopkg.in/yaml.v2"
 | 
				
			||||||
 | 
						"mime"
 | 
				
			||||||
	"net/http"
 | 
						"net/http"
 | 
				
			||||||
	"reflect"
 | 
						"reflect"
 | 
				
			||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/emicklei/go-restful"
 | 
						"github.com/emicklei/go-restful"
 | 
				
			||||||
	"github.com/go-openapi/spec"
 | 
						"github.com/go-openapi/spec"
 | 
				
			||||||
 | 
						"github.com/golang/protobuf/proto"
 | 
				
			||||||
 | 
						"github.com/googleapis/gnostic/OpenAPIv2"
 | 
				
			||||||
 | 
						"github.com/googleapis/gnostic/compiler"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"k8s.io/apimachinery/pkg/openapi"
 | 
						"k8s.io/apimachinery/pkg/openapi"
 | 
				
			||||||
	"k8s.io/apimachinery/pkg/util/json"
 | 
					 | 
				
			||||||
	genericmux "k8s.io/apiserver/pkg/server/mux"
 | 
						genericmux "k8s.io/apiserver/pkg/server/mux"
 | 
				
			||||||
	"k8s.io/apiserver/pkg/util/trie"
 | 
						"k8s.io/apiserver/pkg/util/trie"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
@@ -34,18 +43,40 @@ import (
 | 
				
			|||||||
const (
 | 
					const (
 | 
				
			||||||
	OpenAPIVersion  = "2.0"
 | 
						OpenAPIVersion  = "2.0"
 | 
				
			||||||
	extensionPrefix = "x-kubernetes-"
 | 
						extensionPrefix = "x-kubernetes-"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						JSON_EXT = ".json"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						MIME_JSON = "application/json"
 | 
				
			||||||
 | 
						// TODO(mehdy): change @68f4ded to a version tag when gnostic add version tags.
 | 
				
			||||||
 | 
						MIME_PB    = "application/com.github.googleapis.gnostic.OpenAPIv2@68f4ded+protobuf"
 | 
				
			||||||
 | 
						MIME_PB_GZ = "application/x-gzip"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type openAPI struct {
 | 
					type openAPI struct {
 | 
				
			||||||
	config       *openapi.Config
 | 
						config       *openapi.Config
 | 
				
			||||||
	swagger      *spec.Swagger
 | 
						swagger      *spec.Swagger
 | 
				
			||||||
 | 
						swaggerBytes []byte
 | 
				
			||||||
 | 
						swaggerPb    []byte
 | 
				
			||||||
 | 
						swaggerPbGz  []byte
 | 
				
			||||||
 | 
						lastModified time.Time
 | 
				
			||||||
	protocolList []string
 | 
						protocolList []string
 | 
				
			||||||
	servePath    string
 | 
						servePath    string
 | 
				
			||||||
	definitions  map[string]openapi.OpenAPIDefinition
 | 
						definitions  map[string]openapi.OpenAPIDefinition
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func computeEtag(data []byte) string {
 | 
				
			||||||
 | 
						return fmt.Sprintf("\"%X\"", sha512.Sum512(data))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RegisterOpenAPIService registers a handler to provides standard OpenAPI specification.
 | 
					// RegisterOpenAPIService registers a handler to provides standard OpenAPI specification.
 | 
				
			||||||
func RegisterOpenAPIService(servePath string, webServices []*restful.WebService, config *openapi.Config, mux *genericmux.PathRecorderMux) (err error) {
 | 
					func RegisterOpenAPIService(servePath string, webServices []*restful.WebService, config *openapi.Config, mux *genericmux.PathRecorderMux) (err error) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if !strings.HasSuffix(servePath, JSON_EXT) {
 | 
				
			||||||
 | 
							return fmt.Errorf("Serving path must ends with \"%s\".", JSON_EXT)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						servePathBase := servePath[:len(servePath)-len(JSON_EXT)]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	o := openAPI{
 | 
						o := openAPI{
 | 
				
			||||||
		config:    config,
 | 
							config:    config,
 | 
				
			||||||
		servePath: servePath,
 | 
							servePath: servePath,
 | 
				
			||||||
@@ -64,14 +95,38 @@ func RegisterOpenAPIService(servePath string, webServices []*restful.WebService,
 | 
				
			|||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	mux.UnlistedHandleFunc(servePath, func(w http.ResponseWriter, r *http.Request) {
 | 
						mime.AddExtensionType(".json", MIME_JSON)
 | 
				
			||||||
		resp := restful.NewResponse(w)
 | 
						mime.AddExtensionType(".pb-v1", MIME_PB)
 | 
				
			||||||
		if r.URL.Path != servePath {
 | 
						mime.AddExtensionType(".gz", MIME_PB_GZ)
 | 
				
			||||||
			resp.WriteErrorString(http.StatusNotFound, "Path not found!")
 | 
					
 | 
				
			||||||
		}
 | 
						type fileInfo struct {
 | 
				
			||||||
		// TODO: we can cache json string and return it here.
 | 
							ext  string
 | 
				
			||||||
		resp.WriteAsJson(o.swagger)
 | 
							data []byte
 | 
				
			||||||
	})
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						files := []fileInfo{
 | 
				
			||||||
 | 
							{".json", o.swaggerBytes},
 | 
				
			||||||
 | 
							{"-2.0.0.json", o.swaggerBytes},
 | 
				
			||||||
 | 
							{"-2.0.0.pb-v1", o.swaggerPb},
 | 
				
			||||||
 | 
							{"-2.0.0.pb-v1.gz", o.swaggerPbGz},
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for _, file := range files {
 | 
				
			||||||
 | 
							path := servePathBase + file.ext
 | 
				
			||||||
 | 
							data := file.data
 | 
				
			||||||
 | 
							etag := computeEtag(file.data)
 | 
				
			||||||
 | 
							mux.HandleFunc(path, func(w http.ResponseWriter, r *http.Request) {
 | 
				
			||||||
 | 
								if r.URL.Path != path {
 | 
				
			||||||
 | 
									w.WriteHeader(http.StatusNotFound)
 | 
				
			||||||
 | 
									w.Write([]byte("Path not found!"))
 | 
				
			||||||
 | 
									return
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								w.Header().Set("Etag", etag)
 | 
				
			||||||
 | 
								// ServeContent will take care of caching using eTag.
 | 
				
			||||||
 | 
								http.ServeContent(w, r, path, o.lastModified, bytes.NewReader(data))
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -107,9 +162,42 @@ func (o *openAPI) init(webServices []*restful.WebService) error {
 | 
				
			|||||||
			return err
 | 
								return err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						o.swaggerBytes, err = json.MarshalIndent(o.swagger, " ", " ")
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						o.swaggerPb, err = toProtoBinary(o.swaggerBytes)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						o.swaggerPbGz = toGzip(o.swaggerPb)
 | 
				
			||||||
 | 
						o.lastModified = time.Now()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func toProtoBinary(spec []byte) ([]byte, error) {
 | 
				
			||||||
 | 
						var info yaml.MapSlice
 | 
				
			||||||
 | 
						err := yaml.Unmarshal(spec, &info)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						document, err := openapi_v2.NewDocument(info, compiler.NewContext("$root", nil))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return proto.Marshal(document)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func toGzip(data []byte) []byte {
 | 
				
			||||||
 | 
						var buf bytes.Buffer
 | 
				
			||||||
 | 
						zw := gzip.NewWriter(&buf)
 | 
				
			||||||
 | 
						zw.Write(data)
 | 
				
			||||||
 | 
						zw.Close()
 | 
				
			||||||
 | 
						return buf.Bytes()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func getCanonicalizeTypeName(t reflect.Type) string {
 | 
					func getCanonicalizeTypeName(t reflect.Type) string {
 | 
				
			||||||
	if t.PkgPath() == "" {
 | 
						if t.PkgPath() == "" {
 | 
				
			||||||
		return t.Name()
 | 
							return t.Name()
 | 
				
			||||||
@@ -407,7 +495,7 @@ func (o *openAPI) buildParameter(restParam restful.ParameterData, bodySample int
 | 
				
			|||||||
	case restful.HeaderParameterKind:
 | 
						case restful.HeaderParameterKind:
 | 
				
			||||||
		ret.In = "header"
 | 
							ret.In = "header"
 | 
				
			||||||
	case restful.FormParameterKind:
 | 
						case restful.FormParameterKind:
 | 
				
			||||||
		ret.In = "form"
 | 
							ret.In = "formData"
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
		return ret, fmt.Errorf("unknown restful operation kind : %v", restParam.Kind)
 | 
							return ret, fmt.Errorf("unknown restful operation kind : %v", restParam.Kind)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -187,6 +187,7 @@ func getConfig(fullMethods bool) (*openapi.Config, *restful.Container) {
 | 
				
			|||||||
			InfoProps: spec.InfoProps{
 | 
								InfoProps: spec.InfoProps{
 | 
				
			||||||
				Title:       "TestAPI",
 | 
									Title:       "TestAPI",
 | 
				
			||||||
				Description: "Test API",
 | 
									Description: "Test API",
 | 
				
			||||||
 | 
									Version:     "unversioned",
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		GetDefinitions: func(_ openapi.ReferenceCallback) map[string]openapi.OpenAPIDefinition {
 | 
							GetDefinitions: func(_ openapi.ReferenceCallback) map[string]openapi.OpenAPIDefinition {
 | 
				
			||||||
@@ -330,7 +331,7 @@ func getAdditionalTestParameters() []spec.Parameter {
 | 
				
			|||||||
		ParamProps: spec.ParamProps{
 | 
							ParamProps: spec.ParamProps{
 | 
				
			||||||
			Name:        "fparam",
 | 
								Name:        "fparam",
 | 
				
			||||||
			Description: "a test form parameter",
 | 
								Description: "a test form parameter",
 | 
				
			||||||
			In:          "form",
 | 
								In:          "formData",
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		SimpleSchema: spec.SimpleSchema{
 | 
							SimpleSchema: spec.SimpleSchema{
 | 
				
			||||||
			Type: "number",
 | 
								Type: "number",
 | 
				
			||||||
@@ -432,6 +433,7 @@ func TestBuildSwaggerSpec(t *testing.T) {
 | 
				
			|||||||
				InfoProps: spec.InfoProps{
 | 
									InfoProps: spec.InfoProps{
 | 
				
			||||||
					Title:       "TestAPI",
 | 
										Title:       "TestAPI",
 | 
				
			||||||
					Description: "Test API",
 | 
										Description: "Test API",
 | 
				
			||||||
 | 
										Version:     "unversioned",
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			Swagger: "2.0",
 | 
								Swagger: "2.0",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -170,10 +170,38 @@
 | 
				
			|||||||
			"ImportPath": "github.com/golang/protobuf/proto",
 | 
								"ImportPath": "github.com/golang/protobuf/proto",
 | 
				
			||||||
			"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes/any",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes/duration",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes/timestamp",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"ImportPath": "github.com/google/gofuzz",
 | 
								"ImportPath": "github.com/google/gofuzz",
 | 
				
			||||||
			"Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c"
 | 
								"Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/googleapis/gnostic/OpenAPIv2",
 | 
				
			||||||
 | 
								"Rev": "68f4ded48ba9414dab2ae69b3f0d69971da73aa5"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/googleapis/gnostic/compiler",
 | 
				
			||||||
 | 
								"Rev": "68f4ded48ba9414dab2ae69b3f0d69971da73aa5"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/googleapis/gnostic/extensions",
 | 
				
			||||||
 | 
								"Rev": "68f4ded48ba9414dab2ae69b3f0d69971da73aa5"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"ImportPath": "github.com/grpc-ecosystem/go-grpc-prometheus",
 | 
								"ImportPath": "github.com/grpc-ecosystem/go-grpc-prometheus",
 | 
				
			||||||
			"Rev": "2500245aa6110c562d17020fb31a2c133d737799"
 | 
								"Rev": "2500245aa6110c562d17020fb31a2c133d737799"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -162,10 +162,38 @@
 | 
				
			|||||||
			"ImportPath": "github.com/golang/protobuf/proto",
 | 
								"ImportPath": "github.com/golang/protobuf/proto",
 | 
				
			||||||
			"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes/any",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes/duration",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes/timestamp",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"ImportPath": "github.com/google/gofuzz",
 | 
								"ImportPath": "github.com/google/gofuzz",
 | 
				
			||||||
			"Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c"
 | 
								"Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/googleapis/gnostic/OpenAPIv2",
 | 
				
			||||||
 | 
								"Rev": "68f4ded48ba9414dab2ae69b3f0d69971da73aa5"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/googleapis/gnostic/compiler",
 | 
				
			||||||
 | 
								"Rev": "68f4ded48ba9414dab2ae69b3f0d69971da73aa5"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/googleapis/gnostic/extensions",
 | 
				
			||||||
 | 
								"Rev": "68f4ded48ba9414dab2ae69b3f0d69971da73aa5"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"ImportPath": "github.com/grpc-ecosystem/go-grpc-prometheus",
 | 
								"ImportPath": "github.com/grpc-ecosystem/go-grpc-prometheus",
 | 
				
			||||||
			"Rev": "2500245aa6110c562d17020fb31a2c133d737799"
 | 
								"Rev": "2500245aa6110c562d17020fb31a2c133d737799"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -162,10 +162,38 @@
 | 
				
			|||||||
			"ImportPath": "github.com/golang/protobuf/proto",
 | 
								"ImportPath": "github.com/golang/protobuf/proto",
 | 
				
			||||||
			"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes/any",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes/duration",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/golang/protobuf/ptypes/timestamp",
 | 
				
			||||||
 | 
								"Rev": "4bd1920723d7b7c925de087aa32e2187708897f7"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"ImportPath": "github.com/google/gofuzz",
 | 
								"ImportPath": "github.com/google/gofuzz",
 | 
				
			||||||
			"Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c"
 | 
								"Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/googleapis/gnostic/OpenAPIv2",
 | 
				
			||||||
 | 
								"Rev": "68f4ded48ba9414dab2ae69b3f0d69971da73aa5"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/googleapis/gnostic/compiler",
 | 
				
			||||||
 | 
								"Rev": "68f4ded48ba9414dab2ae69b3f0d69971da73aa5"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"ImportPath": "github.com/googleapis/gnostic/extensions",
 | 
				
			||||||
 | 
								"Rev": "68f4ded48ba9414dab2ae69b3f0d69971da73aa5"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			"ImportPath": "github.com/grpc-ecosystem/go-grpc-prometheus",
 | 
								"ImportPath": "github.com/grpc-ecosystem/go-grpc-prometheus",
 | 
				
			||||||
			"Rev": "2500245aa6110c562d17020fb31a2c133d737799"
 | 
								"Rev": "2500245aa6110c562d17020fb31a2c133d737799"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								vendor/BUILD
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/BUILD
									
									
									
									
										vendored
									
									
								
							@@ -192,6 +192,7 @@ filegroup(
 | 
				
			|||||||
        "//vendor/github.com/golang/mock/gomock:all-srcs",
 | 
					        "//vendor/github.com/golang/mock/gomock:all-srcs",
 | 
				
			||||||
        "//vendor/github.com/golang/protobuf/jsonpb:all-srcs",
 | 
					        "//vendor/github.com/golang/protobuf/jsonpb:all-srcs",
 | 
				
			||||||
        "//vendor/github.com/golang/protobuf/proto:all-srcs",
 | 
					        "//vendor/github.com/golang/protobuf/proto:all-srcs",
 | 
				
			||||||
 | 
					        "//vendor/github.com/golang/protobuf/ptypes:all-srcs",
 | 
				
			||||||
        "//vendor/github.com/google/btree:all-srcs",
 | 
					        "//vendor/github.com/google/btree:all-srcs",
 | 
				
			||||||
        "//vendor/github.com/google/cadvisor/api:all-srcs",
 | 
					        "//vendor/github.com/google/cadvisor/api:all-srcs",
 | 
				
			||||||
        "//vendor/github.com/google/cadvisor/cache/memory:all-srcs",
 | 
					        "//vendor/github.com/google/cadvisor/cache/memory:all-srcs",
 | 
				
			||||||
@@ -217,6 +218,9 @@ filegroup(
 | 
				
			|||||||
        "//vendor/github.com/google/cadvisor/zfs:all-srcs",
 | 
					        "//vendor/github.com/google/cadvisor/zfs:all-srcs",
 | 
				
			||||||
        "//vendor/github.com/google/certificate-transparency/go:all-srcs",
 | 
					        "//vendor/github.com/google/certificate-transparency/go:all-srcs",
 | 
				
			||||||
        "//vendor/github.com/google/gofuzz:all-srcs",
 | 
					        "//vendor/github.com/google/gofuzz:all-srcs",
 | 
				
			||||||
 | 
					        "//vendor/github.com/googleapis/gnostic/OpenAPIv2:all-srcs",
 | 
				
			||||||
 | 
					        "//vendor/github.com/googleapis/gnostic/compiler:all-srcs",
 | 
				
			||||||
 | 
					        "//vendor/github.com/googleapis/gnostic/extensions:all-srcs",
 | 
				
			||||||
        "//vendor/github.com/gophercloud/gophercloud:all-srcs",
 | 
					        "//vendor/github.com/gophercloud/gophercloud:all-srcs",
 | 
				
			||||||
        "//vendor/github.com/gorilla/context:all-srcs",
 | 
					        "//vendor/github.com/gorilla/context:all-srcs",
 | 
				
			||||||
        "//vendor/github.com/gorilla/mux:all-srcs",
 | 
					        "//vendor/github.com/gorilla/mux:all-srcs",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										43
									
								
								vendor/github.com/golang/protobuf/ptypes/BUILD
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								vendor/github.com/golang/protobuf/ptypes/BUILD
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
				
			|||||||
 | 
					package(default_visibility = ["//visibility:public"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					licenses(["notice"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					load(
 | 
				
			||||||
 | 
					    "@io_bazel_rules_go//go:def.bzl",
 | 
				
			||||||
 | 
					    "go_library",
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					go_library(
 | 
				
			||||||
 | 
					    name = "go_default_library",
 | 
				
			||||||
 | 
					    srcs = [
 | 
				
			||||||
 | 
					        "any.go",
 | 
				
			||||||
 | 
					        "doc.go",
 | 
				
			||||||
 | 
					        "duration.go",
 | 
				
			||||||
 | 
					        "timestamp.go",
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    deps = [
 | 
				
			||||||
 | 
					        "//vendor/github.com/golang/protobuf/proto:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor/github.com/golang/protobuf/ptypes/any:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor/github.com/golang/protobuf/ptypes/duration:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor/github.com/golang/protobuf/ptypes/timestamp:go_default_library",
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filegroup(
 | 
				
			||||||
 | 
					    name = "package-srcs",
 | 
				
			||||||
 | 
					    srcs = glob(["**"]),
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    visibility = ["//visibility:private"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filegroup(
 | 
				
			||||||
 | 
					    name = "all-srcs",
 | 
				
			||||||
 | 
					    srcs = [
 | 
				
			||||||
 | 
					        ":package-srcs",
 | 
				
			||||||
 | 
					        "//vendor/github.com/golang/protobuf/ptypes/any:all-srcs",
 | 
				
			||||||
 | 
					        "//vendor/github.com/golang/protobuf/ptypes/duration:all-srcs",
 | 
				
			||||||
 | 
					        "//vendor/github.com/golang/protobuf/ptypes/timestamp:all-srcs",
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
							
								
								
									
										136
									
								
								vendor/github.com/golang/protobuf/ptypes/any.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								vendor/github.com/golang/protobuf/ptypes/any.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,136 @@
 | 
				
			|||||||
 | 
					// Go support for Protocol Buffers - Google's data interchange format
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Copyright 2016 The Go Authors.  All rights reserved.
 | 
				
			||||||
 | 
					// https://github.com/golang/protobuf
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 | 
					// modification, are permitted provided that the following conditions are
 | 
				
			||||||
 | 
					// met:
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     * Redistributions of source code must retain the above copyright
 | 
				
			||||||
 | 
					// notice, this list of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					//     * 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.
 | 
				
			||||||
 | 
					//     * Neither the name of Google Inc. 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
 | 
				
			||||||
 | 
					// OWNER 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 ptypes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// This file implements functions to marshal proto.Message to/from
 | 
				
			||||||
 | 
					// google.protobuf.Any message.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
 | 
						"reflect"
 | 
				
			||||||
 | 
						"strings"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"github.com/golang/protobuf/proto"
 | 
				
			||||||
 | 
						"github.com/golang/protobuf/ptypes/any"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const googleApis = "type.googleapis.com/"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// AnyMessageName returns the name of the message contained in a google.protobuf.Any message.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Note that regular type assertions should be done using the Is
 | 
				
			||||||
 | 
					// function. AnyMessageName is provided for less common use cases like filtering a
 | 
				
			||||||
 | 
					// sequence of Any messages based on a set of allowed message type names.
 | 
				
			||||||
 | 
					func AnyMessageName(any *any.Any) (string, error) {
 | 
				
			||||||
 | 
						slash := strings.LastIndex(any.TypeUrl, "/")
 | 
				
			||||||
 | 
						if slash < 0 {
 | 
				
			||||||
 | 
							return "", fmt.Errorf("message type url %q is invalid", any.TypeUrl)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return any.TypeUrl[slash+1:], nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// MarshalAny takes the protocol buffer and encodes it into google.protobuf.Any.
 | 
				
			||||||
 | 
					func MarshalAny(pb proto.Message) (*any.Any, error) {
 | 
				
			||||||
 | 
						value, err := proto.Marshal(pb)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return &any.Any{TypeUrl: googleApis + proto.MessageName(pb), Value: value}, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// DynamicAny is a value that can be passed to UnmarshalAny to automatically
 | 
				
			||||||
 | 
					// allocate a proto.Message for the type specified in a google.protobuf.Any
 | 
				
			||||||
 | 
					// message. The allocated message is stored in the embedded proto.Message.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example:
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//   var x ptypes.DynamicAny
 | 
				
			||||||
 | 
					//   if err := ptypes.UnmarshalAny(a, &x); err != nil { ... }
 | 
				
			||||||
 | 
					//   fmt.Printf("unmarshaled message: %v", x.Message)
 | 
				
			||||||
 | 
					type DynamicAny struct {
 | 
				
			||||||
 | 
						proto.Message
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Empty returns a new proto.Message of the type specified in a
 | 
				
			||||||
 | 
					// google.protobuf.Any message. It returns an error if corresponding message
 | 
				
			||||||
 | 
					// type isn't linked in.
 | 
				
			||||||
 | 
					func Empty(any *any.Any) (proto.Message, error) {
 | 
				
			||||||
 | 
						aname, err := AnyMessageName(any)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						t := proto.MessageType(aname)
 | 
				
			||||||
 | 
						if t == nil {
 | 
				
			||||||
 | 
							return nil, fmt.Errorf("any: message type %q isn't linked in", aname)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return reflect.New(t.Elem()).Interface().(proto.Message), nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// UnmarshalAny parses the protocol buffer representation in a google.protobuf.Any
 | 
				
			||||||
 | 
					// message and places the decoded result in pb. It returns an error if type of
 | 
				
			||||||
 | 
					// contents of Any message does not match type of pb message.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// pb can be a proto.Message, or a *DynamicAny.
 | 
				
			||||||
 | 
					func UnmarshalAny(any *any.Any, pb proto.Message) error {
 | 
				
			||||||
 | 
						if d, ok := pb.(*DynamicAny); ok {
 | 
				
			||||||
 | 
							if d.Message == nil {
 | 
				
			||||||
 | 
								var err error
 | 
				
			||||||
 | 
								d.Message, err = Empty(any)
 | 
				
			||||||
 | 
								if err != nil {
 | 
				
			||||||
 | 
									return err
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return UnmarshalAny(any, d.Message)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						aname, err := AnyMessageName(any)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mname := proto.MessageName(pb)
 | 
				
			||||||
 | 
						if aname != mname {
 | 
				
			||||||
 | 
							return fmt.Errorf("mismatched message type: got %q want %q", aname, mname)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return proto.Unmarshal(any.Value, pb)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Is returns true if any value contains a given message type.
 | 
				
			||||||
 | 
					func Is(any *any.Any, pb proto.Message) bool {
 | 
				
			||||||
 | 
						aname, err := AnyMessageName(any)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return false
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return aname == proto.MessageName(pb)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										28
									
								
								vendor/github.com/golang/protobuf/ptypes/any/BUILD
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								vendor/github.com/golang/protobuf/ptypes/any/BUILD
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					package(default_visibility = ["//visibility:public"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					licenses(["notice"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					load(
 | 
				
			||||||
 | 
					    "@io_bazel_rules_go//go:def.bzl",
 | 
				
			||||||
 | 
					    "go_library",
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					go_library(
 | 
				
			||||||
 | 
					    name = "go_default_library",
 | 
				
			||||||
 | 
					    srcs = ["any.pb.go"],
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    deps = ["//vendor/github.com/golang/protobuf/proto:go_default_library"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filegroup(
 | 
				
			||||||
 | 
					    name = "package-srcs",
 | 
				
			||||||
 | 
					    srcs = glob(["**"]),
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    visibility = ["//visibility:private"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filegroup(
 | 
				
			||||||
 | 
					    name = "all-srcs",
 | 
				
			||||||
 | 
					    srcs = [":package-srcs"],
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
							
								
								
									
										155
									
								
								vendor/github.com/golang/protobuf/ptypes/any/any.pb.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										155
									
								
								vendor/github.com/golang/protobuf/ptypes/any/any.pb.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,155 @@
 | 
				
			|||||||
 | 
					// Code generated by protoc-gen-go.
 | 
				
			||||||
 | 
					// source: github.com/golang/protobuf/ptypes/any/any.proto
 | 
				
			||||||
 | 
					// DO NOT EDIT!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					Package any is a generated protocol buffer package.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It is generated from these files:
 | 
				
			||||||
 | 
						github.com/golang/protobuf/ptypes/any/any.proto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It has these top-level messages:
 | 
				
			||||||
 | 
						Any
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					package any
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import proto "github.com/golang/protobuf/proto"
 | 
				
			||||||
 | 
					import fmt "fmt"
 | 
				
			||||||
 | 
					import math "math"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Reference imports to suppress errors if they are not otherwise used.
 | 
				
			||||||
 | 
					var _ = proto.Marshal
 | 
				
			||||||
 | 
					var _ = fmt.Errorf
 | 
				
			||||||
 | 
					var _ = math.Inf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// This is a compile-time assertion to ensure that this generated file
 | 
				
			||||||
 | 
					// is compatible with the proto package it is being compiled against.
 | 
				
			||||||
 | 
					// A compilation error at this line likely means your copy of the
 | 
				
			||||||
 | 
					// proto package needs to be updated.
 | 
				
			||||||
 | 
					const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// `Any` contains an arbitrary serialized protocol buffer message along with a
 | 
				
			||||||
 | 
					// URL that describes the type of the serialized message.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Protobuf library provides support to pack/unpack Any values in the form
 | 
				
			||||||
 | 
					// of utility functions or additional generated methods of the Any type.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 1: Pack and unpack a message in C++.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     Foo foo = ...;
 | 
				
			||||||
 | 
					//     Any any;
 | 
				
			||||||
 | 
					//     any.PackFrom(foo);
 | 
				
			||||||
 | 
					//     ...
 | 
				
			||||||
 | 
					//     if (any.UnpackTo(&foo)) {
 | 
				
			||||||
 | 
					//       ...
 | 
				
			||||||
 | 
					//     }
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 2: Pack and unpack a message in Java.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     Foo foo = ...;
 | 
				
			||||||
 | 
					//     Any any = Any.pack(foo);
 | 
				
			||||||
 | 
					//     ...
 | 
				
			||||||
 | 
					//     if (any.is(Foo.class)) {
 | 
				
			||||||
 | 
					//       foo = any.unpack(Foo.class);
 | 
				
			||||||
 | 
					//     }
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//  Example 3: Pack and unpack a message in Python.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     foo = Foo(...)
 | 
				
			||||||
 | 
					//     any = Any()
 | 
				
			||||||
 | 
					//     any.Pack(foo)
 | 
				
			||||||
 | 
					//     ...
 | 
				
			||||||
 | 
					//     if any.Is(Foo.DESCRIPTOR):
 | 
				
			||||||
 | 
					//       any.Unpack(foo)
 | 
				
			||||||
 | 
					//       ...
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// The pack methods provided by protobuf library will by default use
 | 
				
			||||||
 | 
					// 'type.googleapis.com/full.type.name' as the type URL and the unpack
 | 
				
			||||||
 | 
					// methods only use the fully qualified type name after the last '/'
 | 
				
			||||||
 | 
					// in the type URL, for example "foo.bar.com/x/y.z" will yield type
 | 
				
			||||||
 | 
					// name "y.z".
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// JSON
 | 
				
			||||||
 | 
					// ====
 | 
				
			||||||
 | 
					// The JSON representation of an `Any` value uses the regular
 | 
				
			||||||
 | 
					// representation of the deserialized, embedded message, with an
 | 
				
			||||||
 | 
					// additional field `@type` which contains the type URL. Example:
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     package google.profile;
 | 
				
			||||||
 | 
					//     message Person {
 | 
				
			||||||
 | 
					//       string first_name = 1;
 | 
				
			||||||
 | 
					//       string last_name = 2;
 | 
				
			||||||
 | 
					//     }
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     {
 | 
				
			||||||
 | 
					//       "@type": "type.googleapis.com/google.profile.Person",
 | 
				
			||||||
 | 
					//       "firstName": <string>,
 | 
				
			||||||
 | 
					//       "lastName": <string>
 | 
				
			||||||
 | 
					//     }
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// If the embedded message type is well-known and has a custom JSON
 | 
				
			||||||
 | 
					// representation, that representation will be embedded adding a field
 | 
				
			||||||
 | 
					// `value` which holds the custom JSON in addition to the `@type`
 | 
				
			||||||
 | 
					// field. Example (for message [google.protobuf.Duration][]):
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     {
 | 
				
			||||||
 | 
					//       "@type": "type.googleapis.com/google.protobuf.Duration",
 | 
				
			||||||
 | 
					//       "value": "1.212s"
 | 
				
			||||||
 | 
					//     }
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					type Any struct {
 | 
				
			||||||
 | 
						// A URL/resource name whose content describes the type of the
 | 
				
			||||||
 | 
						// serialized protocol buffer message.
 | 
				
			||||||
 | 
						//
 | 
				
			||||||
 | 
						// For URLs which use the scheme `http`, `https`, or no scheme, the
 | 
				
			||||||
 | 
						// following restrictions and interpretations apply:
 | 
				
			||||||
 | 
						//
 | 
				
			||||||
 | 
						// * If no scheme is provided, `https` is assumed.
 | 
				
			||||||
 | 
						// * The last segment of the URL's path must represent the fully
 | 
				
			||||||
 | 
						//   qualified name of the type (as in `path/google.protobuf.Duration`).
 | 
				
			||||||
 | 
						//   The name should be in a canonical form (e.g., leading "." is
 | 
				
			||||||
 | 
						//   not accepted).
 | 
				
			||||||
 | 
						// * An HTTP GET on the URL must yield a [google.protobuf.Type][]
 | 
				
			||||||
 | 
						//   value in binary format, or produce an error.
 | 
				
			||||||
 | 
						// * Applications are allowed to cache lookup results based on the
 | 
				
			||||||
 | 
						//   URL, or have them precompiled into a binary to avoid any
 | 
				
			||||||
 | 
						//   lookup. Therefore, binary compatibility needs to be preserved
 | 
				
			||||||
 | 
						//   on changes to types. (Use versioned type names to manage
 | 
				
			||||||
 | 
						//   breaking changes.)
 | 
				
			||||||
 | 
						//
 | 
				
			||||||
 | 
						// Schemes other than `http`, `https` (or the empty scheme) might be
 | 
				
			||||||
 | 
						// used with implementation specific semantics.
 | 
				
			||||||
 | 
						//
 | 
				
			||||||
 | 
						TypeUrl string `protobuf:"bytes,1,opt,name=type_url,json=typeUrl" json:"type_url,omitempty"`
 | 
				
			||||||
 | 
						// Must be a valid serialized protocol buffer of the above specified type.
 | 
				
			||||||
 | 
						Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *Any) Reset()                    { *m = Any{} }
 | 
				
			||||||
 | 
					func (m *Any) String() string            { return proto.CompactTextString(m) }
 | 
				
			||||||
 | 
					func (*Any) ProtoMessage()               {}
 | 
				
			||||||
 | 
					func (*Any) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 | 
				
			||||||
 | 
					func (*Any) XXX_WellKnownType() string   { return "Any" }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func init() {
 | 
				
			||||||
 | 
						proto.RegisterType((*Any)(nil), "google.protobuf.Any")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func init() { proto.RegisterFile("github.com/golang/protobuf/ptypes/any/any.proto", fileDescriptor0) }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var fileDescriptor0 = []byte{
 | 
				
			||||||
 | 
						// 187 bytes of a gzipped FileDescriptorProto
 | 
				
			||||||
 | 
						0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xd2, 0x4f, 0xcf, 0x2c, 0xc9,
 | 
				
			||||||
 | 
						0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0x2f, 0x28,
 | 
				
			||||||
 | 
						0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x28, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x4f, 0xcc,
 | 
				
			||||||
 | 
						0xab, 0x04, 0x61, 0x3d, 0xb0, 0xb8, 0x10, 0x7f, 0x7a, 0x7e, 0x7e, 0x7a, 0x4e, 0xaa, 0x1e, 0x4c,
 | 
				
			||||||
 | 
						0x95, 0x92, 0x19, 0x17, 0xb3, 0x63, 0x5e, 0xa5, 0x90, 0x24, 0x17, 0x07, 0x48, 0x79, 0x7c, 0x69,
 | 
				
			||||||
 | 
						0x51, 0x8e, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x67, 0x10, 0x3b, 0x88, 0x1f, 0x5a, 0x94, 0x23, 0x24,
 | 
				
			||||||
 | 
						0xc2, 0xc5, 0x5a, 0x96, 0x98, 0x53, 0x9a, 0x2a, 0xc1, 0xa4, 0xc0, 0xa8, 0xc1, 0x13, 0x04, 0xe1,
 | 
				
			||||||
 | 
						0x38, 0x15, 0x71, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x19, 0xe7, 0xc4, 0xe1, 0x98, 0x57, 0x19,
 | 
				
			||||||
 | 
						0x00, 0xe2, 0x04, 0x30, 0x46, 0xa9, 0x12, 0xe5, 0xb8, 0x05, 0x8c, 0x8c, 0x8b, 0x98, 0x98, 0xdd,
 | 
				
			||||||
 | 
						0x03, 0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43, 0x4c, 0x0b, 0x80, 0xaa, 0xd2, 0x0b, 0x4f, 0xcd, 0xc9,
 | 
				
			||||||
 | 
						0xf1, 0xce, 0xcb, 0x2f, 0xcf, 0x0b, 0x01, 0xa9, 0x4e, 0x62, 0x03, 0x6b, 0x37, 0x06, 0x04, 0x00,
 | 
				
			||||||
 | 
						0x00, 0xff, 0xff, 0xc6, 0x4d, 0x03, 0x23, 0xf6, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										140
									
								
								vendor/github.com/golang/protobuf/ptypes/any/any.proto
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										140
									
								
								vendor/github.com/golang/protobuf/ptypes/any/any.proto
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,140 @@
 | 
				
			|||||||
 | 
					// Protocol Buffers - Google's data interchange format
 | 
				
			||||||
 | 
					// Copyright 2008 Google Inc.  All rights reserved.
 | 
				
			||||||
 | 
					// https://developers.google.com/protocol-buffers/
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 | 
					// modification, are permitted provided that the following conditions are
 | 
				
			||||||
 | 
					// met:
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     * Redistributions of source code must retain the above copyright
 | 
				
			||||||
 | 
					// notice, this list of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					//     * 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.
 | 
				
			||||||
 | 
					//     * Neither the name of Google Inc. 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
 | 
				
			||||||
 | 
					// OWNER 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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					syntax = "proto3";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package google.protobuf;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					option csharp_namespace = "Google.Protobuf.WellKnownTypes";
 | 
				
			||||||
 | 
					option go_package = "github.com/golang/protobuf/ptypes/any";
 | 
				
			||||||
 | 
					option java_package = "com.google.protobuf";
 | 
				
			||||||
 | 
					option java_outer_classname = "AnyProto";
 | 
				
			||||||
 | 
					option java_multiple_files = true;
 | 
				
			||||||
 | 
					option java_generate_equals_and_hash = true;
 | 
				
			||||||
 | 
					option objc_class_prefix = "GPB";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// `Any` contains an arbitrary serialized protocol buffer message along with a
 | 
				
			||||||
 | 
					// URL that describes the type of the serialized message.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Protobuf library provides support to pack/unpack Any values in the form
 | 
				
			||||||
 | 
					// of utility functions or additional generated methods of the Any type.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 1: Pack and unpack a message in C++.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     Foo foo = ...;
 | 
				
			||||||
 | 
					//     Any any;
 | 
				
			||||||
 | 
					//     any.PackFrom(foo);
 | 
				
			||||||
 | 
					//     ...
 | 
				
			||||||
 | 
					//     if (any.UnpackTo(&foo)) {
 | 
				
			||||||
 | 
					//       ...
 | 
				
			||||||
 | 
					//     }
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 2: Pack and unpack a message in Java.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     Foo foo = ...;
 | 
				
			||||||
 | 
					//     Any any = Any.pack(foo);
 | 
				
			||||||
 | 
					//     ...
 | 
				
			||||||
 | 
					//     if (any.is(Foo.class)) {
 | 
				
			||||||
 | 
					//       foo = any.unpack(Foo.class);
 | 
				
			||||||
 | 
					//     }
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//  Example 3: Pack and unpack a message in Python.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     foo = Foo(...)
 | 
				
			||||||
 | 
					//     any = Any()
 | 
				
			||||||
 | 
					//     any.Pack(foo)
 | 
				
			||||||
 | 
					//     ...
 | 
				
			||||||
 | 
					//     if any.Is(Foo.DESCRIPTOR):
 | 
				
			||||||
 | 
					//       any.Unpack(foo)
 | 
				
			||||||
 | 
					//       ...
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// The pack methods provided by protobuf library will by default use
 | 
				
			||||||
 | 
					// 'type.googleapis.com/full.type.name' as the type URL and the unpack
 | 
				
			||||||
 | 
					// methods only use the fully qualified type name after the last '/'
 | 
				
			||||||
 | 
					// in the type URL, for example "foo.bar.com/x/y.z" will yield type
 | 
				
			||||||
 | 
					// name "y.z".
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// JSON
 | 
				
			||||||
 | 
					// ====
 | 
				
			||||||
 | 
					// The JSON representation of an `Any` value uses the regular
 | 
				
			||||||
 | 
					// representation of the deserialized, embedded message, with an
 | 
				
			||||||
 | 
					// additional field `@type` which contains the type URL. Example:
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     package google.profile;
 | 
				
			||||||
 | 
					//     message Person {
 | 
				
			||||||
 | 
					//       string first_name = 1;
 | 
				
			||||||
 | 
					//       string last_name = 2;
 | 
				
			||||||
 | 
					//     }
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     {
 | 
				
			||||||
 | 
					//       "@type": "type.googleapis.com/google.profile.Person",
 | 
				
			||||||
 | 
					//       "firstName": <string>,
 | 
				
			||||||
 | 
					//       "lastName": <string>
 | 
				
			||||||
 | 
					//     }
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// If the embedded message type is well-known and has a custom JSON
 | 
				
			||||||
 | 
					// representation, that representation will be embedded adding a field
 | 
				
			||||||
 | 
					// `value` which holds the custom JSON in addition to the `@type`
 | 
				
			||||||
 | 
					// field. Example (for message [google.protobuf.Duration][]):
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     {
 | 
				
			||||||
 | 
					//       "@type": "type.googleapis.com/google.protobuf.Duration",
 | 
				
			||||||
 | 
					//       "value": "1.212s"
 | 
				
			||||||
 | 
					//     }
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					message Any {
 | 
				
			||||||
 | 
					  // A URL/resource name whose content describes the type of the
 | 
				
			||||||
 | 
					  // serialized protocol buffer message.
 | 
				
			||||||
 | 
					  //
 | 
				
			||||||
 | 
					  // For URLs which use the scheme `http`, `https`, or no scheme, the
 | 
				
			||||||
 | 
					  // following restrictions and interpretations apply:
 | 
				
			||||||
 | 
					  //
 | 
				
			||||||
 | 
					  // * If no scheme is provided, `https` is assumed.
 | 
				
			||||||
 | 
					  // * The last segment of the URL's path must represent the fully
 | 
				
			||||||
 | 
					  //   qualified name of the type (as in `path/google.protobuf.Duration`).
 | 
				
			||||||
 | 
					  //   The name should be in a canonical form (e.g., leading "." is
 | 
				
			||||||
 | 
					  //   not accepted).
 | 
				
			||||||
 | 
					  // * An HTTP GET on the URL must yield a [google.protobuf.Type][]
 | 
				
			||||||
 | 
					  //   value in binary format, or produce an error.
 | 
				
			||||||
 | 
					  // * Applications are allowed to cache lookup results based on the
 | 
				
			||||||
 | 
					  //   URL, or have them precompiled into a binary to avoid any
 | 
				
			||||||
 | 
					  //   lookup. Therefore, binary compatibility needs to be preserved
 | 
				
			||||||
 | 
					  //   on changes to types. (Use versioned type names to manage
 | 
				
			||||||
 | 
					  //   breaking changes.)
 | 
				
			||||||
 | 
					  //
 | 
				
			||||||
 | 
					  // Schemes other than `http`, `https` (or the empty scheme) might be
 | 
				
			||||||
 | 
					  // used with implementation specific semantics.
 | 
				
			||||||
 | 
					  //
 | 
				
			||||||
 | 
					  string type_url = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Must be a valid serialized protocol buffer of the above specified type.
 | 
				
			||||||
 | 
					  bytes value = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										35
									
								
								vendor/github.com/golang/protobuf/ptypes/doc.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								vendor/github.com/golang/protobuf/ptypes/doc.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
				
			|||||||
 | 
					// Go support for Protocol Buffers - Google's data interchange format
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Copyright 2016 The Go Authors.  All rights reserved.
 | 
				
			||||||
 | 
					// https://github.com/golang/protobuf
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 | 
					// modification, are permitted provided that the following conditions are
 | 
				
			||||||
 | 
					// met:
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     * Redistributions of source code must retain the above copyright
 | 
				
			||||||
 | 
					// notice, this list of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					//     * 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.
 | 
				
			||||||
 | 
					//     * Neither the name of Google Inc. 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
 | 
				
			||||||
 | 
					// OWNER 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 ptypes contains code for interacting with well-known types.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					package ptypes
 | 
				
			||||||
							
								
								
									
										102
									
								
								vendor/github.com/golang/protobuf/ptypes/duration.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								vendor/github.com/golang/protobuf/ptypes/duration.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,102 @@
 | 
				
			|||||||
 | 
					// Go support for Protocol Buffers - Google's data interchange format
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Copyright 2016 The Go Authors.  All rights reserved.
 | 
				
			||||||
 | 
					// https://github.com/golang/protobuf
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 | 
					// modification, are permitted provided that the following conditions are
 | 
				
			||||||
 | 
					// met:
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     * Redistributions of source code must retain the above copyright
 | 
				
			||||||
 | 
					// notice, this list of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					//     * 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.
 | 
				
			||||||
 | 
					//     * Neither the name of Google Inc. 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
 | 
				
			||||||
 | 
					// OWNER 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 ptypes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// This file implements conversions between google.protobuf.Duration
 | 
				
			||||||
 | 
					// and time.Duration.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"errors"
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						durpb "github.com/golang/protobuf/ptypes/duration"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const (
 | 
				
			||||||
 | 
						// Range of a durpb.Duration in seconds, as specified in
 | 
				
			||||||
 | 
						// google/protobuf/duration.proto. This is about 10,000 years in seconds.
 | 
				
			||||||
 | 
						maxSeconds = int64(10000 * 365.25 * 24 * 60 * 60)
 | 
				
			||||||
 | 
						minSeconds = -maxSeconds
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// validateDuration determines whether the durpb.Duration is valid according to the
 | 
				
			||||||
 | 
					// definition in google/protobuf/duration.proto. A valid durpb.Duration
 | 
				
			||||||
 | 
					// may still be too large to fit into a time.Duration (the range of durpb.Duration
 | 
				
			||||||
 | 
					// is about 10,000 years, and the range of time.Duration is about 290).
 | 
				
			||||||
 | 
					func validateDuration(d *durpb.Duration) error {
 | 
				
			||||||
 | 
						if d == nil {
 | 
				
			||||||
 | 
							return errors.New("duration: nil Duration")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if d.Seconds < minSeconds || d.Seconds > maxSeconds {
 | 
				
			||||||
 | 
							return fmt.Errorf("duration: %v: seconds out of range", d)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if d.Nanos <= -1e9 || d.Nanos >= 1e9 {
 | 
				
			||||||
 | 
							return fmt.Errorf("duration: %v: nanos out of range", d)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						// Seconds and Nanos must have the same sign, unless d.Nanos is zero.
 | 
				
			||||||
 | 
						if (d.Seconds < 0 && d.Nanos > 0) || (d.Seconds > 0 && d.Nanos < 0) {
 | 
				
			||||||
 | 
							return fmt.Errorf("duration: %v: seconds and nanos have different signs", d)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Duration converts a durpb.Duration to a time.Duration. Duration
 | 
				
			||||||
 | 
					// returns an error if the durpb.Duration is invalid or is too large to be
 | 
				
			||||||
 | 
					// represented in a time.Duration.
 | 
				
			||||||
 | 
					func Duration(p *durpb.Duration) (time.Duration, error) {
 | 
				
			||||||
 | 
						if err := validateDuration(p); err != nil {
 | 
				
			||||||
 | 
							return 0, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						d := time.Duration(p.Seconds) * time.Second
 | 
				
			||||||
 | 
						if int64(d/time.Second) != p.Seconds {
 | 
				
			||||||
 | 
							return 0, fmt.Errorf("duration: %v is out of range for time.Duration", p)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if p.Nanos != 0 {
 | 
				
			||||||
 | 
							d += time.Duration(p.Nanos)
 | 
				
			||||||
 | 
							if (d < 0) != (p.Nanos < 0) {
 | 
				
			||||||
 | 
								return 0, fmt.Errorf("duration: %v is out of range for time.Duration", p)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return d, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// DurationProto converts a time.Duration to a durpb.Duration.
 | 
				
			||||||
 | 
					func DurationProto(d time.Duration) *durpb.Duration {
 | 
				
			||||||
 | 
						nanos := d.Nanoseconds()
 | 
				
			||||||
 | 
						secs := nanos / 1e9
 | 
				
			||||||
 | 
						nanos -= secs * 1e9
 | 
				
			||||||
 | 
						return &durpb.Duration{
 | 
				
			||||||
 | 
							Seconds: secs,
 | 
				
			||||||
 | 
							Nanos:   int32(nanos),
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										28
									
								
								vendor/github.com/golang/protobuf/ptypes/duration/BUILD
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								vendor/github.com/golang/protobuf/ptypes/duration/BUILD
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					package(default_visibility = ["//visibility:public"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					licenses(["notice"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					load(
 | 
				
			||||||
 | 
					    "@io_bazel_rules_go//go:def.bzl",
 | 
				
			||||||
 | 
					    "go_library",
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					go_library(
 | 
				
			||||||
 | 
					    name = "go_default_library",
 | 
				
			||||||
 | 
					    srcs = ["duration.pb.go"],
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    deps = ["//vendor/github.com/golang/protobuf/proto:go_default_library"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filegroup(
 | 
				
			||||||
 | 
					    name = "package-srcs",
 | 
				
			||||||
 | 
					    srcs = glob(["**"]),
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    visibility = ["//visibility:private"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filegroup(
 | 
				
			||||||
 | 
					    name = "all-srcs",
 | 
				
			||||||
 | 
					    srcs = [":package-srcs"],
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
							
								
								
									
										114
									
								
								vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										114
									
								
								vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,114 @@
 | 
				
			|||||||
 | 
					// Code generated by protoc-gen-go.
 | 
				
			||||||
 | 
					// source: github.com/golang/protobuf/ptypes/duration/duration.proto
 | 
				
			||||||
 | 
					// DO NOT EDIT!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					Package duration is a generated protocol buffer package.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It is generated from these files:
 | 
				
			||||||
 | 
						github.com/golang/protobuf/ptypes/duration/duration.proto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It has these top-level messages:
 | 
				
			||||||
 | 
						Duration
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					package duration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import proto "github.com/golang/protobuf/proto"
 | 
				
			||||||
 | 
					import fmt "fmt"
 | 
				
			||||||
 | 
					import math "math"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Reference imports to suppress errors if they are not otherwise used.
 | 
				
			||||||
 | 
					var _ = proto.Marshal
 | 
				
			||||||
 | 
					var _ = fmt.Errorf
 | 
				
			||||||
 | 
					var _ = math.Inf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// This is a compile-time assertion to ensure that this generated file
 | 
				
			||||||
 | 
					// is compatible with the proto package it is being compiled against.
 | 
				
			||||||
 | 
					// A compilation error at this line likely means your copy of the
 | 
				
			||||||
 | 
					// proto package needs to be updated.
 | 
				
			||||||
 | 
					const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// A Duration represents a signed, fixed-length span of time represented
 | 
				
			||||||
 | 
					// as a count of seconds and fractions of seconds at nanosecond
 | 
				
			||||||
 | 
					// resolution. It is independent of any calendar and concepts like "day"
 | 
				
			||||||
 | 
					// or "month". It is related to Timestamp in that the difference between
 | 
				
			||||||
 | 
					// two Timestamp values is a Duration and it can be added or subtracted
 | 
				
			||||||
 | 
					// from a Timestamp. Range is approximately +-10,000 years.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 1: Compute Duration from two Timestamps in pseudo code.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     Timestamp start = ...;
 | 
				
			||||||
 | 
					//     Timestamp end = ...;
 | 
				
			||||||
 | 
					//     Duration duration = ...;
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     duration.seconds = end.seconds - start.seconds;
 | 
				
			||||||
 | 
					//     duration.nanos = end.nanos - start.nanos;
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     if (duration.seconds < 0 && duration.nanos > 0) {
 | 
				
			||||||
 | 
					//       duration.seconds += 1;
 | 
				
			||||||
 | 
					//       duration.nanos -= 1000000000;
 | 
				
			||||||
 | 
					//     } else if (durations.seconds > 0 && duration.nanos < 0) {
 | 
				
			||||||
 | 
					//       duration.seconds -= 1;
 | 
				
			||||||
 | 
					//       duration.nanos += 1000000000;
 | 
				
			||||||
 | 
					//     }
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     Timestamp start = ...;
 | 
				
			||||||
 | 
					//     Duration duration = ...;
 | 
				
			||||||
 | 
					//     Timestamp end = ...;
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     end.seconds = start.seconds + duration.seconds;
 | 
				
			||||||
 | 
					//     end.nanos = start.nanos + duration.nanos;
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     if (end.nanos < 0) {
 | 
				
			||||||
 | 
					//       end.seconds -= 1;
 | 
				
			||||||
 | 
					//       end.nanos += 1000000000;
 | 
				
			||||||
 | 
					//     } else if (end.nanos >= 1000000000) {
 | 
				
			||||||
 | 
					//       end.seconds += 1;
 | 
				
			||||||
 | 
					//       end.nanos -= 1000000000;
 | 
				
			||||||
 | 
					//     }
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					type Duration struct {
 | 
				
			||||||
 | 
						// Signed seconds of the span of time. Must be from -315,576,000,000
 | 
				
			||||||
 | 
						// to +315,576,000,000 inclusive.
 | 
				
			||||||
 | 
						Seconds int64 `protobuf:"varint,1,opt,name=seconds" json:"seconds,omitempty"`
 | 
				
			||||||
 | 
						// Signed fractions of a second at nanosecond resolution of the span
 | 
				
			||||||
 | 
						// of time. Durations less than one second are represented with a 0
 | 
				
			||||||
 | 
						// `seconds` field and a positive or negative `nanos` field. For durations
 | 
				
			||||||
 | 
						// of one second or more, a non-zero value for the `nanos` field must be
 | 
				
			||||||
 | 
						// of the same sign as the `seconds` field. Must be from -999,999,999
 | 
				
			||||||
 | 
						// to +999,999,999 inclusive.
 | 
				
			||||||
 | 
						Nanos int32 `protobuf:"varint,2,opt,name=nanos" json:"nanos,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *Duration) Reset()                    { *m = Duration{} }
 | 
				
			||||||
 | 
					func (m *Duration) String() string            { return proto.CompactTextString(m) }
 | 
				
			||||||
 | 
					func (*Duration) ProtoMessage()               {}
 | 
				
			||||||
 | 
					func (*Duration) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 | 
				
			||||||
 | 
					func (*Duration) XXX_WellKnownType() string   { return "Duration" }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func init() {
 | 
				
			||||||
 | 
						proto.RegisterType((*Duration)(nil), "google.protobuf.Duration")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func init() {
 | 
				
			||||||
 | 
						proto.RegisterFile("github.com/golang/protobuf/ptypes/duration/duration.proto", fileDescriptor0)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var fileDescriptor0 = []byte{
 | 
				
			||||||
 | 
						// 189 bytes of a gzipped FileDescriptorProto
 | 
				
			||||||
 | 
						0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xb2, 0x4c, 0xcf, 0x2c, 0xc9,
 | 
				
			||||||
 | 
						0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0x2f, 0x28,
 | 
				
			||||||
 | 
						0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x28, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x4f, 0x29,
 | 
				
			||||||
 | 
						0x2d, 0x4a, 0x2c, 0xc9, 0xcc, 0xcf, 0x83, 0x33, 0xf4, 0xc0, 0x2a, 0x84, 0xf8, 0xd3, 0xf3, 0xf3,
 | 
				
			||||||
 | 
						0xd3, 0x73, 0x52, 0xf5, 0x60, 0xea, 0x95, 0xac, 0xb8, 0x38, 0x5c, 0xa0, 0x4a, 0x84, 0x24, 0xb8,
 | 
				
			||||||
 | 
						0xd8, 0x8b, 0x53, 0x93, 0xf3, 0xf3, 0x52, 0x8a, 0x25, 0x18, 0x15, 0x18, 0x35, 0x98, 0x83, 0x60,
 | 
				
			||||||
 | 
						0x5c, 0x21, 0x11, 0x2e, 0xd6, 0xbc, 0xc4, 0xbc, 0xfc, 0x62, 0x09, 0x26, 0x05, 0x46, 0x0d, 0xd6,
 | 
				
			||||||
 | 
						0x20, 0x08, 0xc7, 0xa9, 0x86, 0x4b, 0x38, 0x39, 0x3f, 0x57, 0x0f, 0xcd, 0x48, 0x27, 0x5e, 0x98,
 | 
				
			||||||
 | 
						0x81, 0x01, 0x20, 0x91, 0x00, 0xc6, 0x28, 0x2d, 0xe2, 0xdd, 0xbb, 0x80, 0x91, 0x71, 0x11, 0x13,
 | 
				
			||||||
 | 
						0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88, 0xb9, 0x01, 0x50, 0xa5, 0x7a, 0xe1, 0xa9,
 | 
				
			||||||
 | 
						0x39, 0x39, 0xde, 0x79, 0xf9, 0xe5, 0x79, 0x21, 0x20, 0x2d, 0x49, 0x6c, 0x60, 0x33, 0x8c, 0x01,
 | 
				
			||||||
 | 
						0x01, 0x00, 0x00, 0xff, 0xff, 0x62, 0xfb, 0xb1, 0x51, 0x0e, 0x01, 0x00, 0x00,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										98
									
								
								vendor/github.com/golang/protobuf/ptypes/duration/duration.proto
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								vendor/github.com/golang/protobuf/ptypes/duration/duration.proto
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,98 @@
 | 
				
			|||||||
 | 
					// Protocol Buffers - Google's data interchange format
 | 
				
			||||||
 | 
					// Copyright 2008 Google Inc.  All rights reserved.
 | 
				
			||||||
 | 
					// https://developers.google.com/protocol-buffers/
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 | 
					// modification, are permitted provided that the following conditions are
 | 
				
			||||||
 | 
					// met:
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     * Redistributions of source code must retain the above copyright
 | 
				
			||||||
 | 
					// notice, this list of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					//     * 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.
 | 
				
			||||||
 | 
					//     * Neither the name of Google Inc. 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
 | 
				
			||||||
 | 
					// OWNER 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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					syntax = "proto3";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package google.protobuf;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					option csharp_namespace = "Google.Protobuf.WellKnownTypes";
 | 
				
			||||||
 | 
					option go_package = "github.com/golang/protobuf/ptypes/duration";
 | 
				
			||||||
 | 
					option java_package = "com.google.protobuf";
 | 
				
			||||||
 | 
					option java_outer_classname = "DurationProto";
 | 
				
			||||||
 | 
					option java_multiple_files = true;
 | 
				
			||||||
 | 
					option java_generate_equals_and_hash = true;
 | 
				
			||||||
 | 
					option objc_class_prefix = "GPB";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// A Duration represents a signed, fixed-length span of time represented
 | 
				
			||||||
 | 
					// as a count of seconds and fractions of seconds at nanosecond
 | 
				
			||||||
 | 
					// resolution. It is independent of any calendar and concepts like "day"
 | 
				
			||||||
 | 
					// or "month". It is related to Timestamp in that the difference between
 | 
				
			||||||
 | 
					// two Timestamp values is a Duration and it can be added or subtracted
 | 
				
			||||||
 | 
					// from a Timestamp. Range is approximately +-10,000 years.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 1: Compute Duration from two Timestamps in pseudo code.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     Timestamp start = ...;
 | 
				
			||||||
 | 
					//     Timestamp end = ...;
 | 
				
			||||||
 | 
					//     Duration duration = ...;
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     duration.seconds = end.seconds - start.seconds;
 | 
				
			||||||
 | 
					//     duration.nanos = end.nanos - start.nanos;
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     if (duration.seconds < 0 && duration.nanos > 0) {
 | 
				
			||||||
 | 
					//       duration.seconds += 1;
 | 
				
			||||||
 | 
					//       duration.nanos -= 1000000000;
 | 
				
			||||||
 | 
					//     } else if (durations.seconds > 0 && duration.nanos < 0) {
 | 
				
			||||||
 | 
					//       duration.seconds -= 1;
 | 
				
			||||||
 | 
					//       duration.nanos += 1000000000;
 | 
				
			||||||
 | 
					//     }
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     Timestamp start = ...;
 | 
				
			||||||
 | 
					//     Duration duration = ...;
 | 
				
			||||||
 | 
					//     Timestamp end = ...;
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     end.seconds = start.seconds + duration.seconds;
 | 
				
			||||||
 | 
					//     end.nanos = start.nanos + duration.nanos;
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     if (end.nanos < 0) {
 | 
				
			||||||
 | 
					//       end.seconds -= 1;
 | 
				
			||||||
 | 
					//       end.nanos += 1000000000;
 | 
				
			||||||
 | 
					//     } else if (end.nanos >= 1000000000) {
 | 
				
			||||||
 | 
					//       end.seconds += 1;
 | 
				
			||||||
 | 
					//       end.nanos -= 1000000000;
 | 
				
			||||||
 | 
					//     }
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					message Duration {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Signed seconds of the span of time. Must be from -315,576,000,000
 | 
				
			||||||
 | 
					  // to +315,576,000,000 inclusive.
 | 
				
			||||||
 | 
					  int64 seconds = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Signed fractions of a second at nanosecond resolution of the span
 | 
				
			||||||
 | 
					  // of time. Durations less than one second are represented with a 0
 | 
				
			||||||
 | 
					  // `seconds` field and a positive or negative `nanos` field. For durations
 | 
				
			||||||
 | 
					  // of one second or more, a non-zero value for the `nanos` field must be
 | 
				
			||||||
 | 
					  // of the same sign as the `seconds` field. Must be from -999,999,999
 | 
				
			||||||
 | 
					  // to +999,999,999 inclusive.
 | 
				
			||||||
 | 
					  int32 nanos = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										66
									
								
								vendor/github.com/golang/protobuf/ptypes/regen.sh
									
									
									
										generated
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										66
									
								
								vendor/github.com/golang/protobuf/ptypes/regen.sh
									
									
									
										generated
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1,66 @@
 | 
				
			|||||||
 | 
					#!/bin/bash -e
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This script fetches and rebuilds the "well-known types" protocol buffers.
 | 
				
			||||||
 | 
					# To run this you will need protoc and goprotobuf installed;
 | 
				
			||||||
 | 
					# see https://github.com/golang/protobuf for instructions.
 | 
				
			||||||
 | 
					# You also need Go and Git installed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PKG=github.com/golang/protobuf/ptypes
 | 
				
			||||||
 | 
					UPSTREAM=https://github.com/google/protobuf
 | 
				
			||||||
 | 
					UPSTREAM_SUBDIR=src/google/protobuf
 | 
				
			||||||
 | 
					PROTO_FILES='
 | 
				
			||||||
 | 
					  any.proto
 | 
				
			||||||
 | 
					  duration.proto
 | 
				
			||||||
 | 
					  empty.proto
 | 
				
			||||||
 | 
					  struct.proto
 | 
				
			||||||
 | 
					  timestamp.proto
 | 
				
			||||||
 | 
					  wrappers.proto
 | 
				
			||||||
 | 
					'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function die() {
 | 
				
			||||||
 | 
					  echo 1>&2 $*
 | 
				
			||||||
 | 
					  exit 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Sanity check that the right tools are accessible.
 | 
				
			||||||
 | 
					for tool in go git protoc protoc-gen-go; do
 | 
				
			||||||
 | 
					  q=$(which $tool) || die "didn't find $tool"
 | 
				
			||||||
 | 
					  echo 1>&2 "$tool: $q"
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					tmpdir=$(mktemp -d -t regen-wkt.XXXXXX)
 | 
				
			||||||
 | 
					trap 'rm -rf $tmpdir' EXIT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo -n 1>&2 "finding package dir... "
 | 
				
			||||||
 | 
					pkgdir=$(go list -f '{{.Dir}}' $PKG)
 | 
				
			||||||
 | 
					echo 1>&2 $pkgdir
 | 
				
			||||||
 | 
					base=$(echo $pkgdir | sed "s,/$PKG\$,,")
 | 
				
			||||||
 | 
					echo 1>&2 "base: $base"
 | 
				
			||||||
 | 
					cd $base
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo 1>&2 "fetching latest protos... "
 | 
				
			||||||
 | 
					git clone -q $UPSTREAM $tmpdir
 | 
				
			||||||
 | 
					# Pass 1: build mapping from upstream filename to our filename.
 | 
				
			||||||
 | 
					declare -A filename_map
 | 
				
			||||||
 | 
					for f in $(cd $PKG && find * -name '*.proto'); do
 | 
				
			||||||
 | 
					  echo -n 1>&2 "looking for latest version of $f... "
 | 
				
			||||||
 | 
					  up=$(cd $tmpdir/$UPSTREAM_SUBDIR && find * -name $(basename $f) | grep -v /testdata/)
 | 
				
			||||||
 | 
					  echo 1>&2 $up
 | 
				
			||||||
 | 
					  if [ $(echo $up | wc -w) != "1" ]; then
 | 
				
			||||||
 | 
					    die "not exactly one match"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  filename_map[$up]=$f
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					# Pass 2: copy files
 | 
				
			||||||
 | 
					for up in "${!filename_map[@]}"; do
 | 
				
			||||||
 | 
					  f=${filename_map[$up]}
 | 
				
			||||||
 | 
					  shortname=$(basename $f | sed 's,\.proto$,,')
 | 
				
			||||||
 | 
					  cp $tmpdir/$UPSTREAM_SUBDIR/$up $PKG/$f
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Run protoc once per package.
 | 
				
			||||||
 | 
					for dir in $(find $PKG -name '*.proto' | xargs dirname | sort | uniq); do
 | 
				
			||||||
 | 
					  echo 1>&2 "* $dir"
 | 
				
			||||||
 | 
					  protoc --go_out=. $dir/*.proto
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					echo 1>&2 "All OK"
 | 
				
			||||||
							
								
								
									
										125
									
								
								vendor/github.com/golang/protobuf/ptypes/timestamp.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								vendor/github.com/golang/protobuf/ptypes/timestamp.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,125 @@
 | 
				
			|||||||
 | 
					// Go support for Protocol Buffers - Google's data interchange format
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Copyright 2016 The Go Authors.  All rights reserved.
 | 
				
			||||||
 | 
					// https://github.com/golang/protobuf
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 | 
					// modification, are permitted provided that the following conditions are
 | 
				
			||||||
 | 
					// met:
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     * Redistributions of source code must retain the above copyright
 | 
				
			||||||
 | 
					// notice, this list of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					//     * 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.
 | 
				
			||||||
 | 
					//     * Neither the name of Google Inc. 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
 | 
				
			||||||
 | 
					// OWNER 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 ptypes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// This file implements operations on google.protobuf.Timestamp.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"errors"
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						tspb "github.com/golang/protobuf/ptypes/timestamp"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const (
 | 
				
			||||||
 | 
						// Seconds field of the earliest valid Timestamp.
 | 
				
			||||||
 | 
						// This is time.Date(1, 1, 1, 0, 0, 0, 0, time.UTC).Unix().
 | 
				
			||||||
 | 
						minValidSeconds = -62135596800
 | 
				
			||||||
 | 
						// Seconds field just after the latest valid Timestamp.
 | 
				
			||||||
 | 
						// This is time.Date(10000, 1, 1, 0, 0, 0, 0, time.UTC).Unix().
 | 
				
			||||||
 | 
						maxValidSeconds = 253402300800
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// validateTimestamp determines whether a Timestamp is valid.
 | 
				
			||||||
 | 
					// A valid timestamp represents a time in the range
 | 
				
			||||||
 | 
					// [0001-01-01, 10000-01-01) and has a Nanos field
 | 
				
			||||||
 | 
					// in the range [0, 1e9).
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// If the Timestamp is valid, validateTimestamp returns nil.
 | 
				
			||||||
 | 
					// Otherwise, it returns an error that describes
 | 
				
			||||||
 | 
					// the problem.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Every valid Timestamp can be represented by a time.Time, but the converse is not true.
 | 
				
			||||||
 | 
					func validateTimestamp(ts *tspb.Timestamp) error {
 | 
				
			||||||
 | 
						if ts == nil {
 | 
				
			||||||
 | 
							return errors.New("timestamp: nil Timestamp")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if ts.Seconds < minValidSeconds {
 | 
				
			||||||
 | 
							return fmt.Errorf("timestamp: %v before 0001-01-01", ts)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if ts.Seconds >= maxValidSeconds {
 | 
				
			||||||
 | 
							return fmt.Errorf("timestamp: %v after 10000-01-01", ts)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if ts.Nanos < 0 || ts.Nanos >= 1e9 {
 | 
				
			||||||
 | 
							return fmt.Errorf("timestamp: %v: nanos not in range [0, 1e9)", ts)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Timestamp converts a google.protobuf.Timestamp proto to a time.Time.
 | 
				
			||||||
 | 
					// It returns an error if the argument is invalid.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Unlike most Go functions, if Timestamp returns an error, the first return value
 | 
				
			||||||
 | 
					// is not the zero time.Time. Instead, it is the value obtained from the
 | 
				
			||||||
 | 
					// time.Unix function when passed the contents of the Timestamp, in the UTC
 | 
				
			||||||
 | 
					// locale. This may or may not be a meaningful time; many invalid Timestamps
 | 
				
			||||||
 | 
					// do map to valid time.Times.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// A nil Timestamp returns an error. The first return value in that case is
 | 
				
			||||||
 | 
					// undefined.
 | 
				
			||||||
 | 
					func Timestamp(ts *tspb.Timestamp) (time.Time, error) {
 | 
				
			||||||
 | 
						// Don't return the zero value on error, because corresponds to a valid
 | 
				
			||||||
 | 
						// timestamp. Instead return whatever time.Unix gives us.
 | 
				
			||||||
 | 
						var t time.Time
 | 
				
			||||||
 | 
						if ts == nil {
 | 
				
			||||||
 | 
							t = time.Unix(0, 0).UTC() // treat nil like the empty Timestamp
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							t = time.Unix(ts.Seconds, int64(ts.Nanos)).UTC()
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return t, validateTimestamp(ts)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// TimestampProto converts the time.Time to a google.protobuf.Timestamp proto.
 | 
				
			||||||
 | 
					// It returns an error if the resulting Timestamp is invalid.
 | 
				
			||||||
 | 
					func TimestampProto(t time.Time) (*tspb.Timestamp, error) {
 | 
				
			||||||
 | 
						seconds := t.Unix()
 | 
				
			||||||
 | 
						nanos := int32(t.Sub(time.Unix(seconds, 0)))
 | 
				
			||||||
 | 
						ts := &tspb.Timestamp{
 | 
				
			||||||
 | 
							Seconds: seconds,
 | 
				
			||||||
 | 
							Nanos:   nanos,
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if err := validateTimestamp(ts); err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ts, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// TimestampString returns the RFC 3339 string for valid Timestamps. For invalid
 | 
				
			||||||
 | 
					// Timestamps, it returns an error message in parentheses.
 | 
				
			||||||
 | 
					func TimestampString(ts *tspb.Timestamp) string {
 | 
				
			||||||
 | 
						t, err := Timestamp(ts)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return fmt.Sprintf("(%v)", err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return t.Format(time.RFC3339Nano)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										28
									
								
								vendor/github.com/golang/protobuf/ptypes/timestamp/BUILD
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								vendor/github.com/golang/protobuf/ptypes/timestamp/BUILD
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					package(default_visibility = ["//visibility:public"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					licenses(["notice"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					load(
 | 
				
			||||||
 | 
					    "@io_bazel_rules_go//go:def.bzl",
 | 
				
			||||||
 | 
					    "go_library",
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					go_library(
 | 
				
			||||||
 | 
					    name = "go_default_library",
 | 
				
			||||||
 | 
					    srcs = ["timestamp.pb.go"],
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    deps = ["//vendor/github.com/golang/protobuf/proto:go_default_library"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filegroup(
 | 
				
			||||||
 | 
					    name = "package-srcs",
 | 
				
			||||||
 | 
					    srcs = glob(["**"]),
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    visibility = ["//visibility:private"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filegroup(
 | 
				
			||||||
 | 
					    name = "all-srcs",
 | 
				
			||||||
 | 
					    srcs = [":package-srcs"],
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
							
								
								
									
										127
									
								
								vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										127
									
								
								vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,127 @@
 | 
				
			|||||||
 | 
					// Code generated by protoc-gen-go.
 | 
				
			||||||
 | 
					// source: github.com/golang/protobuf/ptypes/timestamp/timestamp.proto
 | 
				
			||||||
 | 
					// DO NOT EDIT!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					Package timestamp is a generated protocol buffer package.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It is generated from these files:
 | 
				
			||||||
 | 
						github.com/golang/protobuf/ptypes/timestamp/timestamp.proto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It has these top-level messages:
 | 
				
			||||||
 | 
						Timestamp
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					package timestamp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import proto "github.com/golang/protobuf/proto"
 | 
				
			||||||
 | 
					import fmt "fmt"
 | 
				
			||||||
 | 
					import math "math"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Reference imports to suppress errors if they are not otherwise used.
 | 
				
			||||||
 | 
					var _ = proto.Marshal
 | 
				
			||||||
 | 
					var _ = fmt.Errorf
 | 
				
			||||||
 | 
					var _ = math.Inf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// This is a compile-time assertion to ensure that this generated file
 | 
				
			||||||
 | 
					// is compatible with the proto package it is being compiled against.
 | 
				
			||||||
 | 
					// A compilation error at this line likely means your copy of the
 | 
				
			||||||
 | 
					// proto package needs to be updated.
 | 
				
			||||||
 | 
					const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// A Timestamp represents a point in time independent of any time zone
 | 
				
			||||||
 | 
					// or calendar, represented as seconds and fractions of seconds at
 | 
				
			||||||
 | 
					// nanosecond resolution in UTC Epoch time. It is encoded using the
 | 
				
			||||||
 | 
					// Proleptic Gregorian Calendar which extends the Gregorian calendar
 | 
				
			||||||
 | 
					// backwards to year one. It is encoded assuming all minutes are 60
 | 
				
			||||||
 | 
					// seconds long, i.e. leap seconds are "smeared" so that no leap second
 | 
				
			||||||
 | 
					// table is needed for interpretation. Range is from
 | 
				
			||||||
 | 
					// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z.
 | 
				
			||||||
 | 
					// By restricting to that range, we ensure that we can convert to
 | 
				
			||||||
 | 
					// and from  RFC 3339 date strings.
 | 
				
			||||||
 | 
					// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 1: Compute Timestamp from POSIX `time()`.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     Timestamp timestamp;
 | 
				
			||||||
 | 
					//     timestamp.set_seconds(time(NULL));
 | 
				
			||||||
 | 
					//     timestamp.set_nanos(0);
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 2: Compute Timestamp from POSIX `gettimeofday()`.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     struct timeval tv;
 | 
				
			||||||
 | 
					//     gettimeofday(&tv, NULL);
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     Timestamp timestamp;
 | 
				
			||||||
 | 
					//     timestamp.set_seconds(tv.tv_sec);
 | 
				
			||||||
 | 
					//     timestamp.set_nanos(tv.tv_usec * 1000);
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     FILETIME ft;
 | 
				
			||||||
 | 
					//     GetSystemTimeAsFileTime(&ft);
 | 
				
			||||||
 | 
					//     UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
 | 
				
			||||||
 | 
					//     // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
 | 
				
			||||||
 | 
					//     Timestamp timestamp;
 | 
				
			||||||
 | 
					//     timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
 | 
				
			||||||
 | 
					//     timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     long millis = System.currentTimeMillis();
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
 | 
				
			||||||
 | 
					//         .setNanos((int) ((millis % 1000) * 1000000)).build();
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 5: Compute Timestamp from current time in Python.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     now = time.time()
 | 
				
			||||||
 | 
					//     seconds = int(now)
 | 
				
			||||||
 | 
					//     nanos = int((now - seconds) * 10**9)
 | 
				
			||||||
 | 
					//     timestamp = Timestamp(seconds=seconds, nanos=nanos)
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					type Timestamp struct {
 | 
				
			||||||
 | 
						// Represents seconds of UTC time since Unix epoch
 | 
				
			||||||
 | 
						// 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to
 | 
				
			||||||
 | 
						// 9999-12-31T23:59:59Z inclusive.
 | 
				
			||||||
 | 
						Seconds int64 `protobuf:"varint,1,opt,name=seconds" json:"seconds,omitempty"`
 | 
				
			||||||
 | 
						// Non-negative fractions of a second at nanosecond resolution. Negative
 | 
				
			||||||
 | 
						// second values with fractions must still have non-negative nanos values
 | 
				
			||||||
 | 
						// that count forward in time. Must be from 0 to 999,999,999
 | 
				
			||||||
 | 
						// inclusive.
 | 
				
			||||||
 | 
						Nanos int32 `protobuf:"varint,2,opt,name=nanos" json:"nanos,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *Timestamp) Reset()                    { *m = Timestamp{} }
 | 
				
			||||||
 | 
					func (m *Timestamp) String() string            { return proto.CompactTextString(m) }
 | 
				
			||||||
 | 
					func (*Timestamp) ProtoMessage()               {}
 | 
				
			||||||
 | 
					func (*Timestamp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 | 
				
			||||||
 | 
					func (*Timestamp) XXX_WellKnownType() string   { return "Timestamp" }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func init() {
 | 
				
			||||||
 | 
						proto.RegisterType((*Timestamp)(nil), "google.protobuf.Timestamp")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func init() {
 | 
				
			||||||
 | 
						proto.RegisterFile("github.com/golang/protobuf/ptypes/timestamp/timestamp.proto", fileDescriptor0)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var fileDescriptor0 = []byte{
 | 
				
			||||||
 | 
						// 194 bytes of a gzipped FileDescriptorProto
 | 
				
			||||||
 | 
						0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xb2, 0x4e, 0xcf, 0x2c, 0xc9,
 | 
				
			||||||
 | 
						0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0x2f, 0x28,
 | 
				
			||||||
 | 
						0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x28, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x2f, 0xc9,
 | 
				
			||||||
 | 
						0xcc, 0x4d, 0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0x40, 0xb0, 0xf4, 0xc0, 0x6a, 0x84, 0xf8, 0xd3, 0xf3,
 | 
				
			||||||
 | 
						0xf3, 0xd3, 0x73, 0x52, 0xf5, 0x60, 0x3a, 0x94, 0xac, 0xb9, 0x38, 0x43, 0x60, 0x6a, 0x84, 0x24,
 | 
				
			||||||
 | 
						0xb8, 0xd8, 0x8b, 0x53, 0x93, 0xf3, 0xf3, 0x52, 0x8a, 0x25, 0x18, 0x15, 0x18, 0x35, 0x98, 0x83,
 | 
				
			||||||
 | 
						0x60, 0x5c, 0x21, 0x11, 0x2e, 0xd6, 0xbc, 0xc4, 0xbc, 0xfc, 0x62, 0x09, 0x26, 0x05, 0x46, 0x0d,
 | 
				
			||||||
 | 
						0xd6, 0x20, 0x08, 0xc7, 0xa9, 0x91, 0x91, 0x4b, 0x38, 0x39, 0x3f, 0x57, 0x0f, 0xcd, 0x50, 0x27,
 | 
				
			||||||
 | 
						0x3e, 0xb8, 0x91, 0x01, 0x20, 0xa1, 0x00, 0xc6, 0x28, 0x6d, 0x12, 0x1c, 0xbd, 0x80, 0x91, 0xf1,
 | 
				
			||||||
 | 
						0x07, 0x23, 0xe3, 0x22, 0x26, 0x66, 0xf7, 0x00, 0xa7, 0x55, 0x4c, 0x72, 0xee, 0x10, 0xc3, 0x03,
 | 
				
			||||||
 | 
						0xa0, 0xca, 0xf5, 0xc2, 0x53, 0x73, 0x72, 0xbc, 0xf3, 0xf2, 0xcb, 0xf3, 0x42, 0x40, 0xda, 0x92,
 | 
				
			||||||
 | 
						0xd8, 0xc0, 0xe6, 0x18, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x17, 0x5f, 0xb7, 0xdc, 0x17, 0x01,
 | 
				
			||||||
 | 
						0x00, 0x00,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										111
									
								
								vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,111 @@
 | 
				
			|||||||
 | 
					// Protocol Buffers - Google's data interchange format
 | 
				
			||||||
 | 
					// Copyright 2008 Google Inc.  All rights reserved.
 | 
				
			||||||
 | 
					// https://developers.google.com/protocol-buffers/
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 | 
					// modification, are permitted provided that the following conditions are
 | 
				
			||||||
 | 
					// met:
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     * Redistributions of source code must retain the above copyright
 | 
				
			||||||
 | 
					// notice, this list of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					//     * 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.
 | 
				
			||||||
 | 
					//     * Neither the name of Google Inc. 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
 | 
				
			||||||
 | 
					// OWNER 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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					syntax = "proto3";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package google.protobuf;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					option csharp_namespace = "Google.Protobuf.WellKnownTypes";
 | 
				
			||||||
 | 
					option cc_enable_arenas = true;
 | 
				
			||||||
 | 
					option go_package = "github.com/golang/protobuf/ptypes/timestamp";
 | 
				
			||||||
 | 
					option java_package = "com.google.protobuf";
 | 
				
			||||||
 | 
					option java_outer_classname = "TimestampProto";
 | 
				
			||||||
 | 
					option java_multiple_files = true;
 | 
				
			||||||
 | 
					option java_generate_equals_and_hash = true;
 | 
				
			||||||
 | 
					option objc_class_prefix = "GPB";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// A Timestamp represents a point in time independent of any time zone
 | 
				
			||||||
 | 
					// or calendar, represented as seconds and fractions of seconds at
 | 
				
			||||||
 | 
					// nanosecond resolution in UTC Epoch time. It is encoded using the
 | 
				
			||||||
 | 
					// Proleptic Gregorian Calendar which extends the Gregorian calendar
 | 
				
			||||||
 | 
					// backwards to year one. It is encoded assuming all minutes are 60
 | 
				
			||||||
 | 
					// seconds long, i.e. leap seconds are "smeared" so that no leap second
 | 
				
			||||||
 | 
					// table is needed for interpretation. Range is from
 | 
				
			||||||
 | 
					// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z.
 | 
				
			||||||
 | 
					// By restricting to that range, we ensure that we can convert to
 | 
				
			||||||
 | 
					// and from  RFC 3339 date strings.
 | 
				
			||||||
 | 
					// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 1: Compute Timestamp from POSIX `time()`.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     Timestamp timestamp;
 | 
				
			||||||
 | 
					//     timestamp.set_seconds(time(NULL));
 | 
				
			||||||
 | 
					//     timestamp.set_nanos(0);
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 2: Compute Timestamp from POSIX `gettimeofday()`.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     struct timeval tv;
 | 
				
			||||||
 | 
					//     gettimeofday(&tv, NULL);
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     Timestamp timestamp;
 | 
				
			||||||
 | 
					//     timestamp.set_seconds(tv.tv_sec);
 | 
				
			||||||
 | 
					//     timestamp.set_nanos(tv.tv_usec * 1000);
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     FILETIME ft;
 | 
				
			||||||
 | 
					//     GetSystemTimeAsFileTime(&ft);
 | 
				
			||||||
 | 
					//     UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
 | 
				
			||||||
 | 
					//     // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
 | 
				
			||||||
 | 
					//     Timestamp timestamp;
 | 
				
			||||||
 | 
					//     timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
 | 
				
			||||||
 | 
					//     timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     long millis = System.currentTimeMillis();
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
 | 
				
			||||||
 | 
					//         .setNanos((int) ((millis % 1000) * 1000000)).build();
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Example 5: Compute Timestamp from current time in Python.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//     now = time.time()
 | 
				
			||||||
 | 
					//     seconds = int(now)
 | 
				
			||||||
 | 
					//     nanos = int((now - seconds) * 10**9)
 | 
				
			||||||
 | 
					//     timestamp = Timestamp(seconds=seconds, nanos=nanos)
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					message Timestamp {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Represents seconds of UTC time since Unix epoch
 | 
				
			||||||
 | 
					  // 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to
 | 
				
			||||||
 | 
					  // 9999-12-31T23:59:59Z inclusive.
 | 
				
			||||||
 | 
					  int64 seconds = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Non-negative fractions of a second at nanosecond resolution. Negative
 | 
				
			||||||
 | 
					  // second values with fractions must still have non-negative nanos values
 | 
				
			||||||
 | 
					  // that count forward in time. Must be from 0 to 999,999,999
 | 
				
			||||||
 | 
					  // inclusive.
 | 
				
			||||||
 | 
					  int32 nanos = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										203
									
								
								vendor/github.com/googleapis/gnostic/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										203
									
								
								vendor/github.com/googleapis/gnostic/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,203 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					                                 Apache License
 | 
				
			||||||
 | 
					                           Version 2.0, January 2004
 | 
				
			||||||
 | 
					                        http://www.apache.org/licenses/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   1. Definitions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "License" shall mean the terms and conditions for use, reproduction,
 | 
				
			||||||
 | 
					      and distribution as defined by Sections 1 through 9 of this document.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Licensor" shall mean the copyright owner or entity authorized by
 | 
				
			||||||
 | 
					      the copyright owner that is granting the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Legal Entity" shall mean the union of the acting entity and all
 | 
				
			||||||
 | 
					      other entities that control, are controlled by, or are under common
 | 
				
			||||||
 | 
					      control with that entity. For the purposes of this definition,
 | 
				
			||||||
 | 
					      "control" means (i) the power, direct or indirect, to cause the
 | 
				
			||||||
 | 
					      direction or management of such entity, whether by contract or
 | 
				
			||||||
 | 
					      otherwise, or (ii) ownership of fifty percent (50%) or more of the
 | 
				
			||||||
 | 
					      outstanding shares, or (iii) beneficial ownership of such entity.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "You" (or "Your") shall mean an individual or Legal Entity
 | 
				
			||||||
 | 
					      exercising permissions granted by this License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Source" form shall mean the preferred form for making modifications,
 | 
				
			||||||
 | 
					      including but not limited to software source code, documentation
 | 
				
			||||||
 | 
					      source, and configuration files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Object" form shall mean any form resulting from mechanical
 | 
				
			||||||
 | 
					      transformation or translation of a Source form, including but
 | 
				
			||||||
 | 
					      not limited to compiled object code, generated documentation,
 | 
				
			||||||
 | 
					      and conversions to other media types.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Work" shall mean the work of authorship, whether in Source or
 | 
				
			||||||
 | 
					      Object form, made available under the License, as indicated by a
 | 
				
			||||||
 | 
					      copyright notice that is included in or attached to the work
 | 
				
			||||||
 | 
					      (an example is provided in the Appendix below).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Derivative Works" shall mean any work, whether in Source or Object
 | 
				
			||||||
 | 
					      form, that is based on (or derived from) the Work and for which the
 | 
				
			||||||
 | 
					      editorial revisions, annotations, elaborations, or other modifications
 | 
				
			||||||
 | 
					      represent, as a whole, an original work of authorship. For the purposes
 | 
				
			||||||
 | 
					      of this License, Derivative Works shall not include works that remain
 | 
				
			||||||
 | 
					      separable from, or merely link (or bind by name) to the interfaces of,
 | 
				
			||||||
 | 
					      the Work and Derivative Works thereof.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Contribution" shall mean any work of authorship, including
 | 
				
			||||||
 | 
					      the original version of the Work and any modifications or additions
 | 
				
			||||||
 | 
					      to that Work or Derivative Works thereof, that is intentionally
 | 
				
			||||||
 | 
					      submitted to Licensor for inclusion in the Work by the copyright owner
 | 
				
			||||||
 | 
					      or by an individual or Legal Entity authorized to submit on behalf of
 | 
				
			||||||
 | 
					      the copyright owner. For the purposes of this definition, "submitted"
 | 
				
			||||||
 | 
					      means any form of electronic, verbal, or written communication sent
 | 
				
			||||||
 | 
					      to the Licensor or its representatives, including but not limited to
 | 
				
			||||||
 | 
					      communication on electronic mailing lists, source code control systems,
 | 
				
			||||||
 | 
					      and issue tracking systems that are managed by, or on behalf of, the
 | 
				
			||||||
 | 
					      Licensor for the purpose of discussing and improving the Work, but
 | 
				
			||||||
 | 
					      excluding communication that is conspicuously marked or otherwise
 | 
				
			||||||
 | 
					      designated in writing by the copyright owner as "Not a Contribution."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "Contributor" shall mean Licensor and any individual or Legal Entity
 | 
				
			||||||
 | 
					      on behalf of whom a Contribution has been received by Licensor and
 | 
				
			||||||
 | 
					      subsequently incorporated within the Work.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   2. Grant of Copyright License. Subject to the terms and conditions of
 | 
				
			||||||
 | 
					      this License, each Contributor hereby grants to You a perpetual,
 | 
				
			||||||
 | 
					      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 | 
				
			||||||
 | 
					      copyright license to reproduce, prepare Derivative Works of,
 | 
				
			||||||
 | 
					      publicly display, publicly perform, sublicense, and distribute the
 | 
				
			||||||
 | 
					      Work and such Derivative Works in Source or Object form.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   3. Grant of Patent License. Subject to the terms and conditions of
 | 
				
			||||||
 | 
					      this License, each Contributor hereby grants to You a perpetual,
 | 
				
			||||||
 | 
					      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 | 
				
			||||||
 | 
					      (except as stated in this section) patent license to make, have made,
 | 
				
			||||||
 | 
					      use, offer to sell, sell, import, and otherwise transfer the Work,
 | 
				
			||||||
 | 
					      where such license applies only to those patent claims licensable
 | 
				
			||||||
 | 
					      by such Contributor that are necessarily infringed by their
 | 
				
			||||||
 | 
					      Contribution(s) alone or by combination of their Contribution(s)
 | 
				
			||||||
 | 
					      with the Work to which such Contribution(s) was submitted. If You
 | 
				
			||||||
 | 
					      institute patent litigation against any entity (including a
 | 
				
			||||||
 | 
					      cross-claim or counterclaim in a lawsuit) alleging that the Work
 | 
				
			||||||
 | 
					      or a Contribution incorporated within the Work constitutes direct
 | 
				
			||||||
 | 
					      or contributory patent infringement, then any patent licenses
 | 
				
			||||||
 | 
					      granted to You under this License for that Work shall terminate
 | 
				
			||||||
 | 
					      as of the date such litigation is filed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   4. Redistribution. You may reproduce and distribute copies of the
 | 
				
			||||||
 | 
					      Work or Derivative Works thereof in any medium, with or without
 | 
				
			||||||
 | 
					      modifications, and in Source or Object form, provided that You
 | 
				
			||||||
 | 
					      meet the following conditions:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (a) You must give any other recipients of the Work or
 | 
				
			||||||
 | 
					          Derivative Works a copy of this License; and
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (b) You must cause any modified files to carry prominent notices
 | 
				
			||||||
 | 
					          stating that You changed the files; and
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (c) You must retain, in the Source form of any Derivative Works
 | 
				
			||||||
 | 
					          that You distribute, all copyright, patent, trademark, and
 | 
				
			||||||
 | 
					          attribution notices from the Source form of the Work,
 | 
				
			||||||
 | 
					          excluding those notices that do not pertain to any part of
 | 
				
			||||||
 | 
					          the Derivative Works; and
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (d) If the Work includes a "NOTICE" text file as part of its
 | 
				
			||||||
 | 
					          distribution, then any Derivative Works that You distribute must
 | 
				
			||||||
 | 
					          include a readable copy of the attribution notices contained
 | 
				
			||||||
 | 
					          within such NOTICE file, excluding those notices that do not
 | 
				
			||||||
 | 
					          pertain to any part of the Derivative Works, in at least one
 | 
				
			||||||
 | 
					          of the following places: within a NOTICE text file distributed
 | 
				
			||||||
 | 
					          as part of the Derivative Works; within the Source form or
 | 
				
			||||||
 | 
					          documentation, if provided along with the Derivative Works; or,
 | 
				
			||||||
 | 
					          within a display generated by the Derivative Works, if and
 | 
				
			||||||
 | 
					          wherever such third-party notices normally appear. The contents
 | 
				
			||||||
 | 
					          of the NOTICE file are for informational purposes only and
 | 
				
			||||||
 | 
					          do not modify the License. You may add Your own attribution
 | 
				
			||||||
 | 
					          notices within Derivative Works that You distribute, alongside
 | 
				
			||||||
 | 
					          or as an addendum to the NOTICE text from the Work, provided
 | 
				
			||||||
 | 
					          that such additional attribution notices cannot be construed
 | 
				
			||||||
 | 
					          as modifying the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      You may add Your own copyright statement to Your modifications and
 | 
				
			||||||
 | 
					      may provide additional or different license terms and conditions
 | 
				
			||||||
 | 
					      for use, reproduction, or distribution of Your modifications, or
 | 
				
			||||||
 | 
					      for any such Derivative Works as a whole, provided Your use,
 | 
				
			||||||
 | 
					      reproduction, and distribution of the Work otherwise complies with
 | 
				
			||||||
 | 
					      the conditions stated in this License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   5. Submission of Contributions. Unless You explicitly state otherwise,
 | 
				
			||||||
 | 
					      any Contribution intentionally submitted for inclusion in the Work
 | 
				
			||||||
 | 
					      by You to the Licensor shall be under the terms and conditions of
 | 
				
			||||||
 | 
					      this License, without any additional terms or conditions.
 | 
				
			||||||
 | 
					      Notwithstanding the above, nothing herein shall supersede or modify
 | 
				
			||||||
 | 
					      the terms of any separate license agreement you may have executed
 | 
				
			||||||
 | 
					      with Licensor regarding such Contributions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   6. Trademarks. This License does not grant permission to use the trade
 | 
				
			||||||
 | 
					      names, trademarks, service marks, or product names of the Licensor,
 | 
				
			||||||
 | 
					      except as required for reasonable and customary use in describing the
 | 
				
			||||||
 | 
					      origin of the Work and reproducing the content of the NOTICE file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   7. Disclaimer of Warranty. Unless required by applicable law or
 | 
				
			||||||
 | 
					      agreed to in writing, Licensor provides the Work (and each
 | 
				
			||||||
 | 
					      Contributor provides its Contributions) on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 | 
				
			||||||
 | 
					      implied, including, without limitation, any warranties or conditions
 | 
				
			||||||
 | 
					      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
 | 
				
			||||||
 | 
					      PARTICULAR PURPOSE. You are solely responsible for determining the
 | 
				
			||||||
 | 
					      appropriateness of using or redistributing the Work and assume any
 | 
				
			||||||
 | 
					      risks associated with Your exercise of permissions under this License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   8. Limitation of Liability. In no event and under no legal theory,
 | 
				
			||||||
 | 
					      whether in tort (including negligence), contract, or otherwise,
 | 
				
			||||||
 | 
					      unless required by applicable law (such as deliberate and grossly
 | 
				
			||||||
 | 
					      negligent acts) or agreed to in writing, shall any Contributor be
 | 
				
			||||||
 | 
					      liable to You for damages, including any direct, indirect, special,
 | 
				
			||||||
 | 
					      incidental, or consequential damages of any character arising as a
 | 
				
			||||||
 | 
					      result of this License or out of the use or inability to use the
 | 
				
			||||||
 | 
					      Work (including but not limited to damages for loss of goodwill,
 | 
				
			||||||
 | 
					      work stoppage, computer failure or malfunction, or any and all
 | 
				
			||||||
 | 
					      other commercial damages or losses), even if such Contributor
 | 
				
			||||||
 | 
					      has been advised of the possibility of such damages.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   9. Accepting Warranty or Additional Liability. While redistributing
 | 
				
			||||||
 | 
					      the Work or Derivative Works thereof, You may choose to offer,
 | 
				
			||||||
 | 
					      and charge a fee for, acceptance of support, warranty, indemnity,
 | 
				
			||||||
 | 
					      or other liability obligations and/or rights consistent with this
 | 
				
			||||||
 | 
					      License. However, in accepting such obligations, You may act only
 | 
				
			||||||
 | 
					      on Your own behalf and on Your sole responsibility, not on behalf
 | 
				
			||||||
 | 
					      of any other Contributor, and only if You agree to indemnify,
 | 
				
			||||||
 | 
					      defend, and hold each Contributor harmless for any liability
 | 
				
			||||||
 | 
					      incurred by, or claims asserted against, such Contributor by reason
 | 
				
			||||||
 | 
					      of your accepting any such warranty or additional liability.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   END OF TERMS AND CONDITIONS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   APPENDIX: How to apply the Apache License to your work.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      To apply the Apache License to your work, attach the following
 | 
				
			||||||
 | 
					      boilerplate notice, with the fields enclosed by brackets "[]"
 | 
				
			||||||
 | 
					      replaced with your own identifying information. (Don't include
 | 
				
			||||||
 | 
					      the brackets!)  The text should be enclosed in the appropriate
 | 
				
			||||||
 | 
					      comment syntax for the file format. We also recommend that a
 | 
				
			||||||
 | 
					      file or class name and description of purpose be included on the
 | 
				
			||||||
 | 
					      same "printed page" as the copyright notice for easier
 | 
				
			||||||
 | 
					      identification within third-party archives.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Copyright [yyyy] [name of copyright owner]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					   you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					   You may obtain a copy of the License at
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					   distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					   See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					   limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										36
									
								
								vendor/github.com/googleapis/gnostic/OpenAPIv2/BUILD
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								vendor/github.com/googleapis/gnostic/OpenAPIv2/BUILD
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					package(default_visibility = ["//visibility:public"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					licenses(["notice"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					load(
 | 
				
			||||||
 | 
					    "@io_bazel_rules_go//go:def.bzl",
 | 
				
			||||||
 | 
					    "go_library",
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					go_library(
 | 
				
			||||||
 | 
					    name = "go_default_library",
 | 
				
			||||||
 | 
					    srcs = [
 | 
				
			||||||
 | 
					        "OpenAPIv2.go",
 | 
				
			||||||
 | 
					        "OpenAPIv2.pb.go",
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    deps = [
 | 
				
			||||||
 | 
					        "//vendor/github.com/golang/protobuf/proto:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor/github.com/golang/protobuf/ptypes/any:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor/github.com/googleapis/gnostic/compiler:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor/gopkg.in/yaml.v2:go_default_library",
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filegroup(
 | 
				
			||||||
 | 
					    name = "package-srcs",
 | 
				
			||||||
 | 
					    srcs = glob(["**"]),
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    visibility = ["//visibility:private"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filegroup(
 | 
				
			||||||
 | 
					    name = "all-srcs",
 | 
				
			||||||
 | 
					    srcs = [":package-srcs"],
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
							
								
								
									
										6944
									
								
								vendor/github.com/googleapis/gnostic/OpenAPIv2/OpenAPIv2.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										6944
									
								
								vendor/github.com/googleapis/gnostic/OpenAPIv2/OpenAPIv2.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										4456
									
								
								vendor/github.com/googleapis/gnostic/OpenAPIv2/OpenAPIv2.pb.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4456
									
								
								vendor/github.com/googleapis/gnostic/OpenAPIv2/OpenAPIv2.pb.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										663
									
								
								vendor/github.com/googleapis/gnostic/OpenAPIv2/OpenAPIv2.proto
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										663
									
								
								vendor/github.com/googleapis/gnostic/OpenAPIv2/OpenAPIv2.proto
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,663 @@
 | 
				
			|||||||
 | 
					// Copyright 2017 Google Inc. All Rights Reserved.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					// you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					// You may obtain a copy of the License at
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//    http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					// distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// THIS FILE IS AUTOMATICALLY GENERATED.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					syntax = "proto3";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package openapi.v2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "google/protobuf/any.proto";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// This option lets the proto compiler generate Java code inside the package
 | 
				
			||||||
 | 
					// name (see below) instead of inside an outer class. It creates a simpler
 | 
				
			||||||
 | 
					// developer experience by reducing one-level of name nesting and be
 | 
				
			||||||
 | 
					// consistent with most programming languages that don't support outer classes.
 | 
				
			||||||
 | 
					option java_multiple_files = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// The Java outer classname should be the filename in UpperCamelCase. This
 | 
				
			||||||
 | 
					// class is only used to hold proto descriptor, so developers don't need to
 | 
				
			||||||
 | 
					// work with it directly.
 | 
				
			||||||
 | 
					option java_outer_classname = "OpenAPIProto";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// The Java package name must be proto package name with proper prefix.
 | 
				
			||||||
 | 
					option java_package = "org.openapi_v2";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// A reasonable prefix for the Objective-C symbols generated from the package.
 | 
				
			||||||
 | 
					// It should at a minimum be 3 characters long, all uppercase, and convention
 | 
				
			||||||
 | 
					// is to use an abbreviation of the package name. Something short, but
 | 
				
			||||||
 | 
					// hopefully unique enough to not conflict with things that may come along in
 | 
				
			||||||
 | 
					// the future. 'GPB' is reserved for the protocol buffer implementation itself.
 | 
				
			||||||
 | 
					option objc_class_prefix = "OAS";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message AdditionalPropertiesItem {
 | 
				
			||||||
 | 
					  oneof oneof {
 | 
				
			||||||
 | 
					    Schema schema = 1;
 | 
				
			||||||
 | 
					    bool boolean = 2;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Any {
 | 
				
			||||||
 | 
					  google.protobuf.Any value = 1;
 | 
				
			||||||
 | 
					  string yaml = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message ApiKeySecurity {
 | 
				
			||||||
 | 
					  string type = 1;
 | 
				
			||||||
 | 
					  string name = 2;
 | 
				
			||||||
 | 
					  string in = 3;
 | 
				
			||||||
 | 
					  string description = 4;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 5;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message BasicAuthenticationSecurity {
 | 
				
			||||||
 | 
					  string type = 1;
 | 
				
			||||||
 | 
					  string description = 2;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 3;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message BodyParameter {
 | 
				
			||||||
 | 
					  // A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed.
 | 
				
			||||||
 | 
					  string description = 1;
 | 
				
			||||||
 | 
					  // The name of the parameter.
 | 
				
			||||||
 | 
					  string name = 2;
 | 
				
			||||||
 | 
					  // Determines the location of the parameter.
 | 
				
			||||||
 | 
					  string in = 3;
 | 
				
			||||||
 | 
					  // Determines whether or not this parameter is required or optional.
 | 
				
			||||||
 | 
					  bool required = 4;
 | 
				
			||||||
 | 
					  Schema schema = 5;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 6;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Contact information for the owners of the API.
 | 
				
			||||||
 | 
					message Contact {
 | 
				
			||||||
 | 
					  // The identifying name of the contact person/organization.
 | 
				
			||||||
 | 
					  string name = 1;
 | 
				
			||||||
 | 
					  // The URL pointing to the contact information.
 | 
				
			||||||
 | 
					  string url = 2;
 | 
				
			||||||
 | 
					  // The email address of the contact person/organization.
 | 
				
			||||||
 | 
					  string email = 3;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 4;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Default {
 | 
				
			||||||
 | 
					  repeated NamedAny additional_properties = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// One or more JSON objects describing the schemas being consumed and produced by the API.
 | 
				
			||||||
 | 
					message Definitions {
 | 
				
			||||||
 | 
					  repeated NamedSchema additional_properties = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Document {
 | 
				
			||||||
 | 
					  // The Swagger version of this document.
 | 
				
			||||||
 | 
					  string swagger = 1;
 | 
				
			||||||
 | 
					  Info info = 2;
 | 
				
			||||||
 | 
					  // The host (name or ip) of the API. Example: 'swagger.io'
 | 
				
			||||||
 | 
					  string host = 3;
 | 
				
			||||||
 | 
					  // The base path to the API. Example: '/api'.
 | 
				
			||||||
 | 
					  string base_path = 4;
 | 
				
			||||||
 | 
					  // The transfer protocol of the API.
 | 
				
			||||||
 | 
					  repeated string schemes = 5;
 | 
				
			||||||
 | 
					  // A list of MIME types accepted by the API.
 | 
				
			||||||
 | 
					  repeated string consumes = 6;
 | 
				
			||||||
 | 
					  // A list of MIME types the API can produce.
 | 
				
			||||||
 | 
					  repeated string produces = 7;
 | 
				
			||||||
 | 
					  Paths paths = 8;
 | 
				
			||||||
 | 
					  Definitions definitions = 9;
 | 
				
			||||||
 | 
					  ParameterDefinitions parameters = 10;
 | 
				
			||||||
 | 
					  ResponseDefinitions responses = 11;
 | 
				
			||||||
 | 
					  repeated SecurityRequirement security = 12;
 | 
				
			||||||
 | 
					  SecurityDefinitions security_definitions = 13;
 | 
				
			||||||
 | 
					  repeated Tag tags = 14;
 | 
				
			||||||
 | 
					  ExternalDocs external_docs = 15;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 16;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Examples {
 | 
				
			||||||
 | 
					  repeated NamedAny additional_properties = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// information about external documentation
 | 
				
			||||||
 | 
					message ExternalDocs {
 | 
				
			||||||
 | 
					  string description = 1;
 | 
				
			||||||
 | 
					  string url = 2;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 3;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// A deterministic version of a JSON Schema object.
 | 
				
			||||||
 | 
					message FileSchema {
 | 
				
			||||||
 | 
					  string format = 1;
 | 
				
			||||||
 | 
					  string title = 2;
 | 
				
			||||||
 | 
					  string description = 3;
 | 
				
			||||||
 | 
					  Any default = 4;
 | 
				
			||||||
 | 
					  repeated string required = 5;
 | 
				
			||||||
 | 
					  string type = 6;
 | 
				
			||||||
 | 
					  bool read_only = 7;
 | 
				
			||||||
 | 
					  ExternalDocs external_docs = 8;
 | 
				
			||||||
 | 
					  Any example = 9;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 10;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message FormDataParameterSubSchema {
 | 
				
			||||||
 | 
					  // Determines whether or not this parameter is required or optional.
 | 
				
			||||||
 | 
					  bool required = 1;
 | 
				
			||||||
 | 
					  // Determines the location of the parameter.
 | 
				
			||||||
 | 
					  string in = 2;
 | 
				
			||||||
 | 
					  // A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed.
 | 
				
			||||||
 | 
					  string description = 3;
 | 
				
			||||||
 | 
					  // The name of the parameter.
 | 
				
			||||||
 | 
					  string name = 4;
 | 
				
			||||||
 | 
					  // allows sending a parameter by name only or with an empty value.
 | 
				
			||||||
 | 
					  bool allow_empty_value = 5;
 | 
				
			||||||
 | 
					  string type = 6;
 | 
				
			||||||
 | 
					  string format = 7;
 | 
				
			||||||
 | 
					  PrimitivesItems items = 8;
 | 
				
			||||||
 | 
					  string collection_format = 9;
 | 
				
			||||||
 | 
					  Any default = 10;
 | 
				
			||||||
 | 
					  double maximum = 11;
 | 
				
			||||||
 | 
					  bool exclusive_maximum = 12;
 | 
				
			||||||
 | 
					  double minimum = 13;
 | 
				
			||||||
 | 
					  bool exclusive_minimum = 14;
 | 
				
			||||||
 | 
					  int64 max_length = 15;
 | 
				
			||||||
 | 
					  int64 min_length = 16;
 | 
				
			||||||
 | 
					  string pattern = 17;
 | 
				
			||||||
 | 
					  int64 max_items = 18;
 | 
				
			||||||
 | 
					  int64 min_items = 19;
 | 
				
			||||||
 | 
					  bool unique_items = 20;
 | 
				
			||||||
 | 
					  repeated Any enum = 21;
 | 
				
			||||||
 | 
					  double multiple_of = 22;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 23;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Header {
 | 
				
			||||||
 | 
					  string type = 1;
 | 
				
			||||||
 | 
					  string format = 2;
 | 
				
			||||||
 | 
					  PrimitivesItems items = 3;
 | 
				
			||||||
 | 
					  string collection_format = 4;
 | 
				
			||||||
 | 
					  Any default = 5;
 | 
				
			||||||
 | 
					  double maximum = 6;
 | 
				
			||||||
 | 
					  bool exclusive_maximum = 7;
 | 
				
			||||||
 | 
					  double minimum = 8;
 | 
				
			||||||
 | 
					  bool exclusive_minimum = 9;
 | 
				
			||||||
 | 
					  int64 max_length = 10;
 | 
				
			||||||
 | 
					  int64 min_length = 11;
 | 
				
			||||||
 | 
					  string pattern = 12;
 | 
				
			||||||
 | 
					  int64 max_items = 13;
 | 
				
			||||||
 | 
					  int64 min_items = 14;
 | 
				
			||||||
 | 
					  bool unique_items = 15;
 | 
				
			||||||
 | 
					  repeated Any enum = 16;
 | 
				
			||||||
 | 
					  double multiple_of = 17;
 | 
				
			||||||
 | 
					  string description = 18;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 19;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message HeaderParameterSubSchema {
 | 
				
			||||||
 | 
					  // Determines whether or not this parameter is required or optional.
 | 
				
			||||||
 | 
					  bool required = 1;
 | 
				
			||||||
 | 
					  // Determines the location of the parameter.
 | 
				
			||||||
 | 
					  string in = 2;
 | 
				
			||||||
 | 
					  // A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed.
 | 
				
			||||||
 | 
					  string description = 3;
 | 
				
			||||||
 | 
					  // The name of the parameter.
 | 
				
			||||||
 | 
					  string name = 4;
 | 
				
			||||||
 | 
					  string type = 5;
 | 
				
			||||||
 | 
					  string format = 6;
 | 
				
			||||||
 | 
					  PrimitivesItems items = 7;
 | 
				
			||||||
 | 
					  string collection_format = 8;
 | 
				
			||||||
 | 
					  Any default = 9;
 | 
				
			||||||
 | 
					  double maximum = 10;
 | 
				
			||||||
 | 
					  bool exclusive_maximum = 11;
 | 
				
			||||||
 | 
					  double minimum = 12;
 | 
				
			||||||
 | 
					  bool exclusive_minimum = 13;
 | 
				
			||||||
 | 
					  int64 max_length = 14;
 | 
				
			||||||
 | 
					  int64 min_length = 15;
 | 
				
			||||||
 | 
					  string pattern = 16;
 | 
				
			||||||
 | 
					  int64 max_items = 17;
 | 
				
			||||||
 | 
					  int64 min_items = 18;
 | 
				
			||||||
 | 
					  bool unique_items = 19;
 | 
				
			||||||
 | 
					  repeated Any enum = 20;
 | 
				
			||||||
 | 
					  double multiple_of = 21;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 22;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Headers {
 | 
				
			||||||
 | 
					  repeated NamedHeader additional_properties = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// General information about the API.
 | 
				
			||||||
 | 
					message Info {
 | 
				
			||||||
 | 
					  // A unique and precise title of the API.
 | 
				
			||||||
 | 
					  string title = 1;
 | 
				
			||||||
 | 
					  // A semantic version number of the API.
 | 
				
			||||||
 | 
					  string version = 2;
 | 
				
			||||||
 | 
					  // A longer description of the API. Should be different from the title.  GitHub Flavored Markdown is allowed.
 | 
				
			||||||
 | 
					  string description = 3;
 | 
				
			||||||
 | 
					  // The terms of service for the API.
 | 
				
			||||||
 | 
					  string terms_of_service = 4;
 | 
				
			||||||
 | 
					  Contact contact = 5;
 | 
				
			||||||
 | 
					  License license = 6;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 7;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message ItemsItem {
 | 
				
			||||||
 | 
					  repeated Schema schema = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message JsonReference {
 | 
				
			||||||
 | 
					  string _ref = 1;
 | 
				
			||||||
 | 
					  string description = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message License {
 | 
				
			||||||
 | 
					  // The name of the license type. It's encouraged to use an OSI compatible license.
 | 
				
			||||||
 | 
					  string name = 1;
 | 
				
			||||||
 | 
					  // The URL pointing to the license.
 | 
				
			||||||
 | 
					  string url = 2;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 3;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Automatically-generated message used to represent maps of Any as ordered (name,value) pairs.
 | 
				
			||||||
 | 
					message NamedAny {
 | 
				
			||||||
 | 
					  // Map key
 | 
				
			||||||
 | 
					  string name = 1;
 | 
				
			||||||
 | 
					  // Mapped value
 | 
				
			||||||
 | 
					  Any value = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Automatically-generated message used to represent maps of Header as ordered (name,value) pairs.
 | 
				
			||||||
 | 
					message NamedHeader {
 | 
				
			||||||
 | 
					  // Map key
 | 
				
			||||||
 | 
					  string name = 1;
 | 
				
			||||||
 | 
					  // Mapped value
 | 
				
			||||||
 | 
					  Header value = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Automatically-generated message used to represent maps of Parameter as ordered (name,value) pairs.
 | 
				
			||||||
 | 
					message NamedParameter {
 | 
				
			||||||
 | 
					  // Map key
 | 
				
			||||||
 | 
					  string name = 1;
 | 
				
			||||||
 | 
					  // Mapped value
 | 
				
			||||||
 | 
					  Parameter value = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Automatically-generated message used to represent maps of PathItem as ordered (name,value) pairs.
 | 
				
			||||||
 | 
					message NamedPathItem {
 | 
				
			||||||
 | 
					  // Map key
 | 
				
			||||||
 | 
					  string name = 1;
 | 
				
			||||||
 | 
					  // Mapped value
 | 
				
			||||||
 | 
					  PathItem value = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Automatically-generated message used to represent maps of Response as ordered (name,value) pairs.
 | 
				
			||||||
 | 
					message NamedResponse {
 | 
				
			||||||
 | 
					  // Map key
 | 
				
			||||||
 | 
					  string name = 1;
 | 
				
			||||||
 | 
					  // Mapped value
 | 
				
			||||||
 | 
					  Response value = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Automatically-generated message used to represent maps of ResponseValue as ordered (name,value) pairs.
 | 
				
			||||||
 | 
					message NamedResponseValue {
 | 
				
			||||||
 | 
					  // Map key
 | 
				
			||||||
 | 
					  string name = 1;
 | 
				
			||||||
 | 
					  // Mapped value
 | 
				
			||||||
 | 
					  ResponseValue value = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Automatically-generated message used to represent maps of Schema as ordered (name,value) pairs.
 | 
				
			||||||
 | 
					message NamedSchema {
 | 
				
			||||||
 | 
					  // Map key
 | 
				
			||||||
 | 
					  string name = 1;
 | 
				
			||||||
 | 
					  // Mapped value
 | 
				
			||||||
 | 
					  Schema value = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Automatically-generated message used to represent maps of SecurityDefinitionsItem as ordered (name,value) pairs.
 | 
				
			||||||
 | 
					message NamedSecurityDefinitionsItem {
 | 
				
			||||||
 | 
					  // Map key
 | 
				
			||||||
 | 
					  string name = 1;
 | 
				
			||||||
 | 
					  // Mapped value
 | 
				
			||||||
 | 
					  SecurityDefinitionsItem value = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Automatically-generated message used to represent maps of string as ordered (name,value) pairs.
 | 
				
			||||||
 | 
					message NamedString {
 | 
				
			||||||
 | 
					  // Map key
 | 
				
			||||||
 | 
					  string name = 1;
 | 
				
			||||||
 | 
					  // Mapped value
 | 
				
			||||||
 | 
					  string value = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Automatically-generated message used to represent maps of StringArray as ordered (name,value) pairs.
 | 
				
			||||||
 | 
					message NamedStringArray {
 | 
				
			||||||
 | 
					  // Map key
 | 
				
			||||||
 | 
					  string name = 1;
 | 
				
			||||||
 | 
					  // Mapped value
 | 
				
			||||||
 | 
					  StringArray value = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message NonBodyParameter {
 | 
				
			||||||
 | 
					  oneof oneof {
 | 
				
			||||||
 | 
					    HeaderParameterSubSchema header_parameter_sub_schema = 1;
 | 
				
			||||||
 | 
					    FormDataParameterSubSchema form_data_parameter_sub_schema = 2;
 | 
				
			||||||
 | 
					    QueryParameterSubSchema query_parameter_sub_schema = 3;
 | 
				
			||||||
 | 
					    PathParameterSubSchema path_parameter_sub_schema = 4;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Oauth2AccessCodeSecurity {
 | 
				
			||||||
 | 
					  string type = 1;
 | 
				
			||||||
 | 
					  string flow = 2;
 | 
				
			||||||
 | 
					  Oauth2Scopes scopes = 3;
 | 
				
			||||||
 | 
					  string authorization_url = 4;
 | 
				
			||||||
 | 
					  string token_url = 5;
 | 
				
			||||||
 | 
					  string description = 6;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 7;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Oauth2ApplicationSecurity {
 | 
				
			||||||
 | 
					  string type = 1;
 | 
				
			||||||
 | 
					  string flow = 2;
 | 
				
			||||||
 | 
					  Oauth2Scopes scopes = 3;
 | 
				
			||||||
 | 
					  string token_url = 4;
 | 
				
			||||||
 | 
					  string description = 5;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 6;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Oauth2ImplicitSecurity {
 | 
				
			||||||
 | 
					  string type = 1;
 | 
				
			||||||
 | 
					  string flow = 2;
 | 
				
			||||||
 | 
					  Oauth2Scopes scopes = 3;
 | 
				
			||||||
 | 
					  string authorization_url = 4;
 | 
				
			||||||
 | 
					  string description = 5;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 6;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Oauth2PasswordSecurity {
 | 
				
			||||||
 | 
					  string type = 1;
 | 
				
			||||||
 | 
					  string flow = 2;
 | 
				
			||||||
 | 
					  Oauth2Scopes scopes = 3;
 | 
				
			||||||
 | 
					  string token_url = 4;
 | 
				
			||||||
 | 
					  string description = 5;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 6;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Oauth2Scopes {
 | 
				
			||||||
 | 
					  repeated NamedString additional_properties = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Operation {
 | 
				
			||||||
 | 
					  repeated string tags = 1;
 | 
				
			||||||
 | 
					  // A brief summary of the operation.
 | 
				
			||||||
 | 
					  string summary = 2;
 | 
				
			||||||
 | 
					  // A longer description of the operation, GitHub Flavored Markdown is allowed.
 | 
				
			||||||
 | 
					  string description = 3;
 | 
				
			||||||
 | 
					  ExternalDocs external_docs = 4;
 | 
				
			||||||
 | 
					  // A unique identifier of the operation.
 | 
				
			||||||
 | 
					  string operation_id = 5;
 | 
				
			||||||
 | 
					  // A list of MIME types the API can produce.
 | 
				
			||||||
 | 
					  repeated string produces = 6;
 | 
				
			||||||
 | 
					  // A list of MIME types the API can consume.
 | 
				
			||||||
 | 
					  repeated string consumes = 7;
 | 
				
			||||||
 | 
					  // The parameters needed to send a valid API call.
 | 
				
			||||||
 | 
					  repeated ParametersItem parameters = 8;
 | 
				
			||||||
 | 
					  Responses responses = 9;
 | 
				
			||||||
 | 
					  // The transfer protocol of the API.
 | 
				
			||||||
 | 
					  repeated string schemes = 10;
 | 
				
			||||||
 | 
					  bool deprecated = 11;
 | 
				
			||||||
 | 
					  repeated SecurityRequirement security = 12;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 13;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Parameter {
 | 
				
			||||||
 | 
					  oneof oneof {
 | 
				
			||||||
 | 
					    BodyParameter body_parameter = 1;
 | 
				
			||||||
 | 
					    NonBodyParameter non_body_parameter = 2;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// One or more JSON representations for parameters
 | 
				
			||||||
 | 
					message ParameterDefinitions {
 | 
				
			||||||
 | 
					  repeated NamedParameter additional_properties = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message ParametersItem {
 | 
				
			||||||
 | 
					  oneof oneof {
 | 
				
			||||||
 | 
					    Parameter parameter = 1;
 | 
				
			||||||
 | 
					    JsonReference json_reference = 2;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message PathItem {
 | 
				
			||||||
 | 
					  string _ref = 1;
 | 
				
			||||||
 | 
					  Operation get = 2;
 | 
				
			||||||
 | 
					  Operation put = 3;
 | 
				
			||||||
 | 
					  Operation post = 4;
 | 
				
			||||||
 | 
					  Operation delete = 5;
 | 
				
			||||||
 | 
					  Operation options = 6;
 | 
				
			||||||
 | 
					  Operation head = 7;
 | 
				
			||||||
 | 
					  Operation patch = 8;
 | 
				
			||||||
 | 
					  // The parameters needed to send a valid API call.
 | 
				
			||||||
 | 
					  repeated ParametersItem parameters = 9;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 10;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message PathParameterSubSchema {
 | 
				
			||||||
 | 
					  // Determines whether or not this parameter is required or optional.
 | 
				
			||||||
 | 
					  bool required = 1;
 | 
				
			||||||
 | 
					  // Determines the location of the parameter.
 | 
				
			||||||
 | 
					  string in = 2;
 | 
				
			||||||
 | 
					  // A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed.
 | 
				
			||||||
 | 
					  string description = 3;
 | 
				
			||||||
 | 
					  // The name of the parameter.
 | 
				
			||||||
 | 
					  string name = 4;
 | 
				
			||||||
 | 
					  string type = 5;
 | 
				
			||||||
 | 
					  string format = 6;
 | 
				
			||||||
 | 
					  PrimitivesItems items = 7;
 | 
				
			||||||
 | 
					  string collection_format = 8;
 | 
				
			||||||
 | 
					  Any default = 9;
 | 
				
			||||||
 | 
					  double maximum = 10;
 | 
				
			||||||
 | 
					  bool exclusive_maximum = 11;
 | 
				
			||||||
 | 
					  double minimum = 12;
 | 
				
			||||||
 | 
					  bool exclusive_minimum = 13;
 | 
				
			||||||
 | 
					  int64 max_length = 14;
 | 
				
			||||||
 | 
					  int64 min_length = 15;
 | 
				
			||||||
 | 
					  string pattern = 16;
 | 
				
			||||||
 | 
					  int64 max_items = 17;
 | 
				
			||||||
 | 
					  int64 min_items = 18;
 | 
				
			||||||
 | 
					  bool unique_items = 19;
 | 
				
			||||||
 | 
					  repeated Any enum = 20;
 | 
				
			||||||
 | 
					  double multiple_of = 21;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 22;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Relative paths to the individual endpoints. They must be relative to the 'basePath'.
 | 
				
			||||||
 | 
					message Paths {
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 1;
 | 
				
			||||||
 | 
					  repeated NamedPathItem path = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message PrimitivesItems {
 | 
				
			||||||
 | 
					  string type = 1;
 | 
				
			||||||
 | 
					  string format = 2;
 | 
				
			||||||
 | 
					  PrimitivesItems items = 3;
 | 
				
			||||||
 | 
					  string collection_format = 4;
 | 
				
			||||||
 | 
					  Any default = 5;
 | 
				
			||||||
 | 
					  double maximum = 6;
 | 
				
			||||||
 | 
					  bool exclusive_maximum = 7;
 | 
				
			||||||
 | 
					  double minimum = 8;
 | 
				
			||||||
 | 
					  bool exclusive_minimum = 9;
 | 
				
			||||||
 | 
					  int64 max_length = 10;
 | 
				
			||||||
 | 
					  int64 min_length = 11;
 | 
				
			||||||
 | 
					  string pattern = 12;
 | 
				
			||||||
 | 
					  int64 max_items = 13;
 | 
				
			||||||
 | 
					  int64 min_items = 14;
 | 
				
			||||||
 | 
					  bool unique_items = 15;
 | 
				
			||||||
 | 
					  repeated Any enum = 16;
 | 
				
			||||||
 | 
					  double multiple_of = 17;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 18;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Properties {
 | 
				
			||||||
 | 
					  repeated NamedSchema additional_properties = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message QueryParameterSubSchema {
 | 
				
			||||||
 | 
					  // Determines whether or not this parameter is required or optional.
 | 
				
			||||||
 | 
					  bool required = 1;
 | 
				
			||||||
 | 
					  // Determines the location of the parameter.
 | 
				
			||||||
 | 
					  string in = 2;
 | 
				
			||||||
 | 
					  // A brief description of the parameter. This could contain examples of use.  GitHub Flavored Markdown is allowed.
 | 
				
			||||||
 | 
					  string description = 3;
 | 
				
			||||||
 | 
					  // The name of the parameter.
 | 
				
			||||||
 | 
					  string name = 4;
 | 
				
			||||||
 | 
					  // allows sending a parameter by name only or with an empty value.
 | 
				
			||||||
 | 
					  bool allow_empty_value = 5;
 | 
				
			||||||
 | 
					  string type = 6;
 | 
				
			||||||
 | 
					  string format = 7;
 | 
				
			||||||
 | 
					  PrimitivesItems items = 8;
 | 
				
			||||||
 | 
					  string collection_format = 9;
 | 
				
			||||||
 | 
					  Any default = 10;
 | 
				
			||||||
 | 
					  double maximum = 11;
 | 
				
			||||||
 | 
					  bool exclusive_maximum = 12;
 | 
				
			||||||
 | 
					  double minimum = 13;
 | 
				
			||||||
 | 
					  bool exclusive_minimum = 14;
 | 
				
			||||||
 | 
					  int64 max_length = 15;
 | 
				
			||||||
 | 
					  int64 min_length = 16;
 | 
				
			||||||
 | 
					  string pattern = 17;
 | 
				
			||||||
 | 
					  int64 max_items = 18;
 | 
				
			||||||
 | 
					  int64 min_items = 19;
 | 
				
			||||||
 | 
					  bool unique_items = 20;
 | 
				
			||||||
 | 
					  repeated Any enum = 21;
 | 
				
			||||||
 | 
					  double multiple_of = 22;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 23;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Response {
 | 
				
			||||||
 | 
					  string description = 1;
 | 
				
			||||||
 | 
					  SchemaItem schema = 2;
 | 
				
			||||||
 | 
					  Headers headers = 3;
 | 
				
			||||||
 | 
					  Examples examples = 4;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 5;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// One or more JSON representations for parameters
 | 
				
			||||||
 | 
					message ResponseDefinitions {
 | 
				
			||||||
 | 
					  repeated NamedResponse additional_properties = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message ResponseValue {
 | 
				
			||||||
 | 
					  oneof oneof {
 | 
				
			||||||
 | 
					    Response response = 1;
 | 
				
			||||||
 | 
					    JsonReference json_reference = 2;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Response objects names can either be any valid HTTP status code or 'default'.
 | 
				
			||||||
 | 
					message Responses {
 | 
				
			||||||
 | 
					  repeated NamedResponseValue response_code = 1;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// A deterministic version of a JSON Schema object.
 | 
				
			||||||
 | 
					message Schema {
 | 
				
			||||||
 | 
					  string _ref = 1;
 | 
				
			||||||
 | 
					  string format = 2;
 | 
				
			||||||
 | 
					  string title = 3;
 | 
				
			||||||
 | 
					  string description = 4;
 | 
				
			||||||
 | 
					  Any default = 5;
 | 
				
			||||||
 | 
					  double multiple_of = 6;
 | 
				
			||||||
 | 
					  double maximum = 7;
 | 
				
			||||||
 | 
					  bool exclusive_maximum = 8;
 | 
				
			||||||
 | 
					  double minimum = 9;
 | 
				
			||||||
 | 
					  bool exclusive_minimum = 10;
 | 
				
			||||||
 | 
					  int64 max_length = 11;
 | 
				
			||||||
 | 
					  int64 min_length = 12;
 | 
				
			||||||
 | 
					  string pattern = 13;
 | 
				
			||||||
 | 
					  int64 max_items = 14;
 | 
				
			||||||
 | 
					  int64 min_items = 15;
 | 
				
			||||||
 | 
					  bool unique_items = 16;
 | 
				
			||||||
 | 
					  int64 max_properties = 17;
 | 
				
			||||||
 | 
					  int64 min_properties = 18;
 | 
				
			||||||
 | 
					  repeated string required = 19;
 | 
				
			||||||
 | 
					  repeated Any enum = 20;
 | 
				
			||||||
 | 
					  AdditionalPropertiesItem additional_properties = 21;
 | 
				
			||||||
 | 
					  TypeItem type = 22;
 | 
				
			||||||
 | 
					  ItemsItem items = 23;
 | 
				
			||||||
 | 
					  repeated Schema all_of = 24;
 | 
				
			||||||
 | 
					  Properties properties = 25;
 | 
				
			||||||
 | 
					  string discriminator = 26;
 | 
				
			||||||
 | 
					  bool read_only = 27;
 | 
				
			||||||
 | 
					  Xml xml = 28;
 | 
				
			||||||
 | 
					  ExternalDocs external_docs = 29;
 | 
				
			||||||
 | 
					  Any example = 30;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 31;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message SchemaItem {
 | 
				
			||||||
 | 
					  oneof oneof {
 | 
				
			||||||
 | 
					    Schema schema = 1;
 | 
				
			||||||
 | 
					    FileSchema file_schema = 2;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message SecurityDefinitions {
 | 
				
			||||||
 | 
					  repeated NamedSecurityDefinitionsItem additional_properties = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message SecurityDefinitionsItem {
 | 
				
			||||||
 | 
					  oneof oneof {
 | 
				
			||||||
 | 
					    BasicAuthenticationSecurity basic_authentication_security = 1;
 | 
				
			||||||
 | 
					    ApiKeySecurity api_key_security = 2;
 | 
				
			||||||
 | 
					    Oauth2ImplicitSecurity oauth2_implicit_security = 3;
 | 
				
			||||||
 | 
					    Oauth2PasswordSecurity oauth2_password_security = 4;
 | 
				
			||||||
 | 
					    Oauth2ApplicationSecurity oauth2_application_security = 5;
 | 
				
			||||||
 | 
					    Oauth2AccessCodeSecurity oauth2_access_code_security = 6;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message SecurityRequirement {
 | 
				
			||||||
 | 
					  repeated NamedStringArray additional_properties = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message StringArray {
 | 
				
			||||||
 | 
					  repeated string value = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Tag {
 | 
				
			||||||
 | 
					  string name = 1;
 | 
				
			||||||
 | 
					  string description = 2;
 | 
				
			||||||
 | 
					  ExternalDocs external_docs = 3;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 4;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message TypeItem {
 | 
				
			||||||
 | 
					  repeated string value = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Any property starting with x- is valid.
 | 
				
			||||||
 | 
					message VendorExtension {
 | 
				
			||||||
 | 
					  repeated NamedAny additional_properties = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Xml {
 | 
				
			||||||
 | 
					  string name = 1;
 | 
				
			||||||
 | 
					  string namespace = 2;
 | 
				
			||||||
 | 
					  string prefix = 3;
 | 
				
			||||||
 | 
					  bool attribute = 4;
 | 
				
			||||||
 | 
					  bool wrapped = 5;
 | 
				
			||||||
 | 
					  repeated NamedAny vendor_extension = 6;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										16
									
								
								vendor/github.com/googleapis/gnostic/OpenAPIv2/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								vendor/github.com/googleapis/gnostic/OpenAPIv2/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					# OpenAPI v2 Protocol Buffer Models
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This directory contains a Protocol Buffer-language model
 | 
				
			||||||
 | 
					and related code for supporting OpenAPI v2.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Gnostic applications and plugins can use OpenAPIv2.proto
 | 
				
			||||||
 | 
					to generate Protocol Buffer support code for their preferred languages.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OpenAPIv2.go is used by Gnostic to read JSON and YAML OpenAPI 
 | 
				
			||||||
 | 
					descriptions into the Protocol Buffer-based datastructures 
 | 
				
			||||||
 | 
					generated from OpenAPIv2.proto.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OpenAPIv2.proto and OpenAPIv2.go are generated by the Gnostic 
 | 
				
			||||||
 | 
					compiler generator, and OpenAPIv2.pb.go is generated by 
 | 
				
			||||||
 | 
					protoc, the Protocol Buffer compiler, and protoc-gen-go, the
 | 
				
			||||||
 | 
					Protocol Buffer Go code generation plugin.
 | 
				
			||||||
							
								
								
									
										1610
									
								
								vendor/github.com/googleapis/gnostic/OpenAPIv2/openapi-2.0.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1610
									
								
								vendor/github.com/googleapis/gnostic/OpenAPIv2/openapi-2.0.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										40
									
								
								vendor/github.com/googleapis/gnostic/compiler/BUILD
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								vendor/github.com/googleapis/gnostic/compiler/BUILD
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
				
			|||||||
 | 
					package(default_visibility = ["//visibility:public"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					licenses(["notice"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					load(
 | 
				
			||||||
 | 
					    "@io_bazel_rules_go//go:def.bzl",
 | 
				
			||||||
 | 
					    "go_library",
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					go_library(
 | 
				
			||||||
 | 
					    name = "go_default_library",
 | 
				
			||||||
 | 
					    srcs = [
 | 
				
			||||||
 | 
					        "context.go",
 | 
				
			||||||
 | 
					        "error.go",
 | 
				
			||||||
 | 
					        "extension-handler.go",
 | 
				
			||||||
 | 
					        "helpers.go",
 | 
				
			||||||
 | 
					        "main.go",
 | 
				
			||||||
 | 
					        "reader.go",
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    deps = [
 | 
				
			||||||
 | 
					        "//vendor/github.com/golang/protobuf/proto:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor/github.com/golang/protobuf/ptypes/any:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor/github.com/googleapis/gnostic/extensions:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor/gopkg.in/yaml.v2:go_default_library",
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filegroup(
 | 
				
			||||||
 | 
					    name = "package-srcs",
 | 
				
			||||||
 | 
					    srcs = glob(["**"]),
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    visibility = ["//visibility:private"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filegroup(
 | 
				
			||||||
 | 
					    name = "all-srcs",
 | 
				
			||||||
 | 
					    srcs = [":package-srcs"],
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
							
								
								
									
										3
									
								
								vendor/github.com/googleapis/gnostic/compiler/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/googleapis/gnostic/compiler/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					# Compiler support code
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This directory contains compiler support code used by Gnostic and Gnostic extensions.
 | 
				
			||||||
							
								
								
									
										41
									
								
								vendor/github.com/googleapis/gnostic/compiler/context.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								vendor/github.com/googleapis/gnostic/compiler/context.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
				
			|||||||
 | 
					// Copyright 2017 Google Inc. All Rights Reserved.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					// you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					// You may obtain a copy of the License at
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//    http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					// distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package compiler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type Context struct {
 | 
				
			||||||
 | 
						Parent            *Context
 | 
				
			||||||
 | 
						Name              string
 | 
				
			||||||
 | 
						ExtensionHandlers *[]ExtensionHandler
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func NewContextWithExtensions(name string, parent *Context, extensionHandlers *[]ExtensionHandler) *Context {
 | 
				
			||||||
 | 
						return &Context{Name: name, Parent: parent, ExtensionHandlers: extensionHandlers}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func NewContext(name string, parent *Context) *Context {
 | 
				
			||||||
 | 
						if parent != nil {
 | 
				
			||||||
 | 
							return &Context{Name: name, Parent: parent, ExtensionHandlers: parent.ExtensionHandlers}
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							return &Context{Name: name, Parent: parent, ExtensionHandlers: nil}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (context *Context) Description() string {
 | 
				
			||||||
 | 
						if context.Parent != nil {
 | 
				
			||||||
 | 
							return context.Parent.Description() + "." + context.Name
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							return context.Name
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										59
									
								
								vendor/github.com/googleapis/gnostic/compiler/error.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								vendor/github.com/googleapis/gnostic/compiler/error.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
				
			|||||||
 | 
					// Copyright 2017 Google Inc. All Rights Reserved.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					// you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					// You may obtain a copy of the License at
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//    http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					// distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package compiler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// basic error type
 | 
				
			||||||
 | 
					type Error struct {
 | 
				
			||||||
 | 
						Context *Context
 | 
				
			||||||
 | 
						Message string
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func NewError(context *Context, message string) *Error {
 | 
				
			||||||
 | 
						return &Error{Context: context, Message: message}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (err *Error) Error() string {
 | 
				
			||||||
 | 
						if err.Context != nil {
 | 
				
			||||||
 | 
							return "ERROR " + err.Context.Description() + " " + err.Message
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							return "ERROR " + err.Message
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// container for groups of errors
 | 
				
			||||||
 | 
					type ErrorGroup struct {
 | 
				
			||||||
 | 
						Errors []error
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func NewErrorGroupOrNil(errors []error) error {
 | 
				
			||||||
 | 
						if len(errors) == 0 {
 | 
				
			||||||
 | 
							return nil
 | 
				
			||||||
 | 
						} else if len(errors) == 1 {
 | 
				
			||||||
 | 
							return errors[0]
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							return &ErrorGroup{Errors: errors}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (group *ErrorGroup) Error() string {
 | 
				
			||||||
 | 
						result := ""
 | 
				
			||||||
 | 
						for i, err := range group.Errors {
 | 
				
			||||||
 | 
							if i > 0 {
 | 
				
			||||||
 | 
								result += "\n"
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							result += err.Error()
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return result
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										99
									
								
								vendor/github.com/googleapis/gnostic/compiler/extension-handler.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								vendor/github.com/googleapis/gnostic/compiler/extension-handler.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,99 @@
 | 
				
			|||||||
 | 
					// Copyright 2017 Google Inc. All Rights Reserved.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					// you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					// You may obtain a copy of the License at
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//    http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					// distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package compiler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"bytes"
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
 | 
						"os/exec"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"strings"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"errors"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"github.com/golang/protobuf/proto"
 | 
				
			||||||
 | 
						"github.com/golang/protobuf/ptypes/any"
 | 
				
			||||||
 | 
						ext_plugin "github.com/googleapis/gnostic/extensions"
 | 
				
			||||||
 | 
						yaml "gopkg.in/yaml.v2"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type ExtensionHandler struct {
 | 
				
			||||||
 | 
						Name string
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func HandleExtension(context *Context, in interface{}, extensionName string) (bool, *any.Any, error) {
 | 
				
			||||||
 | 
						handled := false
 | 
				
			||||||
 | 
						var errFromPlugin error
 | 
				
			||||||
 | 
						var outFromPlugin *any.Any
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if context.ExtensionHandlers != nil && len(*(context.ExtensionHandlers)) != 0 {
 | 
				
			||||||
 | 
							for _, customAnyProtoGenerator := range *(context.ExtensionHandlers) {
 | 
				
			||||||
 | 
								outFromPlugin, errFromPlugin = customAnyProtoGenerator.handle(in, extensionName)
 | 
				
			||||||
 | 
								if outFromPlugin == nil {
 | 
				
			||||||
 | 
									continue
 | 
				
			||||||
 | 
								} else {
 | 
				
			||||||
 | 
									handled = true
 | 
				
			||||||
 | 
									break
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return handled, outFromPlugin, errFromPlugin
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (extensionHandlers *ExtensionHandler) handle(in interface{}, extensionName string) (*any.Any, error) {
 | 
				
			||||||
 | 
						if extensionHandlers.Name != "" {
 | 
				
			||||||
 | 
							binary, _ := yaml.Marshal(in)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							request := &ext_plugin.ExtensionHandlerRequest{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							version := &ext_plugin.Version{}
 | 
				
			||||||
 | 
							version.Major = 0
 | 
				
			||||||
 | 
							version.Minor = 1
 | 
				
			||||||
 | 
							version.Patch = 0
 | 
				
			||||||
 | 
							request.CompilerVersion = version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							request.Wrapper = &ext_plugin.Wrapper{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							request.Wrapper.Version = "v2"
 | 
				
			||||||
 | 
							request.Wrapper.Yaml = string(binary)
 | 
				
			||||||
 | 
							request.Wrapper.ExtensionName = extensionName
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							requestBytes, _ := proto.Marshal(request)
 | 
				
			||||||
 | 
							cmd := exec.Command(extensionHandlers.Name)
 | 
				
			||||||
 | 
							cmd.Stdin = bytes.NewReader(requestBytes)
 | 
				
			||||||
 | 
							output, err := cmd.Output()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								fmt.Printf("Error: %+v\n", err)
 | 
				
			||||||
 | 
								return nil, err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							response := &ext_plugin.ExtensionHandlerResponse{}
 | 
				
			||||||
 | 
							err = proto.Unmarshal(output, response)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								fmt.Printf("Error: %+v\n", err)
 | 
				
			||||||
 | 
								fmt.Printf("%s\n", string(output))
 | 
				
			||||||
 | 
								return nil, err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if !response.Handled {
 | 
				
			||||||
 | 
								return nil, nil
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if len(response.Error) != 0 {
 | 
				
			||||||
 | 
								message := fmt.Sprintf("Errors when parsing: %+v for field %s by vendor extension handler %s. Details %+v", in, extensionName, extensionHandlers.Name, strings.Join(response.Error, ","))
 | 
				
			||||||
 | 
								return nil, errors.New(message)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return response.Value, nil
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										193
									
								
								vendor/github.com/googleapis/gnostic/compiler/helpers.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								vendor/github.com/googleapis/gnostic/compiler/helpers.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,193 @@
 | 
				
			|||||||
 | 
					// Copyright 2017 Google Inc. All Rights Reserved.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					// you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					// You may obtain a copy of the License at
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//    http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					// distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package compiler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
 | 
						"gopkg.in/yaml.v2"
 | 
				
			||||||
 | 
						"regexp"
 | 
				
			||||||
 | 
						"sort"
 | 
				
			||||||
 | 
						"strings"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// compiler helper functions, usually called from generated code
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func UnpackMap(in interface{}) (yaml.MapSlice, bool) {
 | 
				
			||||||
 | 
						m, ok := in.(yaml.MapSlice)
 | 
				
			||||||
 | 
						if ok {
 | 
				
			||||||
 | 
							return m, ok
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							// do we have an empty array?
 | 
				
			||||||
 | 
							a, ok := in.([]interface{})
 | 
				
			||||||
 | 
							if ok && len(a) == 0 {
 | 
				
			||||||
 | 
								// if so, return an empty map
 | 
				
			||||||
 | 
								return yaml.MapSlice{}, ok
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								return nil, ok
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func SortedKeysForMap(m yaml.MapSlice) []string {
 | 
				
			||||||
 | 
						keys := make([]string, 0)
 | 
				
			||||||
 | 
						for _, item := range m {
 | 
				
			||||||
 | 
							keys = append(keys, item.Key.(string))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						sort.Strings(keys)
 | 
				
			||||||
 | 
						return keys
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func MapHasKey(m yaml.MapSlice, key string) bool {
 | 
				
			||||||
 | 
						for _, item := range m {
 | 
				
			||||||
 | 
							itemKey, ok := item.Key.(string)
 | 
				
			||||||
 | 
							if ok && key == itemKey {
 | 
				
			||||||
 | 
								return true
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func MapValueForKey(m yaml.MapSlice, key string) interface{} {
 | 
				
			||||||
 | 
						for _, item := range m {
 | 
				
			||||||
 | 
							itemKey, ok := item.Key.(string)
 | 
				
			||||||
 | 
							if ok && key == itemKey {
 | 
				
			||||||
 | 
								return item.Value
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func ConvertInterfaceArrayToStringArray(interfaceArray []interface{}) []string {
 | 
				
			||||||
 | 
						stringArray := make([]string, 0)
 | 
				
			||||||
 | 
						for _, item := range interfaceArray {
 | 
				
			||||||
 | 
							v, ok := item.(string)
 | 
				
			||||||
 | 
							if ok {
 | 
				
			||||||
 | 
								stringArray = append(stringArray, v)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return stringArray
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func PatternMatches(pattern string, value string) bool {
 | 
				
			||||||
 | 
						// if pattern contains a subpattern like "{path}", replace it with ".*"
 | 
				
			||||||
 | 
						if pattern[0] != '^' {
 | 
				
			||||||
 | 
							subpatternPattern := regexp.MustCompile("^.*(\\{.*\\}).*$")
 | 
				
			||||||
 | 
							if matches := subpatternPattern.FindSubmatch([]byte(pattern)); matches != nil {
 | 
				
			||||||
 | 
								match := string(matches[1])
 | 
				
			||||||
 | 
								pattern = strings.Replace(pattern, match, ".*", -1)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						matched, err := regexp.Match(pattern, []byte(value))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							panic(err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return matched
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func MissingKeysInMap(m yaml.MapSlice, requiredKeys []string) []string {
 | 
				
			||||||
 | 
						missingKeys := make([]string, 0)
 | 
				
			||||||
 | 
						for _, k := range requiredKeys {
 | 
				
			||||||
 | 
							if !MapHasKey(m, k) {
 | 
				
			||||||
 | 
								missingKeys = append(missingKeys, k)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return missingKeys
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func InvalidKeysInMap(m yaml.MapSlice, allowedKeys []string, allowedPatterns []string) []string {
 | 
				
			||||||
 | 
						invalidKeys := make([]string, 0)
 | 
				
			||||||
 | 
						for _, item := range m {
 | 
				
			||||||
 | 
							itemKey, ok := item.Key.(string)
 | 
				
			||||||
 | 
							if ok {
 | 
				
			||||||
 | 
								key := itemKey
 | 
				
			||||||
 | 
								found := false
 | 
				
			||||||
 | 
								// does the key match an allowed key?
 | 
				
			||||||
 | 
								for _, allowedKey := range allowedKeys {
 | 
				
			||||||
 | 
									if key == allowedKey {
 | 
				
			||||||
 | 
										found = true
 | 
				
			||||||
 | 
										break
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								if !found {
 | 
				
			||||||
 | 
									// does the key match an allowed pattern?
 | 
				
			||||||
 | 
									for _, allowedPattern := range allowedPatterns {
 | 
				
			||||||
 | 
										if PatternMatches(allowedPattern, key) {
 | 
				
			||||||
 | 
											found = true
 | 
				
			||||||
 | 
											break
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									if !found {
 | 
				
			||||||
 | 
										invalidKeys = append(invalidKeys, key)
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return invalidKeys
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// describe a map (for debugging purposes)
 | 
				
			||||||
 | 
					func DescribeMap(in interface{}, indent string) string {
 | 
				
			||||||
 | 
						description := ""
 | 
				
			||||||
 | 
						m, ok := in.(map[string]interface{})
 | 
				
			||||||
 | 
						if ok {
 | 
				
			||||||
 | 
							keys := make([]string, 0)
 | 
				
			||||||
 | 
							for k, _ := range m {
 | 
				
			||||||
 | 
								keys = append(keys, k)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							sort.Strings(keys)
 | 
				
			||||||
 | 
							for _, k := range keys {
 | 
				
			||||||
 | 
								v := m[k]
 | 
				
			||||||
 | 
								description += fmt.Sprintf("%s%s:\n", indent, k)
 | 
				
			||||||
 | 
								description += DescribeMap(v, indent+"  ")
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return description
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						a, ok := in.([]interface{})
 | 
				
			||||||
 | 
						if ok {
 | 
				
			||||||
 | 
							for i, v := range a {
 | 
				
			||||||
 | 
								description += fmt.Sprintf("%s%d:\n", indent, i)
 | 
				
			||||||
 | 
								description += DescribeMap(v, indent+"  ")
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return description
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						description += fmt.Sprintf("%s%+v\n", indent, in)
 | 
				
			||||||
 | 
						return description
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func PluralProperties(count int) string {
 | 
				
			||||||
 | 
						if count == 1 {
 | 
				
			||||||
 | 
							return "property"
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							return "properties"
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func StringArrayContainsValue(array []string, value string) bool {
 | 
				
			||||||
 | 
						for _, item := range array {
 | 
				
			||||||
 | 
							if item == value {
 | 
				
			||||||
 | 
								return true
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func StringArrayContainsValues(array []string, values []string) bool {
 | 
				
			||||||
 | 
						for _, value := range values {
 | 
				
			||||||
 | 
							if !StringArrayContainsValue(array, value) {
 | 
				
			||||||
 | 
								return false
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return true
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										16
									
								
								vendor/github.com/googleapis/gnostic/compiler/main.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								vendor/github.com/googleapis/gnostic/compiler/main.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					// Copyright 2017 Google Inc. All Rights Reserved.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					// you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					// You may obtain a copy of the License at
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//    http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					// distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Package compiler provides support functions to generated compiler code.
 | 
				
			||||||
 | 
					package compiler
 | 
				
			||||||
							
								
								
									
										167
									
								
								vendor/github.com/googleapis/gnostic/compiler/reader.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										167
									
								
								vendor/github.com/googleapis/gnostic/compiler/reader.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,167 @@
 | 
				
			|||||||
 | 
					// Copyright 2017 Google Inc. All Rights Reserved.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					// you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					// You may obtain a copy of the License at
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//    http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					// distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package compiler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
 | 
						"gopkg.in/yaml.v2"
 | 
				
			||||||
 | 
						"io/ioutil"
 | 
				
			||||||
 | 
						"log"
 | 
				
			||||||
 | 
						"net/http"
 | 
				
			||||||
 | 
						"net/url"
 | 
				
			||||||
 | 
						"path/filepath"
 | 
				
			||||||
 | 
						"strings"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var file_cache map[string][]byte
 | 
				
			||||||
 | 
					var info_cache map[string]interface{}
 | 
				
			||||||
 | 
					var count int64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var VERBOSE_READER = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func initializeFileCache() {
 | 
				
			||||||
 | 
						if file_cache == nil {
 | 
				
			||||||
 | 
							file_cache = make(map[string][]byte, 0)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func initializeInfoCache() {
 | 
				
			||||||
 | 
						if info_cache == nil {
 | 
				
			||||||
 | 
							info_cache = make(map[string]interface{}, 0)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func FetchFile(fileurl string) ([]byte, error) {
 | 
				
			||||||
 | 
						initializeFileCache()
 | 
				
			||||||
 | 
						bytes, ok := file_cache[fileurl]
 | 
				
			||||||
 | 
						if ok {
 | 
				
			||||||
 | 
							if VERBOSE_READER {
 | 
				
			||||||
 | 
								log.Printf("Cache hit %s", fileurl)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return bytes, nil
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						log.Printf("Fetching %s", fileurl)
 | 
				
			||||||
 | 
						response, err := http.Get(fileurl)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							defer response.Body.Close()
 | 
				
			||||||
 | 
							bytes, err := ioutil.ReadAll(response.Body)
 | 
				
			||||||
 | 
							if err == nil {
 | 
				
			||||||
 | 
								file_cache[fileurl] = bytes
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return bytes, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// read a file and unmarshal it as a yaml.MapSlice
 | 
				
			||||||
 | 
					func ReadInfoForFile(filename string) (interface{}, error) {
 | 
				
			||||||
 | 
						initializeInfoCache()
 | 
				
			||||||
 | 
						info, ok := info_cache[filename]
 | 
				
			||||||
 | 
						if ok {
 | 
				
			||||||
 | 
							if VERBOSE_READER {
 | 
				
			||||||
 | 
								log.Printf("Cache hit info for file %s", filename)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return info, nil
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if VERBOSE_READER {
 | 
				
			||||||
 | 
							log.Printf("Reading info for file %s", filename)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// is the filename a url?
 | 
				
			||||||
 | 
						fileurl, _ := url.Parse(filename)
 | 
				
			||||||
 | 
						if fileurl.Scheme != "" {
 | 
				
			||||||
 | 
							// yes, fetch it
 | 
				
			||||||
 | 
							bytes, err := FetchFile(filename)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								return nil, err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							var info yaml.MapSlice
 | 
				
			||||||
 | 
							err = yaml.Unmarshal(bytes, &info)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								return nil, err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							info_cache[filename] = info
 | 
				
			||||||
 | 
							return info, nil
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							// no, it's a local filename
 | 
				
			||||||
 | 
							bytes, err := ioutil.ReadFile(filename)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								log.Printf("File error: %v\n", err)
 | 
				
			||||||
 | 
								return nil, err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							var info yaml.MapSlice
 | 
				
			||||||
 | 
							err = yaml.Unmarshal(bytes, &info)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								return nil, err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							info_cache[filename] = info
 | 
				
			||||||
 | 
							return info, nil
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// read a file and return the fragment needed to resolve a $ref
 | 
				
			||||||
 | 
					func ReadInfoForRef(basefile string, ref string) (interface{}, error) {
 | 
				
			||||||
 | 
						initializeInfoCache()
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							info, ok := info_cache[ref]
 | 
				
			||||||
 | 
							if ok {
 | 
				
			||||||
 | 
								if VERBOSE_READER {
 | 
				
			||||||
 | 
									log.Printf("Cache hit for ref %s#%s", basefile, ref)
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								return info, nil
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if VERBOSE_READER {
 | 
				
			||||||
 | 
							log.Printf("Reading info for ref %s#%s", basefile, ref)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						count = count + 1
 | 
				
			||||||
 | 
						basedir, _ := filepath.Split(basefile)
 | 
				
			||||||
 | 
						parts := strings.Split(ref, "#")
 | 
				
			||||||
 | 
						var filename string
 | 
				
			||||||
 | 
						if parts[0] != "" {
 | 
				
			||||||
 | 
							filename = basedir + parts[0]
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							filename = basefile
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						info, err := ReadInfoForFile(filename)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							log.Printf("File error: %v\n", err)
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							if len(parts) > 1 {
 | 
				
			||||||
 | 
								path := strings.Split(parts[1], "/")
 | 
				
			||||||
 | 
								for i, key := range path {
 | 
				
			||||||
 | 
									if i > 0 {
 | 
				
			||||||
 | 
										m, ok := info.(yaml.MapSlice)
 | 
				
			||||||
 | 
										if ok {
 | 
				
			||||||
 | 
											found := false
 | 
				
			||||||
 | 
											for _, section := range m {
 | 
				
			||||||
 | 
												if section.Key == key {
 | 
				
			||||||
 | 
													info = section.Value
 | 
				
			||||||
 | 
													found = true
 | 
				
			||||||
 | 
												}
 | 
				
			||||||
 | 
											}
 | 
				
			||||||
 | 
											if !found {
 | 
				
			||||||
 | 
												info_cache[ref] = nil
 | 
				
			||||||
 | 
												return nil, NewError(nil, fmt.Sprintf("could not resolve %s", ref))
 | 
				
			||||||
 | 
											}
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						info_cache[ref] = info
 | 
				
			||||||
 | 
						return info, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										36
									
								
								vendor/github.com/googleapis/gnostic/extensions/BUILD
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								vendor/github.com/googleapis/gnostic/extensions/BUILD
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					package(default_visibility = ["//visibility:public"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					licenses(["notice"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					load(
 | 
				
			||||||
 | 
					    "@io_bazel_rules_go//go:def.bzl",
 | 
				
			||||||
 | 
					    "go_library",
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					go_library(
 | 
				
			||||||
 | 
					    name = "go_default_library",
 | 
				
			||||||
 | 
					    srcs = [
 | 
				
			||||||
 | 
					        "extension.pb.go",
 | 
				
			||||||
 | 
					        "extensions.go",
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    deps = [
 | 
				
			||||||
 | 
					        "//vendor/github.com/golang/protobuf/proto:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor/github.com/golang/protobuf/ptypes:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor/github.com/golang/protobuf/ptypes/any:go_default_library",
 | 
				
			||||||
 | 
					        "//vendor/gopkg.in/yaml.v2:go_default_library",
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filegroup(
 | 
				
			||||||
 | 
					    name = "package-srcs",
 | 
				
			||||||
 | 
					    srcs = glob(["**"]),
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					    visibility = ["//visibility:private"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					filegroup(
 | 
				
			||||||
 | 
					    name = "all-srcs",
 | 
				
			||||||
 | 
					    srcs = [":package-srcs"],
 | 
				
			||||||
 | 
					    tags = ["automanaged"],
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
							
								
								
									
										7
									
								
								vendor/github.com/googleapis/gnostic/extensions/COMPILE-EXTENSION.sh
									
									
									
										generated
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								vendor/github.com/googleapis/gnostic/extensions/COMPILE-EXTENSION.sh
									
									
									
										generated
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					go get github.com/golang/protobuf/protoc-gen-go
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					protoc \
 | 
				
			||||||
 | 
					--go_out=Mgoogle/protobuf/any.proto=github.com/golang/protobuf/ptypes/any:. *.proto 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					go build
 | 
				
			||||||
 | 
					go install
 | 
				
			||||||
							
								
								
									
										5
									
								
								vendor/github.com/googleapis/gnostic/extensions/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								vendor/github.com/googleapis/gnostic/extensions/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					# Extensions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This directory contains support code for building Gnostic extensions and associated examples.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Extensions are used to compile vendor or specification extensions into protocol buffer structures.
 | 
				
			||||||
							
								
								
									
										219
									
								
								vendor/github.com/googleapis/gnostic/extensions/extension.pb.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										219
									
								
								vendor/github.com/googleapis/gnostic/extensions/extension.pb.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,219 @@
 | 
				
			|||||||
 | 
					// Code generated by protoc-gen-go.
 | 
				
			||||||
 | 
					// source: extension.proto
 | 
				
			||||||
 | 
					// DO NOT EDIT!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					Package openapiextension_v1 is a generated protocol buffer package.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It is generated from these files:
 | 
				
			||||||
 | 
						extension.proto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It has these top-level messages:
 | 
				
			||||||
 | 
						Version
 | 
				
			||||||
 | 
						ExtensionHandlerRequest
 | 
				
			||||||
 | 
						ExtensionHandlerResponse
 | 
				
			||||||
 | 
						Wrapper
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					package openapiextension_v1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import proto "github.com/golang/protobuf/proto"
 | 
				
			||||||
 | 
					import fmt "fmt"
 | 
				
			||||||
 | 
					import math "math"
 | 
				
			||||||
 | 
					import google_protobuf "github.com/golang/protobuf/ptypes/any"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Reference imports to suppress errors if they are not otherwise used.
 | 
				
			||||||
 | 
					var _ = proto.Marshal
 | 
				
			||||||
 | 
					var _ = fmt.Errorf
 | 
				
			||||||
 | 
					var _ = math.Inf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// This is a compile-time assertion to ensure that this generated file
 | 
				
			||||||
 | 
					// is compatible with the proto package it is being compiled against.
 | 
				
			||||||
 | 
					// A compilation error at this line likely means your copy of the
 | 
				
			||||||
 | 
					// proto package needs to be updated.
 | 
				
			||||||
 | 
					const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// The version number of OpenAPI compiler.
 | 
				
			||||||
 | 
					type Version struct {
 | 
				
			||||||
 | 
						Major int32 `protobuf:"varint,1,opt,name=major" json:"major,omitempty"`
 | 
				
			||||||
 | 
						Minor int32 `protobuf:"varint,2,opt,name=minor" json:"minor,omitempty"`
 | 
				
			||||||
 | 
						Patch int32 `protobuf:"varint,3,opt,name=patch" json:"patch,omitempty"`
 | 
				
			||||||
 | 
						// A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should
 | 
				
			||||||
 | 
						// be empty for mainline stable releases.
 | 
				
			||||||
 | 
						Suffix string `protobuf:"bytes,4,opt,name=suffix" json:"suffix,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *Version) Reset()                    { *m = Version{} }
 | 
				
			||||||
 | 
					func (m *Version) String() string            { return proto.CompactTextString(m) }
 | 
				
			||||||
 | 
					func (*Version) ProtoMessage()               {}
 | 
				
			||||||
 | 
					func (*Version) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *Version) GetMajor() int32 {
 | 
				
			||||||
 | 
						if m != nil {
 | 
				
			||||||
 | 
							return m.Major
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *Version) GetMinor() int32 {
 | 
				
			||||||
 | 
						if m != nil {
 | 
				
			||||||
 | 
							return m.Minor
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *Version) GetPatch() int32 {
 | 
				
			||||||
 | 
						if m != nil {
 | 
				
			||||||
 | 
							return m.Patch
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *Version) GetSuffix() string {
 | 
				
			||||||
 | 
						if m != nil {
 | 
				
			||||||
 | 
							return m.Suffix
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// An encoded Request is written to the ExtensionHandler's stdin.
 | 
				
			||||||
 | 
					type ExtensionHandlerRequest struct {
 | 
				
			||||||
 | 
						// The OpenAPI descriptions that were explicitly listed on the command line.
 | 
				
			||||||
 | 
						// The specifications will appear in the order they are specified to openapic.
 | 
				
			||||||
 | 
						Wrapper *Wrapper `protobuf:"bytes,1,opt,name=wrapper" json:"wrapper,omitempty"`
 | 
				
			||||||
 | 
						// The version number of openapi compiler.
 | 
				
			||||||
 | 
						CompilerVersion *Version `protobuf:"bytes,3,opt,name=compiler_version,json=compilerVersion" json:"compiler_version,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *ExtensionHandlerRequest) Reset()                    { *m = ExtensionHandlerRequest{} }
 | 
				
			||||||
 | 
					func (m *ExtensionHandlerRequest) String() string            { return proto.CompactTextString(m) }
 | 
				
			||||||
 | 
					func (*ExtensionHandlerRequest) ProtoMessage()               {}
 | 
				
			||||||
 | 
					func (*ExtensionHandlerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *ExtensionHandlerRequest) GetWrapper() *Wrapper {
 | 
				
			||||||
 | 
						if m != nil {
 | 
				
			||||||
 | 
							return m.Wrapper
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *ExtensionHandlerRequest) GetCompilerVersion() *Version {
 | 
				
			||||||
 | 
						if m != nil {
 | 
				
			||||||
 | 
							return m.CompilerVersion
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// The extensions writes an encoded ExtensionHandlerResponse to stdout.
 | 
				
			||||||
 | 
					type ExtensionHandlerResponse struct {
 | 
				
			||||||
 | 
						// true if the extension is handled by the extension handler; false otherwise
 | 
				
			||||||
 | 
						Handled bool `protobuf:"varint,1,opt,name=handled" json:"handled,omitempty"`
 | 
				
			||||||
 | 
						// Error message.  If non-empty, the extension handling failed.
 | 
				
			||||||
 | 
						// The extension handler process should exit with status code zero
 | 
				
			||||||
 | 
						// even if it reports an error in this way.
 | 
				
			||||||
 | 
						//
 | 
				
			||||||
 | 
						// This should be used to indicate errors which prevent the extension from
 | 
				
			||||||
 | 
						// operating as intended.  Errors which indicate a problem in gnostic
 | 
				
			||||||
 | 
						// itself -- such as the input Document being unparseable -- should be
 | 
				
			||||||
 | 
						// reported by writing a message to stderr and exiting with a non-zero
 | 
				
			||||||
 | 
						// status code.
 | 
				
			||||||
 | 
						Error []string `protobuf:"bytes,2,rep,name=error" json:"error,omitempty"`
 | 
				
			||||||
 | 
						// text output
 | 
				
			||||||
 | 
						Value *google_protobuf.Any `protobuf:"bytes,3,opt,name=value" json:"value,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *ExtensionHandlerResponse) Reset()                    { *m = ExtensionHandlerResponse{} }
 | 
				
			||||||
 | 
					func (m *ExtensionHandlerResponse) String() string            { return proto.CompactTextString(m) }
 | 
				
			||||||
 | 
					func (*ExtensionHandlerResponse) ProtoMessage()               {}
 | 
				
			||||||
 | 
					func (*ExtensionHandlerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *ExtensionHandlerResponse) GetHandled() bool {
 | 
				
			||||||
 | 
						if m != nil {
 | 
				
			||||||
 | 
							return m.Handled
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *ExtensionHandlerResponse) GetError() []string {
 | 
				
			||||||
 | 
						if m != nil {
 | 
				
			||||||
 | 
							return m.Error
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *ExtensionHandlerResponse) GetValue() *google_protobuf.Any {
 | 
				
			||||||
 | 
						if m != nil {
 | 
				
			||||||
 | 
							return m.Value
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type Wrapper struct {
 | 
				
			||||||
 | 
						// version of the OpenAPI specification in which this extension was written.
 | 
				
			||||||
 | 
						Version string `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"`
 | 
				
			||||||
 | 
						// Name of the extension
 | 
				
			||||||
 | 
						ExtensionName string `protobuf:"bytes,2,opt,name=extension_name,json=extensionName" json:"extension_name,omitempty"`
 | 
				
			||||||
 | 
						// Must be a valid yaml for the proto
 | 
				
			||||||
 | 
						Yaml string `protobuf:"bytes,3,opt,name=yaml" json:"yaml,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *Wrapper) Reset()                    { *m = Wrapper{} }
 | 
				
			||||||
 | 
					func (m *Wrapper) String() string            { return proto.CompactTextString(m) }
 | 
				
			||||||
 | 
					func (*Wrapper) ProtoMessage()               {}
 | 
				
			||||||
 | 
					func (*Wrapper) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *Wrapper) GetVersion() string {
 | 
				
			||||||
 | 
						if m != nil {
 | 
				
			||||||
 | 
							return m.Version
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *Wrapper) GetExtensionName() string {
 | 
				
			||||||
 | 
						if m != nil {
 | 
				
			||||||
 | 
							return m.ExtensionName
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *Wrapper) GetYaml() string {
 | 
				
			||||||
 | 
						if m != nil {
 | 
				
			||||||
 | 
							return m.Yaml
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func init() {
 | 
				
			||||||
 | 
						proto.RegisterType((*Version)(nil), "openapiextension.v1.Version")
 | 
				
			||||||
 | 
						proto.RegisterType((*ExtensionHandlerRequest)(nil), "openapiextension.v1.ExtensionHandlerRequest")
 | 
				
			||||||
 | 
						proto.RegisterType((*ExtensionHandlerResponse)(nil), "openapiextension.v1.ExtensionHandlerResponse")
 | 
				
			||||||
 | 
						proto.RegisterType((*Wrapper)(nil), "openapiextension.v1.Wrapper")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func init() { proto.RegisterFile("extension.proto", fileDescriptor0) }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var fileDescriptor0 = []byte{
 | 
				
			||||||
 | 
						// 355 bytes of a gzipped FileDescriptorProto
 | 
				
			||||||
 | 
						0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x74, 0x91, 0x4d, 0x4b, 0xf3, 0x40,
 | 
				
			||||||
 | 
						0x1c, 0xc4, 0x49, 0xdf, 0xf2, 0x64, 0x1f, 0xb4, 0xb2, 0x16, 0x8d, 0xe2, 0xa1, 0x04, 0x84, 0x22,
 | 
				
			||||||
 | 
						0xb8, 0xa5, 0x0a, 0xde, 0x5b, 0x28, 0xea, 0xc5, 0x96, 0x3d, 0xd4, 0x9b, 0x65, 0x9b, 0xfe, 0xdb,
 | 
				
			||||||
 | 
						0x46, 0x92, 0xdd, 0x75, 0xf3, 0x62, 0xfb, 0x55, 0x3c, 0xfa, 0x49, 0x25, 0xbb, 0xd9, 0x7a, 0x50,
 | 
				
			||||||
 | 
						0x6f, 0x99, 0x1f, 0x93, 0xfc, 0x67, 0x26, 0xa8, 0x0d, 0xdb, 0x0c, 0x78, 0x1a, 0x09, 0x4e, 0xa4,
 | 
				
			||||||
 | 
						0x12, 0x99, 0xc0, 0xc7, 0x42, 0x02, 0x67, 0x32, 0xfa, 0xe6, 0xc5, 0xe0, 0xfc, 0x6c, 0x2d, 0xc4,
 | 
				
			||||||
 | 
						0x3a, 0x86, 0xbe, 0xb6, 0x2c, 0xf2, 0x55, 0x9f, 0xf1, 0x9d, 0xf1, 0x07, 0x21, 0x72, 0x67, 0xa0,
 | 
				
			||||||
 | 
						0x4a, 0x23, 0xee, 0xa0, 0x66, 0xc2, 0x5e, 0x85, 0xf2, 0x9d, 0xae, 0xd3, 0x6b, 0x52, 0x23, 0x34,
 | 
				
			||||||
 | 
						0x8d, 0xb8, 0x50, 0x7e, 0xad, 0xa2, 0xa5, 0x28, 0xa9, 0x64, 0x59, 0xb8, 0xf1, 0xeb, 0x86, 0x6a,
 | 
				
			||||||
 | 
						0x81, 0x4f, 0x50, 0x2b, 0xcd, 0x57, 0xab, 0x68, 0xeb, 0x37, 0xba, 0x4e, 0xcf, 0xa3, 0x95, 0x0a,
 | 
				
			||||||
 | 
						0x3e, 0x1c, 0x74, 0x3a, 0xb6, 0x81, 0x1e, 0x18, 0x5f, 0xc6, 0xa0, 0x28, 0xbc, 0xe5, 0x90, 0x66,
 | 
				
			||||||
 | 
						0xf8, 0x0e, 0xb9, 0xef, 0x8a, 0x49, 0x09, 0xe6, 0xee, 0xff, 0x9b, 0x0b, 0xf2, 0x4b, 0x05, 0xf2,
 | 
				
			||||||
 | 
						0x6c, 0x3c, 0xd4, 0x9a, 0xf1, 0x3d, 0x3a, 0x0a, 0x45, 0x22, 0xa3, 0x18, 0xd4, 0xbc, 0x30, 0x0d,
 | 
				
			||||||
 | 
						0x74, 0x98, 0xbf, 0x3e, 0x50, 0xb5, 0xa4, 0x6d, 0xfb, 0x56, 0x05, 0x82, 0x02, 0xf9, 0x3f, 0xb3,
 | 
				
			||||||
 | 
						0xa5, 0x52, 0xf0, 0x14, 0xb0, 0x8f, 0xdc, 0x8d, 0x46, 0x4b, 0x1d, 0xee, 0x1f, 0xb5, 0xb2, 0x1c,
 | 
				
			||||||
 | 
						0x00, 0x94, 0xd2, 0xb3, 0xd4, 0x7b, 0x1e, 0x35, 0x02, 0x5f, 0xa1, 0x66, 0xc1, 0xe2, 0x1c, 0xaa,
 | 
				
			||||||
 | 
						0x24, 0x1d, 0x62, 0x86, 0x27, 0x76, 0x78, 0x32, 0xe4, 0x3b, 0x6a, 0x2c, 0xc1, 0x0b, 0x72, 0xab,
 | 
				
			||||||
 | 
						0x52, 0xe5, 0x19, 0x5b, 0xc1, 0xd1, 0xc3, 0x59, 0x89, 0x2f, 0xd1, 0xe1, 0xbe, 0xc5, 0x9c, 0xb3,
 | 
				
			||||||
 | 
						0x04, 0xf4, 0x6f, 0xf0, 0xe8, 0xc1, 0x9e, 0x3e, 0xb1, 0x04, 0x30, 0x46, 0x8d, 0x1d, 0x4b, 0x62,
 | 
				
			||||||
 | 
						0x7d, 0xd6, 0xa3, 0xfa, 0x79, 0x74, 0x8d, 0xda, 0x42, 0xad, 0xed, 0x16, 0x21, 0x29, 0x06, 0x23,
 | 
				
			||||||
 | 
						0x3c, 0x91, 0xc0, 0x87, 0xd3, 0xc7, 0x7d, 0xdf, 0xd9, 0x60, 0xea, 0x7c, 0xd6, 0xea, 0x93, 0xe1,
 | 
				
			||||||
 | 
						0x78, 0xd1, 0xd2, 0x19, 0x6f, 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x56, 0x40, 0x4d, 0x52,
 | 
				
			||||||
 | 
						0x02, 0x00, 0x00,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										93
									
								
								vendor/github.com/googleapis/gnostic/extensions/extension.proto
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								vendor/github.com/googleapis/gnostic/extensions/extension.proto
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,93 @@
 | 
				
			|||||||
 | 
					// Copyright 2017 Google Inc. All Rights Reserved.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					// you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					// You may obtain a copy of the License at
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//    http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					// distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					syntax = "proto3";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "google/protobuf/any.proto";
 | 
				
			||||||
 | 
					package openapiextension.v1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// This option lets the proto compiler generate Java code inside the package
 | 
				
			||||||
 | 
					// name (see below) instead of inside an outer class. It creates a simpler
 | 
				
			||||||
 | 
					// developer experience by reducing one-level of name nesting and be
 | 
				
			||||||
 | 
					// consistent with most programming languages that don't support outer classes.
 | 
				
			||||||
 | 
					option java_multiple_files = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// The Java outer classname should be the filename in UpperCamelCase. This
 | 
				
			||||||
 | 
					// class is only used to hold proto descriptor, so developers don't need to
 | 
				
			||||||
 | 
					// work with it directly.
 | 
				
			||||||
 | 
					option java_outer_classname = "OpenAPIExtensionV1";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// The Java package name must be proto package name with proper prefix.
 | 
				
			||||||
 | 
					option java_package = "org.openapic.v1";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// A reasonable prefix for the Objective-C symbols generated from the package.
 | 
				
			||||||
 | 
					// It should at a minimum be 3 characters long, all uppercase, and convention
 | 
				
			||||||
 | 
					// is to use an abbreviation of the package name. Something short, but
 | 
				
			||||||
 | 
					// hopefully unique enough to not conflict with things that may come along in
 | 
				
			||||||
 | 
					// the future. 'GPB' is reserved for the protocol buffer implementation itself.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					option objc_class_prefix = "OAE"; // "OpenAPI Extension"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// The version number of OpenAPI compiler.
 | 
				
			||||||
 | 
					message Version {
 | 
				
			||||||
 | 
					  int32 major = 1;
 | 
				
			||||||
 | 
					  int32 minor = 2;
 | 
				
			||||||
 | 
					  int32 patch = 3;
 | 
				
			||||||
 | 
					  // A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should
 | 
				
			||||||
 | 
					  // be empty for mainline stable releases.
 | 
				
			||||||
 | 
					  string suffix = 4;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// An encoded Request is written to the ExtensionHandler's stdin.
 | 
				
			||||||
 | 
					message ExtensionHandlerRequest {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // The OpenAPI descriptions that were explicitly listed on the command line.
 | 
				
			||||||
 | 
					  // The specifications will appear in the order they are specified to openapic.
 | 
				
			||||||
 | 
					  Wrapper wrapper = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // The version number of openapi compiler.
 | 
				
			||||||
 | 
					  Version compiler_version = 3;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// The extensions writes an encoded ExtensionHandlerResponse to stdout.
 | 
				
			||||||
 | 
					message ExtensionHandlerResponse {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // true if the extension is handled by the extension handler; false otherwise
 | 
				
			||||||
 | 
					  bool handled = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Error message.  If non-empty, the extension handling failed.
 | 
				
			||||||
 | 
					  // The extension handler process should exit with status code zero
 | 
				
			||||||
 | 
					  // even if it reports an error in this way.
 | 
				
			||||||
 | 
					  //
 | 
				
			||||||
 | 
					  // This should be used to indicate errors which prevent the extension from
 | 
				
			||||||
 | 
					  // operating as intended.  Errors which indicate a problem in gnostic
 | 
				
			||||||
 | 
					  // itself -- such as the input Document being unparseable -- should be
 | 
				
			||||||
 | 
					  // reported by writing a message to stderr and exiting with a non-zero
 | 
				
			||||||
 | 
					  // status code.
 | 
				
			||||||
 | 
					  repeated string error = 2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // text output
 | 
				
			||||||
 | 
					  google.protobuf.Any value = 3;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Wrapper {
 | 
				
			||||||
 | 
					  // version of the OpenAPI specification in which this extension was written.
 | 
				
			||||||
 | 
					  string version = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Name of the extension
 | 
				
			||||||
 | 
					  string extension_name = 2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Must be a valid yaml for the proto
 | 
				
			||||||
 | 
					  string yaml = 3;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										83
									
								
								vendor/github.com/googleapis/gnostic/extensions/extensions.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								vendor/github.com/googleapis/gnostic/extensions/extensions.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,83 @@
 | 
				
			|||||||
 | 
					// Copyright 2017 Google Inc. All Rights Reserved.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					// you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					// You may obtain a copy of the License at
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//    http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					// distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package openapiextension_v1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
 | 
						"io/ioutil"
 | 
				
			||||||
 | 
						"os"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"github.com/golang/protobuf/proto"
 | 
				
			||||||
 | 
						"github.com/golang/protobuf/ptypes"
 | 
				
			||||||
 | 
						"gopkg.in/yaml.v2"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type documentHandler func(version string, extensionName string, document string)
 | 
				
			||||||
 | 
					type extensionHandler func(name string, info yaml.MapSlice) (bool, proto.Message, error)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func forInputYamlFromOpenapic(handler documentHandler) {
 | 
				
			||||||
 | 
						data, err := ioutil.ReadAll(os.Stdin)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							fmt.Println("File error:", err.Error())
 | 
				
			||||||
 | 
							os.Exit(1)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						request := &ExtensionHandlerRequest{}
 | 
				
			||||||
 | 
						err = proto.Unmarshal(data, request)
 | 
				
			||||||
 | 
						handler(request.Wrapper.Version, request.Wrapper.ExtensionName, request.Wrapper.Yaml)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func ProcessExtension(handleExtension extensionHandler) {
 | 
				
			||||||
 | 
						response := &ExtensionHandlerResponse{}
 | 
				
			||||||
 | 
						forInputYamlFromOpenapic(
 | 
				
			||||||
 | 
							func(version string, extensionName string, yamlInput string) {
 | 
				
			||||||
 | 
								var info yaml.MapSlice
 | 
				
			||||||
 | 
								var newObject proto.Message
 | 
				
			||||||
 | 
								var err error
 | 
				
			||||||
 | 
								err = yaml.Unmarshal([]byte(yamlInput), &info)
 | 
				
			||||||
 | 
								if err != nil {
 | 
				
			||||||
 | 
									response.Error = append(response.Error, err.Error())
 | 
				
			||||||
 | 
									responseBytes, _ := proto.Marshal(response)
 | 
				
			||||||
 | 
									os.Stdout.Write(responseBytes)
 | 
				
			||||||
 | 
									os.Exit(0)
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								handled, newObject, err := handleExtension(extensionName, info)
 | 
				
			||||||
 | 
								if !handled {
 | 
				
			||||||
 | 
									responseBytes, _ := proto.Marshal(response)
 | 
				
			||||||
 | 
									os.Stdout.Write(responseBytes)
 | 
				
			||||||
 | 
									os.Exit(0)
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								// If we reach here, then the extension is handled
 | 
				
			||||||
 | 
								response.Handled = true
 | 
				
			||||||
 | 
								if err != nil {
 | 
				
			||||||
 | 
									response.Error = append(response.Error, err.Error())
 | 
				
			||||||
 | 
									responseBytes, _ := proto.Marshal(response)
 | 
				
			||||||
 | 
									os.Stdout.Write(responseBytes)
 | 
				
			||||||
 | 
									os.Exit(0)
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								response.Value, err = ptypes.MarshalAny(newObject)
 | 
				
			||||||
 | 
								if err != nil {
 | 
				
			||||||
 | 
									response.Error = append(response.Error, err.Error())
 | 
				
			||||||
 | 
									responseBytes, _ := proto.Marshal(response)
 | 
				
			||||||
 | 
									os.Stdout.Write(responseBytes)
 | 
				
			||||||
 | 
									os.Exit(0)
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						responseBytes, _ := proto.Marshal(response)
 | 
				
			||||||
 | 
						os.Stdout.Write(responseBytes)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										17
									
								
								vendor/google.golang.org/api/compute/v0.alpha/BUILD
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								vendor/google.golang.org/api/compute/v0.alpha/BUILD
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -2,23 +2,6 @@ package(default_visibility = ["//visibility:public"])
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
licenses(["notice"])
 | 
					licenses(["notice"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
load(
 | 
					 | 
				
			||||||
    "@io_bazel_rules_go//go:def.bzl",
 | 
					 | 
				
			||||||
    "go_library",
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
go_library(
 | 
					 | 
				
			||||||
    name = "go_default_library",
 | 
					 | 
				
			||||||
    srcs = ["compute-gen.go"],
 | 
					 | 
				
			||||||
    tags = ["automanaged"],
 | 
					 | 
				
			||||||
    deps = [
 | 
					 | 
				
			||||||
        "//vendor/golang.org/x/net/context:go_default_library",
 | 
					 | 
				
			||||||
        "//vendor/golang.org/x/net/context/ctxhttp:go_default_library",
 | 
					 | 
				
			||||||
        "//vendor/google.golang.org/api/gensupport:go_default_library",
 | 
					 | 
				
			||||||
        "//vendor/google.golang.org/api/googleapi:go_default_library",
 | 
					 | 
				
			||||||
    ],
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
filegroup(
 | 
					filegroup(
 | 
				
			||||||
    name = "package-srcs",
 | 
					    name = "package-srcs",
 | 
				
			||||||
    srcs = glob(["**"]),
 | 
					    srcs = glob(["**"]),
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										29691
									
								
								vendor/google.golang.org/api/compute/v0.alpha/compute-api.json
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										29691
									
								
								vendor/google.golang.org/api/compute/v0.alpha/compute-api.json
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										91682
									
								
								vendor/google.golang.org/api/compute/v0.alpha/compute-gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										91682
									
								
								vendor/google.golang.org/api/compute/v0.alpha/compute-gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user