@@ -410,6 +410,7 @@ export namespace Accessor {
410410 | AtemMediaStore
411411 | FTP
412412 | KairosClip
413+ | S3
413414
414415 export enum AccessType {
415416 LOCAL_FOLDER = 'local_folder' ,
@@ -421,6 +422,7 @@ export namespace Accessor {
421422 ATEM_MEDIA_STORE = 'atem_media_store' ,
422423 FTP = 'ftp' ,
423424 KAIROS_CLIP = 'kairos_clip' ,
425+ S3 = 's3' ,
424426 }
425427
426428 /** Generic (used in extends) */
@@ -574,6 +576,33 @@ export namespace Accessor {
574576 /** Name/Id of the network the share exists on. Used to differ between different local networks. Leave empty if globally accessible. */
575577 networkId ?: string
576578 }
579+
580+ /** Definition of access to a generic FTP/SFTP endpoint. (Read-access only) */
581+ export interface S3 extends Base {
582+ type : AccessType . S3
583+
584+ /** Identifier of the S3 bucket */
585+ bucketId : string
586+
587+ /** AWS Access key */
588+ accessKey : string
589+
590+ /** AWS Secret access key */
591+ secretAccessKey : string
592+
593+ /** AWS region of the bucket */
594+ region : string
595+
596+ /** Base URL for the S3 bucket */
597+ s3PublicBaseUrl : string
598+
599+ /** S3 endpoint (obligatory for non-AWS S3 deployments). If undefined, AWS S3 is assumed */
600+ endpoint ?: string
601+
602+ /** If true, forces path-style URLs (required for some S3-compatible storage solutions that use path-style URLs for buckets)
603+ * i.e. use this is bucket URL is `http://localhost/test` instead of `http://test.localhost` */
604+ forcePathStyle ?: boolean
605+ }
577606}
578607/**
579608 * AccessorOnPackage contains interfaces for Accessor definitions that are put ON the Package.
@@ -591,6 +620,7 @@ export namespace AccessorOnPackage {
591620 | AtemMediaStore
592621 | FTP
593622 | KairosClip
623+ | S3
594624
595625 export interface LocalFolder extends Partial < Accessor . LocalFolder > {
596626 /** Path to the file (starting from .folderPath). If not set, the filePath of the ExpectedPackage will be used */
@@ -623,9 +653,15 @@ export namespace AccessorOnPackage {
623653 /** path to resource (combined with .basePath gives the full path), for example: /folder/myFile */
624654 path ?: string
625655 }
656+
626657 export interface KairosClip extends Partial < Accessor . KairosClip > {
627658 ref ?: MediaRamRecRef | MediaStillRef
628659 }
660+
661+ export interface S3 extends Partial < Accessor . S3 > {
662+ /** key of resource */
663+ filePath ?: string
664+ }
629665}
630666
631667export interface PackageContainerOnPackage extends Omit < PackageContainer , 'accessors' > {
0 commit comments