Module ocs_rest_hub_fsm

Copyright © 2020 - 2026 SigScale Global Inc.

Behaviours: gen_fsm.

Data Types

aka_cred()

aka_cred() = #aka_cred{k = binary(), opc = binary(), dif = integer()}

bucket_attributes()

bucket_attributes() = #{bucket_type := normal | session, from_bucket => [bucket_source()], reservations => reservations()}

bucket_source()

bucket_source() = #{id := string(), amount := pos_integer(), unit_size := pos_integer(), unit_price := pos_integer(), expire := pos_integer() | undefined}

bucket_status()

bucket_status() = active | expired | suspended

offer_status()

offer_status() = in_study | in_design | in_test | active | rejected | launched | retired | obsolete

pla_ref()

pla_ref() = #pla_ref{id = string() | undefined | '_', href = string() | undefined | '_', name = string() | undefined | '_', class_type = string() | undefined | '_', base_type = string() | undefined | '_', schema = string() | undefined | '_', ref_type = string() | undefined | '_'}

product_price_type()

product_price_type() = recurring | one_time | usage | tariff | pla_ref()

product_status()

product_status() = created | pending_active | aborted | cancelled | active | suspended | pending_terminate | terminated

quantity()

quantity() = #quantity{amount = integer(), units = atom() | string()}

range()

range() = #range{lower = quantity(), upper = quantity()}

rate()

rate() = #rate{numerator = quantity(), denominator = quantity()}

recur_period()

recur_period() = hourly | daily | weekly | monthly | yearly

reservation()

reservation() = #{ts := pos_integer(), debit := non_neg_integer(), reserve := non_neg_integer(), service_id => non_neg_integer(), charging_key => non_neg_integer()}

reservations()

reservations() = #{SesssionID::list() => reservation()}

resource_char()

resource_char() = #resource_char{name = string() | undefined | '_', class_type = string() | undefined | '_', schema = string() | undefined | '_', value = term() | undefined | '_'}

resource_rel()

resource_rel() = #resource_rel{id = string() | undefined | '_', href = string() | undefined | '_', name = string() | undefined | '$4' | '_', type = string() | undefined | '_', referred_type = string() | undefined | '_'}

service_status()

service_status() = feasibilityChecked | designed | reserved | active | inactive | terminated

specification_ref()

specification_ref() = #specification_ref{id = string() | undefined | '_' | '$3', href = string() | undefined | '_', name = string() | undefined | '_', version = string() | undefined | '_'}

statedata()

statedata() = #statedata{id = string(), profile = atom(), module = atom(), function = atom(), query = string(), callback = string(), href = string(), authorization = string() | undefined, args = list() | undefined, sync = boolean()}

Function Index

start_link/3Start a hub fsm.
start_link/4Start a hub fsm.
init/1Initialize the ocs_rest_hub_fsm fsm.
register/2Handle event received in register state.
registered/2Handle event received in registered state.
handle_event/3Handle a request sent using //stdlib/gen_fsm:send_all_state_event/2.
handle_sync_event/4Handle an event sent with gen_fsm:sync_send_all_state_event/2,3.
handle_info/3Handle a received message.
terminate/3Cleanup and exit.
code_change/4Update internal state data during a release upgrade/downgrade.
handle_async/2Handle result of httpc:request/3.
unique/0*Generate a unique identifier.

Function Details

start_link/3

start_link(Query, Callback, Uri) -> Result

Start a hub fsm

start_link/4

start_link(Query, Callback, Uri, Authorization) -> Result

Start a hub fsm

init/1

init(Args) -> Result

Initialize the ocs_rest_hub_fsm fsm.

See also: //stdlib/gen_fsm:init/1.

register/2

register(Event, State) -> Result

Handle event received in register state.

registered/2

registered(Event, State) -> Result

Handle event received in registered state.

handle_event/3

handle_event(Event, StateName, State) -> Result

Handle a request sent using //stdlib/gen_fsm:send_all_state_event/2.

handle_sync_event/4

handle_sync_event(Event, From, StateName, StateData) -> Result

Handle an event sent with gen_fsm:sync_send_all_state_event/2,3.

See also: //stdlib/gen_fsm:handle_sync_event/4.

handle_info/3

handle_info(Info, StateName, StateData) -> Result

Handle a received message.

See also: //stdlib/gen_fsm:handle_info/3.

terminate/3

terminate(Reason, StateName, StateData) -> any()

Cleanup and exit.

See also: //stdlib/gen_fsm:terminate/3.

code_change/4

code_change(OldVsn, StateName, StateData, Extra) -> Result

Update internal state data during a release upgrade/downgrade.

See also: //stdlib/gen_fsm:code_change/4.

handle_async/2

handle_async(ReplyInfo, Fsm) -> ok

Handle result of httpc:request/3.

unique/0 *

unique() -> Result

Generate a unique identifier.


Generated by EDoc