Documentation
¶
Index ¶
- Constants
- Variables
- func GetTestServiceClientCentralConfiguration(client *ServiceClient) *corecfg.CentralConfiguration
- type APIError
- type APIKeyInfo
- type APIKeySecurityBuilder
- type APIServerInfo
- type APIServerInfoProperty
- type APIServiceRevisionTitle
- type AnyOfSubscriptionSchemaPropertyDefinitions
- type ArrayPropertyBuilder
- type BearerSecurityBuilder
- type CentralSubscription
- func (s *CentralSubscription) GetApicID() string
- func (s *CentralSubscription) GetCatalogItemID() string
- func (s *CentralSubscription) GetCreatedUserID() string
- func (s *CentralSubscription) GetID() string
- func (s *CentralSubscription) GetName() string
- func (s *CentralSubscription) GetPropertyValue(propertyKey string) string
- func (s *CentralSubscription) GetPropertyValues(propertyKey string) []interface{}
- func (s *CentralSubscription) GetRemoteAPIAttributes() map[string]string
- func (s *CentralSubscription) GetRemoteAPIID() string
- func (s *CentralSubscription) GetRemoteAPIStage() string
- func (s *CentralSubscription) GetState() SubscriptionState
- func (s *CentralSubscription) UpdateEnumProperty(key, newValue, dataType string) error
- func (s *CentralSubscription) UpdateProperties(appName string) error
- func (s *CentralSubscription) UpdatePropertyValues(values map[string]interface{}) error
- func (s *CentralSubscription) UpdateState(newState SubscriptionState, description string) error
- func (s *CentralSubscription) UpdateStateWithProperties(newState SubscriptionState, description string, ...) error
- type Client
- type DataplaneType
- type EndpointDefinition
- type HTTPBasicSecurityBuilder
- type IntegerPropertyBuilder
- type MockSubscription
- func (s *MockSubscription) GetApicID() string
- func (s *MockSubscription) GetCatalogItemID() string
- func (s *MockSubscription) GetCreatedUserID() string
- func (s *MockSubscription) GetID() string
- func (s *MockSubscription) GetName() string
- func (s *MockSubscription) GetPropertyValue(propertyKey string) string
- func (s *MockSubscription) GetPropertyValues(propertyKey string) []interface{}
- func (s *MockSubscription) GetRemoteAPIAttributes() map[string]string
- func (s *MockSubscription) GetRemoteAPIID() string
- func (s *MockSubscription) GetRemoteAPIStage() string
- func (s *MockSubscription) GetState() SubscriptionState
- func (s *MockSubscription) UpdateEnumProperty(key, value, dataType string) error
- func (s *MockSubscription) UpdateProperties(appName string) error
- func (s *MockSubscription) UpdatePropertyValues(values map[string]interface{}) error
- func (s *MockSubscription) UpdateState(newState SubscriptionState, description string) error
- func (s *MockSubscription) UpdateStateWithProperties(newState SubscriptionState, _ string, props map[string]interface{}) error
- type MockSubscriptionManager
- type NumberPropertyBuilder
- type OAuthFlowBuilder
- type OAuthSecurityBuilder
- type OasSpecProcessor
- type ObjectPropertyBuilder
- type OpenIDSecurityBuilder
- type PropertyBuilder
- type ResponseError
- type SecurityBuilder
- type ServiceBody
- func (s *ServiceBody) GetAPIKeyInfo() []APIKeyInfo
- func (s *ServiceBody) GetAccessRequestDefinition() *management.AccessRequestDefinition
- func (s *ServiceBody) GetAuthPolicies() []string
- func (s *ServiceBody) GetCredentialRequestDefinitions() []string
- func (s *ServiceBody) GetDataplaneType() DataplaneType
- func (s *ServiceBody) GetReferenceInstanceName() string
- func (s *ServiceBody) GetReferencedServiceName() string
- func (s *ServiceBody) GetScopes() map[string]string
- func (s *ServiceBody) GetSpecVersion() string
- func (s *ServiceBody) IsDesignDataplane() bool
- func (s *ServiceBody) SetAccessRequestDefinitionName(ardName string, isUnique bool)
- type ServiceBuilder
- type ServiceClient
- func (c *ServiceClient) CreateAccessControlList(acl *management.AccessControlList) (*management.AccessControlList, error)
- func (c *ServiceClient) CreateCategory(title string) (*catalog.Category, error)
- func (c *ServiceClient) CreateOrUpdateResource(data apiv1.Interface) (*apiv1.ResourceInstance, error)
- func (c *ServiceClient) CreateResource(url string, bts []byte) (*apiv1.ResourceInstance, error)
- func (c *ServiceClient) CreateResourceInstance(ri apiv1.Interface) (*apiv1.ResourceInstance, error)
- func (c *ServiceClient) CreateSubResource(rm apiv1.ResourceMeta, subs map[string]interface{}) error
- func (c *ServiceClient) DeleteAPIServiceInstance(name string) error
- func (c *ServiceClient) DeleteConsumerInstance(name string) error
- func (c *ServiceClient) DeleteResourceInstance(ri apiv1.Interface) error
- func (c *ServiceClient) DeleteServiceByName(name string) error
- func (c *ServiceClient) ExecuteAPI(method, url string, query map[string]string, buffer []byte) ([]byte, error)
- func (c *ServiceClient) ExecuteAPIWithHeader(method, url string, query map[string]string, buffer []byte, ...) ([]byte, error)
- func (c *ServiceClient) GetAPIRevisionByName(name string) (*management.APIServiceRevision, error)
- func (c *ServiceClient) GetAPIRevisions(query map[string]string, stage string) ([]*management.APIServiceRevision, error)
- func (c *ServiceClient) GetAPIServiceByName(name string) (*management.APIService, error)
- func (c *ServiceClient) GetAPIServiceInstanceByName(name string) (*management.APIServiceInstance, error)
- func (c *ServiceClient) GetAPIServiceInstances(queryParams map[string]string, URL string) ([]*management.APIServiceInstance, error)
- func (c *ServiceClient) GetAPIServiceRevisions(queryParams map[string]string, URL, stage string) ([]*management.APIServiceRevision, error)
- func (c *ServiceClient) GetAPIV1ResourceInstances(queryParams map[string]string, url string) ([]*apiv1.ResourceInstance, error)
- func (c *ServiceClient) GetAPIV1ResourceInstancesWithPageSize(queryParams map[string]string, url string, pageSize int) ([]*apiv1.ResourceInstance, error)
- func (c *ServiceClient) GetAccessControlList(name string) (*management.AccessControlList, error)
- func (c *ServiceClient) GetCatalogItemIDForConsumerInstance(id string) (string, error)
- func (c *ServiceClient) GetCatalogItemName(ID string) (string, error)
- func (c *ServiceClient) GetCentralTeamByName(name string) (*defs.PlatformTeam, error)
- func (c *ServiceClient) GetConsumerInstanceByID(consumerInstanceID string) (*management.ConsumerInstance, error)
- func (c *ServiceClient) GetConsumerInstancesByExternalAPIID(externalAPIID string) ([]*management.ConsumerInstance, error)
- func (c *ServiceClient) GetEnvironment() (*management.Environment, error)
- func (c *ServiceClient) GetOrCreateCategory(title string) string
- func (c *ServiceClient) GetResource(url string) (*apiv1.ResourceInstance, error)
- func (c *ServiceClient) GetResources(iface apiv1.Interface) ([]apiv1.Interface, error)
- func (c *ServiceClient) GetSubscriptionDefinitionPropertiesForCatalogItem(catalogItemID, propertyKey string) (SubscriptionSchema, error)
- func (c *ServiceClient) GetSubscriptionManager() SubscriptionManager
- func (c *ServiceClient) GetSubscriptionsForCatalogItem(states []string, instanceID string) ([]CentralSubscription, error)
- func (c *ServiceClient) GetTeam(query map[string]string) ([]defs.PlatformTeam, error)
- func (c *ServiceClient) GetUserEmailAddress(id string) (string, error)
- func (c *ServiceClient) GetUserName(id string) (string, error)
- func (c *ServiceClient) Healthcheck(_ string) *hc.Status
- func (c *ServiceClient) IsMarketplaceSubsEnabled() bool
- func (c *ServiceClient) PatchSubResource(ri apiv1.Interface, subResourceName string, patches []map[string]interface{}) (*apiv1.ResourceInstance, error)
- func (c *ServiceClient) PublishService(serviceBody *ServiceBody) (*management.APIService, error)
- func (c *ServiceClient) RegisterSubscriptionSchema(subscriptionSchema SubscriptionSchema, update bool) error
- func (c *ServiceClient) RegisterSubscriptionWebhook() error
- func (c *ServiceClient) SetConfig(cfg corecfg.CentralConfig)
- func (c *ServiceClient) SetSubscriptionManager(mgr SubscriptionManager)
- func (c *ServiceClient) SetTokenGetter(tokenRequester auth.PlatformTokenGetter)
- func (c *ServiceClient) UpdateAccessControlList(acl *management.AccessControlList) (*management.AccessControlList, error)
- func (c *ServiceClient) UpdateAccessRequestSubscriptionSchema(subscriptionSchema SubscriptionSchema) error
- func (c *ServiceClient) UpdateConsumerInstanceSubscriptionDefinition(externalAPIID, subscriptionDefinitionName string) error
- func (c *ServiceClient) UpdateResource(url string, bts []byte) (*apiv1.ResourceInstance, error)
- func (c *ServiceClient) UpdateResourceFinalizer(res *apiv1.ResourceInstance, finalizer, description string, addAction bool) (*apiv1.ResourceInstance, error)
- func (c *ServiceClient) UpdateResourceInstance(ri apiv1.Interface) (*apiv1.ResourceInstance, error)
- func (c *ServiceClient) UpdateSubscriptionDefinitionPropertiesForCatalogItem(catalogItemID, propertyKey string, subscriptionSchema SubscriptionSchema) error
- func (c *ServiceClient) UpdateSubscriptionSchema(subscriptionSchema SubscriptionSchema) error
- type SpecProcessor
- type SpecResourceParser
- type StringPropertyBuilder
- type Subscription
- type SubscriptionBuilder
- type SubscriptionManager
- type SubscriptionProcessor
- type SubscriptionPropertyBuilder
- type SubscriptionSchema
- type SubscriptionSchemaBuilder
- type SubscriptionSchemaPropertyDefinition
- type SubscriptionState
- type SubscriptionValidator
- type UnstructuredProperties
Constants ¶
const ( Apikey = "verify-api-key" Passthrough = "pass-through" Oauth = "verify-oauth-token" Basic = "http-basic" )
constants for auth policy types
const ( PatchOpAdd = "add" PatchOpReplace = "replace" PatchOpDelete = "delete" PatchOpBuildObjectTree = "x-build-object-tree" PatchOperation = "op" PatchPath = "path" PatchValue = "value" ContentTypeJsonPatch = "application/json-patch+json" ContentTypeJson = "application/json" )
constants for patch request
const ( BearerTokenPrefix = "Bearer " HdrContentType = "Content-Type" HdrAuthorization = "Authorization" HdrAxwayTenantID = "X-Axway-Tenant-Id" )
constants for patch request
const ( API = "API" Wsdl = "wsdl" SwaggerV2 = "swaggerv2" Oas2 = "oas2" Oas3 = "oas3" Protobuf = "protobuf" AsyncAPI = "asyncapi" Unstructured = "unstructured" Specification = "specification" Swagger = "swagger" GraphQL = "graphql-sdl" Raml = "RAML" SubscriptionSchemaNameSuffix = ".authsubscription" DefaultSubscriptionWebhookName = "subscriptionwebhook" DefaultSubscriptionWebhookAuthKey = "webhookAuthKey" FieldsKey = "fields" QueryKey = "query" CreateTimestampQueryKey = "metadata.audit.createTimestamp" DefaultTeamKey = "DefaultTeam" )
Various consts for use
const ( UnpublishedState = "UNPUBLISHED" PublishedState = "PUBLISHED" ApprovalPendingState = "PENDING" )
consts for state
const ( DeprecatedStatus = "DEPRECATED" PublishedStatus = "PUBLISHED" UnpublishedStatus = "UNPUBLISHED" UnidentifiedInboundPolicy = "UNIDENTIFIED INBOUND POLICY" )
consts for status
const ( MajorChange = "MAJOR" MinorChange = "MINOR" )
consts for update serverity
const ( Raml08 = "RAML 0.8" Raml10 = "RAML 1.0" )
consts for RAML versions
const ( SubscriptionApproved = SubscriptionState("APPROVED") SubscriptionRequested = SubscriptionState("REQUESTED") SubscriptionRejected = SubscriptionState("REJECTED") SubscriptionActive = SubscriptionState("ACTIVE") SubscriptionUnsubscribed = SubscriptionState("UNSUBSCRIBED") SubscriptionUnsubscribeInitiated = SubscriptionState("UNSUBSCRIBE_INITIATED") SubscriptionFailedToSubscribe = SubscriptionState("FAILED_TO_SUBSCRIBE") SubscriptionFailedToUnsubscribe = SubscriptionState("FAILED_TO_UNSUBSCRIBE") SubscriptionChangeRequested = SubscriptionState("CHANGE_REQUESTED") AccessRequestProvisioning = SubscriptionState("provisioning") AccessRequestProvisioned = SubscriptionState("provisioned") AccessRequestFailedProvisioning = SubscriptionState("failedProvisioning") AccessRequestDeprovisioning = SubscriptionState("deprovisioning") AccessRequestDeprovisioned = SubscriptionState("deprovisioned") AccessRequestFailedDeprovisioning = SubscriptionState("failedDeprovisioning") )
SubscriptionState
const ( DataTypeString = "string" DataTypeNumber = "number" DataTypeInteger = "integer" DataTypeArray = "array" DataTypeObject = "object" )
TODO - this file should be able to be removed once Unified Catalog support has been removed Supported data types
const (
TeamMapKey = "TeamMap"
)
other consts
Variables ¶
var ( ErrCentralConfig = errors.New(1100, "configuration error for Amplify Central") ErrEnvironmentQuery = errors.New(1101, "error sending request to Amplify Central. Check configuration for CENTRAL_ENVIRONMENT") ErrTeamNotFound = errors.Newf(1102, "could not find team (%s) in Amplify Central. Check configuration for CENTRAL_TEAM") ErrNetwork = errors.New(1110, "error connecting to Amplify Central. Check docs.axway.com for more info on this error code") ErrRequestQuery = errors.New(1120, "error making a request to Amplify") ErrAuthenticationCall = errors.New(1130, "error getting authentication token. Check Amplify Central auth configuration (CENTRAL_AUTH_*) and network configuration for agent on docs.axway.com") ErrAuthentication = errors.New(1131, "authentication token was not valid. Check Amplify Central auth configuration (CENTRAL_AUTH_*)") )
Errors hit when validating Amplify Central connectivity
var ( ErrNoAddressFound = errors.Newf(1139, "could not find the subscriber (%s) email address") // Subscription APIs ErrSubscriptionQuery = errors.New(1140, "error connecting to Amplify Central for subscriptions") ErrSubscriptionResp = errors.Newf(1141, "unexpected response code (%d) from Amplify Central for subscription") ErrSubscriptionSchemaCreate = errors.New(1142, "error creating/updating subscription schema in Amplify Central") ErrSubscriptionSchemaResp = errors.Newf(1143, "unexpected response code (%d) when creating a subscription schema in Amplify Central") // APIs related to webhooks ErrCreateWebhook = errors.New(1144, "unable to create webhook") ErrCreateSecret = errors.New(1145, "unable to create secret") ErrAccessRequestSubscriptionSchemaResp = errors.Newf(1146, "unexpected response code (%d) when creating an access request subscription schema in Amplify Central") ErrGetSubscriptionDefProperties = errors.New(1155, "error getting subscription definition properties in Amplify Central") ErrUpdateSubscriptionDefProperties = errors.New(1156, "error updating subscription definition properties in Amplify Central") ErrGetCatalogItemServerInfoProperties = errors.New(1157, "error getting catalog item API server info properties") ErrSubscriptionManagerDown = errors.New(1158, "subscription manager is not running") // Service body builder ErrSetSpecEndPoints = errors.New(1160, "error getting endpoints for the API specification") // Category ErrCategoryCreate = errors.Newf(1164, "error creating category %s") )
Errors hit when calling different Amplify APIs
var MockTokenGetter = &mockTokenGetter{}
MockTokenGetter - global var for use in unit tests to return a fake token
var ValidPolicies = []string{Apikey, Passthrough, Oauth, Basic}
ValidPolicies - list of valid auth policies supported by Central. Add to this list as more policies are supported.
Functions ¶
func GetTestServiceClientCentralConfiguration ¶
func GetTestServiceClientCentralConfiguration(client *ServiceClient) *corecfg.CentralConfiguration
GetTestServiceClientCentralConfiguration - cast and return the CentralConfiguration
Types ¶
type APIError ¶
type APIError struct {
Status int `json:"status,omitempty"`
Title string `json:"title,omitempty"`
Detail string `json:"detail,omitempty"`
}
APIError - api response error
type APIKeySecurityBuilder ¶ added in v1.1.75
type APIKeySecurityBuilder interface {
Build() map[string]interface{}
InCookie() APIKeySecurityBuilder // quests are the same for cookie vs api key in query or header
InHeader() APIKeySecurityBuilder
InQueryParam() APIKeySecurityBuilder
SetArgumentName(argName string) APIKeySecurityBuilder
}
type APIServerInfo ¶
type APIServerInfo struct {
ConsumerInstance APIServerInfoProperty `json:"consumerInstance,omitempty"`
Environment APIServerInfoProperty `json:"environment,omitempty"`
}
APIServerInfo -
type APIServerInfoProperty ¶
type APIServerInfoProperty struct {
Name string `json:"name,omitempty"`
ID string `json:"id,omitempty"`
}
APIServerInfoProperty -
type APIServiceRevisionTitle ¶
type APIServiceRevisionTitle struct {
APIServiceName string
Date string
Revision string
StageLabel string
Stage string
}
APIServiceRevisionTitle - apiservicerevision template for title
type AnyOfSubscriptionSchemaPropertyDefinitions ¶
type AnyOfSubscriptionSchemaPropertyDefinitions struct {
AnyOf []SubscriptionSchemaPropertyDefinition `json:"anyOf,omitempty"`
}
AnyOfSubscriptionSchemaPropertyDefinitions - used for items of SubscriptionSchemaPropertyDefinition
type ArrayPropertyBuilder ¶
type ArrayPropertyBuilder interface {
// AddItem - Add a item property in the array property
AddItem(item PropertyBuilder) ArrayPropertyBuilder
// SetMinItems - Set the minimum number of items in the array property
SetMinItems(min uint) ArrayPropertyBuilder
// SetMaxItems - Set the maximum number of items in the array property
SetMaxItems(max uint) ArrayPropertyBuilder
PropertyBuilder
}
ArrayPropertyBuilder - specific methods related to the Array property builders
type BearerSecurityBuilder ¶ added in v1.1.75
type BearerSecurityBuilder interface {
Build() map[string]interface{}
SetFormat(format string) BearerSecurityBuilder
}
type CentralSubscription ¶
type CentralSubscription struct {
Subscription
CatalogItemSubscription *uc.CatalogItemSubscription `json:"catalogItemSubscription"`
ApicID string `json:"-"`
RemoteAPIID string `json:"-"`
RemoteAPIStage string `json:"-"`
RemoteAPIAttributes map[string]string
// contains filtered or unexported fields
}
CentralSubscription -
func (*CentralSubscription) GetApicID ¶
func (s *CentralSubscription) GetApicID() string
GetApicID - Returns ID of the Catalog Item or API Service instance
func (*CentralSubscription) GetCatalogItemID ¶
func (s *CentralSubscription) GetCatalogItemID() string
GetCatalogItemID - Returns ID of the Catalog Item
func (*CentralSubscription) GetCreatedUserID ¶
func (s *CentralSubscription) GetCreatedUserID() string
GetCreatedUserID - Returns ID of the user that created the subscription
func (*CentralSubscription) GetID ¶
func (s *CentralSubscription) GetID() string
GetID - Returns ID of the subscription
func (*CentralSubscription) GetName ¶
func (s *CentralSubscription) GetName() string
GetName - Returns Name of the subscription
func (*CentralSubscription) GetPropertyValue ¶
func (s *CentralSubscription) GetPropertyValue(propertyKey string) string
GetPropertyValue - Returns subscription Property value based on the key
func (*CentralSubscription) GetPropertyValues ¶
func (s *CentralSubscription) GetPropertyValues(propertyKey string) []interface{}
GetPropertyValues - Returns subscription Property value based on the key
func (*CentralSubscription) GetRemoteAPIAttributes ¶
func (s *CentralSubscription) GetRemoteAPIAttributes() map[string]string
GetRemoteAPIAttributes - Returns the attributes from the API that the subscription is tied to.
func (*CentralSubscription) GetRemoteAPIID ¶
func (s *CentralSubscription) GetRemoteAPIID() string
GetRemoteAPIID - Returns ID of the API on remote gateway
func (*CentralSubscription) GetRemoteAPIStage ¶
func (s *CentralSubscription) GetRemoteAPIStage() string
GetRemoteAPIStage - Returns the stage name of the API on remote gateway
func (*CentralSubscription) GetState ¶
func (s *CentralSubscription) GetState() SubscriptionState
GetState - Returns subscription state
func (*CentralSubscription) UpdateEnumProperty ¶
func (s *CentralSubscription) UpdateEnumProperty(key, newValue, dataType string) error
UpdateEnumProperty -
func (*CentralSubscription) UpdateProperties ¶
func (s *CentralSubscription) UpdateProperties(appName string) error
UpdateProperties -
func (*CentralSubscription) UpdatePropertyValues ¶
func (s *CentralSubscription) UpdatePropertyValues(values map[string]interface{}) error
UpdatePropertyValues - Updates the property values of the subscription
func (*CentralSubscription) UpdateState ¶
func (s *CentralSubscription) UpdateState(newState SubscriptionState, description string) error
UpdateState - Updates the state of subscription
func (*CentralSubscription) UpdateStateWithProperties ¶
func (s *CentralSubscription) UpdateStateWithProperties(newState SubscriptionState, description string, properties map[string]interface{}) error
UpdateStateWithProperties - Updates the state of subscription
type Client ¶
type Client interface {
SetTokenGetter(tokenRequester auth.PlatformTokenGetter)
SetConfig(cfg corecfg.CentralConfig)
PublishService(serviceBody *ServiceBody) (*management.APIService, error)
RegisterSubscriptionWebhook() error
RegisterSubscriptionSchema(schema SubscriptionSchema, update bool) error
UpdateSubscriptionSchema(schema SubscriptionSchema) error
GetSubscriptionManager() SubscriptionManager
GetCatalogItemIDForConsumerInstance(instanceID string) (string, error)
DeleteAPIServiceInstance(name string) error
DeleteConsumerInstance(name string) error
DeleteServiceByName(name string) error
GetConsumerInstanceByID(id string) (*management.ConsumerInstance, error)
GetConsumerInstancesByExternalAPIID(externalAPIID string) ([]*management.ConsumerInstance, error)
UpdateConsumerInstanceSubscriptionDefinition(externalAPIID, subscriptionDefinitionName string) error
GetUserEmailAddress(ID string) (string, error)
GetUserName(ID string) (string, error)
GetSubscriptionsForCatalogItem(states []string, catalogItemID string) ([]CentralSubscription, error)
GetSubscriptionDefinitionPropertiesForCatalogItem(catalogItemID, propertyKey string) (SubscriptionSchema, error)
UpdateSubscriptionDefinitionPropertiesForCatalogItem(catalogItemID, propertyKey string, schema SubscriptionSchema) error
GetCatalogItemName(ID string) (string, error)
ExecuteAPI(method, url string, queryParam map[string]string, buffer []byte) ([]byte, error)
Healthcheck(name string) *hc.Status
GetAPIRevisions(query map[string]string, stage string) ([]*management.APIServiceRevision, error)
GetAPIServiceRevisions(query map[string]string, URL, stage string) ([]*management.APIServiceRevision, error)
GetAPIServiceInstances(query map[string]string, URL string) ([]*management.APIServiceInstance, error)
GetAPIV1ResourceInstances(query map[string]string, URL string) ([]*apiv1.ResourceInstance, error)
GetAPIV1ResourceInstancesWithPageSize(query map[string]string, URL string, pageSize int) ([]*apiv1.ResourceInstance, error)
GetAPIServiceByName(name string) (*management.APIService, error)
GetAPIServiceInstanceByName(name string) (*management.APIServiceInstance, error)
GetAPIRevisionByName(name string) (*management.APIServiceRevision, error)
CreateCategory(name string) (*catalog.Category, error)
GetOrCreateCategory(category string) string
GetEnvironment() (*management.Environment, error)
GetCentralTeamByName(name string) (*defs.PlatformTeam, error)
GetTeam(query map[string]string) ([]defs.PlatformTeam, error)
GetAccessControlList(aclName string) (*management.AccessControlList, error)
UpdateAccessControlList(acl *management.AccessControlList) (*management.AccessControlList, error)
CreateAccessControlList(acl *management.AccessControlList) (*management.AccessControlList, error)
CreateSubResource(rm apiv1.ResourceMeta, subs map[string]interface{}) error
GetResource(url string) (*apiv1.ResourceInstance, error)
UpdateResourceFinalizer(ri *apiv1.ResourceInstance, finalizer, description string, addAction bool) (*apiv1.ResourceInstance, error)
IsMarketplaceSubsEnabled() bool
UpdateResourceInstance(ri apiv1.Interface) (*apiv1.ResourceInstance, error)
CreateOrUpdateResource(ri apiv1.Interface) (*apiv1.ResourceInstance, error)
CreateResourceInstance(ri apiv1.Interface) (*apiv1.ResourceInstance, error)
PatchSubResource(ri apiv1.Interface, subResourceName string, patches []map[string]interface{}) (*apiv1.ResourceInstance, error)
DeleteResourceInstance(ri apiv1.Interface) error
GetResources(ri apiv1.Interface) ([]apiv1.Interface, error)
CreateResource(url string, bts []byte) (*apiv1.ResourceInstance, error)
UpdateResource(url string, bts []byte) (*apiv1.ResourceInstance, error)
}
Client - interface
func New ¶
func New(cfg corecfg.CentralConfig, tokenRequester auth.PlatformTokenGetter, caches cache2.Manager) Client
New creates a new Client
type DataplaneType ¶ added in v1.1.79
type DataplaneType string
consts for dataplane type
const ( APIM DataplaneType = "APIM" AWS DataplaneType = "AWS" Azure DataplaneType = "Azure" Apigee DataplaneType = "Apigee" Istio DataplaneType = "Istio" Mulesoft DataplaneType = "Mulesoft" Kong DataplaneType = "Kong" Kafka DataplaneType = "Kafka" GitHub DataplaneType = "GitHub" GitLab DataplaneType = "GitLab" SwaggerHub DataplaneType = "SwaggerHub" Unidentified DataplaneType = "Unidentified" Unclassified DataplaneType = "Unclassified" )
func (DataplaneType) String ¶ added in v1.1.79
func (t DataplaneType) String() string
type EndpointDefinition ¶
type EndpointDefinition struct {
Host string
Port int32
Protocol string
BasePath string
Details map[string]interface{}
}
EndpointDefinition - holds the service endpoint definition
type HTTPBasicSecurityBuilder ¶ added in v1.1.75
type HTTPBasicSecurityBuilder interface {
Build() map[string]interface{}
}
type IntegerPropertyBuilder ¶
type IntegerPropertyBuilder interface {
// SetMinValue - Set the minimum allowed integer value
SetMinValue(min int64) IntegerPropertyBuilder
// SetMaxValue - Set the maximum allowed integer value
SetMaxValue(min int64) IntegerPropertyBuilder
// SetDefaultValue - Define the initial value for the property
SetDefaultValue(value int64) IntegerPropertyBuilder
PropertyBuilder
}
IntegerPropertyBuilder - specific methods related to the Integer property builders
type MockSubscription ¶
type MockSubscription struct {
Subscription
ID string
Description string
Name string
ApicID string
RemoteAPIID string
RemoteAPIStage string
CatalogID string
UserID string
State SubscriptionState
PropertyVals map[string]interface{}
ReceivedValues map[string]interface{}
RemoteAPIAttributes map[string]string
ReceivedAppName string
ReceivedUpdatedEnum string
UpdateStateErr error
UpdateEnumErr error
UpdatePropertiesErr error
UpdatePropertyValErr error
UpdateStateWithPropertiesErr error
}
MockSubscription - use for ease of testing agents
func (*MockSubscription) GetApicID ¶
func (s *MockSubscription) GetApicID() string
GetApicID - mocked for testing
func (*MockSubscription) GetCatalogItemID ¶
func (s *MockSubscription) GetCatalogItemID() string
GetCatalogItemID - mocked for testing
func (*MockSubscription) GetCreatedUserID ¶
func (s *MockSubscription) GetCreatedUserID() string
GetCreatedUserID - mocked for testing
func (*MockSubscription) GetID ¶
func (s *MockSubscription) GetID() string
GetID - mocked for testing
func (*MockSubscription) GetName ¶
func (s *MockSubscription) GetName() string
GetName - mocked for testing
func (*MockSubscription) GetPropertyValue ¶
func (s *MockSubscription) GetPropertyValue(propertyKey string) string
GetPropertyValue - mocked for testing
func (*MockSubscription) GetPropertyValues ¶
func (s *MockSubscription) GetPropertyValues(propertyKey string) []interface{}
GetPropertyValues - mocked for testing
func (*MockSubscription) GetRemoteAPIAttributes ¶
func (s *MockSubscription) GetRemoteAPIAttributes() map[string]string
GetRemoteAPIAttributes - mocked for testing
func (*MockSubscription) GetRemoteAPIID ¶
func (s *MockSubscription) GetRemoteAPIID() string
GetRemoteAPIID - mocked for testing
func (*MockSubscription) GetRemoteAPIStage ¶
func (s *MockSubscription) GetRemoteAPIStage() string
GetRemoteAPIStage - mocked for testing
func (*MockSubscription) GetState ¶
func (s *MockSubscription) GetState() SubscriptionState
GetState - mocked for testing
func (*MockSubscription) UpdateEnumProperty ¶
func (s *MockSubscription) UpdateEnumProperty(key, value, dataType string) error
UpdateEnumProperty - mocked for testing
func (*MockSubscription) UpdateProperties ¶
func (s *MockSubscription) UpdateProperties(appName string) error
UpdateProperties - mocked for testing
func (*MockSubscription) UpdatePropertyValues ¶
func (s *MockSubscription) UpdatePropertyValues(values map[string]interface{}) error
UpdatePropertyValues - mocked for testing
func (*MockSubscription) UpdateState ¶
func (s *MockSubscription) UpdateState(newState SubscriptionState, description string) error
UpdateState - mocked for testing
func (*MockSubscription) UpdateStateWithProperties ¶
func (s *MockSubscription) UpdateStateWithProperties(newState SubscriptionState, _ string, props map[string]interface{}) error
UpdateStateWithProperties - mocked for testing
type MockSubscriptionManager ¶
type MockSubscriptionManager struct {
SubscriptionManager
RegisterProcessorCalled int
RegisterValidatorCalled int
StartCalled int
StopCalled int
}
MockSubscriptionManager - used for unit tests to bypass the normal SubscriptionManager
func NewMockSubscriptionManager ¶
func NewMockSubscriptionManager() *MockSubscriptionManager
NewMockSubscriptionManager -
func (*MockSubscriptionManager) RegisterProcessor ¶
func (m *MockSubscriptionManager) RegisterProcessor(state SubscriptionState, processor SubscriptionProcessor)
RegisterProcessor -
func (*MockSubscriptionManager) RegisterValidator ¶
func (m *MockSubscriptionManager) RegisterValidator(validator SubscriptionValidator)
RegisterValidator -
type NumberPropertyBuilder ¶
type NumberPropertyBuilder interface {
// SetMinValue - Set the minimum allowed number value
SetMinValue(min float64) NumberPropertyBuilder
// SetMaxValue - Set the maximum allowed number value
SetMaxValue(min float64) NumberPropertyBuilder
// SetDefaultValue - Define the initial value for the property
SetDefaultValue(value float64) NumberPropertyBuilder
PropertyBuilder
}
NumberPropertyBuilder - specific methods related to the Number property builders
type OAuthFlowBuilder ¶ added in v1.1.75
type OAuthFlowBuilder interface {
SetScopes(map[string]string) OAuthFlowBuilder
AddScope(scope, description string) OAuthFlowBuilder
SetAuthorizationURL(url string) OAuthFlowBuilder
SetRefreshURL(url string) OAuthFlowBuilder
SetTokenURL(url string) OAuthFlowBuilder
Implicit() *oAuthFlow
Password() *oAuthFlow
AuthorizationCode() *oAuthFlow
ClientCredentials() *oAuthFlow
}
oauth flow options, setting flow type should be last, not all other methods are required
func NewOAuthFlowBuilder ¶ added in v1.1.75
func NewOAuthFlowBuilder() OAuthFlowBuilder
type OAuthSecurityBuilder ¶ added in v1.1.75
type OAuthSecurityBuilder interface {
AddFlow(flow *oAuthFlow) OAuthSecurityBuilder
Build() map[string]interface{}
}
type OasSpecProcessor ¶
type OasSpecProcessor interface {
ParseAuthInfo()
GetAPIKeyInfo() []APIKeyInfo
GetOAuthScopes() map[string]string
GetAuthPolicies() []string
StripSpecAuth()
GetTitle() string
GetSecurityBuilder() SecurityBuilder
AddSecuritySchemes(map[string]interface{})
}
OasSpecProcessor -
type ObjectPropertyBuilder ¶
type ObjectPropertyBuilder interface {
// AddProperty - Add a property in the object property
AddProperty(property PropertyBuilder) ObjectPropertyBuilder
PropertyBuilder
}
ObjectPropertyBuilder - specific methods related to the Object property builders
type OpenIDSecurityBuilder ¶ added in v1.1.75
type OpenIDSecurityBuilder interface {
Build() map[string]interface{}
SetURL(url string) OpenIDSecurityBuilder
}
type PropertyBuilder ¶
type PropertyBuilder interface {
// Build - builds the property, this is called automatically by the schema builder
Build() (*SubscriptionSchemaPropertyDefinition, error)
}
PropertyBuilder - mandatory methods for all property builders
type ResponseError ¶
type ResponseError struct {
Errors []APIError `json:"errors,omitempty"`
}
ResponseError - api response errors
type SecurityBuilder ¶ added in v1.1.75
type SecurityBuilder interface {
HTTPBasic() HTTPBasicSecurityBuilder
APIKey() APIKeySecurityBuilder
OAuth() OAuthSecurityBuilder
Bearer() BearerSecurityBuilder
OpenID() OpenIDSecurityBuilder
}
first select the type of security we are building
type ServiceBody ¶
type ServiceBody struct {
NameToPush string
APIName string
RestAPIID string
PrimaryKey string
URL string
Stage string
StageDescriptor string
StageDisplayName string
Description string
Version string
AuthPolicy string
SpecDefinition []byte
Documentation []byte
Tags map[string]interface{}
Image string
ImageContentType string
CreatedBy string
ResourceContentType string
ResourceType string
SubscriptionName string
APIUpdateSeverity string
State string
Status string
ServiceAttributes map[string]string
RevisionAttributes map[string]string
InstanceAttributes map[string]string
ServiceAgentDetails map[string]interface{}
InstanceAgentDetails map[string]interface{}
RevisionAgentDetails map[string]interface{}
Endpoints []EndpointDefinition
UnstructuredProps *UnstructuredProperties
TeamName string
// contains filtered or unexported fields
}
ServiceBody - details about a service to create
func (*ServiceBody) GetAPIKeyInfo ¶
func (s *ServiceBody) GetAPIKeyInfo() []APIKeyInfo
GetAPIKeyInfo - returns the array of locations and argument names for the api key
func (*ServiceBody) GetAccessRequestDefinition ¶
func (s *ServiceBody) GetAccessRequestDefinition() *management.AccessRequestDefinition
GetAccessRequestDefinition -
func (*ServiceBody) GetAuthPolicies ¶
func (s *ServiceBody) GetAuthPolicies() []string
GetAuthPolicies - returns the array of all auth policies in the ServiceBody
func (*ServiceBody) GetCredentialRequestDefinitions ¶
func (s *ServiceBody) GetCredentialRequestDefinitions() []string
GetCredentialRequestDefinitions - returns the array of all credential request policies
func (*ServiceBody) GetDataplaneType ¶ added in v1.1.79
func (s *ServiceBody) GetDataplaneType() DataplaneType
GetDataplaneType - returns dataplane type
func (*ServiceBody) GetReferenceInstanceName ¶ added in v1.1.79
func (s *ServiceBody) GetReferenceInstanceName() string
func (*ServiceBody) GetReferencedServiceName ¶ added in v1.1.79
func (s *ServiceBody) GetReferencedServiceName() string
func (*ServiceBody) GetScopes ¶
func (s *ServiceBody) GetScopes() map[string]string
GetScopes - returns the array of scopes for this service instance
func (*ServiceBody) GetSpecVersion ¶ added in v1.1.57
func (s *ServiceBody) GetSpecVersion() string
GetSpecVersion - returns version parsed from the spec
func (*ServiceBody) IsDesignDataplane ¶ added in v1.1.79
func (s *ServiceBody) IsDesignDataplane() bool
IsDesignDataplane - returns true for design dataplane
func (*ServiceBody) SetAccessRequestDefinitionName ¶
func (s *ServiceBody) SetAccessRequestDefinitionName(ardName string, isUnique bool)
SetAccessRequestDefinitionName - set the name of the access request definition for this service body
type ServiceBuilder ¶
type ServiceBuilder interface {
SetID(ID string) ServiceBuilder
SetPrimaryKey(key string) ServiceBuilder
SetRequestDefinitionsAllowed(previouslyPublished bool) ServiceBuilder
SetTitle(title string) ServiceBuilder
SetAPIName(apiName string) ServiceBuilder
SetURL(url string) ServiceBuilder
SetStage(stage string) ServiceBuilder
SetStageDescriptor(stageDescriptor string) ServiceBuilder
SetStageDisplayName(stageName string) ServiceBuilder
SetDescription(description string) ServiceBuilder
SetVersion(version string) ServiceBuilder
SetAuthPolicy(authPolicy string) ServiceBuilder
SetAPISpec(spec []byte) ServiceBuilder
SetDocumentation(documentation []byte) ServiceBuilder
SetTags(tags map[string]interface{}) ServiceBuilder
SetImage(image string) ServiceBuilder
SetImageContentType(imageContentType string) ServiceBuilder
SetResourceType(resourceType string) ServiceBuilder
SetSubscriptionName(subscriptionName string) ServiceBuilder
SetAPIUpdateSeverity(apiUpdateSeverity string) ServiceBuilder
SetState(state string) ServiceBuilder
SetStatus(status string) ServiceBuilder
SetServiceAttribute(serviceAttribute map[string]string) ServiceBuilder
SetInstanceAttribute(instanceAttribute map[string]string) ServiceBuilder
SetRevisionAttribute(revisionAttribute map[string]string) ServiceBuilder
SetServiceEndpoints(endpoints []EndpointDefinition) ServiceBuilder
AddServiceEndpoint(protocol, host string, port int32, basePath string) ServiceBuilder
SetCredentialRequestDefinitions(credentialRequestDefNames []string) ServiceBuilder
AddCredentialRequestDefinition(credentialRequestDefName string) ServiceBuilder
SetAccessRequestDefinitionName(accessRequestDefName string, isUnique bool) ServiceBuilder
SetUnstructuredType(assetType string) ServiceBuilder
SetUnstructuredContentType(contentType string) ServiceBuilder
SetUnstructuredLabel(label string) ServiceBuilder
SetUnstructuredFilename(filename string) ServiceBuilder
SetTeamName(teamName string) ServiceBuilder
SetCategories(categories []string) ServiceBuilder
SetServiceAgentDetails(attr map[string]interface{}) ServiceBuilder
SetInstanceAgentDetails(attr map[string]interface{}) ServiceBuilder
SetRevisionAgentDetails(attr map[string]interface{}) ServiceBuilder
SetSourceDataplaneType(dataplaneType DataplaneType, isDesign bool) ServiceBuilder
SetReferenceServiceName(serviceName, envName string) ServiceBuilder
SetReferenceInstanceName(instanceName, envName string) ServiceBuilder
Build() (ServiceBody, error)
}
ServiceBuilder - Interface to build the service body
func NewServiceBodyBuilder ¶
func NewServiceBodyBuilder() ServiceBuilder
NewServiceBodyBuilder - Creates a new service body builder
type ServiceClient ¶
type ServiceClient struct {
DefaultSubscriptionSchema SubscriptionSchema
DefaultSubscriptionApprovalWebhook corecfg.WebhookConfig
// contains filtered or unexported fields
}
ServiceClient -
func GetTestServiceClient ¶
func GetTestServiceClient() (*ServiceClient, *api.MockHTTPClient)
GetTestServiceClient - return a true ServiceClient, but with mocks for tokengetter and the HTTPClient and dummy values for various configurations. Has enough other configuration to make the client usable. This function also returns the MockHTTPClient so the caller can use it directly if needed, as it is not available directly from ServiceClient in other packages
func (*ServiceClient) CreateAccessControlList ¶
func (c *ServiceClient) CreateAccessControlList(acl *management.AccessControlList) (*management.AccessControlList, error)
CreateAccessControlList -
func (*ServiceClient) CreateCategory ¶
func (c *ServiceClient) CreateCategory(title string) (*catalog.Category, error)
CreateCategory - Adds a new category
func (*ServiceClient) CreateOrUpdateResource ¶
func (c *ServiceClient) CreateOrUpdateResource(data apiv1.Interface) (*apiv1.ResourceInstance, error)
CreateOrUpdateResource deletes a resource
func (*ServiceClient) CreateResource ¶
func (c *ServiceClient) CreateResource(url string, bts []byte) (*apiv1.ResourceInstance, error)
CreateResource deletes a resource
func (*ServiceClient) CreateResourceInstance ¶
func (c *ServiceClient) CreateResourceInstance(ri apiv1.Interface) (*apiv1.ResourceInstance, error)
CreateResourceInstance - creates a ResourceInstance
func (*ServiceClient) CreateSubResource ¶
func (c *ServiceClient) CreateSubResource(rm apiv1.ResourceMeta, subs map[string]interface{}) error
CreateSubResource creates a sub resource on the provided resource.
func (*ServiceClient) DeleteAPIServiceInstance ¶
func (c *ServiceClient) DeleteAPIServiceInstance(name string) error
DeleteAPIServiceInstance deletes an api service instance in central by name
func (*ServiceClient) DeleteConsumerInstance ¶
func (c *ServiceClient) DeleteConsumerInstance(name string) error
DeleteConsumerInstance -
func (*ServiceClient) DeleteResourceInstance ¶
func (c *ServiceClient) DeleteResourceInstance(ri apiv1.Interface) error
DeleteResourceInstance - deletes a ResourceInstance
func (*ServiceClient) DeleteServiceByName ¶
func (c *ServiceClient) DeleteServiceByName(name string) error
DeleteServiceByName -
func (*ServiceClient) ExecuteAPI ¶
func (c *ServiceClient) ExecuteAPI(method, url string, query map[string]string, buffer []byte) ([]byte, error)
ExecuteAPI - execute the api
func (*ServiceClient) ExecuteAPIWithHeader ¶ added in v1.1.79
func (c *ServiceClient) ExecuteAPIWithHeader(method, url string, query map[string]string, buffer []byte, headers map[string]string) ([]byte, error)
ExecuteAPI - execute the api
func (*ServiceClient) GetAPIRevisionByName ¶
func (c *ServiceClient) GetAPIRevisionByName(name string) (*management.APIServiceRevision, error)
GetAPIRevisionByName - Returns the API revision based on its revision name
func (*ServiceClient) GetAPIRevisions ¶
func (c *ServiceClient) GetAPIRevisions(query map[string]string, stage string) ([]*management.APIServiceRevision, error)
GetAPIRevisions - Returns the list of API revisions for the specified filter NOTE : this function can go away. You can call GetAPIServiceRevisions directly from your function to get []*management.APIServiceRevision
func (*ServiceClient) GetAPIServiceByName ¶
func (c *ServiceClient) GetAPIServiceByName(name string) (*management.APIService, error)
GetAPIServiceByName - Returns the API service based on its name
func (*ServiceClient) GetAPIServiceInstanceByName ¶
func (c *ServiceClient) GetAPIServiceInstanceByName(name string) (*management.APIServiceInstance, error)
GetAPIServiceInstanceByName - Returns the API service instance for specified name
func (*ServiceClient) GetAPIServiceInstances ¶
func (c *ServiceClient) GetAPIServiceInstances(queryParams map[string]string, URL string) ([]*management.APIServiceInstance, error)
GetAPIServiceInstances - get management.APIServiceInstance
func (*ServiceClient) GetAPIServiceRevisions ¶
func (c *ServiceClient) GetAPIServiceRevisions(queryParams map[string]string, URL, stage string) ([]*management.APIServiceRevision, error)
GetAPIServiceRevisions - management.APIServiceRevision
func (*ServiceClient) GetAPIV1ResourceInstances ¶
func (c *ServiceClient) GetAPIV1ResourceInstances(queryParams map[string]string, url string) ([]*apiv1.ResourceInstance, error)
GetAPIV1ResourceInstances - return apiv1 Resource instance with the default page size
func (*ServiceClient) GetAPIV1ResourceInstancesWithPageSize ¶
func (c *ServiceClient) GetAPIV1ResourceInstancesWithPageSize(queryParams map[string]string, url string, pageSize int) ([]*apiv1.ResourceInstance, error)
GetAPIV1ResourceInstancesWithPageSize - return apiv1 Resource instance
func (*ServiceClient) GetAccessControlList ¶
func (c *ServiceClient) GetAccessControlList(name string) (*management.AccessControlList, error)
GetAccessControlList -
func (*ServiceClient) GetCatalogItemIDForConsumerInstance ¶
func (c *ServiceClient) GetCatalogItemIDForConsumerInstance(id string) (string, error)
GetCatalogItemIDForConsumerInstance -
func (*ServiceClient) GetCatalogItemName ¶
func (c *ServiceClient) GetCatalogItemName(ID string) (string, error)
GetCatalogItemName -
func (*ServiceClient) GetCentralTeamByName ¶
func (c *ServiceClient) GetCentralTeamByName(name string) (*defs.PlatformTeam, error)
GetCentralTeamByName - returns the team based on team name
func (*ServiceClient) GetConsumerInstanceByID ¶
func (c *ServiceClient) GetConsumerInstanceByID(consumerInstanceID string) (*management.ConsumerInstance, error)
GetConsumerInstanceByID -
func (*ServiceClient) GetConsumerInstancesByExternalAPIID ¶
func (c *ServiceClient) GetConsumerInstancesByExternalAPIID(externalAPIID string) ([]*management.ConsumerInstance, error)
GetConsumerInstancesByExternalAPIID - DEPRECATED
func (*ServiceClient) GetEnvironment ¶
func (c *ServiceClient) GetEnvironment() (*management.Environment, error)
GetEnvironment get an environment
func (*ServiceClient) GetOrCreateCategory ¶
func (c *ServiceClient) GetOrCreateCategory(title string) string
GetOrCreateCategory - Returns the value on published proxy
func (*ServiceClient) GetResource ¶
func (c *ServiceClient) GetResource(url string) (*apiv1.ResourceInstance, error)
GetResource gets a single resource
func (*ServiceClient) GetResources ¶ added in v1.1.33
GetResource gets a single resource
func (*ServiceClient) GetSubscriptionDefinitionPropertiesForCatalogItem ¶
func (c *ServiceClient) GetSubscriptionDefinitionPropertiesForCatalogItem(catalogItemID, propertyKey string) (SubscriptionSchema, error)
GetSubscriptionDefinitionPropertiesForCatalogItem -
func (*ServiceClient) GetSubscriptionManager ¶
func (c *ServiceClient) GetSubscriptionManager() SubscriptionManager
GetSubscriptionManager -
func (*ServiceClient) GetSubscriptionsForCatalogItem ¶
func (c *ServiceClient) GetSubscriptionsForCatalogItem(states []string, instanceID string) ([]CentralSubscription, error)
GetSubscriptionsForCatalogItem -
func (*ServiceClient) GetTeam ¶
func (c *ServiceClient) GetTeam(query map[string]string) ([]defs.PlatformTeam, error)
GetTeam - returns the team ID based on filter
func (*ServiceClient) GetUserEmailAddress ¶
func (c *ServiceClient) GetUserEmailAddress(id string) (string, error)
GetUserEmailAddress - request the user email
func (*ServiceClient) GetUserName ¶
func (c *ServiceClient) GetUserName(id string) (string, error)
GetUserName - request the user name
func (*ServiceClient) Healthcheck ¶
func (c *ServiceClient) Healthcheck(_ string) *hc.Status
Healthcheck - verify connection to the platform
func (*ServiceClient) IsMarketplaceSubsEnabled ¶
func (c *ServiceClient) IsMarketplaceSubsEnabled() bool
IsMarketplaceSubsEnabled -
func (*ServiceClient) PatchSubResource ¶ added in v1.1.79
func (c *ServiceClient) PatchSubResource(ri apiv1.Interface, subResourceName string, patches []map[string]interface{}) (*apiv1.ResourceInstance, error)
PatchSubResource - applies the patches to the sub-resource
func (*ServiceClient) PublishService ¶
func (c *ServiceClient) PublishService(serviceBody *ServiceBody) (*management.APIService, error)
PublishService - processes the API to create/update apiservice, revision, instance and consumer instance
func (*ServiceClient) RegisterSubscriptionSchema ¶
func (c *ServiceClient) RegisterSubscriptionSchema(subscriptionSchema SubscriptionSchema, update bool) error
RegisterSubscriptionSchema - Adds a new subscription schema for the specified auth type. In publishToEnvironment mode creates a API Server resource for subscription definition
func (*ServiceClient) RegisterSubscriptionWebhook ¶
func (c *ServiceClient) RegisterSubscriptionWebhook() error
RegisterSubscriptionWebhook - Adds a new Subscription webhook. There is a single webhook per environment
func (*ServiceClient) SetConfig ¶
func (c *ServiceClient) SetConfig(cfg corecfg.CentralConfig)
SetConfig - sets the config and apiClient
func (*ServiceClient) SetSubscriptionManager ¶
func (c *ServiceClient) SetSubscriptionManager(mgr SubscriptionManager)
SetSubscriptionManager -
func (*ServiceClient) SetTokenGetter ¶
func (c *ServiceClient) SetTokenGetter(tokenRequester auth.PlatformTokenGetter)
SetTokenGetter - sets the token getter
func (*ServiceClient) UpdateAccessControlList ¶
func (c *ServiceClient) UpdateAccessControlList(acl *management.AccessControlList) (*management.AccessControlList, error)
UpdateAccessControlList - removes existing then creates new AccessControlList
func (*ServiceClient) UpdateAccessRequestSubscriptionSchema ¶
func (c *ServiceClient) UpdateAccessRequestSubscriptionSchema(subscriptionSchema SubscriptionSchema) error
UpdateAccessRequestSubscriptionSchema - Updates an access request subscription schema in Publish to environment mode creates a API Server resource for subscription definition
func (*ServiceClient) UpdateConsumerInstanceSubscriptionDefinition ¶
func (c *ServiceClient) UpdateConsumerInstanceSubscriptionDefinition(externalAPIID, subscriptionDefinitionName string) error
UpdateConsumerInstanceSubscriptionDefinition -
func (*ServiceClient) UpdateResource ¶
func (c *ServiceClient) UpdateResource(url string, bts []byte) (*apiv1.ResourceInstance, error)
UpdateResource updates a resource
func (*ServiceClient) UpdateResourceFinalizer ¶
func (c *ServiceClient) UpdateResourceFinalizer(res *apiv1.ResourceInstance, finalizer, description string, addAction bool) (*apiv1.ResourceInstance, error)
UpdateResourceFinalizer - Add or remove a finalizer from a resource
func (*ServiceClient) UpdateResourceInstance ¶
func (c *ServiceClient) UpdateResourceInstance(ri apiv1.Interface) (*apiv1.ResourceInstance, error)
UpdateResourceInstance - updates a ResourceInstance
func (*ServiceClient) UpdateSubscriptionDefinitionPropertiesForCatalogItem ¶
func (c *ServiceClient) UpdateSubscriptionDefinitionPropertiesForCatalogItem(catalogItemID, propertyKey string, subscriptionSchema SubscriptionSchema) error
UpdateSubscriptionDefinitionPropertiesForCatalogItem -
func (*ServiceClient) UpdateSubscriptionSchema ¶
func (c *ServiceClient) UpdateSubscriptionSchema(subscriptionSchema SubscriptionSchema) error
UpdateSubscriptionSchema - Updates a subscription schema in Publish to environment mode creates a API Server resource for subscription definition
type SpecProcessor ¶
type SpecProcessor interface {
GetVersion() string
GetEndpoints() ([]EndpointDefinition, error)
GetDescription() string
GetSpecBytes() []byte
GetResourceType() string
}
SpecProcessor -
type SpecResourceParser ¶
type SpecResourceParser struct {
// contains filtered or unexported fields
}
SpecResourceParser -
func NewSpecResourceParser ¶
func NewSpecResourceParser(resourceSpec []byte, resourceSpecType string) SpecResourceParser
NewSpecResourceParser -
func (*SpecResourceParser) GetSpecProcessor ¶
func (s *SpecResourceParser) GetSpecProcessor() SpecProcessor
GetSpecProcessor -
type StringPropertyBuilder ¶
type StringPropertyBuilder interface {
// SetEnumValues - Set a list of valid values for the property
SetEnumValues(values []string) StringPropertyBuilder
// SetSortEnumValues - Sort the allowed values alphabetically in the schema
SetSortEnumValues() StringPropertyBuilder
// SetFirstEnumValue - Set the value that should appear first in the list
SetFirstEnumValue(value string) StringPropertyBuilder
// AddEnumValue - Add another value to the list of allowed values for the property
AddEnumValue(value string) StringPropertyBuilder
// SetDefaultValue - Define the initial value for the property
SetDefaultValue(value string) StringPropertyBuilder
PropertyBuilder
}
StringPropertyBuilder - specific methods related to the String property builders
type Subscription ¶
type Subscription interface {
GetID() string
GetName() string
GetApicID() string
GetRemoteAPIAttributes() map[string]string
GetRemoteAPIID() string
GetRemoteAPIStage() string
GetCatalogItemID() string
GetCreatedUserID() string
GetState() SubscriptionState
GetPropertyValue(propertyKey string) string
GetPropertyValues(propertyKey string) []interface{}
UpdateState(newState SubscriptionState, description string) error
UpdateStateWithProperties(newState SubscriptionState, description string, properties map[string]interface{}) error
UpdateEnumProperty(key, value, dataType string) error
UpdateProperties(appName string) error
UpdatePropertyValues(values map[string]interface{}) error
// contains filtered or unexported methods
}
Subscription -
type SubscriptionBuilder ¶
type SubscriptionBuilder interface {
UpdateEnumProperty(key, newValue, dataType string) SubscriptionBuilder
SetStringPropertyValue(key, value string) SubscriptionBuilder
Process() error
}
SubscriptionBuilder -
func NewSubscriptionBuilder ¶
func NewSubscriptionBuilder(subscription Subscription) SubscriptionBuilder
NewSubscriptionBuilder - Creates a new subscription builder to update a subscriptions property and status
type SubscriptionManager ¶
type SubscriptionManager interface {
RegisterProcessor(state SubscriptionState, processor SubscriptionProcessor)
RegisterValidator(validator SubscriptionValidator)
Start()
Stop()
OnConfigChange(apicClient *ServiceClient)
// contains filtered or unexported methods
}
SubscriptionManager - Interface for subscription manager
type SubscriptionProcessor ¶
type SubscriptionProcessor func(subscription Subscription)
SubscriptionProcessor - callback method type to process subscriptions
type SubscriptionPropertyBuilder ¶
type SubscriptionPropertyBuilder interface {
// SetName - sets the name of the property
SetName(name string) SubscriptionPropertyBuilder
// SetDescription - set the description of the property
SetDescription(description string) SubscriptionPropertyBuilder
// SetRequired - set the property as a required field in the schema
SetRequired() SubscriptionPropertyBuilder
// SetReadOnly - set the property as a read only property
SetReadOnly() SubscriptionPropertyBuilder
// SetHidden - set the property as a hidden property
SetHidden() SubscriptionPropertyBuilder
// SetAPICRefField - set the apic reference field for this property
SetAPICRefField(field string) SubscriptionPropertyBuilder
// IsString - Set the property to be of type string
IsString() StringPropertyBuilder
// IsInteger - Set the property to be of type integer
IsInteger() IntegerPropertyBuilder
// IsNumber - Set the property to be of type number
IsNumber() NumberPropertyBuilder
// IsArray - Set the property to be of type array
IsArray() ArrayPropertyBuilder
// IsObject - Set the property to be of type object
IsObject() ObjectPropertyBuilder
PropertyBuilder
}
SubscriptionPropertyBuilder - common methods related to subscription property builders
func NewSubscriptionSchemaPropertyBuilder ¶
func NewSubscriptionSchemaPropertyBuilder() SubscriptionPropertyBuilder
NewSubscriptionSchemaPropertyBuilder - Creates a new subscription schema property builder
type SubscriptionSchema ¶
type SubscriptionSchema interface {
AddProperty(name, dataType, description, apicRefField string, isRequired bool, enums []string)
GetProperty(name string) *SubscriptionSchemaPropertyDefinition
AddUniqueKey(keyName string)
GetSubscriptionName() string
SetSubscriptionName(name string)
SetJSONDraft07SchemaVersion()
// contains filtered or unexported methods
}
SubscriptionSchema -
func NewSubscriptionSchema ¶
func NewSubscriptionSchema(name string) SubscriptionSchema
NewSubscriptionSchema -
type SubscriptionSchemaBuilder ¶
type SubscriptionSchemaBuilder interface {
Update(update bool) SubscriptionSchemaBuilder
SetName(name string) SubscriptionSchemaBuilder
AddProperty(property PropertyBuilder) SubscriptionSchemaBuilder
AddUniqueKey(keyName string) SubscriptionSchemaBuilder
SetJSONDraft07SchemaVersion() SubscriptionSchemaBuilder
Register() error
}
SubscriptionSchemaBuilder - used to build a subscription schema for API Central
func NewSubscriptionSchemaBuilder ¶
func NewSubscriptionSchemaBuilder(apicClient Client) SubscriptionSchemaBuilder
NewSubscriptionSchemaBuilder - Creates a new subscription schema builder
type SubscriptionSchemaPropertyDefinition ¶
type SubscriptionSchemaPropertyDefinition struct {
Type string `json:"type"`
Title string `json:"title,omitempty"`
Description string `json:"description,omitempty"`
DefaultValue interface{} `json:"default,omitempty"`
Enum []string `json:"enum,omitempty"`
ReadOnly bool `json:"readOnly,omitempty"`
Format string `json:"format,omitempty"`
Properties map[string]SubscriptionSchemaPropertyDefinition `json:"properties,omitempty"`
RequiredProperties []string `json:"required,omitempty"`
Items *AnyOfSubscriptionSchemaPropertyDefinitions `json:"items,omitempty"` // We use a pointer to avoid generating an empty struct if not set
MinItems *uint `json:"minItems,omitempty"` // We use a pointer to differentiate the "blank value" from a choosen 0 min value
MaxItems *uint `json:"maxItems,omitempty"` // We use a pointer to differentiate the "blank value" from a choosen 0 min value
Minimum *float64 `json:"minimum,omitempty"` // We use a pointer to differentiate the "blank value" from a choosen 0 min value
Maximum *float64 `json:"maximum,omitempty"` // We use a pointer to differentiate the "blank value" from a choosen 0 max value
APICRef string `json:"x-axway-ref-apic,omitempty"`
Name string `json:"-"`
Required bool `json:"-"`
}
SubscriptionSchemaPropertyDefinition -
type SubscriptionState ¶
type SubscriptionState string
SubscriptionState - Type definition for subscription state
type SubscriptionValidator ¶
type SubscriptionValidator func(subscription Subscription) bool
SubscriptionValidator - callback method type to validate subscription for processing
Source Files
¶
- apiservice.go
- apiserviceinstance.go
- apiservicerevision.go
- catalogitem.go
- client.go
- consumerinstance.go
- definitions.go
- errors.go
- mockserviceclient.go
- mocksubscription.go
- mocksubscriptionmanager.go
- mocktokengetter.go
- oas2Swagger.go
- resourcePagination.go
- service.go
- servicebody.go
- servicebuilder.go
- specasyncapiprocessor.go
- specgraphql.go
- specoas2processor.go
- specoas3processor.go
- specparser.go
- specprotobufprocessor.go
- specramlprocessor.go
- specsecuritybuilder.go
- specunstructuredprocessor.go
- specwsdlprocessor.go
- subscription.go
- subscriptionbuilder.go
- subscriptionmanager.go
- subscriptionschema.go
- subscriptionschemabuilder.go
- subscriptionschemapropertybuilder.go
- util.go
Directories
¶
| Path | Synopsis |
|---|---|
|
apiserver
|
|
|
Package auth implements the apic service account token management.
|
Package auth implements the apic service account token management. |
|
unifiedcatalog
|
|