client

package
Version: v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Mar 31, 2022 License: Apache-2.0 Imports: 13 Imported by: 11

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsBadRequest added in v0.0.3

func IsBadRequest(err error) bool

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

func IsForbidden added in v0.0.3

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 added in v0.0.3

func IsNotFound(err error) bool

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

func IsUnauthorized added in v0.0.3

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 added in v0.4.0

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

type APIcastPolicyItem added in v0.4.0

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 added in v0.4.0

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

type APIcastPolicySchema added in v0.4.0

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 added in v0.0.3

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 added in v0.0.3

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 added in v0.0.3

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

type AccountList added in v0.0.3

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

type ActiveDoc added in v0.3.0

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

type ActiveDocItem added in v0.3.0

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 added in v0.3.0

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 added in v0.1.0

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

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

type AfterResponseCB added in v0.0.5

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 added in v0.0.2

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

func (ApiErr) Code added in v0.0.2

func (e ApiErr) Code() int

func (ApiErr) Error added in v0.0.2

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 added in v0.0.3

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

ApplicationElem - Holds a intenal application element

type ApplicationList added in v0.0.3

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

ApplicationList - Holds a list of applications

type ApplicationPlan added in v0.0.4

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

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

type ApplicationPlanItem added in v0.0.4

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 added in v0.0.4

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

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

type ApplicationPlanLimit added in v0.0.4

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

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

type ApplicationPlanLimitItem added in v0.0.4

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 added in v0.0.4

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

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

type ApplicationPlanPricingRule added in v0.0.4

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

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

type ApplicationPlanPricingRuleItem added in v0.0.4

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 added in v0.0.4

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 added in v0.0.4

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

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

type BackendAPIUsageItem added in v0.0.4

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 added in v0.0.4

type BackendAPIUsageList []BackendAPIUsage

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

type BackendApi added in v0.0.4

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

type BackendApiItem added in v0.0.4

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 added in v0.0.4

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

type BillingAddressSpec added in v0.5.0

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 added in v0.5.0

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

type DeveloperAccountItem added in v0.5.0

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 added in v0.5.0

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

type DeveloperUser added in v0.5.0

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

type DeveloperUserItem added in v0.5.0

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 added in v0.5.0

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 added in v0.0.4

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 added in v0.0.4

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

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

type MappingRuleJSONList added in v0.0.4

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 added in v0.0.4

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

type MethodItem added in v0.0.4

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 added in v0.0.4

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 added in v0.0.4

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 added in v0.0.4

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

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

type MetricJSONList added in v0.0.4

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 added in v0.2.0

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

OIDCConfiguration - Holds an OIDC configuration object

type OIDCConfigurationItem added in v0.2.0

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 added in v0.1.0

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 added in v0.1.0

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 added in v0.0.4

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

type ProductItem added in v0.0.4

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 added in v0.0.4

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 added in v0.0.4

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 added in v0.0.4

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 added in v0.0.3

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

type Tenant added in v0.0.3

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 added in v0.5.0

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

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

func (*ThreeScaleClient) ActivateUser added in v0.0.3

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 added in v0.3.0

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

ActiveDoc Reads 3scale Activedoc

func (*ThreeScaleClient) ApplicationPlan added in v0.0.4

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

ApplicationPlan Read 3scale product application plan

func (*ThreeScaleClient) ApplicationPlanLimit added in v0.0.4

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

ApplicationPlanLimit Read 3scale application plan limit

func (*ThreeScaleClient) BackendApi added in v0.0.4

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

BackendApi Read 3scale Backend

func (*ThreeScaleClient) BackendApiMethod added in v0.0.4

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

BackendApiMethod Read 3scale Backend method

func (*ThreeScaleClient) BackendApiMetric added in v0.0.4

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

BackendApiMetric Read 3scale Backend metric

func (*ThreeScaleClient) BackendapiMappingRule added in v0.0.4

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

BackendapiMappingRule Read 3scale Backend mapping rule

func (*ThreeScaleClient) BackendapiUsage added in v0.0.4

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

BackendapiUsage Read 3scale Backend usage

func (*ThreeScaleClient) ChangeRoleToAdminDeveloperUser added in v0.5.0

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

ChangeRoleToAdminDeveloperUser sets user of a given account to member role

func (*ThreeScaleClient) ChangeRoleToMemberDeveloperUser added in v0.5.0

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

ChangeRoleToMemberDeveloperUser sets user of a given account to member role

func (*ThreeScaleClient) CreateAPIcastPolicy added in v0.4.0

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

CreateAPIcastPolicy Create 3scale apicast policy in the registry

func (*ThreeScaleClient) CreateActiveDoc added in v0.3.0

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 added in v0.0.4

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

CreateApplicationPlan Create 3scale product application plan

func (*ThreeScaleClient) CreateApplicationPlanLimit added in v0.0.4

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

CreateApplicationPlanLimit Create 3scale application plan limit

func (*ThreeScaleClient) CreateApplicationPlanPricingRule added in v0.0.4

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

CreateApplicationPlanPricingRule Create 3scale application plan pricing rule

func (*ThreeScaleClient) CreateBackendApi added in v0.0.4

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

CreateBackendApi Create 3scale Backend

func (*ThreeScaleClient) CreateBackendApiMethod added in v0.0.4

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

CreateBackendApiMethod Create 3scale Backend method

func (*ThreeScaleClient) CreateBackendApiMetric added in v0.0.4

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

CreateBackendApiMetric Create 3scale Backend metric

func (*ThreeScaleClient) CreateBackendapiMappingRule added in v0.0.4

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

CreateBackendapiMappingRule Create 3scale Backend mappingrule

func (*ThreeScaleClient) CreateBackendapiUsage added in v0.0.4

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

CreateBackendapiUsage Create 3scale Backend usage

func (*ThreeScaleClient) CreateDeveloperUser added in v0.5.0

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 added in v0.0.4

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

CreateProduct Create 3scale Product

func (*ThreeScaleClient) CreateProductMappingRule added in v0.0.4

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

CreateProductMappingRule Create 3scale product mappingrule

func (*ThreeScaleClient) CreateProductMethod added in v0.0.4

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

CreateProductMethod Create 3scale product method

func (*ThreeScaleClient) CreateProductMetric added in v0.0.4

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 added in v0.0.3

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

CreateTenant creates new tenant using 3scale API

func (*ThreeScaleClient) DeleteAPIcastPolicy added in v0.4.0

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

DeleteAPIcastPolicy Delete existing apicast policy in the registry

func (*ThreeScaleClient) DeleteActiveDoc added in v0.3.0

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) DeleteApplicationPlan added in v0.0.4

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

DeleteApplicationPlan Delete 3scale product plan

func (*ThreeScaleClient) DeleteApplicationPlanLimit added in v0.0.4

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

DeleteApplicationPlanLimit Delete 3scale application plan limit

func (*ThreeScaleClient) DeleteApplicationPlanPricingRule added in v0.0.4

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

DeleteApplicationPlanPricingRule Delete 3scale application plan pricing rule

func (*ThreeScaleClient) DeleteBackendApi added in v0.0.4

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

DeleteBackendApi Delete existing backend

func (*ThreeScaleClient) DeleteBackendApiMethod added in v0.0.4

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

DeleteBackendApiMethod Delete 3scale Backend method

func (*ThreeScaleClient) DeleteBackendApiMetric added in v0.0.4

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

DeleteBackendApiMetric Delete 3scale Backend metric

func (*ThreeScaleClient) DeleteBackendapiMappingRule added in v0.0.4

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

DeleteBackendapiMappingRule Delete 3scale Backend mapping rule

func (*ThreeScaleClient) DeleteBackendapiUsage added in v0.0.4

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

DeleteBackendapiUsage Delete 3scale Backend usage

func (*ThreeScaleClient) DeleteDeveloperAccount added in v0.5.0

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

DeleteDeveloperAccount Delete existing developerAccount

func (*ThreeScaleClient) DeleteDeveloperUser added in v0.5.0

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 added in v0.0.4

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

DeleteProduct Delete existing product

func (*ThreeScaleClient) DeleteProductMappingRule added in v0.0.4

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

DeleteProductMappingRule Delete 3scale product mappingrule

func (*ThreeScaleClient) DeleteProductMethod added in v0.0.4

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

DeleteProductMethod Delete 3scale product method

func (*ThreeScaleClient) DeleteProductMetric added in v0.0.4

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 added in v0.0.3

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 added in v0.0.4

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

ProductProxyDeploy Promotes proxy configuration to staging

func (*ThreeScaleClient) DeveloperAccount added in v0.5.0

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

Account fetches 3scale developer account

func (*ThreeScaleClient) DeveloperUser added in v0.5.0

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 added in v0.4.0

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

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

func (*ThreeScaleClient) ListAccounts deprecated added in v0.0.3

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

Deprecated: Use ListDeveloperAccounts instead

func (*ThreeScaleClient) ListActiveDocs added in v0.3.0

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 added in v0.0.4

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

ListApplicationPlansByProduct List existing application plans for a given product

func (*ThreeScaleClient) ListApplicationPlansLimits added in v0.0.4

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

ListApplicationPlansLimits List existing application plan limits for a given application plan

func (*ThreeScaleClient) ListApplicationPlansPricingRules added in v0.0.4

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

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

func (*ThreeScaleClient) ListApplications added in v0.0.3

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

ListApplications - List of applications for a given account.

func (*ThreeScaleClient) ListBackendApis added in v0.0.4

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

ListBackends List existing backends

func (*ThreeScaleClient) ListBackendapiMappingRules added in v0.0.4

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

ListBackendapiMappingRules List existing backend mapping rules

func (*ThreeScaleClient) ListBackendapiMethods added in v0.0.4

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

ListBackendapiMethods List existing backend methods

func (*ThreeScaleClient) ListBackendapiMetrics added in v0.0.4

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

ListBackendapiMetrics List existing backend metric

func (*ThreeScaleClient) ListBackendapiUsages added in v0.0.4

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

ListBackendapiUsages List existing backend usages for a given product

func (*ThreeScaleClient) ListDeveloperAccounts added in v0.5.0

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

func (*ThreeScaleClient) ListDeveloperUsers added in v0.5.0

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 added in v0.0.4

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

ListProductMappingRules List existing product mappingrules

func (*ThreeScaleClient) ListProductMethods added in v0.0.4

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

ListProductMethods List existing product methods

func (*ThreeScaleClient) ListProductMetrics added in v0.0.4

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

ListProductMetrics List existing product metrics

func (*ThreeScaleClient) ListProducts added in v0.0.4

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 added in v0.0.3

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 added in v0.2.0

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

OIDCConfiguration fetches 3scale product oidc configuration

func (*ThreeScaleClient) Policies added in v0.1.0

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

Policies fetches 3scale product policy chain

func (*ThreeScaleClient) Product added in v0.2.0

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

BackendApi Read 3scale Backend

func (*ThreeScaleClient) ProductMappingRule added in v0.0.4

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

ProductMappingRule Read 3scale product mappingrule

func (*ThreeScaleClient) ProductMethod added in v0.0.4

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

ProductMethod Read 3scale product method

func (*ThreeScaleClient) ProductMetric added in v0.0.4

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

ProductMetric Read 3scale product metric

func (*ThreeScaleClient) ProductProxy added in v0.0.4

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 added in v0.4.0

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 added in v0.0.3

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

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

func (*ThreeScaleClient) SetCredentials added in v0.0.3

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 added in v0.0.5

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 added in v0.0.3

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

ShowTenant - Returns tenant info for the specified ID

func (*ThreeScaleClient) Signup added in v0.5.0

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 added in v0.5.0

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

SuspendDeveloperUser suspends the user of a given account

func (*ThreeScaleClient) UnbindActiveDocFromProduct added in v0.3.0

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

UnbindActiveDocFromProduct removes product relationship from activedoc object

func (*ThreeScaleClient) UnsuspendDeveloperUser added in v0.5.0

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

UnsuspendDeveloperUser unsuspends the user of a given account

func (*ThreeScaleClient) UpdateAPIcastPolicy added in v0.4.0

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

UpdateAPIcastPolicy Update existing apicast policy in the registry

func (*ThreeScaleClient) UpdateActiveDoc added in v0.3.0

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 added in v0.0.4

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

UpdateApplicationPlan Update 3scale product application plan

func (*ThreeScaleClient) UpdateApplicationPlanLimit added in v0.0.4

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

UpdateApplicationPlanLimit Update 3scale application plan limit

func (*ThreeScaleClient) UpdateBackendApi added in v0.0.4

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

UpdateBackendApi Update 3scale Backend

func (*ThreeScaleClient) UpdateBackendApiMethod added in v0.0.4

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

UpdateBackendApiMethod Update 3scale Backend method

func (*ThreeScaleClient) UpdateBackendApiMetric added in v0.0.4

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

UpdateBackendApiMetric Update 3scale Backend metric

func (*ThreeScaleClient) UpdateBackendapiMappingRule added in v0.0.4

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

UpdateBackendapiMappingRule Update 3scale Backend mapping rule

func (*ThreeScaleClient) UpdateBackendapiUsage added in v0.0.4

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

UpdateBackendapiUsage Update 3scale Backend usage

func (*ThreeScaleClient) UpdateDeveloperAccount added in v0.5.0

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

UpdateDeveloperAccount Update existing developer account

func (*ThreeScaleClient) UpdateDeveloperUser added in v0.5.0

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 added in v0.2.0

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

UpdateOIDCConfiguration Update 3scale product oidc configuration

func (*ThreeScaleClient) UpdatePolicies added in v0.1.0

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

UpdatePolicies Update 3scale product policy chain

func (*ThreeScaleClient) UpdateProduct added in v0.0.4

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

UpdateProduct Update existing product

func (*ThreeScaleClient) UpdateProductMappingRule added in v0.0.4

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

UpdateProductMappingRule Update 3scale product mappingrule

func (*ThreeScaleClient) UpdateProductMethod added in v0.0.4

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

UpdateProductMethod Update 3scale product method

func (*ThreeScaleClient) UpdateProductMetric added in v0.0.4

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

UpdateProductMetric Update 3scale product metric

func (*ThreeScaleClient) UpdateProductProxy added in v0.0.4

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 added in v0.0.3

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

UpdateTenant - Updates tenant info for the specified ID

func (*ThreeScaleClient) UpdateUser added in v0.0.3

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 added in v0.0.3

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 added in v0.0.3

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

Deprecated: Use DeveloperUserItem instead

type UserList deprecated added in v0.0.3

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