ibm_aigov_facts_client.factsheet.centralized_model module
- class CentralizedModel(facts_client: FactsClientAdapter)
Bases:
object- store_model(model_meta: dict, model: str, inventory_id: str)
Publishes a model to IBM watsonx.ai repository. :param model: Local path to the model file (e.g., .pmml or .zip) :param model_meta: Metadata properties for the model (e.g., name, software spec, type) :param inventory_id: inventory id we the model will be published to :return: The published model metadata (dict) or None if failed
The way to use me is,:
centralized_model.store_model(model=model, model_meta=meta_props, inventory_id= inventory_id)
- get_model(model_id: str, inventory_id: str) dict
Retrieve model details from a specified container.
- Parameters:
model_id – The ID of the model to retrieve
inventory_id – The inventory ID where the model is stored
- Returns:
Model details as a dictionary
- Return type:
dict
The way to use me is,:
model_details = centralized_model.get_model( model_id="<model_id>", container_type="catalog", container_id="<inventory_id>" )
- copy_assets_to_container(inventory_id: str, asset_id: str, container_type: str, container_id: str, metadata_overrides: dict[str, Any] = None)
copy asset from Inventory to Project or Space
- Parameters:
inventory_id – inventory id.
asset_id (list) – List of assets ID’s to be deleted.
container_type – container type.
container_id – container id.
metadata_overrides – (optional) metadata_overrides.
- Return type:
None
- Returns:
assets copied successfully to a container.
The way to use me is,:
centralized_model.copy_assets_to_container(inventory_id,asset_id,container_type,container_id)
- delete_externally_managed_assets(inventory_id: str, asset_id: str)
Delete externally managed assets in Inventory
- Parameters:
inventory_id – inventory id.
asset_id – List of assets ID’s to be deleted.
- Return type:
None
- Returns:
assets are deleted.
The way to use me is,:
centralized_model.delete_deployments(inventory_id,asset_id)
- get_externally_managed_assets(inventory_id: str)
Get externally managed assets in an inventory
- Parameters:
inventory_id – inventory id.
- Returns:
externally managed asset
The way to use me is,:
centralized_model.get_externally_managed_asset(inventory_id)
- get_all_externally_managed_assets()
Get all externally managed assets in an account
- Returns:
externally managed asset
The way to use me is,:
centralized_model.get_externally_managed_asset()
- track_externally_managed_asset(asset_id: str, inventory_id: str, usecase: ModelUsecaseUtilities = None, approach: ApproachUtilities = None, grc_model: dict = None, version_number: str = None, version_comment: str = None)
Link Model to model use case. Model asset should be stored in either Project or Space and corrsponding ID should be provided when registering to model use case.
Supported for CPD version >=4.7.0
- Parameters:
usecase (ModelUsecaseUtilities) – Instance of ModelUsecaseUtilities
approach (ApproachUtilities) – Instance of ApproachUtilities
:param asset_id : The asset id :param inventory_id : The inventory id :param str grc_model: (Optional) Openpages model id. Only applicable for CPD environments. This should be dictionary, output of get_grc_model() :param str version_number: Version number of model. supports either a semantic versioning string or one of the following keywords for auto-incrementing based on the latest version in the approach: “patch”, “minor”, “major” :param str version_comment: (Optional) An optional comment describing the changes made in this version
- Return type:
For tracking model with model usecase:
>>> centralized_model.track(usecase=<instance of ModelUsecaseUtilities>,approach=<instance of ApproachUtilities>,version_number=<version>)
- untrack_externally_managed_asset(asset_id: str, inventory_id: str)
untrack model from it’s usecase and approach
- Parameters:
asset_id – asset id.
inventory_id –
inventory id.
The way to use me is,:
>>> centralized_model.untrack()
- set_phase_for_externally_managed_asset(to_container: str, asset_id: str, inventory_id: str) None
Set externally managed assets to a phase
- Parameters:
to_container – container phase .
asset_id – asset id
inventory_id – inventory id
- Returns:
externally managed asset
The way to use me is,:
centralized_model.get_externally_managed_asset(inventory_id)
- add_deployments(asset_id: str, inventory_id: str, phase: str, deployments: list = None, bss_account_id: str = None, call_ref: str = None) list
Adds deployments for external models for documentation purposes only. Supported for CPD version 4.7.0 and above
- Parameters:
asset_id – The asset ID of the externally managed asset
inventory_id – The inventory ID where the asset is located
phase – The lifecycle phase for the deployment (e.g., ‘Develop’, ‘Validate’, ‘Operate’)
deployments (list) – List of deployments to be added. Provide deployments in a list.
bss_account_id – (optional) BSS account ID
call_ref – (optional) Call reference
- Return type:
list(Deployment)
- Returns:
External model deployments are added
The way to use me is,:
centralized_model.add_deployments( asset_id="<asset_id>", inventory_id="<inventory_id>", phase="Operate", deployments=[{ "id":"<id>", "name":"<name>", "type":"<type>", "scoring_endpoint":"<scoring_endpoint>", "description":"<description>" }], bss_account_id="<bss_account_id>", call_ref="<call_ref>" )
- get_deployments(asset_id: str, inventory_id: str, phase: str, deployment_id: str = None, bss_account_id: str = None, call_ref: str = None) List
Get all deployment details in Lifecycle Phase of Externally Managed Asset
- Parameters:
asset_id – The asset ID of the externally managed asset
inventory_id – The inventory ID where the asset is located
phase – The lifecycle phase for the deployment (e.g., ‘Develop’, ‘Validate’, ‘Operate’)
deployment_id – (optional) Specific deployment ID to retrieve. If not provided, returns all deployments
bss_account_id – (optional) BSS account ID
call_ref – (optional) Call reference
- Returns:
All deployment details for external model
- Return type:
list(Deployment) or dict
The way to use me is,:
centralized_model.get_deployments( asset_id="<asset_id>", inventory_id="<inventory_id>", phase="Operate" ) # Or get a specific deployment centralized_model.get_deployments( asset_id="<asset_id>", inventory_id="<inventory_id>", phase="Operate", deployment_id="<deployment_id>" )
- delete_deployments(asset_id: str, inventory_id: str, deployment_ids: list, phase: str, bss_account_id: str = None, call_ref: str = None) dict
Delete multiple deployments in Lifecycle Phase of Externally Managed Asset
- Parameters:
asset_id – The asset ID of the externally managed asset
inventory_id – The inventory ID where the asset is located
deployment_ids – List of deployment IDs to delete
phase – The lifecycle phase for the deployment (e.g., ‘Develop’, ‘Validate’, ‘Operate’)
bss_account_id – (optional) BSS account ID
call_ref – (optional) Call reference
- Return type:
dict
The way to use me is,:
result = centralized_model.delete_deployments( asset_id="<asset_id>", inventory_id="<inventory_id>", deployment_ids=["<deployment_id_1>", "<deployment_id_2>", "<deployment_id_3>"], phase="Operate" )