provenaclient.utils.config

Created Date: Tuesday May 28th 2024 +1000 Author: Peter Baker —– Last Modified: Tuesday May 28th 2024 11:18:32 am +1000 Modified By: Peter Baker —– Description: Defines the primary config object for the Provena Client - notably the endpoints. —– HISTORY: Date By Comments ———- — ———————————————————

Classes

APIOverrides

!!! abstract "Usage Documentation"

EndpointConfig

!!! abstract "Usage Documentation"

Config

Functions

optional_override_prefixor(→ str)

Helper function which performs the API prefixing while being override aware.

Module Contents

provenaclient.utils.config.optional_override_prefixor(domain: str, prefix: str, override: str | None) str[source]

Helper function which performs the API prefixing while being override aware.

If override supplied - uses it directly.

If not, prefixes with protocol and prefix suitably.

Parameters:
  • domain (str) – The domain base

  • prefix (str) – The API prefix

  • override (Optional[str]) – The optional override

Returns:

The URL

Return type:

str

class provenaclient.utils.config.APIOverrides(/, **data: Any)[source]

Bases: pydantic.BaseModel

!!! abstract “Usage Documentation”

[Models](../concepts/models.md)

A base class for creating Pydantic models.

__class_vars__

The names of the class variables defined on the model.

__private_attributes__

Metadata about the private attributes of the model.

__signature__

The synthesized __init__ [Signature][inspect.Signature] of the model.

__pydantic_complete__

Whether model building is completed, or if there are still undefined fields.

__pydantic_core_schema__

The core schema of the model.

__pydantic_custom_init__

Whether the model has a custom __init__ function.

__pydantic_decorators__

Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.

__pydantic_generic_metadata__

Metadata for generic models; contains data used for a similar purpose to __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.

__pydantic_parent_namespace__

Parent namespace of the model, used for automatic rebuilding of models.

__pydantic_post_init__

The name of the post-init method for the model, if defined.

__pydantic_root_model__

Whether the model is a [RootModel][pydantic.root_model.RootModel].

__pydantic_serializer__

The pydantic-core SchemaSerializer used to dump instances of the model.

__pydantic_validator__

The pydantic-core SchemaValidator used to validate instances of the model.

__pydantic_fields__

A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects.

__pydantic_computed_fields__

A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.

__pydantic_extra__

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

__pydantic_fields_set__

The names of fields explicitly set during instantiation.

__pydantic_private__

Values of private attributes set on the model instance.

datastore_api_endpoint_override: str | None = None
auth_api_endpoint_override: str | None = None
registry_api_endpoint_override: str | None = None
prov_api_endpoint_override: str | None = None
search_api_endpoint_override: str | None = None
search_service_endpoint_override: str | None = None
handle_service_api_endpoint_override: str | None = None
jobs_service_api_endpoint_override: str | None = None
keycloak_endpoint_override: str | None = None
class provenaclient.utils.config.EndpointConfig(/, **data: Any)[source]

Bases: pydantic.BaseModel

!!! abstract “Usage Documentation”

[Models](../concepts/models.md)

A base class for creating Pydantic models.

__class_vars__

The names of the class variables defined on the model.

__private_attributes__

Metadata about the private attributes of the model.

__signature__

The synthesized __init__ [Signature][inspect.Signature] of the model.

__pydantic_complete__

Whether model building is completed, or if there are still undefined fields.

__pydantic_core_schema__

The core schema of the model.

__pydantic_custom_init__

Whether the model has a custom __init__ function.

__pydantic_decorators__

Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.

__pydantic_generic_metadata__

Metadata for generic models; contains data used for a similar purpose to __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.

__pydantic_parent_namespace__

Parent namespace of the model, used for automatic rebuilding of models.

__pydantic_post_init__

The name of the post-init method for the model, if defined.

__pydantic_root_model__

Whether the model is a [RootModel][pydantic.root_model.RootModel].

__pydantic_serializer__

The pydantic-core SchemaSerializer used to dump instances of the model.

__pydantic_validator__

The pydantic-core SchemaValidator used to validate instances of the model.

__pydantic_fields__

A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects.

__pydantic_computed_fields__

A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.

__pydantic_extra__

A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to ‘allow’.

__pydantic_fields_set__

The names of fields explicitly set during instantiation.

__pydantic_private__

Values of private attributes set on the model instance.

domain: str
realm_name: str
api_overrides: APIOverrides
class provenaclient.utils.config.Config(domain: str, realm_name: str, api_overrides: APIOverrides = APIOverrides())[source]
_api_config: EndpointConfig
property search_api_endpoint: str

Generate the search api endpoint based on the provided domain, prefix and possible override value.

Returns:

A string containing the search api endpoint.

Return type:

str

property jobs_service_api_endpoint: str

Generate the job api endpoint based on the provided domain, prefix and possible override value.

Returns:

A string containing the job api endpoint.

Return type:

str

property handle_service_api_endpoint: str

Generate the handle_service api endpoint based on the provided domain, prefix and possible override value.

Returns:

A string containing the handle_service api endpoint.

Return type:

str

property search_service_endpoint: str

Generate the search_service api endpoint based on the provided domain, prefix and possible override value.

Returns:

A string containing the search_service api endpoint.

Return type:

str

property auth_api_endpoint: str

Generate the auth api endpoint based on the provided domain, prefix and possible override value.

Returns:

A string containing the auth api endpoint.

Return type:

str

property prov_api_endpoint: str

Generate the prov api endpoint based on the provided domain, prefix and possible override value.

Returns:

A string containing the prov api endpoint.

Return type:

str

property datastore_api_endpoint: str

Generate the datastore api endpoint based on the provided domain, prefix and possible override value.

Returns:

A string containing the datastore api endpoint.

Return type:

str

property registry_api_endpoint: str

Generate the registry api endpoint based on the provided domain, prefix and possible override value.

Returns:

A string containing the registry api endpoint.

Return type:

str

property keycloak_endpoint: str

Generate the keycloak realm endpoint using domain, realm_name and possible override value.

Returns:

A string containing the keycloak realm endpoint.

Return type:

str