createHarvestJob

Creates a new harvest job to export content from a MediaPackage v2 channel to an S3 bucket.

Samples

import aws.sdk.kotlin.services.mediapackagev2.model.Destination
import aws.sdk.kotlin.services.mediapackagev2.model.HarvestedDashManifest
import aws.sdk.kotlin.services.mediapackagev2.model.HarvestedHlsManifest
import aws.sdk.kotlin.services.mediapackagev2.model.HarvestedLowLatencyHlsManifest
import aws.sdk.kotlin.services.mediapackagev2.model.HarvestedManifests
import aws.sdk.kotlin.services.mediapackagev2.model.HarvesterScheduleConfiguration
import aws.sdk.kotlin.services.mediapackagev2.model.S3DestinationConfig

fun main() { 
   //sampleStart 
   // Creating a Harvest Job
val resp = mediaPackageV2Client.createHarvestJob {
    channelGroupName = "exampleChannelGroup"
    channelName = "exampleChannelName"
    originEndpointName = "exampleOriginEndpointName"
    description = "Example HarvestJob description"
    harvestedManifests = HarvestedManifests {
        hlsManifests = listOf<HarvestedHlsManifest>(
            HarvestedHlsManifest {
                manifestName = "HlsManifest"
            }                
        )
        dashManifests = listOf<HarvestedDashManifest>(
            HarvestedDashManifest {
                manifestName = "DashManifest"
            }                
        )
        lowLatencyHlsManifests = listOf<HarvestedLowLatencyHlsManifest>(
            HarvestedLowLatencyHlsManifest {
                manifestName = "LowLatencyHlsManifest"
            }                
        )
    }
    scheduleConfiguration = HarvesterScheduleConfiguration {
        startTime = "2024-05-28T06:00:00.00Z"
        endTime = "2024-05-28T12:00:00.00Z"
    }
    destination = Destination {
        s3Destination = S3DestinationConfig {
            bucketName = "harvestJobS3DestinationBucket"
            destinationPath = "manifests"
        }
    }
} 
   //sampleEnd
}