From 012215fe20f6d98c1bba7896796f8b0587875132 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 8 May 2026 02:37:12 +0000 Subject: [PATCH] feat: Updated OpenAPI spec --- .../Generated/Shotstack.Models.Asset.g.cs | 357 ++++++++++++++++-- .../Shotstack.Models.AudioEnhancement.g.cs | 35 +- .../Shotstack.Models.Destinations.g.cs | 219 ++++++++++- .../Generated/Shotstack.OneOf.2.g.cs | 50 +++ ...k.ShotstackClient.Constructors.Bearer.g.cs | 1 + 5 files changed, 612 insertions(+), 50 deletions(-) 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