From d22e293c6ff7480370897dfc7e9c506afee6eda4 Mon Sep 17 00:00:00 2001 From: Sam Bobroff Date: Wed, 19 Jul 2023 18:09:54 +1000 Subject: [PATCH] Chime Sdk Media Pipelines Add functions and required types for some of the Chime Media Pipelines API: - CreateMediaCapturePipeline - DeleteMediaCapturePipeline - CreateMediaConcatenationPipeline --- lib/ex_aws/chime.ex | 10 +-- lib/ex_aws/chime/media_pipelines.ex | 66 +++++++++++++++++++ .../artifacts_concatenation_configuration.ex | 35 ++++++++++ .../artifacts_configuration.ex | 21 ++++++ .../audio_artifacts_configuration.ex | 16 +++++ .../audio_concatenation_configuration.ex | 15 +++++ ...sdk_meeting_concatenation_configuration.ex | 15 +++++ .../chime_sdk_meeting_configuration.ex | 20 ++++++ ...omposited_video_artifacts_configuration.ex | 20 ++++++ ...sited_video_concatenation_configuration.ex | 15 +++++ .../media_pipelines/concatenation_sink.ex | 18 +++++ .../media_pipelines/concatenation_source.ex | 19 ++++++ .../content_artifacts_configuration.ex | 19 ++++++ .../content_concatenation_configuration.ex | 15 +++++ ...ata_channel_concatenation_configuration.ex | 15 +++++ .../grid_view_configuration.ex | 18 +++++ ...a_capture_pipeline_source_configuration.ex | 18 +++++ ...ting_events_concatenation_configuration.ex | 15 +++++ .../presenter_only_configuration.ex | 15 +++++ .../s3_bucket_sink_configuration.ex | 16 +++++ .../media_pipelines/selected_video_streams.ex | 17 +++++ .../media_pipelines/source_configuration.ex | 15 +++++ ...on_messages_concatenation_configuration.ex | 15 +++++ .../video_artifacts_configuration.ex | 19 ++++++ .../video_concatenation_configuration.ex | 15 +++++ mix.exs | 2 +- mix.lock | 6 +- 27 files changed, 481 insertions(+), 9 deletions(-) create mode 100644 lib/ex_aws/chime/media_pipelines.ex create mode 100644 lib/ex_aws/chime/media_pipelines/artifacts_concatenation_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/artifacts_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/audio_artifacts_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/audio_concatenation_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/chime_sdk_meeting_concatenation_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/chime_sdk_meeting_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/composited_video_artifacts_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/composited_video_concatenation_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/concatenation_sink.ex create mode 100644 lib/ex_aws/chime/media_pipelines/concatenation_source.ex create mode 100644 lib/ex_aws/chime/media_pipelines/content_artifacts_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/content_concatenation_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/data_channel_concatenation_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/grid_view_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/media_capture_pipeline_source_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/meeting_events_concatenation_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/presenter_only_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/s3_bucket_sink_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/selected_video_streams.ex create mode 100644 lib/ex_aws/chime/media_pipelines/source_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/transcription_messages_concatenation_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/video_artifacts_configuration.ex create mode 100644 lib/ex_aws/chime/media_pipelines/video_concatenation_configuration.ex diff --git a/lib/ex_aws/chime.ex b/lib/ex_aws/chime.ex index f612873..e7a8075 100644 --- a/lib/ex_aws/chime.ex +++ b/lib/ex_aws/chime.ex @@ -1231,7 +1231,7 @@ defmodule ExAws.Chime do defp parse({:error, error}, _), do: {:error, error} - defp normalise_data(struct) when is_map(struct) do + def normalise_data(struct) when is_map(struct) do struct |> Map.drop([:__struct__]) |> Enum.reduce(%{}, fn @@ -1241,8 +1241,8 @@ defmodule ExAws.Chime do end) end - defp normalise_data(v) when is_list(v), do: Enum.map(v, &normalise_data/1) - defp normalise_data(v) when is_binary(v), do: v - defp normalise_data(v) when is_integer(v), do: v - defp normalise_data(v) when is_boolean(v), do: v + def normalise_data(v) when is_list(v), do: Enum.map(v, &normalise_data/1) + def normalise_data(v) when is_binary(v), do: v + def normalise_data(v) when is_integer(v), do: v + def normalise_data(v) when is_boolean(v), do: v end diff --git a/lib/ex_aws/chime/media_pipelines.ex b/lib/ex_aws/chime/media_pipelines.ex new file mode 100644 index 0000000..cd0ce1a --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines.ex @@ -0,0 +1,66 @@ +defmodule ExAws.Chime.MediaPipelines do + @moduledoc """ + """ + + alias ExAws.Chime + alias ExAws.Operation.JSON + alias ExAws.Operation.RestQuery + + ### AWS Chime Media Pipelines API + + @spec create_media_capture_pipeline( + String.t(), + String.t(), + ChimeSdkMeetingConfiguration.t(), + [Tag.t()] | nil + ) :: JSON.t() + def create_media_capture_pipeline(source_arn, sink_arn, config \\ nil, tags \\ nil) do + json_request( + "/sdk-media-capture-pipelines", + %{ + SourceType: "ChimeSdkMeeting", + SourceArn: source_arn, + SinkType: "S3Bucket", + SinkArn: sink_arn, + ChimeSdkMeetingConfiguration: config, + Tags: tags + } + ) + end + + @spec delete_media_capture_pipeline(String.t()) :: JSON.t() + def delete_media_capture_pipeline(pipeline_id) do + json_request( + "/sdk-media-capture-pipelines/#{pipeline_id}", + %{}, + :delete + ) + end + + # See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaConcatenationPipeline.html + @spec create_media_concatenation_pipeline([ConcatenationSource.t()], [ConcatenationSink.t()], [ + Tag.t() | nil + ]) :: JSON.t() + def create_media_concatenation_pipeline(sources, sinks, tags \\ nil) do + json_request( + "/sdk-media-concatenation-pipelines", + %{ + Sources: sources, + Sinks: sinks, + Tags: tags + } + ) + end + + ### HELPERS + + defp json_request(path, data, method \\ :post) do + %JSON{ + headers: [{"content-type", "application/json"}], + http_method: method, + path: path, + data: Chime.normalise_data(data), + service: :"chime-sdk-media-pipelines" + } + end +end diff --git a/lib/ex_aws/chime/media_pipelines/artifacts_concatenation_configuration.ex b/lib/ex_aws/chime/media_pipelines/artifacts_concatenation_configuration.ex new file mode 100644 index 0000000..c2b05ae --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/artifacts_concatenation_configuration.ex @@ -0,0 +1,35 @@ +defmodule ExAws.Chime.MediaPipelines.ArtifactsConcatenationConfiguration do + @moduledoc """ + Module representing the Chime ArtifactsConcatenationConfiguration data type + + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_ArtifactsConcatenationConfiguration.html + """ + + defstruct [ + :audio, + :composited_video, + :content, + :data_channel, + :meeting_events, + :transcription_messages, + :video + ] + + alias ExAws.Chime.MediaPipelines.AudioConcatenationConfiguration + alias ExAws.Chime.MediaPipelines.CompositedVideoConcatenationConfiguration + alias ExAws.Chime.MediaPipelines.ConcentConcatenationConfiguration + alias ExAws.Chime.MediaPipelines.DataChannelConcatenationConfiguration + alias ExAws.Chime.MediaPipelines.MeetingEventsConcatenationConfiguration + alias ExAws.Chime.MediaPipelines.TranscriptionMessagesConcatenationConfiguration + alias ExAws.Chime.MediaPipelines.VideoConcatenationConfiguration + + @type t :: %__MODULE__{ + audio: AudioConcatenationConfiguration.t(), + composited_video: CompositedVideoConcatenationConfiguration.t(), + content: ConcentConcatenationConfiguration.t(), + data_channel: DataChannelConcatenationConfiguration.t(), + meeting_events: MeetingEventsConcatenationConfiguration.t(), + transcription_messages: TranscriptionMessagesConcatenationConfiguration.t(), + video: VideoConcatenationConfiguration.t() + } +end diff --git a/lib/ex_aws/chime/media_pipelines/artifacts_configuration.ex b/lib/ex_aws/chime/media_pipelines/artifacts_configuration.ex new file mode 100644 index 0000000..51d23ab --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/artifacts_configuration.ex @@ -0,0 +1,21 @@ +defmodule ExAws.Chime.MediaPipelines.ArtifactsConfiguration do + @moduledoc """ + Module representing the Chime ArtifactsConfiguration data type + + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_ArtifactsConfiguration.html + """ + + defstruct [ + :audio, + :content, + :video, + :composited_video + ] + + @type t :: %__MODULE__{ + audio: ExAws.Chime.MediaPipelines.AudioArtifactsConfiguration.t(), + content: ExAws.Chime.MediaPipelines.ConcentArtifactsConfiguration.t(), + video: ExAws.Chime.MediaPipelines.VideoArtifactsConfiguration.t(), + composited_video: ExAws.Chime.MediaPipelines.CompositedVideoArtifactsConfiguration.t() + } +end diff --git a/lib/ex_aws/chime/media_pipelines/audio_artifacts_configuration.ex b/lib/ex_aws/chime/media_pipelines/audio_artifacts_configuration.ex new file mode 100644 index 0000000..4835c6a --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/audio_artifacts_configuration.ex @@ -0,0 +1,16 @@ +defmodule ExAws.Chime.MediaPipelines.AudioArtifactsConfiguration do + @moduledoc """ + Module representing the Chime AudioArtifactsConfiguration data type + + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_AudioArtifactsConfiguration.html + """ + + defstruct [ + :mux_type + ] + + @type t :: %__MODULE__{ + # AudioOnly | AudioWithActiveSpeakerVideo | AudioWithCompositedVideo + mux_type: String.t() + } +end diff --git a/lib/ex_aws/chime/media_pipelines/audio_concatenation_configuration.ex b/lib/ex_aws/chime/media_pipelines/audio_concatenation_configuration.ex new file mode 100644 index 0000000..6136674 --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/audio_concatenation_configuration.ex @@ -0,0 +1,15 @@ +defmodule ExAws.Chime.MediaPipelines.AudioConcatenationConfiguration do + @moduledoc """ + Module representing the Chime AudioConcatenationConfiguration data type + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_AudioConcatenationConfiguration.html + """ + + defstruct [ + :state + ] + + @type t :: %__MODULE__{ + # Enabled | Disabled + state: String.t() + } +end diff --git a/lib/ex_aws/chime/media_pipelines/chime_sdk_meeting_concatenation_configuration.ex b/lib/ex_aws/chime/media_pipelines/chime_sdk_meeting_concatenation_configuration.ex new file mode 100644 index 0000000..c096dd6 --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/chime_sdk_meeting_concatenation_configuration.ex @@ -0,0 +1,15 @@ +defmodule ExAws.Chime.MediaPipelines.ChimeSdkMeetingConcatenationConfiguration do + @moduledoc """ + Module representing the Chime ChimeSdkMeetingConcatenationConfiguration data type. + + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_ChimeSdkMeetingConcatenationConfiguration.html + """ + + defstruct [ + :artifacts_configuration + ] + + @type t :: %__MODULE__{ + artifacts_configuration: ArtifactsConcatenationConfiguration.t() + } +end diff --git a/lib/ex_aws/chime/media_pipelines/chime_sdk_meeting_configuration.ex b/lib/ex_aws/chime/media_pipelines/chime_sdk_meeting_configuration.ex new file mode 100644 index 0000000..0b7a2ef --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/chime_sdk_meeting_configuration.ex @@ -0,0 +1,20 @@ +defmodule ExAws.Chime.ChimeSdkMeetingConfiguration do + @moduledoc """ + Module representing the Chime ChimeSdkMeetingConfiguration data type. + + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_ChimeSdkMeetingConfiguration.html + """ + + alias ExAws.Chime.MediaPipelines.ArtifactsConfiguration + alias ExAws.Chime.MediaPipelines.SourceConfiguration + + defstruct [ + :artifacts_configuration, + :source_configuration + ] + + @type t :: %__MODULE__{ + artifacts_configuration: ArtifactsConfiguration.t() | nil, + source_configuration: SourceConfiguration.t() | nil + } +end diff --git a/lib/ex_aws/chime/media_pipelines/composited_video_artifacts_configuration.ex b/lib/ex_aws/chime/media_pipelines/composited_video_artifacts_configuration.ex new file mode 100644 index 0000000..c34c839 --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/composited_video_artifacts_configuration.ex @@ -0,0 +1,20 @@ +defmodule ExAws.Chime.MediaPipelines.CompositedVideoArtifactsConfiguration do + @moduledoc """ + Module representing the Chime CompositedVideoArtifactsConfiguration data type + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CompositedVideoArtifactsConfiguration.html + """ + + defstruct [ + :grid_view_configuration, + :layout, + :resolution + ] + + @type t :: %__MODULE__{ + grid_view_configuration: ExAws.Chime.MediaPipelines.GridViewConfiguration.t(), + # GridView + layout: String.t() | nil, + # HD | FHD + resolution: String.t() | nil + } +end diff --git a/lib/ex_aws/chime/media_pipelines/composited_video_concatenation_configuration.ex b/lib/ex_aws/chime/media_pipelines/composited_video_concatenation_configuration.ex new file mode 100644 index 0000000..64ce30a --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/composited_video_concatenation_configuration.ex @@ -0,0 +1,15 @@ +defmodule ExAws.Chime.MediaPipelines.CompositedVideoConcatenationConfiguration do + @moduledoc """ + Module representing the Chime CompositedVideoConcatenationConfiguration data type + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CompositedVideoConcatenationConfiguration.html + """ + + defstruct [ + :state + ] + + @type t :: %__MODULE__{ + # Enabled | Disabled + state: String.t() + } +end diff --git a/lib/ex_aws/chime/media_pipelines/concatenation_sink.ex b/lib/ex_aws/chime/media_pipelines/concatenation_sink.ex new file mode 100644 index 0000000..36213a3 --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/concatenation_sink.ex @@ -0,0 +1,18 @@ +defmodule ExAws.Chime.MediaPipelines.ConcatenationSink do + @moduledoc """ + Module representing the Chime ConcatenationSink data type + + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_ConcatenationSink.html + """ + + defstruct [ + :s3_bucket_sink_configuration, + :type + ] + + @type t :: %__MODULE__{ + s3_bucket_sink_configuration: ExAws.Chime.MediaPipelines.S3BucketSinkConfiguration.t(), + # S3Bucket + type: String.t() + } +end diff --git a/lib/ex_aws/chime/media_pipelines/concatenation_source.ex b/lib/ex_aws/chime/media_pipelines/concatenation_source.ex new file mode 100644 index 0000000..b28cfe2 --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/concatenation_source.ex @@ -0,0 +1,19 @@ +defmodule ExAws.Chime.MediaPipelines.ConcatenationSource do + @moduledoc """ + Module representing the Chime ConcatenationSource data type + + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_ConcatenationSource.html + """ + + defstruct [ + :media_capture_pipeline_source_configuration, + :type + ] + + @type t :: %__MODULE__{ + media_capture_pipeline_source_configuration: + ExAws.Chime.MediaPipelines.MediaCapturePipelineSourceConfiguration.t(), + # MediaCapturePipeline + type: String.t() + } +end diff --git a/lib/ex_aws/chime/media_pipelines/content_artifacts_configuration.ex b/lib/ex_aws/chime/media_pipelines/content_artifacts_configuration.ex new file mode 100644 index 0000000..3d9a645 --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/content_artifacts_configuration.ex @@ -0,0 +1,19 @@ +defmodule ExAws.Chime.MediaPipelines.ContentArtifactsConfiguration do + @moduledoc """ + Module representing the Chime ContentArtifactsConfiguration data type + + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_ContentArtifactsConfiguration.html + """ + + defstruct [ + :state, + :mux_type + ] + + @type t :: %__MODULE__{ + # Enabled | Disabled + state: String.t(), + # ContentOnly + mux_type: String.t() | nil + } +end diff --git a/lib/ex_aws/chime/media_pipelines/content_concatenation_configuration.ex b/lib/ex_aws/chime/media_pipelines/content_concatenation_configuration.ex new file mode 100644 index 0000000..4aa0972 --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/content_concatenation_configuration.ex @@ -0,0 +1,15 @@ +defmodule ExAws.Chime.MediaPipelines.ContentConcatenationConfiguration do + @moduledoc """ + Module representing the Chime ContentConcatenationConfiguration data type + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_ContentConcatenationConfiguration.html + """ + + defstruct [ + :state + ] + + @type t :: %__MODULE__{ + # Enabled | Disabled + state: String.t() + } +end diff --git a/lib/ex_aws/chime/media_pipelines/data_channel_concatenation_configuration.ex b/lib/ex_aws/chime/media_pipelines/data_channel_concatenation_configuration.ex new file mode 100644 index 0000000..df6c90b --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/data_channel_concatenation_configuration.ex @@ -0,0 +1,15 @@ +defmodule ExAws.Chime.MediaPipelines.DataChannelConcatenationConfiguration do + @moduledoc """ + Module representing the Chime DataChannelConcatenationConfiguration data type + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_DataChannelConcatenationConfiguration.html + """ + + defstruct [ + :state + ] + + @type t :: %__MODULE__{ + # Enabled | Disabled + state: String.t() + } +end diff --git a/lib/ex_aws/chime/media_pipelines/grid_view_configuration.ex b/lib/ex_aws/chime/media_pipelines/grid_view_configuration.ex new file mode 100644 index 0000000..8a0d3c7 --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/grid_view_configuration.ex @@ -0,0 +1,18 @@ +defmodule ExAws.Chime.MediaPipelines.GridViewConfiguration do + @moduledoc """ + Module representing the Chime GridViewConfiguration data type + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_GridViewConfiguration.html + """ + + defstruct [ + :contents_share_layout, + :presenter_only_configuration + ] + + @type t :: %__MODULE__{ + # PresenterOnly | Horizontal | Vertical + contents_share_layout: String.t(), + presenter_only_configuration: + ExAws.Chime.MediaPipelines.PresenterOnlyConfiguration.t() | nil + } +end diff --git a/lib/ex_aws/chime/media_pipelines/media_capture_pipeline_source_configuration.ex b/lib/ex_aws/chime/media_pipelines/media_capture_pipeline_source_configuration.ex new file mode 100644 index 0000000..9368a6f --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/media_capture_pipeline_source_configuration.ex @@ -0,0 +1,18 @@ +defmodule ExAws.Chime.MediaPipelines.MediaCapturePipelineSourceConfiguration do + @moduledoc """ + Module representing the Chime MediaCapturePipelineSourceConfiguration data type + + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_MediaCapturePipelineSourceConfiguration.html + """ + + defstruct [ + :chime_sdk_meeting_configuration, + :media_pipeline_arn + ] + + @type t :: %__MODULE__{ + chime_sdk_meeting_configuration: + ExAws.Chime.MediaPipelines.ChimeSdkMeetingConcatenationConfiguration.t(), + media_pipeline_arn: String.t() + } +end diff --git a/lib/ex_aws/chime/media_pipelines/meeting_events_concatenation_configuration.ex b/lib/ex_aws/chime/media_pipelines/meeting_events_concatenation_configuration.ex new file mode 100644 index 0000000..c46a589 --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/meeting_events_concatenation_configuration.ex @@ -0,0 +1,15 @@ +defmodule ExAws.Chime.MediaPipelines.MeetingEventsConcatenationConfiguration do + @moduledoc """ + Module representing the Chime MeetingEventsConcatenationConfiguration data type + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_MeetingEventsConcatenationConfiguration.html + """ + + defstruct [ + :state + ] + + @type t :: %__MODULE__{ + # Enabled | Disabled + state: String.t() + } +end diff --git a/lib/ex_aws/chime/media_pipelines/presenter_only_configuration.ex b/lib/ex_aws/chime/media_pipelines/presenter_only_configuration.ex new file mode 100644 index 0000000..7fc9890 --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/presenter_only_configuration.ex @@ -0,0 +1,15 @@ +defmodule ExAws.Chime.MediaPipelines.PresenterOnlyConfiguration do + @moduledoc """ + Module representing the Chime PresenterOnlyConfiguration data type + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_PresenterOnlyConfiguration.html + """ + + defstruct [ + :presenter_position + ] + + @type t :: %__MODULE__{ + # TopLeft | TopRight | BottomLeft | BottomRight + presenter_position: String.t() | nil + } +end diff --git a/lib/ex_aws/chime/media_pipelines/s3_bucket_sink_configuration.ex b/lib/ex_aws/chime/media_pipelines/s3_bucket_sink_configuration.ex new file mode 100644 index 0000000..eb27415 --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/s3_bucket_sink_configuration.ex @@ -0,0 +1,16 @@ +defmodule ExAws.Chime.MediaPipelines.S3BucketSinkConfiguration do + @moduledoc """ + Module representing the Chime S3BucketSinkConfiguration data type + + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_S3BucketSinkConfiguration.html + """ + + defstruct [ + :destination + ] + + @type t :: %__MODULE__{ + # ARN + destination: String.t() + } +end diff --git a/lib/ex_aws/chime/media_pipelines/selected_video_streams.ex b/lib/ex_aws/chime/media_pipelines/selected_video_streams.ex new file mode 100644 index 0000000..df2c4ef --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/selected_video_streams.ex @@ -0,0 +1,17 @@ +defmodule ExAws.Chime.MediaPipelines.SelectedVideoStreams do + @moduledoc """ + Module representing the Chime SelectedVideoStreams data type + + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_SelectedVideoStreams.html + """ + + defstruct [ + :attendee_ids, + :external_user_ids + ] + + @type t :: %__MODULE__{ + attendee_ids: [String.t()] | nil, + external_user_ids: [String.t()] | nil + } +end diff --git a/lib/ex_aws/chime/media_pipelines/source_configuration.ex b/lib/ex_aws/chime/media_pipelines/source_configuration.ex new file mode 100644 index 0000000..25270c2 --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/source_configuration.ex @@ -0,0 +1,15 @@ +defmodule ExAws.Chime.MediaPipelines.SourceConfiguration do + @moduledoc """ + Module representing the Chime SourceConfiguration data type + + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_SourceConfiguration.html + """ + + defstruct [ + :selected_video_streams + ] + + @type t :: %__MODULE__{ + selected_video_streams: SelectedVideoStreams.t() + } +end diff --git a/lib/ex_aws/chime/media_pipelines/transcription_messages_concatenation_configuration.ex b/lib/ex_aws/chime/media_pipelines/transcription_messages_concatenation_configuration.ex new file mode 100644 index 0000000..605b837 --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/transcription_messages_concatenation_configuration.ex @@ -0,0 +1,15 @@ +defmodule ExAws.Chime.MediaPipelines.TranscriptionMessagesConcatenationConfiguration do + @moduledoc """ + Module representing the Chime TranscriptionMessagesConcatenationConfiguration data type + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_TranscriptionMessagesConcatenationConfiguration.html + """ + + defstruct [ + :state + ] + + @type t :: %__MODULE__{ + # Enabled | Disabled + state: String.t() + } +end diff --git a/lib/ex_aws/chime/media_pipelines/video_artifacts_configuration.ex b/lib/ex_aws/chime/media_pipelines/video_artifacts_configuration.ex new file mode 100644 index 0000000..917e1ab --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/video_artifacts_configuration.ex @@ -0,0 +1,19 @@ +defmodule ExAws.Chime.MediaPipelines.VideoArtifactsConfiguration do + @moduledoc """ + Module representing the Chime VideoArtifactsConfiguration data type + + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_VideoArtifactsConfiguration.html + """ + + defstruct [ + :state, + :mux_type + ] + + @type t :: %__MODULE__{ + # Enabled | Disabled + state: String.t(), + # VideoOnly + mux_type: String.t() | nil + } +end diff --git a/lib/ex_aws/chime/media_pipelines/video_concatenation_configuration.ex b/lib/ex_aws/chime/media_pipelines/video_concatenation_configuration.ex new file mode 100644 index 0000000..5b2333d --- /dev/null +++ b/lib/ex_aws/chime/media_pipelines/video_concatenation_configuration.ex @@ -0,0 +1,15 @@ +defmodule ExAws.Chime.MediaPipelines.VideoConcatenationConfiguration do + @moduledoc """ + Module representing the Chime VideoConcatenationConfiguration data type + See https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_VideoConcatenationConfiguration.html + """ + + defstruct [ + :state + ] + + @type t :: %__MODULE__{ + # Enabled | Disabled + state: String.t() + } +end diff --git a/mix.exs b/mix.exs index e67e520..9a70ce2 100644 --- a/mix.exs +++ b/mix.exs @@ -15,7 +15,7 @@ defmodule ExAwsChime.MixProject do # Run "mix help deps" to learn about dependencies. defp deps do [ - {:ex_aws, "~> 2.1"}, + {:ex_aws, "~> 2.4.4"}, {:hackney, "~> 1.16"}, {:jason, "~> 1.2"}, {:uuid, "~> 1.1"}, diff --git a/mix.lock b/mix.lock index 367cab7..f9593f5 100644 --- a/mix.lock +++ b/mix.lock @@ -6,8 +6,8 @@ "dialyxir": {:hex, :dialyxir, "1.3.0", "fd1672f0922b7648ff9ce7b1b26fcf0ef56dda964a459892ad15f6b4410b5284", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "00b2a4bcd6aa8db9dcb0b38c1225b7277dca9bc370b6438715667071a304696f"}, "earmark_parser": {:hex, :earmark_parser, "1.4.33", "3c3fd9673bb5dcc9edc28dd90f50c87ce506d1f71b70e3de69aa8154bc695d44", [:mix], [], "hexpm", "2d526833729b59b9fdb85785078697c72ac5e5066350663e5be6a1182da61b8f"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex_aws": {:hex, :ex_aws, "2.4.3", "6c6d88ba7b9c07e3b0f4b70406d5fccb9f5358f5ef18138f7bd396f7863e8255", [:mix], [{:configparser_ex, "~> 4.0", [hex: :configparser_ex, repo: "hexpm", optional: true]}, {:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: true]}, {:jsx, "~> 2.8 or ~> 3.0", [hex: :jsx, repo: "hexpm", optional: true]}, {:mime, "~> 1.2 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:sweet_xml, "~> 0.7", [hex: :sweet_xml, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "67f61f8b6aec740150d483a21f551fabce26a481d9917305ed2bb47717007519"}, - "ex_doc": {:hex, :ex_doc, "0.30.3", "bfca4d340e3b95f2eb26e72e4890da83e2b3a5c5b0e52607333bf5017284b063", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "fbc8702046c1d25edf79de376297e608ac78cdc3a29f075484773ad1718918b6"}, + "ex_aws": {:hex, :ex_aws, "2.4.4", "d7886eaca7e10f7bd3d9e9d2d5414cb336737b3ab2fddd4fa30358b725293fe0", [:mix], [{:configparser_ex, "~> 4.0", [hex: :configparser_ex, repo: "hexpm", optional: true]}, {:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: true]}, {:jsx, "~> 2.8 or ~> 3.0", [hex: :jsx, repo: "hexpm", optional: true]}, {:mime, "~> 1.2 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:sweet_xml, "~> 0.7", [hex: :sweet_xml, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "a7d63e485ca2b16fb804f3f20097827aa69885eea6e69fa75c98f353c9c91dc7"}, + "ex_doc": {:hex, :ex_doc, "0.29.4", "6257ecbb20c7396b1fe5accd55b7b0d23f44b6aa18017b415cb4c2b91d997729", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "2c6699a737ae46cb61e4ed012af931b57b699643b24dabe2400a8168414bc4f5"}, "file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"}, "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, @@ -20,7 +20,7 @@ "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, "nimble_parsec": {:hex, :nimble_parsec, "1.3.1", "2c54013ecf170e249e9291ed0a62e5832f70a476c61da16f6aac6dca0189f2af", [:mix], [], "hexpm", "2682e3c0b2eb58d90c6375fc0cc30bc7be06f365bf72608804fb9cffa5e1b167"}, "parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"}, "uuid": {:hex, :uuid, "1.1.8", "e22fc04499de0de3ed1116b770c7737779f226ceefa0badb3592e64d5cfb4eb9", [:mix], [], "hexpm", "c790593b4c3b601f5dc2378baae7efaf5b3d73c4c6456ba85759905be792f2ac"},