Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddPolicyParams ¶
type AddPolicyParams struct {
AccountNumber string
CustomerUserID string
PortalTypeID string
PolicyAsString string
}
func NewAddPolicyParams ¶
func NewAddPolicyParams() *AddPolicyParams
type DeployRequestOK ¶
type DeployRequestOK struct {
// Identifies the deploy request by its system-defined ID.
ID string `json:"id,omitempty"`
// Indicates the relative path to the requested endpoint.
AtID string `json:"@id,omitempty"`
// Returns DeployRequest.
Type string `json:"@type,omitempty"`
//
Links []map[string]interface{} `json:"@links,omitempty"`
// Indicates the deploy request's state. Valid values are:
// submitted | approved | rejected | deployed | pending_review | escalated |
// canceled | verification_delayed | deployment_delayed
State string `json:"state,omitempty"`
// Indicates the environment to which the deploy request was applied.
// Valid values are: production | staging
Environment string `json:"environment,omitempty"`
// Indicates your customer account number.
CustomerID string `json:"customer_id"`
// Indicates the date and time (UTC) at which the deploy request was
// submitted. Syntax: YYYY-MM-DDThh:mm:ssZ
CreatedAt time.Time `json:"created_at,omitempty"`
// Indicates the date and time (UTC) at which the deploy request was last
// updated. Syntax: YYYY-MM-DDThh:mm:ssZ
UpdatedAt time.Time `json:"updated_at,omitempty"`
// Returns true.
IsVisible bool `json:"is_visible,omitempty"`
// Contains the policy associated with the deploy request.
Policies PolicyResponse `json:"policies,omitempty"`
// Describes each state change for this deploy request.
History []map[string]interface{} `json:"history,omitempty"`
// Describes the user that requested the change in state.
User User `json:"user,omitempty"`
}
DeployRequestOK represents the response after submitting a Deploy Request
type GetPolicyParams ¶
type GetPolicyParams struct {
AccountNumber string
CustomerUserID string
PortalTypeID string
PolicyID int
}
Method Param Structs
func NewGetPolicyParams ¶
func NewGetPolicyParams() *GetPolicyParams
type History ¶
type History struct {
// Identifies this entry by its system-defined ID.
ID int `json:"id,omitempty"`
// Indicates the policy's new state.
// Valid values are: created | deleted | locked | updated
Type string `json:"type,omitempty"`
// Indicates the date and time (UTC) at which the policy entered the state
// identified by the state property.
// Syntax: YYYY-MM-DDThh:mm:ssZ
CreatedAt time.Time `json:"created_at,omitempty"`
// Describes the user that requested the change in state.
User User `json:"user,omitempty"`
}
The history object describes the policy's state changes using the below parameters
type Policy ¶
type Policy struct {
// Type of policy. This should be set to "policy-create".
Type string `json:"@type,omitempty"`
// Determines the policy's name.
Name string `json:"name,omitempty"`
// Determines the policy's description. You may set a policy's description
// to a blank value.
Description string `json:"description,omitempty"`
// Determines the state of the new policy.
// Valid values are:
// draft: Policies in this state may be modified.
// locked: Most of a locked policy's properties are read-only.
State string `json:"state,omitempty"`
// Assigns a delivery platform to the policy.
// Valid values are:
// http_large
// http_small
// adn
Platform string `json:"platform,omitempty"`
// Defines one or more rules. Each object in this array represents a rule.
Rules []Rule `json:"rules,omitempty"`
}
Policy object represets the data required to create a policy. Please refer to the REST API documentation for details on each of the fields that contructs the Policy object. https://developer.edgecast.com/cdn/api/#Media_Management/REv4/REv4.htm
type PolicyResponse ¶
type PolicyResponse struct {
Policy
// Indicates the relative path to an endpoint through which you may retrieve
// the current policy.
AtID string `json:"@id,omitempty"`
// Identifies the policy by its system-defined ID.
ID string `json:"id,omitempty"`
// Type of policy created. Returns "customer".
PolicyType string `json:"policy_type,omitempty"`
// Indicates the date and time (UTC) at which the policy was created.
// Syntax: YYYY-MM-DDThh:mm:ssZ
CreatedAt time.Time `json:"created_at,omitempty"`
// Indicates the date and time (UTC) at which the policy was last updated.
// Syntax: YYYY-MM-DDThh:mm:ssZ
UpdatedAt time.Time `json:"updated_at,omitempty"`
// Describes each state change for this policy.
History []History `json:"history,omitempty"`
}
PolicyResponse contains response body for a successful policy creation request
type Rule ¶
type Rule struct {
// This parameter is reserved for future use.
Name string `json:"name,omitempty"`
// Determines the rule's description. You may set a rule's description to a
// blank value.
Description string `json:"description,omitempty"`
// Contains the match conditions that will be assigned to the rule. Each
// object in this array contains a match condition configuration. List match
// conditions in the order in which they should appear in the rule. The set
// of required properties varies by match condition.
Matches []map[string]interface{} `json:"matches,omitempty"`
}
Rule represents a single rule to be used in a Policy
type RuleResponse ¶
type RuleResponse struct {
Rule
// Identifies the rule by its system-defined ID.
ID string `json:"id,omitempty"`
// Indicates the position of the rule within the policy.
Ordinal int `json:"ordinal,omitempty"`
// Indicates the date and time (UTC) at which the rule was created.
// Syntax: YYYY-MM-DDThh:mm:ssZ
CreatedAt time.Time `json:"created_at,omitempty"`
// Indicates the date and time (UTC) at which the rule was last updated.
// Syntax: YYYY-MM-DDThh:mm:ssZ
UpdatedAt time.Time `json:"updated_at,omitempty"`
}
RuleResponse represents a Rule after it has been created
type RulesEngineService ¶
Rules Engine service interacts with the EdgeCast API for managing Rules
func New ¶
func New(config edgecast.SDKConfig) (*RulesEngineService, error)
New creates a new Rules Engine service
func (*RulesEngineService) AddPolicy ¶
func (svc *RulesEngineService) AddPolicy( params AddPolicyParams, ) (*PolicyResponse, error)
AddPolicy creates a draft or a locked policy.
func (*RulesEngineService) GetPolicy ¶
func (svc *RulesEngineService) GetPolicy( params GetPolicyParams, ) (map[string]interface{}, error)
GetPolicy returns a policy including all of its rules.
func (*RulesEngineService) SubmitDeployRequest ¶
func (svc *RulesEngineService) SubmitDeployRequest( params SubmitDeployRequestParams, ) (*DeployRequestOK, error)
SubmitDeployRequest submits a deploy request. A deploy request applies a policy to either your production or staging environment.
type SubmitDeployRequest ¶
type SubmitDeployRequest struct {
// Identifies the policy that will be deployed by its system-defined ID.
PolicyID int `json:"policy_id"`
// Determines the environment to which the deploy request will be applied.
// Valid values are: production | staging
Environment string `json:"environment,omitempty"`
// Defines a message that is meant to explain why the policy is being
// deployed to the specified environment.
Message string `json:"message"`
}
SubmitDeployRequest submits a deploy request. A deploy request applies a policy to either your production or staging environment.
type SubmitDeployRequestParams ¶
type SubmitDeployRequestParams struct {
AccountNumber string
CustomerUserID string
PortalTypeID string
DeployRequest SubmitDeployRequest
}
func NewSubmitDeployRequestParams ¶
func NewSubmitDeployRequestParams() *SubmitDeployRequestParams
type User ¶
type User struct {
// Identifies a user by its system-defined ID.
ID string `json:"id,omitempty"`
// Indicates a user's first name.
FirstName string `json:"first_name,omitempty"`
// Indicates a user's last name.
LastName string `json:"last_name,omitempty"`
// Indicates a user's email address.
Email string `json:"email,omitempty"`
}
User describes a user