Skip to content

connector/provider

Step Summary
connector/provider/create_asset Register an asset at the provider connector.
connector/provider/create_contract_definition Publish assets by binding them to an access and a contract policy.
connector/provider/create_policy Register an ODRL policy definition at the provider connector.
connector/provider/delete_asset Delete an asset from the provider connector.
connector/provider/delete_contract_definition Delete a contract definition from the provider connector.
connector/provider/delete_policy Delete a policy definition from the provider connector.

connector/provider/create_asset

Register an asset at the provider connector.

What the asset is is not written into the step: it is configured once in the manifest's env.variables and handed to the step as a single asset input, so the same asset can be reused across tests. An asset that already exists is not an error: the connector answers 409 and the step reports the ID it would have created, so a test can be re-run against a provider it has already provisioned.

Inputs

Parameter Type Required Default Also accepts Description
asset object no {} — The whole asset definition, as declared by a 'config/connector/asset' manifest variable and referenced as '${{ env. }}'. Carries 'base_url', 'dct_type' or 'properties', 'version', 'semantic_id', 'proxy_params', 'headers', 'private_properties' and an optional '@context'.

Output — the value assertions and returns: read

Output contract of connector/provider/create_asset.

Field Type Description
asset_id string ID of the asset that now exists at the provider.

connector/provider/create_contract_definition

Publish assets by binding them to an access and a contract policy.

This is the step that makes an asset appear in the provider's catalog; the assets and both policies must already exist. The SDK's own create_contract only ever offers a single asset, so the definition is built here and posted through the contract-definition controller.

Inputs

Parameter Type Required Default Also accepts Description
contract_definition_id string no '' — Contract definition ID; a fresh UUID is used when omitted.
contract_policy_id any no '' — Policy governing what the consumer may do with the data.
access_policy_id any no '' — Policy governing who may see the offer at all.
asset_id any no '' — Single asset the contract definition offers; ignored when 'asset_selector' is given.
asset_selector list of FilterExpression no [] — Criteria selecting which assets the definition offers, for a definition that covers more than one. Wins over 'asset_id'.

Output — the value assertions and returns: read

Output contract of connector/provider/create_contract_definition.

Field Type Description
contract_definition_id string ID of the contract definition that now exists at the provider.

connector/provider/create_policy

Register an ODRL policy definition at the provider connector.

The rules are not written into the step: the policy is configured once in the manifest's env.variables and handed to the step as a single policy input, so the same policy can be reused across tests. As with create_asset, a 409 from the connector is reported as success against the existing policy rather than failing the step.

Inputs

Parameter Type Required Default Also accepts Description
policy object no {} — The whole ODRL policy, as declared by a 'config/connector/policy' manifest variable and referenced as '${{ env. }}'. Carries 'permissions', 'prohibitions', 'obligations', an optional '@context' and an optional 'policy_id'; a fresh UUID names the policy without one. The rules are read in the same two spellings the consumer steps read them in — the testlab simplified one and ODRL's own.

Output — the value assertions and returns: read

Output contract of connector/provider/create_policy.

Field Type Description
policy_id string ID of the policy that now exists at the provider.

connector/provider/delete_asset

Delete an asset from the provider connector.

Inputs

Parameter Type Required Default Also accepts Description
asset_id string no '' — Asset to delete; falls back to the 'asset_id' context variable.

Output — the value assertions and returns: read

What a delete step publishes: the status the server answered it with.

Field Type Description
status_code integer HTTP status the delete was answered with.

connector/provider/delete_contract_definition

Delete a contract definition from the provider connector.

Deleting this withdraws the offer from the catalog but leaves the asset and policies in place.

Inputs

Parameter Type Required Default Also accepts Description
contract_definition_id string no '' — Contract definition to delete; falls back to the 'contract_definition_id' context variable.

Output — the value assertions and returns: read

What a delete step publishes: the status the server answered it with.

Field Type Description
status_code integer HTTP status the delete was answered with.

connector/provider/delete_policy

Delete a policy definition from the provider connector.

Inputs

Parameter Type Required Default Also accepts Description
policy_id string no '' — Policy to delete; falls back to the 'policy_id' context variable.

Output — the value assertions and returns: read

What a delete step publishes: the status the server answered it with.

Field Type Description
status_code integer HTTP status the delete was answered with.

Nested objects

FilterExpression

One catalog filter criterion.

Field Type Required Default Also accepts Description
operand_left string yes — — Left-hand property of the criterion, e.g. 'https://w3id.org/edc/v0.0.1/ns/id'.
operator string no '=' — Comparison operator.
operand_right any no '' — Value the left-hand property is compared against.