@startuml Title Application LCM Step 3 - Catalog Package skinparam sequenceArrowThickness 2 skinparam ParticipantPadding 5 skinparam BoxPadding 10 skinparam ArrowColor #blue autonumber
Box Personnel #lightblue Actor sOP as "SMO Operator" <<INT OTF>> End box
Box "SMO" #gold Participant sPMGR as "Package Manager" <<RICAPP>> Boundary MC as "Model Catalog" <<SMO MVC State Manager>> end box
== Catalog ==
sOP -> sPMGR : Catalog (applicationVersionID, modelCatalogEndPoint) sPMGR -> MC : GET ../applications/<applicationVersionID> alt if application not found note over sPMGR : Requested Version not in Catalog, return error else if application.State is NOT VALIDATED then note over sPMGR : Requested Version not in Validated State, return error else sPMGR -> sPMGR : GetDeploymentList loop foreach defined deployment configuration sPMGR -> MC : POST ../applications/<applicationVersionID>/deployments {deployment} return deploymentID
sPMGR -> sPMGR : GetDeploymentDescriptor sPMGR -> MC : POST ../applications/<applicationVersionID>/deployments/<deploymentID>/descriptor {deployment}
sPMGR -> sPMGR : GetPolicyProfiles loop foreach Policy Profile sPMGR -> MC : POST ../applications/<applicationVersionID>/deployments/<deploymentID>/policytype {policyProfile} end
sPMGR -> sPMGR : GetDataConsumptionInfo loop foreach dataConsumptionDefinition in dataConsumptionInfo sPMGR -> MC : POST ../applications/<applicationVersionID>/deployments/<deploymentID>/consumes {dataConsumptionDefinition} end
sPMGR -> sPMGR : GetDataPublicationInfo loop foreach dataPublicationDefinition in dataPublicationInfo sPMGR -> MC : POST ../applications/<applicationVersionID>/deployments/<deploymentID>/publishes {dataPublicationDefinition} end
sPMGR -> sPMGR : GetDeploymentConfigurationSchema sPMGR -> MC : POST ../applications/<applicationVersionID>/deployments/<deploymentID>/DeploymentConfiguration {deploymentConfiguration}
sPMGR -> sPMGR : GetApplicationConfigurationSchema sPMGR -> MC : POST ../applications/<applicationVersionID>/deployments/<deploymentID>/ApplicationConfiguration {applicationConfiguration}
sPMGR -> sPMGR : GetDeploymentImages loop foreach imageFile in deploymentImages sPMGR -> MC : POST ../applications/<applicationVersionID>/deployments/<deploymentID>/images {imageFile} end
sPMGR -> sPMGR : GetCertificates loop foreach certificate in applicationCertificates sPMGR -> MC : POST ../applications/<applicationVersionID>/deployments/<deploymentID>/certificates {certificate} end end end if
sPMGR --> sOP : Status
@enduml |