Create a provider for the duration of the block, then delete it.
(
stub: object,
*,
name: str,
provider_type: str,
credentials: dict[str, str],
)
| 65 | |
| 66 | @contextmanager |
| 67 | def provider( |
| 68 | stub: object, |
| 69 | *, |
| 70 | name: str, |
| 71 | provider_type: str, |
| 72 | credentials: dict[str, str], |
| 73 | ) -> Iterator[str]: |
| 74 | """Create a provider for the duration of the block, then delete it.""" |
| 75 | _delete_provider(stub, name) |
| 76 | stub.CreateProvider( |
| 77 | openshell_pb2.CreateProviderRequest( |
| 78 | provider=datamodel_pb2.Provider( |
| 79 | metadata=datamodel_pb2.ObjectMeta(name=name), |
| 80 | type=provider_type, |
| 81 | credentials=credentials, |
| 82 | ) |
| 83 | ) |
| 84 | ) |
| 85 | try: |
| 86 | yield name |
| 87 | finally: |
| 88 | _delete_provider(stub, name) |
| 89 | |
| 90 | |
| 91 | def _delete_provider(stub: object, name: str) -> None: |
no test coverage detected