diff --git a/src/libs/Shotstack/Generated/Shotstack.Models.Asset.g.cs b/src/libs/Shotstack/Generated/Shotstack.Models.Asset.g.cs
index 8a8199c..80b33b2 100644
--- a/src/libs/Shotstack/Generated/Shotstack.Models.Asset.g.cs
+++ b/src/libs/Shotstack/Generated/Shotstack.Models.Asset.g.cs
@@ -31,6 +31,19 @@ namespace Shotstack
#endif
public bool IsVideo => Video != null;
+ ///
+ ///
+ ///
+ public bool TryPickVideo(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.VideoAsset? value)
+ {
+ value = Video;
+ return IsVideo;
+ }
+
///
/// The ImageAsset is used to create video from images to compose an image. The src must be a publicly accessible URL to an image resource such as a jpg or png file.
///
@@ -48,6 +61,19 @@ namespace Shotstack
#endif
public bool IsImage => Image != null;
+ ///
+ ///
+ ///
+ public bool TryPickImage(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.ImageAsset? value)
+ {
+ value = Image;
+ return IsImage;
+ }
+
///
/// The TextAsset is used to add text and titles to a video. The text can be styled with built in and custom
/// [Fonts](#tocs_font). You can also add a background bounding box used to control wrapping and overflow. Emoticons are also supported.
@@ -66,6 +92,19 @@ namespace Shotstack
#endif
public bool IsText => Text != null;
+ ///
+ ///
+ ///
+ public bool TryPickText(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.TextAsset? value)
+ {
+ value = Text;
+ return IsText;
+ }
+
///
/// The RichTextAsset provides advanced text rendering with support for custom fonts, gradients, shadows, strokes,
/// animations, and styling options. It offers more flexibility and visual effects than the basic TextAsset.
@@ -84,6 +123,19 @@ namespace Shotstack
#endif
public bool IsRichText => RichText != null;
+ ///
+ ///
+ ///
+ public bool TryPickRichText(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.RichTextAsset? value)
+ {
+ value = RichText;
+ return IsRichText;
+ }
+
///
/// The AudioAsset is used to add sound effects and audio at specific intervals on the timeline. The src must be a publicly accessible URL to an audio resource such as an mp3 file.
///
@@ -101,6 +153,19 @@ namespace Shotstack
#endif
public bool IsAudio => Audio != null;
+ ///
+ ///
+ ///
+ public bool TryPickAudio(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.AudioAsset? value)
+ {
+ value = Audio;
+ return IsAudio;
+ }
+
///
/// The LumaAsset is used to create luma matte masks, transitions and effects between other assets. A luma matte is a grey scale image or animated video where the black areas are transparent and the white areas solid. The luma matte animation should be provided as an mp4 video file. The src must be a publicly accessible URL to the file.
///
@@ -118,6 +183,19 @@ namespace Shotstack
#endif
public bool IsLuma => Luma != null;
+ ///
+ ///
+ ///
+ public bool TryPickLuma(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.LumaAsset? value)
+ {
+ value = Luma;
+ return IsLuma;
+ }
+
///
/// The CaptionAsset is used to add captions (subtitles) to a video. It uses a supplied SRT or VTT file which will
/// be read and burnt to the video.
@@ -141,6 +219,19 @@ namespace Shotstack
#endif
public bool IsCaption => Caption != null;
+ ///
+ ///
+ ///
+ public bool TryPickCaption(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.CaptionAsset? value)
+ {
+ value = Caption;
+ return IsCaption;
+ }
+
///
/// The RichCaptionAsset provides word-level caption animations with rich-text styling. It supports
/// karaoke-style highlighting, word-by-word animations, and advanced typography. Captions can be
@@ -161,6 +252,19 @@ namespace Shotstack
#endif
public bool IsRichCaption => RichCaption != null;
+ ///
+ ///
+ ///
+ public bool TryPickRichCaption(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.RichCaptionAsset? value)
+ {
+ value = RichCaption;
+ return IsRichCaption;
+ }
+
///
/// **Notice: The HtmlAsset is deprecated, use the [TextAsset](#tocs_textasset) instead.**
/// The HtmlAsset clip type lets you create text based layout and formatting using
@@ -181,6 +285,19 @@ namespace Shotstack
#endif
public bool IsHtml => Html != null;
+ ///
+ ///
+ ///
+ public bool TryPickHtml(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.HtmlAsset? value)
+ {
+ value = Html;
+ return IsHtml;
+ }
+
///
/// **Notice: The TitleAsset is deprecated, use the [TextAsset](#tocs_textasset) instead.**
/// The TitleAsset clip type lets you create video titles from a text string and apply styling and positioning.
@@ -199,6 +316,19 @@ namespace Shotstack
#endif
public bool IsTitle => Title != null;
+ ///
+ ///
+ ///
+ public bool TryPickTitle(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.TitleAsset? value)
+ {
+ value = Title;
+ return IsTitle;
+ }
+
///
/// The ShapeAsset is used to add shapes to a video. The shape can be styled with a fill and a stroke.
/// You can manipulate properties such as rotation to create dynamic effects like a diamond shape or stripes.
@@ -217,6 +347,19 @@ namespace Shotstack
#endif
public bool IsShape => Shape != null;
+ ///
+ ///
+ ///
+ public bool TryPickShape(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.ShapeAsset? value)
+ {
+ value = Shape;
+ return IsShape;
+ }
+
///
/// The SvgAsset is used to add scalable vector graphics (SVG) to a video using raw SVG markup.
/// **Supported elements:** `<path>`, `<rect>`, `<circle>`, `<ellipse>`,
@@ -244,6 +387,19 @@ namespace Shotstack
#endif
public bool IsSvg => Svg != null;
+ ///
+ ///
+ ///
+ public bool TryPickSvg(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.SvgAsset? value)
+ {
+ value = Svg;
+ return IsSvg;
+ }
+
///
/// The TextToImageAsset lets you create a dynamic image from a text prompt.
///
@@ -261,6 +417,19 @@ namespace Shotstack
#endif
public bool IsTextToImage => TextToImage != null;
+ ///
+ ///
+ ///
+ public bool TryPickTextToImage(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.TextToImageAsset? value)
+ {
+ value = TextToImage;
+ return IsTextToImage;
+ }
+
///
/// The ImageToVideoAsset lets you create a video from an image and a text prompt.
///
@@ -278,6 +447,19 @@ namespace Shotstack
#endif
public bool IsImageToVideo => ImageToVideo != null;
+ ///
+ ///
+ ///
+ public bool TryPickImageToVideo(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.ImageToVideoAsset? value)
+ {
+ value = ImageToVideo;
+ return IsImageToVideo;
+ }
+
///
/// The TextToSpeechAsset lets you generate a voice over from text using a text-to-speech service. The generated audio can be trimmed, faded and have its volume and speed adjusted using the same properties available on the AudioAsset.
///
@@ -294,6 +476,19 @@ namespace Shotstack
[global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(TextToSpeech))]
#endif
public bool IsTextToSpeech => TextToSpeech != null;
+
+ ///
+ ///
+ ///
+ public bool TryPickTextToSpeech(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.TextToSpeechAsset? value)
+ {
+ value = TextToSpeech;
+ return IsTextToSpeech;
+ }
///
///
///
@@ -659,21 +854,21 @@ public bool Validate()
///
///
public TResult? Match(
- global::System.Func? video = null,
- global::System.Func? image = null,
- global::System.Func? text = null,
- global::System.Func? richText = null,
- global::System.Func? audio = null,
- global::System.Func? luma = null,
- global::System.Func? caption = null,
- global::System.Func? richCaption = null,
- global::System.Func? html = null,
- global::System.Func? title = null,
- global::System.Func? shape = null,
- global::System.Func? svg = null,
- global::System.Func? textToImage = null,
- global::System.Func? imageToVideo = null,
- global::System.Func? textToSpeech = null,
+ global::System.Func? video = null,
+ global::System.Func? image = null,
+ global::System.Func? text = null,
+ global::System.Func? richText = null,
+ global::System.Func? audio = null,
+ global::System.Func? luma = null,
+ global::System.Func? caption = null,
+ global::System.Func? richCaption = null,
+ global::System.Func? html = null,
+ global::System.Func? title = null,
+ global::System.Func? shape = null,
+ global::System.Func? svg = null,
+ global::System.Func? textToImage = null,
+ global::System.Func? imageToVideo = null,
+ global::System.Func? textToSpeech = null,
bool validate = true)
{
if (validate)
@@ -749,21 +944,123 @@ public bool Validate()
///
///
public void Match(
- global::System.Action? video = null,
- global::System.Action? image = null,
- global::System.Action? text = null,
- global::System.Action? richText = null,
- global::System.Action? audio = null,
- global::System.Action? luma = null,
- global::System.Action? caption = null,
- global::System.Action? richCaption = null,
- global::System.Action? html = null,
- global::System.Action? title = null,
- global::System.Action? shape = null,
- global::System.Action? svg = null,
- global::System.Action? textToImage = null,
- global::System.Action? imageToVideo = null,
- global::System.Action? textToSpeech = null,
+ global::System.Action? video = null,
+
+ global::System.Action? image = null,
+
+ global::System.Action? text = null,
+
+ global::System.Action? richText = null,
+
+ global::System.Action? audio = null,
+
+ global::System.Action? luma = null,
+
+ global::System.Action? caption = null,
+
+ global::System.Action? richCaption = null,
+
+ global::System.Action? html = null,
+
+ global::System.Action? title = null,
+
+ global::System.Action? shape = null,
+
+ global::System.Action? svg = null,
+
+ global::System.Action? textToImage = null,
+
+ global::System.Action? imageToVideo = null,
+
+ global::System.Action? textToSpeech = null,
+ bool validate = true)
+ {
+ if (validate)
+ {
+ Validate();
+ }
+
+ if (IsVideo)
+ {
+ video?.Invoke(Video!);
+ }
+ else if (IsImage)
+ {
+ image?.Invoke(Image!);
+ }
+ else if (IsText)
+ {
+ text?.Invoke(Text!);
+ }
+ else if (IsRichText)
+ {
+ richText?.Invoke(RichText!);
+ }
+ else if (IsAudio)
+ {
+ audio?.Invoke(Audio!);
+ }
+ else if (IsLuma)
+ {
+ luma?.Invoke(Luma!);
+ }
+ else if (IsCaption)
+ {
+ caption?.Invoke(Caption!);
+ }
+ else if (IsRichCaption)
+ {
+ richCaption?.Invoke(RichCaption!);
+ }
+ else if (IsHtml)
+ {
+ html?.Invoke(Html!);
+ }
+ else if (IsTitle)
+ {
+ title?.Invoke(Title!);
+ }
+ else if (IsShape)
+ {
+ shape?.Invoke(Shape!);
+ }
+ else if (IsSvg)
+ {
+ svg?.Invoke(Svg!);
+ }
+ else if (IsTextToImage)
+ {
+ textToImage?.Invoke(TextToImage!);
+ }
+ else if (IsImageToVideo)
+ {
+ imageToVideo?.Invoke(ImageToVideo!);
+ }
+ else if (IsTextToSpeech)
+ {
+ textToSpeech?.Invoke(TextToSpeech!);
+ }
+ }
+
+ ///
+ ///
+ ///
+ public void Switch(
+ global::System.Action? video = null,
+ global::System.Action? image = null,
+ global::System.Action? text = null,
+ global::System.Action? richText = null,
+ global::System.Action? audio = null,
+ global::System.Action? luma = null,
+ global::System.Action? caption = null,
+ global::System.Action? richCaption = null,
+ global::System.Action? html = null,
+ global::System.Action? title = null,
+ global::System.Action? shape = null,
+ global::System.Action? svg = null,
+ global::System.Action? textToImage = null,
+ global::System.Action? imageToVideo = null,
+ global::System.Action? textToSpeech = null,
bool validate = true)
{
if (validate)
diff --git a/src/libs/Shotstack/Generated/Shotstack.Models.AudioEnhancement.g.cs b/src/libs/Shotstack/Generated/Shotstack.Models.AudioEnhancement.g.cs
index 51bcb7f..e36edda 100644
--- a/src/libs/Shotstack/Generated/Shotstack.Models.AudioEnhancement.g.cs
+++ b/src/libs/Shotstack/Generated/Shotstack.Models.AudioEnhancement.g.cs
@@ -28,6 +28,19 @@ namespace Shotstack
[global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(Dolby))]
#endif
public bool IsDolby => Dolby != null;
+
+ ///
+ ///
+ ///
+ public bool TryPickDolby(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.DolbyEnhancement? value)
+ {
+ value = Dolby;
+ return IsDolby;
+ }
///
///
///
@@ -72,7 +85,7 @@ public bool Validate()
///
///
public TResult? Match(
- global::System.Func? dolby = null,
+ global::System.Func? dolby = null,
bool validate = true)
{
if (validate)
@@ -92,7 +105,25 @@ public bool Validate()
///
///
public void Match(
- global::System.Action? dolby = null,
+ global::System.Action? dolby = null,
+ bool validate = true)
+ {
+ if (validate)
+ {
+ Validate();
+ }
+
+ if (IsDolby)
+ {
+ dolby?.Invoke(Dolby!);
+ }
+ }
+
+ ///
+ ///
+ ///
+ public void Switch(
+ global::System.Action? dolby = null,
bool validate = true)
{
if (validate)
diff --git a/src/libs/Shotstack/Generated/Shotstack.Models.Destinations.g.cs b/src/libs/Shotstack/Generated/Shotstack.Models.Destinations.g.cs
index bb1ba6e..384736e 100644
--- a/src/libs/Shotstack/Generated/Shotstack.Models.Destinations.g.cs
+++ b/src/libs/Shotstack/Generated/Shotstack.Models.Destinations.g.cs
@@ -27,6 +27,19 @@ namespace Shotstack
#endif
public bool IsShotstackDestination => ShotstackDestination != null;
+ ///
+ ///
+ ///
+ public bool TryPickShotstackDestination(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.ShotstackDestination? value)
+ {
+ value = ShotstackDestination;
+ return IsShotstackDestination;
+ }
+
///
/// Send videos to the [Mux](https://shotstack.io/docs/guide/serving-assets/destinations/mux/) video hosting and streaming service. Mux credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/mux), not in the request.
///
@@ -44,6 +57,19 @@ namespace Shotstack
#endif
public bool IsMuxDestination => MuxDestination != null;
+ ///
+ ///
+ ///
+ public bool TryPickMuxDestination(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.MuxDestination? value)
+ {
+ value = MuxDestination;
+ return IsMuxDestination;
+ }
+
///
/// Send videos and assets to an [Amazon S3](https://shotstack.io/docs/guide/serving-assets/destinations/s3/) bucket. Send files to any region with your own prefix and filename. AWS credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/s3), not in the request.
///
@@ -61,6 +87,19 @@ namespace Shotstack
#endif
public bool IsS3Destination => S3Destination != null;
+ ///
+ ///
+ ///
+ public bool TryPickS3Destination(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.S3Destination? value)
+ {
+ value = S3Destination;
+ return IsS3Destination;
+ }
+
///
/// Send videos and assets to a [Google Cloud Storage](https://cloud.google.com/storage) bucket. Send files with your own prefix and filename. Google Cloud credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/google-cloud-storage), not in the request.
///
@@ -78,6 +117,19 @@ namespace Shotstack
#endif
public bool IsGoogleCloudStorageDestination => GoogleCloudStorageDestination != null;
+ ///
+ ///
+ ///
+ public bool TryPickGoogleCloudStorageDestination(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.GoogleCloudStorageDestination? value)
+ {
+ value = GoogleCloudStorageDestination;
+ return IsGoogleCloudStorageDestination;
+ }
+
///
/// Send rendered videos and assets to the [Google Drive](https://shotstack.io/docs/guide/serving-assets/destinations/google-drive/) cloud storage service. Google Drive uses OAuth and you must authenticate and link your Google account via [dashboard](https://dashboard.shotstack.io/integrations/google-drive), not in the request.
///
@@ -95,6 +147,19 @@ namespace Shotstack
#endif
public bool IsGoogleDriveDestination => GoogleDriveDestination != null;
+ ///
+ ///
+ ///
+ public bool TryPickGoogleDriveDestination(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.GoogleDriveDestination? value)
+ {
+ value = GoogleDriveDestination;
+ return IsGoogleDriveDestination;
+ }
+
///
/// Send videos to [Vimeo](https://shotstack.io/docs/guide/serving-assets/destinations/vimeo/) video hosting and streaming service. Vimeo credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/vimeo), not in the request.
///
@@ -112,6 +177,19 @@ namespace Shotstack
#endif
public bool IsVimeoDestination => VimeoDestination != null;
+ ///
+ ///
+ ///
+ public bool TryPickVimeoDestination(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.VimeoDestination? value)
+ {
+ value = VimeoDestination;
+ return IsVimeoDestination;
+ }
+
///
/// Send videos to TikTok. TikTok credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/tiktok), not in the request.
///
@@ -129,6 +207,19 @@ namespace Shotstack
#endif
public bool IsTiktokDestination => TiktokDestination != null;
+ ///
+ ///
+ ///
+ public bool TryPickTiktokDestination(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.TiktokDestination? value)
+ {
+ value = TiktokDestination;
+ return IsTiktokDestination;
+ }
+
///
/// Send videos and assets to [Akamai NetStorage](https://techdocs.akamai.com/netstorage-usage/docs). Send files to your NetStorage upload directory with a custom path and filename. Akamai credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/akamai-netstorage), not in the request.
///
@@ -146,6 +237,19 @@ namespace Shotstack
#endif
public bool IsAkamaiNetStorageDestination => AkamaiNetStorageDestination != null;
+ ///
+ ///
+ ///
+ public bool TryPickAkamaiNetStorageDestination(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.AkamaiNetStorageDestination? value)
+ {
+ value = AkamaiNetStorageDestination;
+ return IsAkamaiNetStorageDestination;
+ }
+
///
/// Send videos and assets to [Azure Blob Storage](https://learn.microsoft.com/en-us/azure/storage/blobs/). Send files to any container with a custom prefix and filename. Azure credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/azure-blob-storage), not in the request.
///
@@ -162,6 +266,19 @@ namespace Shotstack
[global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(AzureBlobStorageDestination))]
#endif
public bool IsAzureBlobStorageDestination => AzureBlobStorageDestination != null;
+
+ ///
+ ///
+ ///
+ public bool TryPickAzureBlobStorageDestination(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out global::Shotstack.AzureBlobStorageDestination? value)
+ {
+ value = AzureBlobStorageDestination;
+ return IsAzureBlobStorageDestination;
+ }
///
///
///
@@ -392,15 +509,15 @@ public bool Validate()
///
///
public TResult? Match(
- global::System.Func? shotstackDestination = null,
- global::System.Func? muxDestination = null,
- global::System.Func? s3Destination = null,
- global::System.Func? googleCloudStorageDestination = null,
- global::System.Func? googleDriveDestination = null,
- global::System.Func? vimeoDestination = null,
- global::System.Func? tiktokDestination = null,
- global::System.Func? akamaiNetStorageDestination = null,
- global::System.Func? azureBlobStorageDestination = null,
+ global::System.Func? shotstackDestination = null,
+ global::System.Func? muxDestination = null,
+ global::System.Func? s3Destination = null,
+ global::System.Func? googleCloudStorageDestination = null,
+ global::System.Func? googleDriveDestination = null,
+ global::System.Func? vimeoDestination = null,
+ global::System.Func? tiktokDestination = null,
+ global::System.Func? akamaiNetStorageDestination = null,
+ global::System.Func? azureBlobStorageDestination = null,
bool validate = true)
{
if (validate)
@@ -452,15 +569,81 @@ public bool Validate()
///
///
public void Match(
- global::System.Action? shotstackDestination = null,
- global::System.Action? muxDestination = null,
- global::System.Action? s3Destination = null,
- global::System.Action? googleCloudStorageDestination = null,
- global::System.Action? googleDriveDestination = null,
- global::System.Action? vimeoDestination = null,
- global::System.Action? tiktokDestination = null,
- global::System.Action? akamaiNetStorageDestination = null,
- global::System.Action? azureBlobStorageDestination = null,
+ global::System.Action? shotstackDestination = null,
+
+ global::System.Action? muxDestination = null,
+
+ global::System.Action? s3Destination = null,
+
+ global::System.Action? googleCloudStorageDestination = null,
+
+ global::System.Action? googleDriveDestination = null,
+
+ global::System.Action? vimeoDestination = null,
+
+ global::System.Action? tiktokDestination = null,
+
+ global::System.Action? akamaiNetStorageDestination = null,
+
+ global::System.Action? azureBlobStorageDestination = null,
+ bool validate = true)
+ {
+ if (validate)
+ {
+ Validate();
+ }
+
+ if (IsShotstackDestination)
+ {
+ shotstackDestination?.Invoke(ShotstackDestination!);
+ }
+ else if (IsMuxDestination)
+ {
+ muxDestination?.Invoke(MuxDestination!);
+ }
+ else if (IsS3Destination)
+ {
+ s3Destination?.Invoke(S3Destination!);
+ }
+ else if (IsGoogleCloudStorageDestination)
+ {
+ googleCloudStorageDestination?.Invoke(GoogleCloudStorageDestination!);
+ }
+ else if (IsGoogleDriveDestination)
+ {
+ googleDriveDestination?.Invoke(GoogleDriveDestination!);
+ }
+ else if (IsVimeoDestination)
+ {
+ vimeoDestination?.Invoke(VimeoDestination!);
+ }
+ else if (IsTiktokDestination)
+ {
+ tiktokDestination?.Invoke(TiktokDestination!);
+ }
+ else if (IsAkamaiNetStorageDestination)
+ {
+ akamaiNetStorageDestination?.Invoke(AkamaiNetStorageDestination!);
+ }
+ else if (IsAzureBlobStorageDestination)
+ {
+ azureBlobStorageDestination?.Invoke(AzureBlobStorageDestination!);
+ }
+ }
+
+ ///
+ ///
+ ///
+ public void Switch(
+ global::System.Action? shotstackDestination = null,
+ global::System.Action? muxDestination = null,
+ global::System.Action? s3Destination = null,
+ global::System.Action? googleCloudStorageDestination = null,
+ global::System.Action? googleDriveDestination = null,
+ global::System.Action? vimeoDestination = null,
+ global::System.Action? tiktokDestination = null,
+ global::System.Action? akamaiNetStorageDestination = null,
+ global::System.Action? azureBlobStorageDestination = null,
bool validate = true)
{
if (validate)
diff --git a/src/libs/Shotstack/Generated/Shotstack.OneOf.2.g.cs b/src/libs/Shotstack/Generated/Shotstack.OneOf.2.g.cs
index 8ffe961..1d923a9 100644
--- a/src/libs/Shotstack/Generated/Shotstack.OneOf.2.g.cs
+++ b/src/libs/Shotstack/Generated/Shotstack.OneOf.2.g.cs
@@ -25,6 +25,19 @@ namespace Shotstack
#endif
public bool IsValue1 => Value1 != null;
+ ///
+ ///
+ ///
+ public bool TryPickValue1(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out T1? value)
+ {
+ value = Value1;
+ return IsValue1;
+ }
+
///
///
///
@@ -41,6 +54,19 @@ namespace Shotstack
[global::System.Diagnostics.CodeAnalysis.MemberNotNullWhen(true, nameof(Value2))]
#endif
public bool IsValue2 => Value2 != null;
+
+ ///
+ ///
+ ///
+ public bool TryPickValue2(
+#if NET6_0_OR_GREATER
+ [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)]
+#endif
+ out T2? value)
+ {
+ value = Value2;
+ return IsValue2;
+ }
///
///
///
@@ -143,6 +169,30 @@ public bool Validate()
///
public void Match(
global::System.Action? value1 = null,
+
+ global::System.Action? value2 = null,
+ bool validate = true)
+ {
+ if (validate)
+ {
+ Validate();
+ }
+
+ if (IsValue1)
+ {
+ value1?.Invoke(Value1!);
+ }
+ else if (IsValue2)
+ {
+ value2?.Invoke(Value2!);
+ }
+ }
+
+ ///
+ ///
+ ///
+ public void Switch(
+ global::System.Action? value1 = null,
global::System.Action? value2 = null,
bool validate = true)
{
diff --git a/src/libs/Shotstack/Generated/Shotstack.ShotstackClient.Constructors.Bearer.g.cs b/src/libs/Shotstack/Generated/Shotstack.ShotstackClient.Constructors.Bearer.g.cs
index 2ca3c95..dfdd791 100644
--- a/src/libs/Shotstack/Generated/Shotstack.ShotstackClient.Constructors.Bearer.g.cs
+++ b/src/libs/Shotstack/Generated/Shotstack.ShotstackClient.Constructors.Bearer.g.cs
@@ -26,5 +26,6 @@ partial void Authorizing(
ref string apiKey);
partial void Authorized(
global::System.Net.Http.HttpClient client);
+
}
}
\ No newline at end of file