@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