Class: Smplkit::ManagementClient
- Inherits:
-
Object
- Object
- Smplkit::ManagementClient
- Defined in:
- lib/smplkit/management/client.rb
Overview
Top-level management client. Owns the HTTP transports + CRUD APIs for every resource on the smplkit platform.
Sub-namespaces (mirroring the Python SDK):
- +mgmt.contexts.*+
- +mgmt.context_types.*+
- +mgmt.environments.*+
- +mgmt.account_settings.*+
- +mgmt.config.*+
- +mgmt.flags.*+
- +mgmt.loggers.*+
- +mgmt.log_groups.*+
Constructable both as Smplkit::ManagementClient.new (standalone) and as Smplkit::Client#manage (shared transports).
Each namespace is wired to a generated SmplkitGeneratedClient ApiClient under the hood — auth, request encoding, and response parsing flow through the openapi-generator-produced layer in lib/smplkit/_generated. The wrapper layer keeps the customer-facing domain models (Flag, Config, etc.) and converts at the boundary via the existing <resource>_from_resource helpers.
Defined Under Namespace
Modules: ErrorMapping, ResourceShim Classes: AccountSettingsNamespace, ConfigNamespace, ContextTypesNamespace, ContextsNamespace, EnvironmentsNamespace, FlagsNamespace, LogGroupsNamespace, LoggersNamespace
Constant Summary collapse
- SDK_OWNED_HEADERS =
%w[authorization content-type user-agent].freeze
Instance Attribute Summary collapse
-
#account_settings ⇒ Object
readonly
Returns the value of attribute account_settings.
-
#audit ⇒ Object
readonly
Returns the value of attribute audit.
-
#config ⇒ Object
readonly
Returns the value of attribute config.
-
#context_types ⇒ Object
readonly
Returns the value of attribute context_types.
-
#contexts ⇒ Object
readonly
Returns the value of attribute contexts.
-
#environments ⇒ Object
readonly
Returns the value of attribute environments.
-
#flags ⇒ Object
readonly
Returns the value of attribute flags.
-
#log_groups ⇒ Object
readonly
Returns the value of attribute log_groups.
-
#loggers ⇒ Object
readonly
Returns the value of attribute loggers.
Class Method Summary collapse
Instance Method Summary collapse
- #_app_http ⇒ Object
- #_audit_http ⇒ Object
- #_config_http ⇒ Object
- #_flags_http ⇒ Object
- #_logging_http ⇒ Object
- #_resolved ⇒ Object
- #close ⇒ Object
-
#initialize(api_key: nil, base_domain: nil, scheme: nil, profile: nil, debug: nil, _resolved: nil, extra_headers: nil) ⇒ ManagementClient
constructor
A new instance of ManagementClient.
Constructor Details
#initialize(api_key: nil, base_domain: nil, scheme: nil, profile: nil, debug: nil, _resolved: nil, extra_headers: nil) ⇒ ManagementClient
Returns a new instance of ManagementClient.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/smplkit/management/client.rb', line 37 def initialize(api_key: nil, base_domain: nil, scheme: nil, profile: nil, debug: nil, _resolved: nil, extra_headers: nil) cfg = _resolved || ConfigResolution.resolve_management_config( api_key: api_key, base_domain: base_domain, scheme: scheme, profile: profile, debug: debug ) Smplkit.enable_debug if cfg.debug @resolved = cfg @extra_headers = extra_headers @app_api_client = build_api_client(SmplkitGeneratedClient::App, "app", cfg) @config_api_client = build_api_client(SmplkitGeneratedClient::Config, "config", cfg) @flags_api_client = build_api_client(SmplkitGeneratedClient::Flags, "flags", cfg) @logging_api_client = build_api_client(SmplkitGeneratedClient::Logging, "logging", cfg) @audit_api_client = build_api_client(SmplkitGeneratedClient::Audit, "audit", cfg) @contexts = ContextsNamespace.new(@app_api_client) @context_types = ContextTypesNamespace.new(@app_api_client) @environments = EnvironmentsNamespace.new(@app_api_client) @account_settings = AccountSettingsNamespace.new(@app_api_client) @config = ConfigNamespace.new(@config_api_client) @flags = FlagsNamespace.new(@flags_api_client) @loggers = LoggersNamespace.new(@logging_api_client) @log_groups = LogGroupsNamespace.new(@logging_api_client) @audit = Management::AuditNamespace.new(@audit_api_client) end |
Instance Attribute Details
#account_settings ⇒ Object (readonly)
Returns the value of attribute account_settings.
30 31 32 |
# File 'lib/smplkit/management/client.rb', line 30 def account_settings @account_settings end |
#audit ⇒ Object (readonly)
Returns the value of attribute audit.
30 31 32 |
# File 'lib/smplkit/management/client.rb', line 30 def audit @audit end |
#config ⇒ Object (readonly)
Returns the value of attribute config.
30 31 32 |
# File 'lib/smplkit/management/client.rb', line 30 def config @config end |
#context_types ⇒ Object (readonly)
Returns the value of attribute context_types.
30 31 32 |
# File 'lib/smplkit/management/client.rb', line 30 def context_types @context_types end |
#contexts ⇒ Object (readonly)
Returns the value of attribute contexts.
30 31 32 |
# File 'lib/smplkit/management/client.rb', line 30 def contexts @contexts end |
#environments ⇒ Object (readonly)
Returns the value of attribute environments.
30 31 32 |
# File 'lib/smplkit/management/client.rb', line 30 def environments @environments end |
#flags ⇒ Object (readonly)
Returns the value of attribute flags.
30 31 32 |
# File 'lib/smplkit/management/client.rb', line 30 def flags @flags end |
#log_groups ⇒ Object (readonly)
Returns the value of attribute log_groups.
30 31 32 |
# File 'lib/smplkit/management/client.rb', line 30 def log_groups @log_groups end |
#loggers ⇒ Object (readonly)
Returns the value of attribute loggers.
30 31 32 |
# File 'lib/smplkit/management/client.rb', line 30 def loggers @loggers end |
Class Method Details
.from_resolved(resolved, extra_headers: nil) ⇒ Object
33 34 35 |
# File 'lib/smplkit/management/client.rb', line 33 def self.from_resolved(resolved, extra_headers: nil) new(_resolved: resolved, extra_headers: extra_headers) end |
Instance Method Details
#_app_http ⇒ Object
72 |
# File 'lib/smplkit/management/client.rb', line 72 def _app_http = @app_api_client |
#_audit_http ⇒ Object
76 |
# File 'lib/smplkit/management/client.rb', line 76 def _audit_http = @audit_api_client |
#_config_http ⇒ Object
73 |
# File 'lib/smplkit/management/client.rb', line 73 def _config_http = @config_api_client |
#_flags_http ⇒ Object
74 |
# File 'lib/smplkit/management/client.rb', line 74 def _flags_http = @flags_api_client |
#_logging_http ⇒ Object
75 |
# File 'lib/smplkit/management/client.rb', line 75 def _logging_http = @logging_api_client |
#_resolved ⇒ Object
71 |
# File 'lib/smplkit/management/client.rb', line 71 def _resolved = @resolved |
#close ⇒ Object
66 67 68 69 |
# File 'lib/smplkit/management/client.rb', line 66 def close # The generated ApiClient owns Faraday connections that release on GC. # No explicit shutdown is exposed; this stub keeps the API stable. end |