aws_s3_stream_wrapper-1.0.x-dev/aws_s3_stream_wrapper.services.yml
aws_s3_stream_wrapper.services.yml
---
services:
# Abstract service which acts as the parent for concrete implementations.
aws_s3_stream_wrapper.stream_wrapper:
abstract: true
class: Drupal\aws_s3_stream_wrapper\StreamWrapper\S3StreamWrapper
calls:
# Additional calls are added dynamically during compiler-pass.
- ['setConfig', ['@config.factory']]
# Generic stream wrapper for the 's3://' protocol.
# This stream-wrapper is not visible in the Drupal UI.
aws_s3_stream_wrapper.stream_wrapper.s3:
parent: aws_s3_stream_wrapper.stream_wrapper
tags:
- { name: s3_stream_wrapper, scheme: s3 }
# Service decorator for the 'stream_wrapper_manager' service.
aws_s3_stream_wrapper.manager:
class: Drupal\aws_s3_stream_wrapper\StreamWrapper\S3StreamWrapperManager
decorates: stream_wrapper_manager
arguments:
- '@aws_s3_stream_wrapper.manager.inner'
- '@aws_s3_stream_wrapper.s3_client'
- '@config.factory'
# Create a configured S3 client to provide to the stream-wrapper service.
aws_s3_stream_wrapper.s3_client:
factory: ['Drupal\aws_s3_stream_wrapper\S3ClientFactory', 'createS3Client']
class: Aws\S3\S3ClientInterface
