This repository has been archived by the owner on May 23, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 22
/
structs.go
51 lines (46 loc) · 1.93 KB
/
structs.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// Copyright 2018 Google LLC
//
// 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 product
import "regexp"
// APIResponse is the response from the Apigee products API
type APIResponse struct {
APIProducts []APIProduct `json:"apiProduct"`
}
// An APIProduct is an Apigee API product. See the Apigee docs for details:
// https://docs.apigee.com/api-platform/publish/what-api-product
type APIProduct struct {
Attributes []Attribute `json:"attributes,omitempty"`
// CreatedAt int64 `json:"createdAt,omitempty"`
CreatedBy string `json:"createdBy,omitempty"`
Description string `json:"description,omitempty"`
DisplayName string `json:"displayName,omitempty"`
Environments []string `json:"environments,omitempty"`
// LastModifiedAt int64 `json:"lastModifiedAt,omitempty"`
LastModifiedBy string `json:"lastModifiedBy,omitempty"`
Name string `json:"name,omitempty"`
QuotaLimit string `json:"quota,omitempty"`
QuotaInterval string `json:"quotaInterval,omitempty"`
QuotaTimeUnit string `json:"quotaTimeUnit,omitempty"`
Resources []string `json:"apiResources"`
Scopes []string `json:"scopes"`
Targets []string
QuotaLimitInt int64
QuotaIntervalInt int64
resourceRegexps []*regexp.Regexp
}
// An Attribute is a name-value-pair attribute of an API product.
type Attribute struct {
Name string `json:"name,omitempty"`
Value string `json:"value,omitempty"`
}