Interface MorpheusVirtualImageService

All Superinterfaces:
MorpheusDataQueryService<VirtualImage>, MorpheusDataService<VirtualImage,VirtualImageIdentityProjection>, MorpheusIdentityService<VirtualImageIdentityProjection>

Context methods for syncing VirtualImages in Morpheus
Since:
0.8.0
  • Method Details

    • getLocation

      The context for dealing with VirtualImageLocations
      Returns:
      MorpheusVirtualImageLocationService
    • getType

      The context for VirtualIMageType
    • listIdentityProjections

      io.reactivex.rxjava3.core.Observable<VirtualImageIdentityProjection> listIdentityProjections(Long cloudId)
      Get a list of VirtualImage projections based on Cloud id
      Parameters:
      cloudId - Cloud id
      Returns:
      Observable stream of sync projections
    • listIdentityProjections

      io.reactivex.rxjava3.core.Observable<VirtualImageIdentityProjection> listIdentityProjections(String provisionTypeCode)
      Get a list of VirtualImage projections based on Provision Type Code
      Parameters:
      provisionTypeCode - Provision Type Code
      Returns:
      Observable stream of sync projections
      Since:
      0.11.0
    • listIdentityProjections

      io.reactivex.rxjava3.core.Observable<VirtualImageIdentityProjection> listIdentityProjections(Long accountId, ImageType[] imageTypes)
      Get a list of VirtualImage projections that matches one of the provided ImageTypes and either the account owns or the account can access due to the visibility setting on the VirtualImage
      Parameters:
      accountId - Account Id
      imageTypes - Array of ImageTypes
      Returns:
      Observable stream of sync projections
    • listIdentityProjectionsByCategory

      @Deprecated(since="0.15.4") io.reactivex.rxjava3.core.Observable<VirtualImageIdentityProjection> listIdentityProjectionsByCategory(Long accountId, String[] categories)
      Deprecated.
      Get a list of VirtualImage projections that matches one of the provided categories and either the account owns or the account can access due to the visibility setting on the VirtualImage
      Parameters:
      accountId - Account ID
      categories - Array of categories
      Returns:
      Observable stream of sync projections
    • listIdentityProjectionsByCloudAndCategory

      @Deprecated(since="0.15.4") io.reactivex.rxjava3.core.Observable<VirtualImageIdentityProjection> listIdentityProjectionsByCloudAndCategory(Long accountId, Long cloudId, String[] categories)
      Deprecated.
      Get a list of VirtualImage projections that matches one of the provided categories and either the account owns or the account can access due to the visibility setting on the VirtualImage
      Parameters:
      accountId - Account ID
      cloudId - – Cloud ID
      categories - Array of categories
      Returns:
      Observable stream of sync projections
    • listSyncProjections

      @Deprecated io.reactivex.rxjava3.core.Observable<VirtualImageIdentityProjection> listSyncProjections(Long cloudId)
      Deprecated.
      Get a list of VirtualImage projections based on Cloud id
      Parameters:
      cloudId - Cloud id
      Returns:
      Observable stream of sync projections
    • listSyncProjections

      @Deprecated io.reactivex.rxjava3.core.Observable<VirtualImageIdentityProjection> listSyncProjections(String provisionTypeCode)
      Deprecated.
      Get a list of VirtualImage projections based on Provision Type Code
      Parameters:
      provisionTypeCode - Provision Type Code
      Returns:
      Observable stream of sync projections
      Since:
      0.11.0
    • listSyncProjections

      @Deprecated io.reactivex.rxjava3.core.Observable<VirtualImageIdentityProjection> listSyncProjections(Long accountId, ImageType[] imageTypes)
      Get a list of VirtualImage projections that matches one of the provided ImageTypes and either the account owns or the account can access due to the visibility setting on the VirtualImage
      Parameters:
      accountId - Account Id
      imageTypes - Array of ImageTypes
      Returns:
      Observable stream of sync projections
    • listSyncProjectionsByCategory

      @Deprecated io.reactivex.rxjava3.core.Observable<VirtualImageIdentityProjection> listSyncProjectionsByCategory(Long accountId, String[] categories)
      Get a list of VirtualImage projections that matches one of the provided categories and either the account owns or the account can access due to the visibility setting on the VirtualImage
      Parameters:
      accountId - Account ID
      categories - Array of categories
      Returns:
      Observable stream of sync projections
    • listSyncProjectionsByCloudAndCategory

      @Deprecated io.reactivex.rxjava3.core.Observable<VirtualImageIdentityProjection> listSyncProjectionsByCloudAndCategory(Long accountId, Long cloudId, String[] categories)
      Get a list of VirtualImage projections that matches one of the provided categories and either the account owns or the account can access due to the visibility setting on the VirtualImage
      Parameters:
      accountId - Account ID
      cloudId - – Cloud ID
      categories - Array of categories
      Returns:
      Observable stream of sync projections
    • listById

      @Deprecated(since="0.15.4") io.reactivex.rxjava3.core.Observable<VirtualImage> listById(Collection<Long> ids)
      Deprecated.
      Get a list of VirtualImage objects from a list of projection ids
      Parameters:
      ids - VirtualImage ids
      Returns:
      Observable stream of VirtualImages
    • save

      io.reactivex.rxjava3.core.Single<Boolean> save(List<VirtualImage> virtualImages, Cloud cloud)
      Save updates to existing VirtualImages NOTE: Any additions or removals of VirtualImageLocations related to the VirtualImage should be performed via the VirtualImageLocationService
      Parameters:
      virtualImages - updated VirtualImages
      cloud - the Cloud instance
      Returns:
      success
    • create

      io.reactivex.rxjava3.core.Single<Boolean> create(List<VirtualImage> virtualImages, Cloud cloud)
      Create new VirtualImages in Morpheus NOTE: Any additions of VirtualImageLocations related to the VirtualImage should be performed via the VirtualImageLocationService
      Parameters:
      virtualImages - new VirtualImages to persist
      cloud - the Cloud instance
      Returns:
      success
    • create

      io.reactivex.rxjava3.core.Single<VirtualImage> create(VirtualImage virtualImage, Cloud cloud)
      Create new VirtualImage in Morpheus NOTE: Any additions of VirtualImageLocations related to the VirtualImage should be performed via the VirtualImageLocationService
      Parameters:
      virtualImage - new VirtualImage to persist
      cloud - the Cloud instance
      Returns:
      the VirtualImage
    • remove

      @Deprecated(since="0.15.4") io.reactivex.rxjava3.core.Single<Boolean> remove(List<VirtualImageIdentityProjection> virtualImages, Cloud cloud)
      Remove persisted VirtualImages from Morpheus. Typically called during sync operations for the cloud to inform Morpheus that the VirtualImage no longer exists in the cloud
      Parameters:
      virtualImages - Images to remove
      Returns:
      success
    • getVirtualImageFiles

      io.reactivex.rxjava3.core.Single<Collection<com.bertramlabs.plugins.karman.CloudFile>> getVirtualImageFiles(VirtualImage virtualImage)
    • getCloudFileStreamUrl

      io.reactivex.rxjava3.core.Single<String> getCloudFileStreamUrl(VirtualImage virtualImage, com.bertramlabs.plugins.karman.CloudFile cloudFile, User createdBy, Cloud cloud)
      Get a one-off url for an image to upload to it to a cloud
      Parameters:
      virtualImage - the image
      cloudFile - the specific file
      createdBy - the user associated with the workload or server
      cloud - the Cloud instance
      Returns:
      the url of the image file
      Since:
      0.15.13