pub trait DatastoreCreationProvisioner: Send + Sync {
type Pending;
Show 13 methods
// Required methods
fn begin(
&self,
plan: &DatastoreCreationPlan,
_administrator: &ResolvedOperationSecret,
catalog_credential: &SecretMaterial,
) -> DatastoreCreationStart<Self::Pending>;
fn initialize_lake(
&self,
pending: &mut Self::Pending,
plan: &DatastoreCreationPlan,
catalog_credential: &SecretMaterial,
storage: &[ResolvedCreationStorageSecret],
) -> Result<(), DatastoreCreationFailure>;
fn verify(
&self,
pending: &mut Self::Pending,
plan: &DatastoreCreationPlan,
) -> Result<(), DatastoreCreationFailure>;
fn mark_ready(
&self,
pending: &mut Self::Pending,
credential: &CreatedCatalogCredential,
) -> Result<(), DatastoreCreationFailure>;
fn mark_failed(
&self,
pending: &mut Self::Pending,
failure: &DatastoreCreationFailure,
) -> Result<(), DatastoreCreationFailure>;
// Provided methods
fn find_existing(
&self,
_plan: &DatastoreCreationPlan,
_administrator: &ResolvedOperationSecret,
) -> Result<Option<DatastoreIdentityBinding>, DatastoreCreationFailure> { ... }
fn inspect_all_bindings(
&self,
_target: &PostgresqlBindingInspectionTarget,
_administrator: &ResolvedOperationSecret,
) -> Result<Vec<DatastoreIdentityBinding>, DatastoreCreationFailure> { ... }
fn verify_existing(
&self,
_plan: &DatastoreCreationPlan,
_binding: &DatastoreIdentityBinding,
_administrator: &ResolvedOperationSecret,
_catalog_credential: &ResolvedOperationSecret,
_storage: &[ResolvedCreationStorageSecret],
) -> Result<(), DatastoreCreationFailure> { ... }
fn plan_governance(
&self,
_plan: &DatastoreCreationPlan,
_binding: &DatastoreIdentityBinding,
_administrator: &ResolvedOperationSecret,
_catalog: &ResolvedOperationSecret,
_storage: &[ResolvedCreationStorageSecret],
) -> Result<GovernanceUpgradePlan, DatastoreCreationFailure> { ... }
fn upgrade_governance(
&self,
_plan: &DatastoreCreationPlan,
_binding: &DatastoreIdentityBinding,
_administrator: &ResolvedOperationSecret,
_catalog_credential: &ResolvedOperationSecret,
_storage: &[ResolvedCreationStorageSecret],
_batch: u32,
) -> Result<GovernanceUpgradeProgress, DatastoreCreationFailure> { ... }
fn seed_demo(
&self,
_plan: &DatastoreCreationPlan,
_binding: &DatastoreIdentityBinding,
_administrator: &ResolvedOperationSecret,
_catalog_credential: &ResolvedOperationSecret,
_storage: &[ResolvedCreationStorageSecret],
) -> Result<(), DatastoreCreationFailure> { ... }
fn apply_catalog_credential_rotation(
&self,
_plan: &DatastoreCreationPlan,
_binding: &DatastoreIdentityBinding,
_administrator: &ResolvedOperationSecret,
_prior: &ResolvedOperationSecret,
_staged: &StagedCatalogCredential,
_rotated_at: DateTime<Utc>,
) -> Result<DatastoreIdentityBinding, DatastoreCreationFailure> { ... }
fn rollback_catalog_credential_rotation(
&self,
_plan: &DatastoreCreationPlan,
_binding: &DatastoreIdentityBinding,
_administrator: &ResolvedOperationSecret,
_prior: &ResolvedOperationSecret,
) -> Result<(), DatastoreCreationFailure> { ... }
}Expand description
Adapter-owned phases of the cross-store creation saga.
Required Associated Types§
Required Methods§
Sourcefn begin(
&self,
plan: &DatastoreCreationPlan,
_administrator: &ResolvedOperationSecret,
catalog_credential: &SecretMaterial,
) -> DatastoreCreationStart<Self::Pending>
fn begin( &self, plan: &DatastoreCreationPlan, _administrator: &ResolvedOperationSecret, catalog_credential: &SecretMaterial, ) -> DatastoreCreationStart<Self::Pending>
Creates PostgreSQL resources and persists the singleton creating binding.