client

package
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2022 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsBadRequest

func IsBadRequest(err error) bool

IsBadRequest determines if err is an error which indicates that the request is invalid.

func IsForbidden

func IsForbidden(err error) bool

IsForbidden determines if err is an error which indicates that the request is forbidden and cannot be completed as requested.

func IsNotFound

func IsNotFound(err error) bool

IsNotFound returns true if the specified error was created by NewNotFound.

func IsUnauthorized

func IsUnauthorized(err error) bool

IsUnauthorized determines if err is an error which indicates that the request is unauthorized and requires authentication by the user.

Types

type APIcastPolicy

type APIcastPolicy struct {
	Element APIcastPolicyItem `json:"policy"`
}

type APIcastPolicyItem

type APIcastPolicyItem struct {
	ID        *int64               `json:"id,omitempty"`
	Name      *string              `json:"name,omitempty"`
	Version   *string              `json:"version,omitempty"`
	Schema    *APIcastPolicySchema `json:"schema,omitempty"`
	CreatedAt *string              `json:"created_at,omitempty"`
	UpdatedAt *string              `json:"updated_at,omitempty"`
}

type APIcastPolicyRegistry

type APIcastPolicyRegistry struct {
	Items []APIcastPolicy `json:"policies"`
}

type APIcastPolicySchema

type APIcastPolicySchema struct {
	Summary       *string          `json:"summary,omitempty"`
	Description   *[]string        `json:"description,omitempty"`
	Name          *string          `json:"name,omitempty"`
	Schema        *string          `json:"$schema,omitempty"`
	Version       *string          `json:"version,omitempty"`
	Configuration *json.RawMessage `json:"configuration,omitempty"`
}

type AccessToken

type AccessToken struct {
	ID         int64    `json:"id"`
	Name       string   `json:"name"`
	Scopes     []string `json:"scopes"`
	Permission string   `json:"permission"`
	Value      string   `json:"value"`
}

type Account

type Account struct {
	ID           int64  `json:"id"`
	State        string `json:"state"`
	OrgName      string `json:"org_name"`
	SupportEmail string `json:"support_email"`
	AdminDomain  string `json:"admin_domain"`
	Domain       string `json:"domain"`
}

type AccountElem

type AccountElem struct {
	Account Account `json:"account"`
}

type AccountList

type AccountList struct {
	Accounts []AccountElem `json:"accounts"`
}

type ActiveDoc

type ActiveDoc struct {
	Element ActiveDocItem `json:"api_doc"`
}

type ActiveDocItem

type ActiveDocItem struct {
	ID                     *int64  `json:"id,omitempty"`
	SystemName             *string `json:"system_name,omitempty"`
	Name                   *string `json:"name,omitempty"`
	Description            *string `json:"description,omitempty"`
	Published              *bool   `json:"published,omitempty"`
	SkipSwaggerValidations *bool   `json:"skip_swagger_validations,omitempty"`
	Body                   *string `json:"body,omitempty"`
	ServiceID              *int64  `json:"service_id,omitempty"`
	CreatedAt              *string `json:"created_at,omitempty"`
	UpdatedAt              *string `json:"updated_at,omitempty"`
}

type ActiveDocList

type ActiveDocList struct {
	ActiveDocs []ActiveDoc `json:"api_docs"`
}

type AdminPortal

type AdminPortal struct {
	// contains filtered or unexported fields
}

AdminPortal defines a 3scale adminPortal service

func NewAdminPortal

func NewAdminPortal(scheme string, host string, port int) (*AdminPortal, error)

Returns a custom AdminPortal which integrates with the users Account Management API. Supported schemes are http and https

func NewAdminPortalFromStr

func NewAdminPortalFromStr(portaURL string) (*AdminPortal, error)

Returns a custom AdminPortal which integrates with the users Account Management API.

type AfterResponseCB

type AfterResponseCB func(statusCode int, timeTaken time.Duration)

AfterResponseCB provides a hook that can be used to infer details of the underlying HTTP request/response

type ApiErr

type ApiErr struct {
	// contains filtered or unexported fields
}

func (ApiErr) Code

func (e ApiErr) Code() int

func (ApiErr) Error

func (e ApiErr) Error() string

type Application

type Application struct {
	ID                      int64  `json:"id"`
	CreatedAt               string `json:"created_at"`
	UpdatedAt               string `json:"updated_at"`
	State                   string `json:"state"`
	UserAccountID           string `json:"user_account_id"`
	FirstTrafficAt          string `json:"first_traffic_at"`
	FirstDailyTrafficAt     string `json:"first_daily_traffic_at"`
	EndUserRequired         bool   `json:"end_user_required"`
	ServiceID               int64  `json:"service_id"`
	UserKey                 string `json:"user_key"`
	ProviderVerificationKey string `json:"provider_verification_key"`
	PlanID                  int64  `json:"plan_id"`
	AppName                 string `json:"name"`
	Description             string `json:"description"`
	ExtraFields             string `json:"extra_fields"`
	Error                   string `json:"error,omitempty"`
}

Application - API response for create app endpoint

type ApplicationElem

type ApplicationElem struct {
	Application Application `json:"application"`
}

ApplicationElem - Holds a intenal application element

type ApplicationList

type ApplicationList struct {
	Applications []ApplicationElem `json:"applications"`
}

ApplicationList - Holds a list of applications

type ApplicationPlan

type ApplicationPlan struct {
	Element ApplicationPlanItem `json:"application_plan"`
}

ApplicationPlan - Holds an Application Plan obj serialized/Unserialized in json format

type ApplicationPlanItem

type ApplicationPlanItem struct {
	ID                 int64   `json:"id"`
	Name               string  `json:"name"`
	SystemName         string  `json:"system_name"`
	State              string  `json:"state"`
	SetupFee           float64 `json:"setup_fee"`
	CostPerMonth       float64 `json:"cost_per_month"`
	TrialPeriodDays    int     `json:"trial_period_days"`
	CancellationPeriod int     `json:"cancellation_period"`
	ApprovalRequired   bool    `json:"approval_required"`
	Default            bool    `json:"default"`
	Custom             bool    `json:"custom"`
	CreatedAt          string  `json:"created_at"`
	UpdatedAt          string  `json:"updated_at"`
}

ApplicationPlanItem - Defines the application plan object serialized/Unserialized in json format

type ApplicationPlanJSONList

type ApplicationPlanJSONList struct {
	Plans []ApplicationPlan `json:"plans"`
}

ApplicationPlanJSONList - Holds a list of Application plans serialized/Unserialized in json format

type ApplicationPlanLimit

type ApplicationPlanLimit struct {
	Element ApplicationPlanLimitItem `json:"limit"`
}

ApplicationPlanLimit - Holds an Application Plan limit obj serialized/Unserialized in json format

type ApplicationPlanLimitItem

type ApplicationPlanLimitItem struct {
	ID        int64  `json:"id"`
	Period    string `json:"period"`
	Value     int    `json:"value"`
	MetricID  int64  `json:"metric_id"`
	PlanID    int64  `json:"plan_id"`
	CreatedAt string `json:"created_at"`
	UpdatedAt string `json:"updated_at"`
}

ApplicationPlanLimitItem - Holds an Application Plan limit item obj serialized/Unserialized in json format

type ApplicationPlanLimitList

type ApplicationPlanLimitList struct {
	Limits []ApplicationPlanLimit `json:"limits"`
}

ApplicationPlanLimitList - Holds a list of Application Plan limits serialized/Unserialized in json format

type ApplicationPlanPricingRule

type ApplicationPlanPricingRule struct {
	Element ApplicationPlanPricingRuleItem `json:"pricing_rule"`
}

ApplicationPlanPricingRule - Holds an Application Plan pricing rule obj serialized/Unserialized in json format

type ApplicationPlanPricingRuleItem

type ApplicationPlanPricingRuleItem struct {
	ID          int64  `json:"id"`
	MetricID    int64  `json:"metric_id"`
	CostPerUnit string `json:"cost_per_unit"`
	Min         int    `json:"min"`
	Max         int    `json:"max"`
	CreatedAt   string `json:"created_at"`
	UpdatedAt   string `json:"updated_at"`
}

ApplicationPlanPricingRuleItem - Holds an Application Plan pricing rule item obj serialized/Unserialized in json format

type ApplicationPlanPricingRuleList

type ApplicationPlanPricingRuleList struct {
	Rules []ApplicationPlanPricingRule `json:"pricing_rules"`
}

ApplicationPlanPricingRuleList - Holds a list of Application Plan pricing rules serialized/Unserialized in json format

type ApplicationPlansList

type ApplicationPlansList struct {
	XMLName xml.Name `xml:"plans"`
	Plans   []Plan   `xml:"plan"`
}

ApplicationPlansList - Holds a list of application plans Deprecated. Use ApplicationPlanJSONList instead

type Backend

type Backend struct {
	Endpoint string `json:"endpoint"`
	Host     string `json:"host"`
}

type BackendAPIUsage

type BackendAPIUsage struct {
	Element BackendAPIUsageItem `json:"backend_usage"`
}

BackendAPIUsage - Defines the backend usage object serialized/Unserialized in json format

type BackendAPIUsageItem

type BackendAPIUsageItem struct {
	ID           int64  `json:"id"`
	Path         string `json:"path"`
	ProductID    int64  `json:"service_id"`
	BackendAPIID int64  `json:"backend_id"`
}

BackendAPIUsageItem - Defines the backend usage object serialized/Unserialized in json format

type BackendAPIUsageList

type BackendAPIUsageList []BackendAPIUsage

BackendAPIUsageList - Holds a list of MappingRules serialized/Unserialized in json format

type BackendApi

type BackendApi struct {
	Element BackendApiItem `json:"backend_api"`
}

type BackendApiItem

type BackendApiItem struct {
	ID              int64  `json:"id"`
	Name            string `json:"name"`
	SystemName      string `json:"system_name"`
	Description     string `json:"description"`
	PrivateEndpoint string `json:"private_endpoint"`
	AccountID       int64  `json:"account_id"`
	CreatedAt       string `json:"created_at"`
	UpdatedAt       string `json:"updated_at"`
}

type BackendApiList

type BackendApiList struct {
	Backends []BackendApi `json:"backend_apis"`
}

type BillingAddressSpec

type BillingAddressSpec struct {
	Company     *string `json:"company,omitempty"`
	Address     *string `json:"address,omitempty"`
	Address1    *string `json:"address1,omitempty"`
	Address2    *string `json:"address2,omitempty"`
	PhoneNumber *string `json:"phone_number,omitempty"`
	City        *string `json:"city,omitempty"`
	Country     *string `json:"country,omitempty"`
	State       *string `json:"state,omitempty"`
	Zip         *string `json:"zip,omitempty"`
}

type Configuration

type Configuration struct {
}

type Content

type Content struct {
	ID                          int64        `json:"id"`
	AccountID                   int64        `json:"account_id"`
	Name                        string       `json:"name"`
	OnelineDescription          interface{}  `json:"oneline_description"`
	Description                 interface{}  `json:"description"`
	TxtAPI                      interface{}  `json:"txt_api"`
	TxtSupport                  interface{}  `json:"txt_support"`
	TxtFeatures                 interface{}  `json:"txt_features"`
	CreatedAt                   time.Time    `json:"created_at"`
	UpdatedAt                   time.Time    `json:"updated_at"`
	LogoFileName                interface{}  `json:"logo_file_name"`
	LogoContentType             interface{}  `json:"logo_content_type"`
	LogoFileSize                interface{}  `json:"logo_file_size"`
	State                       string       `json:"state"`
	IntentionsRequired          bool         `json:"intentions_required"`
	DraftName                   string       `json:"draft_name"`
	Infobar                     interface{}  `json:"infobar"`
	Terms                       interface{}  `json:"terms"`
	DisplayProviderKeys         bool         `json:"display_provider_keys"`
	TechSupportEmail            interface{}  `json:"tech_support_email"`
	AdminSupportEmail           interface{}  `json:"admin_support_email"`
	CreditCardSupportEmail      interface{}  `json:"credit_card_support_email"`
	BuyersManageApps            bool         `json:"buyers_manage_apps"`
	BuyersManageKeys            bool         `json:"buyers_manage_keys"`
	CustomKeysEnabled           bool         `json:"custom_keys_enabled"`
	BuyerPlanChangePermission   string       `json:"buyer_plan_change_permission"`
	BuyerCanSelectPlan          bool         `json:"buyer_can_select_plan"`
	NotificationSettings        interface{}  `json:"notification_settings"`
	DefaultApplicationPlanID    int64        `json:"default_application_plan_id"`
	DefaultServicePlanID        int64        `json:"default_service_plan_id"`
	DefaultEndUserPlanID        interface{}  `json:"default_end_user_plan_id"`
	EndUserRegistrationRequired bool         `json:"end_user_registration_required"`
	TenantID                    int64        `json:"tenant_id"`
	SystemName                  string       `json:"system_name"`
	BackendVersion              string       `json:"backend_version"`
	MandatoryAppKey             bool         `json:"mandatory_app_key"`
	BuyerKeyRegenerateEnabled   bool         `json:"buyer_key_regenerate_enabled"`
	SupportEmail                string       `json:"support_email"`
	ReferrerFiltersRequired     bool         `json:"referrer_filters_required"`
	DeploymentOption            string       `json:"deployment_option"`
	Proxiable                   bool         `json:"proxiable?"`
	BackendAuthenticationType   string       `json:"backend_authentication_type"`
	BackendAuthenticationValue  string       `json:"backend_authentication_value"`
	Proxy                       ContentProxy `json:"proxy"`
}

type ContentProxy

type ContentProxy struct {
	ID                         int64         `json:"id"`
	TenantID                   int64         `json:"tenant_id"`
	ServiceID                  int64         `json:"service_id"`
	Endpoint                   string        `json:"endpoint"`
	DeployedAt                 interface{}   `json:"deployed_at"`
	APIBackend                 string        `json:"api_backend"`
	AuthAppKey                 string        `json:"auth_app_key"`
	AuthAppID                  string        `json:"auth_app_id"`
	AuthUserKey                string        `json:"auth_user_key"`
	CredentialsLocation        string        `json:"credentials_location"`
	ErrorAuthFailed            string        `json:"error_auth_failed"`
	ErrorAuthMissing           string        `json:"error_auth_missing"`
	CreatedAt                  string        `json:"created_at"`
	UpdatedAt                  string        `json:"updated_at"`
	ErrorStatusAuthFailed      int64         `json:"error_status_auth_failed"`
	ErrorHeadersAuthFailed     string        `json:"error_headers_auth_failed"`
	ErrorStatusAuthMissing     int64         `json:"error_status_auth_missing"`
	ErrorHeadersAuthMissing    string        `json:"error_headers_auth_missing"`
	ErrorNoMatch               string        `json:"error_no_match"`
	ErrorStatusNoMatch         int64         `json:"error_status_no_match"`
	ErrorHeadersNoMatch        string        `json:"error_headers_no_match"`
	SecretToken                string        `json:"secret_token"`
	HostnameRewrite            *string       `json:"hostname_rewrite"`
	OauthLoginURL              interface{}   `json:"oauth_login_url"`
	SandboxEndpoint            string        `json:"sandbox_endpoint"`
	APITestPath                string        `json:"api_test_path"`
	APITestSuccess             *bool         `json:"api_test_success"`
	ApicastConfigurationDriven bool          `json:"apicast_configuration_driven"`
	OidcIssuerEndpoint         interface{}   `json:"oidc_issuer_endpoint"`
	LockVersion                int64         `json:"lock_version"`
	AuthenticationMethod       string        `json:"authentication_method"`
	HostnameRewriteForSandbox  string        `json:"hostname_rewrite_for_sandbox"`
	EndpointPort               int64         `json:"endpoint_port"`
	Valid                      bool          `json:"valid?"`
	ServiceBackendVersion      string        `json:"service_backend_version"`
	Hosts                      []string      `json:"hosts"`
	Backend                    Backend       `json:"backend"`
	PolicyChain                []PolicyChain `json:"policy_chain"`
	ProxyRules                 []ProxyRule   `json:"proxy_rules"`
}

type DeveloperAccount

type DeveloperAccount struct {
	Element DeveloperAccountItem `json:"account"`
}

type DeveloperAccountItem

type DeveloperAccountItem struct {
	ID                     *int64              `json:"id,omitempty"`
	State                  *string             `json:"state,omitempty"`
	CreditCardStored       *bool               `json:"credit_card_stored,omitempty"`
	MonthlyBillingEnabled  *bool               `json:"monthly_billing_enabled,omitempty"`
	MonthlyChargingEnabled *bool               `json:"monthly_charging_enabled,omitempty"`
	VatRate                *string             `json:"vat_rate,omitempty"`
	OrgName                *string             `json:"org_name,omitempty"`
	City                   *string             `json:"city,omitempty"`
	OrgLegalAddress        *string             `json:"org_legaladdress,omitempty"`
	BillingAddress         *BillingAddressSpec `json:"billing_address,omitempty"`
	BussinessCategory      *string             `json:"business_category,omitempty"`
	OrgLegaladdressCont    *string             `json:"org_legaladdress_cont,omitempty"`
	VatCode                *string             `json:"vat_code,omitempty"`
	TelephoneNumber        *string             `json:"telephone_number,omitempty"`
	FiscalCode             *string             `json:"fiscale_code,omitempty"`
	StateRegion            *string             `json:"state_region,omitempty"`
	Country                *string             `json:"country,omitempty"`
	Zip                    *string             `json:"zip,omitempty"`
	PrimaryBussiness       *string             `json:"primary_business,omitempty"`
	PoNumber               *string             `json:"po_number,omitempty"`
	CreatedAt              *string             `json:"created_at,omitempty"`
	UpdatedAt              *string             `json:"updated_at,omitempty"`
}

type DeveloperAccountList

type DeveloperAccountList struct {
	Items []DeveloperAccount `json:"accounts"`
}

type DeveloperUser

type DeveloperUser struct {
	Element DeveloperUserItem `json:"user"`
}

type DeveloperUserItem

type DeveloperUserItem struct {
	ID        *int64  `json:"id,omitempty"`
	State     *string `json:"state,omitempty"`
	Role      *string `json:"role,omitempty"`
	Username  *string `json:"username,omitempty"`
	Password  *string `json:"password,omitempty"`
	Email     *string `json:"email,omitempty"`
	CreatedAt *string `json:"created_at,omitempty"`
	UpdatedAt *string `json:"updated_at,omitempty"`
}

type DeveloperUserList

type DeveloperUserList struct {
	Items []DeveloperUser `json:"users"`
}

type ErrorResp

type ErrorResp struct {
	XMLName xml.Name `xml:"error"`
	Text    string   `xml:",chardata"`
	Error   struct {
		Text string `xml:",chardata"`
	} `xml:"error"`
}

type Limit

type Limit struct {
	XMLName  xml.Name `xml:"limit"`
	ID       string   `xml:"id"`
	MetricID string   `xml:"metric_id"`
	PlanID   string   `xml:"plan_id"`
	Period   string   `xml:"period"`
	Value    string   `xml:"value"`
}

Limit - Defines the object returned via the API for creation of a limit

type LimitList

type LimitList struct {
	XMLName xml.Name `xml:"limits"`
	Limits  []Limit  `xml:"limit"`
}

LimitList - Holds a list of Limit

type MappingRule

type MappingRule struct {
	XMLName    xml.Name `xml:"mapping_rule"`
	ID         string   `xml:"id,omitempty"`
	MetricID   string   `xml:"metric_id,omitempty"`
	Pattern    string   `xml:"pattern,omitempty"`
	HTTPMethod string   `xml:"http_method,omitempty"`
	Delta      string   `xml:"delta,omitempty"`
	CreatedAt  string   `xml:"created_at,omitempty"`
	UpdatedAt  string   `xml:"updated_at,omitempty"`
}

MappingRule - Defines the object returned via the API for creation of mapping rule

type MappingRuleItem

type MappingRuleItem struct {
	ID         int64  `json:"id"`
	MetricID   int64  `json:"metric_id"`
	Pattern    string `json:"pattern"`
	HTTPMethod string `json:"http_method"`
	Delta      int    `json:"delta"`
	Position   int    `json:"position"`
	Last       bool   `json:"last"`
	CreatedAt  string `json:"created_at"`
	UpdatedAt  string `json:"updated_at"`
}

MappingRuleItem - Defines the mapping rule object serialized/Unserialized in json format

type MappingRuleJSON

type MappingRuleJSON struct {
	Element MappingRuleItem `json:"mapping_rule"`
}

MappingRuleJSON - Holds a MappingRule obj serialized/Unserialized in json format

type MappingRuleJSONList

type MappingRuleJSONList struct {
	MappingRules []MappingRuleJSON `json:"mapping_rules"`
}

MappingRuleJSONList - Holds a list of MappingRules serialized/Unserialized in json format

type MappingRuleList

type MappingRuleList struct {
	XMLName      xml.Name      `xml:"mapping_rules"`
	MappingRules []MappingRule `xml:"mapping_rule"`
}

MappingRuleList - Holds a list of MappingRule

type Method

type Method struct {
	Element MethodItem `json:"method"`
}

type MethodItem

type MethodItem struct {
	ID          int64  `json:"id"`
	Name        string `json:"friendly_name"`
	SystemName  string `json:"system_name"`
	Description string `json:"description"`
	ParentID    int64  `json:"parent_id"`
	CreatedAt   string `json:"created_at"`
	UpdatedAt   string `json:"updated_at"`
}

MethodItem - Defines the method object

type MethodList

type MethodList struct {
	Methods []Method `json:"methods"`
}

MethodList - Holds a list of Methods

type Metric

type Metric struct {
	XMLName      xml.Name `xml:"metric"`
	ID           string   `xml:"id"`
	MetricName   string   `xml:"name"`
	SystemName   string   `xml:"system_name"`
	FriendlyName string   `xml:"friendly_name"`
	ServiceID    string   `xml:"service_id"`
	Description  string   `xml:"description"`
	Unit         string   `xml:"unit"`
}

Metric - Defines the object returned via the API for creation of metric

type MetricItem

type MetricItem struct {
	ID          int64  `json:"id"`
	Name        string `json:"friendly_name"`
	SystemName  string `json:"system_name"`
	Description string `json:"description"`
	Unit        string `json:"unit"`
	CreatedAt   string `json:"created_at"`
	UpdatedAt   string `json:"updated_at"`
}

MetricItem - Defines the metric object serialized/Unserialized in json format

type MetricJSON

type MetricJSON struct {
	Element MetricItem `json:"metric"`
}

MetricJSON - Holds a obj Metric serialized/Unserialized in json format

type MetricJSONList

type MetricJSONList struct {
	Metrics []MetricJSON `json:"metrics"`
}

MetricJSONList - Holds a list of Metrics serialized/Unserialized in json format

type MetricList

type MetricList struct {
	XMLName xml.Name `xml:"metrics"`
	Metrics []Metric `xml:"metric"`
}

MetricList - Holds a list of Metric

type OIDCConfiguration

type OIDCConfiguration struct {
	Element OIDCConfigurationItem `json:"oidc_configuration"`
}

OIDCConfiguration - Holds an OIDC configuration object

type OIDCConfigurationItem

type OIDCConfigurationItem struct {
	ID                        int64 `json:"id,omitempty"`
	StandardFlowEnabled       bool  `json:"standard_flow_enabled"`
	ImplicitFlowEnabled       bool  `json:"implicit_flow_enabled"`
	ServiceAccountsEnabled    bool  `json:"service_accounts_enabled"`
	DirectAccessGrantsEnabled bool  `json:"direct_access_grants_enabled"`
}

OIDCConfigurationItem - Holds an OIDC configuration item object

type Params

type Params map[string]string

func NewParams

func NewParams() Params

func (Params) AddParam

func (p Params) AddParam(key string, value string)

type Plan

type Plan struct {
	XMLNameName        xml.Name `xml:"plan"`
	Custom             string   `xml:"custom,attr"`
	Default            bool     `xml:"default,attr"`
	ID                 string   `xml:"id"`
	PlanName           string   `xml:"name"`
	Type               string   `xml:"type"`
	State              string   `xml:"state"`
	ServiceID          string   `xml:"service_id"`
	EndUserRequired    string   `xml:"end_user_required"`
	ApprovalRequired   string   `xml:"approval_required"`
	SetupFee           string   `xml:"setup_fee"`
	CostPerMonth       string   `xml:"cost_per_month"`
	TrialPeriodDays    string   `xml:"trial_period_days"`
	CancellationPeriod string   `xml:"cancellation_period"`
	Error              string   `xml:"error,omitempty"`
}

Plan - API response for create application plan endpoint Deprecated. Use ApplicationPlanItem instead

type PoliciesConfigList

type PoliciesConfigList struct {
	Policies []PolicyConfig `json:"policies_config"`
}

PoliciesConfigList - Holds a list of policy configs serialized/Unserialized in json format

type PolicyChain

type PolicyChain struct {
	Name          string        `json:"name"`
	Version       string        `json:"version"`
	Configuration Configuration `json:"configuration"`
}

type PolicyConfig

type PolicyConfig struct {
	// Name defines the policy unique name
	Name string `json:"name"`

	// Version defines the policy version
	Version string `json:"version"`

	// Configuration defines the policy configuration
	Configuration map[string]interface{} `json:"configuration"`

	// Version defines the policy version
	Enabled bool `json:"enabled"`
}

PolicyConfig defines policy definition

type Product

type Product struct {
	Element ProductItem `json:"service"`
}

type ProductItem

type ProductItem struct {
	ID                        int64  `json:"id"`
	Name                      string `json:"name"`
	Description               string `json:"description"`
	DeploymentOption          string `json:"deployment_option"`
	State                     string `json:"state"`
	SystemName                string `json:"system_name"`
	BackendVersion            string `json:"backend_version"`
	SupportEmail              string `json:"support_email"`
	CreatedAt                 string `json:"created_at"`
	UpdatedAt                 string `json:"updated_at"`
	IntentionsRequired        bool   `json:"intentions_required"`
	BuyersManageApps          bool   `json:"buyers_manage_apps"`
	BuyersManageKeys          bool   `json:"buyers_manage_keys"`
	ReferrerFiltersRequired   bool   `json:"referrer_filters_required"`
	CustomKeysEnabled         bool   `json:"custom_keys_enabled"`
	BuyerKeyRegenerateEnabled bool   `json:"buyer_key_regenerate_enabled"`
	MandatoryAppKey           bool   `json:"mandatory_app_key"`
	BuyerCanSelectPlan        bool   `json:"buyer_can_select_plan"`
	BuyerPlanChangePermission string `json:"buyer_plan_change_permission"`
}

type ProductList

type ProductList struct {
	Products []Product `json:"services"`
}

type Proxy

type Proxy struct {
	XMLName                 xml.Name `xml:"proxy"`
	ServiceID               string   `xml:"service_id"`
	Endpoint                string   `xml:"endpoint"`
	ApiBackend              string   `xml:"api_backend"`
	CredentialsLocation     string   `xml:"credentials_location"`
	AuthAppKey              string   `xml:"auth_app_key"`
	AuthAppID               string   `xml:"auth_app_id"`
	AuthUserKey             string   `xml:"auth_user_key"`
	ErrorAuthFailed         string   `xml:"error_auth_failed"`
	ErrorAuthMissing        string   `xml:"error_auth_missing"`
	ErrorStatusAuthFailed   string   `xml:"error_status_auth_failed"`
	ErrorHeadersAuthFailed  string   `xml:"error_headers_auth_failed"`
	ErrorStatusAuthMissing  string   `xml:"error_status_auth_missing"`
	ErrorHeadersAuthMissing string   `xml:"error_headers_auth_missing"`
	ErrorNoMatch            string   `xml:"error_no_match"`
	ErrorStatusNoMatch      string   `xml:"error_status_no_match"`
	ErrorHeadersNoMatch     string   `xml:"error_headers_no_match"`
	SecretToken             string   `xml:"secret_token"`
	HostnameRewrite         string   `xml:"hostname_rewrite"`
	SandboxEndpoint         string   `xml:"sandbox_endpoint"`
	ApiTestPath             string   `xml:"api_test_path"`
	PoliciesConfig          string   `xml:"policies_config"`
	CreatedAt               string   `xml:"created_at"`
	UpdatedAt               string   `xml:"updated_at"`
	LockVersion             string   `xml:"lock_version"`
	OidcIssuerEndpoint      string   `xml:"oidc_issuer_endpoint"`
}

Deprecated. Use ProxyItem instead

type ProxyConfig

type ProxyConfig struct {
	ID          int     `json:"id"`
	Version     int     `json:"version"`
	Environment string  `json:"environment"`
	Content     Content `json:"content"`
}

type ProxyConfigElement

type ProxyConfigElement struct {
	ProxyConfig ProxyConfig `json:"proxy_config"`
}

type ProxyConfigList

type ProxyConfigList struct {
	ProxyConfigs []ProxyConfigElement `json:"proxy_configs"`
}

type ProxyItem

type ProxyItem struct {
	ServiceID                  int64  `json:"service_id"`
	Endpoint                   string `json:"endpoint"`
	ApiBackend                 string `json:"api_backend"`
	CredentialsLocation        string `json:"credentials_location"`
	AuthAppKey                 string `json:"auth_app_key"`
	AuthAppID                  string `json:"auth_app_id"`
	AuthUserKey                string `json:"auth_user_key"`
	ErrorAuthFailed            string `json:"error_auth_failed"`
	ErrorAuthMissing           string `json:"error_auth_missing"`
	ErrorStatusAuthFailed      int    `json:"error_status_auth_failed"`
	ErrorHeadersAuthFailed     string `json:"error_headers_auth_failed"`
	ErrorStatusAuthMissing     int    `json:"error_status_auth_missing"`
	ErrorHeadersAuthMissing    string `json:"error_headers_auth_missing"`
	ErrorNoMatch               string `json:"error_no_match"`
	ErrorStatusNoMatch         int    `json:"error_status_no_match"`
	ErrorHeadersNoMatch        string `json:"error_headers_no_match"`
	ErrorLimitsExceeded        string `json:"error_limits_exceeded"`
	ErrorStatusLimitsExceeded  int    `json:"error_status_limits_exceeded"`
	ErrorHeadersLimitsExceeded string `json:"error_headers_limits_exceeded"`
	SecretToken                string `json:"secret_token"`
	HostnameRewrite            string `json:"hostname_rewrite"`
	SandboxEndpoint            string `json:"sandbox_endpoint"`
	ApiTestPath                string `json:"api_test_path"`
	CreatedAt                  string `json:"created_at"`
	UpdatedAt                  string `json:"updated_at"`
	LockVersion                int    `json:"lock_version"`
	OidcIssuerEndpoint         string `json:"oidc_issuer_endpoint"`
	OidcIssuerType             string `json:"oidc_issuer_type,omitempty"`
	JwtClaimWithClientID       string `json:"jwt_claim_with_client_id,omitempty"`
	JwtClaimWithClientIDType   string `json:"jwt_claim_with_client_id_type,omitempty"`
}

type ProxyJSON

type ProxyJSON struct {
	Element ProxyItem `json:"proxy"`
}

type ProxyRule

type ProxyRule struct {
	ID                    int64         `json:"id"`
	ProxyID               int64         `json:"proxy_id"`
	HTTPMethod            string        `json:"http_method"`
	Pattern               string        `json:"pattern"`
	MetricID              int64         `json:"metric_id"`
	MetricSystemName      string        `json:"metric_system_name"`
	Delta                 int64         `json:"delta"`
	TenantID              int64         `json:"tenant_id"`
	CreatedAt             string        `json:"created_at"`
	UpdatedAt             string        `json:"updated_at"`
	RedirectURL           interface{}   `json:"redirect_url"`
	Parameters            []string      `json:"parameters"`
	QuerystringParameters Configuration `json:"querystring_parameters"`
	Position              int           `json:"position,omitempty"`
	Last                  bool          `json:"last,omitempty"`
}

type Service

type Service struct {
	ID                          string     `xml:"id"`
	AccountID                   string     `xml:"account_id"`
	Name                        string     `xml:"name"`
	Description                 string     `xml:"description"`
	DeploymentOption            string     `xml:"deployment_option"`
	State                       string     `xml:"state"`
	SystemName                  string     `xml:"system_name"`
	BackendVersion              string     `xml:"backend_version"`
	EndUserRegistrationRequired string     `xml:"end_user_registration_required"`
	Metrics                     MetricList `xml:"metrics"`
}

Deprecated use Product instead

type ServiceList

type ServiceList struct {
	XMLName  xml.Name  `xml:"services"`
	Services []Service `xml:"service"`
}

type Signup

type Signup struct {
	Account     Account     `json:"account"`
	AccessToken AccessToken `json:"access_token"`
}

type Tenant

type Tenant struct {
	Signup Signup `json:"signup"`
}

type ThreeScaleClient

type ThreeScaleClient struct {
	// contains filtered or unexported fields
}

ThreeScaleClient interacts with 3scale Service Management API

func NewThreeScale

func NewThreeScale(backEnd *AdminPortal, credential string, httpClient *http.Client) *ThreeScaleClient

Creates a ThreeScaleClient to communicate with Account Management API. If http Client is nil, the default http client will be used

func (*ThreeScaleClient) ActivateDeveloperUser

func (c *ThreeScaleClient) ActivateDeveloperUser(accountID, userID int64) (*DeveloperUser, error)

ActivateDeveloperUser activates user of a given account from pending state to active

func (*ThreeScaleClient) ActivateUser

func (c *ThreeScaleClient) ActivateUser(accountID, userID int64) error

ActivateUser activates user of a given account from pending state to active Deprecated: Use ActivateDeveloperUser instead

func (*ThreeScaleClient) ActiveDoc

func (c *ThreeScaleClient) ActiveDoc(id int64) (*ActiveDoc, error)

ActiveDoc Reads 3scale Activedoc

func (*ThreeScaleClient) ApplicationPlan

func (c *ThreeScaleClient) ApplicationPlan(productID, id int64) (*ApplicationPlan, error)

ApplicationPlan Read 3scale product application plan

func (*ThreeScaleClient) ApplicationPlanLimit

func (c *ThreeScaleClient) ApplicationPlanLimit(planID, metricID, limitID int64) (*ApplicationPlanLimit, error)

ApplicationPlanLimit Read 3scale application plan limit

func (*ThreeScaleClient) BackendApi

func (c *ThreeScaleClient) BackendApi(id int64) (*BackendApi, error)

BackendApi Read 3scale Backend

func (*ThreeScaleClient) BackendApiMethod

func (c *ThreeScaleClient) BackendApiMethod(backendapiID, hitsID, methodID int64) (*Method, error)

BackendApiMethod Read 3scale Backend method

func (*ThreeScaleClient) BackendApiMetric

func (c *ThreeScaleClient) BackendApiMetric(backendapiID, metricID int64) (*MetricJSON, error)

BackendApiMetric Read 3scale Backend metric

func (*ThreeScaleClient) BackendapiMappingRule

func (c *ThreeScaleClient) BackendapiMappingRule(backendapiID, mrID int64) (*MappingRuleJSON, error)

BackendapiMappingRule Read 3scale Backend mapping rule

func (*ThreeScaleClient) BackendapiUsage

func (c *ThreeScaleClient) BackendapiUsage(productID, backendUsageID int64) (*BackendAPIUsage, error)

BackendapiUsage Read 3scale Backend usage

func (*ThreeScaleClient) ChangeRoleToAdminDeveloperUser

func (c *ThreeScaleClient) ChangeRoleToAdminDeveloperUser(accountID, userID int64) (*DeveloperUser, error)

ChangeRoleToAdminDeveloperUser sets user of a given account to member role

func (*ThreeScaleClient) ChangeRoleToMemberDeveloperUser

func (c *ThreeScaleClient) ChangeRoleToMemberDeveloperUser(accountID, userID int64) (*DeveloperUser, error)

ChangeRoleToMemberDeveloperUser sets user of a given account to member role

func (*ThreeScaleClient) CreateAPIcastPolicy

func (c *ThreeScaleClient) CreateAPIcastPolicy(item *APIcastPolicy) (*APIcastPolicy, error)

CreateAPIcastPolicy Create 3scale apicast policy in the registry

func (*ThreeScaleClient) CreateActiveDoc

func (c *ThreeScaleClient) CreateActiveDoc(activeDoc *ActiveDoc) (*ActiveDoc, error)

CreateActiveDoc Create 3scale activedoc

func (*ThreeScaleClient) CreateApp

func (c *ThreeScaleClient) CreateApp(accountId string, planId string, name string, description string) (Application, error)

CreateApp - Create an application. The application object can be extended with Fields Definitions in the Admin Portal where you can add/remove fields

func (*ThreeScaleClient) CreateAppPlan

func (c *ThreeScaleClient) CreateAppPlan(svcId string, name string, stateEvent string) (Plan, error)

CreateAppPlan - Creates an application plan. Deprecated. Use CreateApplicationPlan instead

func (*ThreeScaleClient) CreateApplicationPlan

func (c *ThreeScaleClient) CreateApplicationPlan(productID int64, params Params) (*ApplicationPlan, error)

CreateApplicationPlan Create 3scale product application plan

func (*ThreeScaleClient) CreateApplicationPlanLimit

func (c *ThreeScaleClient) CreateApplicationPlanLimit(planID, metricID int64, params Params) (*ApplicationPlanLimit, error)

CreateApplicationPlanLimit Create 3scale application plan limit

func (*ThreeScaleClient) CreateApplicationPlanPricingRule

func (c *ThreeScaleClient) CreateApplicationPlanPricingRule(planID, metricID int64, params Params) (*ApplicationPlanPricingRule, error)

CreateApplicationPlanPricingRule Create 3scale application plan pricing rule

func (*ThreeScaleClient) CreateBackendApi

func (c *ThreeScaleClient) CreateBackendApi(params Params) (*BackendApi, error)

CreateBackendApi Create 3scale Backend

func (*ThreeScaleClient) CreateBackendApiMethod

func (c *ThreeScaleClient) CreateBackendApiMethod(backendapiID, hitsID int64, params Params) (*Method, error)

CreateBackendApiMethod Create 3scale Backend method

func (*ThreeScaleClient) CreateBackendApiMetric

func (c *ThreeScaleClient) CreateBackendApiMetric(backendapiID int64, params Params) (*MetricJSON, error)

CreateBackendApiMetric Create 3scale Backend metric

func (*ThreeScaleClient) CreateBackendapiMappingRule

func (c *ThreeScaleClient) CreateBackendapiMappingRule(backendapiID int64, params Params) (*MappingRuleJSON, error)

CreateBackendapiMappingRule Create 3scale Backend mappingrule

func (*ThreeScaleClient) CreateBackendapiUsage

func (c *ThreeScaleClient) CreateBackendapiUsage(productID int64, params Params) (*BackendAPIUsage, error)

CreateBackendapiUsage Create 3scale Backend usage

func (*ThreeScaleClient) CreateDeveloperUser

func (c *ThreeScaleClient) CreateDeveloperUser(accountID int64, user *DeveloperUser) (*DeveloperUser, error)

CreateDeveloperUser creates a new developer user username and email are unique fields for the entire provider account role attribute ["member", "admin"] cannot be set. All new developer users have member role state attribute ["pending", "active", "suspended"] cannot be set. All new developer users are in "pending" state

func (*ThreeScaleClient) CreateLimitAppPlan

func (c *ThreeScaleClient) CreateLimitAppPlan(appPlanId string, metricId string, period string, value int) (Limit, error)

CreateLimitAppPlan - Adds a limit to a metric of an application plan. All applications with the application plan (application_plan_id) will be constrained by this new limit on the metric (metric_id). Deprecated. Use CreateApplicationPlanLimit instead

func (*ThreeScaleClient) CreateLimitEndUserPlan

func (c *ThreeScaleClient) CreateLimitEndUserPlan(endUserPlanId string, metricId string, period string, value int) (Limit, error)

CreateLimitEndUserPlan - Adds a limit to a metric of an end user plan All applications with the application plan (end_user_plan_id) will be constrained by this new limit on the metric (metric_id). Deprecated. End User plans are deprecated

func (*ThreeScaleClient) CreateMappingRule

func (c *ThreeScaleClient) CreateMappingRule(
	svcId string, method string,
	pattern string, delta int, metricId string) (MappingRule, error)

CreateMappingRule - Create API for Mapping Rule endpoint

func (*ThreeScaleClient) CreateMetric

func (c *ThreeScaleClient) CreateMetric(svcId string, name string, description string, unit string) (Metric, error)

CreateMetric - Creates a metric on a service. All metrics are scoped by service.

func (*ThreeScaleClient) CreateProduct

func (c *ThreeScaleClient) CreateProduct(name string, params Params) (*Product, error)

CreateProduct Create 3scale Product

func (*ThreeScaleClient) CreateProductMappingRule

func (c *ThreeScaleClient) CreateProductMappingRule(productID int64, params Params) (*MappingRuleJSON, error)

CreateProductMappingRule Create 3scale product mappingrule

func (*ThreeScaleClient) CreateProductMethod

func (c *ThreeScaleClient) CreateProductMethod(productID, hitsID int64, params Params) (*Method, error)

CreateProductMethod Create 3scale product method

func (*ThreeScaleClient) CreateProductMetric

func (c *ThreeScaleClient) CreateProductMetric(productID int64, params Params) (*MetricJSON, error)

CreateProductMetric Create 3scale product metric

func (*ThreeScaleClient) CreateService

func (c *ThreeScaleClient) CreateService(name string) (Service, error)

func (*ThreeScaleClient) CreateTenant

func (c *ThreeScaleClient) CreateTenant(orgName, username, email, password string) (*Tenant, error)

CreateTenant creates new tenant using 3scale API

func (*ThreeScaleClient) DeleteAPIcastPolicy

func (c *ThreeScaleClient) DeleteAPIcastPolicy(id int64) error

DeleteAPIcastPolicy Delete existing apicast policy in the registry

func (*ThreeScaleClient) DeleteActiveDoc

func (c *ThreeScaleClient) DeleteActiveDoc(id int64) error

DeleteActiveDoc Delete existing activedoc

func (*ThreeScaleClient) DeleteAppPlan

func (c *ThreeScaleClient) DeleteAppPlan(svcId string, appPlanId string) error

DeleteAppPlan - Deletes an application plan Deprecated. Use DeleteApplicationPlan instead

func (*ThreeScaleClient) DeleteApplication

func (c *ThreeScaleClient) DeleteApplication(id int64) error

DeleteApplication Delete existing application

func (*ThreeScaleClient) DeleteApplicationPlan

func (c *ThreeScaleClient) DeleteApplicationPlan(productID, id int64) error

DeleteApplicationPlan Delete 3scale product plan

func (*ThreeScaleClient) DeleteApplicationPlanLimit

func (c *ThreeScaleClient) DeleteApplicationPlanLimit(planID, metricID, limitID int64) error

DeleteApplicationPlanLimit Delete 3scale application plan limit

func (*ThreeScaleClient) DeleteApplicationPlanPricingRule

func (c *ThreeScaleClient) DeleteApplicationPlanPricingRule(planID, metricID, ruleID int64) error

DeleteApplicationPlanPricingRule Delete 3scale application plan pricing rule

func (*ThreeScaleClient) DeleteBackendApi

func (c *ThreeScaleClient) DeleteBackendApi(id int64) error

DeleteBackendApi Delete existing backend

func (*ThreeScaleClient) DeleteBackendApiMethod

func (c *ThreeScaleClient) DeleteBackendApiMethod(backendapiID, hitsID, methodID int64) error

DeleteBackendApiMethod Delete 3scale Backend method

func (*ThreeScaleClient) DeleteBackendApiMetric

func (c *ThreeScaleClient) DeleteBackendApiMetric(backendapiID, metricID int64) error

DeleteBackendApiMetric Delete 3scale Backend metric

func (*ThreeScaleClient) DeleteBackendapiMappingRule

func (c *ThreeScaleClient) DeleteBackendapiMappingRule(backendapiID, mrID int64) error

DeleteBackendapiMappingRule Delete 3scale Backend mapping rule

func (*ThreeScaleClient) DeleteBackendapiUsage

func (c *ThreeScaleClient) DeleteBackendapiUsage(productID, backendUsageID int64) error

DeleteBackendapiUsage Delete 3scale Backend usage

func (*ThreeScaleClient) DeleteDeveloperAccount

func (c *ThreeScaleClient) DeleteDeveloperAccount(id int64) error

DeleteDeveloperAccount Delete existing developerAccount

func (*ThreeScaleClient) DeleteDeveloperUser

func (c *ThreeScaleClient) DeleteDeveloperUser(accountID, userID int64) error

DeleteDeveloperUser Delete existing developerUser

func (*ThreeScaleClient) DeleteLimitPerAppPlan

func (c *ThreeScaleClient) DeleteLimitPerAppPlan(appPlanId string, metricId string, limitId string) error

DeleteLimitPerAppPlan - Deletes a limit on a metric of an application plan Deprecated. Use DeleteApplicationPlanLimit instead

func (*ThreeScaleClient) DeleteLimitPerEndUserPlan

func (c *ThreeScaleClient) DeleteLimitPerEndUserPlan(userPlanId string, metricId string, limitId string) error

DeleteLimitPerEndUserPlan - Deletes a limit on a metric of an end user plan Deprecated. End User plans are deprecated

func (*ThreeScaleClient) DeleteMappingRule

func (c *ThreeScaleClient) DeleteMappingRule(svcId string, id string) error

DeleteMappingRule - Deletes a Proxy Mapping Rule. The proxy object must be updated after a mapping rule deletion to apply the change to proxy config

func (*ThreeScaleClient) DeleteMetric

func (c *ThreeScaleClient) DeleteMetric(svcId string, id string) error

DeleteMetric - Deletes the metric of a service. When a metric is deleted, the associated limits across application plans are removed

func (*ThreeScaleClient) DeleteProduct

func (c *ThreeScaleClient) DeleteProduct(id int64) error

DeleteProduct Delete existing product

func (*ThreeScaleClient) DeleteProductMappingRule

func (c *ThreeScaleClient) DeleteProductMappingRule(productID, itemID int64) error

DeleteProductMappingRule Delete 3scale product mappingrule

func (*ThreeScaleClient) DeleteProductMethod

func (c *ThreeScaleClient) DeleteProductMethod(productID, hitsID, methodID int64) error

DeleteProductMethod Delete 3scale product method

func (*ThreeScaleClient) DeleteProductMetric

func (c *ThreeScaleClient) DeleteProductMetric(productID, metricID int64) error

DeleteProductMetric Delete 3scale product metric

func (*ThreeScaleClient) DeleteService

func (c *ThreeScaleClient) DeleteService(id string) error

DeleteService - Delete the service. Deleting a service removes all applications and service subscriptions.

func (*ThreeScaleClient) DeleteTenant

func (c *ThreeScaleClient) DeleteTenant(tenantID int64) error

DeleteTenant - Schedules a tenant account to be permanently deleted in X days (check Porta doc)

func (*ThreeScaleClient) DeployProductProxy

func (c *ThreeScaleClient) DeployProductProxy(productID int64) (*ProxyJSON, error)

ProductProxyDeploy Promotes proxy configuration to staging

func (*ThreeScaleClient) DeveloperAccount

func (c *ThreeScaleClient) DeveloperAccount(accountID int64) (*DeveloperAccount, error)

Account fetches 3scale developer account

func (*ThreeScaleClient) DeveloperUser

func (c *ThreeScaleClient) DeveloperUser(accountID, userID int64) (*DeveloperUser, error)

func (*ThreeScaleClient) GetLatestProxyConfig

func (c *ThreeScaleClient) GetLatestProxyConfig(svcId string, env string) (ProxyConfigElement, error)

GetLatestProxyConfig - Returns the latest Proxy Config Supports invoking client callback upon response from 3scale

func (*ThreeScaleClient) GetProxyConfig

func (c *ThreeScaleClient) GetProxyConfig(svcId string, env string, version string) (ProxyConfigElement, error)

GetProxyConfig - Returns the Proxy Configs of a Service Supports invoking client callback upon response from 3scale

func (*ThreeScaleClient) ListAPIcastPolicies

func (c *ThreeScaleClient) ListAPIcastPolicies() (*APIcastPolicyRegistry, error)

ListAPIcastPolicies List existing apicast policies in the registry for the client provider account

func (*ThreeScaleClient) ListAccounts deprecated

func (c *ThreeScaleClient) ListAccounts() (*AccountList, error)

Deprecated: Use ListDeveloperAccounts instead

func (*ThreeScaleClient) ListActiveDocs

func (c *ThreeScaleClient) ListActiveDocs() (*ActiveDocList, error)

ListActiveDocs List existing activedocs for the client provider account

func (*ThreeScaleClient) ListAppPlan

func (c *ThreeScaleClient) ListAppPlan() (ApplicationPlansList, error)

ListAppPlan - List all application plans

func (*ThreeScaleClient) ListAppPlanByServiceId

func (c *ThreeScaleClient) ListAppPlanByServiceId(svcId string) (ApplicationPlansList, error)

ListAppPlanByServiceId - Lists all application plans, filtering on service id Deprecated. Use ListApplicationPlansByProduct instead

func (*ThreeScaleClient) ListApplicationPlansByProduct

func (c *ThreeScaleClient) ListApplicationPlansByProduct(productID int64) (*ApplicationPlanJSONList, error)

ListApplicationPlansByProduct List existing application plans for a given product

func (*ThreeScaleClient) ListApplicationPlansLimits

func (c *ThreeScaleClient) ListApplicationPlansLimits(planID int64) (*ApplicationPlanLimitList, error)

ListApplicationPlansLimits List existing application plan limits for a given application plan

func (*ThreeScaleClient) ListApplicationPlansPricingRules

func (c *ThreeScaleClient) ListApplicationPlansPricingRules(planID int64) (*ApplicationPlanPricingRuleList, error)

ListApplicationPlansPricingRules List existing application plans pricing rules for a given application plan

func (*ThreeScaleClient) ListApplications

func (c *ThreeScaleClient) ListApplications(accountID int64) (*ApplicationList, error)

ListApplications - List of applications for a given account.

func (*ThreeScaleClient) ListBackendApis

func (c *ThreeScaleClient) ListBackendApis() (*BackendApiList, error)

ListBackends List existing backends

func (*ThreeScaleClient) ListBackendapiMappingRules

func (c *ThreeScaleClient) ListBackendapiMappingRules(backendapiID int64) (*MappingRuleJSONList, error)

ListBackendapiMappingRules List existing backend mapping rules

func (*ThreeScaleClient) ListBackendapiMethods

func (c *ThreeScaleClient) ListBackendapiMethods(backendapiID, hitsID int64) (*MethodList, error)

ListBackendapiMethods List existing backend methods

func (*ThreeScaleClient) ListBackendapiMetrics

func (c *ThreeScaleClient) ListBackendapiMetrics(backendapiID int64) (*MetricJSONList, error)

ListBackendapiMetrics List existing backend metric

func (*ThreeScaleClient) ListBackendapiUsages

func (c *ThreeScaleClient) ListBackendapiUsages(productID int64) (BackendAPIUsageList, error)

ListBackendapiUsages List existing backend usages for a given product

func (*ThreeScaleClient) ListDeveloperAccounts

func (c *ThreeScaleClient) ListDeveloperAccounts() (*DeveloperAccountList, error)

func (*ThreeScaleClient) ListDeveloperUsers

func (c *ThreeScaleClient) ListDeveloperUsers(accountID int64, filterParams Params) (*DeveloperUserList, error)

func (*ThreeScaleClient) ListLimitsPerAppPlan

func (c *ThreeScaleClient) ListLimitsPerAppPlan(appPlanId string) (LimitList, error)

ListLimitsPerAppPlan - Returns the list of all limits associated to an application plan. Deprecated. Use ListApplicationPlansLimits instead

func (*ThreeScaleClient) ListLimitsPerEndUserPlan

func (c *ThreeScaleClient) ListLimitsPerEndUserPlan(endUserPlanId string, metricId string) (LimitList, error)

ListLimitsPerEndUserPlan - Returns the list of all limits associated to an end user plan. Deprecated. End User plans are deprecated

func (*ThreeScaleClient) ListLimitsPerMetric

func (c *ThreeScaleClient) ListLimitsPerMetric(appPlanId string, metricId string) (LimitList, error)

ListLimitsPerMetric - Returns the list of all limits associated to a metric of an application plan

func (*ThreeScaleClient) ListMappingRule

func (c *ThreeScaleClient) ListMappingRule(svcId string) (MappingRuleList, error)

ListMappingRule - List API for Mapping Rule endpoint

func (*ThreeScaleClient) ListMetrics

func (c *ThreeScaleClient) ListMetrics(svcId string) (MetricList, error)

ListMetric - Returns the list of metrics of a service

func (*ThreeScaleClient) ListProductMappingRules

func (c *ThreeScaleClient) ListProductMappingRules(productID int64) (*MappingRuleJSONList, error)

ListProductMappingRules List existing product mappingrules

func (*ThreeScaleClient) ListProductMethods

func (c *ThreeScaleClient) ListProductMethods(productID, hitsID int64) (*MethodList, error)

ListProductMethods List existing product methods

func (*ThreeScaleClient) ListProductMetrics

func (c *ThreeScaleClient) ListProductMetrics(productID int64) (*MetricJSONList, error)

ListProductMetrics List existing product metrics

func (*ThreeScaleClient) ListProducts

func (c *ThreeScaleClient) ListProducts() (*ProductList, error)

ListProducts List existing products

func (*ThreeScaleClient) ListProxyConfig

func (c *ThreeScaleClient) ListProxyConfig(svcId string, env string) (ProxyConfigList, error)

ListProxyConfig - Returns the Proxy Configs of a Service env parameter should be one of 'sandbox', 'production'

func (*ThreeScaleClient) ListServices

func (c *ThreeScaleClient) ListServices() (ServiceList, error)

func (*ThreeScaleClient) ListUsers

func (c *ThreeScaleClient) ListUsers(accountID int64, filterParams Params) (*UserList, error)

ListUser list users of a given account and a given filter params Deprecated: Use ListDeveloperAccounts instead

func (*ThreeScaleClient) OIDCConfiguration

func (c *ThreeScaleClient) OIDCConfiguration(productID int64) (*OIDCConfiguration, error)

OIDCConfiguration fetches 3scale product oidc configuration

func (*ThreeScaleClient) Policies

func (c *ThreeScaleClient) Policies(productID int64) (*PoliciesConfigList, error)

Policies fetches 3scale product policy chain

func (*ThreeScaleClient) Product

func (c *ThreeScaleClient) Product(id int64) (*Product, error)

BackendApi Read 3scale Backend

func (*ThreeScaleClient) ProductMappingRule

func (c *ThreeScaleClient) ProductMappingRule(productID, itemID int64) (*MappingRuleJSON, error)

ProductMappingRule Read 3scale product mappingrule

func (*ThreeScaleClient) ProductMethod

func (c *ThreeScaleClient) ProductMethod(productID, hitsID, methodID int64) (*Method, error)

ProductMethod Read 3scale product method

func (*ThreeScaleClient) ProductMetric

func (c *ThreeScaleClient) ProductMetric(productID, metricID int64) (*MetricJSON, error)

ProductMetric Read 3scale product metric

func (*ThreeScaleClient) ProductProxy

func (c *ThreeScaleClient) ProductProxy(productID int64) (*ProxyJSON, error)

ProductProxy Read 3scale product proxy

func (*ThreeScaleClient) PromoteProxyConfig

func (c *ThreeScaleClient) PromoteProxyConfig(svcId string, env string, version string, toEnv string) (ProxyConfigElement, error)

PromoteProxyConfig - Promotes a Proxy Config from one environment to another environment.

func (*ThreeScaleClient) ReadAPIcastPolicy

func (c *ThreeScaleClient) ReadAPIcastPolicy(id int64) (*APIcastPolicy, error)

ReadAPIcastPolicy Reads 3scale apicast policy from registry

func (*ThreeScaleClient) ReadProxy

func (c *ThreeScaleClient) ReadProxy(svcID string) (Proxy, error)

ReadProxy - Returns the Proxy for a specific Service. Deprecated - Use ProductProxy function instead

func (*ThreeScaleClient) ReadUser

func (c *ThreeScaleClient) ReadUser(accountID, userID int64) (*User, error)

ReadUser reads user of a given account Deprecated: Use DeveloperUser instead

func (*ThreeScaleClient) SetCredentials

func (c *ThreeScaleClient) SetCredentials(credential string)

SetCredentials allow the user to set the client credentials

func (*ThreeScaleClient) SetDefaultPlan

func (c *ThreeScaleClient) SetDefaultPlan(svcId string, id string) (Plan, error)

SetDefaultPlan - Makes the application plan the default one

func (*ThreeScaleClient) SetHook

func (c *ThreeScaleClient) SetHook(cb AfterResponseCB)

SetHook sets the callback which gets invoked upon response from 3scale Note, this is not supported by all endpoints, refer to endpoints documentation

func (*ThreeScaleClient) ShowTenant

func (c *ThreeScaleClient) ShowTenant(tenantID int64) (*Tenant, error)

ShowTenant - Returns tenant info for the specified ID

func (*ThreeScaleClient) Signup

func (c *ThreeScaleClient) Signup(params Params) (*DeveloperAccount, error)

Signup will create an Account, an Admin User for the account, and optionally an Application with its keys. If the plan_id is not passed, the default plan will be used instead.

func (*ThreeScaleClient) SuspendDeveloperUser

func (c *ThreeScaleClient) SuspendDeveloperUser(accountID, userID int64) (*DeveloperUser, error)

SuspendDeveloperUser suspends the user of a given account

func (*ThreeScaleClient) UnbindActiveDocFromProduct

func (c *ThreeScaleClient) UnbindActiveDocFromProduct(id int64) (*ActiveDoc, error)

UnbindActiveDocFromProduct removes product relationship from activedoc object

func (*ThreeScaleClient) UnsuspendDeveloperUser

func (c *ThreeScaleClient) UnsuspendDeveloperUser(accountID, userID int64) (*DeveloperUser, error)

UnsuspendDeveloperUser unsuspends the user of a given account

func (*ThreeScaleClient) UpdateAPIcastPolicy

func (c *ThreeScaleClient) UpdateAPIcastPolicy(item *APIcastPolicy) (*APIcastPolicy, error)

UpdateAPIcastPolicy Update existing apicast policy in the registry

func (*ThreeScaleClient) UpdateActiveDoc

func (c *ThreeScaleClient) UpdateActiveDoc(activeDoc *ActiveDoc) (*ActiveDoc, error)

UpdateActiveDoc Update existing activedoc

func (*ThreeScaleClient) UpdateAppPlan

func (c *ThreeScaleClient) UpdateAppPlan(svcId string, appPlanId string, name string, stateEvent string, params Params) (Plan, error)

UpdateAppPlan - Updates an application plan Deprecated. Use UpdateApplicationPlan instead

func (*ThreeScaleClient) UpdateApplicationPlan

func (c *ThreeScaleClient) UpdateApplicationPlan(productID, id int64, params Params) (*ApplicationPlan, error)

UpdateApplicationPlan Update 3scale product application plan

func (*ThreeScaleClient) UpdateApplicationPlanLimit

func (c *ThreeScaleClient) UpdateApplicationPlanLimit(planID, metricID, limitID int64, params Params) (*ApplicationPlanLimit, error)

UpdateApplicationPlanLimit Update 3scale application plan limit

func (*ThreeScaleClient) UpdateBackendApi

func (c *ThreeScaleClient) UpdateBackendApi(id int64, params Params) (*BackendApi, error)

UpdateBackendApi Update 3scale Backend

func (*ThreeScaleClient) UpdateBackendApiMethod

func (c *ThreeScaleClient) UpdateBackendApiMethod(backendapiID, hitsID, methodID int64, params Params) (*Method, error)

UpdateBackendApiMethod Update 3scale Backend method

func (*ThreeScaleClient) UpdateBackendApiMetric

func (c *ThreeScaleClient) UpdateBackendApiMetric(backendapiID, metricID int64, params Params) (*MetricJSON, error)

UpdateBackendApiMetric Update 3scale Backend metric

func (*ThreeScaleClient) UpdateBackendapiMappingRule

func (c *ThreeScaleClient) UpdateBackendapiMappingRule(backendapiID, mrID int64, params Params) (*MappingRuleJSON, error)

UpdateBackendapiMappingRule Update 3scale Backend mapping rule

func (*ThreeScaleClient) UpdateBackendapiUsage

func (c *ThreeScaleClient) UpdateBackendapiUsage(productID, backendUsageID int64, params Params) (*BackendAPIUsage, error)

UpdateBackendapiUsage Update 3scale Backend usage

func (*ThreeScaleClient) UpdateDeveloperAccount

func (c *ThreeScaleClient) UpdateDeveloperAccount(account *DeveloperAccount) (*DeveloperAccount, error)

UpdateDeveloperAccount Update existing developer account

func (*ThreeScaleClient) UpdateDeveloperUser

func (c *ThreeScaleClient) UpdateDeveloperUser(accountID int64, user *DeveloperUser) (*DeveloperUser, error)

UpdateDeveloperUser Update existing developer user

func (*ThreeScaleClient) UpdateLimitPerAppPlan

func (c *ThreeScaleClient) UpdateLimitPerAppPlan(appPlanId string, metricId string, limitId string, p Params) (Limit, error)

UpdateLimitsPerPlan - Updates a limit on a metric of an end user plan Valid params keys and their purpose are as follows: "period" - Period of the limit "value" - Value of the limit Deprecated. Use UpdateApplicationPlanLimit instead

func (*ThreeScaleClient) UpdateLimitPerEndUserPlan

func (c *ThreeScaleClient) UpdateLimitPerEndUserPlan(userPlanId string, metricId string, limitId string, p Params) (Limit, error)

UpdateLimitsPerMetric - Updates a limit on a metric of an application plan Valid params keys and their purpose are as follows: "period" - Period of the limit "value" - Value of the limit Deprecated. End User plans are deprecated

func (*ThreeScaleClient) UpdateMappingRule

func (c *ThreeScaleClient) UpdateMappingRule(svcId string, id string, params Params) (MappingRule, error)

UpdateMetric - Updates a Proxy Mapping Rule The proxy object must be updated after a mapping rule update to apply the change to proxy config Valid params keys and their purpose are as follows: "http_method" - HTTP method "pattern" - Mapping Rule pattern "delta" - Increase the metric by this delta "metric_id" - The metric ID

func (*ThreeScaleClient) UpdateMetric

func (c *ThreeScaleClient) UpdateMetric(svcId string, id string, params Params) (Metric, error)

UpdateMetric - Updates the metric of a service. Valid params keys and their purpose are as follows: "friendly_name" - Name of the metric. "unit" - Measure unit of the metric. "description" - Description of the metric.

func (*ThreeScaleClient) UpdateOIDCConfiguration

func (c *ThreeScaleClient) UpdateOIDCConfiguration(productID int64, oidcConf *OIDCConfiguration) (*OIDCConfiguration, error)

UpdateOIDCConfiguration Update 3scale product oidc configuration

func (*ThreeScaleClient) UpdatePolicies

func (c *ThreeScaleClient) UpdatePolicies(productID int64, policies *PoliciesConfigList) (*PoliciesConfigList, error)

UpdatePolicies Update 3scale product policy chain

func (*ThreeScaleClient) UpdateProduct

func (c *ThreeScaleClient) UpdateProduct(id int64, params Params) (*Product, error)

UpdateProduct Update existing product

func (*ThreeScaleClient) UpdateProductMappingRule

func (c *ThreeScaleClient) UpdateProductMappingRule(productID, itemID int64, params Params) (*MappingRuleJSON, error)

UpdateProductMappingRule Update 3scale product mappingrule

func (*ThreeScaleClient) UpdateProductMethod

func (c *ThreeScaleClient) UpdateProductMethod(productID, hitsID, methodID int64, params Params) (*Method, error)

UpdateProductMethod Update 3scale product method

func (*ThreeScaleClient) UpdateProductMetric

func (c *ThreeScaleClient) UpdateProductMetric(productID, metricID int64, params Params) (*MetricJSON, error)

UpdateProductMetric Update 3scale product metric

func (*ThreeScaleClient) UpdateProductProxy

func (c *ThreeScaleClient) UpdateProductProxy(productID int64, params Params) (*ProxyJSON, error)

UpdateProductProxy Update 3scale product mappingrule

func (*ThreeScaleClient) UpdateProxy

func (c *ThreeScaleClient) UpdateProxy(svcId string, params Params) (Proxy, error)

UpdateProxy - Changes the Proxy settings. This will create a new APIcast configuration version for the Staging environment with the updated settings.

func (*ThreeScaleClient) UpdateService

func (c *ThreeScaleClient) UpdateService(id string, params Params) (Service, error)

UpdateService - Update the service. Valid params keys and their purpose are as follows: "name" - Name of the service. "description" - Description of the service "support_email" - New support email. "tech_support_email" - New tech support email. "admin_support_email" - New admin support email. "deployment_option" - Deployment option for the gateway: 'hosted' for APIcast hosted, 'self-managed' for APIcast Self-managed option "backend_version" - Authentication mode: '1' for API key, '2' for App Id / App Key, 'oauth' for OAuth mode, 'oidc' for OpenID Connect

func (*ThreeScaleClient) UpdateTenant

func (c *ThreeScaleClient) UpdateTenant(tenantID int64, params Params) (*Tenant, error)

UpdateTenant - Updates tenant info for the specified ID

func (*ThreeScaleClient) UpdateUser

func (c *ThreeScaleClient) UpdateUser(accountID int64, userID int64, userParams Params) (*User, error)

UpdateUser updates user of a given account Deprecated: Use UpdateDeveloperUser instead

type User deprecated

type User struct {
	ID        int64  `json:"id"`
	State     string `json:"state"`
	UserName  string `json:"username"`
	Email     string `json:"email"`
	AccountID int64  `json:"account_id"`
}

Deprecated: Use DeveloperUser instead

type UserElem deprecated

type UserElem struct {
	User User `json:"user"`
}

Deprecated: Use DeveloperUserItem instead

type UserList deprecated

type UserList struct {
	Users []UserElem `json:"users"`
}

Deprecated: Use DeveloperUser instead

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL