Documentation ¶
Index ¶
- Constants
- func NewStatusReason(r RequestStatus) *v1.ResourceStatus
- type AccessData
- type AccessDataBuilder
- type AccessRequest
- type AccessRequestBuilder
- type ApplicationRequest
- type ArrayPropertyBuilder
- type Credential
- type CredentialAction
- type CredentialBuilder
- type CredentialRequest
- type CredentialRequestBuilder
- type IDPCredentialData
- type IntegerPropertyBuilder
- type NumberPropertyBuilder
- type ObjectPropertyBuilder
- type PropertyBuilder
- type Provisioning
- type Quota
- type QuotaInterval
- type RegisterAccessRequestDefinition
- type RegisterCredentialRequestDefinition
- type RequestStatus
- type RequestStatusBuilder
- type RequestType
- type SchemaBuilder
- type State
- type Status
- type StringPropertyBuilder
- type TypePropertyBuilder
Constants ¶
const ( APIKeyARD = "api-key" APIKeyCRD = "api-key" OAuthSecretCRD = "oauth-secret" OAuthPublicKeyCRD = "oauth-public-key" OAuthIDPCRD = "oauth-idp" OauthClientID = "clientId" OauthClientSecret = "clientSecret" OauthPublicKey = "publicKey" OauthGrantType = "grantType" OauthTokenAuthMethod = "tokenAuthMethod" OauthScopes = "scopes" OauthRedirectURIs = "redirectURLs" OauthJwksURI = "jwksURI" OauthJwks = "jwks" IDPTokenURL = "idpTokenURL" APIKey = "apiKey" CredExpDetail = "Agent: CredentialExpired" )
default names of ARD and CRDs
const ( // Provision - state is waiting to provision Provision = iota + 1 // Deprovision - state is waiting to deprovision Deprovision )
const ( DataTypeString = "string" DataTypeNumber = "number" DataTypeInteger = "integer" DataTypeArray = "array" DataTypeObject = "object" )
Supported data types
Variables ¶
This section is empty.
Functions ¶
func NewStatusReason ¶
func NewStatusReason(r RequestStatus) *v1.ResourceStatus
NewStatusReason converts a RequestStatus into a ResourceStatus
Types ¶
type AccessData ¶
type AccessData interface {
GetData() map[string]interface{}
}
AccessData - holds the details about the access data to send to platform
type AccessDataBuilder ¶
type AccessDataBuilder interface {
SetData(data map[string]interface{}) AccessData
}
AccessDataBuilder - builder to create new access data to send to Central
func NewAccessDataBuilder ¶
func NewAccessDataBuilder() AccessDataBuilder
NewAccessDataBuilder - create a access data builder
type AccessRequest ¶
type AccessRequest interface { // GetApplicationDetailsValue returns a value found on the 'x-agent-details' sub resource of the ManagedApplications. GetApplicationDetailsValue(key string) string // GetApplicationName returns the name of the managed application for this credential GetApplicationName() string // GetID returns the ID of the resource for the request GetID() string // GetAccessRequestDetailsValue returns a value found on the 'x-agent-details' sub resource of the AccessRequest. GetAccessRequestDetailsValue(key string) string // GetAccessRequestData returns the map[string]interface{} of data from the request GetAccessRequestData() map[string]interface{} // GetAccessRequestProvisioningData returns the interface{} of data from the provisioning response GetAccessRequestProvisioningData() interface{} // GetInstanceDetails returns the 'x-agent-details' sub resource of the API Service Instance GetInstanceDetails() map[string]interface{} // GetQuota returns the quota from within the access request GetQuota() Quota }
AccessRequest - interface for agents to use to get necessary access request details
type AccessRequestBuilder ¶
type AccessRequestBuilder interface { SetName(name string) AccessRequestBuilder SetTitle(title string) AccessRequestBuilder SetRequestSchema(schema SchemaBuilder) AccessRequestBuilder SetProvisionSchema(schema SchemaBuilder) AccessRequestBuilder SetProvisionSchemaToRequestSchema() AccessRequestBuilder Register() (*management.AccessRequestDefinition, error) }
AccessRequestBuilder - aids in creating a new access request
func NewAccessRequestBuilder ¶
func NewAccessRequestBuilder(registerFunc RegisterAccessRequestDefinition) AccessRequestBuilder
NewAccessRequestBuilder - called by the agent package and sends in the function that registers this access request
type ApplicationRequest ¶
type ApplicationRequest interface { // GetApplicationDetailsValue returns a value found on the 'x-agent-details' sub resource of the ManagedApplication GetApplicationDetailsValue(key string) string // GetManagedApplicationName returns the name of the managed application for this credential GetManagedApplicationName() string // GetTeamName gets the owning team name for the managed application GetTeamName() string // GetID returns the ID of the resource for the request GetID() string }
ApplicationRequest - interface for agents to use to get necessary application request details
type ArrayPropertyBuilder ¶
type ArrayPropertyBuilder interface { // AddItem - Add an 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 Credential ¶
Credential - holds the details about the credential to send to encrypt and send to platform
type CredentialAction ¶ added in v1.1.35
type CredentialAction int
CredentialAction - the Action the agent needs to take for this CredentialUpdate request
const ( // Enable - enable a credential Enable CredentialAction = iota + 1 // Suspend - disable a credential Suspend // Rotate - create a new secret for a credential Rotate // Expire - mark the credential as expired Expire )
func (CredentialAction) String ¶ added in v1.1.35
func (c CredentialAction) String() string
String returns the string value of the CredentialAction
type CredentialBuilder ¶
type CredentialBuilder interface { SetExpirationTime(expTime time.Time) CredentialBuilder SetOAuthID(id string) Credential SetOAuthIDAndSecret(id, secret string) Credential SetAPIKey(key string) Credential SetCredential(data map[string]interface{}) Credential }
CredentialBuilder - builder to create new credentials to send to Central
func NewCredentialBuilder ¶
func NewCredentialBuilder() CredentialBuilder
NewCredentialBuilder - create a credential builder
type CredentialRequest ¶
type CredentialRequest interface { // GetApplicationDetailsValue returns a value found on the 'x-agent-details' sub resource of the ManagedApplication. GetApplicationDetailsValue(key string) string // GetApplicationName returns the name of the managed application for this credential GetApplicationName() string // GetID returns the ID of the resource for the request GetID() string // GetName returns the name of the resource for the request GetName() string // GetCredentialDetailsValue returns a value found on the 'x-agent-details' sub resource of the Credential GetCredentialDetailsValue(key string) string // GetCredentialType returns the type of credential related to this request GetCredentialType() string // GetCredentialData returns the map[string]interface{} of data from the request GetCredentialData() map[string]interface{} // GetCredentialSchema returns the schema for the credential request. GetCredentialSchema() map[string]interface{} // GetCredentialProvisionSchema returns the provisioning schema for the credential request. GetCredentialProvisionSchema() map[string]interface{} // GetCredentialSchemaDetails returns a value found on the 'x-agent-details' sub resource of the crd. GetCredentialSchemaDetailsValue(key string) interface{} // IsIDPCredential returns boolean indicating if the credential request is for IDP provider IsIDPCredential() bool // GetIDPProvider returns the interface for IDP provider if the credential request is for IDP provider GetIDPProvider() o.Provider // GetIDPCredentialData returns the credential data for IDP from the request GetIDPCredentialData() IDPCredentialData // GetCredentialAction returns the action to be handled for this credential GetCredentialAction() CredentialAction // GetCredentialExpirationDays returns the number of days this credential has to live GetCredentialExpirationDays() int }
CredentialRequest - interface for agents to use to get necessary credential request details
type CredentialRequestBuilder ¶
type CredentialRequestBuilder interface { SetName(name string) CredentialRequestBuilder SetTitle(title string) CredentialRequestBuilder SetRequestSchema(schema SchemaBuilder) CredentialRequestBuilder SetProvisionSchema(schema SchemaBuilder) CredentialRequestBuilder SetWebhooks(webhooks []string) CredentialRequestBuilder AddWebhook(webhook string) CredentialRequestBuilder AddXAgentDetails(key string, value interface{}) CredentialRequestBuilder IsRenewable() CredentialRequestBuilder IsSuspendable() CredentialRequestBuilder SetExpirationDays(days int) CredentialRequestBuilder SetDeprovisionExpired() CredentialRequestBuilder Register() (*management.CredentialRequestDefinition, error) }
CredentialRequestBuilder - aids in creating a new credential request
func NewCRDBuilder ¶
func NewCRDBuilder(registerFunc RegisterCredentialRequestDefinition) CredentialRequestBuilder
NewCRDBuilder - called by the agent package and sends in the function that registers this credential request
type IDPCredentialData ¶
type IDPCredentialData interface { // GetClientID - returns client ID GetClientID() string // GetClientSecret - returns client secret GetClientSecret() string // GetScopes - returns client scopes GetScopes() []string // GetGrantTypes - returns grant types GetGrantTypes() []string // GetTokenEndpointAuthMethod - returns token auth method GetTokenEndpointAuthMethod() string // GetResponseTypes - returns token response type GetResponseTypes() []string // GetRedirectURIs - Returns redirect urls GetRedirectURIs() []string // GetJwksURI - returns JWKS uri GetJwksURI() string // GetPublicKey - returns the public key GetPublicKey() string }
IDPCredentialData - interface for the IDP credential request
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 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 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 PropertyBuilder ¶
type PropertyBuilder interface { // Build - builds the property, this is called automatically by the schema builder Build() (*propertyDefinition, error) }
PropertyBuilder - mandatory methods for all property builders
type Provisioning ¶
type Provisioning interface { AccessRequestDeprovision(AccessRequest) RequestStatus AccessRequestProvision(AccessRequest) (RequestStatus, AccessData) ApplicationRequestDeprovision(ApplicationRequest) RequestStatus ApplicationRequestProvision(ApplicationRequest) RequestStatus CredentialDeprovision(CredentialRequest) RequestStatus CredentialProvision(CredentialRequest) (RequestStatus, Credential) CredentialUpdate(CredentialRequest) (RequestStatus, Credential) }
Provisioning - interface to be implemented by agents for access provisioning
type Quota ¶
type Quota interface { // GetInterval returns the quota interval from within the access request GetInterval() QuotaInterval // GetIntervalString returns the string representation of the quota interval from within the access request GetIntervalString() string // GetLimit returns the quota limit from within the access request GetLimit() int64 // GetPlanName returns the product plan name from within the access request GetPlanName() string }
Quota - interface for accessing an access requests quota
func NewQuotaFromAccessRequest ¶
func NewQuotaFromAccessRequest(ar *management.AccessRequest) Quota
NewQuotaFromAccessRequest create a Quota interface from an access request or nil if no quota on access request
type QuotaInterval ¶
type QuotaInterval int
QuotaInterval is the quota limit
const ( // Daily - Daily QuotaInterval = iota + 1 // Weekly - Weekly // Monthly - Monthly // Annually - Annually )
func (QuotaInterval) String ¶
func (q QuotaInterval) String() string
String returns the string value of the State
type RegisterAccessRequestDefinition ¶
type RegisterAccessRequestDefinition func(accessRequestDefinition *management.AccessRequestDefinition) (*management.AccessRequestDefinition, error)
RegisterAccessRequestDefinition - the function signature used when calling the NewAccessRequestBuilder function
type RegisterCredentialRequestDefinition ¶
type RegisterCredentialRequestDefinition func(credentialRequestDefinition *management.CredentialRequestDefinition) (*management.CredentialRequestDefinition, error)
RegisterCredentialRequestDefinition - the function signature used when calling the NewCredentialRequestBuilder function
type RequestStatus ¶
type RequestStatus interface { // GetReasons returns the Status reasons GetReasons() []v1.ResourceStatusReason // GetStatus returns the Status level GetStatus() Status // GetMessage returns the status message GetMessage() string // GetProperties returns additional details about a status. GetProperties() map[string]string }
RequestStatus - holds info about the Status of the request
type RequestStatusBuilder ¶
type RequestStatusBuilder interface { // Success - set the status as success Success() RequestStatus // Failed - set the status as failed Failed() RequestStatus // RequestStatusBuilder - adds any existing status reasons so they are not lost SetCurrentStatusReasons([]v1.ResourceStatusReason) RequestStatusBuilder // SetMessage - set the request Status message SetMessage(message string) RequestStatusBuilder // SetProperties - set the properties of the RequestStatus SetProperties(map[string]string) RequestStatusBuilder // AddProperty - add a new property on the RequestStatus AddProperty(key string, value string) RequestStatusBuilder }
RequestStatusBuilder - builder to create new request Status
func NewRequestStatusBuilder ¶
func NewRequestStatusBuilder() RequestStatusBuilder
NewRequestStatusBuilder - create a request Status builder
type RequestType ¶
type RequestType int
RequestType - the type of credential request being sent
const ( // RequestTypeProvision - provision new credentials RequestTypeProvision RequestType = iota + 1 // RequestTypeRenew - renew existing credentials RequestTypeRenew )
func (RequestType) String ¶
func (c RequestType) String() string
String returns the string value of the RequestType enum
type SchemaBuilder ¶
type SchemaBuilder interface { SetName(name string) SchemaBuilder SetDescription(description string) SchemaBuilder SetPropertyOrder(propertyOrder []string) SchemaBuilder AddProperty(property PropertyBuilder) SchemaBuilder AddUniqueKey(keyName string) SchemaBuilder // Build builds the json schema - this is called automatically by the resource builder Build() (map[string]interface{}, error) }
SchemaBuilder - used to build a subscription schema for API Central
func NewSchemaBuilder ¶
func NewSchemaBuilder() SchemaBuilder
NewSchemaBuilder - Creates a new subscription schema builder
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 // IsEncrypted - Set that this field must be encrypted at rest IsEncrypted() StringPropertyBuilder // IsCopyable - Set that this field may be copied via the UI IsCopyable() StringPropertyBuilder // SetDefaultValue - Define the initial value for the property SetDefaultValue(value string) StringPropertyBuilder // SetAsTextArea - Set value to be rendered as a textarea box within the UI SetAsTextArea() StringPropertyBuilder PropertyBuilder }
StringPropertyBuilder - specific methods related to the String property builders
type TypePropertyBuilder ¶
type TypePropertyBuilder interface { // SetLabel - sets the label for the property SetLabel(label string) TypePropertyBuilder // SetName - sets the name of the property SetName(name string) TypePropertyBuilder // SetDescription - set the description of the property SetDescription(description string) TypePropertyBuilder // SetRequired - set the property as a required field in the schema SetRequired() TypePropertyBuilder // SetReadOnly - set the property as a read only property SetReadOnly() TypePropertyBuilder // SetHidden - set the property as a hidden property SetHidden() TypePropertyBuilder // 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 }
TypePropertyBuilder - common methods related to type property builders
func NewSchemaPropertyBuilder ¶
func NewSchemaPropertyBuilder() TypePropertyBuilder
NewSchemaPropertyBuilder - Creates a new subscription schema property builder