diff --git a/src/cli/Baseten.CLI/Commands/CreateModelsByModelIdDeploymentsByDeploymentIdPromoteCommandApiCommand.g.cs b/src/cli/Baseten.CLI/Commands/CreateModelsByModelIdDeploymentsByDeploymentIdPromoteCommandApiCommand.g.cs index dddb816..2edb787 100644 --- a/src/cli/Baseten.CLI/Commands/CreateModelsByModelIdDeploymentsByDeploymentIdPromoteCommandApiCommand.g.cs +++ b/src/cli/Baseten.CLI/Commands/CreateModelsByModelIdDeploymentsByDeploymentIdPromoteCommandApiCommand.g.cs @@ -19,6 +19,10 @@ internal static partial class CreateModelsByModelIdDeploymentsByDeploymentIdProm Description = @"This is a missing parameter that was added automatically. Please check the OpenAPI spec.", }; private static readonly PromoteRequestV1OptionSet PromoteRequestV1OptionSetOptions = PromoteRequestV1OptionSet.Create(); + + private static readonly PromotionEnvironmentSettingsUpdateV1OptionSet EnvironmentSettingsUpdateOptions = PromotionEnvironmentSettingsUpdateV1OptionSet.Create(@"environment-settings-update"); + + private static readonly UpdatePromotionSettingsV1OptionSet PromotionSettingsOverrideOptions = UpdatePromotionSettingsV1OptionSet.Create(@"promotion-settings-override"); private static Option Input { get; } = new(@"--input") { Description = "Load request JSON from a file path, '-' for stdin, or an inline JSON object/array string.", @@ -64,7 +68,11 @@ public static Command Create(string? commandName = null) Promotes an existing deployment to production and returns the same deployment."); command.Arguments.Add(ModelId); command.Arguments.Add(DeploymentId); command.Options.Add(PromoteRequestV1OptionSetOptions.ScaleDownPreviousProduction); - command.Options.Add(PromoteRequestV1OptionSetOptions.PreserveEnvInstanceType); + command.Options.Add(PromoteRequestV1OptionSetOptions.PreserveEnvInstanceType); command.Options.Add(EnvironmentSettingsUpdateOptions.Region); + command.Options.Add(EnvironmentSettingsUpdateOptions.InstanceTypeId); command.Options.Add(PromotionSettingsOverrideOptions.RedeployOnPromotion); + command.Options.Add(PromotionSettingsOverrideOptions.RollingDeploy); + command.Options.Add(PromotionSettingsOverrideOptions.RampUpWhilePromoting); + command.Options.Add(PromotionSettingsOverrideOptions.RampUpDurationSeconds); command.Options.Add(Input); command.Options.Add(RequestJson); command.Options.Add(RequestFile); @@ -93,6 +101,36 @@ await CliRuntime.RunAsync(async () => var modelId = parseResult.GetRequiredValue(ModelId); var deploymentId = parseResult.GetRequiredValue(DeploymentId); var scaleDownPreviousProduction = CliRuntime.WasSpecified(parseResult, PromoteRequestV1OptionSetOptions.ScaleDownPreviousProduction) ? parseResult.GetValue(PromoteRequestV1OptionSetOptions.ScaleDownPreviousProduction) : (__requestBase is { } __ScaleDownPreviousProductionBaseValue ? __ScaleDownPreviousProductionBaseValue.ScaleDownPreviousProduction : default); var preserveEnvInstanceType = CliRuntime.WasSpecified(parseResult, PromoteRequestV1OptionSetOptions.PreserveEnvInstanceType) ? parseResult.GetValue(PromoteRequestV1OptionSetOptions.PreserveEnvInstanceType) : (__requestBase is { } __PreserveEnvInstanceTypeBaseValue ? __PreserveEnvInstanceTypeBaseValue.PreserveEnvInstanceType : default); + + var __EnvironmentSettingsUpdateBase = __requestBase is { } __EnvironmentSettingsUpdateBaseValue ? __EnvironmentSettingsUpdateBaseValue.EnvironmentSettingsUpdate : default; var environmentSettingsUpdateRegion = CliRuntime.WasSpecified(parseResult, EnvironmentSettingsUpdateOptions.Region) ? parseResult.GetValue(EnvironmentSettingsUpdateOptions.Region) : (__EnvironmentSettingsUpdateBase is { } __EnvironmentSettingsUpdateregionBaseValue ? __EnvironmentSettingsUpdateregionBaseValue.Region : default); + var environmentSettingsUpdateInstanceTypeId = CliRuntime.WasSpecified(parseResult, EnvironmentSettingsUpdateOptions.InstanceTypeId) ? parseResult.GetValue(EnvironmentSettingsUpdateOptions.InstanceTypeId) : (__EnvironmentSettingsUpdateBase is { } __EnvironmentSettingsUpdateinstanceTypeIdBaseValue ? __EnvironmentSettingsUpdateinstanceTypeIdBaseValue.InstanceTypeId : default); + var __EnvironmentSettingsUpdateSpecified = CliRuntime.WasSpecified(parseResult, EnvironmentSettingsUpdateOptions.Region) || CliRuntime.WasSpecified(parseResult, EnvironmentSettingsUpdateOptions.InstanceTypeId); + var environmentSettingsUpdate = + __EnvironmentSettingsUpdateSpecified || __EnvironmentSettingsUpdateBase is not null + ? new global::Baseten.PromotionEnvironmentSettingsUpdateV1 + { + Region = environmentSettingsUpdateRegion, + InstanceTypeId = environmentSettingsUpdateInstanceTypeId, + + } + : __EnvironmentSettingsUpdateBase; + + var __PromotionSettingsOverrideBase = __requestBase is { } __PromotionSettingsOverrideBaseValue ? __PromotionSettingsOverrideBaseValue.PromotionSettingsOverride : default; var promotionSettingsOverrideRedeployOnPromotion = CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RedeployOnPromotion) ? parseResult.GetValue(PromotionSettingsOverrideOptions.RedeployOnPromotion) : (__PromotionSettingsOverrideBase is { } __PromotionSettingsOverrideredeployOnPromotionBaseValue ? __PromotionSettingsOverrideredeployOnPromotionBaseValue.RedeployOnPromotion : default); + var promotionSettingsOverrideRollingDeploy = CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RollingDeploy) ? parseResult.GetValue(PromotionSettingsOverrideOptions.RollingDeploy) : (__PromotionSettingsOverrideBase is { } __PromotionSettingsOverriderollingDeployBaseValue ? __PromotionSettingsOverriderollingDeployBaseValue.RollingDeploy : default); + var promotionSettingsOverrideRampUpWhilePromoting = CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RampUpWhilePromoting) ? parseResult.GetValue(PromotionSettingsOverrideOptions.RampUpWhilePromoting) : (__PromotionSettingsOverrideBase is { } __PromotionSettingsOverriderampUpWhilePromotingBaseValue ? __PromotionSettingsOverriderampUpWhilePromotingBaseValue.RampUpWhilePromoting : default); + var promotionSettingsOverrideRampUpDurationSeconds = CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RampUpDurationSeconds) ? parseResult.GetValue(PromotionSettingsOverrideOptions.RampUpDurationSeconds) : (__PromotionSettingsOverrideBase is { } __PromotionSettingsOverriderampUpDurationSecondsBaseValue ? __PromotionSettingsOverriderampUpDurationSecondsBaseValue.RampUpDurationSeconds : default); + var __PromotionSettingsOverrideSpecified = CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RedeployOnPromotion) || CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RollingDeploy) || CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RampUpWhilePromoting) || CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RampUpDurationSeconds); + var promotionSettingsOverride = + __PromotionSettingsOverrideSpecified || __PromotionSettingsOverrideBase is not null + ? new global::Baseten.UpdatePromotionSettingsV1 + { + RedeployOnPromotion = promotionSettingsOverrideRedeployOnPromotion, + RollingDeploy = promotionSettingsOverrideRollingDeploy, + RampUpWhilePromoting = promotionSettingsOverrideRampUpWhilePromoting, + RampUpDurationSeconds = promotionSettingsOverrideRampUpDurationSeconds, + + } + : __PromotionSettingsOverrideBase; using var client = await CliRuntime.CreateClientAsync(parseResult, cancellationToken).ConfigureAwait(false); @@ -101,6 +139,8 @@ await CliRuntime.RunAsync(async () => deploymentId: deploymentId, scaleDownPreviousProduction: scaleDownPreviousProduction, preserveEnvInstanceType: preserveEnvInstanceType, + environmentSettingsUpdate: environmentSettingsUpdate, + promotionSettingsOverride: promotionSettingsOverride, cancellationToken: cancellationToken).ConfigureAwait(false); diff --git a/src/cli/Baseten.CLI/Commands/CreateModelsByModelIdDeploymentsDevelopmentPromoteCommandApiCommand.g.cs b/src/cli/Baseten.CLI/Commands/CreateModelsByModelIdDeploymentsDevelopmentPromoteCommandApiCommand.g.cs index 9f05495..2d7042f 100644 --- a/src/cli/Baseten.CLI/Commands/CreateModelsByModelIdDeploymentsDevelopmentPromoteCommandApiCommand.g.cs +++ b/src/cli/Baseten.CLI/Commands/CreateModelsByModelIdDeploymentsDevelopmentPromoteCommandApiCommand.g.cs @@ -13,6 +13,10 @@ internal static partial class CreateModelsByModelIdDeploymentsDevelopmentPromote Description = @"This is a missing parameter that was added automatically. Please check the OpenAPI spec.", }; private static readonly PromoteRequestV1OptionSet PromoteRequestV1OptionSetOptions = PromoteRequestV1OptionSet.Create(); + + private static readonly PromotionEnvironmentSettingsUpdateV1OptionSet EnvironmentSettingsUpdateOptions = PromotionEnvironmentSettingsUpdateV1OptionSet.Create(@"environment-settings-update"); + + private static readonly UpdatePromotionSettingsV1OptionSet PromotionSettingsOverrideOptions = UpdatePromotionSettingsV1OptionSet.Create(@"promotion-settings-override"); private static Option Input { get; } = new(@"--input") { Description = "Load request JSON from a file path, '-' for stdin, or an inline JSON object/array string.", @@ -57,7 +61,11 @@ public static Command Create(string? commandName = null) var command = new Command(commandName ?? @"create-models-by-model-id-deployments-development-promote", @"Promotes a development deployment to production Creates a new production deployment from the development deployment and returns the deployment that is building."); command.Arguments.Add(ModelId); command.Options.Add(PromoteRequestV1OptionSetOptions.ScaleDownPreviousProduction); - command.Options.Add(PromoteRequestV1OptionSetOptions.PreserveEnvInstanceType); + command.Options.Add(PromoteRequestV1OptionSetOptions.PreserveEnvInstanceType); command.Options.Add(EnvironmentSettingsUpdateOptions.Region); + command.Options.Add(EnvironmentSettingsUpdateOptions.InstanceTypeId); command.Options.Add(PromotionSettingsOverrideOptions.RedeployOnPromotion); + command.Options.Add(PromotionSettingsOverrideOptions.RollingDeploy); + command.Options.Add(PromotionSettingsOverrideOptions.RampUpWhilePromoting); + command.Options.Add(PromotionSettingsOverrideOptions.RampUpDurationSeconds); command.Options.Add(Input); command.Options.Add(RequestJson); command.Options.Add(RequestFile); @@ -85,6 +93,36 @@ await CliRuntime.RunAsync(async () => cancellationToken).ConfigureAwait(false); var modelId = parseResult.GetRequiredValue(ModelId); var scaleDownPreviousProduction = CliRuntime.WasSpecified(parseResult, PromoteRequestV1OptionSetOptions.ScaleDownPreviousProduction) ? parseResult.GetValue(PromoteRequestV1OptionSetOptions.ScaleDownPreviousProduction) : (__requestBase is { } __ScaleDownPreviousProductionBaseValue ? __ScaleDownPreviousProductionBaseValue.ScaleDownPreviousProduction : default); var preserveEnvInstanceType = CliRuntime.WasSpecified(parseResult, PromoteRequestV1OptionSetOptions.PreserveEnvInstanceType) ? parseResult.GetValue(PromoteRequestV1OptionSetOptions.PreserveEnvInstanceType) : (__requestBase is { } __PreserveEnvInstanceTypeBaseValue ? __PreserveEnvInstanceTypeBaseValue.PreserveEnvInstanceType : default); + + var __EnvironmentSettingsUpdateBase = __requestBase is { } __EnvironmentSettingsUpdateBaseValue ? __EnvironmentSettingsUpdateBaseValue.EnvironmentSettingsUpdate : default; var environmentSettingsUpdateRegion = CliRuntime.WasSpecified(parseResult, EnvironmentSettingsUpdateOptions.Region) ? parseResult.GetValue(EnvironmentSettingsUpdateOptions.Region) : (__EnvironmentSettingsUpdateBase is { } __EnvironmentSettingsUpdateregionBaseValue ? __EnvironmentSettingsUpdateregionBaseValue.Region : default); + var environmentSettingsUpdateInstanceTypeId = CliRuntime.WasSpecified(parseResult, EnvironmentSettingsUpdateOptions.InstanceTypeId) ? parseResult.GetValue(EnvironmentSettingsUpdateOptions.InstanceTypeId) : (__EnvironmentSettingsUpdateBase is { } __EnvironmentSettingsUpdateinstanceTypeIdBaseValue ? __EnvironmentSettingsUpdateinstanceTypeIdBaseValue.InstanceTypeId : default); + var __EnvironmentSettingsUpdateSpecified = CliRuntime.WasSpecified(parseResult, EnvironmentSettingsUpdateOptions.Region) || CliRuntime.WasSpecified(parseResult, EnvironmentSettingsUpdateOptions.InstanceTypeId); + var environmentSettingsUpdate = + __EnvironmentSettingsUpdateSpecified || __EnvironmentSettingsUpdateBase is not null + ? new global::Baseten.PromotionEnvironmentSettingsUpdateV1 + { + Region = environmentSettingsUpdateRegion, + InstanceTypeId = environmentSettingsUpdateInstanceTypeId, + + } + : __EnvironmentSettingsUpdateBase; + + var __PromotionSettingsOverrideBase = __requestBase is { } __PromotionSettingsOverrideBaseValue ? __PromotionSettingsOverrideBaseValue.PromotionSettingsOverride : default; var promotionSettingsOverrideRedeployOnPromotion = CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RedeployOnPromotion) ? parseResult.GetValue(PromotionSettingsOverrideOptions.RedeployOnPromotion) : (__PromotionSettingsOverrideBase is { } __PromotionSettingsOverrideredeployOnPromotionBaseValue ? __PromotionSettingsOverrideredeployOnPromotionBaseValue.RedeployOnPromotion : default); + var promotionSettingsOverrideRollingDeploy = CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RollingDeploy) ? parseResult.GetValue(PromotionSettingsOverrideOptions.RollingDeploy) : (__PromotionSettingsOverrideBase is { } __PromotionSettingsOverriderollingDeployBaseValue ? __PromotionSettingsOverriderollingDeployBaseValue.RollingDeploy : default); + var promotionSettingsOverrideRampUpWhilePromoting = CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RampUpWhilePromoting) ? parseResult.GetValue(PromotionSettingsOverrideOptions.RampUpWhilePromoting) : (__PromotionSettingsOverrideBase is { } __PromotionSettingsOverriderampUpWhilePromotingBaseValue ? __PromotionSettingsOverriderampUpWhilePromotingBaseValue.RampUpWhilePromoting : default); + var promotionSettingsOverrideRampUpDurationSeconds = CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RampUpDurationSeconds) ? parseResult.GetValue(PromotionSettingsOverrideOptions.RampUpDurationSeconds) : (__PromotionSettingsOverrideBase is { } __PromotionSettingsOverriderampUpDurationSecondsBaseValue ? __PromotionSettingsOverriderampUpDurationSecondsBaseValue.RampUpDurationSeconds : default); + var __PromotionSettingsOverrideSpecified = CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RedeployOnPromotion) || CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RollingDeploy) || CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RampUpWhilePromoting) || CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RampUpDurationSeconds); + var promotionSettingsOverride = + __PromotionSettingsOverrideSpecified || __PromotionSettingsOverrideBase is not null + ? new global::Baseten.UpdatePromotionSettingsV1 + { + RedeployOnPromotion = promotionSettingsOverrideRedeployOnPromotion, + RollingDeploy = promotionSettingsOverrideRollingDeploy, + RampUpWhilePromoting = promotionSettingsOverrideRampUpWhilePromoting, + RampUpDurationSeconds = promotionSettingsOverrideRampUpDurationSeconds, + + } + : __PromotionSettingsOverrideBase; using var client = await CliRuntime.CreateClientAsync(parseResult, cancellationToken).ConfigureAwait(false); @@ -92,6 +130,8 @@ await CliRuntime.RunAsync(async () => modelId: modelId, scaleDownPreviousProduction: scaleDownPreviousProduction, preserveEnvInstanceType: preserveEnvInstanceType, + environmentSettingsUpdate: environmentSettingsUpdate, + promotionSettingsOverride: promotionSettingsOverride, cancellationToken: cancellationToken).ConfigureAwait(false); diff --git a/src/cli/Baseten.CLI/Commands/CreateModelsByModelIdEnvironmentsByEnvNamePromoteCommandApiCommand.g.cs b/src/cli/Baseten.CLI/Commands/CreateModelsByModelIdEnvironmentsByEnvNamePromoteCommandApiCommand.g.cs index 6041cb3..5bb2d25 100644 --- a/src/cli/Baseten.CLI/Commands/CreateModelsByModelIdEnvironmentsByEnvNamePromoteCommandApiCommand.g.cs +++ b/src/cli/Baseten.CLI/Commands/CreateModelsByModelIdEnvironmentsByEnvNamePromoteCommandApiCommand.g.cs @@ -33,6 +33,9 @@ internal static partial class CreateModelsByModelIdEnvironmentsByEnvNamePromoteC private static Option PreserveEnvInstanceType { get; } = CliRuntime.CreateNullableBoolOption( name: @"--preserve-env-instance-type", description: @"Whether to use the promoting deployment's instance type or preserve target environment's instance type"); + private static readonly PromotionEnvironmentSettingsUpdateV1OptionSet EnvironmentSettingsUpdateOptions = PromotionEnvironmentSettingsUpdateV1OptionSet.Create(@"environment-settings-update"); + + private static readonly UpdatePromotionSettingsV1OptionSet PromotionSettingsOverrideOptions = UpdatePromotionSettingsV1OptionSet.Create(@"promotion-settings-override"); private static Option Input { get; } = new(@"--input") { Description = "Load request JSON from a file path, '-' for stdin, or an inline JSON object/array string.", @@ -80,7 +83,11 @@ public static Command Create(string? commandName = null) command.Arguments.Add(EnvName); command.Options.Add(ScaleDownPreviousDeployment); command.Options.Add(DeploymentId); - command.Options.Add(PreserveEnvInstanceType); + command.Options.Add(PreserveEnvInstanceType); command.Options.Add(EnvironmentSettingsUpdateOptions.Region); + command.Options.Add(EnvironmentSettingsUpdateOptions.InstanceTypeId); command.Options.Add(PromotionSettingsOverrideOptions.RedeployOnPromotion); + command.Options.Add(PromotionSettingsOverrideOptions.RollingDeploy); + command.Options.Add(PromotionSettingsOverrideOptions.RampUpWhilePromoting); + command.Options.Add(PromotionSettingsOverrideOptions.RampUpDurationSeconds); command.Options.Add(Input); command.Options.Add(RequestJson); command.Options.Add(RequestFile); @@ -111,6 +118,36 @@ await CliRuntime.RunAsync(async () => var scaleDownPreviousDeployment = CliRuntime.WasSpecified(parseResult, ScaleDownPreviousDeployment) ? parseResult.GetValue(ScaleDownPreviousDeployment) : (__requestBase is { } __ScaleDownPreviousDeploymentBaseValue ? __ScaleDownPreviousDeploymentBaseValue.ScaleDownPreviousDeployment : default); var deploymentId = parseResult.GetRequiredValue(DeploymentId); var preserveEnvInstanceType = CliRuntime.WasSpecified(parseResult, PreserveEnvInstanceType) ? parseResult.GetValue(PreserveEnvInstanceType) : (__requestBase is { } __PreserveEnvInstanceTypeBaseValue ? __PreserveEnvInstanceTypeBaseValue.PreserveEnvInstanceType : default); + + var __EnvironmentSettingsUpdateBase = __requestBase is { } __EnvironmentSettingsUpdateBaseValue ? __EnvironmentSettingsUpdateBaseValue.EnvironmentSettingsUpdate : default; var environmentSettingsUpdateRegion = CliRuntime.WasSpecified(parseResult, EnvironmentSettingsUpdateOptions.Region) ? parseResult.GetValue(EnvironmentSettingsUpdateOptions.Region) : (__EnvironmentSettingsUpdateBase is { } __EnvironmentSettingsUpdateregionBaseValue ? __EnvironmentSettingsUpdateregionBaseValue.Region : default); + var environmentSettingsUpdateInstanceTypeId = CliRuntime.WasSpecified(parseResult, EnvironmentSettingsUpdateOptions.InstanceTypeId) ? parseResult.GetValue(EnvironmentSettingsUpdateOptions.InstanceTypeId) : (__EnvironmentSettingsUpdateBase is { } __EnvironmentSettingsUpdateinstanceTypeIdBaseValue ? __EnvironmentSettingsUpdateinstanceTypeIdBaseValue.InstanceTypeId : default); + var __EnvironmentSettingsUpdateSpecified = CliRuntime.WasSpecified(parseResult, EnvironmentSettingsUpdateOptions.Region) || CliRuntime.WasSpecified(parseResult, EnvironmentSettingsUpdateOptions.InstanceTypeId); + var environmentSettingsUpdate = + __EnvironmentSettingsUpdateSpecified || __EnvironmentSettingsUpdateBase is not null + ? new global::Baseten.PromotionEnvironmentSettingsUpdateV1 + { + Region = environmentSettingsUpdateRegion, + InstanceTypeId = environmentSettingsUpdateInstanceTypeId, + + } + : __EnvironmentSettingsUpdateBase; + + var __PromotionSettingsOverrideBase = __requestBase is { } __PromotionSettingsOverrideBaseValue ? __PromotionSettingsOverrideBaseValue.PromotionSettingsOverride : default; var promotionSettingsOverrideRedeployOnPromotion = CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RedeployOnPromotion) ? parseResult.GetValue(PromotionSettingsOverrideOptions.RedeployOnPromotion) : (__PromotionSettingsOverrideBase is { } __PromotionSettingsOverrideredeployOnPromotionBaseValue ? __PromotionSettingsOverrideredeployOnPromotionBaseValue.RedeployOnPromotion : default); + var promotionSettingsOverrideRollingDeploy = CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RollingDeploy) ? parseResult.GetValue(PromotionSettingsOverrideOptions.RollingDeploy) : (__PromotionSettingsOverrideBase is { } __PromotionSettingsOverriderollingDeployBaseValue ? __PromotionSettingsOverriderollingDeployBaseValue.RollingDeploy : default); + var promotionSettingsOverrideRampUpWhilePromoting = CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RampUpWhilePromoting) ? parseResult.GetValue(PromotionSettingsOverrideOptions.RampUpWhilePromoting) : (__PromotionSettingsOverrideBase is { } __PromotionSettingsOverriderampUpWhilePromotingBaseValue ? __PromotionSettingsOverriderampUpWhilePromotingBaseValue.RampUpWhilePromoting : default); + var promotionSettingsOverrideRampUpDurationSeconds = CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RampUpDurationSeconds) ? parseResult.GetValue(PromotionSettingsOverrideOptions.RampUpDurationSeconds) : (__PromotionSettingsOverrideBase is { } __PromotionSettingsOverriderampUpDurationSecondsBaseValue ? __PromotionSettingsOverriderampUpDurationSecondsBaseValue.RampUpDurationSeconds : default); + var __PromotionSettingsOverrideSpecified = CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RedeployOnPromotion) || CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RollingDeploy) || CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RampUpWhilePromoting) || CliRuntime.WasSpecified(parseResult, PromotionSettingsOverrideOptions.RampUpDurationSeconds); + var promotionSettingsOverride = + __PromotionSettingsOverrideSpecified || __PromotionSettingsOverrideBase is not null + ? new global::Baseten.UpdatePromotionSettingsV1 + { + RedeployOnPromotion = promotionSettingsOverrideRedeployOnPromotion, + RollingDeploy = promotionSettingsOverrideRollingDeploy, + RampUpWhilePromoting = promotionSettingsOverrideRampUpWhilePromoting, + RampUpDurationSeconds = promotionSettingsOverrideRampUpDurationSeconds, + + } + : __PromotionSettingsOverrideBase; using var client = await CliRuntime.CreateClientAsync(parseResult, cancellationToken).ConfigureAwait(false); @@ -120,6 +157,8 @@ await CliRuntime.RunAsync(async () => scaleDownPreviousDeployment: scaleDownPreviousDeployment, deploymentId: deploymentId, preserveEnvInstanceType: preserveEnvInstanceType, + environmentSettingsUpdate: environmentSettingsUpdate, + promotionSettingsOverride: promotionSettingsOverride, cancellationToken: cancellationToken).ConfigureAwait(false); diff --git a/src/cli/Baseten.CLI/Commands/PromotionEnvironmentSettingsUpdateV1OptionSet.g.cs b/src/cli/Baseten.CLI/Commands/PromotionEnvironmentSettingsUpdateV1OptionSet.g.cs new file mode 100644 index 0000000..7ee1332 --- /dev/null +++ b/src/cli/Baseten.CLI/Commands/PromotionEnvironmentSettingsUpdateV1OptionSet.g.cs @@ -0,0 +1,27 @@ +#nullable enable + +using System.CommandLine; + +namespace Baseten.CLI.Commands; + +internal sealed record PromotionEnvironmentSettingsUpdateV1OptionSet( + Option Region, + Option InstanceTypeId) +{ + public static PromotionEnvironmentSettingsUpdateV1OptionSet Create(string? prefix = null) + { + var normalizedPrefix = string.IsNullOrWhiteSpace(prefix) + ? string.Empty + : prefix.Trim().Trim('-') + "-"; + return new PromotionEnvironmentSettingsUpdateV1OptionSet( + Region: new Option($"--{normalizedPrefix}region") + { + Description = @"Region for the promoted deployment, from `GET /v1/teams/{team_id}/regions`. Use an empty string for Global.", + }, + InstanceTypeId: new Option($"--{normalizedPrefix}instance-type-id") + { + Description = @"Instance type for the promoted deployment, from `GET /v1/instance_types`.", + } + ); + } +} \ No newline at end of file diff --git a/src/libs/Baseten/Generated/Baseten.BasetenClient.CreateModelsByModelIdDeploymentsByDeploymentIdPromote.g.cs b/src/libs/Baseten/Generated/Baseten.BasetenClient.CreateModelsByModelIdDeploymentsByDeploymentIdPromote.g.cs index 83bc1ed..84864f3 100644 --- a/src/libs/Baseten/Generated/Baseten.BasetenClient.CreateModelsByModelIdDeploymentsByDeploymentIdPromote.g.cs +++ b/src/libs/Baseten/Generated/Baseten.BasetenClient.CreateModelsByModelIdDeploymentsByDeploymentIdPromote.g.cs @@ -61,7 +61,18 @@ partial void ProcessCreateModelsByModelIdDeploymentsByDeploymentIdPromoteRespons /// --header "Authorization: Bearer $BASETEN_API_KEY" \
/// --data '{
/// "scale_down_previous_production": true,
- /// "preserve_env_instance_type": true
+ /// "preserve_env_instance_type": true,
+ /// "environment_settings_update": {
+ /// "autoscaling_settings": {
+ /// "max_replica": 4,
+ /// "min_replica": 2
+ /// }
+ /// },
+ /// "promotion_settings_override": {
+ /// "rolling_deploy_config": {
+ /// "max_surge_percent": 50
+ /// }
+ /// }
/// }' /// public async global::System.Threading.Tasks.Task CreateModelsByModelIdDeploymentsByDeploymentIdPromoteAsync( @@ -99,7 +110,18 @@ partial void ProcessCreateModelsByModelIdDeploymentsByDeploymentIdPromoteRespons /// --header "Authorization: Bearer $BASETEN_API_KEY" \
/// --data '{
/// "scale_down_previous_production": true,
- /// "preserve_env_instance_type": true
+ /// "preserve_env_instance_type": true,
+ /// "environment_settings_update": {
+ /// "autoscaling_settings": {
+ /// "max_replica": 4,
+ /// "min_replica": 2
+ /// }
+ /// },
+ /// "promotion_settings_override": {
+ /// "rolling_deploy_config": {
+ /// "max_surge_percent": 50
+ /// }
+ /// }
/// }' /// public async global::System.Threading.Tasks.Task> CreateModelsByModelIdDeploymentsByDeploymentIdPromoteAsResponseAsync( @@ -483,6 +505,14 @@ partial void ProcessCreateModelsByModelIdDeploymentsByDeploymentIdPromoteRespons /// Whether to use the promoting deployment's instance type or preserve target environment's instance type
/// Default Value: true /// + /// + /// Changes to the environment's settings. Omitted fields are unchanged. The promoted deployment uses the environment's current settings with these changes applied, and the environment keeps the result when the promotion completes.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// + /// + /// Promotion settings for this promotion only. Omitted fields keep the environment's values, and the environment's promotion settings are unchanged.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -491,6 +521,8 @@ partial void ProcessCreateModelsByModelIdDeploymentsByDeploymentIdPromoteRespons string deploymentId, bool? scaleDownPreviousProduction = default, bool? preserveEnvInstanceType = default, + global::Baseten.PromotionEnvironmentSettingsUpdateV1? environmentSettingsUpdate = default, + global::Baseten.UpdatePromotionSettingsV1? promotionSettingsOverride = default, global::Baseten.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default) { @@ -498,6 +530,8 @@ partial void ProcessCreateModelsByModelIdDeploymentsByDeploymentIdPromoteRespons { ScaleDownPreviousProduction = scaleDownPreviousProduction, PreserveEnvInstanceType = preserveEnvInstanceType, + EnvironmentSettingsUpdate = environmentSettingsUpdate, + PromotionSettingsOverride = promotionSettingsOverride, }; return await CreateModelsByModelIdDeploymentsByDeploymentIdPromoteAsync( diff --git a/src/libs/Baseten/Generated/Baseten.BasetenClient.CreateModelsByModelIdDeploymentsDevelopmentPromote.g.cs b/src/libs/Baseten/Generated/Baseten.BasetenClient.CreateModelsByModelIdDeploymentsDevelopmentPromote.g.cs index 9ccde7a..dba39cf 100644 --- a/src/libs/Baseten/Generated/Baseten.BasetenClient.CreateModelsByModelIdDeploymentsDevelopmentPromote.g.cs +++ b/src/libs/Baseten/Generated/Baseten.BasetenClient.CreateModelsByModelIdDeploymentsDevelopmentPromote.g.cs @@ -58,7 +58,18 @@ partial void ProcessCreateModelsByModelIdDeploymentsDevelopmentPromoteResponseCo /// --header "Authorization: Bearer $BASETEN_API_KEY" \
/// --data '{
/// "scale_down_previous_production": true,
- /// "preserve_env_instance_type": true
+ /// "preserve_env_instance_type": true,
+ /// "environment_settings_update": {
+ /// "autoscaling_settings": {
+ /// "max_replica": 4,
+ /// "min_replica": 2
+ /// }
+ /// },
+ /// "promotion_settings_override": {
+ /// "rolling_deploy_config": {
+ /// "max_surge_percent": 50
+ /// }
+ /// }
/// }' /// public async global::System.Threading.Tasks.Task CreateModelsByModelIdDeploymentsDevelopmentPromoteAsync( @@ -93,7 +104,18 @@ partial void ProcessCreateModelsByModelIdDeploymentsDevelopmentPromoteResponseCo /// --header "Authorization: Bearer $BASETEN_API_KEY" \
/// --data '{
/// "scale_down_previous_production": true,
- /// "preserve_env_instance_type": true
+ /// "preserve_env_instance_type": true,
+ /// "environment_settings_update": {
+ /// "autoscaling_settings": {
+ /// "max_replica": 4,
+ /// "min_replica": 2
+ /// }
+ /// },
+ /// "promotion_settings_override": {
+ /// "rolling_deploy_config": {
+ /// "max_surge_percent": 50
+ /// }
+ /// }
/// }' /// public async global::System.Threading.Tasks.Task> CreateModelsByModelIdDeploymentsDevelopmentPromoteAsResponseAsync( @@ -473,6 +495,14 @@ partial void ProcessCreateModelsByModelIdDeploymentsDevelopmentPromoteResponseCo /// Whether to use the promoting deployment's instance type or preserve target environment's instance type
/// Default Value: true /// + /// + /// Changes to the environment's settings. Omitted fields are unchanged. The promoted deployment uses the environment's current settings with these changes applied, and the environment keeps the result when the promotion completes.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// + /// + /// Promotion settings for this promotion only. Omitted fields keep the environment's values, and the environment's promotion settings are unchanged.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -480,6 +510,8 @@ partial void ProcessCreateModelsByModelIdDeploymentsDevelopmentPromoteResponseCo string modelId, bool? scaleDownPreviousProduction = default, bool? preserveEnvInstanceType = default, + global::Baseten.PromotionEnvironmentSettingsUpdateV1? environmentSettingsUpdate = default, + global::Baseten.UpdatePromotionSettingsV1? promotionSettingsOverride = default, global::Baseten.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default) { @@ -487,6 +519,8 @@ partial void ProcessCreateModelsByModelIdDeploymentsDevelopmentPromoteResponseCo { ScaleDownPreviousProduction = scaleDownPreviousProduction, PreserveEnvInstanceType = preserveEnvInstanceType, + EnvironmentSettingsUpdate = environmentSettingsUpdate, + PromotionSettingsOverride = promotionSettingsOverride, }; return await CreateModelsByModelIdDeploymentsDevelopmentPromoteAsync( diff --git a/src/libs/Baseten/Generated/Baseten.BasetenClient.CreateModelsByModelIdEnvironmentsByEnvNamePromote.g.cs b/src/libs/Baseten/Generated/Baseten.BasetenClient.CreateModelsByModelIdEnvironmentsByEnvNamePromote.g.cs index fa85225..a88d171 100644 --- a/src/libs/Baseten/Generated/Baseten.BasetenClient.CreateModelsByModelIdEnvironmentsByEnvNamePromote.g.cs +++ b/src/libs/Baseten/Generated/Baseten.BasetenClient.CreateModelsByModelIdEnvironmentsByEnvNamePromote.g.cs @@ -62,7 +62,18 @@ partial void ProcessCreateModelsByModelIdEnvironmentsByEnvNamePromoteResponseCon /// --data '{
/// "scale_down_previous_deployment": true,
/// "deployment_id": null,
- /// "preserve_env_instance_type": true
+ /// "preserve_env_instance_type": true,
+ /// "environment_settings_update": {
+ /// "autoscaling_settings": {
+ /// "max_replica": 4,
+ /// "min_replica": 2
+ /// }
+ /// },
+ /// "promotion_settings_override": {
+ /// "rolling_deploy_config": {
+ /// "max_surge_percent": 50
+ /// }
+ /// }
/// }' /// public async global::System.Threading.Tasks.Task CreateModelsByModelIdEnvironmentsByEnvNamePromoteAsync( @@ -101,7 +112,18 @@ partial void ProcessCreateModelsByModelIdEnvironmentsByEnvNamePromoteResponseCon /// --data '{
/// "scale_down_previous_deployment": true,
/// "deployment_id": null,
- /// "preserve_env_instance_type": true
+ /// "preserve_env_instance_type": true,
+ /// "environment_settings_update": {
+ /// "autoscaling_settings": {
+ /// "max_replica": 4,
+ /// "min_replica": 2
+ /// }
+ /// },
+ /// "promotion_settings_override": {
+ /// "rolling_deploy_config": {
+ /// "max_surge_percent": 50
+ /// }
+ /// }
/// }' /// public async global::System.Threading.Tasks.Task> CreateModelsByModelIdEnvironmentsByEnvNamePromoteAsResponseAsync( @@ -488,6 +510,14 @@ partial void ProcessCreateModelsByModelIdEnvironmentsByEnvNamePromoteResponseCon /// Whether to use the promoting deployment's instance type or preserve target environment's instance type
/// Default Value: true /// + /// + /// Changes to the environment's settings. Omitted fields are unchanged. The promoted deployment uses the environment's current settings with these changes applied, and the environment keeps the result when the promotion completes.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// + /// + /// Promotion settings for this promotion only. Omitted fields keep the environment's values, and the environment's promotion settings are unchanged.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -497,6 +527,8 @@ partial void ProcessCreateModelsByModelIdEnvironmentsByEnvNamePromoteResponseCon string deploymentId, bool? scaleDownPreviousDeployment = default, bool? preserveEnvInstanceType = default, + global::Baseten.PromotionEnvironmentSettingsUpdateV1? environmentSettingsUpdate = default, + global::Baseten.UpdatePromotionSettingsV1? promotionSettingsOverride = default, global::Baseten.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default) { @@ -505,6 +537,8 @@ partial void ProcessCreateModelsByModelIdEnvironmentsByEnvNamePromoteResponseCon ScaleDownPreviousDeployment = scaleDownPreviousDeployment, DeploymentId = deploymentId, PreserveEnvInstanceType = preserveEnvInstanceType, + EnvironmentSettingsUpdate = environmentSettingsUpdate, + PromotionSettingsOverride = promotionSettingsOverride, }; return await CreateModelsByModelIdEnvironmentsByEnvNamePromoteAsync( diff --git a/src/libs/Baseten/Generated/Baseten.IBasetenClient.CreateModelsByModelIdDeploymentsByDeploymentIdPromote.g.cs b/src/libs/Baseten/Generated/Baseten.IBasetenClient.CreateModelsByModelIdDeploymentsByDeploymentIdPromote.g.cs index 1f22a25..a7f667a 100644 --- a/src/libs/Baseten/Generated/Baseten.IBasetenClient.CreateModelsByModelIdDeploymentsByDeploymentIdPromote.g.cs +++ b/src/libs/Baseten/Generated/Baseten.IBasetenClient.CreateModelsByModelIdDeploymentsByDeploymentIdPromote.g.cs @@ -20,7 +20,18 @@ public partial interface IBasetenClient /// --header "Authorization: Bearer $BASETEN_API_KEY" \
/// --data '{
/// "scale_down_previous_production": true,
- /// "preserve_env_instance_type": true
+ /// "preserve_env_instance_type": true,
+ /// "environment_settings_update": {
+ /// "autoscaling_settings": {
+ /// "max_replica": 4,
+ /// "min_replica": 2
+ /// }
+ /// },
+ /// "promotion_settings_override": {
+ /// "rolling_deploy_config": {
+ /// "max_surge_percent": 50
+ /// }
+ /// }
/// }' /// global::System.Threading.Tasks.Task CreateModelsByModelIdDeploymentsByDeploymentIdPromoteAsync( @@ -46,7 +57,18 @@ public partial interface IBasetenClient /// --header "Authorization: Bearer $BASETEN_API_KEY" \
/// --data '{
/// "scale_down_previous_production": true,
- /// "preserve_env_instance_type": true
+ /// "preserve_env_instance_type": true,
+ /// "environment_settings_update": {
+ /// "autoscaling_settings": {
+ /// "max_replica": 4,
+ /// "min_replica": 2
+ /// }
+ /// },
+ /// "promotion_settings_override": {
+ /// "rolling_deploy_config": {
+ /// "max_surge_percent": 50
+ /// }
+ /// }
/// }' /// global::System.Threading.Tasks.Task> CreateModelsByModelIdDeploymentsByDeploymentIdPromoteAsResponseAsync( @@ -70,6 +92,14 @@ public partial interface IBasetenClient /// Whether to use the promoting deployment's instance type or preserve target environment's instance type
/// Default Value: true /// + /// + /// Changes to the environment's settings. Omitted fields are unchanged. The promoted deployment uses the environment's current settings with these changes applied, and the environment keeps the result when the promotion completes.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// + /// + /// Promotion settings for this promotion only. Omitted fields keep the environment's values, and the environment's promotion settings are unchanged.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -78,6 +108,8 @@ public partial interface IBasetenClient string deploymentId, bool? scaleDownPreviousProduction = default, bool? preserveEnvInstanceType = default, + global::Baseten.PromotionEnvironmentSettingsUpdateV1? environmentSettingsUpdate = default, + global::Baseten.UpdatePromotionSettingsV1? promotionSettingsOverride = default, global::Baseten.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default); } diff --git a/src/libs/Baseten/Generated/Baseten.IBasetenClient.CreateModelsByModelIdDeploymentsDevelopmentPromote.g.cs b/src/libs/Baseten/Generated/Baseten.IBasetenClient.CreateModelsByModelIdDeploymentsDevelopmentPromote.g.cs index b62e969..e07d8b1 100644 --- a/src/libs/Baseten/Generated/Baseten.IBasetenClient.CreateModelsByModelIdDeploymentsDevelopmentPromote.g.cs +++ b/src/libs/Baseten/Generated/Baseten.IBasetenClient.CreateModelsByModelIdDeploymentsDevelopmentPromote.g.cs @@ -19,7 +19,18 @@ public partial interface IBasetenClient /// --header "Authorization: Bearer $BASETEN_API_KEY" \
/// --data '{
/// "scale_down_previous_production": true,
- /// "preserve_env_instance_type": true
+ /// "preserve_env_instance_type": true,
+ /// "environment_settings_update": {
+ /// "autoscaling_settings": {
+ /// "max_replica": 4,
+ /// "min_replica": 2
+ /// }
+ /// },
+ /// "promotion_settings_override": {
+ /// "rolling_deploy_config": {
+ /// "max_surge_percent": 50
+ /// }
+ /// }
/// }' /// global::System.Threading.Tasks.Task CreateModelsByModelIdDeploymentsDevelopmentPromoteAsync( @@ -43,7 +54,18 @@ public partial interface IBasetenClient /// --header "Authorization: Bearer $BASETEN_API_KEY" \
/// --data '{
/// "scale_down_previous_production": true,
- /// "preserve_env_instance_type": true
+ /// "preserve_env_instance_type": true,
+ /// "environment_settings_update": {
+ /// "autoscaling_settings": {
+ /// "max_replica": 4,
+ /// "min_replica": 2
+ /// }
+ /// },
+ /// "promotion_settings_override": {
+ /// "rolling_deploy_config": {
+ /// "max_surge_percent": 50
+ /// }
+ /// }
/// }' /// global::System.Threading.Tasks.Task> CreateModelsByModelIdDeploymentsDevelopmentPromoteAsResponseAsync( @@ -65,6 +87,14 @@ public partial interface IBasetenClient /// Whether to use the promoting deployment's instance type or preserve target environment's instance type
/// Default Value: true /// + /// + /// Changes to the environment's settings. Omitted fields are unchanged. The promoted deployment uses the environment's current settings with these changes applied, and the environment keeps the result when the promotion completes.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// + /// + /// Promotion settings for this promotion only. Omitted fields keep the environment's values, and the environment's promotion settings are unchanged.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -72,6 +102,8 @@ public partial interface IBasetenClient string modelId, bool? scaleDownPreviousProduction = default, bool? preserveEnvInstanceType = default, + global::Baseten.PromotionEnvironmentSettingsUpdateV1? environmentSettingsUpdate = default, + global::Baseten.UpdatePromotionSettingsV1? promotionSettingsOverride = default, global::Baseten.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default); } diff --git a/src/libs/Baseten/Generated/Baseten.IBasetenClient.CreateModelsByModelIdEnvironmentsByEnvNamePromote.g.cs b/src/libs/Baseten/Generated/Baseten.IBasetenClient.CreateModelsByModelIdEnvironmentsByEnvNamePromote.g.cs index f623bb6..9eb8a4f 100644 --- a/src/libs/Baseten/Generated/Baseten.IBasetenClient.CreateModelsByModelIdEnvironmentsByEnvNamePromote.g.cs +++ b/src/libs/Baseten/Generated/Baseten.IBasetenClient.CreateModelsByModelIdEnvironmentsByEnvNamePromote.g.cs @@ -21,7 +21,18 @@ public partial interface IBasetenClient /// --data '{
/// "scale_down_previous_deployment": true,
/// "deployment_id": null,
- /// "preserve_env_instance_type": true
+ /// "preserve_env_instance_type": true,
+ /// "environment_settings_update": {
+ /// "autoscaling_settings": {
+ /// "max_replica": 4,
+ /// "min_replica": 2
+ /// }
+ /// },
+ /// "promotion_settings_override": {
+ /// "rolling_deploy_config": {
+ /// "max_surge_percent": 50
+ /// }
+ /// }
/// }' /// global::System.Threading.Tasks.Task CreateModelsByModelIdEnvironmentsByEnvNamePromoteAsync( @@ -48,7 +59,18 @@ public partial interface IBasetenClient /// --data '{
/// "scale_down_previous_deployment": true,
/// "deployment_id": null,
- /// "preserve_env_instance_type": true
+ /// "preserve_env_instance_type": true,
+ /// "environment_settings_update": {
+ /// "autoscaling_settings": {
+ /// "max_replica": 4,
+ /// "min_replica": 2
+ /// }
+ /// },
+ /// "promotion_settings_override": {
+ /// "rolling_deploy_config": {
+ /// "max_surge_percent": 50
+ /// }
+ /// }
/// }' /// global::System.Threading.Tasks.Task> CreateModelsByModelIdEnvironmentsByEnvNamePromoteAsResponseAsync( @@ -75,6 +97,14 @@ public partial interface IBasetenClient /// Whether to use the promoting deployment's instance type or preserve target environment's instance type
/// Default Value: true /// + /// + /// Changes to the environment's settings. Omitted fields are unchanged. The promoted deployment uses the environment's current settings with these changes applied, and the environment keeps the result when the promotion completes.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// + /// + /// Promotion settings for this promotion only. Omitted fields keep the environment's values, and the environment's promotion settings are unchanged.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -84,6 +114,8 @@ public partial interface IBasetenClient string deploymentId, bool? scaleDownPreviousDeployment = default, bool? preserveEnvInstanceType = default, + global::Baseten.PromotionEnvironmentSettingsUpdateV1? environmentSettingsUpdate = default, + global::Baseten.UpdatePromotionSettingsV1? promotionSettingsOverride = default, global::Baseten.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default); } diff --git a/src/libs/Baseten/Generated/Baseten.JsonConverters.SchedulesItem.g.cs b/src/libs/Baseten/Generated/Baseten.JsonConverters.SchedulesItem.g.cs index 8d13717..4b36a03 100644 --- a/src/libs/Baseten/Generated/Baseten.JsonConverters.SchedulesItem.g.cs +++ b/src/libs/Baseten/Generated/Baseten.JsonConverters.SchedulesItem.g.cs @@ -17,22 +17,22 @@ public class SchedulesItemJsonConverter : global::System.Text.Json.Serialization var readerCopy = reader; - var discriminatorTypeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminator), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? - throw new global::System.InvalidOperationException($"Cannot get type info for {nameof(global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminator)}"); + var discriminatorTypeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminator), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {nameof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminator)}"); var discriminator = global::System.Text.Json.JsonSerializer.Deserialize(ref readerCopy, discriminatorTypeInfo); - global::Baseten.AutoscalingScheduleV1? daily = default; - if (discriminator?.Cadence == global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence.Daily) + global::Baseten.AutoscalingScheduleUpsertV1? daily = default; + if (discriminator?.Cadence == global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence.Daily) { - var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.AutoscalingScheduleV1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? - throw new global::System.InvalidOperationException($"Cannot get type info for {nameof(global::Baseten.AutoscalingScheduleV1)}"); + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.AutoscalingScheduleUpsertV1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {nameof(global::Baseten.AutoscalingScheduleUpsertV1)}"); daily = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); } - global::Baseten.OneTimeAutoscalingScheduleV1? oneTime = default; - if (discriminator?.Cadence == global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence.OneTime) + global::Baseten.OneTimeAutoscalingScheduleUpsertV1? oneTime = default; + if (discriminator?.Cadence == global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence.OneTime) { - var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.OneTimeAutoscalingScheduleV1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? - throw new global::System.InvalidOperationException($"Cannot get type info for {nameof(global::Baseten.OneTimeAutoscalingScheduleV1)}"); + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.OneTimeAutoscalingScheduleUpsertV1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {nameof(global::Baseten.OneTimeAutoscalingScheduleUpsertV1)}"); oneTime = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); } @@ -57,14 +57,14 @@ public override void Write( if (value.IsDaily) { - var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.AutoscalingScheduleV1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? - throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::Baseten.AutoscalingScheduleV1).Name}"); + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.AutoscalingScheduleUpsertV1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::Baseten.AutoscalingScheduleUpsertV1).Name}"); global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickDaily(), typeInfo); } else if (value.IsOneTime) { - var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.OneTimeAutoscalingScheduleV1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? - throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::Baseten.OneTimeAutoscalingScheduleV1).Name}"); + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.OneTimeAutoscalingScheduleUpsertV1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::Baseten.OneTimeAutoscalingScheduleUpsertV1).Name}"); global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickOneTime(), typeInfo); } } diff --git a/src/libs/Baseten/Generated/Baseten.JsonConverters.SchedulesItem2.g.cs b/src/libs/Baseten/Generated/Baseten.JsonConverters.SchedulesItem2.g.cs index ed18af1..52965a2 100644 --- a/src/libs/Baseten/Generated/Baseten.JsonConverters.SchedulesItem2.g.cs +++ b/src/libs/Baseten/Generated/Baseten.JsonConverters.SchedulesItem2.g.cs @@ -17,22 +17,22 @@ public class SchedulesItem2JsonConverter : global::System.Text.Json.Serializatio var readerCopy = reader; - var discriminatorTypeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminator), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? - throw new global::System.InvalidOperationException($"Cannot get type info for {nameof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminator)}"); + var discriminatorTypeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminator), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {nameof(global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminator)}"); var discriminator = global::System.Text.Json.JsonSerializer.Deserialize(ref readerCopy, discriminatorTypeInfo); - global::Baseten.AutoscalingScheduleUpsertV1? daily = default; - if (discriminator?.Cadence == global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence.Daily) + global::Baseten.AutoscalingScheduleV1? daily = default; + if (discriminator?.Cadence == global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence.Daily) { - var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.AutoscalingScheduleUpsertV1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? - throw new global::System.InvalidOperationException($"Cannot get type info for {nameof(global::Baseten.AutoscalingScheduleUpsertV1)}"); + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.AutoscalingScheduleV1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {nameof(global::Baseten.AutoscalingScheduleV1)}"); daily = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); } - global::Baseten.OneTimeAutoscalingScheduleUpsertV1? oneTime = default; - if (discriminator?.Cadence == global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence.OneTime) + global::Baseten.OneTimeAutoscalingScheduleV1? oneTime = default; + if (discriminator?.Cadence == global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence.OneTime) { - var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.OneTimeAutoscalingScheduleUpsertV1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? - throw new global::System.InvalidOperationException($"Cannot get type info for {nameof(global::Baseten.OneTimeAutoscalingScheduleUpsertV1)}"); + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.OneTimeAutoscalingScheduleV1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {nameof(global::Baseten.OneTimeAutoscalingScheduleV1)}"); oneTime = global::System.Text.Json.JsonSerializer.Deserialize(ref reader, typeInfo); } @@ -57,14 +57,14 @@ public override void Write( if (value.IsDaily) { - var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.AutoscalingScheduleUpsertV1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? - throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::Baseten.AutoscalingScheduleUpsertV1).Name}"); + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.AutoscalingScheduleV1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::Baseten.AutoscalingScheduleV1).Name}"); global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickDaily(), typeInfo); } else if (value.IsOneTime) { - var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.OneTimeAutoscalingScheduleUpsertV1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? - throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::Baseten.OneTimeAutoscalingScheduleUpsertV1).Name}"); + var typeInfo = typeInfoResolver.GetTypeInfo(typeof(global::Baseten.OneTimeAutoscalingScheduleV1), options) as global::System.Text.Json.Serialization.Metadata.JsonTypeInfo ?? + throw new global::System.InvalidOperationException($"Cannot get type info for {typeof(global::Baseten.OneTimeAutoscalingScheduleV1).Name}"); global::System.Text.Json.JsonSerializer.Serialize(writer, value.PickOneTime(), typeInfo); } } diff --git a/src/libs/Baseten/Generated/Baseten.JsonSerializerContext.g.cs b/src/libs/Baseten/Generated/Baseten.JsonSerializerContext.g.cs index aaad9d0..7d73ce4 100644 --- a/src/libs/Baseten/Generated/Baseten.JsonSerializerContext.g.cs +++ b/src/libs/Baseten/Generated/Baseten.JsonSerializerContext.g.cs @@ -221,6 +221,22 @@ namespace Baseten [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdateAutoscalingSettingsStatusV1), TypeInfoPropertyName = "UpdateAutoscalingSettingsStatusV12")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdateAutoscalingSettingsResponseV1))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdateRequestBackpressureSettingsV1))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.AutoscalingScheduleSettingsRequestV1))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.AutoscalingScheduleUpsertV1))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.AutoscalingScheduleUpsertV1Cadence), TypeInfoPropertyName = "AutoscalingScheduleUpsertV1Cadence2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.AutoscalingScheduleWeekdayV1), TypeInfoPropertyName = "AutoscalingScheduleWeekdayV12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.OneTimeAutoscalingScheduleUpsertV1))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.PromotionCleanupStrategyV1), TypeInfoPropertyName = "PromotionCleanupStrategyV12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.PromotionEnvironmentSettingsUpdateV1))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdatePromotionSettingsV1))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.RollingDeployStrategyV1), TypeInfoPropertyName = "RollingDeployStrategyV12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.SchedulesItem), TypeInfoPropertyName = "SchedulesItem2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminator))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence), TypeInfoPropertyName = "UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdateRollingDeployConfigV1))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.PromoteRequestV1))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.ActivateResponseV1))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.DeactivateResponseV1))] @@ -288,11 +304,9 @@ namespace Baseten [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.AutoscalingScheduleStateV1))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.AutoscalingScheduleV1))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.AutoscalingScheduleV1Cadence), TypeInfoPropertyName = "AutoscalingScheduleV1Cadence2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.AutoscalingScheduleWeekdayV1), TypeInfoPropertyName = "AutoscalingScheduleWeekdayV12")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.EnvironmentAutoscalingSchedulesV1))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.SchedulesItem), TypeInfoPropertyName = "SchedulesItem2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.SchedulesItem2), TypeInfoPropertyName = "SchedulesItem22")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.OneTimeAutoscalingScheduleV1))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminator))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence), TypeInfoPropertyName = "EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence2")] @@ -300,24 +314,11 @@ namespace Baseten [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.InProgressPromotionV1))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.PromotionSettingsV1))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.InProgressPromotionStatusV1), TypeInfoPropertyName = "InProgressPromotionStatusV12")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.PromotionCleanupStrategyV1), TypeInfoPropertyName = "PromotionCleanupStrategyV12")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.RollingDeployConfigV1))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.RollingDeployStrategyV1), TypeInfoPropertyName = "RollingDeployStrategyV12")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.EnvironmentsV1))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdatePromotionSettingsV1))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdateRollingDeployConfigV1))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.CreateEnvironmentRequestV1))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.EnvironmentTombstoneV1))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.AutoscalingScheduleSettingsRequestV1))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.AutoscalingScheduleUpsertV1))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.AutoscalingScheduleUpsertV1Cadence), TypeInfoPropertyName = "AutoscalingScheduleUpsertV1Cadence2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.OneTimeAutoscalingScheduleUpsertV1))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.SchedulesItem2), TypeInfoPropertyName = "SchedulesItem22")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminator))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence), TypeInfoPropertyName = "UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdateEnvironmentRequestV1))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdateEnvironmentResponseV1))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.GetEnvironmentLogsRequestV1))] @@ -508,7 +509,6 @@ namespace Baseten [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.LoopsDeploymentMetricsV1))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.ResponseTimeDatapointV1))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] internal sealed partial class SourceGenerationContextChunk0 : global::System.Text.Json.Serialization.JsonSerializerContext { } @@ -519,6 +519,7 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSourceGenerationOptions( DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull )] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.LoopsDeploymentNodeMetricsV1))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.GetLoopsDeploymentMetricsResponseV1))] @@ -870,6 +871,12 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.RequestBackpressurePolicyV1?), TypeInfoPropertyName = "NullableRequestBackpressurePolicyV12")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.CreateModelDeploymentRequestV1SourceDiscriminatorKind?), TypeInfoPropertyName = "NullableCreateModelDeploymentRequestV1SourceDiscriminatorKind2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdateAutoscalingSettingsStatusV1?), TypeInfoPropertyName = "NullableUpdateAutoscalingSettingsStatusV12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.AutoscalingScheduleUpsertV1Cadence?), TypeInfoPropertyName = "NullableAutoscalingScheduleUpsertV1Cadence2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.AutoscalingScheduleWeekdayV1?), TypeInfoPropertyName = "NullableAutoscalingScheduleWeekdayV12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.PromotionCleanupStrategyV1?), TypeInfoPropertyName = "NullablePromotionCleanupStrategyV12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.RollingDeployStrategyV1?), TypeInfoPropertyName = "NullableRollingDeployStrategyV12")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.SchedulesItem?), TypeInfoPropertyName = "NullableSchedulesItem2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence?), TypeInfoPropertyName = "NullableUpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.DeploymentConfigOutputFormat?), TypeInfoPropertyName = "NullableDeploymentConfigOutputFormat2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.LogLevelV1?), TypeInfoPropertyName = "NullableLogLevelV12")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.SortOrderV1?), TypeInfoPropertyName = "NullableSortOrderV12")] @@ -884,15 +891,9 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.StartupPhaseV1?), TypeInfoPropertyName = "NullableStartupPhaseV12")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.StartupSortFieldV1?), TypeInfoPropertyName = "NullableStartupSortFieldV12")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.AutoscalingScheduleV1Cadence?), TypeInfoPropertyName = "NullableAutoscalingScheduleV1Cadence2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.AutoscalingScheduleWeekdayV1?), TypeInfoPropertyName = "NullableAutoscalingScheduleWeekdayV12")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.SchedulesItem?), TypeInfoPropertyName = "NullableSchedulesItem2_3")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.SchedulesItem2?), TypeInfoPropertyName = "NullableSchedulesItem22")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence?), TypeInfoPropertyName = "NullableEnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.InProgressPromotionStatusV1?), TypeInfoPropertyName = "NullableInProgressPromotionStatusV12")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.PromotionCleanupStrategyV1?), TypeInfoPropertyName = "NullablePromotionCleanupStrategyV12")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.RollingDeployStrategyV1?), TypeInfoPropertyName = "NullableRollingDeployStrategyV12")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.AutoscalingScheduleUpsertV1Cadence?), TypeInfoPropertyName = "NullableAutoscalingScheduleUpsertV1Cadence2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.SchedulesItem2?), TypeInfoPropertyName = "NullableSchedulesItem22")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence?), TypeInfoPropertyName = "NullableUpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.CancelPromotionStatusV1?), TypeInfoPropertyName = "NullableCancelPromotionStatusV12")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.CheckpointSyncStatus?), TypeInfoPropertyName = "NullableCheckpointSyncStatus2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Baseten.V1AvailabilityModel?), TypeInfoPropertyName = "NullableV1AvailabilityModel2")] @@ -981,6 +982,8 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List>))] @@ -992,10 +995,8 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] @@ -1018,7 +1019,6 @@ internal sealed partial class SourceGenerationContextChunk0 : global::System.Tex [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] internal sealed partial class SourceGenerationContextChunk1 : global::System.Text.Json.Serialization.JsonSerializerContext { } @@ -1029,6 +1029,7 @@ internal sealed partial class SourceGenerationContextChunk1 : global::System.Tex [global::System.Text.Json.Serialization.JsonSourceGenerationOptions( DefaultIgnoreCondition = global::System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull )] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] @@ -1137,8 +1138,8 @@ internal static void AddConverters(global::System.Text.Json.JsonSerializerOption options.Converters.Add(new global::Baseten.JsonConverters.Source2JsonConverter()); options.Converters.Add(new global::Baseten.JsonConverters.EventDataJsonConverter()); options.Converters.Add(new global::Baseten.JsonConverters.Source3JsonConverter()); - options.Converters.Add(new global::Baseten.JsonConverters.PatchOpsItemJsonConverter()); options.Converters.Add(new global::Baseten.JsonConverters.SchedulesItemJsonConverter()); + options.Converters.Add(new global::Baseten.JsonConverters.PatchOpsItemJsonConverter()); options.Converters.Add(new global::Baseten.JsonConverters.SchedulesItem2JsonConverter()); options.Converters.Add(new global::Baseten.JsonConverters.CheckpointsItemJsonConverter()); options.Converters.Add(new global::Baseten.JsonConverters.Source4JsonConverter()); @@ -1273,6 +1274,26 @@ public override bool CanConvert(global::System.Type typeToConvert) || typeToConvert == typeof(global::Baseten.UpdateAutoscalingSettingsStatusV1?) + || typeToConvert == typeof(global::Baseten.AutoscalingScheduleUpsertV1Cadence) + + || typeToConvert == typeof(global::Baseten.AutoscalingScheduleUpsertV1Cadence?) + + || typeToConvert == typeof(global::Baseten.AutoscalingScheduleWeekdayV1) + + || typeToConvert == typeof(global::Baseten.AutoscalingScheduleWeekdayV1?) + + || typeToConvert == typeof(global::Baseten.PromotionCleanupStrategyV1) + + || typeToConvert == typeof(global::Baseten.PromotionCleanupStrategyV1?) + + || typeToConvert == typeof(global::Baseten.RollingDeployStrategyV1) + + || typeToConvert == typeof(global::Baseten.RollingDeployStrategyV1?) + + || typeToConvert == typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence) + + || typeToConvert == typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence?) + || typeToConvert == typeof(global::Baseten.DeploymentConfigOutputFormat) || typeToConvert == typeof(global::Baseten.DeploymentConfigOutputFormat?) @@ -1325,10 +1346,6 @@ public override bool CanConvert(global::System.Type typeToConvert) || typeToConvert == typeof(global::Baseten.AutoscalingScheduleV1Cadence?) - || typeToConvert == typeof(global::Baseten.AutoscalingScheduleWeekdayV1) - - || typeToConvert == typeof(global::Baseten.AutoscalingScheduleWeekdayV1?) - || typeToConvert == typeof(global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence) || typeToConvert == typeof(global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence?) @@ -1337,22 +1354,6 @@ public override bool CanConvert(global::System.Type typeToConvert) || typeToConvert == typeof(global::Baseten.InProgressPromotionStatusV1?) - || typeToConvert == typeof(global::Baseten.PromotionCleanupStrategyV1) - - || typeToConvert == typeof(global::Baseten.PromotionCleanupStrategyV1?) - - || typeToConvert == typeof(global::Baseten.RollingDeployStrategyV1) - - || typeToConvert == typeof(global::Baseten.RollingDeployStrategyV1?) - - || typeToConvert == typeof(global::Baseten.AutoscalingScheduleUpsertV1Cadence) - - || typeToConvert == typeof(global::Baseten.AutoscalingScheduleUpsertV1Cadence?) - - || typeToConvert == typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence) - - || typeToConvert == typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence?) - || typeToConvert == typeof(global::Baseten.CancelPromotionStatusV1) || typeToConvert == typeof(global::Baseten.CancelPromotionStatusV1?) @@ -1764,6 +1765,56 @@ public override bool CanConvert(global::System.Type typeToConvert) return new global::Baseten.JsonConverters.UpdateAutoscalingSettingsStatusV1NullableJsonConverter(); } + if (typeToConvert == typeof(global::Baseten.AutoscalingScheduleUpsertV1Cadence)) + { + return new global::Baseten.JsonConverters.AutoscalingScheduleUpsertV1CadenceJsonConverter(); + } + + if (typeToConvert == typeof(global::Baseten.AutoscalingScheduleUpsertV1Cadence?)) + { + return new global::Baseten.JsonConverters.AutoscalingScheduleUpsertV1CadenceNullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Baseten.AutoscalingScheduleWeekdayV1)) + { + return new global::Baseten.JsonConverters.AutoscalingScheduleWeekdayV1JsonConverter(); + } + + if (typeToConvert == typeof(global::Baseten.AutoscalingScheduleWeekdayV1?)) + { + return new global::Baseten.JsonConverters.AutoscalingScheduleWeekdayV1NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Baseten.PromotionCleanupStrategyV1)) + { + return new global::Baseten.JsonConverters.PromotionCleanupStrategyV1JsonConverter(); + } + + if (typeToConvert == typeof(global::Baseten.PromotionCleanupStrategyV1?)) + { + return new global::Baseten.JsonConverters.PromotionCleanupStrategyV1NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Baseten.RollingDeployStrategyV1)) + { + return new global::Baseten.JsonConverters.RollingDeployStrategyV1JsonConverter(); + } + + if (typeToConvert == typeof(global::Baseten.RollingDeployStrategyV1?)) + { + return new global::Baseten.JsonConverters.RollingDeployStrategyV1NullableJsonConverter(); + } + + if (typeToConvert == typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence)) + { + return new global::Baseten.JsonConverters.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadenceJsonConverter(); + } + + if (typeToConvert == typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence?)) + { + return new global::Baseten.JsonConverters.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadenceNullableJsonConverter(); + } + if (typeToConvert == typeof(global::Baseten.DeploymentConfigOutputFormat)) { return new global::Baseten.JsonConverters.DeploymentConfigOutputFormatJsonConverter(); @@ -1894,16 +1945,6 @@ public override bool CanConvert(global::System.Type typeToConvert) return new global::Baseten.JsonConverters.AutoscalingScheduleV1CadenceNullableJsonConverter(); } - if (typeToConvert == typeof(global::Baseten.AutoscalingScheduleWeekdayV1)) - { - return new global::Baseten.JsonConverters.AutoscalingScheduleWeekdayV1JsonConverter(); - } - - if (typeToConvert == typeof(global::Baseten.AutoscalingScheduleWeekdayV1?)) - { - return new global::Baseten.JsonConverters.AutoscalingScheduleWeekdayV1NullableJsonConverter(); - } - if (typeToConvert == typeof(global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence)) { return new global::Baseten.JsonConverters.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadenceJsonConverter(); @@ -1924,46 +1965,6 @@ public override bool CanConvert(global::System.Type typeToConvert) return new global::Baseten.JsonConverters.InProgressPromotionStatusV1NullableJsonConverter(); } - if (typeToConvert == typeof(global::Baseten.PromotionCleanupStrategyV1)) - { - return new global::Baseten.JsonConverters.PromotionCleanupStrategyV1JsonConverter(); - } - - if (typeToConvert == typeof(global::Baseten.PromotionCleanupStrategyV1?)) - { - return new global::Baseten.JsonConverters.PromotionCleanupStrategyV1NullableJsonConverter(); - } - - if (typeToConvert == typeof(global::Baseten.RollingDeployStrategyV1)) - { - return new global::Baseten.JsonConverters.RollingDeployStrategyV1JsonConverter(); - } - - if (typeToConvert == typeof(global::Baseten.RollingDeployStrategyV1?)) - { - return new global::Baseten.JsonConverters.RollingDeployStrategyV1NullableJsonConverter(); - } - - if (typeToConvert == typeof(global::Baseten.AutoscalingScheduleUpsertV1Cadence)) - { - return new global::Baseten.JsonConverters.AutoscalingScheduleUpsertV1CadenceJsonConverter(); - } - - if (typeToConvert == typeof(global::Baseten.AutoscalingScheduleUpsertV1Cadence?)) - { - return new global::Baseten.JsonConverters.AutoscalingScheduleUpsertV1CadenceNullableJsonConverter(); - } - - if (typeToConvert == typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence)) - { - return new global::Baseten.JsonConverters.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadenceJsonConverter(); - } - - if (typeToConvert == typeof(global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence?)) - { - return new global::Baseten.JsonConverters.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadenceNullableJsonConverter(); - } - if (typeToConvert == typeof(global::Baseten.CancelPromotionStatusV1)) { return new global::Baseten.JsonConverters.CancelPromotionStatusV1JsonConverter(); diff --git a/src/libs/Baseten/Generated/Baseten.JsonSerializerContextTypes.g.cs b/src/libs/Baseten/Generated/Baseten.JsonSerializerContextTypes.g.cs index a612076..957cf4c 100644 --- a/src/libs/Baseten/Generated/Baseten.JsonSerializerContextTypes.g.cs +++ b/src/libs/Baseten/Generated/Baseten.JsonSerializerContextTypes.g.cs @@ -865,2459 +865,2463 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::Baseten.PromoteRequestV1? Type208 { get; set; } + public global::Baseten.AutoscalingScheduleSettingsRequestV1? Type208 { get; set; } /// /// /// - public global::Baseten.ActivateResponseV1? Type209 { get; set; } + public global::Baseten.AutoscalingScheduleUpsertV1? Type209 { get; set; } /// /// /// - public global::Baseten.DeactivateResponseV1? Type210 { get; set; } + public global::Baseten.AutoscalingScheduleUpsertV1Cadence? Type210 { get; set; } /// /// /// - public global::Baseten.RetryDeploymentResponseV1? Type211 { get; set; } + public global::System.Collections.Generic.IList? Type211 { get; set; } /// /// /// - public global::Baseten.DownloadDeploymentResponseV1? Type212 { get; set; } + public global::Baseten.AutoscalingScheduleWeekdayV1? Type212 { get; set; } /// /// /// - public global::Baseten.DeploymentConfigResponseV1? Type213 { get; set; } + public global::Baseten.OneTimeAutoscalingScheduleUpsertV1? Type213 { get; set; } /// /// /// - public global::Baseten.DeploymentConfigOutputFormat? Type214 { get; set; } + public global::Baseten.PromotionCleanupStrategyV1? Type214 { get; set; } /// /// /// - public global::Baseten.GetDeploymentConfigRequestV1? Type215 { get; set; } + public global::Baseten.PromotionEnvironmentSettingsUpdateV1? Type215 { get; set; } /// /// /// - public global::Baseten.LogLevelV1? Type216 { get; set; } + public global::Baseten.UpdateAutoscalingScheduleSettingsV1? Type216 { get; set; } /// /// /// - public global::Baseten.LogV1? Type217 { get; set; } + public global::Baseten.UpdatePromotionSettingsV1? Type217 { get; set; } /// /// /// - public global::Baseten.GetLogsResponseV1? Type218 { get; set; } + public global::Baseten.RollingDeployStrategyV1? Type218 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type219 { get; set; } + public global::System.Collections.Generic.IList? Type219 { get; set; } /// /// /// - public global::Baseten.SortOrderV1? Type220 { get; set; } + public global::Baseten.SchedulesItem? Type220 { get; set; } /// /// /// - public global::Baseten.GetDeploymentLogsRequestV1? Type221 { get; set; } + public global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminator? Type221 { get; set; } /// /// /// - public global::Baseten.DeploymentPatchActionV1? Type222 { get; set; } + public global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence? Type222 { get; set; } /// /// /// - public global::Baseten.DeploymentPatchOpConfigV1? Type223 { get; set; } + public global::Baseten.UpdateRollingDeployConfigV1? Type223 { get; set; } /// /// /// - public global::Baseten.DeploymentPatchOpEnvVarV1? Type224 { get; set; } + public global::Baseten.PromoteRequestV1? Type224 { get; set; } /// /// /// - public global::Baseten.DeploymentPatchOpExternalDataV1? Type225 { get; set; } + public global::Baseten.ActivateResponseV1? Type225 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type226 { get; set; } + public global::Baseten.DeactivateResponseV1? Type226 { get; set; } /// /// /// - public global::Baseten.DeploymentPatchOpModelCodeV1? Type227 { get; set; } + public global::Baseten.RetryDeploymentResponseV1? Type227 { get; set; } /// /// /// - public global::Baseten.DeploymentPatchOpPackageV1? Type228 { get; set; } + public global::Baseten.DownloadDeploymentResponseV1? Type228 { get; set; } /// /// /// - public global::Baseten.DeploymentPatchOpPythonRequirementV1? Type229 { get; set; } + public global::Baseten.DeploymentConfigResponseV1? Type229 { get; set; } /// /// /// - public global::Baseten.DeploymentPatchPointV1? Type230 { get; set; } + public global::Baseten.DeploymentConfigOutputFormat? Type230 { get; set; } /// /// /// - public global::Baseten.CreateDeploymentPatchRequestV1? Type231 { get; set; } + public global::Baseten.GetDeploymentConfigRequestV1? Type231 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type232 { get; set; } + public global::Baseten.LogLevelV1? Type232 { get; set; } /// /// /// - public global::Baseten.PatchOpsItem? Type233 { get; set; } + public global::Baseten.LogV1? Type233 { get; set; } /// /// /// - public global::Baseten.CreateDeploymentPatchRequestV1PatchOpDiscriminator? Type234 { get; set; } + public global::Baseten.GetLogsResponseV1? Type234 { get; set; } /// /// /// - public global::Baseten.CreateDeploymentPatchRequestV1PatchOpDiscriminatorType? Type235 { get; set; } + public global::System.Collections.Generic.IList? Type235 { get; set; } /// /// /// - public global::Baseten.DeploymentPatchPointWithHashV1? Type236 { get; set; } + public global::Baseten.SortOrderV1? Type236 { get; set; } /// /// /// - public global::Baseten.CreateDeploymentPatchResponseV1? Type237 { get; set; } + public global::Baseten.GetDeploymentLogsRequestV1? Type237 { get; set; } /// /// /// - public global::Baseten.GetDeploymentPatchesStateResponseV1? Type238 { get; set; } + public global::Baseten.DeploymentPatchActionV1? Type238 { get; set; } /// /// /// - public global::Baseten.SyncDeploymentPatchesRequestV1? Type239 { get; set; } + public global::Baseten.DeploymentPatchOpConfigV1? Type239 { get; set; } /// /// /// - public global::Baseten.SyncDeploymentPatchesResponseV1? Type240 { get; set; } + public global::Baseten.DeploymentPatchOpEnvVarV1? Type240 { get; set; } /// /// /// - public global::Baseten.ModelMetricDescriptorV1? Type241 { get; set; } + public global::Baseten.DeploymentPatchOpExternalDataV1? Type241 { get; set; } /// /// /// - public global::Baseten.ModelMetricUnitHintV1? Type242 { get; set; } + public global::System.Collections.Generic.Dictionary? Type242 { get; set; } /// /// /// - public global::Baseten.ModelMetricKindV1? Type243 { get; set; } + public global::Baseten.DeploymentPatchOpModelCodeV1? Type243 { get; set; } /// /// /// - public global::System.Collections.Generic.IList>? Type244 { get; set; } + public global::Baseten.DeploymentPatchOpPackageV1? Type244 { get; set; } /// /// /// - public global::Baseten.ModelMetricModeV1? Type245 { get; set; } + public global::Baseten.DeploymentPatchOpPythonRequirementV1? Type245 { get; set; } /// /// /// - public global::Baseten.ModelMetricValueSetV1? Type246 { get; set; } + public global::Baseten.DeploymentPatchPointV1? Type246 { get; set; } /// /// /// - public global::System.Collections.Generic.IList>? Type247 { get; set; } + public global::Baseten.CreateDeploymentPatchRequestV1? Type247 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type248 { get; set; } + public global::System.Collections.Generic.IList? Type248 { get; set; } /// /// /// - public global::Baseten.GetModelMetricsResponseV1? Type249 { get; set; } + public global::Baseten.PatchOpsItem? Type249 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type250 { get; set; } + public global::Baseten.CreateDeploymentPatchRequestV1PatchOpDiscriminator? Type250 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type251 { get; set; } + public global::Baseten.CreateDeploymentPatchRequestV1PatchOpDiscriminatorType? Type251 { get; set; } /// /// /// - public global::Baseten.GetDeploymentMetricsRequestV1? Type252 { get; set; } + public global::Baseten.DeploymentPatchPointWithHashV1? Type252 { get; set; } /// /// /// - public global::Baseten.StartupAttemptV1? Type253 { get; set; } + public global::Baseten.CreateDeploymentPatchResponseV1? Type253 { get; set; } /// /// /// - public global::Baseten.StartupOutcomeV1? Type254 { get; set; } + public global::Baseten.GetDeploymentPatchesStateResponseV1? Type254 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type255 { get; set; } + public global::Baseten.SyncDeploymentPatchesRequestV1? Type255 { get; set; } /// /// /// - public global::Baseten.StartupPhaseSummaryV1? Type256 { get; set; } + public global::Baseten.SyncDeploymentPatchesResponseV1? Type256 { get; set; } /// /// /// - public global::Baseten.StartupPhaseStatusV1? Type257 { get; set; } + public global::Baseten.ModelMetricDescriptorV1? Type257 { get; set; } /// /// /// - public global::Baseten.StartupPhaseV1? Type258 { get; set; } + public global::Baseten.ModelMetricUnitHintV1? Type258 { get; set; } /// /// /// - public global::Baseten.StartupAttemptsV1? Type259 { get; set; } + public global::Baseten.ModelMetricKindV1? Type259 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type260 { get; set; } + public global::System.Collections.Generic.IList>? Type260 { get; set; } /// /// /// - public global::Baseten.StartupSortFieldV1? Type261 { get; set; } + public global::Baseten.ModelMetricModeV1? Type261 { get; set; } /// /// /// - public global::Baseten.GetStartupAttemptsRequestV1? Type262 { get; set; } + public global::Baseten.ModelMetricValueSetV1? Type262 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type263 { get; set; } + public global::System.Collections.Generic.IList>? Type263 { get; set; } /// /// /// - public global::Baseten.StartupPercentilesV1? Type264 { get; set; } + public global::System.Collections.Generic.IList? Type264 { get; set; } /// /// /// - public global::Baseten.StartupPhasePercentilesV1? Type265 { get; set; } + public global::Baseten.GetModelMetricsResponseV1? Type265 { get; set; } /// /// /// - public global::Baseten.StartupSummaryV1? Type266 { get; set; } + public global::System.Collections.Generic.IList? Type266 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type267 { get; set; } + public global::System.Collections.Generic.IList? Type267 { get; set; } /// /// /// - public global::Baseten.GetStartupSummaryRequestV1? Type268 { get; set; } + public global::Baseten.GetDeploymentMetricsRequestV1? Type268 { get; set; } /// /// /// - public global::Baseten.TerminateReplicaResponseV1? Type269 { get; set; } + public global::Baseten.StartupAttemptV1? Type269 { get; set; } /// /// /// - public global::Baseten.SignSSHCertificateRequestV1? Type270 { get; set; } + public global::Baseten.StartupOutcomeV1? Type270 { get; set; } /// /// /// - public global::Baseten.SignSSHCertificateResponseV1? Type271 { get; set; } + public global::System.Collections.Generic.IList? Type271 { get; set; } /// /// /// - public global::Baseten.AutoscalingScheduleSettingsV1? Type272 { get; set; } + public global::Baseten.StartupPhaseSummaryV1? Type272 { get; set; } /// /// /// - public global::Baseten.AutoscalingScheduleStateV1? Type273 { get; set; } + public global::Baseten.StartupPhaseStatusV1? Type273 { get; set; } /// /// /// - public global::Baseten.AutoscalingScheduleV1? Type274 { get; set; } + public global::Baseten.StartupPhaseV1? Type274 { get; set; } /// /// /// - public global::Baseten.AutoscalingScheduleV1Cadence? Type275 { get; set; } + public global::Baseten.StartupAttemptsV1? Type275 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type276 { get; set; } + public global::System.Collections.Generic.IList? Type276 { get; set; } /// /// /// - public global::Baseten.AutoscalingScheduleWeekdayV1? Type277 { get; set; } + public global::Baseten.StartupSortFieldV1? Type277 { get; set; } /// /// /// - public global::Baseten.EnvironmentAutoscalingSchedulesV1? Type278 { get; set; } + public global::Baseten.GetStartupAttemptsRequestV1? Type278 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type279 { get; set; } + public global::System.Collections.Generic.IList? Type279 { get; set; } /// /// /// - public global::Baseten.SchedulesItem? Type280 { get; set; } + public global::Baseten.StartupPercentilesV1? Type280 { get; set; } /// /// /// - public global::Baseten.OneTimeAutoscalingScheduleV1? Type281 { get; set; } + public global::Baseten.StartupPhasePercentilesV1? Type281 { get; set; } /// /// /// - public global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminator? Type282 { get; set; } + public global::Baseten.StartupSummaryV1? Type282 { get; set; } /// /// /// - public global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence? Type283 { get; set; } + public global::System.Collections.Generic.IList? Type283 { get; set; } /// /// /// - public global::Baseten.EnvironmentV1? Type284 { get; set; } + public global::Baseten.GetStartupSummaryRequestV1? Type284 { get; set; } /// /// /// - public global::Baseten.InProgressPromotionV1? Type285 { get; set; } + public global::Baseten.TerminateReplicaResponseV1? Type285 { get; set; } /// /// /// - public global::Baseten.PromotionSettingsV1? Type286 { get; set; } + public global::Baseten.SignSSHCertificateRequestV1? Type286 { get; set; } /// /// /// - public global::Baseten.InProgressPromotionStatusV1? Type287 { get; set; } + public global::Baseten.SignSSHCertificateResponseV1? Type287 { get; set; } /// /// /// - public global::Baseten.PromotionCleanupStrategyV1? Type288 { get; set; } + public global::Baseten.AutoscalingScheduleSettingsV1? Type288 { get; set; } /// /// /// - public global::Baseten.RollingDeployConfigV1? Type289 { get; set; } + public global::Baseten.AutoscalingScheduleStateV1? Type289 { get; set; } /// /// /// - public global::Baseten.RollingDeployStrategyV1? Type290 { get; set; } + public global::Baseten.AutoscalingScheduleV1? Type290 { get; set; } /// /// /// - public global::Baseten.EnvironmentsV1? Type291 { get; set; } + public global::Baseten.AutoscalingScheduleV1Cadence? Type291 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type292 { get; set; } + public global::Baseten.EnvironmentAutoscalingSchedulesV1? Type292 { get; set; } /// /// /// - public global::Baseten.UpdatePromotionSettingsV1? Type293 { get; set; } + public global::System.Collections.Generic.IList? Type293 { get; set; } /// /// /// - public global::Baseten.UpdateRollingDeployConfigV1? Type294 { get; set; } + public global::Baseten.SchedulesItem2? Type294 { get; set; } /// /// /// - public global::Baseten.CreateEnvironmentRequestV1? Type295 { get; set; } + public global::Baseten.OneTimeAutoscalingScheduleV1? Type295 { get; set; } /// /// /// - public global::Baseten.EnvironmentTombstoneV1? Type296 { get; set; } + public global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminator? Type296 { get; set; } /// /// /// - public global::Baseten.AutoscalingScheduleSettingsRequestV1? Type297 { get; set; } + public global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence? Type297 { get; set; } /// /// /// - public global::Baseten.AutoscalingScheduleUpsertV1? Type298 { get; set; } + public global::Baseten.EnvironmentV1? Type298 { get; set; } /// /// /// - public global::Baseten.AutoscalingScheduleUpsertV1Cadence? Type299 { get; set; } + public global::Baseten.InProgressPromotionV1? Type299 { get; set; } /// /// /// - public global::Baseten.OneTimeAutoscalingScheduleUpsertV1? Type300 { get; set; } + public global::Baseten.PromotionSettingsV1? Type300 { get; set; } /// /// /// - public global::Baseten.UpdateAutoscalingScheduleSettingsV1? Type301 { get; set; } + public global::Baseten.InProgressPromotionStatusV1? Type301 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type302 { get; set; } + public global::Baseten.RollingDeployConfigV1? Type302 { get; set; } /// /// /// - public global::Baseten.SchedulesItem2? Type303 { get; set; } + public global::Baseten.EnvironmentsV1? Type303 { get; set; } /// /// /// - public global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminator? Type304 { get; set; } + public global::System.Collections.Generic.IList? Type304 { get; set; } /// /// /// - public global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence? Type305 { get; set; } + public global::Baseten.CreateEnvironmentRequestV1? Type305 { get; set; } /// /// /// - public global::Baseten.UpdateEnvironmentRequestV1? Type306 { get; set; } + public global::Baseten.EnvironmentTombstoneV1? Type306 { get; set; } /// /// /// - public global::Baseten.UpdateEnvironmentResponseV1? Type307 { get; set; } + public global::Baseten.UpdateEnvironmentRequestV1? Type307 { get; set; } /// /// /// - public global::Baseten.GetEnvironmentLogsRequestV1? Type308 { get; set; } + public global::Baseten.UpdateEnvironmentResponseV1? Type308 { get; set; } /// /// /// - public global::Baseten.GetEnvironmentMetricsRequestV1? Type309 { get; set; } + public global::Baseten.GetEnvironmentLogsRequestV1? Type309 { get; set; } /// /// /// - public global::Baseten.PromoteToEnvironmentRequestV1? Type310 { get; set; } + public global::Baseten.GetEnvironmentMetricsRequestV1? Type310 { get; set; } /// /// /// - public global::Baseten.CancelPromotionStatusV1? Type311 { get; set; } + public global::Baseten.PromoteToEnvironmentRequestV1? Type311 { get; set; } /// /// /// - public global::Baseten.CancelPromotionResponseV1? Type312 { get; set; } + public global::Baseten.CancelPromotionStatusV1? Type312 { get; set; } /// /// /// - public global::Baseten.SignalPromotionResponseV1? Type313 { get; set; } + public global::Baseten.CancelPromotionResponseV1? Type313 { get; set; } /// /// /// - public global::Baseten.ChainV1? Type314 { get; set; } + public global::Baseten.SignalPromotionResponseV1? Type314 { get; set; } /// /// /// - public global::Baseten.ChainsV1? Type315 { get; set; } + public global::Baseten.ChainV1? Type315 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type316 { get; set; } + public global::Baseten.ChainsV1? Type316 { get; set; } /// /// /// - public global::Baseten.ChainTombstoneV1? Type317 { get; set; } + public global::System.Collections.Generic.IList? Type317 { get; set; } /// /// /// - public global::Baseten.ChainDeploymentV1? Type318 { get; set; } + public global::Baseten.ChainTombstoneV1? Type318 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type319 { get; set; } + public global::Baseten.ChainDeploymentV1? Type319 { get; set; } /// /// /// - public global::Baseten.ChainletV1? Type320 { get; set; } + public global::System.Collections.Generic.IList? Type320 { get; set; } /// /// /// - public global::Baseten.ChainDeploymentsV1? Type321 { get; set; } + public global::Baseten.ChainletV1? Type321 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type322 { get; set; } + public global::Baseten.ChainDeploymentsV1? Type322 { get; set; } /// /// /// - public global::Baseten.ChainDeploymentTombstoneV1? Type323 { get; set; } + public global::System.Collections.Generic.IList? Type323 { get; set; } /// /// /// - public global::Baseten.ChainletEnvironmentSettingsRequestV1? Type324 { get; set; } + public global::Baseten.ChainDeploymentTombstoneV1? Type324 { get; set; } /// /// /// - public global::Baseten.CreateChainEnvironmentRequestV1? Type325 { get; set; } + public global::Baseten.ChainletEnvironmentSettingsRequestV1? Type325 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type326 { get; set; } + public global::Baseten.CreateChainEnvironmentRequestV1? Type326 { get; set; } /// /// /// - public global::Baseten.ChainletEnvironmentSettingsV1? Type327 { get; set; } + public global::System.Collections.Generic.IList? Type327 { get; set; } /// /// /// - public global::Baseten.ChainEnvironmentV1? Type328 { get; set; } + public global::Baseten.ChainletEnvironmentSettingsV1? Type328 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type329 { get; set; } + public global::Baseten.ChainEnvironmentV1? Type329 { get; set; } /// /// /// - public global::Baseten.UpdateChainEnvironmentRequestV1? Type330 { get; set; } + public global::System.Collections.Generic.IList? Type330 { get; set; } /// /// /// - public global::Baseten.UpdateChainEnvironmentResponseV1? Type331 { get; set; } + public global::Baseten.UpdateChainEnvironmentRequestV1? Type331 { get; set; } /// /// /// - public global::Baseten.PromoteToChainEnvironmentRequestV1? Type332 { get; set; } + public global::Baseten.UpdateChainEnvironmentResponseV1? Type332 { get; set; } /// /// /// - public global::Baseten.ChainletEnvironmentAutoscalingSettingsUpdateV1? Type333 { get; set; } + public global::Baseten.PromoteToChainEnvironmentRequestV1? Type333 { get; set; } /// /// /// - public global::Baseten.UpdateChainletEnvironmentAutoscalingSettingsRequestV1? Type334 { get; set; } + public global::Baseten.ChainletEnvironmentAutoscalingSettingsUpdateV1? Type334 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type335 { get; set; } + public global::Baseten.UpdateChainletEnvironmentAutoscalingSettingsRequestV1? Type335 { get; set; } /// /// /// - public global::Baseten.ChainletEnvironmentInstanceTypeUpdateV1? Type336 { get; set; } + public global::System.Collections.Generic.IList? Type336 { get; set; } /// /// /// - public global::Baseten.UpdateChainletEnvironmentInstanceTypeRequestV1? Type337 { get; set; } + public global::Baseten.ChainletEnvironmentInstanceTypeUpdateV1? Type337 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type338 { get; set; } + public global::Baseten.UpdateChainletEnvironmentInstanceTypeRequestV1? Type338 { get; set; } /// /// /// - public global::Baseten.UpdateChainletEnvironmentInstanceTypeResponseV1? Type339 { get; set; } + public global::System.Collections.Generic.IList? Type339 { get; set; } /// /// /// - public global::Baseten.UpsertTrainingProjectV1? Type340 { get; set; } + public global::Baseten.UpdateChainletEnvironmentInstanceTypeResponseV1? Type340 { get; set; } /// /// /// - public global::Baseten.UpsertTrainingProjectRequestV1? Type341 { get; set; } + public global::Baseten.UpsertTrainingProjectV1? Type341 { get; set; } /// /// /// - public global::Baseten.CheckpointSyncStatus? Type342 { get; set; } + public global::Baseten.UpsertTrainingProjectRequestV1? Type342 { get; set; } /// /// /// - public global::Baseten.TrainingJobV1? Type343 { get; set; } + public global::Baseten.CheckpointSyncStatus? Type343 { get; set; } /// /// /// - public global::Baseten.TrainingProjectSummaryV1? Type344 { get; set; } + public global::Baseten.TrainingJobV1? Type344 { get; set; } /// /// /// - public global::Baseten.V1AvailabilityModel? Type345 { get; set; } + public global::Baseten.TrainingProjectSummaryV1? Type345 { get; set; } /// /// /// - public global::Baseten.UserV1? Type346 { get; set; } + public global::Baseten.V1AvailabilityModel? Type346 { get; set; } /// /// /// - public global::Baseten.TrainingProjectV1? Type347 { get; set; } + public global::Baseten.UserV1? Type347 { get; set; } /// /// /// - public global::Baseten.UpsertTrainingProjectResponseV1? Type348 { get; set; } + public global::Baseten.TrainingProjectV1? Type348 { get; set; } /// /// /// - public global::Baseten.ListTrainingProjectsResponseV1? Type349 { get; set; } + public global::Baseten.UpsertTrainingProjectResponseV1? Type349 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type350 { get; set; } + public global::Baseten.ListTrainingProjectsResponseV1? Type350 { get; set; } /// /// /// - public global::Baseten.ListTrainingJobsResponseV1? Type351 { get; set; } + public global::System.Collections.Generic.IList? Type351 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type352 { get; set; } + public global::Baseten.ListTrainingJobsResponseV1? Type352 { get; set; } /// /// /// - public global::Baseten.AuthMethod? Type353 { get; set; } + public global::System.Collections.Generic.IList? Type353 { get; set; } /// /// /// - public global::Baseten.AwsAssumeRoleDockerAuthV1? Type354 { get; set; } + public global::Baseten.AuthMethod? Type354 { get; set; } /// /// /// - public global::Baseten.AwsIamDockerAuthV1? Type355 { get; set; } + public global::Baseten.AwsAssumeRoleDockerAuthV1? Type355 { get; set; } /// /// /// - public global::Baseten.SecretReferenceV1? Type356 { get; set; } + public global::Baseten.AwsIamDockerAuthV1? Type356 { get; set; } /// /// /// - public global::Baseten.AwsOidcDockerAuthV1? Type357 { get; set; } + public global::Baseten.SecretReferenceV1? Type357 { get; set; } /// /// /// - public global::Baseten.BasetenLatestCheckpointConfig? Type358 { get; set; } + public global::Baseten.AwsOidcDockerAuthV1? Type358 { get; set; } /// /// /// - public global::Baseten.BasetenNamedCheckpointConfig? Type359 { get; set; } + public global::Baseten.BasetenLatestCheckpointConfig? Type359 { get; set; } /// /// /// - public global::Baseten.CreateJobWeightConfigV1? Type360 { get; set; } + public global::Baseten.BasetenNamedCheckpointConfig? Type360 { get; set; } /// /// /// - public global::Baseten.TrainingWeightAuthV1? Type361 { get; set; } + public global::Baseten.CreateJobWeightConfigV1? Type361 { get; set; } /// /// /// - public global::Baseten.CreateTrainingJobAcceleratorV1? Type362 { get; set; } + public global::Baseten.TrainingWeightAuthV1? Type362 { get; set; } /// /// /// - public global::Baseten.CreateTrainingJobCacheConfig? Type363 { get; set; } + public global::Baseten.CreateTrainingJobAcceleratorV1? Type363 { get; set; } /// /// /// - public global::Baseten.CreateTrainingJobCheckpointingConfig? Type364 { get; set; } + public global::Baseten.CreateTrainingJobCacheConfig? Type364 { get; set; } /// /// /// - public global::Baseten.CreateTrainingJobComputeV1? Type365 { get; set; } + public global::Baseten.CreateTrainingJobCheckpointingConfig? Type365 { get; set; } /// /// /// - public global::Baseten.CreateTrainingJobImageV1? Type366 { get; set; } + public global::Baseten.CreateTrainingJobComputeV1? Type366 { get; set; } /// /// /// - public global::Baseten.DockerAuthV1? Type367 { get; set; } + public global::Baseten.CreateTrainingJobImageV1? Type367 { get; set; } /// /// /// - public global::Baseten.CreateTrainingJobRuntimeV1? Type368 { get; set; } + public global::Baseten.DockerAuthV1? Type368 { get; set; } /// /// /// - public global::Baseten.AnyOf? Type369 { get; set; } + public global::Baseten.CreateTrainingJobRuntimeV1? Type369 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type370 { get; set; } + public global::Baseten.AnyOf? Type370 { get; set; } /// /// /// - public global::Baseten.CreateTrainingJobS3Artifact? Type371 { get; set; } + public global::System.Collections.Generic.IList? Type371 { get; set; } /// /// /// - public global::Baseten.LoadCheckpointConfig? Type372 { get; set; } + public global::Baseten.CreateTrainingJobS3Artifact? Type372 { get; set; } /// /// /// - public global::Baseten.CreateTrainingJobV1? Type373 { get; set; } + public global::Baseten.LoadCheckpointConfig? Type373 { get; set; } /// /// /// - public global::Baseten.TrussUserEnv? Type374 { get; set; } + public global::Baseten.CreateTrainingJobV1? Type374 { get; set; } /// /// /// - public global::Baseten.InteractiveSessionConfigV1? Type375 { get; set; } + public global::Baseten.TrussUserEnv? Type375 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type376 { get; set; } + public global::Baseten.InteractiveSessionConfigV1? Type376 { get; set; } /// /// /// - public global::Baseten.DockerAuthType? Type377 { get; set; } + public global::System.Collections.Generic.IList? Type377 { get; set; } /// /// /// - public global::Baseten.GcpServiceAccountJsonDockerAuthV1? Type378 { get; set; } + public global::Baseten.DockerAuthType? Type378 { get; set; } /// /// /// - public global::Baseten.GcpOidcDockerAuthV1? Type379 { get; set; } + public global::Baseten.GcpServiceAccountJsonDockerAuthV1? Type379 { get; set; } /// /// /// - public global::Baseten.RegistrySecretDockerAuthV1? Type380 { get; set; } + public global::Baseten.GcpOidcDockerAuthV1? Type380 { get; set; } /// /// /// - public global::Baseten.GitInfo? Type381 { get; set; } + public global::Baseten.RegistrySecretDockerAuthV1? Type381 { get; set; } /// /// /// - public global::Baseten.V1InteractiveSessionTrigger? Type382 { get; set; } + public global::Baseten.GitInfo? Type382 { get; set; } /// /// /// - public global::Baseten.V1InteractiveSessionProvider? Type383 { get; set; } + public global::Baseten.V1InteractiveSessionTrigger? Type383 { get; set; } /// /// /// - public global::Baseten.V1InteractiveSessionAuthProvider? Type384 { get; set; } + public global::Baseten.V1InteractiveSessionProvider? Type384 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type385 { get; set; } + public global::Baseten.V1InteractiveSessionAuthProvider? Type385 { get; set; } /// /// /// - public global::Baseten.CheckpointsItem? Type386 { get; set; } + public global::System.Collections.Generic.IList? Type386 { get; set; } /// /// /// - public global::Baseten.LoopsCheckpointConfig? Type387 { get; set; } + public global::Baseten.CheckpointsItem? Type387 { get; set; } /// /// /// - public global::Baseten.LoadCheckpointConfigCheckpointDiscriminator? Type388 { get; set; } + public global::Baseten.LoopsCheckpointConfig? Type388 { get; set; } /// /// /// - public global::Baseten.LoadCheckpointConfigCheckpointDiscriminatorTyp? Type389 { get; set; } + public global::Baseten.LoadCheckpointConfigCheckpointDiscriminator? Type389 { get; set; } /// /// /// - public global::Baseten.LoopsCheckpointConfigTarget? Type390 { get; set; } + public global::Baseten.LoadCheckpointConfigCheckpointDiscriminatorTyp? Type390 { get; set; } /// /// /// - public global::Baseten.CreateTrainingJobRequestV1? Type391 { get; set; } + public global::Baseten.LoopsCheckpointConfigTarget? Type391 { get; set; } /// /// /// - public global::Baseten.CreateTrainingJobResponseV1? Type392 { get; set; } + public global::Baseten.CreateTrainingJobRequestV1? Type392 { get; set; } /// /// /// - public global::Baseten.TrainingJobTombstoneV1? Type393 { get; set; } + public global::Baseten.CreateTrainingJobResponseV1? Type393 { get; set; } /// /// /// - public global::Baseten.GetTrainingJobResponseV1? Type394 { get; set; } + public global::Baseten.TrainingJobTombstoneV1? Type394 { get; set; } /// /// /// - public global::Baseten.UpdateTrainingJobRequestV1? Type395 { get; set; } + public global::Baseten.GetTrainingJobResponseV1? Type395 { get; set; } /// /// /// - public global::Baseten.UpdateTrainingJobResponseV1? Type396 { get; set; } + public global::Baseten.UpdateTrainingJobRequestV1? Type396 { get; set; } /// /// /// - public global::Baseten.DownloadTrainingJobResponseV1? Type397 { get; set; } + public global::Baseten.UpdateTrainingJobResponseV1? Type397 { get; set; } /// /// /// - public global::Baseten.RecreateTrainingJobResponseV1? Type398 { get; set; } + public global::Baseten.DownloadTrainingJobResponseV1? Type398 { get; set; } /// /// /// - public global::Baseten.GetTrainingJobLogsRequestV1? Type399 { get; set; } + public global::Baseten.RecreateTrainingJobResponseV1? Type399 { get; set; } /// /// /// - public global::Baseten.StorageMetricsV1? Type400 { get; set; } + public global::Baseten.GetTrainingJobLogsRequestV1? Type400 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type401 { get; set; } + public global::Baseten.StorageMetricsV1? Type401 { get; set; } /// /// /// - public global::Baseten.TrainingJobMetricV1? Type402 { get; set; } + public global::System.Collections.Generic.IList? Type402 { get; set; } /// /// /// - public global::Baseten.TrainingJobMetricsV1? Type403 { get; set; } + public global::Baseten.TrainingJobMetricV1? Type403 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary>? Type404 { get; set; } + public global::Baseten.TrainingJobMetricsV1? Type404 { get; set; } /// /// /// - public global::Baseten.TrainingJobNodeMetricsV1? Type405 { get; set; } + public global::System.Collections.Generic.Dictionary>? Type405 { get; set; } /// /// /// - public global::Baseten.GetTrainingJobMetricsResponseV1? Type406 { get; set; } + public global::Baseten.TrainingJobNodeMetricsV1? Type406 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type407 { get; set; } + public global::Baseten.GetTrainingJobMetricsResponseV1? Type407 { get; set; } /// /// /// - public global::Baseten.GetTrainingJobMetricsRequestV1? Type408 { get; set; } + public global::System.Collections.Generic.IList? Type408 { get; set; } /// /// /// - public global::Baseten.StopTrainingJobRequestV1? Type409 { get; set; } + public global::Baseten.GetTrainingJobMetricsRequestV1? Type409 { get; set; } /// /// /// - public global::Baseten.StopTrainingJobResponseV1? Type410 { get; set; } + public global::Baseten.StopTrainingJobRequestV1? Type410 { get; set; } /// /// /// - public global::Baseten.TrainingJobCheckpointV1? Type411 { get; set; } + public global::Baseten.StopTrainingJobResponseV1? Type411 { get; set; } /// /// /// - public global::Baseten.GetTrainingJobCheckpointsResponseV1? Type412 { get; set; } + public global::Baseten.TrainingJobCheckpointV1? Type412 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type413 { get; set; } + public global::Baseten.GetTrainingJobCheckpointsResponseV1? Type413 { get; set; } /// /// /// - public global::Baseten.CheckpointFile? Type414 { get; set; } + public global::System.Collections.Generic.IList? Type414 { get; set; } /// /// /// - public global::Baseten.GetTrainingJobCheckpointFilesResponseV1? Type415 { get; set; } + public global::Baseten.CheckpointFile? Type415 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type416 { get; set; } + public global::Baseten.GetTrainingJobCheckpointFilesResponseV1? Type416 { get; set; } /// /// /// - public global::Baseten.GetTrainingJobCheckpointFilesRequestV1? Type417 { get; set; } + public global::System.Collections.Generic.IList? Type417 { get; set; } /// /// /// - public global::Baseten.AuthCodeV1? Type418 { get; set; } + public global::Baseten.GetTrainingJobCheckpointFilesRequestV1? Type418 { get; set; } /// /// /// - public global::Baseten.GetAuthCodesResponseV1? Type419 { get; set; } + public global::Baseten.AuthCodeV1? Type419 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type420 { get; set; } + public global::Baseten.GetAuthCodesResponseV1? Type420 { get; set; } /// /// /// - public global::Baseten.PatchInteractiveSessionRequestV1? Type421 { get; set; } + public global::System.Collections.Generic.IList? Type421 { get; set; } /// /// /// - public global::Baseten.InteractiveSessionV1? Type422 { get; set; } + public global::Baseten.PatchInteractiveSessionRequestV1? Type422 { get; set; } /// /// /// - public global::Baseten.PatchInteractiveSessionResponseV1? Type423 { get; set; } + public global::Baseten.InteractiveSessionV1? Type423 { get; set; } /// /// /// - public global::Baseten.FileSummary? Type424 { get; set; } + public global::Baseten.PatchInteractiveSessionResponseV1? Type424 { get; set; } /// /// /// - public global::Baseten.GetCacheSummaryResponseV1? Type425 { get; set; } + public global::Baseten.FileSummary? Type425 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type426 { get; set; } + public global::Baseten.GetCacheSummaryResponseV1? Type426 { get; set; } /// /// /// - public global::Baseten.TrainingProjectTombstoneV1? Type427 { get; set; } + public global::System.Collections.Generic.IList? Type427 { get; set; } /// /// /// - public global::Baseten.GetTrainingProjectResponseV1? Type428 { get; set; } + public global::Baseten.TrainingProjectTombstoneV1? Type428 { get; set; } /// /// /// - public global::Baseten.OrderByV1? Type429 { get; set; } + public global::Baseten.GetTrainingProjectResponseV1? Type429 { get; set; } /// /// /// - public global::Baseten.SearchTrainingJobsRequestV1? Type430 { get; set; } + public global::Baseten.OrderByV1? Type430 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type431 { get; set; } + public global::Baseten.SearchTrainingJobsRequestV1? Type431 { get; set; } /// /// /// - public global::Baseten.SearchTrainingJobsResponseV1? Type432 { get; set; } + public global::System.Collections.Generic.IList? Type432 { get; set; } /// /// /// - public global::Baseten.EnablementDetailsV1? Type433 { get; set; } + public global::Baseten.SearchTrainingJobsResponseV1? Type433 { get; set; } /// /// /// - public global::Baseten.SupportedModelV1? Type434 { get; set; } + public global::Baseten.EnablementDetailsV1? Type434 { get; set; } /// /// /// - public global::Baseten.GetLoopsCapabilitiesResponseV1? Type435 { get; set; } + public global::Baseten.SupportedModelV1? Type435 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type436 { get; set; } + public global::Baseten.GetLoopsCapabilitiesResponseV1? Type436 { get; set; } /// /// /// - public global::Baseten.LoopsUseCaseV1? Type437 { get; set; } + public global::System.Collections.Generic.IList? Type437 { get; set; } /// /// /// - public global::Baseten.GetLoopsCapabilitiesQueryParamsV1? Type438 { get; set; } + public global::Baseten.LoopsUseCaseV1? Type438 { get; set; } /// /// /// - public global::Baseten.LoopsSessionV1? Type439 { get; set; } + public global::Baseten.GetLoopsCapabilitiesQueryParamsV1? Type439 { get; set; } /// /// /// - public global::Baseten.CreateLoopsSessionResponseV1? Type440 { get; set; } + public global::Baseten.LoopsSessionV1? Type440 { get; set; } /// /// /// - public global::Baseten.GetLoopsSessionResponseV1? Type441 { get; set; } + public global::Baseten.CreateLoopsSessionResponseV1? Type441 { get; set; } /// /// /// - public global::Baseten.LoopsRunStatusNameV1? Type442 { get; set; } + public global::Baseten.GetLoopsSessionResponseV1? Type442 { get; set; } /// /// /// - public global::Baseten.LoopsRunStatusV1? Type443 { get; set; } + public global::Baseten.LoopsRunStatusNameV1? Type443 { get; set; } /// /// /// - public global::Baseten.LoopsRunV1? Type444 { get; set; } + public global::Baseten.LoopsRunStatusV1? Type444 { get; set; } /// /// /// - public global::Baseten.LoopsSamplerV1? Type445 { get; set; } + public global::Baseten.LoopsRunV1? Type445 { get; set; } /// /// /// - public global::Baseten.LoopsSamplerStatusV1? Type446 { get; set; } + public global::Baseten.LoopsSamplerV1? Type446 { get; set; } /// /// /// - public global::Baseten.ListLoopsRunsResponseV1? Type447 { get; set; } + public global::Baseten.LoopsSamplerStatusV1? Type447 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type448 { get; set; } + public global::Baseten.ListLoopsRunsResponseV1? Type448 { get; set; } /// /// /// - public global::Baseten.ListLoopsRunsQueryParamsV1? Type449 { get; set; } + public global::System.Collections.Generic.IList? Type449 { get; set; } /// /// /// - public global::Baseten.CreateLoopsRunRequestV1? Type450 { get; set; } + public global::Baseten.ListLoopsRunsQueryParamsV1? Type450 { get; set; } /// /// /// - public global::Baseten.CreateLoopsRunResponseV1? Type451 { get; set; } + public global::Baseten.CreateLoopsRunRequestV1? Type451 { get; set; } /// /// /// - public global::Baseten.DeactivateLoopsRunResponseV1? Type452 { get; set; } + public global::Baseten.CreateLoopsRunResponseV1? Type452 { get; set; } /// /// /// - public global::Baseten.GetLoopsRunResponseV1? Type453 { get; set; } + public global::Baseten.DeactivateLoopsRunResponseV1? Type453 { get; set; } /// /// /// - public global::Baseten.CreateLoopsTrainerRequestV1? Type454 { get; set; } + public global::Baseten.GetLoopsRunResponseV1? Type454 { get; set; } /// /// /// - public global::Baseten.ListLoopsSamplersResponseV1? Type455 { get; set; } + public global::Baseten.CreateLoopsTrainerRequestV1? Type455 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type456 { get; set; } + public global::Baseten.ListLoopsSamplersResponseV1? Type456 { get; set; } /// /// /// - public global::Baseten.ListLoopsSamplersRequestV1? Type457 { get; set; } + public global::System.Collections.Generic.IList? Type457 { get; set; } /// /// /// - public global::Baseten.CreateLoopsSamplerRequestV1? Type458 { get; set; } + public global::Baseten.ListLoopsSamplersRequestV1? Type458 { get; set; } /// /// /// - public global::Baseten.CreateLoopsSamplerResponseV1? Type459 { get; set; } + public global::Baseten.CreateLoopsSamplerRequestV1? Type459 { get; set; } /// /// /// - public global::Baseten.DeactivateLoopsSamplerResponseV1? Type460 { get; set; } + public global::Baseten.CreateLoopsSamplerResponseV1? Type460 { get; set; } /// /// /// - public global::Baseten.GetLoopsSamplerResponseV1? Type461 { get; set; } + public global::Baseten.DeactivateLoopsSamplerResponseV1? Type461 { get; set; } /// /// /// - public global::Baseten.LoopsCheckpointV1? Type462 { get; set; } + public global::Baseten.GetLoopsSamplerResponseV1? Type462 { get; set; } /// /// /// - public global::Baseten.LoopsLoRAConfigV1? Type463 { get; set; } + public global::Baseten.LoopsCheckpointV1? Type463 { get; set; } /// /// /// - public global::Baseten.TrainerCheckpointTarget? Type464 { get; set; } + public global::Baseten.LoopsLoRAConfigV1? Type464 { get; set; } /// /// /// - public global::Baseten.LoopsLoRAConfigV1ExpertLayout? Type465 { get; set; } + public global::Baseten.TrainerCheckpointTarget? Type465 { get; set; } /// /// /// - public global::Baseten.ListLoopsCheckpointsResponseV1? Type466 { get; set; } + public global::Baseten.LoopsLoRAConfigV1ExpertLayout? Type466 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type467 { get; set; } + public global::Baseten.ListLoopsCheckpointsResponseV1? Type467 { get; set; } /// /// /// - public global::Baseten.ListLoopsCheckpointsQueryParamsV1? Type468 { get; set; } + public global::System.Collections.Generic.IList? Type468 { get; set; } /// /// /// - public global::Baseten.ValidateLoopsCheckpointRequestV1? Type469 { get; set; } + public global::Baseten.ListLoopsCheckpointsQueryParamsV1? Type469 { get; set; } /// /// /// - public global::Baseten.ValidateLoopsCheckpointResponseV1? Type470 { get; set; } + public global::Baseten.ValidateLoopsCheckpointRequestV1? Type470 { get; set; } /// /// /// - public global::Baseten.DeployLoopsCheckpointRequestV1? Type471 { get; set; } + public global::Baseten.ValidateLoopsCheckpointResponseV1? Type471 { get; set; } /// /// /// - public global::Baseten.DeployLoopsCheckpointResponseV1? Type472 { get; set; } + public global::Baseten.DeployLoopsCheckpointRequestV1? Type472 { get; set; } /// /// /// - public global::Baseten.LoopsCheckpointFilesResponseV1? Type473 { get; set; } + public global::Baseten.DeployLoopsCheckpointResponseV1? Type473 { get; set; } /// /// /// - public global::Baseten.GetLoopsCheckpointFilesRequestV1? Type474 { get; set; } + public global::Baseten.LoopsCheckpointFilesResponseV1? Type474 { get; set; } /// /// /// - public global::Baseten.LoopsCheckpointS3SourceV1? Type475 { get; set; } + public global::Baseten.GetLoopsCheckpointFilesRequestV1? Type475 { get; set; } /// /// /// - public global::Baseten.LoopsCheckpointVolumeSourceV1? Type476 { get; set; } + public global::Baseten.LoopsCheckpointS3SourceV1? Type476 { get; set; } /// /// /// - public global::Baseten.LoopsCheckpointSourceResponseV1? Type477 { get; set; } + public global::Baseten.LoopsCheckpointVolumeSourceV1? Type477 { get; set; } /// /// /// - public global::Baseten.Source4? Type478 { get; set; } + public global::Baseten.LoopsCheckpointSourceResponseV1? Type478 { get; set; } /// /// /// - public global::Baseten.LoopsCheckpointSourceResponseV1SourceDiscriminator? Type479 { get; set; } + public global::Baseten.Source4? Type479 { get; set; } /// /// /// - public global::Baseten.LoopsCheckpointSourceResponseV1SourceDiscriminatorKind? Type480 { get; set; } + public global::Baseten.LoopsCheckpointSourceResponseV1SourceDiscriminator? Type480 { get; set; } /// /// /// - public global::Baseten.LoopsDeploymentStatusV1? Type481 { get; set; } + public global::Baseten.LoopsCheckpointSourceResponseV1SourceDiscriminatorKind? Type481 { get; set; } /// /// /// - public global::Baseten.Name? Type482 { get; set; } + public global::Baseten.LoopsDeploymentStatusV1? Type482 { get; set; } /// /// /// - public global::Baseten.LoopsDeploymentV1? Type483 { get; set; } + public global::Baseten.Name? Type483 { get; set; } /// /// /// - public global::Baseten.ListLoopsDeploymentsResponseV1? Type484 { get; set; } + public global::Baseten.LoopsDeploymentV1? Type484 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type485 { get; set; } + public global::Baseten.ListLoopsDeploymentsResponseV1? Type485 { get; set; } /// /// /// - public global::Baseten.ListLoopsDeploymentsRequestV1? Type486 { get; set; } + public global::System.Collections.Generic.IList? Type486 { get; set; } /// /// /// - public global::Baseten.DeactivateLoopsDeploymentResponseV1? Type487 { get; set; } + public global::Baseten.ListLoopsDeploymentsRequestV1? Type487 { get; set; } /// /// /// - public global::Baseten.GetLoopsDeploymentResponseV1? Type488 { get; set; } + public global::Baseten.DeactivateLoopsDeploymentResponseV1? Type488 { get; set; } /// /// /// - public global::Baseten.LoopsDebugArchiveFilesResponseV1? Type489 { get; set; } + public global::Baseten.GetLoopsDeploymentResponseV1? Type489 { get; set; } /// /// /// - public global::Baseten.GetLoopsDebugArchiveFilesRequestV1? Type490 { get; set; } + public global::Baseten.LoopsDebugArchiveFilesResponseV1? Type490 { get; set; } /// /// /// - public global::Baseten.GetLoopsDeploymentMetricsRequestV1? Type491 { get; set; } + public global::Baseten.GetLoopsDebugArchiveFilesRequestV1? Type491 { get; set; } /// /// /// - public global::Baseten.InferenceVolumeByStatusDatapointV1? Type492 { get; set; } + public global::Baseten.GetLoopsDeploymentMetricsRequestV1? Type492 { get; set; } /// /// /// - public global::Baseten.LoopsDeploymentMetricsV1? Type493 { get; set; } + public global::Baseten.InferenceVolumeByStatusDatapointV1? Type493 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type494 { get; set; } + public global::Baseten.LoopsDeploymentMetricsV1? Type494 { get; set; } /// /// /// - public global::Baseten.ResponseTimeDatapointV1? Type495 { get; set; } + public global::System.Collections.Generic.IList? Type495 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type496 { get; set; } + public global::Baseten.ResponseTimeDatapointV1? Type496 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type497 { get; set; } + public global::System.Collections.Generic.IList? Type497 { get; set; } /// /// /// - public global::Baseten.LoopsDeploymentNodeMetricsV1? Type498 { get; set; } + public global::System.Collections.Generic.IList? Type498 { get; set; } /// /// /// - public global::Baseten.GetLoopsDeploymentMetricsResponseV1? Type499 { get; set; } + public global::Baseten.LoopsDeploymentNodeMetricsV1? Type499 { get; set; } /// /// /// - public global::Baseten.GetLoopsDeploymentLogsRequestV1? Type500 { get; set; } + public global::Baseten.GetLoopsDeploymentMetricsResponseV1? Type500 { get; set; } /// /// /// - public global::Baseten.TeamTrainingGpuCapacityItemV1? Type501 { get; set; } + public global::Baseten.GetLoopsDeploymentLogsRequestV1? Type501 { get; set; } /// /// /// - public global::Baseten.TrainingGpuCapacityItemV1? Type502 { get; set; } + public global::Baseten.TeamTrainingGpuCapacityItemV1? Type502 { get; set; } /// /// /// - public global::Baseten.GetTrainingGpuCapacityResponseV1? Type503 { get; set; } + public global::Baseten.TrainingGpuCapacityItemV1? Type503 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type504 { get; set; } + public global::Baseten.GetTrainingGpuCapacityResponseV1? Type504 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type505 { get; set; } + public global::System.Collections.Generic.IList? Type505 { get; set; } /// /// /// - public global::Baseten.PatchTeamTrainingGpuCapacityRequestV1? Type506 { get; set; } + public global::System.Collections.Generic.IList? Type506 { get; set; } /// /// /// - public global::Baseten.PatchTeamTrainingGpuCapacityResponseV1? Type507 { get; set; } + public global::Baseten.PatchTeamTrainingGpuCapacityRequestV1? Type507 { get; set; } /// /// /// - public global::Baseten.ActiveJobAtSubmitV1? Type508 { get; set; } + public global::Baseten.PatchTeamTrainingGpuCapacityResponseV1? Type508 { get; set; } /// /// /// - public global::Baseten.CapacityAtSubmitV1? Type509 { get; set; } + public global::Baseten.ActiveJobAtSubmitV1? Type509 { get; set; } /// /// /// - public global::Baseten.PendingJobAheadAtSubmitV1? Type510 { get; set; } + public global::Baseten.CapacityAtSubmitV1? Type510 { get; set; } /// /// /// - public global::Baseten.QueueEventV1? Type511 { get; set; } + public global::Baseten.PendingJobAheadAtSubmitV1? Type511 { get; set; } /// /// /// - public global::Baseten.GetTrainingJobQueueContextResponseV1? Type512 { get; set; } + public global::Baseten.QueueEventV1? Type512 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type513 { get; set; } + public global::Baseten.GetTrainingJobQueueContextResponseV1? Type513 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type514 { get; set; } + public global::System.Collections.Generic.IList? Type514 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type515 { get; set; } + public global::System.Collections.Generic.IList? Type515 { get; set; } /// /// /// - public global::Baseten.GetBlobCredentialsResponseV1? Type516 { get; set; } + public global::System.Collections.Generic.IList? Type516 { get; set; } /// /// /// - public global::Baseten.APIKeyCategory? Type517 { get; set; } + public global::Baseten.GetBlobCredentialsResponseV1? Type517 { get; set; } /// /// /// - public global::Baseten.CreateAPIKeyRequestV1? Type518 { get; set; } + public global::Baseten.APIKeyCategory? Type518 { get; set; } /// /// /// - public global::Baseten.APIKeyV1? Type519 { get; set; } + public global::Baseten.CreateAPIKeyRequestV1? Type519 { get; set; } /// /// /// - public global::Baseten.APIKeyInfoV1? Type520 { get; set; } + public global::Baseten.APIKeyV1? Type520 { get; set; } /// /// /// - public global::Baseten.APIKeyOwnerV1? Type521 { get; set; } + public global::Baseten.APIKeyInfoV1? Type521 { get; set; } /// /// /// - public global::Baseten.APIKeysV1? Type522 { get; set; } + public global::Baseten.APIKeyOwnerV1? Type522 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type523 { get; set; } + public global::Baseten.APIKeysV1? Type523 { get; set; } /// /// /// - public global::Baseten.APIKeysRequestV1? Type524 { get; set; } + public global::System.Collections.Generic.IList? Type524 { get; set; } /// /// /// - public global::Baseten.APIKeyTombstoneV1? Type525 { get; set; } + public global::Baseten.APIKeysRequestV1? Type525 { get; set; } /// /// /// - public global::Baseten.LimitTypeV1? Type526 { get; set; } + public global::Baseten.APIKeyTombstoneV1? Type526 { get; set; } /// /// /// - public global::Baseten.ModelAPIOrgDetailsV1? Type527 { get; set; } + public global::Baseten.LimitTypeV1? Type527 { get; set; } /// /// /// - public global::Baseten.ModelAPIV1? Type528 { get; set; } + public global::Baseten.ModelAPIOrgDetailsV1? Type528 { get; set; } /// /// /// - public global::Baseten.AnyOf? Type529 { get; set; } + public global::Baseten.ModelAPIV1? Type529 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type530 { get; set; } + public global::Baseten.AnyOf? Type530 { get; set; } /// /// /// - public global::Baseten.RateLimitV1? Type531 { get; set; } + public global::System.Collections.Generic.IList? Type531 { get; set; } /// /// /// - public global::Baseten.RateLimitUnitV1? Type532 { get; set; } + public global::Baseten.RateLimitV1? Type532 { get; set; } /// /// /// - public global::Baseten.ModelAPIsResponseV1? Type533 { get; set; } + public global::Baseten.RateLimitUnitV1? Type533 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type534 { get; set; } + public global::Baseten.ModelAPIsResponseV1? Type534 { get; set; } /// /// /// - public global::Baseten.ModelAPIsRequestV1? Type535 { get; set; } + public global::System.Collections.Generic.IList? Type535 { get; set; } /// /// /// - public global::Baseten.ModelApisUsageBucketV1? Type536 { get; set; } + public global::Baseten.ModelAPIsRequestV1? Type536 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type537 { get; set; } + public global::Baseten.ModelApisUsageBucketV1? Type537 { get; set; } /// /// /// - public global::Baseten.ModelApisUsageResultV1? Type538 { get; set; } + public global::System.Collections.Generic.IList? Type538 { get; set; } /// /// /// - public global::Baseten.ModelApisUsageResponseV1? Type539 { get; set; } + public global::Baseten.ModelApisUsageResultV1? Type539 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type540 { get; set; } + public global::Baseten.ModelApisUsageResponseV1? Type540 { get; set; } /// /// /// - public global::Baseten.BucketWidth? Type541 { get; set; } + public global::System.Collections.Generic.IList? Type541 { get; set; } /// /// /// - public global::Baseten.UsageDimensionV1? Type542 { get; set; } + public global::Baseten.BucketWidth? Type542 { get; set; } /// /// /// - public global::Baseten.ModelApisUsageRequestV1? Type543 { get; set; } + public global::Baseten.UsageDimensionV1? Type543 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type544 { get; set; } + public global::Baseten.ModelApisUsageRequestV1? Type544 { get; set; } /// /// /// - public global::Baseten.EgressRestrictionsV1? Type545 { get; set; } + public global::System.Collections.Generic.IList? Type545 { get; set; } /// /// /// - public global::Baseten.CreateLLMModelRequestV1? Type546 { get; set; } + public global::Baseten.EgressRestrictionsV1? Type546 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type547 { get; set; } + public global::Baseten.CreateLLMModelRequestV1? Type547 { get; set; } /// /// /// - public global::Baseten.LLMModelHandleV1? Type548 { get; set; } + public global::System.Collections.Generic.IList? Type548 { get; set; } /// /// /// - public global::Baseten.CreateLLMModelVersionRequestV1? Type549 { get; set; } + public global::Baseten.LLMModelHandleV1? Type549 { get; set; } /// /// /// - public global::Baseten.LibraryListingMetadataV1? Type550 { get; set; } + public global::Baseten.CreateLLMModelVersionRequestV1? Type550 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type551 { get; set; } + public global::Baseten.LibraryListingMetadataV1? Type551 { get; set; } /// /// /// - public global::Baseten.LibraryListingModality? Type552 { get; set; } + public global::System.Collections.Generic.IList? Type552 { get; set; } /// /// /// - public global::Baseten.LibraryListingV1? Type553 { get; set; } + public global::Baseten.LibraryListingModality? Type553 { get; set; } /// /// /// - public global::Baseten.LibraryListingsV1? Type554 { get; set; } + public global::Baseten.LibraryListingV1? Type554 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type555 { get; set; } + public global::Baseten.LibraryListingsV1? Type555 { get; set; } /// /// /// - public global::Baseten.CreateLibraryListingRequestV1? Type556 { get; set; } + public global::System.Collections.Generic.IList? Type556 { get; set; } /// /// /// - public global::Baseten.LibraryListingTombstoneV1? Type557 { get; set; } + public global::Baseten.CreateLibraryListingRequestV1? Type557 { get; set; } /// /// /// - public global::Baseten.UpdateLibraryListingRequestV1? Type558 { get; set; } + public global::Baseten.LibraryListingTombstoneV1? Type558 { get; set; } /// /// /// - public global::Baseten.BenchmarkSnapshotV1? Type559 { get; set; } + public global::Baseten.UpdateLibraryListingRequestV1? Type559 { get; set; } /// /// /// - public global::Baseten.LLMBenchmarkMetricsV1? Type560 { get; set; } + public global::Baseten.BenchmarkSnapshotV1? Type560 { get; set; } /// /// /// - public global::Baseten.TTSBenchmarkMetricsV1? Type561 { get; set; } + public global::Baseten.LLMBenchmarkMetricsV1? Type561 { get; set; } /// /// /// - public global::Baseten.EmbeddingBenchmarkMetricsV1? Type562 { get; set; } + public global::Baseten.TTSBenchmarkMetricsV1? Type562 { get; set; } /// /// /// - public global::Baseten.LibraryListingVersionV1? Type563 { get; set; } + public global::Baseten.EmbeddingBenchmarkMetricsV1? Type563 { get; set; } /// /// /// - public global::Baseten.LibraryListingVersionsV1? Type564 { get; set; } + public global::Baseten.LibraryListingVersionV1? Type564 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type565 { get; set; } + public global::Baseten.LibraryListingVersionsV1? Type565 { get; set; } /// /// /// - public global::Baseten.CreateLibraryListingVersionRequestV1? Type566 { get; set; } + public global::System.Collections.Generic.IList? Type566 { get; set; } /// /// /// - public global::Baseten.LibraryListingVersionTombstoneV1? Type567 { get; set; } + public global::Baseten.CreateLibraryListingVersionRequestV1? Type567 { get; set; } /// /// /// - public global::Baseten.UpdateLibraryListingVersionRequestV1? Type568 { get; set; } + public global::Baseten.LibraryListingVersionTombstoneV1? Type568 { get; set; } /// /// /// - public global::Baseten.ModelApisCostBucketV1? Type569 { get; set; } + public global::Baseten.UpdateLibraryListingVersionRequestV1? Type569 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type570 { get; set; } + public global::Baseten.ModelApisCostBucketV1? Type570 { get; set; } /// /// /// - public global::Baseten.ModelApisCostResultV1? Type571 { get; set; } + public global::System.Collections.Generic.IList? Type571 { get; set; } /// /// /// - public global::Baseten.ModelApisCostsResponseV1? Type572 { get; set; } + public global::Baseten.ModelApisCostResultV1? Type572 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type573 { get; set; } + public global::Baseten.ModelApisCostsResponseV1? Type573 { get; set; } /// /// /// - public global::Baseten.ModelApiCostDimensionV1? Type574 { get; set; } + public global::System.Collections.Generic.IList? Type574 { get; set; } /// /// /// - public global::Baseten.ModelApisCostsRequestV1? Type575 { get; set; } + public global::Baseten.ModelApiCostDimensionV1? Type575 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type576 { get; set; } + public global::Baseten.ModelApisCostsRequestV1? Type576 { get; set; } /// /// /// - public global::Baseten.BillableResourceV1? Type577 { get; set; } + public global::System.Collections.Generic.IList? Type577 { get; set; } /// /// /// - public global::Baseten.ResourceKind? Type578 { get; set; } + public global::Baseten.BillableResourceV1? Type578 { get; set; } /// /// /// - public global::Baseten.ChainMetadataV1? Type579 { get; set; } + public global::Baseten.ResourceKind? Type579 { get; set; } /// /// /// - public global::Baseten.DailyDedicatedUsageV1? Type580 { get; set; } + public global::Baseten.ChainMetadataV1? Type580 { get; set; } /// /// /// - public global::Baseten.DailyModelApiUsageV1? Type581 { get; set; } + public global::Baseten.DailyDedicatedUsageV1? Type581 { get; set; } /// /// /// - public global::Baseten.DailyTrainingUsageV1? Type582 { get; set; } + public global::Baseten.DailyModelApiUsageV1? Type582 { get; set; } /// /// /// - public global::Baseten.DedicatedItemV1? Type583 { get; set; } + public global::Baseten.DailyTrainingUsageV1? Type583 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type584 { get; set; } + public global::Baseten.DedicatedItemV1? Type584 { get; set; } /// /// /// - public global::Baseten.DedicatedUsageV1? Type585 { get; set; } + public global::System.Collections.Generic.IList? Type585 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type586 { get; set; } + public global::Baseten.DedicatedUsageV1? Type586 { get; set; } /// /// /// - public global::Baseten.ModelApiItemV1? Type587 { get; set; } + public global::System.Collections.Generic.IList? Type587 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type588 { get; set; } + public global::Baseten.ModelApiItemV1? Type588 { get; set; } /// /// /// - public global::Baseten.ModelApisUsageV1? Type589 { get; set; } + public global::System.Collections.Generic.IList? Type589 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type590 { get; set; } + public global::Baseten.ModelApisUsageV1? Type590 { get; set; } /// /// /// - public global::Baseten.TrainingItemV1? Type591 { get; set; } + public global::System.Collections.Generic.IList? Type591 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type592 { get; set; } + public global::Baseten.TrainingItemV1? Type592 { get; set; } /// /// /// - public global::Baseten.TrainingUsageV1? Type593 { get; set; } + public global::System.Collections.Generic.IList? Type593 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type594 { get; set; } + public global::Baseten.TrainingUsageV1? Type594 { get; set; } /// /// /// - public global::Baseten.UsageSummaryV1? Type595 { get; set; } + public global::System.Collections.Generic.IList? Type595 { get; set; } /// /// /// - public global::Baseten.UsageSummaryRequestV1? Type596 { get; set; } + public global::Baseten.UsageSummaryV1? Type596 { get; set; } /// /// /// - public global::Baseten.ToolCallUsageBucketV1? Type597 { get; set; } + public global::Baseten.UsageSummaryRequestV1? Type597 { get; set; } /// /// /// - public global::Baseten.ToolCallUsageResponseV1? Type598 { get; set; } + public global::Baseten.ToolCallUsageBucketV1? Type598 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type599 { get; set; } + public global::Baseten.ToolCallUsageResponseV1? Type599 { get; set; } /// /// /// - public global::Baseten.ToolCallUsageRequestV1? Type600 { get; set; } + public global::System.Collections.Generic.IList? Type600 { get; set; } /// /// /// - public global::Baseten.UserInfoV1? Type601 { get; set; } + public global::Baseten.ToolCallUsageRequestV1? Type601 { get; set; } /// /// /// - public global::Baseten.UsersResponseV1? Type602 { get; set; } + public global::Baseten.UserInfoV1? Type602 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type603 { get; set; } + public global::Baseten.UsersResponseV1? Type603 { get; set; } /// /// /// - public global::Baseten.UsersRequestV1? Type604 { get; set; } + public global::System.Collections.Generic.IList? Type604 { get; set; } /// /// /// - public global::Baseten.AwsAssumeRoleV1? Type605 { get; set; } + public global::Baseten.UsersRequestV1? Type605 { get; set; } /// /// /// - public global::Baseten.OrganizationInfoV1? Type606 { get; set; } + public global::Baseten.AwsAssumeRoleV1? Type606 { get; set; } /// /// /// - public global::Baseten.GatewayEventTokensV1? Type607 { get; set; } + public global::Baseten.OrganizationInfoV1? Type607 { get; set; } /// /// /// - public global::Baseten.GatewayEventV1? Type608 { get; set; } + public global::Baseten.GatewayEventTokensV1? Type608 { get; set; } /// /// /// - public global::Baseten.GatewayEventsResponseV1? Type609 { get; set; } + public global::Baseten.GatewayEventV1? Type609 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type610 { get; set; } + public global::Baseten.GatewayEventsResponseV1? Type610 { get; set; } /// /// /// - public global::Baseten.GatewayEventsRequestV1? Type611 { get; set; } + public global::System.Collections.Generic.IList? Type611 { get; set; } /// /// /// - public global::Baseten.ExploreCostV1? Type612 { get; set; } + public global::Baseten.GatewayEventsRequestV1? Type612 { get; set; } /// /// /// - public global::Baseten.ExploreCostValuesV1? Type613 { get; set; } + public global::Baseten.ExploreCostV1? Type613 { get; set; } /// /// /// - public global::Baseten.ExploreMetadataAPIFormatsV1? Type614 { get; set; } + public global::Baseten.ExploreCostValuesV1? Type614 { get; set; } /// /// /// - public global::Baseten.ExploreMetadataV1? Type615 { get; set; } + public global::Baseten.ExploreMetadataAPIFormatsV1? Type615 { get; set; } /// /// /// - public global::Baseten.ExploreMetadataResponseV1? Type616 { get; set; } + public global::Baseten.ExploreMetadataV1? Type616 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type617 { get; set; } + public global::Baseten.ExploreMetadataResponseV1? Type617 { get; set; } /// /// /// - public global::Baseten.ExploreMetadataRequestV1? Type618 { get; set; } + public global::System.Collections.Generic.IList? Type618 { get; set; } /// /// /// - public global::Baseten.RouteClassifierListingRefV1? Type619 { get; set; } + public global::Baseten.ExploreMetadataRequestV1? Type619 { get; set; } /// /// /// - public global::Baseten.RouteRefV1? Type620 { get; set; } + public global::Baseten.RouteClassifierListingRefV1? Type620 { get; set; } /// /// /// - public global::Baseten.RouteTargetBasetenModelAPIV1? Type621 { get; set; } + public global::Baseten.RouteRefV1? Type621 { get; set; } /// /// /// - public global::Baseten.RouteTargetClassifierV1? Type622 { get; set; } + public global::Baseten.RouteTargetBasetenModelAPIV1? Type622 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type623 { get; set; } + public global::Baseten.RouteTargetClassifierV1? Type623 { get; set; } /// /// /// - public global::Baseten.RouteTargetConnectionV1? Type624 { get; set; } + public global::System.Collections.Generic.IList? Type624 { get; set; } /// /// /// - public global::Baseten.RouteV1? Type625 { get; set; } + public global::Baseten.RouteTargetConnectionV1? Type625 { get; set; } /// /// /// - public global::Baseten.Target? Type626 { get; set; } + public global::Baseten.RouteV1? Type626 { get; set; } /// /// /// - public global::Baseten.RouteV1TargetDiscriminator? Type627 { get; set; } + public global::Baseten.Target? Type627 { get; set; } /// /// /// - public global::Baseten.RouteV1TargetDiscriminatorType? Type628 { get; set; } + public global::Baseten.RouteV1TargetDiscriminator? Type628 { get; set; } /// /// /// - public global::Baseten.RoutesResponseV1? Type629 { get; set; } + public global::Baseten.RouteV1TargetDiscriminatorType? Type629 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type630 { get; set; } + public global::Baseten.RoutesResponseV1? Type630 { get; set; } /// /// /// - public global::Baseten.RoutesRequestV1? Type631 { get; set; } + public global::System.Collections.Generic.IList? Type631 { get; set; } /// /// /// - public global::Baseten.UpsertRouteTargetBasetenModelAPIV1? Type632 { get; set; } + public global::Baseten.RoutesRequestV1? Type632 { get; set; } /// /// /// - public global::Baseten.UpsertRouteTargetClassifierV1? Type633 { get; set; } + public global::Baseten.UpsertRouteTargetBasetenModelAPIV1? Type633 { get; set; } /// /// /// - public global::Baseten.UpsertRouteTargetConnectionV1? Type634 { get; set; } + public global::Baseten.UpsertRouteTargetClassifierV1? Type634 { get; set; } /// /// /// - public global::Baseten.CreateRouteRequestV1? Type635 { get; set; } + public global::Baseten.UpsertRouteTargetConnectionV1? Type635 { get; set; } /// /// /// - public global::Baseten.Target2? Type636 { get; set; } + public global::Baseten.CreateRouteRequestV1? Type636 { get; set; } /// /// /// - public global::Baseten.CreateRouteRequestV1TargetDiscriminator? Type637 { get; set; } + public global::Baseten.Target2? Type637 { get; set; } /// /// /// - public global::Baseten.CreateRouteRequestV1TargetDiscriminatorType? Type638 { get; set; } + public global::Baseten.CreateRouteRequestV1TargetDiscriminator? Type638 { get; set; } /// /// /// - public global::Baseten.RouteProviderV1? Type639 { get; set; } + public global::Baseten.CreateRouteRequestV1TargetDiscriminatorType? Type639 { get; set; } /// /// /// - public global::Baseten.RoutesUsageBucketV1? Type640 { get; set; } + public global::Baseten.RouteProviderV1? Type640 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type641 { get; set; } + public global::Baseten.RoutesUsageBucketV1? Type641 { get; set; } /// /// /// - public global::Baseten.RoutesUsageResultV1? Type642 { get; set; } + public global::System.Collections.Generic.IList? Type642 { get; set; } /// /// /// - public global::Baseten.RoutesUsageResponseV1? Type643 { get; set; } + public global::Baseten.RoutesUsageResultV1? Type643 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type644 { get; set; } + public global::Baseten.RoutesUsageResponseV1? Type644 { get; set; } /// /// /// - public global::Baseten.RouteUsageDimensionV1? Type645 { get; set; } + public global::System.Collections.Generic.IList? Type645 { get; set; } /// /// /// - public global::Baseten.RoutesUsageRequestV1? Type646 { get; set; } + public global::Baseten.RouteUsageDimensionV1? Type646 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type647 { get; set; } + public global::Baseten.RoutesUsageRequestV1? Type647 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type648 { get; set; } + public global::System.Collections.Generic.IList? Type648 { get; set; } /// /// /// - public global::Baseten.RouteEffectiveSpendLimitV1? Type649 { get; set; } + public global::System.Collections.Generic.IList? Type649 { get; set; } /// /// /// - public global::Baseten.RouteSettingSourceV1? Type650 { get; set; } + public global::Baseten.RouteEffectiveSpendLimitV1? Type650 { get; set; } /// /// /// - public global::Baseten.RouteSpendBlockedByV1? Type651 { get; set; } + public global::Baseten.RouteSettingSourceV1? Type651 { get; set; } /// /// /// - public global::Baseten.RouteSpendLimitSettingV1? Type652 { get; set; } + public global::Baseten.RouteSpendBlockedByV1? Type652 { get; set; } /// /// /// - public global::Baseten.RouteSpendLimitTeamDefaultV1? Type653 { get; set; } + public global::Baseten.RouteSpendLimitSettingV1? Type653 { get; set; } /// /// /// - public global::Baseten.RouteTeamUserSettingsV1? Type654 { get; set; } + public global::Baseten.RouteSpendLimitTeamDefaultV1? Type654 { get; set; } /// /// /// - public global::Baseten.RouteUserTeamSettingsListV1? Type655 { get; set; } + public global::Baseten.RouteTeamUserSettingsV1? Type655 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type656 { get; set; } + public global::Baseten.RouteUserTeamSettingsListV1? Type656 { get; set; } /// /// /// - public global::Baseten.BackgroundHarnessDefaultsV1? Type657 { get; set; } + public global::System.Collections.Generic.IList? Type657 { get; set; } /// /// /// - public global::Baseten.RouteHarnessModelV1? Type658 { get; set; } + public global::Baseten.BackgroundHarnessDefaultsV1? Type658 { get; set; } /// /// /// - public global::Baseten.PrimaryHarnessDefaultsV1? Type659 { get; set; } + public global::Baseten.RouteHarnessModelV1? Type659 { get; set; } /// /// /// - public global::Baseten.RouteHarnessDefaultsV1? Type660 { get; set; } + public global::Baseten.PrimaryHarnessDefaultsV1? Type660 { get; set; } /// /// /// - public global::Baseten.RouteTeamSpendLimitSettingV1? Type661 { get; set; } + public global::Baseten.RouteHarnessDefaultsV1? Type661 { get; set; } /// /// /// - public global::Baseten.RouteTeamSettingsV1? Type662 { get; set; } + public global::Baseten.RouteTeamSpendLimitSettingV1? Type662 { get; set; } /// /// /// - public global::Baseten.UpdateBackgroundHarnessModelsV1? Type663 { get; set; } + public global::Baseten.RouteTeamSettingsV1? Type663 { get; set; } /// /// /// - public global::Baseten.UpdatePrimaryHarnessModelsV1? Type664 { get; set; } + public global::Baseten.UpdateBackgroundHarnessModelsV1? Type664 { get; set; } /// /// /// - public global::Baseten.UpdateRouteHarnessDefaultsV1? Type665 { get; set; } + public global::Baseten.UpdatePrimaryHarnessModelsV1? Type665 { get; set; } /// /// /// - public global::Baseten.UpdateRouteTeamSpendLimitSettingV1? Type666 { get; set; } + public global::Baseten.UpdateRouteHarnessDefaultsV1? Type666 { get; set; } /// /// /// - public global::Baseten.UpdateRouteTeamSettingsRequestV1? Type667 { get; set; } + public global::Baseten.UpdateRouteTeamSpendLimitSettingV1? Type667 { get; set; } /// /// /// - public global::Baseten.RouteTeamUserSettingsListV1? Type668 { get; set; } + public global::Baseten.UpdateRouteTeamSettingsRequestV1? Type668 { get; set; } /// /// /// - public global::Baseten.UpdateRouteSpendLimitSettingV1? Type669 { get; set; } + public global::Baseten.RouteTeamUserSettingsListV1? Type669 { get; set; } /// /// /// - public global::Baseten.UpdateRouteUserSettingsRequestV1? Type670 { get; set; } + public global::Baseten.UpdateRouteSpendLimitSettingV1? Type670 { get; set; } /// /// /// - public global::Baseten.RouteTeamSettingsRequestV1? Type671 { get; set; } + public global::Baseten.UpdateRouteUserSettingsRequestV1? Type671 { get; set; } /// /// /// - public global::Baseten.UpdateResolvedRouteTeamSettingsRequestV1? Type672 { get; set; } + public global::Baseten.RouteTeamSettingsRequestV1? Type672 { get; set; } /// /// /// - public global::Baseten.RouteConnectionConfigAnthropicV1? Type673 { get; set; } + public global::Baseten.UpdateResolvedRouteTeamSettingsRequestV1? Type673 { get; set; } /// /// /// - public global::Baseten.RouteConnectionConfigOpenAIV1? Type674 { get; set; } + public global::Baseten.RouteConnectionConfigAnthropicV1? Type674 { get; set; } /// /// /// - public global::Baseten.RouteConnectionConfigXAIV1? Type675 { get; set; } + public global::Baseten.RouteConnectionConfigOpenAIV1? Type675 { get; set; } /// /// /// - public global::Baseten.RouteConnectionV1? Type676 { get; set; } + public global::Baseten.RouteConnectionConfigXAIV1? Type676 { get; set; } /// /// /// - public global::Baseten.Config? Type677 { get; set; } + public global::Baseten.RouteConnectionV1? Type677 { get; set; } /// /// /// - public global::Baseten.RouteConnectionV1ConfigDiscriminator? Type678 { get; set; } + public global::Baseten.Config? Type678 { get; set; } /// /// /// - public global::Baseten.RouteConnectionV1ConfigDiscriminatorProvider? Type679 { get; set; } + public global::Baseten.RouteConnectionV1ConfigDiscriminator? Type679 { get; set; } /// /// /// - public global::Baseten.RouteConnectionsResponseV1? Type680 { get; set; } + public global::Baseten.RouteConnectionV1ConfigDiscriminatorProvider? Type680 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type681 { get; set; } + public global::Baseten.RouteConnectionsResponseV1? Type681 { get; set; } /// /// /// - public global::Baseten.RouteConnectionsRequestV1? Type682 { get; set; } + public global::System.Collections.Generic.IList? Type682 { get; set; } /// /// /// - public global::Baseten.UpsertRouteConnectionConfigAnthropicV1? Type683 { get; set; } + public global::Baseten.RouteConnectionsRequestV1? Type683 { get; set; } /// /// /// - public global::Baseten.UpsertRouteConnectionConfigOpenAIV1? Type684 { get; set; } + public global::Baseten.UpsertRouteConnectionConfigAnthropicV1? Type684 { get; set; } /// /// /// - public global::Baseten.UpsertRouteConnectionConfigXAIV1? Type685 { get; set; } + public global::Baseten.UpsertRouteConnectionConfigOpenAIV1? Type685 { get; set; } /// /// /// - public global::Baseten.CreateRouteConnectionRequestV1? Type686 { get; set; } + public global::Baseten.UpsertRouteConnectionConfigXAIV1? Type686 { get; set; } /// /// /// - public global::Baseten.Config2? Type687 { get; set; } + public global::Baseten.CreateRouteConnectionRequestV1? Type687 { get; set; } /// /// /// - public global::Baseten.CreateRouteConnectionRequestV1ConfigDiscriminator? Type688 { get; set; } + public global::Baseten.Config2? Type688 { get; set; } /// /// /// - public global::Baseten.CreateRouteConnectionRequestV1ConfigDiscriminatorProvider? Type689 { get; set; } + public global::Baseten.CreateRouteConnectionRequestV1ConfigDiscriminator? Type689 { get; set; } /// /// /// - public global::Baseten.RouteConnectionTombstoneV1? Type690 { get; set; } + public global::Baseten.CreateRouteConnectionRequestV1ConfigDiscriminatorProvider? Type690 { get; set; } /// /// /// - public global::Baseten.UpdateRouteConnectionRequestV1? Type691 { get; set; } + public global::Baseten.RouteConnectionTombstoneV1? Type691 { get; set; } /// /// /// - public global::Baseten.Config3? Type692 { get; set; } + public global::Baseten.UpdateRouteConnectionRequestV1? Type692 { get; set; } /// /// /// - public global::Baseten.UpdateRouteConnectionRequestV1ConfigDiscriminator? Type693 { get; set; } + public global::Baseten.Config3? Type693 { get; set; } /// /// /// - public global::Baseten.UpdateRouteConnectionRequestV1ConfigDiscriminatorProvider? Type694 { get; set; } + public global::Baseten.UpdateRouteConnectionRequestV1ConfigDiscriminator? Type694 { get; set; } /// /// /// - public global::Baseten.RouteTombstoneV1? Type695 { get; set; } + public global::Baseten.UpdateRouteConnectionRequestV1ConfigDiscriminatorProvider? Type695 { get; set; } /// /// /// - public global::Baseten.UpdateRouteRequestV1? Type696 { get; set; } + public global::Baseten.RouteTombstoneV1? Type696 { get; set; } /// /// /// - public global::Baseten.TargetVariant1? Type697 { get; set; } + public global::Baseten.UpdateRouteRequestV1? Type697 { get; set; } /// /// /// - public global::Baseten.UpdateRouteRequestV1TargetVariant1Discriminator? Type698 { get; set; } + public global::Baseten.TargetVariant1? Type698 { get; set; } /// /// /// - public global::Baseten.UpdateRouteRequestV1TargetVariant1DiscriminatorType? Type699 { get; set; } + public global::Baseten.UpdateRouteRequestV1TargetVariant1Discriminator? Type699 { get; set; } /// /// /// - public global::Baseten.EndpointTargetV1? Type700 { get; set; } + public global::Baseten.UpdateRouteRequestV1TargetVariant1DiscriminatorType? Type700 { get; set; } /// /// /// - public global::Baseten.GatewayProvider? Type701 { get; set; } + public global::Baseten.EndpointTargetV1? Type701 { get; set; } /// /// /// - public global::Baseten.VertexTargetConfigV1? Type702 { get; set; } + public global::Baseten.GatewayProvider? Type702 { get; set; } /// /// /// - public global::Baseten.EndpointV1? Type703 { get; set; } + public global::Baseten.VertexTargetConfigV1? Type703 { get; set; } /// /// /// - public global::Baseten.SharedEndpointRegionV1? Type704 { get; set; } + public global::Baseten.EndpointV1? Type704 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type705 { get; set; } + public global::Baseten.SharedEndpointRegionV1? Type705 { get; set; } /// /// /// - public global::Baseten.EndpointsResponseV1? Type706 { get; set; } + public global::System.Collections.Generic.IList? Type706 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type707 { get; set; } + public global::Baseten.EndpointsResponseV1? Type707 { get; set; } /// /// /// - public global::Baseten.EndpointTargetRequestV1? Type708 { get; set; } + public global::System.Collections.Generic.IList? Type708 { get; set; } /// /// /// - public global::Baseten.CreateEndpointRequestV1? Type709 { get; set; } + public global::Baseten.EndpointTargetRequestV1? Type709 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type710 { get; set; } + public global::Baseten.CreateEndpointRequestV1? Type710 { get; set; } /// /// /// - public global::Baseten.EndpointTombstoneV1? Type711 { get; set; } + public global::System.Collections.Generic.IList? Type711 { get; set; } /// /// /// - public global::Baseten.UpdateEndpointRequestV1? Type712 { get; set; } + public global::Baseten.EndpointTombstoneV1? Type712 { get; set; } /// /// /// - public global::Baseten.EffectiveModelConfigV1? Type713 { get; set; } + public global::Baseten.UpdateEndpointRequestV1? Type713 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type714 { get; set; } + public global::Baseten.EffectiveModelConfigV1? Type714 { get; set; } /// /// /// - public global::Baseten.EffectiveRateLimitV1? Type715 { get; set; } + public global::System.Collections.Generic.IList? Type715 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type716 { get; set; } + public global::Baseten.EffectiveRateLimitV1? Type716 { get; set; } /// /// /// - public global::Baseten.EffectiveUsageLimitV1? Type717 { get; set; } + public global::System.Collections.Generic.IList? Type717 { get; set; } /// /// /// - public global::Baseten.UsageLimitUnitV1? Type718 { get; set; } + public global::Baseten.EffectiveUsageLimitV1? Type718 { get; set; } /// /// /// - public global::Baseten.GroupHierarchyV1? Type719 { get; set; } + public global::Baseten.UsageLimitUnitV1? Type719 { get; set; } /// /// /// - public global::Baseten.LimitEnforcementV1? Type720 { get; set; } + public global::Baseten.GroupHierarchyV1? Type720 { get; set; } /// /// /// - public global::Baseten.GroupMetadataV1? Type721 { get; set; } + public global::Baseten.LimitEnforcementV1? Type721 { get; set; } /// /// /// - public global::Baseten.GroupV1? Type722 { get; set; } + public global::Baseten.GroupMetadataV1? Type722 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type723 { get; set; } + public global::Baseten.GroupV1? Type723 { get; set; } /// /// /// - public global::Baseten.ModelConfigV1? Type724 { get; set; } + public global::System.Collections.Generic.IList? Type724 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type725 { get; set; } + public global::Baseten.ModelConfigV1? Type725 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type726 { get; set; } + public global::System.Collections.Generic.IList? Type726 { get; set; } /// /// /// - public global::Baseten.UsageLimitV1? Type727 { get; set; } + public global::System.Collections.Generic.IList? Type727 { get; set; } /// /// /// - public global::Baseten.GroupsResponseV1? Type728 { get; set; } + public global::Baseten.UsageLimitV1? Type728 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type729 { get; set; } + public global::Baseten.GroupsResponseV1? Type729 { get; set; } /// /// /// - public global::Baseten.CreateGroupHierarchyV1? Type730 { get; set; } + public global::System.Collections.Generic.IList? Type730 { get; set; } /// /// /// - public global::Baseten.CreateGroupRequestV1? Type731 { get; set; } + public global::Baseten.CreateGroupHierarchyV1? Type731 { get; set; } /// /// /// - public global::Baseten.UpdateGroupMetadataV1? Type732 { get; set; } + public global::Baseten.CreateGroupRequestV1? Type732 { get; set; } /// /// /// - public global::Baseten.UpdateGroupRequestV1? Type733 { get; set; } + public global::Baseten.UpdateGroupMetadataV1? Type733 { get; set; } /// /// /// - public global::Baseten.GatewayKeyInfoV1? Type734 { get; set; } + public global::Baseten.UpdateGroupRequestV1? Type734 { get; set; } /// /// /// - public global::Baseten.KeysForGroupResponseV1? Type735 { get; set; } + public global::Baseten.GatewayKeyInfoV1? Type735 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type736 { get; set; } + public global::Baseten.KeysForGroupResponseV1? Type736 { get; set; } /// /// /// - public global::Baseten.CreateApiKeyForGroupRequestV1? Type737 { get; set; } + public global::System.Collections.Generic.IList? Type737 { get; set; } /// /// /// - public global::Baseten.CreateApiKeyForGroupResponseV1? Type738 { get; set; } + public global::Baseten.CreateApiKeyForGroupRequestV1? Type738 { get; set; } /// /// /// - public global::Baseten.RegisterAPIKeyRequestV1? Type739 { get; set; } + public global::Baseten.CreateApiKeyForGroupResponseV1? Type739 { get; set; } /// /// /// - public global::Baseten.RegisterAPIKeyResponseV1? Type740 { get; set; } + public global::Baseten.RegisterAPIKeyRequestV1? Type740 { get; set; } /// /// /// - public global::Baseten.SandboxLogsV1? Type741 { get; set; } + public global::Baseten.RegisterAPIKeyResponseV1? Type741 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type742 { get; set; } + public global::Baseten.SandboxLogsV1? Type742 { get; set; } /// /// /// - public global::Baseten.SandboxLogEntryV1? Type743 { get; set; } + public global::System.Collections.Generic.IList? Type743 { get; set; } /// /// /// - public global::Baseten.SandboxMetricModeV1? Type744 { get; set; } + public global::Baseten.SandboxLogEntryV1? Type744 { get; set; } /// /// /// - public global::Baseten.SandboxMetricNameV1? Type745 { get; set; } + public global::Baseten.SandboxMetricModeV1? Type745 { get; set; } /// /// /// - public global::Baseten.SandboxMetricsV1? Type746 { get; set; } + public global::Baseten.SandboxMetricNameV1? Type746 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type747 { get; set; } + public global::Baseten.SandboxMetricsV1? Type747 { get; set; } /// /// /// - public global::Baseten.SandboxMetricDescriptorV1? Type748 { get; set; } + public global::System.Collections.Generic.IList? Type748 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type749 { get; set; } + public global::Baseten.SandboxMetricDescriptorV1? Type749 { get; set; } /// /// /// - public global::Baseten.SandboxMetricValueSetV1? Type750 { get; set; } + public global::System.Collections.Generic.IList? Type750 { get; set; } /// /// /// - public global::Baseten.SandboxMetricDescriptorV1UnitHint? Type751 { get; set; } + public global::Baseten.SandboxMetricValueSetV1? Type751 { get; set; } /// /// /// - public global::Baseten.SandboxMetricDescriptorV1Kind? Type752 { get; set; } + public global::Baseten.SandboxMetricDescriptorV1UnitHint? Type752 { get; set; } /// /// /// - public global::Baseten.GetSandboxConfigurationResponseV1? Type753 { get; set; } + public global::Baseten.SandboxMetricDescriptorV1Kind? Type753 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type754 { get; set; } + public global::Baseten.GetSandboxConfigurationResponseV1? Type754 { get; set; } /// /// /// - public global::Baseten.SandboxRegionV1? Type755 { get; set; } + public global::System.Collections.Generic.IList? Type755 { get; set; } /// /// /// - public global::Baseten.SandboxRegionV1InfoGeneration? Type756 { get; set; } + public global::Baseten.SandboxRegionV1? Type756 { get; set; } /// /// /// - public global::Baseten.SandboxImageBuildLogV1? Type757 { get; set; } + public global::Baseten.SandboxRegionV1InfoGeneration? Type757 { get; set; } /// /// /// - public global::Baseten.SandboxImageBuildLogsResponseV1? Type758 { get; set; } + public global::Baseten.SandboxImageBuildLogV1? Type758 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type759 { get; set; } + public global::Baseten.SandboxImageBuildLogsResponseV1? Type759 { get; set; } /// /// /// - public global::Baseten.SandboxLifecycleV1? Type760 { get; set; } + public global::System.Collections.Generic.IList? Type760 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type761 { get; set; } + public global::Baseten.SandboxLifecycleV1? Type761 { get; set; } /// /// /// - public global::Baseten.SandboxExpirationPolicyV1? Type762 { get; set; } + public global::System.Collections.Generic.IList? Type762 { get; set; } /// /// /// - public global::Baseten.SandboxTTLIdleExpirationPolicyV1? Type763 { get; set; } + public global::Baseten.SandboxExpirationPolicyV1? Type763 { get; set; } /// /// /// - public global::Baseten.SandboxTTLMaxAgeExpirationPolicyV1? Type764 { get; set; } + public global::Baseten.SandboxTTLIdleExpirationPolicyV1? Type764 { get; set; } /// /// /// - public global::Baseten.SandboxDateExpirationPolicyV1? Type765 { get; set; } + public global::Baseten.SandboxTTLMaxAgeExpirationPolicyV1? Type765 { get; set; } /// /// /// - public global::Baseten.SandboxExpirationPolicyV1Discriminator? Type766 { get; set; } + public global::Baseten.SandboxDateExpirationPolicyV1? Type766 { get; set; } /// /// /// - public global::Baseten.SandboxExpirationPolicyV1DiscriminatorType? Type767 { get; set; } + public global::Baseten.SandboxExpirationPolicyV1Discriminator? Type767 { get; set; } /// /// /// - public global::Baseten.SandboxTTLIdleExpirationPolicyV1Action? Type768 { get; set; } + public global::Baseten.SandboxExpirationPolicyV1DiscriminatorType? Type768 { get; set; } /// /// /// - public global::Baseten.SandboxTTLIdleExpirationPolicyV1Type? Type769 { get; set; } + public global::Baseten.SandboxTTLIdleExpirationPolicyV1Action? Type769 { get; set; } /// /// /// - public global::Baseten.SandboxTTLMaxAgeExpirationPolicyV1Action? Type770 { get; set; } + public global::Baseten.SandboxTTLIdleExpirationPolicyV1Type? Type770 { get; set; } /// /// /// - public global::Baseten.SandboxTTLMaxAgeExpirationPolicyV1Type? Type771 { get; set; } + public global::Baseten.SandboxTTLMaxAgeExpirationPolicyV1Action? Type771 { get; set; } /// /// /// - public global::Baseten.SandboxDateExpirationPolicyV1Action? Type772 { get; set; } + public global::Baseten.SandboxTTLMaxAgeExpirationPolicyV1Type? Type772 { get; set; } /// /// /// - public global::Baseten.SandboxDateExpirationPolicyV1Type? Type773 { get; set; } + public global::Baseten.SandboxDateExpirationPolicyV1Action? Type773 { get; set; } /// /// /// - public global::Baseten.SandboxNetworkV1? Type774 { get; set; } + public global::Baseten.SandboxDateExpirationPolicyV1Type? Type774 { get; set; } /// /// /// - public global::Baseten.SandboxProxyConfigV1? Type775 { get; set; } + public global::Baseten.SandboxNetworkV1? Type775 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type776 { get; set; } + public global::Baseten.SandboxProxyConfigV1? Type776 { get; set; } /// /// /// - public global::Baseten.SandboxProxyTargetV1? Type777 { get; set; } + public global::System.Collections.Generic.IList? Type777 { get; set; } /// /// /// - public global::Baseten.SandboxEnvV1? Type778 { get; set; } + public global::Baseten.SandboxProxyTargetV1? Type778 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type779 { get; set; } + public global::Baseten.SandboxEnvV1? Type779 { get; set; } /// /// /// - public global::Baseten.SandboxPortV1? Type780 { get; set; } + public global::System.Collections.Generic.IList? Type780 { get; set; } /// /// /// - public global::Baseten.SandboxPortV1Protocol? Type781 { get; set; } + public global::Baseten.SandboxPortV1? Type781 { get; set; } /// /// /// - public global::Baseten.SandboxConfigurationV1? Type782 { get; set; } + public global::Baseten.SandboxPortV1Protocol? Type782 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type783 { get; set; } + public global::Baseten.SandboxConfigurationV1? Type783 { get; set; } /// /// /// - public global::Baseten.CreateSandboxRequestV1? Type784 { get; set; } + public global::System.Collections.Generic.IList? Type784 { get; set; } /// /// /// - public global::Baseten.UpdateSandboxRequestV1? Type785 { get; set; } + public global::Baseten.CreateSandboxRequestV1? Type785 { get; set; } /// /// /// - public global::Baseten.SandboxV1? Type786 { get; set; } + public global::Baseten.UpdateSandboxRequestV1? Type786 { get; set; } /// /// /// - public global::Baseten.SandboxV1Variant2? Type787 { get; set; } + public global::Baseten.SandboxV1? Type787 { get; set; } /// /// /// - public global::Baseten.SandboxStatusV1? Type788 { get; set; } + public global::Baseten.SandboxV1Variant2? Type788 { get; set; } /// /// /// - public global::Baseten.SandboxApiPaginationV1? Type789 { get; set; } + public global::Baseten.SandboxStatusV1? Type789 { get; set; } /// /// /// - public global::Baseten.ListSandboxesResponseV1? Type790 { get; set; } + public global::Baseten.SandboxApiPaginationV1? Type790 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type791 { get; set; } + public global::Baseten.ListSandboxesResponseV1? Type791 { get; set; } /// /// /// - public global::Baseten.ListSandboxImagesResponseV1? Type792 { get; set; } + public global::System.Collections.Generic.IList? Type792 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type793 { get; set; } + public global::Baseten.ListSandboxImagesResponseV1? Type793 { get; set; } /// /// /// - public global::Baseten.SandboxImageV1? Type794 { get; set; } + public global::System.Collections.Generic.IList? Type794 { get; set; } /// /// /// - public global::Baseten.ListSandboxImageTagsResponseV1? Type795 { get; set; } + public global::Baseten.SandboxImageV1? Type795 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type796 { get; set; } + public global::Baseten.ListSandboxImageTagsResponseV1? Type796 { get; set; } /// /// /// - public global::Baseten.SandboxImageTagV1? Type797 { get; set; } + public global::System.Collections.Generic.IList? Type797 { get; set; } /// /// /// - public global::Baseten.SandboxImageStatusV1? Type798 { get; set; } + public global::Baseten.SandboxImageTagV1? Type798 { get; set; } /// /// /// - public global::Baseten.PushSandboxImageRequestV1? Type799 { get; set; } + public global::Baseten.SandboxImageStatusV1? Type799 { get; set; } /// /// /// - public global::Baseten.PushSandboxImageResponseV1? Type800 { get; set; } + public global::Baseten.PushSandboxImageRequestV1? Type800 { get; set; } /// /// /// - public global::Baseten.SandboxLibraryImageVolumeV1? Type801 { get; set; } + public global::Baseten.PushSandboxImageResponseV1? Type801 { get; set; } /// /// /// - public global::Baseten.SandboxLibraryImageCreationOptionsV1? Type802 { get; set; } + public global::Baseten.SandboxLibraryImageVolumeV1? Type802 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type803 { get; set; } + public global::Baseten.SandboxLibraryImageCreationOptionsV1? Type803 { get; set; } /// /// /// - public global::Baseten.SandboxLibraryImageV1? Type804 { get; set; } + public global::System.Collections.Generic.IList? Type804 { get; set; } /// /// /// - public global::Baseten.ListSandboxLibraryImagesResponseV1? Type805 { get; set; } + public global::Baseten.SandboxLibraryImageV1? Type805 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type806 { get; set; } + public global::Baseten.ListSandboxLibraryImagesResponseV1? Type806 { get; set; } /// /// /// - public global::Baseten.CleanupSandboxImagesResponseV1? Type807 { get; set; } + public global::System.Collections.Generic.IList? Type807 { get; set; } /// /// /// - public global::Baseten.SandboxPreviewStatusV1? Type808 { get; set; } + public global::Baseten.CleanupSandboxImagesResponseV1? Type808 { get; set; } /// /// /// - public global::Baseten.SandboxPreviewConfigurationV1? Type809 { get; set; } + public global::Baseten.SandboxPreviewStatusV1? Type809 { get; set; } /// /// /// - public global::Baseten.CreateSandboxPreviewRequestV1? Type810 { get; set; } + public global::Baseten.SandboxPreviewConfigurationV1? Type810 { get; set; } /// /// /// - public global::Baseten.CreateSandboxPreviewRequestV1Variant2? Type811 { get; set; } + public global::Baseten.CreateSandboxPreviewRequestV1? Type811 { get; set; } /// /// /// - public global::Baseten.UpdateSandboxPreviewRequestV1? Type812 { get; set; } + public global::Baseten.CreateSandboxPreviewRequestV1Variant2? Type812 { get; set; } /// /// /// - public global::Baseten.SandboxPreviewV1? Type813 { get; set; } + public global::Baseten.UpdateSandboxPreviewRequestV1? Type813 { get; set; } /// /// /// - public global::Baseten.SandboxPreviewV1Variant2? Type814 { get; set; } + public global::Baseten.SandboxPreviewV1? Type814 { get; set; } /// /// /// - public global::Baseten.ListSandboxPreviewsResponseV1? Type815 { get; set; } + public global::Baseten.SandboxPreviewV1Variant2? Type815 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type816 { get; set; } + public global::Baseten.ListSandboxPreviewsResponseV1? Type816 { get; set; } /// /// /// - public global::Baseten.CreateSandboxPreviewTokenRequestV1? Type817 { get; set; } + public global::System.Collections.Generic.IList? Type817 { get; set; } /// /// /// - public global::Baseten.SandboxPreviewTokenV1? Type818 { get; set; } + public global::Baseten.CreateSandboxPreviewTokenRequestV1? Type818 { get; set; } /// /// /// - public global::Baseten.ListSandboxPreviewTokensResponseV1? Type819 { get; set; } + public global::Baseten.SandboxPreviewTokenV1? Type819 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type820 { get; set; } + public global::Baseten.ListSandboxPreviewTokensResponseV1? Type820 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type821 { get; set; } + public global::System.Collections.Generic.IList? Type821 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type822 { get; set; } /// /// @@ -3402,63 +3406,63 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::System.Collections.Generic.List? ListType20 { get; set; } + public global::System.Collections.Generic.List? ListType20 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType21 { get; set; } + public global::System.Collections.Generic.List? ListType21 { get; set; } /// /// /// - public global::System.Collections.Generic.List>? ListType22 { get; set; } + public global::System.Collections.Generic.List? ListType22 { get; set; } /// /// /// - public global::System.Collections.Generic.List>? ListType23 { get; set; } + public global::System.Collections.Generic.List? ListType23 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType24 { get; set; } + public global::System.Collections.Generic.List>? ListType24 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType25 { get; set; } + public global::System.Collections.Generic.List>? ListType25 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType26 { get; set; } + public global::System.Collections.Generic.List? ListType26 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType27 { get; set; } + public global::System.Collections.Generic.List? ListType27 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType28 { get; set; } + public global::System.Collections.Generic.List? ListType28 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType29 { get; set; } + public global::System.Collections.Generic.List? ListType29 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType30 { get; set; } + public global::System.Collections.Generic.List? ListType30 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType31 { get; set; } + public global::System.Collections.Generic.List? ListType31 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType32 { get; set; } + public global::System.Collections.Generic.List? ListType32 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType33 { get; set; } + public global::System.Collections.Generic.List? ListType33 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType34 { get; set; } + public global::System.Collections.Generic.List? ListType34 { get; set; } /// /// /// diff --git a/src/libs/Baseten/Generated/Baseten.Models.EnvironmentAutoscalingSchedulesV1.g.cs b/src/libs/Baseten/Generated/Baseten.Models.EnvironmentAutoscalingSchedulesV1.g.cs index bd72fb7..03f42fb 100644 --- a/src/libs/Baseten/Generated/Baseten.Models.EnvironmentAutoscalingSchedulesV1.g.cs +++ b/src/libs/Baseten/Generated/Baseten.Models.EnvironmentAutoscalingSchedulesV1.g.cs @@ -20,7 +20,7 @@ public sealed partial class EnvironmentAutoscalingSchedulesV1 /// [global::System.Text.Json.Serialization.JsonPropertyName("schedules")] [global::System.Text.Json.Serialization.JsonRequired] - public required global::System.Collections.Generic.IList Schedules { get; set; } + public required global::System.Collections.Generic.IList Schedules { get; set; } /// /// Autoscaling state on the current serving deployment, or null when no deployment exists @@ -51,7 +51,7 @@ public sealed partial class EnvironmentAutoscalingSchedulesV1 [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] #endif public EnvironmentAutoscalingSchedulesV1( - global::System.Collections.Generic.IList schedules, + global::System.Collections.Generic.IList schedules, string? timezone, global::Baseten.AutoscalingScheduleStateV1? appliedState) { diff --git a/src/libs/Baseten/Generated/Baseten.Models.LoopsLoRAConfigV1.g.cs b/src/libs/Baseten/Generated/Baseten.Models.LoopsLoRAConfigV1.g.cs index bdff53d..9c05e85 100644 --- a/src/libs/Baseten/Generated/Baseten.Models.LoopsLoRAConfigV1.g.cs +++ b/src/libs/Baseten/Generated/Baseten.Models.LoopsLoRAConfigV1.g.cs @@ -9,7 +9,7 @@ namespace Baseten public sealed partial class LoopsLoRAConfigV1 { /// - /// The config version, unique per base model. + /// The config version, like v1. /// [global::System.Text.Json.Serialization.JsonPropertyName("config_version")] [global::System.Text.Json.Serialization.JsonRequired] @@ -39,7 +39,7 @@ public sealed partial class LoopsLoRAConfigV1 /// Initializes a new instance of the class. /// /// - /// The config version, unique per base model. + /// The config version, like v1. /// /// /// The module names the LoRA adapter targets. diff --git a/src/libs/Baseten/Generated/Baseten.Models.PromoteRequestV1.g.cs b/src/libs/Baseten/Generated/Baseten.Models.PromoteRequestV1.g.cs index 49ea697..b70fb91 100644 --- a/src/libs/Baseten/Generated/Baseten.Models.PromoteRequestV1.g.cs +++ b/src/libs/Baseten/Generated/Baseten.Models.PromoteRequestV1.g.cs @@ -22,6 +22,20 @@ public sealed partial class PromoteRequestV1 [global::System.Text.Json.Serialization.JsonPropertyName("preserve_env_instance_type")] public bool? PreserveEnvInstanceType { get; set; } + /// + /// Changes to the environment's settings. Omitted fields are unchanged. The promoted deployment uses the environment's current settings with these changes applied, and the environment keeps the result when the promotion completes.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("environment_settings_update")] + public global::Baseten.PromotionEnvironmentSettingsUpdateV1? EnvironmentSettingsUpdate { get; set; } + + /// + /// Promotion settings for this promotion only. Omitted fields keep the environment's values, and the environment's promotion settings are unchanged.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("promotion_settings_override")] + public global::Baseten.UpdatePromotionSettingsV1? PromotionSettingsOverride { get; set; } + /// /// Additional properties that are not explicitly defined in the schema /// @@ -39,15 +53,27 @@ public sealed partial class PromoteRequestV1 /// Whether to use the promoting deployment's instance type or preserve target environment's instance type
/// Default Value: true /// + /// + /// Changes to the environment's settings. Omitted fields are unchanged. The promoted deployment uses the environment's current settings with these changes applied, and the environment keeps the result when the promotion completes.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// + /// + /// Promotion settings for this promotion only. Omitted fields keep the environment's values, and the environment's promotion settings are unchanged.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// #if NET7_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] #endif public PromoteRequestV1( bool? scaleDownPreviousProduction, - bool? preserveEnvInstanceType) + bool? preserveEnvInstanceType, + global::Baseten.PromotionEnvironmentSettingsUpdateV1? environmentSettingsUpdate, + global::Baseten.UpdatePromotionSettingsV1? promotionSettingsOverride) { this.ScaleDownPreviousProduction = scaleDownPreviousProduction; this.PreserveEnvInstanceType = preserveEnvInstanceType; + this.EnvironmentSettingsUpdate = environmentSettingsUpdate; + this.PromotionSettingsOverride = promotionSettingsOverride; } /// diff --git a/src/libs/Baseten/Generated/Baseten.Models.PromoteToEnvironmentRequestV1.g.cs b/src/libs/Baseten/Generated/Baseten.Models.PromoteToEnvironmentRequestV1.g.cs index a729900..466404f 100644 --- a/src/libs/Baseten/Generated/Baseten.Models.PromoteToEnvironmentRequestV1.g.cs +++ b/src/libs/Baseten/Generated/Baseten.Models.PromoteToEnvironmentRequestV1.g.cs @@ -29,6 +29,20 @@ public sealed partial class PromoteToEnvironmentRequestV1 [global::System.Text.Json.Serialization.JsonPropertyName("preserve_env_instance_type")] public bool? PreserveEnvInstanceType { get; set; } + /// + /// Changes to the environment's settings. Omitted fields are unchanged. The promoted deployment uses the environment's current settings with these changes applied, and the environment keeps the result when the promotion completes.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("environment_settings_update")] + public global::Baseten.PromotionEnvironmentSettingsUpdateV1? EnvironmentSettingsUpdate { get; set; } + + /// + /// Promotion settings for this promotion only. Omitted fields keep the environment's values, and the environment's promotion settings are unchanged.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("promotion_settings_override")] + public global::Baseten.UpdatePromotionSettingsV1? PromotionSettingsOverride { get; set; } + /// /// Additional properties that are not explicitly defined in the schema /// @@ -49,17 +63,29 @@ public sealed partial class PromoteToEnvironmentRequestV1 /// Whether to use the promoting deployment's instance type or preserve target environment's instance type
/// Default Value: true /// + /// + /// Changes to the environment's settings. Omitted fields are unchanged. The promoted deployment uses the environment's current settings with these changes applied, and the environment keeps the result when the promotion completes.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// + /// + /// Promotion settings for this promotion only. Omitted fields keep the environment's values, and the environment's promotion settings are unchanged.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// #if NET7_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] #endif public PromoteToEnvironmentRequestV1( string deploymentId, bool? scaleDownPreviousDeployment, - bool? preserveEnvInstanceType) + bool? preserveEnvInstanceType, + global::Baseten.PromotionEnvironmentSettingsUpdateV1? environmentSettingsUpdate, + global::Baseten.UpdatePromotionSettingsV1? promotionSettingsOverride) { this.ScaleDownPreviousDeployment = scaleDownPreviousDeployment; this.DeploymentId = deploymentId ?? throw new global::System.ArgumentNullException(nameof(deploymentId)); this.PreserveEnvInstanceType = preserveEnvInstanceType; + this.EnvironmentSettingsUpdate = environmentSettingsUpdate; + this.PromotionSettingsOverride = promotionSettingsOverride; } /// diff --git a/src/libs/Baseten/Generated/Baseten.Models.PromotionEnvironmentSettingsUpdateV1.Json.g.cs b/src/libs/Baseten/Generated/Baseten.Models.PromotionEnvironmentSettingsUpdateV1.Json.g.cs new file mode 100644 index 0000000..d590699 --- /dev/null +++ b/src/libs/Baseten/Generated/Baseten.Models.PromotionEnvironmentSettingsUpdateV1.Json.g.cs @@ -0,0 +1,141 @@ +#nullable enable + +namespace Baseten +{ + public sealed partial class PromotionEnvironmentSettingsUpdateV1 + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the generated default JsonSerializerContext. + /// + public string ToJson() + { + return ToJson(global::Baseten.SourceGenerationContext.Default); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return ToJson(global::Baseten.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Baseten.PromotionEnvironmentSettingsUpdateV1? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Baseten.PromotionEnvironmentSettingsUpdateV1), + jsonSerializerContext) as global::Baseten.PromotionEnvironmentSettingsUpdateV1; + } + + /// + /// Deserializes a JSON string using the generated default JsonSerializerContext. + /// + public static global::Baseten.PromotionEnvironmentSettingsUpdateV1? FromJson( + string json) + { + return FromJson( + json, + global::Baseten.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Baseten.PromotionEnvironmentSettingsUpdateV1? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJson( + json, + global::Baseten.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Baseten.PromotionEnvironmentSettingsUpdateV1), + jsonSerializerContext).ConfigureAwait(false)) as global::Baseten.PromotionEnvironmentSettingsUpdateV1; + } + + /// + /// Deserializes a JSON stream using the generated default JsonSerializerContext. + /// + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream) + { + return FromJsonStreamAsync( + jsonStream, + global::Baseten.SourceGenerationContext.Default); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + if (jsonSerializerOptions is null) + { + return FromJsonStreamAsync( + jsonStream, + global::Baseten.SourceGenerationContext.Default); + } + + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Baseten/Generated/Baseten.Models.PromotionEnvironmentSettingsUpdateV1.g.cs b/src/libs/Baseten/Generated/Baseten.Models.PromotionEnvironmentSettingsUpdateV1.g.cs new file mode 100644 index 0000000..4a53749 --- /dev/null +++ b/src/libs/Baseten/Generated/Baseten.Models.PromotionEnvironmentSettingsUpdateV1.g.cs @@ -0,0 +1,113 @@ + +#nullable enable + +namespace Baseten +{ + /// + /// Changes to an environment's settings, applied to a promoted deployment. + /// + public sealed partial class PromotionEnvironmentSettingsUpdateV1 + { + /// + /// Region for the promoted deployment, from `GET /v1/teams/{team_id}/regions`. Use an empty string for Global.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("region")] + public string? Region { get; set; } + + /// + /// Instance type for the promoted deployment, from `GET /v1/instance_types`.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("instance_type_id")] + public string? InstanceTypeId { get; set; } + + /// + /// Autoscaling settings for the promoted deployment.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("autoscaling_settings")] + public global::Baseten.UpdateAutoscalingSettingsV1? AutoscalingSettings { get; set; } + + /// + /// Request backpressure settings for the promoted deployment.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("request_backpressure_settings")] + public global::Baseten.UpdateRequestBackpressureSettingsV1? RequestBackpressureSettings { get; set; } + + /// + /// Autoscaling schedule changes for the environment, applied when the promotion completes.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("autoscaling_schedule_settings")] + public global::Baseten.UpdateAutoscalingScheduleSettingsV1? AutoscalingScheduleSettings { get; set; } + + /// + /// Promotion settings for the environment, also used for this promotion.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("promotion_settings")] + public global::Baseten.UpdatePromotionSettingsV1? PromotionSettings { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Region for the promoted deployment, from `GET /v1/teams/{team_id}/regions`. Use an empty string for Global.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// + /// + /// Instance type for the promoted deployment, from `GET /v1/instance_types`.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// + /// + /// Autoscaling settings for the promoted deployment.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// + /// + /// Request backpressure settings for the promoted deployment.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// + /// + /// Autoscaling schedule changes for the environment, applied when the promotion completes.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// + /// + /// Promotion settings for the environment, also used for this promotion.
+ /// Default Value: openapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464 + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public PromotionEnvironmentSettingsUpdateV1( + string? region, + string? instanceTypeId, + global::Baseten.UpdateAutoscalingSettingsV1? autoscalingSettings, + global::Baseten.UpdateRequestBackpressureSettingsV1? requestBackpressureSettings, + global::Baseten.UpdateAutoscalingScheduleSettingsV1? autoscalingScheduleSettings, + global::Baseten.UpdatePromotionSettingsV1? promotionSettings) + { + this.Region = region; + this.InstanceTypeId = instanceTypeId; + this.AutoscalingSettings = autoscalingSettings; + this.RequestBackpressureSettings = requestBackpressureSettings; + this.AutoscalingScheduleSettings = autoscalingScheduleSettings; + this.PromotionSettings = promotionSettings; + } + + /// + /// Initializes a new instance of the class. + /// + public PromotionEnvironmentSettingsUpdateV1() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Baseten/Generated/Baseten.Models.SchedulesItem.g.cs b/src/libs/Baseten/Generated/Baseten.Models.SchedulesItem.g.cs index dedcdfb..e6338ce 100644 --- a/src/libs/Baseten/Generated/Baseten.Models.SchedulesItem.g.cs +++ b/src/libs/Baseten/Generated/Baseten.Models.SchedulesItem.g.cs @@ -12,15 +12,15 @@ namespace Baseten /// /// /// - public global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence? Cadence { get; } + public global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence? Cadence { get; } /// - /// + /// A complete recurring schedule submitted for create or replacement. /// #if NET6_0_OR_GREATER - public global::Baseten.AutoscalingScheduleV1? Daily { get; init; } + public global::Baseten.AutoscalingScheduleUpsertV1? Daily { get; init; } #else - public global::Baseten.AutoscalingScheduleV1? Daily { get; } + public global::Baseten.AutoscalingScheduleUpsertV1? Daily { get; } #endif /// @@ -38,7 +38,7 @@ public bool TryPickDaily( #if NET6_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)] #endif - out global::Baseten.AutoscalingScheduleV1? value) + out global::Baseten.AutoscalingScheduleUpsertV1? value) { value = Daily; return IsDaily; @@ -47,17 +47,17 @@ public bool TryPickDaily( /// /// /// - public global::Baseten.AutoscalingScheduleV1 PickDaily() => Daily is { } value + public global::Baseten.AutoscalingScheduleUpsertV1 PickDaily() => Daily is { } value ? value : throw new global::System.InvalidOperationException($"Expected union variant 'Daily' but the value was {ToString()}."); /// - /// + /// A complete one-time schedule submitted for create or replacement. /// #if NET6_0_OR_GREATER - public global::Baseten.OneTimeAutoscalingScheduleV1? OneTime { get; init; } + public global::Baseten.OneTimeAutoscalingScheduleUpsertV1? OneTime { get; init; } #else - public global::Baseten.OneTimeAutoscalingScheduleV1? OneTime { get; } + public global::Baseten.OneTimeAutoscalingScheduleUpsertV1? OneTime { get; } #endif /// @@ -75,7 +75,7 @@ public bool TryPickOneTime( #if NET6_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)] #endif - out global::Baseten.OneTimeAutoscalingScheduleV1? value) + out global::Baseten.OneTimeAutoscalingScheduleUpsertV1? value) { value = OneTime; return IsOneTime; @@ -84,23 +84,23 @@ public bool TryPickOneTime( /// /// /// - public global::Baseten.OneTimeAutoscalingScheduleV1 PickOneTime() => OneTime is { } value + public global::Baseten.OneTimeAutoscalingScheduleUpsertV1 PickOneTime() => OneTime is { } value ? value : throw new global::System.InvalidOperationException($"Expected union variant 'OneTime' but the value was {ToString()}."); /// /// /// - public static implicit operator SchedulesItem(global::Baseten.AutoscalingScheduleV1 value) => new SchedulesItem((global::Baseten.AutoscalingScheduleV1?)value); + public static implicit operator SchedulesItem(global::Baseten.AutoscalingScheduleUpsertV1 value) => new SchedulesItem((global::Baseten.AutoscalingScheduleUpsertV1?)value); /// /// /// - public static implicit operator global::Baseten.AutoscalingScheduleV1?(SchedulesItem @this) => @this.Daily; + public static implicit operator global::Baseten.AutoscalingScheduleUpsertV1?(SchedulesItem @this) => @this.Daily; /// /// /// - public SchedulesItem(global::Baseten.AutoscalingScheduleV1? value) + public SchedulesItem(global::Baseten.AutoscalingScheduleUpsertV1? value) { Daily = value; } @@ -108,22 +108,22 @@ public SchedulesItem(global::Baseten.AutoscalingScheduleV1? value) /// /// /// - public static SchedulesItem FromDaily(global::Baseten.AutoscalingScheduleV1? value) => new SchedulesItem(value); + public static SchedulesItem FromDaily(global::Baseten.AutoscalingScheduleUpsertV1? value) => new SchedulesItem(value); /// /// /// - public static implicit operator SchedulesItem(global::Baseten.OneTimeAutoscalingScheduleV1 value) => new SchedulesItem((global::Baseten.OneTimeAutoscalingScheduleV1?)value); + public static implicit operator SchedulesItem(global::Baseten.OneTimeAutoscalingScheduleUpsertV1 value) => new SchedulesItem((global::Baseten.OneTimeAutoscalingScheduleUpsertV1?)value); /// /// /// - public static implicit operator global::Baseten.OneTimeAutoscalingScheduleV1?(SchedulesItem @this) => @this.OneTime; + public static implicit operator global::Baseten.OneTimeAutoscalingScheduleUpsertV1?(SchedulesItem @this) => @this.OneTime; /// /// /// - public SchedulesItem(global::Baseten.OneTimeAutoscalingScheduleV1? value) + public SchedulesItem(global::Baseten.OneTimeAutoscalingScheduleUpsertV1? value) { OneTime = value; } @@ -131,15 +131,15 @@ public SchedulesItem(global::Baseten.OneTimeAutoscalingScheduleV1? value) /// /// /// - public static SchedulesItem FromOneTime(global::Baseten.OneTimeAutoscalingScheduleV1? value) => new SchedulesItem(value); + public static SchedulesItem FromOneTime(global::Baseten.OneTimeAutoscalingScheduleUpsertV1? value) => new SchedulesItem(value); /// /// /// public SchedulesItem( - global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence? cadence, - global::Baseten.AutoscalingScheduleV1? daily, - global::Baseten.OneTimeAutoscalingScheduleV1? oneTime + global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence? cadence, + global::Baseten.AutoscalingScheduleUpsertV1? daily, + global::Baseten.OneTimeAutoscalingScheduleUpsertV1? oneTime ) { Cadence = cadence; @@ -176,8 +176,8 @@ public bool Validate() /// /// public TResult? Match( - global::System.Func? daily = null, - global::System.Func? oneTime = null, + global::System.Func? daily = null, + global::System.Func? oneTime = null, bool validate = true) { if (validate) @@ -201,9 +201,9 @@ public bool Validate() /// /// public void Match( - global::System.Action? daily = null, + global::System.Action? daily = null, - global::System.Action? oneTime = null, + global::System.Action? oneTime = null, bool validate = true) { if (validate) @@ -225,8 +225,8 @@ public void Match( /// ///
public void Switch( - global::System.Action? daily = null, - global::System.Action? oneTime = null, + global::System.Action? daily = null, + global::System.Action? oneTime = null, bool validate = true) { if (validate) @@ -252,9 +252,9 @@ public override int GetHashCode() var fields = new object?[] { Daily, - typeof(global::Baseten.AutoscalingScheduleV1), + typeof(global::Baseten.AutoscalingScheduleUpsertV1), OneTime, - typeof(global::Baseten.OneTimeAutoscalingScheduleV1), + typeof(global::Baseten.OneTimeAutoscalingScheduleUpsertV1), }; const int offset = unchecked((int)2166136261); const int prime = 16777619; @@ -271,8 +271,8 @@ static int HashCodeAggregator(int hashCode, object? value) => value == null public bool Equals(SchedulesItem other) { return - global::System.Collections.Generic.EqualityComparer.Default.Equals(Daily, other.Daily) && - global::System.Collections.Generic.EqualityComparer.Default.Equals(OneTime, other.OneTime) + global::System.Collections.Generic.EqualityComparer.Default.Equals(Daily, other.Daily) && + global::System.Collections.Generic.EqualityComparer.Default.Equals(OneTime, other.OneTime) ; } diff --git a/src/libs/Baseten/Generated/Baseten.Models.SchedulesItem2.g.cs b/src/libs/Baseten/Generated/Baseten.Models.SchedulesItem2.g.cs index b426c6f..6c8f545 100644 --- a/src/libs/Baseten/Generated/Baseten.Models.SchedulesItem2.g.cs +++ b/src/libs/Baseten/Generated/Baseten.Models.SchedulesItem2.g.cs @@ -12,15 +12,15 @@ namespace Baseten /// /// /// - public global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence? Cadence { get; } + public global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence? Cadence { get; } /// - /// A complete recurring schedule submitted for create or replacement. + /// /// #if NET6_0_OR_GREATER - public global::Baseten.AutoscalingScheduleUpsertV1? Daily { get; init; } + public global::Baseten.AutoscalingScheduleV1? Daily { get; init; } #else - public global::Baseten.AutoscalingScheduleUpsertV1? Daily { get; } + public global::Baseten.AutoscalingScheduleV1? Daily { get; } #endif /// @@ -38,7 +38,7 @@ public bool TryPickDaily( #if NET6_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)] #endif - out global::Baseten.AutoscalingScheduleUpsertV1? value) + out global::Baseten.AutoscalingScheduleV1? value) { value = Daily; return IsDaily; @@ -47,17 +47,17 @@ public bool TryPickDaily( /// /// /// - public global::Baseten.AutoscalingScheduleUpsertV1 PickDaily() => Daily is { } value + public global::Baseten.AutoscalingScheduleV1 PickDaily() => Daily is { } value ? value : throw new global::System.InvalidOperationException($"Expected union variant 'Daily' but the value was {ToString()}."); /// - /// A complete one-time schedule submitted for create or replacement. + /// /// #if NET6_0_OR_GREATER - public global::Baseten.OneTimeAutoscalingScheduleUpsertV1? OneTime { get; init; } + public global::Baseten.OneTimeAutoscalingScheduleV1? OneTime { get; init; } #else - public global::Baseten.OneTimeAutoscalingScheduleUpsertV1? OneTime { get; } + public global::Baseten.OneTimeAutoscalingScheduleV1? OneTime { get; } #endif /// @@ -75,7 +75,7 @@ public bool TryPickOneTime( #if NET6_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.NotNullWhen(true)] #endif - out global::Baseten.OneTimeAutoscalingScheduleUpsertV1? value) + out global::Baseten.OneTimeAutoscalingScheduleV1? value) { value = OneTime; return IsOneTime; @@ -84,23 +84,23 @@ public bool TryPickOneTime( /// /// /// - public global::Baseten.OneTimeAutoscalingScheduleUpsertV1 PickOneTime() => OneTime is { } value + public global::Baseten.OneTimeAutoscalingScheduleV1 PickOneTime() => OneTime is { } value ? value : throw new global::System.InvalidOperationException($"Expected union variant 'OneTime' but the value was {ToString()}."); /// /// /// - public static implicit operator SchedulesItem2(global::Baseten.AutoscalingScheduleUpsertV1 value) => new SchedulesItem2((global::Baseten.AutoscalingScheduleUpsertV1?)value); + public static implicit operator SchedulesItem2(global::Baseten.AutoscalingScheduleV1 value) => new SchedulesItem2((global::Baseten.AutoscalingScheduleV1?)value); /// /// /// - public static implicit operator global::Baseten.AutoscalingScheduleUpsertV1?(SchedulesItem2 @this) => @this.Daily; + public static implicit operator global::Baseten.AutoscalingScheduleV1?(SchedulesItem2 @this) => @this.Daily; /// /// /// - public SchedulesItem2(global::Baseten.AutoscalingScheduleUpsertV1? value) + public SchedulesItem2(global::Baseten.AutoscalingScheduleV1? value) { Daily = value; } @@ -108,22 +108,22 @@ public SchedulesItem2(global::Baseten.AutoscalingScheduleUpsertV1? value) /// /// /// - public static SchedulesItem2 FromDaily(global::Baseten.AutoscalingScheduleUpsertV1? value) => new SchedulesItem2(value); + public static SchedulesItem2 FromDaily(global::Baseten.AutoscalingScheduleV1? value) => new SchedulesItem2(value); /// /// /// - public static implicit operator SchedulesItem2(global::Baseten.OneTimeAutoscalingScheduleUpsertV1 value) => new SchedulesItem2((global::Baseten.OneTimeAutoscalingScheduleUpsertV1?)value); + public static implicit operator SchedulesItem2(global::Baseten.OneTimeAutoscalingScheduleV1 value) => new SchedulesItem2((global::Baseten.OneTimeAutoscalingScheduleV1?)value); /// /// /// - public static implicit operator global::Baseten.OneTimeAutoscalingScheduleUpsertV1?(SchedulesItem2 @this) => @this.OneTime; + public static implicit operator global::Baseten.OneTimeAutoscalingScheduleV1?(SchedulesItem2 @this) => @this.OneTime; /// /// /// - public SchedulesItem2(global::Baseten.OneTimeAutoscalingScheduleUpsertV1? value) + public SchedulesItem2(global::Baseten.OneTimeAutoscalingScheduleV1? value) { OneTime = value; } @@ -131,15 +131,15 @@ public SchedulesItem2(global::Baseten.OneTimeAutoscalingScheduleUpsertV1? value) /// /// /// - public static SchedulesItem2 FromOneTime(global::Baseten.OneTimeAutoscalingScheduleUpsertV1? value) => new SchedulesItem2(value); + public static SchedulesItem2 FromOneTime(global::Baseten.OneTimeAutoscalingScheduleV1? value) => new SchedulesItem2(value); /// /// /// public SchedulesItem2( - global::Baseten.UpdateAutoscalingScheduleSettingsV1ScheduleDiscriminatorCadence? cadence, - global::Baseten.AutoscalingScheduleUpsertV1? daily, - global::Baseten.OneTimeAutoscalingScheduleUpsertV1? oneTime + global::Baseten.EnvironmentAutoscalingSchedulesV1ScheduleDiscriminatorCadence? cadence, + global::Baseten.AutoscalingScheduleV1? daily, + global::Baseten.OneTimeAutoscalingScheduleV1? oneTime ) { Cadence = cadence; @@ -176,8 +176,8 @@ public bool Validate() /// /// public TResult? Match( - global::System.Func? daily = null, - global::System.Func? oneTime = null, + global::System.Func? daily = null, + global::System.Func? oneTime = null, bool validate = true) { if (validate) @@ -201,9 +201,9 @@ public bool Validate() /// /// public void Match( - global::System.Action? daily = null, + global::System.Action? daily = null, - global::System.Action? oneTime = null, + global::System.Action? oneTime = null, bool validate = true) { if (validate) @@ -225,8 +225,8 @@ public void Match( /// ///
public void Switch( - global::System.Action? daily = null, - global::System.Action? oneTime = null, + global::System.Action? daily = null, + global::System.Action? oneTime = null, bool validate = true) { if (validate) @@ -252,9 +252,9 @@ public override int GetHashCode() var fields = new object?[] { Daily, - typeof(global::Baseten.AutoscalingScheduleUpsertV1), + typeof(global::Baseten.AutoscalingScheduleV1), OneTime, - typeof(global::Baseten.OneTimeAutoscalingScheduleUpsertV1), + typeof(global::Baseten.OneTimeAutoscalingScheduleV1), }; const int offset = unchecked((int)2166136261); const int prime = 16777619; @@ -271,8 +271,8 @@ static int HashCodeAggregator(int hashCode, object? value) => value == null public bool Equals(SchedulesItem2 other) { return - global::System.Collections.Generic.EqualityComparer.Default.Equals(Daily, other.Daily) && - global::System.Collections.Generic.EqualityComparer.Default.Equals(OneTime, other.OneTime) + global::System.Collections.Generic.EqualityComparer.Default.Equals(Daily, other.Daily) && + global::System.Collections.Generic.EqualityComparer.Default.Equals(OneTime, other.OneTime) ; } diff --git a/src/libs/Baseten/Generated/Baseten.Models.UpdateAutoscalingScheduleSettingsV1.g.cs b/src/libs/Baseten/Generated/Baseten.Models.UpdateAutoscalingScheduleSettingsV1.g.cs index 30d8778..adfdbb2 100644 --- a/src/libs/Baseten/Generated/Baseten.Models.UpdateAutoscalingScheduleSettingsV1.g.cs +++ b/src/libs/Baseten/Generated/Baseten.Models.UpdateAutoscalingScheduleSettingsV1.g.cs @@ -19,7 +19,7 @@ public sealed partial class UpdateAutoscalingScheduleSettingsV1 /// Complete schedules to create or replace. Existing schedules omitted from this list are unchanged. /// [global::System.Text.Json.Serialization.JsonPropertyName("schedules")] - public global::System.Collections.Generic.IList? Schedules { get; set; } + public global::System.Collections.Generic.IList? Schedules { get; set; } /// /// Stable identifiers of schedules to delete. To clear all schedules, include every existing schedule identifier. @@ -51,7 +51,7 @@ public sealed partial class UpdateAutoscalingScheduleSettingsV1 #endif public UpdateAutoscalingScheduleSettingsV1( string? timezone, - global::System.Collections.Generic.IList? schedules, + global::System.Collections.Generic.IList? schedules, global::System.Collections.Generic.IList? deleteSchedules) { this.Timezone = timezone; diff --git a/src/libs/Baseten/openapi.yaml b/src/libs/Baseten/openapi.yaml index 9d86cfc..0dbd725 100644 --- a/src/libs/Baseten/openapi.yaml +++ b/src/libs/Baseten/openapi.yaml @@ -2590,11 +2590,11 @@ "x-codeSamples": [ { "lang": "bash", - "source": "curl --request POST \\\n--url https://api.baseten.co/v1/models/{model_id}/deployments/development/promote \\\n--header \"Authorization: Bearer $BASETEN_API_KEY\" \\\n--data '{\n \"scale_down_previous_production\": true,\n \"preserve_env_instance_type\": true\n}'" + "source": "curl --request POST \\\n--url https://api.baseten.co/v1/models/{model_id}/deployments/development/promote \\\n--header \"Authorization: Bearer $BASETEN_API_KEY\" \\\n--data '{\n \"scale_down_previous_production\": true,\n \"preserve_env_instance_type\": true,\n \"environment_settings_update\": {\n \"autoscaling_settings\": {\n \"max_replica\": 4,\n \"min_replica\": 2\n }\n },\n \"promotion_settings_override\": {\n \"rolling_deploy_config\": {\n \"max_surge_percent\": 50\n }\n }\n}'" }, { "lang": "python", - "source": "import requests\nimport os\nAPI_KEY = os.environ.get(\"BASETEN_API_KEY\", \"\")\nurl = \"https://api.baseten.co/v1/models/{model_id}/deployments/development/promote\"\n\nheaders = {\"Authorization\": f\"Bearer {API_KEY}\"}\n\nresponse = requests.request(\n \"POST\",\n url,\n headers=headers,\n json={'scale_down_previous_production': True, 'preserve_env_instance_type': True}\n)\n\nprint(response.text)" + "source": "import requests\nimport os\nAPI_KEY = os.environ.get(\"BASETEN_API_KEY\", \"\")\nurl = \"https://api.baseten.co/v1/models/{model_id}/deployments/development/promote\"\n\nheaders = {\"Authorization\": f\"Bearer {API_KEY}\"}\n\nresponse = requests.request(\n \"POST\",\n url,\n headers=headers,\n json={'scale_down_previous_production': True, 'preserve_env_instance_type': True, 'environment_settings_update': {'autoscaling_settings': {'max_replica': 4, 'min_replica': 2}}, 'promotion_settings_override': {'rolling_deploy_config': {'max_surge_percent': 50}}}\n)\n\nprint(response.text)" } ], "description": "Creates a new production deployment from the development deployment and returns the deployment that is building.", @@ -2633,11 +2633,11 @@ "x-codeSamples": [ { "lang": "bash", - "source": "curl --request POST \\\n--url https://api.baseten.co/v1/models/{model_id}/deployments/{deployment_id}/promote \\\n--header \"Authorization: Bearer $BASETEN_API_KEY\" \\\n--data '{\n \"scale_down_previous_production\": true,\n \"preserve_env_instance_type\": true\n}'" + "source": "curl --request POST \\\n--url https://api.baseten.co/v1/models/{model_id}/deployments/{deployment_id}/promote \\\n--header \"Authorization: Bearer $BASETEN_API_KEY\" \\\n--data '{\n \"scale_down_previous_production\": true,\n \"preserve_env_instance_type\": true,\n \"environment_settings_update\": {\n \"autoscaling_settings\": {\n \"max_replica\": 4,\n \"min_replica\": 2\n }\n },\n \"promotion_settings_override\": {\n \"rolling_deploy_config\": {\n \"max_surge_percent\": 50\n }\n }\n}'" }, { "lang": "python", - "source": "import requests\nimport os\nAPI_KEY = os.environ.get(\"BASETEN_API_KEY\", \"\")\nurl = \"https://api.baseten.co/v1/models/{model_id}/deployments/{deployment_id}/promote\"\n\nheaders = {\"Authorization\": f\"Bearer {API_KEY}\"}\n\nresponse = requests.request(\n \"POST\",\n url,\n headers=headers,\n json={'scale_down_previous_production': True, 'preserve_env_instance_type': True}\n)\n\nprint(response.text)" + "source": "import requests\nimport os\nAPI_KEY = os.environ.get(\"BASETEN_API_KEY\", \"\")\nurl = \"https://api.baseten.co/v1/models/{model_id}/deployments/{deployment_id}/promote\"\n\nheaders = {\"Authorization\": f\"Bearer {API_KEY}\"}\n\nresponse = requests.request(\n \"POST\",\n url,\n headers=headers,\n json={'scale_down_previous_production': True, 'preserve_env_instance_type': True, 'environment_settings_update': {'autoscaling_settings': {'max_replica': 4, 'min_replica': 2}}, 'promotion_settings_override': {'rolling_deploy_config': {'max_surge_percent': 50}}}\n)\n\nprint(response.text)" } ], "description": "Promotes an existing deployment to production and returns the same deployment.", @@ -4760,11 +4760,11 @@ "x-codeSamples": [ { "lang": "bash", - "source": "curl --request POST \\\n--url https://api.baseten.co/v1/models/{model_id}/environments/{env_name}/promote \\\n--header \"Authorization: Bearer $BASETEN_API_KEY\" \\\n--data '{\n \"scale_down_previous_deployment\": true,\n \"deployment_id\": null,\n \"preserve_env_instance_type\": true\n}'" + "source": "curl --request POST \\\n--url https://api.baseten.co/v1/models/{model_id}/environments/{env_name}/promote \\\n--header \"Authorization: Bearer $BASETEN_API_KEY\" \\\n--data '{\n \"scale_down_previous_deployment\": true,\n \"deployment_id\": null,\n \"preserve_env_instance_type\": true,\n \"environment_settings_update\": {\n \"autoscaling_settings\": {\n \"max_replica\": 4,\n \"min_replica\": 2\n }\n },\n \"promotion_settings_override\": {\n \"rolling_deploy_config\": {\n \"max_surge_percent\": 50\n }\n }\n}'" }, { "lang": "python", - "source": "import requests\nimport os\nAPI_KEY = os.environ.get(\"BASETEN_API_KEY\", \"\")\nurl = \"https://api.baseten.co/v1/models/{model_id}/environments/{env_name}/promote\"\n\nheaders = {\"Authorization\": f\"Bearer {API_KEY}\"}\n\nresponse = requests.request(\n \"POST\",\n url,\n headers=headers,\n json={'scale_down_previous_deployment': True, 'deployment_id': None, 'preserve_env_instance_type': True}\n)\n\nprint(response.text)" + "source": "import requests\nimport os\nAPI_KEY = os.environ.get(\"BASETEN_API_KEY\", \"\")\nurl = \"https://api.baseten.co/v1/models/{model_id}/environments/{env_name}/promote\"\n\nheaders = {\"Authorization\": f\"Bearer {API_KEY}\"}\n\nresponse = requests.request(\n \"POST\",\n url,\n headers=headers,\n json={'scale_down_previous_deployment': True, 'deployment_id': None, 'preserve_env_instance_type': True, 'environment_settings_update': {'autoscaling_settings': {'max_replica': 4, 'min_replica': 2}}, 'promotion_settings_override': {'rolling_deploy_config': {'max_surge_percent': 50}}}\n)\n\nprint(response.text)" } ], "description": "Promotes an existing deployment to an environment and returns the promoted deployment.", @@ -20863,284 +20863,157 @@ "title": "UpdateRequestBackpressureSettingsV1", "type": "object" }, - "PromoteRequestV1": { - "description": "A request to promote a deployment to production.", - "properties": { - "scale_down_previous_production": { - "default": true, - "description": "Whether to scale down the previous production deployment after promoting", - "examples": [ - true - ], - "title": "Scale Down Previous Production", - "type": "boolean" - }, - "preserve_env_instance_type": { - "default": true, - "description": "Whether to use the promoting deployment's instance type or preserve target environment's instance type", - "examples": [ - true - ], - "title": "Preserve Env Instance Type", - "type": "boolean" - } - }, - "title": "PromoteRequestV1", - "type": "object" - }, - "ActivateResponseV1": { - "description": "The response to a request to activate a deployment.", - "properties": { - "success": { - "default": true, - "description": "Whether the deployment was successfully activated", - "title": "Success", - "type": "boolean" - }, - "no_op": { - "default": false, - "description": "Whether the request did nothing because the deployment was already active or on its way to becoming active", - "title": "No Op", - "type": "boolean" - } - }, - "title": "ActivateResponseV1", - "type": "object" - }, - "DeactivateResponseV1": { - "description": "The response to a request to deactivate a deployment.", + "AutoscalingScheduleSettingsRequestV1": { + "additionalProperties": false, + "description": "A complete set of raw autoscaling overrides for a schedule.", "properties": { - "success": { - "default": true, - "description": "Whether the deployment was successfully deactivated", - "title": "Success", - "type": "boolean" + "min_replica": { + "description": "Minimum number of replicas", + "title": "Min Replica", + "type": "integer" }, - "no_op": { - "default": false, - "description": "Whether the request did nothing because the deployment was already inactive", - "title": "No Op", - "type": "boolean" - } - }, - "title": "DeactivateResponseV1", - "type": "object" - }, - "RetryDeploymentResponseV1": { - "description": "The response to a request to retry a deployment.", - "properties": { - "retried": { - "description": "Whether the retry was successfully initiated", - "title": "Retried", - "type": "boolean" + "max_replica": { + "description": "Maximum number of replicas", + "title": "Max Replica", + "type": "integer" }, - "reason": { + "autoscaling_window": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], - "default": null, - "description": "Explanation of the result. Provided when retried is false to explain why retry was not possible.", - "title": "Reason" + "description": "Timeframe of traffic considered for autoscaling decisions. Null stores no schedule override and follows the current environment value.", + "title": "Autoscaling Window" }, - "deployment": { - "$ref": "#/components/schemas/DeploymentV1", - "description": "The deployment that was retried" - } - }, - "required": [ - "retried", - "deployment" - ], - "title": "RetryDeploymentResponseV1", - "type": "object" - }, - "DownloadDeploymentResponseV1": { - "description": "The response to a request to download a deployment's truss.", - "properties": { - "download_url": { - "description": "Presigned URL to download the truss tar file", - "title": "Download Url", - "type": "string" - } - }, - "required": [ - "download_url" - ], - "title": "DownloadDeploymentResponseV1", - "type": "object" - }, - "DeploymentConfigResponseV1": { - "description": "The config of a deployment. Fields are populated per `output_format`.", - "properties": { - "config": { + "scale_down_delay": { "anyOf": [ { - "additionalProperties": true, - "type": "object" + "type": "integer" }, { "type": "null" } ], - "default": null, - "description": "The parsed config of the deployment.", - "title": "Config" + "description": "Waiting period before scaling down any active replica. Null stores no schedule override and follows the current environment value.", + "title": "Scale Down Delay" }, - "raw_config": { + "concurrency_target": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], - "default": null, - "description": "The original config.yaml text \u2014 preserves comments, ordering, formatting.", - "title": "Raw Config" - } - }, - "title": "DeploymentConfigResponseV1", - "type": "object" - }, - "DeploymentConfigOutputFormat": { - "enum": [ - "raw", - "parsed", - "both" - ], - "title": "DeploymentConfigOutputFormat", - "type": "string" - }, - "GetDeploymentConfigRequestV1": { - "description": "Query params for ``GET /v1/models/.../deployments/.../config``.", - "properties": { - "output_format": { - "$ref": "#/components/schemas/DeploymentConfigOutputFormat", - "default": "both", - "description": "'raw': verbatim config.yaml with comments (not available for deployments created before 2026-04-30). 'parsed': dict with server-side defaults applied (always available). 'both': both fields populated." - } - }, - "title": "GetDeploymentConfigRequestV1", - "type": "object" - }, - "LogLevelV1": { - "description": "A log severity level.", - "enum": [ - "DEBUG", - "INFO", - "WARNING", - "ERROR" - ], - "title": "LogLevelV1", - "type": "string" - }, - "LogV1": { - "properties": { - "timestamp": { - "description": "Epoch nanosecond timestamp of the log message.", - "title": "Timestamp", - "type": "string" - }, - "message": { - "description": "The contents of the log message. When the logger captured an exception, the traceback is appended after the message.", - "title": "Message", - "type": "string" + "description": "Number of requests per replica before scaling up. Null stores no schedule override and follows the current environment value.", + "title": "Concurrency Target" }, - "replica": { + "target_utilization_percentage": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], - "description": "The replica the log line was emitted from.", - "title": "Replica" + "description": "Target utilization percentage for scaling up/down. Null stores no schedule override and follows the current environment value.", + "title": "Target Utilization Percentage" }, - "request_id": { + "target_in_flight_tokens": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], - "default": null, - "description": "The request ID associated with an inference request.", - "title": "Request Id" + "description": "Target number of in-flight tokens for autoscaling decisions. Null stores no schedule override and follows the current environment value. Early access only.", + "title": "Target In Flight Tokens" }, - "level": { + "max_scale_down_rate": { "anyOf": [ { - "$ref": "#/components/schemas/LogLevelV1" + "maximum": 50, + "minimum": 1, + "type": "integer" }, { "type": "null" } ], - "default": null, - "description": "Severity of the log line, if one was detected. null when unknown." - } - }, - "required": [ - "timestamp", - "message", - "replica" - ], - "title": "LogV1", - "type": "object" - }, - "GetLogsResponseV1": { - "description": "A response to querying logs.", - "properties": { - "logs": { - "description": "Logs for a specific entity.", - "items": { - "$ref": "#/components/schemas/LogV1" - }, - "title": "Logs", - "type": "array" + "description": "Maximum percentage of replicas that can be removed per autoscaling window. Null stores no schedule override and follows the current environment value.", + "title": "Max Scale Down Rate" } }, "required": [ - "logs" + "min_replica", + "max_replica", + "autoscaling_window", + "scale_down_delay", + "concurrency_target", + "target_utilization_percentage", + "target_in_flight_tokens", + "max_scale_down_rate" ], - "title": "GetLogsResponseV1", + "title": "AutoscalingScheduleSettingsRequestV1", "type": "object" }, - "SortOrderV1": { - "enum": [ - "asc", - "desc" - ], - "title": "SortOrderV1", - "type": "string" - }, - "GetDeploymentLogsRequestV1": { - "description": "A request to fetch deployment logs.", + "AutoscalingScheduleUpsertV1": { + "additionalProperties": false, + "description": "A complete recurring schedule submitted for create or replacement.", "properties": { - "start_epoch_millis": { + "id": { "anyOf": [ { - "type": "integer" + "type": "string" }, { "type": "null" } ], "default": null, - "description": "Epoch milliseconds at which to start fetching logs. Defaults to 30 minutes before the end. The window from start to end must not exceed 7 days.", - "title": "Start Epoch Millis" + "description": "Stable schedule identifier. Omit this field to create a schedule.", + "title": "Id" }, - "end_epoch_millis": { + "name": { + "description": "Name of the schedule", + "title": "Name", + "type": "string" + }, + "enabled": { + "description": "Whether the schedule is enabled", + "title": "Enabled", + "type": "boolean" + }, + "autoscaling_settings": { + "$ref": "#/components/schemas/AutoscalingScheduleSettingsRequestV1", + "description": "Complete raw autoscaling overrides for the schedule. Every field is required; nullable fields store no schedule override and follow the current environment value." + }, + "cadence": { + "description": "Recurring schedule cadence", + "enum": [ + "DAILY", + "HOURLY" + ], + "title": "Cadence", + "type": "string" + }, + "weekdays": { + "description": "Weekdays on which the schedule runs", + "items": { + "$ref": "#/components/schemas/AutoscalingScheduleWeekdayV1" + }, + "title": "Weekdays", + "type": "array" + }, + "start_hour": { "anyOf": [ { "type": "integer" @@ -21150,52 +21023,148 @@ } ], "default": null, - "description": "Epoch milliseconds at which to stop fetching logs. Defaults to the current time.", - "title": "End Epoch Millis" + "description": "Start hour in the environment schedule timezone. Omit for unrestricted HOURLY schedules.", + "title": "Start Hour" }, - "direction": { + "start_minute": { + "description": "Start minute of the schedule window", + "title": "Start Minute", + "type": "integer" + }, + "end_hour": { "anyOf": [ { - "$ref": "#/components/schemas/SortOrderV1" + "type": "integer" }, { "type": "null" } ], "default": null, - "description": "Sort order for logs" + "description": "End hour in the environment schedule timezone. Omit for unrestricted HOURLY schedules.", + "title": "End Hour" }, - "limit": { + "end_minute": { + "description": "End minute of the schedule window", + "title": "End Minute", + "type": "integer" + } + }, + "required": [ + "name", + "enabled", + "autoscaling_settings", + "cadence", + "weekdays", + "start_minute", + "end_minute" + ], + "title": "AutoscalingScheduleUpsertV1", + "type": "object" + }, + "AutoscalingScheduleWeekdayV1": { + "enum": [ + "SUNDAY", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY" + ], + "title": "AutoscalingScheduleWeekdayV1", + "type": "string" + }, + "OneTimeAutoscalingScheduleUpsertV1": { + "additionalProperties": false, + "description": "A complete one-time schedule submitted for create or replacement.", + "properties": { + "id": { "anyOf": [ { - "maximum": 1000, - "minimum": 1, - "type": "integer" + "type": "string" }, { "type": "null" } ], - "default": 500, - "description": "Limit of logs to fetch in a single request", - "title": "Limit" + "default": null, + "description": "Stable schedule identifier. Omit this field to create a schedule.", + "title": "Id" }, - "min_level": { + "name": { + "description": "Name of the schedule", + "title": "Name", + "type": "string" + }, + "enabled": { + "description": "Whether the schedule is enabled", + "title": "Enabled", + "type": "boolean" + }, + "autoscaling_settings": { + "$ref": "#/components/schemas/AutoscalingScheduleSettingsRequestV1", + "description": "Complete raw autoscaling overrides for the schedule. Every field is required; nullable fields store no schedule override and follow the current environment value." + }, + "cadence": { + "const": "ONE_TIME", + "description": "One-time schedule cadence", + "title": "Cadence", + "type": "string" + }, + "start_at": { + "description": "Inclusive start of the schedule window in ISO 8601 format. New schedules must start in the future.", + "format": "date-time", + "title": "Start At", + "type": "string" + }, + "end_at": { + "description": "Exclusive end of the schedule window in ISO 8601 format", + "format": "date-time", + "title": "End At", + "type": "string" + } + }, + "required": [ + "name", + "enabled", + "autoscaling_settings", + "cadence", + "start_at", + "end_at" + ], + "title": "OneTimeAutoscalingScheduleUpsertV1", + "type": "object" + }, + "PromotionCleanupStrategyV1": { + "description": "The promotion cleanup strategy.", + "enum": [ + "KEEP", + "SCALE_TO_ZERO", + "DEACTIVATE" + ], + "title": "PromotionCleanupStrategyV1", + "type": "string" + }, + "PromotionEnvironmentSettingsUpdateV1": { + "description": "Changes to an environment's settings, applied to a promoted deployment.", + "properties": { + "region": { "anyOf": [ { - "$ref": "#/components/schemas/LogLevelV1" + "type": "string" }, { "type": "null" } ], "default": null, - "description": "Minimum log severity to include. Omit to return all log lines, including lines that have no level. Any explicit value returns lines at or above that severity and drops lines without a level." + "description": "Region for the promoted deployment, from `GET /v1/teams/{team_id}/regions`. Use an empty string for Global.", + "title": "Region" }, - "replica": { + "instance_type_id": { "anyOf": [ { - "maxLength": 256, "type": "string" }, { @@ -21203,301 +21172,980 @@ } ], "default": null, - "description": "Only return logs emitted by this replica (5-char short ID).", - "title": "Replica" + "description": "Instance type for the promoted deployment, from `GET /v1/instance_types`.", + "title": "Instance Type Id" }, - "request_id": { + "autoscaling_settings": { "anyOf": [ { - "maxLength": 256, - "type": "string" + "$ref": "#/components/schemas/UpdateAutoscalingSettingsV1" }, { "type": "null" } ], "default": null, - "description": "Only return logs tagged with this inference request ID.", - "title": "Request Id" + "description": "Autoscaling settings for the promoted deployment." }, - "component": { + "request_backpressure_settings": { "anyOf": [ { - "maxLength": 256, - "type": "string" + "$ref": "#/components/schemas/UpdateRequestBackpressureSettingsV1" }, { "type": "null" } ], "default": null, - "description": "Only return logs from this component.", - "title": "Component" + "description": "Request backpressure settings for the promoted deployment." }, - "search_pattern": { + "autoscaling_schedule_settings": { "anyOf": [ { - "maxLength": 256, - "type": "string" + "$ref": "#/components/schemas/UpdateAutoscalingScheduleSettingsV1" }, { "type": "null" } ], "default": null, - "description": "RE2 regular expression matched against the log message. Prefer `includes` and `excludes` for plain substring matches.", - "title": "Search Pattern" - }, - "includes": { - "description": "Case-sensitive substrings that must all appear in the log message.", - "items": { - "type": "string" - }, - "maxItems": 8, - "title": "Includes", - "type": "array" + "description": "Autoscaling schedule changes for the environment, applied when the promotion completes." }, - "excludes": { - "description": "Case-sensitive substrings; lines containing any of these are dropped.", - "items": { - "type": "string" - }, - "maxItems": 8, - "title": "Excludes", - "type": "array" + "promotion_settings": { + "anyOf": [ + { + "$ref": "#/components/schemas/UpdatePromotionSettingsV1" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Promotion settings for the environment, also used for this promotion." } }, - "title": "GetDeploymentLogsRequestV1", + "title": "PromotionEnvironmentSettingsUpdateV1", "type": "object" }, - "DeploymentPatchActionV1": { - "description": "How a patch op changes its target.", + "RollingDeployStrategyV1": { + "description": "The rolling deploy strategy.", "enum": [ - "ADD", - "UPDATE", - "REMOVE" + "REPLICA" ], - "title": "DeploymentPatchActionV1", + "title": "RollingDeployStrategyV1", "type": "string" }, - "DeploymentPatchOpConfigV1": { - "description": "Replace the config when config.yaml changes.\n\nConfig has no action: it is always a full replacement of the parsed config.\nDerived changes (environment variables, external data, requirements) are\nemitted as their own ops alongside this one.", + "UpdateAutoscalingScheduleSettingsV1": { + "additionalProperties": false, + "description": "Partial mutation of an environment's autoscaling schedule collection.", "properties": { - "type": { - "const": "config", - "default": "config", - "title": "Type", - "type": "string" + "timezone": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "IANA timezone shared by the resulting collection. Omission preserves the current timezone; null is allowed only when deleting every schedule.", + "title": "Timezone", + "x-null-distinct": true }, - "config": { - "additionalProperties": true, - "description": "The full parsed config as a JSON object.", - "title": "Config", - "type": "object" + "schedules": { + "description": "Complete schedules to create or replace. Existing schedules omitted from this list are unchanged.", + "items": { + "discriminator": { + "mapping": { + "DAILY": "#/components/schemas/AutoscalingScheduleUpsertV1", + "HOURLY": "#/components/schemas/AutoscalingScheduleUpsertV1", + "ONE_TIME": "#/components/schemas/OneTimeAutoscalingScheduleUpsertV1" + }, + "propertyName": "cadence" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/AutoscalingScheduleUpsertV1" + }, + { + "$ref": "#/components/schemas/OneTimeAutoscalingScheduleUpsertV1" + } + ] + }, + "title": "Schedules", + "type": "array" }, - "path": { - "default": "config.yaml", - "description": "Config file path within the source.", - "title": "Path", - "type": "string" + "delete_schedules": { + "description": "Stable identifiers of schedules to delete. To clear all schedules, include every existing schedule identifier.", + "items": { + "type": "string" + }, + "title": "Delete Schedules", + "type": "array" } }, - "required": [ - "config" - ], - "title": "DeploymentPatchOpConfigV1", + "title": "UpdateAutoscalingScheduleSettingsV1", "type": "object" }, - "DeploymentPatchOpEnvVarV1": { - "description": "Add, update, or remove a single environment variable.", + "UpdatePromotionSettingsV1": { + "description": "Promotion settings for model promotion", "properties": { - "type": { - "const": "environment_variable", - "default": "environment_variable", - "title": "Type", - "type": "string" - }, - "action": { - "$ref": "#/components/schemas/DeploymentPatchActionV1", - "description": "How this op changes the variable." - }, - "name": { - "description": "The environment variable name.", - "title": "Name", - "type": "string" - }, - "value": { + "redeploy_on_promotion": { "anyOf": [ { - "type": "string" + "type": "boolean" }, { "type": "null" } ], "default": null, - "description": "The environment variable value. Required for add and update.", - "title": "Value" - } - }, - "required": [ - "action", - "name" - ], - "title": "DeploymentPatchOpEnvVarV1", - "type": "object" - }, - "DeploymentPatchOpExternalDataV1": { - "description": "Add, update, or remove a single external data item.\n\nExternal data is referenced by config, not stored in the source. The backend\nonly adds or removes it, where adding re-downloads (overwriting any existing\nfile), so `update` is accepted and treated identically to `add`.", - "properties": { - "type": { - "const": "external_data", - "default": "external_data", - "title": "Type", - "type": "string" - }, - "action": { - "$ref": "#/components/schemas/DeploymentPatchActionV1", - "description": "How this op changes the item. `UPDATE` is treated identically to `ADD`." - }, - "item": { - "additionalProperties": { - "type": "string" - }, - "description": "The single external data item descriptor.", - "title": "Item", - "type": "object" - } - }, - "required": [ - "action", - "item" - ], - "title": "DeploymentPatchOpExternalDataV1", - "type": "object" - }, - "DeploymentPatchOpModelCodeV1": { - "description": "Add, update, or remove a file under the model code directory.", - "properties": { - "type": { - "const": "model_code", - "default": "model_code", - "title": "Type", - "type": "string" + "description": "Whether to deploy on all promotions. Enabling this flag allows model code to safely handle environment-specific logic. When a deployment is promoted, a new deployment will be created with a copy of the image.", + "examples": [ + true + ], + "title": "Redeploy On Promotion" }, - "action": { - "$ref": "#/components/schemas/DeploymentPatchActionV1", - "description": "How this op changes the file." + "rolling_deploy": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Whether the environment should rely on rolling deploy orchestration.", + "examples": [ + true + ], + "title": "Rolling Deploy" }, - "path": { - "description": "File path relative to the model code directory.", - "title": "Path", - "type": "string" + "promotion_cleanup_strategy": { + "anyOf": [ + { + "$ref": "#/components/schemas/PromotionCleanupStrategyV1" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The cleanup strategy to use after a promotion completes.", + "examples": [ + "SCALE_TO_ZERO" + ] }, - "content": { + "rolling_deploy_config": { "anyOf": [ { - "type": "string" + "$ref": "#/components/schemas/UpdateRollingDeployConfigV1" }, { "type": "null" } ], "default": null, - "description": "UTF-8 file content. Null for removals and binary files.", - "title": "Content" + "description": "Rolling deploy configuration for promotions" }, - "content_bytes": { + "ramp_up_while_promoting": { "anyOf": [ { - "type": "string" + "type": "boolean" }, { "type": "null" } ], "default": null, - "description": "Base64-encoded content for binary files.", - "title": "Content Bytes" + "description": "Whether to ramp up traffic while promoting", + "examples": [ + true + ], + "title": "Ramp Up While Promoting" }, - "hot_reload": { - "default": false, - "description": "Whether the running server can pick up this change without a restart.", - "title": "Hot Reload", - "type": "boolean" + "ramp_up_duration_seconds": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Duration of the ramp up in seconds", + "examples": [ + 600 + ], + "title": "Ramp Up Duration Seconds" } }, - "required": [ - "action", - "path" - ], - "title": "DeploymentPatchOpModelCodeV1", + "title": "UpdatePromotionSettingsV1", "type": "object" }, - "DeploymentPatchOpPackageV1": { - "description": "Add, update, or remove a file under the bundled packages directory.", + "UpdateRollingDeployConfigV1": { + "description": "Rolling deploy config for promoting chains and oracles", "properties": { - "type": { - "const": "package", - "default": "package", - "title": "Type", - "type": "string" - }, - "action": { - "$ref": "#/components/schemas/DeploymentPatchActionV1", - "description": "How this op changes the file." - }, - "path": { - "description": "File path relative to the bundled packages directory.", - "title": "Path", - "type": "string" - }, - "content": { + "rolling_deploy_strategy": { "anyOf": [ { - "type": "string" + "$ref": "#/components/schemas/RollingDeployStrategyV1" }, { "type": "null" } ], "default": null, - "description": "UTF-8 file content. Null for removals and binary files.", - "title": "Content" + "description": "The rolling deploy strategy to use for promotions.", + "examples": [ + "REPLICA" + ] }, - "content_bytes": { + "max_surge_percent": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], "default": null, - "description": "Base64-encoded content for binary files.", - "title": "Content Bytes" - } - }, - "required": [ - "action", - "path" - ], - "title": "DeploymentPatchOpPackageV1", - "type": "object" - }, - "DeploymentPatchOpPythonRequirementV1": { - "description": "Add, update, or remove a single Python requirement.", - "properties": { - "type": { - "const": "python_requirement", - "default": "python_requirement", - "title": "Type", - "type": "string" + "description": "The maximum surge percentage for rolling deploys.", + "examples": [ + 25 + ], + "title": "Max Surge Percent" }, - "action": { - "$ref": "#/components/schemas/DeploymentPatchActionV1", - "description": "How this op changes the requirement." + "max_unavailable_percent": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The maximum unavailable percentage for rolling deploys.", + "examples": [ + 10 + ], + "title": "Max Unavailable Percent" + }, + "stabilization_time_seconds": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The stabilization time in seconds for rolling deploys.", + "examples": [ + 300 + ], + "title": "Stabilization Time Seconds" + }, + "replica_overhead_percent": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The replica overhead percentage for rolling deploys.", + "examples": [ + 0 + ], + "title": "Replica Overhead Percent" + } + }, + "title": "UpdateRollingDeployConfigV1", + "type": "object" + }, + "PromoteRequestV1": { + "description": "A request to promote a deployment to production.", + "properties": { + "scale_down_previous_production": { + "default": true, + "description": "Whether to scale down the previous production deployment after promoting", + "examples": [ + true + ], + "title": "Scale Down Previous Production", + "type": "boolean" + }, + "preserve_env_instance_type": { + "default": true, + "description": "Whether to use the promoting deployment's instance type or preserve target environment's instance type", + "examples": [ + true + ], + "title": "Preserve Env Instance Type", + "type": "boolean" + }, + "environment_settings_update": { + "anyOf": [ + { + "$ref": "#/components/schemas/PromotionEnvironmentSettingsUpdateV1" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Changes to the environment's settings. Omitted fields are unchanged. The promoted deployment uses the environment's current settings with these changes applied, and the environment keeps the result when the promotion completes.", + "examples": [ + { + "autoscaling_settings": { + "max_replica": 4, + "min_replica": 2 + } + } + ] + }, + "promotion_settings_override": { + "anyOf": [ + { + "$ref": "#/components/schemas/UpdatePromotionSettingsV1" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Promotion settings for this promotion only. Omitted fields keep the environment's values, and the environment's promotion settings are unchanged.", + "examples": [ + { + "rolling_deploy_config": { + "max_surge_percent": 50 + } + } + ] + } + }, + "title": "PromoteRequestV1", + "type": "object" + }, + "ActivateResponseV1": { + "description": "The response to a request to activate a deployment.", + "properties": { + "success": { + "default": true, + "description": "Whether the deployment was successfully activated", + "title": "Success", + "type": "boolean" + }, + "no_op": { + "default": false, + "description": "Whether the request did nothing because the deployment was already active or on its way to becoming active", + "title": "No Op", + "type": "boolean" + } + }, + "title": "ActivateResponseV1", + "type": "object" + }, + "DeactivateResponseV1": { + "description": "The response to a request to deactivate a deployment.", + "properties": { + "success": { + "default": true, + "description": "Whether the deployment was successfully deactivated", + "title": "Success", + "type": "boolean" + }, + "no_op": { + "default": false, + "description": "Whether the request did nothing because the deployment was already inactive", + "title": "No Op", + "type": "boolean" + } + }, + "title": "DeactivateResponseV1", + "type": "object" + }, + "RetryDeploymentResponseV1": { + "description": "The response to a request to retry a deployment.", + "properties": { + "retried": { + "description": "Whether the retry was successfully initiated", + "title": "Retried", + "type": "boolean" + }, + "reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Explanation of the result. Provided when retried is false to explain why retry was not possible.", + "title": "Reason" + }, + "deployment": { + "$ref": "#/components/schemas/DeploymentV1", + "description": "The deployment that was retried" + } + }, + "required": [ + "retried", + "deployment" + ], + "title": "RetryDeploymentResponseV1", + "type": "object" + }, + "DownloadDeploymentResponseV1": { + "description": "The response to a request to download a deployment's truss.", + "properties": { + "download_url": { + "description": "Presigned URL to download the truss tar file", + "title": "Download Url", + "type": "string" + } + }, + "required": [ + "download_url" + ], + "title": "DownloadDeploymentResponseV1", + "type": "object" + }, + "DeploymentConfigResponseV1": { + "description": "The config of a deployment. Fields are populated per `output_format`.", + "properties": { + "config": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The parsed config of the deployment.", + "title": "Config" + }, + "raw_config": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The original config.yaml text \u2014 preserves comments, ordering, formatting.", + "title": "Raw Config" + } + }, + "title": "DeploymentConfigResponseV1", + "type": "object" + }, + "DeploymentConfigOutputFormat": { + "enum": [ + "raw", + "parsed", + "both" + ], + "title": "DeploymentConfigOutputFormat", + "type": "string" + }, + "GetDeploymentConfigRequestV1": { + "description": "Query params for ``GET /v1/models/.../deployments/.../config``.", + "properties": { + "output_format": { + "$ref": "#/components/schemas/DeploymentConfigOutputFormat", + "default": "both", + "description": "'raw': verbatim config.yaml with comments (not available for deployments created before 2026-04-30). 'parsed': dict with server-side defaults applied (always available). 'both': both fields populated." + } + }, + "title": "GetDeploymentConfigRequestV1", + "type": "object" + }, + "LogLevelV1": { + "description": "A log severity level.", + "enum": [ + "DEBUG", + "INFO", + "WARNING", + "ERROR" + ], + "title": "LogLevelV1", + "type": "string" + }, + "LogV1": { + "properties": { + "timestamp": { + "description": "Epoch nanosecond timestamp of the log message.", + "title": "Timestamp", + "type": "string" + }, + "message": { + "description": "The contents of the log message. When the logger captured an exception, the traceback is appended after the message.", + "title": "Message", + "type": "string" + }, + "replica": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The replica the log line was emitted from.", + "title": "Replica" + }, + "request_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The request ID associated with an inference request.", + "title": "Request Id" + }, + "level": { + "anyOf": [ + { + "$ref": "#/components/schemas/LogLevelV1" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Severity of the log line, if one was detected. null when unknown." + } + }, + "required": [ + "timestamp", + "message", + "replica" + ], + "title": "LogV1", + "type": "object" + }, + "GetLogsResponseV1": { + "description": "A response to querying logs.", + "properties": { + "logs": { + "description": "Logs for a specific entity.", + "items": { + "$ref": "#/components/schemas/LogV1" + }, + "title": "Logs", + "type": "array" + } + }, + "required": [ + "logs" + ], + "title": "GetLogsResponseV1", + "type": "object" + }, + "SortOrderV1": { + "enum": [ + "asc", + "desc" + ], + "title": "SortOrderV1", + "type": "string" + }, + "GetDeploymentLogsRequestV1": { + "description": "A request to fetch deployment logs.", + "properties": { + "start_epoch_millis": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Epoch milliseconds at which to start fetching logs. Defaults to 30 minutes before the end. The window from start to end must not exceed 7 days.", + "title": "Start Epoch Millis" + }, + "end_epoch_millis": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Epoch milliseconds at which to stop fetching logs. Defaults to the current time.", + "title": "End Epoch Millis" + }, + "direction": { + "anyOf": [ + { + "$ref": "#/components/schemas/SortOrderV1" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Sort order for logs" + }, + "limit": { + "anyOf": [ + { + "maximum": 1000, + "minimum": 1, + "type": "integer" + }, + { + "type": "null" + } + ], + "default": 500, + "description": "Limit of logs to fetch in a single request", + "title": "Limit" + }, + "min_level": { + "anyOf": [ + { + "$ref": "#/components/schemas/LogLevelV1" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Minimum log severity to include. Omit to return all log lines, including lines that have no level. Any explicit value returns lines at or above that severity and drops lines without a level." + }, + "replica": { + "anyOf": [ + { + "maxLength": 256, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Only return logs emitted by this replica (5-char short ID).", + "title": "Replica" + }, + "request_id": { + "anyOf": [ + { + "maxLength": 256, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Only return logs tagged with this inference request ID.", + "title": "Request Id" + }, + "component": { + "anyOf": [ + { + "maxLength": 256, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Only return logs from this component.", + "title": "Component" + }, + "search_pattern": { + "anyOf": [ + { + "maxLength": 256, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "RE2 regular expression matched against the log message. Prefer `includes` and `excludes` for plain substring matches.", + "title": "Search Pattern" + }, + "includes": { + "description": "Case-sensitive substrings that must all appear in the log message.", + "items": { + "type": "string" + }, + "maxItems": 8, + "title": "Includes", + "type": "array" + }, + "excludes": { + "description": "Case-sensitive substrings; lines containing any of these are dropped.", + "items": { + "type": "string" + }, + "maxItems": 8, + "title": "Excludes", + "type": "array" + } + }, + "title": "GetDeploymentLogsRequestV1", + "type": "object" + }, + "DeploymentPatchActionV1": { + "description": "How a patch op changes its target.", + "enum": [ + "ADD", + "UPDATE", + "REMOVE" + ], + "title": "DeploymentPatchActionV1", + "type": "string" + }, + "DeploymentPatchOpConfigV1": { + "description": "Replace the config when config.yaml changes.\n\nConfig has no action: it is always a full replacement of the parsed config.\nDerived changes (environment variables, external data, requirements) are\nemitted as their own ops alongside this one.", + "properties": { + "type": { + "const": "config", + "default": "config", + "title": "Type", + "type": "string" + }, + "config": { + "additionalProperties": true, + "description": "The full parsed config as a JSON object.", + "title": "Config", + "type": "object" + }, + "path": { + "default": "config.yaml", + "description": "Config file path within the source.", + "title": "Path", + "type": "string" + } + }, + "required": [ + "config" + ], + "title": "DeploymentPatchOpConfigV1", + "type": "object" + }, + "DeploymentPatchOpEnvVarV1": { + "description": "Add, update, or remove a single environment variable.", + "properties": { + "type": { + "const": "environment_variable", + "default": "environment_variable", + "title": "Type", + "type": "string" + }, + "action": { + "$ref": "#/components/schemas/DeploymentPatchActionV1", + "description": "How this op changes the variable." + }, + "name": { + "description": "The environment variable name.", + "title": "Name", + "type": "string" + }, + "value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The environment variable value. Required for add and update.", + "title": "Value" + } + }, + "required": [ + "action", + "name" + ], + "title": "DeploymentPatchOpEnvVarV1", + "type": "object" + }, + "DeploymentPatchOpExternalDataV1": { + "description": "Add, update, or remove a single external data item.\n\nExternal data is referenced by config, not stored in the source. The backend\nonly adds or removes it, where adding re-downloads (overwriting any existing\nfile), so `update` is accepted and treated identically to `add`.", + "properties": { + "type": { + "const": "external_data", + "default": "external_data", + "title": "Type", + "type": "string" + }, + "action": { + "$ref": "#/components/schemas/DeploymentPatchActionV1", + "description": "How this op changes the item. `UPDATE` is treated identically to `ADD`." + }, + "item": { + "additionalProperties": { + "type": "string" + }, + "description": "The single external data item descriptor.", + "title": "Item", + "type": "object" + } + }, + "required": [ + "action", + "item" + ], + "title": "DeploymentPatchOpExternalDataV1", + "type": "object" + }, + "DeploymentPatchOpModelCodeV1": { + "description": "Add, update, or remove a file under the model code directory.", + "properties": { + "type": { + "const": "model_code", + "default": "model_code", + "title": "Type", + "type": "string" + }, + "action": { + "$ref": "#/components/schemas/DeploymentPatchActionV1", + "description": "How this op changes the file." + }, + "path": { + "description": "File path relative to the model code directory.", + "title": "Path", + "type": "string" + }, + "content": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "UTF-8 file content. Null for removals and binary files.", + "title": "Content" + }, + "content_bytes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Base64-encoded content for binary files.", + "title": "Content Bytes" + }, + "hot_reload": { + "default": false, + "description": "Whether the running server can pick up this change without a restart.", + "title": "Hot Reload", + "type": "boolean" + } + }, + "required": [ + "action", + "path" + ], + "title": "DeploymentPatchOpModelCodeV1", + "type": "object" + }, + "DeploymentPatchOpPackageV1": { + "description": "Add, update, or remove a file under the bundled packages directory.", + "properties": { + "type": { + "const": "package", + "default": "package", + "title": "Type", + "type": "string" + }, + "action": { + "$ref": "#/components/schemas/DeploymentPatchActionV1", + "description": "How this op changes the file." + }, + "path": { + "description": "File path relative to the bundled packages directory.", + "title": "Path", + "type": "string" + }, + "content": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "UTF-8 file content. Null for removals and binary files.", + "title": "Content" + }, + "content_bytes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Base64-encoded content for binary files.", + "title": "Content Bytes" + } + }, + "required": [ + "action", + "path" + ], + "title": "DeploymentPatchOpPackageV1", + "type": "object" + }, + "DeploymentPatchOpPythonRequirementV1": { + "description": "Add, update, or remove a single Python requirement.", + "properties": { + "type": { + "const": "python_requirement", + "default": "python_requirement", + "title": "Type", + "type": "string" + }, + "action": { + "$ref": "#/components/schemas/DeploymentPatchActionV1", + "description": "How this op changes the requirement." }, "requirement": { "description": "The requirement to apply. For removals this is the package name; otherwise the full requirements.txt-style line.", @@ -21634,341 +22282,78 @@ "title": "Config", "type": "string" }, - "requirements": { - "description": "Requirements resolved from the config's requirements file, when it points at one. Empty when requirements are declared inline in the config.", - "items": { - "type": "string" - }, - "title": "Requirements", - "type": "array" - }, - "hash": { - "description": "Content hash identifying this exact source state, and the link patches build on. It is derived deterministically from `content_hashes`, so a request need not send it - the server derives it. It is derived by sorting the `content_hashes` keys as paths, splitting each key on '/' into its path components and ordering the keys by comparing those component lists element by element, each component compared by Unicode code point (equivalently UTF-8 byte order). Treating '/' as a path separator this way, rather than as the ordinary character U+002F, means a key that is an ancestor path sorts before a sibling whose name extends the first differing component (so e.g. 'a/b' sorts before 'a.b'). A blake3 hasher is then built, and for each key in that order updated with the blake3 digest (32 raw bytes) of the key encoded as UTF-8, then, when the entry is a file (non-null value), with that file's digest as 32 raw bytes. The stream uses raw digest bytes, but the values in `content_hashes` are those digests hex-encoded (64 hex chars), so decode each value from hex first. Directory entries (null value) contribute only their key digest. The result is the hasher's own hex digest.", - "title": "Hash", - "type": "string" - } - }, - "required": [ - "content_hashes", - "config", - "hash" - ], - "title": "DeploymentPatchPointWithHashV1", - "type": "object" - }, - "CreateDeploymentPatchResponseV1": { - "description": "The created patch, represented by the patch point it produced.", - "properties": { - "patch_point": { - "$ref": "#/components/schemas/DeploymentPatchPointWithHashV1", - "description": "The resulting patch point the staged patch produced; matches the pending point a subsequent state read returns." - } - }, - "required": [ - "patch_point" - ], - "title": "CreateDeploymentPatchResponseV1", - "type": "object" - }, - "GetDeploymentPatchesStateResponseV1": { - "description": "The patch state of the development deployment.\n\nThe watch client computes its next patch off `pending_patch_point` when present,\nelse `running_patch_point`.", - "properties": { - "running_patch_point": { - "$ref": "#/components/schemas/DeploymentPatchPointWithHashV1", - "description": "The patch point the deployment is recorded as running." - }, - "pending_patch_point": { - "anyOf": [ - { - "$ref": "#/components/schemas/DeploymentPatchPointWithHashV1" - }, - { - "type": "null" - } - ], - "default": null, - "description": "The latest staged-but-unsynced patch point, or null when the deployment is recorded as caught up." - } - }, - "required": [ - "running_patch_point" - ], - "title": "GetDeploymentPatchesStateResponseV1", - "type": "object" - }, - "SyncDeploymentPatchesRequestV1": { - "description": "Triggers a sync of any staged patches to the running deployment. Takes no\nfields: the deployment and its staged patches fully determine the sync.", - "properties": {}, - "title": "SyncDeploymentPatchesRequestV1", - "type": "object" - }, - "SyncDeploymentPatchesResponseV1": { - "description": "The outcome of a sync that ran.\n\nOperational failures (a transient patch failure, an invalid patch sequence)\nare surfaced as HTTP errors rather than fields here, so a 2xx means the sync\nreached a verdict.", - "properties": { - "needs_full_deploy_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "If set, the change cannot be patched and a full push is required; the value explains why. If null, the deployment is now in sync.", - "title": "Needs Full Deploy Reason" - } - }, - "title": "SyncDeploymentPatchesResponseV1", - "type": "object" - }, - "ModelMetricDescriptorV1": { - "description": "Describes one metric. Its position in the response ``metric_descriptors``\nlist is the index used to read that metric out of each value set's ``values``.\n\nA metric may break down into multiple labeled series (e.g. latency quantiles,\nor volume by status). ``label_sets`` enumerates those series in order; each\nvalue set's value for this metric is a list aligned to that order.", - "properties": { - "name": { - "description": "Canonical metric name.", - "title": "Name", - "type": "string" - }, - "unit_hint": { - "$ref": "#/components/schemas/ModelMetricUnitHintV1", - "description": "Advisory unit of the metric's values." - }, - "kind": { - "$ref": "#/components/schemas/ModelMetricKindV1", - "description": "Semantic hint for how the metric behaves (GAUGE, COUNTER, HISTOGRAM)." - }, - "label_sets": { - "description": "The metric's series, in order. Each entry is the set of labels identifying one series; the value at the same index in each value set's ``values`` is that series' value. A plain metric has a single entry with no labels (`{}`). A histogram has one entry per quantile plus an average, e.g. {'quantile': '0.5'} \u2026 {'quantile': '0.99'}, {'stat': 'avg'}. A by-status metric has one entry per status, e.g. {'status': '2xx'}.", - "items": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "title": "Label Sets", - "type": "array" - } - }, - "required": [ - "name", - "unit_hint", - "kind", - "label_sets" - ], - "title": "ModelMetricDescriptorV1", - "type": "object" - }, - "ModelMetricKindV1": { - "description": "Semantic hint for how a metric behaves, to aid client rendering and\naggregation. It does not describe the value's shape (that is carried by the\ndescriptor's ``label_sets``; a metric may break down into multiple series).\n\n- ``GAUGE``: an instantaneous value (e.g. queue size, running requests).\n- ``COUNTER``: a cumulative total over the step (e.g. tokens, restarts).\n- ``HISTOGRAM``: a distribution, exposed as quantile/average series.", - "enum": [ - "GAUGE", - "COUNTER", - "HISTOGRAM" - ], - "title": "ModelMetricKindV1", - "type": "string" - }, - "ModelMetricModeV1": { - "description": "How metric values are aggregated over the request.", - "enum": [ - "CURRENT", - "SUMMARY", - "SERIES" - ], - "title": "ModelMetricModeV1", - "type": "string" - }, - "ModelMetricUnitHintV1": { - "description": "Advisory unit of a metric's values. Values are reported as scraped, so the\nhint describes the raw value (e.g. GPU memory is reported in mebibytes).\n\n- ``PER_SECOND``: a rate per second.\n- ``SECONDS``: a duration in seconds.\n- ``BYTES``: a size in bytes.\n- ``MEBIBYTES``: a size in mebibytes (MiB).\n- ``COUNT``: a dimensionless tally of discrete things.\n- ``RATIO``: a dimensionless ratio. Usually in ``[0, 1]`` but may exceed 1\n (e.g. CPU usage in cores = cpu-seconds/second).\n- ``CELSIUS``: a temperature in degrees Celsius.\n- ``WATTS``: power draw in watts.", - "enum": [ - "PER_SECOND", - "SECONDS", - "BYTES", - "MEBIBYTES", - "COUNT", - "RATIO", - "CELSIUS", - "WATTS" - ], - "title": "ModelMetricUnitHintV1", - "type": "string" - }, - "ModelMetricValueSetV1": { - "description": "The metric values for one time step. ``values`` is aligned by index to the\nresponse ``metric_descriptors`` list.", - "properties": { - "start_epoch_millis": { - "description": "Start of the step. The step spans until the next value set's start, or the window end for the last one; a summary has a single value set starting at the window start.", - "title": "Start Epoch Millis", - "type": "integer" - }, - "values": { - "description": "Metric values aligned to the ``metric_descriptors`` index. Each entry is a list aligned to that descriptor's ``label_sets`` (a single-element list for a plain metric). A series with no data in this step is null.", - "items": { - "items": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "type": "array" - }, - "title": "Values", - "type": "array" - } - }, - "required": [ - "start_epoch_millis", - "values" - ], - "title": "ModelMetricValueSetV1", - "type": "object" - }, - "GetModelMetricsResponseV1": { - "description": "Model metrics over a time window, index-mapped: metric descriptors appear once\nin ``metric_descriptors``; each value set's ``values`` are aligned to that order.", - "properties": { - "start_epoch_millis": { - "description": "Start of the returned window.", - "title": "Start Epoch Millis", - "type": "integer" - }, - "end_epoch_millis": { - "description": "End of the returned window.", - "title": "End Epoch Millis", - "type": "integer" - }, - "mode": { - "$ref": "#/components/schemas/ModelMetricModeV1", - "description": "The aggregation mode used." - }, - "step_seconds": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Seconds per step; populated only in SERIES mode, null otherwise.", - "title": "Step Seconds" - }, - "metric_descriptors": { - "description": "Descriptors for each metric; position defines the values index.", + "requirements": { + "description": "Requirements resolved from the config's requirements file, when it points at one. Empty when requirements are declared inline in the config.", "items": { - "$ref": "#/components/schemas/ModelMetricDescriptorV1" + "type": "string" }, - "title": "Metric Descriptors", + "title": "Requirements", "type": "array" }, - "metric_values": { - "description": "Metric values per time step covering the window. In summary mode this always contains exactly one value set spanning the whole window.", - "items": { - "$ref": "#/components/schemas/ModelMetricValueSetV1" - }, - "title": "Metric Values", - "type": "array" + "hash": { + "description": "Content hash identifying this exact source state, and the link patches build on. It is derived deterministically from `content_hashes`, so a request need not send it - the server derives it. It is derived by sorting the `content_hashes` keys as paths, splitting each key on '/' into its path components and ordering the keys by comparing those component lists element by element, each component compared by Unicode code point (equivalently UTF-8 byte order). Treating '/' as a path separator this way, rather than as the ordinary character U+002F, means a key that is an ancestor path sorts before a sibling whose name extends the first differing component (so e.g. 'a/b' sorts before 'a.b'). A blake3 hasher is then built, and for each key in that order updated with the blake3 digest (32 raw bytes) of the key encoded as UTF-8, then, when the entry is a file (non-null value), with that file's digest as 32 raw bytes. The stream uses raw digest bytes, but the values in `content_hashes` are those digests hex-encoded (64 hex chars), so decode each value from hex first. Directory entries (null value) contribute only their key digest. The result is the hasher's own hex digest.", + "title": "Hash", + "type": "string" } }, "required": [ - "start_epoch_millis", - "end_epoch_millis", - "mode", - "step_seconds", - "metric_descriptors", - "metric_values" + "content_hashes", + "config", + "hash" ], - "title": "GetModelMetricsResponseV1", + "title": "DeploymentPatchPointWithHashV1", "type": "object" }, - "GetDeploymentMetricsRequestV1": { - "description": "Query params for ``GET /v1/models/.../deployments/.../metrics``.", + "CreateDeploymentPatchResponseV1": { + "description": "The created patch, represented by the patch point it produced.", "properties": { - "mode": { - "$ref": "#/components/schemas/ModelMetricModeV1", - "default": "CURRENT", - "description": "'CURRENT': a single instantaneous snapshot at now; start/end must be omitted. 'SUMMARY': a single value set aggregating the whole window. 'SERIES': evenly-spaced value sets across the window, with the step derived from the window duration." - }, - "start_epoch_millis": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Epoch millis timestamp to start fetching metrics. Defaults to one hour before the end.", - "title": "Start Epoch Millis" + "patch_point": { + "$ref": "#/components/schemas/DeploymentPatchPointWithHashV1", + "description": "The resulting patch point the staged patch produced; matches the pending point a subsequent state read returns." + } + }, + "required": [ + "patch_point" + ], + "title": "CreateDeploymentPatchResponseV1", + "type": "object" + }, + "GetDeploymentPatchesStateResponseV1": { + "description": "The patch state of the development deployment.\n\nThe watch client computes its next patch off `pending_patch_point` when present,\nelse `running_patch_point`.", + "properties": { + "running_patch_point": { + "$ref": "#/components/schemas/DeploymentPatchPointWithHashV1", + "description": "The patch point the deployment is recorded as running." }, - "end_epoch_millis": { + "pending_patch_point": { "anyOf": [ { - "type": "integer" + "$ref": "#/components/schemas/DeploymentPatchPointWithHashV1" }, { "type": "null" } ], "default": null, - "description": "Epoch millis timestamp to end fetching metrics. Defaults to the current time. The window between start and end must not exceed 7 days.", - "title": "End Epoch Millis" - }, - "metrics": { - "description": "Names of the metrics to return; see https://docs.baseten.co/observability/export-metrics/supported-metrics for the available names. When omitted, a default set is returned: baseten_replicas_active, baseten_inference_requests_total, and baseten_end_to_end_response_time_seconds. Unknown names are rejected; valid names that do not apply are omitted from the response.", - "items": { - "type": "string" - }, - "title": "Metrics", - "type": "array" + "description": "The latest staged-but-unsynced patch point, or null when the deployment is recorded as caught up." } }, - "title": "GetDeploymentMetricsRequestV1", + "required": [ + "running_patch_point" + ], + "title": "GetDeploymentPatchesStateResponseV1", "type": "object" }, - "StartupAttemptV1": { - "description": "One startup attempt of a replica.", + "SyncDeploymentPatchesRequestV1": { + "description": "Triggers a sync of any staged patches to the running deployment. Takes no\nfields: the deployment and its staged patches fully determine the sync.", + "properties": {}, + "title": "SyncDeploymentPatchesRequestV1", + "type": "object" + }, + "SyncDeploymentPatchesResponseV1": { + "description": "The outcome of a sync that ran.\n\nOperational failures (a transient patch failure, an invalid patch sequence)\nare surfaced as HTTP errors rather than fields here, so a 2xx means the sync\nreached a verdict.", "properties": { - "model_id": { - "description": "Unique identifier of the model.", - "title": "Model Id", - "type": "string" - }, - "deployment_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Unique identifier of the deployment.", - "title": "Deployment Id" - }, - "deployment_name": { - "description": "Name of the deployment.", - "title": "Deployment Name", - "type": "string" - }, - "environment_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Name of the environment. Null when querying a deployment.", - "title": "Environment Name" - }, - "replica_id": { + "needs_full_deploy_reason": { "anyOf": [ { "type": "string" @@ -21977,339 +22362,278 @@ "type": "null" } ], - "description": "Identifier of the replica that started.", - "title": "Replica Id" - }, - "started_at_epoch_millis": { - "description": "Time the attempt started, in epoch milliseconds.", - "title": "Started At Epoch Millis", - "type": "integer" - }, - "ready_at_epoch_millis": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Time the replica became ready, in epoch milliseconds. Null if it never did.", - "title": "Ready At Epoch Millis" - }, - "duration_ms": { - "description": "Duration of the attempt, in milliseconds.", - "title": "Duration Ms", - "type": "integer" - }, - "outcome": { - "$ref": "#/components/schemas/StartupOutcomeV1", - "description": "Outcome of the attempt." - }, - "phase_summary": { - "description": "Phases recorded during the attempt.", - "items": { - "$ref": "#/components/schemas/StartupPhaseSummaryV1" - }, - "title": "Phase Summary", - "type": "array" + "default": null, + "description": "If set, the change cannot be patched and a full push is required; the value explains why. If null, the deployment is now in sync.", + "title": "Needs Full Deploy Reason" } }, - "required": [ - "model_id", - "deployment_id", - "deployment_name", - "environment_name", - "replica_id", - "started_at_epoch_millis", - "ready_at_epoch_millis", - "duration_ms", - "outcome", - "phase_summary" - ], - "title": "StartupAttemptV1", + "title": "SyncDeploymentPatchesResponseV1", "type": "object" }, - "StartupOutcomeV1": { - "description": "Outcome of a whole startup attempt.", - "enum": [ - "SUCCESS", - "FAILED", - "STALLED" - ], - "title": "StartupOutcomeV1", - "type": "string" - }, - "StartupPhaseStatusV1": { - "description": "Outcome of one phase, independent of the outcome of the whole startup.", - "enum": [ - "COMPLETED", - "FAILED" - ], - "title": "StartupPhaseStatusV1", - "type": "string" - }, - "StartupPhaseSummaryV1": { - "description": "One phase recorded during a startup attempt.", + "ModelMetricDescriptorV1": { + "description": "Describes one metric. Its position in the response ``metric_descriptors``\nlist is the index used to read that metric out of each value set's ``values``.\n\nA metric may break down into multiple labeled series (e.g. latency quantiles,\nor volume by status). ``label_sets`` enumerates those series in order; each\nvalue set's value for this metric is a list aligned to that order.", "properties": { - "phase": { - "$ref": "#/components/schemas/StartupPhaseV1", - "description": "The phase." + "name": { + "description": "Canonical metric name.", + "title": "Name", + "type": "string" }, - "status": { - "$ref": "#/components/schemas/StartupPhaseStatusV1", - "description": "Outcome of the phase." + "unit_hint": { + "$ref": "#/components/schemas/ModelMetricUnitHintV1", + "description": "Advisory unit of the metric's values." }, - "offset_ms": { - "description": "Time from the start of the attempt to the start of the phase, in milliseconds.", - "title": "Offset Ms", - "type": "integer" + "kind": { + "$ref": "#/components/schemas/ModelMetricKindV1", + "description": "Semantic hint for how the metric behaves (GAUGE, COUNTER, HISTOGRAM)." }, - "duration_ms": { - "anyOf": [ - { - "type": "integer" + "label_sets": { + "description": "The metric's series, in order. Each entry is the set of labels identifying one series; the value at the same index in each value set's ``values`` is that series' value. A plain metric has a single entry with no labels (`{}`). A histogram has one entry per quantile plus an average, e.g. {'quantile': '0.5'} \u2026 {'quantile': '0.99'}, {'stat': 'avg'}. A by-status metric has one entry per status, e.g. {'status': '2xx'}.", + "items": { + "additionalProperties": { + "type": "string" }, - { - "type": "null" - } - ], - "description": "Duration of the phase, in milliseconds. Can be 0 for a phase that finished within a second. Null if the phase did not finish.", - "title": "Duration Ms" + "type": "object" + }, + "title": "Label Sets", + "type": "array" } }, "required": [ - "phase", - "status", - "offset_ms", - "duration_ms" + "name", + "unit_hint", + "kind", + "label_sets" ], - "title": "StartupPhaseSummaryV1", + "title": "ModelMetricDescriptorV1", "type": "object" }, - "StartupPhaseV1": { - "description": "A stage of a replica startup.\n\n- ``SCHEDULING``: waiting for the replica to be placed on a node.\n- ``IMAGE_PULL``: pulling the container image.\n- ``WEIGHT_DOWNLOAD``: downloading model weights.\n- ``CONTAINER_CREATE``: creating and starting the model container, including\n ``CONTAINER_START`` and ``READINESS``.\n- ``CONTAINER_START``: starting the model container.\n- ``READINESS``: waiting for the model to pass its readiness check.\n\n``CONTAINER_START`` and ``READINESS`` are accepted as filters but are reported only as\npart of ``CONTAINER_CREATE``.", + "ModelMetricKindV1": { + "description": "Semantic hint for how a metric behaves, to aid client rendering and\naggregation. It does not describe the value's shape (that is carried by the\ndescriptor's ``label_sets``; a metric may break down into multiple series).\n\n- ``GAUGE``: an instantaneous value (e.g. queue size, running requests).\n- ``COUNTER``: a cumulative total over the step (e.g. tokens, restarts).\n- ``HISTOGRAM``: a distribution, exposed as quantile/average series.", "enum": [ - "SCHEDULING", - "IMAGE_PULL", - "WEIGHT_DOWNLOAD", - "CONTAINER_CREATE", - "CONTAINER_START", - "READINESS" + "GAUGE", + "COUNTER", + "HISTOGRAM" ], - "title": "StartupPhaseV1", + "title": "ModelMetricKindV1", "type": "string" }, - "StartupAttemptsV1": { - "description": "A page of startup attempts, newest first by default.", + "ModelMetricModeV1": { + "description": "How metric values are aggregated over the request.", + "enum": [ + "CURRENT", + "SUMMARY", + "SERIES" + ], + "title": "ModelMetricModeV1", + "type": "string" + }, + "ModelMetricUnitHintV1": { + "description": "Advisory unit of a metric's values. Values are reported as scraped, so the\nhint describes the raw value (e.g. GPU memory is reported in mebibytes).\n\n- ``PER_SECOND``: a rate per second.\n- ``SECONDS``: a duration in seconds.\n- ``BYTES``: a size in bytes.\n- ``MEBIBYTES``: a size in mebibytes (MiB).\n- ``COUNT``: a dimensionless tally of discrete things.\n- ``RATIO``: a dimensionless ratio. Usually in ``[0, 1]`` but may exceed 1\n (e.g. CPU usage in cores = cpu-seconds/second).\n- ``CELSIUS``: a temperature in degrees Celsius.\n- ``WATTS``: power draw in watts.", + "enum": [ + "PER_SECOND", + "SECONDS", + "BYTES", + "MEBIBYTES", + "COUNT", + "RATIO", + "CELSIUS", + "WATTS" + ], + "title": "ModelMetricUnitHintV1", + "type": "string" + }, + "ModelMetricValueSetV1": { + "description": "The metric values for one time step. ``values`` is aligned by index to the\nresponse ``metric_descriptors`` list.", "properties": { - "items": { - "description": "Items in this page.", + "start_epoch_millis": { + "description": "Start of the step. The step spans until the next value set's start, or the window end for the last one; a summary has a single value set starting at the window start.", + "title": "Start Epoch Millis", + "type": "integer" + }, + "values": { + "description": "Metric values aligned to the ``metric_descriptors`` index. Each entry is a list aligned to that descriptor's ``label_sets`` (a single-element list for a plain metric). A series with no data in this step is null.", "items": { - "$ref": "#/components/schemas/StartupAttemptV1" + "items": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "type": "array" }, - "title": "Items", + "title": "Values", "type": "array" - }, - "pagination": { - "$ref": "#/components/schemas/PaginationResponseV1", - "description": "Pagination metadata for the page." - }, - "total_count": { - "description": "Number of attempts matching the filters, counted within the 1,000 most recent startups in the window.", - "title": "Total Count", - "type": "integer" } }, "required": [ - "items", - "pagination", - "total_count" + "start_epoch_millis", + "values" ], - "title": "StartupAttemptsV1", + "title": "ModelMetricValueSetV1", "type": "object" }, - "StartupSortFieldV1": { - "description": "Field to sort startup attempts by.", - "enum": [ - "OUTCOME", - "STARTED_AT", - "READY_AT", - "DURATION" - ], - "title": "StartupSortFieldV1", - "type": "string" - }, - "GetStartupAttemptsRequestV1": { - "description": "Query params for a startup attempts request (a deployment or an environment).", + "GetModelMetricsResponseV1": { + "description": "Model metrics over a time window, index-mapped: metric descriptors appear once\nin ``metric_descriptors``; each value set's ``values`` are aligned to that order.", "properties": { "start_epoch_millis": { - "description": "Start of the query window, in epoch milliseconds.", + "description": "Start of the returned window.", "title": "Start Epoch Millis", "type": "integer" }, "end_epoch_millis": { - "description": "End of the query window, in epoch milliseconds. Must be after the start.", + "description": "End of the returned window.", "title": "End Epoch Millis", "type": "integer" }, - "min_duration_ms": { - "anyOf": [ - { - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Only include startups that lasted at least this many milliseconds.", - "title": "Min Duration Ms" + "mode": { + "$ref": "#/components/schemas/ModelMetricModeV1", + "description": "The aggregation mode used." }, - "cursor": { + "step_seconds": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], - "default": null, - "description": "Opaque cursor returned by a previous page. Omit to fetch the first page. Pass the same filters and sort as the request that returned it.", - "title": "Cursor" - }, - "limit": { - "default": 50, - "description": "Maximum number of attempts to return.", - "maximum": 100, - "minimum": 1, - "title": "Limit", - "type": "integer" + "description": "Seconds per step; populated only in SERIES mode, null otherwise.", + "title": "Step Seconds" }, - "outcomes": { - "description": "Only include attempts with one of these outcomes. Repeat to pass several.", + "metric_descriptors": { + "description": "Descriptors for each metric; position defines the values index.", "items": { - "$ref": "#/components/schemas/StartupOutcomeV1" + "$ref": "#/components/schemas/ModelMetricDescriptorV1" }, - "title": "Outcomes", + "title": "Metric Descriptors", "type": "array" }, - "phase": { - "anyOf": [ - { - "$ref": "#/components/schemas/StartupPhaseV1" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Only include attempts that spent longer than 0 ms in this phase." + "metric_values": { + "description": "Metric values per time step covering the window. In summary mode this always contains exactly one value set spanning the whole window.", + "items": { + "$ref": "#/components/schemas/ModelMetricValueSetV1" + }, + "title": "Metric Values", + "type": "array" + } + }, + "required": [ + "start_epoch_millis", + "end_epoch_millis", + "mode", + "step_seconds", + "metric_descriptors", + "metric_values" + ], + "title": "GetModelMetricsResponseV1", + "type": "object" + }, + "GetDeploymentMetricsRequestV1": { + "description": "Query params for ``GET /v1/models/.../deployments/.../metrics``.", + "properties": { + "mode": { + "$ref": "#/components/schemas/ModelMetricModeV1", + "default": "CURRENT", + "description": "'CURRENT': a single instantaneous snapshot at now; start/end must be omitted. 'SUMMARY': a single value set aggregating the whole window. 'SERIES': evenly-spaced value sets across the window, with the step derived from the window duration." }, - "search": { + "start_epoch_millis": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], "default": null, - "description": "Only include attempts whose replica ID matches exactly, or whose deployment name contains this text (case-insensitive).", - "title": "Search" + "description": "Epoch millis timestamp to start fetching metrics. Defaults to one hour before the end.", + "title": "Start Epoch Millis" }, - "sort_by": { + "end_epoch_millis": { "anyOf": [ { - "$ref": "#/components/schemas/StartupSortFieldV1" + "type": "integer" }, { "type": "null" } ], "default": null, - "description": "Field to sort attempts by. Defaults to `STARTED_AT`." + "description": "Epoch millis timestamp to end fetching metrics. Defaults to the current time. The window between start and end must not exceed 7 days.", + "title": "End Epoch Millis" }, - "direction": { - "anyOf": [ - { - "$ref": "#/components/schemas/SortOrderV1" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Sort direction. Defaults to `desc`." + "metrics": { + "description": "Names of the metrics to return; see https://docs.baseten.co/observability/export-metrics/supported-metrics for the available names. When omitted, a default set is returned: baseten_replicas_active, baseten_inference_requests_total, and baseten_end_to_end_response_time_seconds. Unknown names are rejected; valid names that do not apply are omitted from the response.", + "items": { + "type": "string" + }, + "title": "Metrics", + "type": "array" } }, - "required": [ - "start_epoch_millis", - "end_epoch_millis" - ], - "title": "GetStartupAttemptsRequestV1", + "title": "GetDeploymentMetricsRequestV1", "type": "object" }, - "StartupPercentilesV1": { - "description": "A distribution of startup durations.\n\nStatistics cover only samples longer than 0 ms and are null when there are none.", + "StartupAttemptV1": { + "description": "One startup attempt of a replica.", "properties": { - "sample_count": { - "description": "Number of startups in the distribution, including those that took 0 ms. A phase that finishes within a second can record 0 ms.", - "title": "Sample Count", - "type": "integer" + "model_id": { + "description": "Unique identifier of the model.", + "title": "Model Id", + "type": "string" }, - "mean_ms": { + "deployment_id": { "anyOf": [ { - "type": "integer" + "type": "string" }, { "type": "null" } ], - "description": "Mean duration, in milliseconds.", - "title": "Mean Ms" + "description": "Unique identifier of the deployment.", + "title": "Deployment Id" }, - "p50_ms": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "50th percentile duration, in milliseconds.", - "title": "P50 Ms" + "deployment_name": { + "description": "Name of the deployment.", + "title": "Deployment Name", + "type": "string" }, - "p90_ms": { + "environment_name": { "anyOf": [ { - "type": "integer" + "type": "string" }, { "type": "null" } ], - "description": "90th percentile duration, in milliseconds.", - "title": "P90 Ms" + "description": "Name of the environment. Null when querying a deployment.", + "title": "Environment Name" }, - "p95_ms": { + "replica_id": { "anyOf": [ { - "type": "integer" + "type": "string" }, { "type": "null" } ], - "description": "95th percentile duration, in milliseconds.", - "title": "P95 Ms" + "description": "Identifier of the replica that started.", + "title": "Replica Id" }, - "p99_ms": { + "started_at_epoch_millis": { + "description": "Time the attempt started, in epoch milliseconds.", + "title": "Started At Epoch Millis", + "type": "integer" + }, + "ready_at_epoch_millis": { "anyOf": [ { "type": "integer" @@ -22318,286 +22642,221 @@ "type": "null" } ], - "description": "99th percentile duration, in milliseconds.", - "title": "P99 Ms" - } - }, - "required": [ - "sample_count", - "mean_ms", - "p50_ms", - "p90_ms", - "p95_ms", - "p99_ms" - ], - "title": "StartupPercentilesV1", - "type": "object" - }, - "StartupPhasePercentilesV1": { - "description": "The duration distribution of one startup phase.", - "properties": { - "phase": { - "$ref": "#/components/schemas/StartupPhaseV1", - "description": "The phase." + "description": "Time the replica became ready, in epoch milliseconds. Null if it never did.", + "title": "Ready At Epoch Millis" }, "duration_ms": { - "$ref": "#/components/schemas/StartupPercentilesV1", - "description": "Durations of the phase." - } - }, - "required": [ - "phase", - "duration_ms" - ], - "title": "StartupPhasePercentilesV1", - "type": "object" - }, - "StartupSummaryV1": { - "description": "Startup duration distributions over a time window.", - "properties": { - "start_epoch_millis": { - "description": "Start of the returned window.", - "title": "Start Epoch Millis", - "type": "integer" - }, - "end_epoch_millis": { - "description": "End of the returned window.", - "title": "End Epoch Millis", + "description": "Duration of the attempt, in milliseconds.", + "title": "Duration Ms", "type": "integer" }, - "total_duration_ms": { - "$ref": "#/components/schemas/StartupPercentilesV1", - "description": "Durations of whole startups, sampled from the 1,000 most recent in the window." + "outcome": { + "$ref": "#/components/schemas/StartupOutcomeV1", + "description": "Outcome of the attempt." }, - "phase_duration_ms": { - "description": "Durations of each phase that was recorded in the window.", + "phase_summary": { + "description": "Phases recorded during the attempt.", "items": { - "$ref": "#/components/schemas/StartupPhasePercentilesV1" + "$ref": "#/components/schemas/StartupPhaseSummaryV1" }, - "title": "Phase Duration Ms", + "title": "Phase Summary", "type": "array" } }, "required": [ - "start_epoch_millis", - "end_epoch_millis", - "total_duration_ms", - "phase_duration_ms" + "model_id", + "deployment_id", + "deployment_name", + "environment_name", + "replica_id", + "started_at_epoch_millis", + "ready_at_epoch_millis", + "duration_ms", + "outcome", + "phase_summary" ], - "title": "StartupSummaryV1", + "title": "StartupAttemptV1", "type": "object" }, - "GetStartupSummaryRequestV1": { - "description": "Query params for a startup summary request (a deployment or an environment).", + "StartupOutcomeV1": { + "description": "Outcome of a whole startup attempt.", + "enum": [ + "SUCCESS", + "FAILED", + "STALLED" + ], + "title": "StartupOutcomeV1", + "type": "string" + }, + "StartupPhaseStatusV1": { + "description": "Outcome of one phase, independent of the outcome of the whole startup.", + "enum": [ + "COMPLETED", + "FAILED" + ], + "title": "StartupPhaseStatusV1", + "type": "string" + }, + "StartupPhaseSummaryV1": { + "description": "One phase recorded during a startup attempt.", "properties": { - "start_epoch_millis": { - "description": "Start of the query window, in epoch milliseconds.", - "title": "Start Epoch Millis", - "type": "integer" + "phase": { + "$ref": "#/components/schemas/StartupPhaseV1", + "description": "The phase." }, - "end_epoch_millis": { - "description": "End of the query window, in epoch milliseconds. Must be after the start.", - "title": "End Epoch Millis", + "status": { + "$ref": "#/components/schemas/StartupPhaseStatusV1", + "description": "Outcome of the phase." + }, + "offset_ms": { + "description": "Time from the start of the attempt to the start of the phase, in milliseconds.", + "title": "Offset Ms", "type": "integer" }, - "min_duration_ms": { + "duration_ms": { "anyOf": [ { - "minimum": 0, "type": "integer" }, { "type": "null" } ], - "default": null, - "description": "Only include startups that lasted at least this many milliseconds.", - "title": "Min Duration Ms" + "description": "Duration of the phase, in milliseconds. Can be 0 for a phase that finished within a second. Null if the phase did not finish.", + "title": "Duration Ms" } }, "required": [ - "start_epoch_millis", - "end_epoch_millis" + "phase", + "status", + "offset_ms", + "duration_ms" ], - "title": "GetStartupSummaryRequestV1", + "title": "StartupPhaseSummaryV1", "type": "object" }, - "TerminateReplicaResponseV1": { - "description": "The response to a request to terminate a replica in a deployment.", - "properties": { - "success": { - "default": true, - "description": "Whether the replica was successfully terminated", - "title": "Success", - "type": "boolean" - } - }, - "title": "TerminateReplicaResponseV1", - "type": "object" + "StartupPhaseV1": { + "description": "A stage of a replica startup.\n\n- ``SCHEDULING``: waiting for the replica to be placed on a node.\n- ``IMAGE_PULL``: pulling the container image.\n- ``WEIGHT_DOWNLOAD``: downloading model weights.\n- ``CONTAINER_CREATE``: creating and starting the model container, including\n ``CONTAINER_START`` and ``READINESS``.\n- ``CONTAINER_START``: starting the model container.\n- ``READINESS``: waiting for the model to pass its readiness check.\n\n``CONTAINER_START`` and ``READINESS`` are accepted as filters but are reported only as\npart of ``CONTAINER_CREATE``.", + "enum": [ + "SCHEDULING", + "IMAGE_PULL", + "WEIGHT_DOWNLOAD", + "CONTAINER_CREATE", + "CONTAINER_START", + "READINESS" + ], + "title": "StartupPhaseV1", + "type": "string" }, - "SignSSHCertificateRequestV1": { - "description": "Request to sign an SSH certificate for accessing a workload pod.", + "StartupAttemptsV1": { + "description": "A page of startup attempts, newest first by default.", "properties": { - "public_key": { - "description": "The user's SSH public key (e.g., 'ssh-ed25519 AAAA... user@host').", - "title": "Public Key", - "type": "string" + "items": { + "description": "Items in this page.", + "items": { + "$ref": "#/components/schemas/StartupAttemptV1" + }, + "title": "Items", + "type": "array" }, - "replica_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "The replica to connect to. Required for training jobs (e.g. '0'). Optional for inference (server picks a running replica if omitted).", - "title": "Replica Id" + "pagination": { + "$ref": "#/components/schemas/PaginationResponseV1", + "description": "Pagination metadata for the page." + }, + "total_count": { + "description": "Number of attempts matching the filters, counted within the 1,000 most recent startups in the window.", + "title": "Total Count", + "type": "integer" } }, "required": [ - "public_key" + "items", + "pagination", + "total_count" ], - "title": "SignSSHCertificateRequestV1", + "title": "StartupAttemptsV1", "type": "object" }, - "SignSSHCertificateResponseV1": { - "description": "Response containing a signed SSH certificate for proxy authentication.", - "properties": { - "ssh_certificate": { - "description": "The signed SSH certificate in OpenSSH format.", - "title": "Ssh Certificate", - "type": "string" - }, - "jwt": { - "description": "Signed JWT (ES256) for SSH proxy authorization.", - "title": "Jwt", - "type": "string" - }, - "proxy_address": { - "description": "Address of the SSH proxy to connect to (host:port).", - "title": "Proxy Address", - "type": "string" - }, - "ssh_cert_expires_at": { - "description": "When the certificate expires, in ISO 8601 format.", - "format": "date-time", - "title": "Ssh Cert Expires At", - "type": "string" - } - }, - "required": [ - "ssh_certificate", - "jwt", - "proxy_address", - "ssh_cert_expires_at" + "StartupSortFieldV1": { + "description": "Field to sort startup attempts by.", + "enum": [ + "OUTCOME", + "STARTED_AT", + "READY_AT", + "DURATION" ], - "title": "SignSSHCertificateResponseV1", - "type": "object" + "title": "StartupSortFieldV1", + "type": "string" }, - "AutoscalingScheduleSettingsV1": { + "GetStartupAttemptsRequestV1": { + "description": "Query params for a startup attempts request (a deployment or an environment).", "properties": { - "min_replica": { - "description": "Minimum number of replicas", - "title": "Min Replica", + "start_epoch_millis": { + "description": "Start of the query window, in epoch milliseconds.", + "title": "Start Epoch Millis", "type": "integer" }, - "max_replica": { - "description": "Maximum number of replicas", - "title": "Max Replica", + "end_epoch_millis": { + "description": "End of the query window, in epoch milliseconds. Must be after the start.", + "title": "End Epoch Millis", "type": "integer" }, - "autoscaling_window": { + "min_duration_ms": { "anyOf": [ { + "minimum": 0, "type": "integer" }, { "type": "null" } ], - "description": "Timeframe of traffic considered for autoscaling decisions. Null inherits the environment value.", - "title": "Autoscaling Window" + "default": null, + "description": "Only include startups that lasted at least this many milliseconds.", + "title": "Min Duration Ms" }, - "scale_down_delay": { + "cursor": { "anyOf": [ { - "type": "integer" + "type": "string" }, { "type": "null" } ], - "description": "Waiting period before scaling down any active replica. Null inherits the environment value.", - "title": "Scale Down Delay" + "default": null, + "description": "Opaque cursor returned by a previous page. Omit to fetch the first page. Pass the same filters and sort as the request that returned it.", + "title": "Cursor" }, - "concurrency_target": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Number of requests per replica before scaling up. Null inherits the environment value.", - "title": "Concurrency Target" + "limit": { + "default": 50, + "description": "Maximum number of attempts to return.", + "maximum": 100, + "minimum": 1, + "title": "Limit", + "type": "integer" }, - "target_utilization_percentage": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Target utilization percentage for scaling up/down. Null inherits the environment value.", - "title": "Target Utilization Percentage" + "outcomes": { + "description": "Only include attempts with one of these outcomes. Repeat to pass several.", + "items": { + "$ref": "#/components/schemas/StartupOutcomeV1" + }, + "title": "Outcomes", + "type": "array" }, - "target_in_flight_tokens": { + "phase": { "anyOf": [ { - "type": "integer" + "$ref": "#/components/schemas/StartupPhaseV1" }, { "type": "null" } ], - "description": "Target number of in-flight tokens for autoscaling decisions. Null inherits the environment value. Early access only.", - "title": "Target In Flight Tokens" + "default": null, + "description": "Only include attempts that spent longer than 0 ms in this phase." }, - "max_scale_down_rate": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Maximum percentage of replicas that can be removed per autoscaling window. Null inherits the environment value.", - "title": "Max Scale Down Rate" - } - }, - "required": [ - "min_replica", - "max_replica", - "autoscaling_window", - "scale_down_delay", - "concurrency_target", - "target_utilization_percentage", - "target_in_flight_tokens", - "max_scale_down_rate" - ], - "title": "AutoscalingScheduleSettingsV1", - "type": "object" - }, - "AutoscalingScheduleStateV1": { - "properties": { - "schedule_id": { + "search": { "anyOf": [ { "type": "string" @@ -22606,475 +22865,359 @@ "type": "null" } ], - "description": "Stable schedule identifier, or null when the baseline settings apply", - "title": "Schedule Id" - }, - "autoscaling_settings": { - "$ref": "#/components/schemas/AutoscalingSettingsV1", - "description": "Autoscaling settings on the current serving deployment. In a PATCH response, this snapshot can precede asynchronous schedule reconciliation; poll the GET endpoint for the applied state." - } - }, - "required": [ - "schedule_id", - "autoscaling_settings" - ], - "title": "AutoscalingScheduleStateV1", - "type": "object" - }, - "AutoscalingScheduleV1": { - "properties": { - "id": { - "description": "Stable unique identifier of the schedule", - "title": "Id", - "type": "string" - }, - "name": { - "description": "Name of the schedule", - "title": "Name", - "type": "string" - }, - "enabled": { - "description": "Whether the schedule is enabled", - "title": "Enabled", - "type": "boolean" - }, - "autoscaling_settings": { - "$ref": "#/components/schemas/AutoscalingScheduleSettingsV1", - "description": "Raw autoscaling overrides applied during the schedule window" - }, - "cadence": { - "description": "Cadence of the schedule. DAILY runs once per selected weekday; HOURLY repeats the minute window every hour on selected weekdays.", - "enum": [ - "DAILY", - "HOURLY" - ], - "title": "Cadence", - "type": "string" - }, - "weekdays": { - "description": "Weekdays on which the schedule runs", - "items": { - "$ref": "#/components/schemas/AutoscalingScheduleWeekdayV1" - }, - "title": "Weekdays", - "type": "array" + "default": null, + "description": "Only include attempts whose replica ID matches exactly, or whose deployment name contains this text (case-insensitive).", + "title": "Search" }, - "start_hour": { + "sort_by": { "anyOf": [ { - "type": "integer" + "$ref": "#/components/schemas/StartupSortFieldV1" }, { "type": "null" } ], "default": null, - "description": "Start hour in the environment schedule timezone. Omitted for unrestricted HOURLY schedules.", - "title": "Start Hour" - }, - "start_minute": { - "description": "Start minute of the schedule window", - "title": "Start Minute", - "type": "integer" + "description": "Field to sort attempts by. Defaults to `STARTED_AT`." }, - "end_hour": { + "direction": { "anyOf": [ { - "type": "integer" + "$ref": "#/components/schemas/SortOrderV1" }, { "type": "null" } ], "default": null, - "description": "End hour in the environment schedule timezone. Omitted for unrestricted HOURLY schedules.", - "title": "End Hour" - }, - "end_minute": { - "description": "End minute of the schedule window", - "title": "End Minute", - "type": "integer" + "description": "Sort direction. Defaults to `desc`." } }, "required": [ - "id", - "name", - "enabled", - "autoscaling_settings", - "cadence", - "weekdays", - "start_minute", - "end_minute" + "start_epoch_millis", + "end_epoch_millis" ], - "title": "AutoscalingScheduleV1", + "title": "GetStartupAttemptsRequestV1", "type": "object" }, - "AutoscalingScheduleWeekdayV1": { - "enum": [ - "SUNDAY", - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY" - ], - "title": "AutoscalingScheduleWeekdayV1", - "type": "string" - }, - "EnvironmentAutoscalingSchedulesV1": { + "StartupPercentilesV1": { + "description": "A distribution of startup durations.\n\nStatistics cover only samples longer than 0 ms and are null when there are none.", "properties": { - "timezone": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "IANA timezone shared by all schedules. Omitted when no schedules exist.", - "title": "Timezone" - }, - "schedules": { - "description": "Autoscaling schedules ordered by creation time and stable identifier", - "items": { - "discriminator": { - "mapping": { - "DAILY": "#/components/schemas/AutoscalingScheduleV1", - "HOURLY": "#/components/schemas/AutoscalingScheduleV1", - "ONE_TIME": "#/components/schemas/OneTimeAutoscalingScheduleV1" - }, - "propertyName": "cadence" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/AutoscalingScheduleV1" - }, - { - "$ref": "#/components/schemas/OneTimeAutoscalingScheduleV1" - } - ] - }, - "title": "Schedules", - "type": "array" + "sample_count": { + "description": "Number of startups in the distribution, including those that took 0 ms. A phase that finishes within a second can record 0 ms.", + "title": "Sample Count", + "type": "integer" }, - "applied_state": { + "mean_ms": { "anyOf": [ { - "$ref": "#/components/schemas/AutoscalingScheduleStateV1" + "type": "integer" }, { "type": "null" } ], - "description": "Autoscaling state on the current serving deployment, or null when no deployment exists" - } - }, - "required": [ - "schedules", - "applied_state" - ], - "title": "EnvironmentAutoscalingSchedulesV1", - "type": "object" - }, - "EnvironmentV1": { - "description": "Environment for oracles.", - "properties": { - "name": { - "description": "Name of the environment", - "title": "Name", - "type": "string" - }, - "created_at": { - "description": "Time the environment was created in ISO 8601 format", - "format": "date-time", - "title": "Created At", - "type": "string" - }, - "model_id": { - "description": "Unique identifier of the model", - "title": "Model Id", - "type": "string" + "description": "Mean duration, in milliseconds.", + "title": "Mean Ms" }, - "current_deployment": { + "p50_ms": { "anyOf": [ { - "$ref": "#/components/schemas/DeploymentV1" + "type": "integer" }, { "type": "null" } ], - "description": "Current deployment of the environment" + "description": "50th percentile duration, in milliseconds.", + "title": "P50 Ms" }, - "candidate_deployment": { + "p90_ms": { "anyOf": [ { - "$ref": "#/components/schemas/DeploymentV1" + "type": "integer" }, { "type": "null" } ], - "default": null, - "description": "Candidate deployment being promoted to the environment, if a promotion is in progress" + "description": "90th percentile duration, in milliseconds.", + "title": "P90 Ms" }, - "in_progress_promotion": { + "p95_ms": { "anyOf": [ { - "$ref": "#/components/schemas/InProgressPromotionV1" + "type": "integer" }, { "type": "null" } ], - "default": null, - "description": "Details of the in-progress promotion, if any" - }, - "autoscaling_settings": { - "$ref": "#/components/schemas/AutoscalingSettingsV1", - "description": "Autoscaling settings for the environment" - }, - "promotion_settings": { - "$ref": "#/components/schemas/PromotionSettingsV1", - "description": "Promotion settings for the environment" - }, - "instance_type": { - "$ref": "#/components/schemas/InstanceTypeV1", - "description": "Instance type for the environment" - }, - "request_backpressure_settings": { - "$ref": "#/components/schemas/RequestBackpressureSettingsV1", - "description": "Request backpressure settings for the environment." + "description": "95th percentile duration, in milliseconds.", + "title": "P95 Ms" }, - "autoscaling_schedules": { + "p99_ms": { "anyOf": [ { - "$ref": "#/components/schemas/EnvironmentAutoscalingSchedulesV1" + "type": "integer" }, { "type": "null" } ], - "default": null, - "description": "Autoscaling schedules and their evaluated state" + "description": "99th percentile duration, in milliseconds.", + "title": "P99 Ms" } }, "required": [ - "name", - "created_at", - "model_id", - "current_deployment", - "autoscaling_settings", - "promotion_settings", - "instance_type", - "request_backpressure_settings" + "sample_count", + "mean_ms", + "p50_ms", + "p90_ms", + "p95_ms", + "p99_ms" ], - "title": "EnvironmentV1", + "title": "StartupPercentilesV1", "type": "object" }, - "InProgressPromotionStatusV1": { - "enum": [ - "RELEASING", - "RAMPING_UP", - "RAMPING_DOWN", - "PAUSED", - "SUCCEEDED", - "FAILED", - "CANCELED" + "StartupPhasePercentilesV1": { + "description": "The duration distribution of one startup phase.", + "properties": { + "phase": { + "$ref": "#/components/schemas/StartupPhaseV1", + "description": "The phase." + }, + "duration_ms": { + "$ref": "#/components/schemas/StartupPercentilesV1", + "description": "Durations of the phase." + } + }, + "required": [ + "phase", + "duration_ms" ], - "title": "InProgressPromotionStatusV1", - "type": "string" + "title": "StartupPhasePercentilesV1", + "type": "object" }, - "InProgressPromotionV1": { - "description": "Details of an in-progress promotion.", + "StartupSummaryV1": { + "description": "Startup duration distributions over a time window.", "properties": { - "status": { - "$ref": "#/components/schemas/InProgressPromotionStatusV1", - "description": "Status of the promotion" + "start_epoch_millis": { + "description": "Start of the returned window.", + "title": "Start Epoch Millis", + "type": "integer" }, - "percent_traffic_to_new_version": { - "description": "Percentage of traffic routed to the candidate deployment", - "title": "Percent Traffic To New Version", + "end_epoch_millis": { + "description": "End of the returned window.", + "title": "End Epoch Millis", "type": "integer" }, - "error_message": { + "total_duration_ms": { + "$ref": "#/components/schemas/StartupPercentilesV1", + "description": "Durations of whole startups, sampled from the 1,000 most recent in the window." + }, + "phase_duration_ms": { + "description": "Durations of each phase that was recorded in the window.", + "items": { + "$ref": "#/components/schemas/StartupPhasePercentilesV1" + }, + "title": "Phase Duration Ms", + "type": "array" + } + }, + "required": [ + "start_epoch_millis", + "end_epoch_millis", + "total_duration_ms", + "phase_duration_ms" + ], + "title": "StartupSummaryV1", + "type": "object" + }, + "GetStartupSummaryRequestV1": { + "description": "Query params for a startup summary request (a deployment or an environment).", + "properties": { + "start_epoch_millis": { + "description": "Start of the query window, in epoch milliseconds.", + "title": "Start Epoch Millis", + "type": "integer" + }, + "end_epoch_millis": { + "description": "End of the query window, in epoch milliseconds. Must be after the start.", + "title": "End Epoch Millis", + "type": "integer" + }, + "min_duration_ms": { "anyOf": [ { - "type": "string" + "minimum": 0, + "type": "integer" }, { "type": "null" } ], "default": null, - "description": "Error message if promotion failed", - "title": "Error Message" + "description": "Only include startups that lasted at least this many milliseconds.", + "title": "Min Duration Ms" + } + }, + "required": [ + "start_epoch_millis", + "end_epoch_millis" + ], + "title": "GetStartupSummaryRequestV1", + "type": "object" + }, + "TerminateReplicaResponseV1": { + "description": "The response to a request to terminate a replica in a deployment.", + "properties": { + "success": { + "default": true, + "description": "Whether the replica was successfully terminated", + "title": "Success", + "type": "boolean" + } + }, + "title": "TerminateReplicaResponseV1", + "type": "object" + }, + "SignSSHCertificateRequestV1": { + "description": "Request to sign an SSH certificate for accessing a workload pod.", + "properties": { + "public_key": { + "description": "The user's SSH public key (e.g., 'ssh-ed25519 AAAA... user@host').", + "title": "Public Key", + "type": "string" }, - "rolling_deploy": { + "replica_id": { "anyOf": [ { - "type": "boolean" + "type": "string" }, { "type": "null" } ], "default": null, - "description": "Whether this is a rolling deploy", - "title": "Rolling Deploy" + "description": "The replica to connect to. Required for training jobs (e.g. '0'). Optional for inference (server picks a running replica if omitted).", + "title": "Replica Id" } }, "required": [ - "status", - "percent_traffic_to_new_version" + "public_key" ], - "title": "InProgressPromotionV1", + "title": "SignSSHCertificateRequestV1", "type": "object" }, - "OneTimeAutoscalingScheduleV1": { + "SignSSHCertificateResponseV1": { + "description": "Response containing a signed SSH certificate for proxy authentication.", "properties": { - "id": { - "description": "Stable unique identifier of the schedule", - "title": "Id", - "type": "string" - }, - "name": { - "description": "Name of the schedule", - "title": "Name", - "type": "string" - }, - "enabled": { - "description": "Whether the schedule is enabled", - "title": "Enabled", - "type": "boolean" - }, - "autoscaling_settings": { - "$ref": "#/components/schemas/AutoscalingScheduleSettingsV1", - "description": "Raw autoscaling overrides applied during the schedule window" + "ssh_certificate": { + "description": "The signed SSH certificate in OpenSSH format.", + "title": "Ssh Certificate", + "type": "string" }, - "cadence": { - "const": "ONE_TIME", - "description": "One-time schedule cadence", - "title": "Cadence", + "jwt": { + "description": "Signed JWT (ES256) for SSH proxy authorization.", + "title": "Jwt", "type": "string" }, - "start_at": { - "description": "Inclusive start of the schedule window", - "format": "date-time", - "title": "Start At", + "proxy_address": { + "description": "Address of the SSH proxy to connect to (host:port).", + "title": "Proxy Address", "type": "string" }, - "end_at": { - "description": "Exclusive end of the schedule window", + "ssh_cert_expires_at": { + "description": "When the certificate expires, in ISO 8601 format.", "format": "date-time", - "title": "End At", + "title": "Ssh Cert Expires At", "type": "string" } }, "required": [ - "id", - "name", - "enabled", - "autoscaling_settings", - "cadence", - "start_at", - "end_at" + "ssh_certificate", + "jwt", + "proxy_address", + "ssh_cert_expires_at" ], - "title": "OneTimeAutoscalingScheduleV1", + "title": "SignSSHCertificateResponseV1", "type": "object" }, - "PromotionCleanupStrategyV1": { - "description": "The promotion cleanup strategy.", - "enum": [ - "KEEP", - "SCALE_TO_ZERO", - "DEACTIVATE" - ], - "title": "PromotionCleanupStrategyV1", - "type": "string" - }, - "PromotionSettingsV1": { - "description": "Promotion settings for promoting chains and oracles", + "AutoscalingScheduleSettingsV1": { "properties": { - "redeploy_on_promotion": { + "min_replica": { + "description": "Minimum number of replicas", + "title": "Min Replica", + "type": "integer" + }, + "max_replica": { + "description": "Maximum number of replicas", + "title": "Max Replica", + "type": "integer" + }, + "autoscaling_window": { "anyOf": [ { - "type": "boolean" + "type": "integer" }, { "type": "null" } ], - "default": false, - "description": "Whether to deploy on all promotions. Enabling this flag allows model code to safely handle environment-specific logic. When a deployment is promoted, a new deployment will be created with a copy of the image.", - "examples": [ - true - ], - "title": "Redeploy On Promotion" + "description": "Timeframe of traffic considered for autoscaling decisions. Null inherits the environment value.", + "title": "Autoscaling Window" }, - "rolling_deploy": { + "scale_down_delay": { "anyOf": [ { - "type": "boolean" + "type": "integer" }, { "type": "null" } ], - "default": false, - "description": "Whether the environment should rely on rolling deploy orchestration.", - "examples": [ - true - ], - "title": "Rolling Deploy" + "description": "Waiting period before scaling down any active replica. Null inherits the environment value.", + "title": "Scale Down Delay" }, - "promotion_cleanup_strategy": { + "concurrency_target": { "anyOf": [ { - "$ref": "#/components/schemas/PromotionCleanupStrategyV1" + "type": "integer" }, { "type": "null" } ], - "default": "SCALE_TO_ZERO", - "description": "The cleanup strategy to use after a promotion completes.", - "examples": [ - "SCALE_TO_ZERO" - ] + "description": "Number of requests per replica before scaling up. Null inherits the environment value.", + "title": "Concurrency Target" }, - "rolling_deploy_config": { + "target_utilization_percentage": { "anyOf": [ { - "$ref": "#/components/schemas/RollingDeployConfigV1" + "type": "integer" }, { "type": "null" } ], - "default": null, - "description": "Rolling deploy configuration for promotions" + "description": "Target utilization percentage for scaling up/down. Null inherits the environment value.", + "title": "Target Utilization Percentage" }, - "ramp_up_while_promoting": { + "target_in_flight_tokens": { "anyOf": [ { - "type": "boolean" + "type": "integer" }, { "type": "null" } ], - "default": false, - "description": "Whether to ramp up traffic while promoting", - "examples": [ - true - ], - "title": "Ramp Up While Promoting" + "description": "Target number of in-flight tokens for autoscaling decisions. Null inherits the environment value. Early access only.", + "title": "Target In Flight Tokens" }, - "ramp_up_duration_seconds": { + "max_scale_down_rate": { "anyOf": [ { "type": "integer" @@ -23083,691 +23226,668 @@ "type": "null" } ], - "default": 600, - "description": "Duration of the ramp up in seconds", - "examples": [ - 600 - ], - "title": "Ramp Up Duration Seconds" - } - }, - "title": "PromotionSettingsV1", - "type": "object" - }, - "RollingDeployConfigV1": { - "description": "Rolling deploy config for promoting chains and oracles", - "properties": { - "rolling_deploy_strategy": { - "$ref": "#/components/schemas/RollingDeployStrategyV1", - "default": "REPLICA", - "description": "The rolling deploy strategy to use for promotions.", - "examples": [ - "REPLICA" - ] - }, - "max_surge_percent": { - "default": 25, - "description": "The maximum surge percentage for rolling deploys.", - "examples": [ - 25 - ], - "title": "Max Surge Percent", - "type": "integer" - }, - "max_unavailable_percent": { - "default": 0, - "description": "The maximum unavailable percentage for rolling deploys.", - "examples": [ - 10 - ], - "title": "Max Unavailable Percent", - "type": "integer" - }, - "stabilization_time_seconds": { - "default": 0, - "description": "The stabilization time in seconds for rolling deploys.", - "examples": [ - 300 - ], - "title": "Stabilization Time Seconds", - "type": "integer" - }, - "replica_overhead_percent": { - "default": 0, - "description": "The replica overhead percentage for rolling deploys.", - "examples": [ - 0 - ], - "title": "Replica Overhead Percent", - "type": "integer" - } - }, - "title": "RollingDeployConfigV1", - "type": "object" - }, - "RollingDeployStrategyV1": { - "description": "The rolling deploy strategy.", - "enum": [ - "REPLICA" - ], - "title": "RollingDeployStrategyV1", - "type": "string" - }, - "EnvironmentsV1": { - "description": "list of environments", - "properties": { - "environments": { - "items": { - "$ref": "#/components/schemas/EnvironmentV1" - }, - "title": "Environments", - "type": "array" + "description": "Maximum percentage of replicas that can be removed per autoscaling window. Null inherits the environment value.", + "title": "Max Scale Down Rate" } }, "required": [ - "environments" + "min_replica", + "max_replica", + "autoscaling_window", + "scale_down_delay", + "concurrency_target", + "target_utilization_percentage", + "target_in_flight_tokens", + "max_scale_down_rate" ], - "title": "EnvironmentsV1", + "title": "AutoscalingScheduleSettingsV1", "type": "object" }, - "UpdatePromotionSettingsV1": { - "description": "Promotion settings for model promotion", + "AutoscalingScheduleStateV1": { "properties": { - "redeploy_on_promotion": { + "schedule_id": { "anyOf": [ { - "type": "boolean" + "type": "string" }, { "type": "null" } ], - "default": null, - "description": "Whether to deploy on all promotions. Enabling this flag allows model code to safely handle environment-specific logic. When a deployment is promoted, a new deployment will be created with a copy of the image.", - "examples": [ - true + "description": "Stable schedule identifier, or null when the baseline settings apply", + "title": "Schedule Id" + }, + "autoscaling_settings": { + "$ref": "#/components/schemas/AutoscalingSettingsV1", + "description": "Autoscaling settings on the current serving deployment. In a PATCH response, this snapshot can precede asynchronous schedule reconciliation; poll the GET endpoint for the applied state." + } + }, + "required": [ + "schedule_id", + "autoscaling_settings" + ], + "title": "AutoscalingScheduleStateV1", + "type": "object" + }, + "AutoscalingScheduleV1": { + "properties": { + "id": { + "description": "Stable unique identifier of the schedule", + "title": "Id", + "type": "string" + }, + "name": { + "description": "Name of the schedule", + "title": "Name", + "type": "string" + }, + "enabled": { + "description": "Whether the schedule is enabled", + "title": "Enabled", + "type": "boolean" + }, + "autoscaling_settings": { + "$ref": "#/components/schemas/AutoscalingScheduleSettingsV1", + "description": "Raw autoscaling overrides applied during the schedule window" + }, + "cadence": { + "description": "Cadence of the schedule. DAILY runs once per selected weekday; HOURLY repeats the minute window every hour on selected weekdays.", + "enum": [ + "DAILY", + "HOURLY" ], - "title": "Redeploy On Promotion" + "title": "Cadence", + "type": "string" }, - "rolling_deploy": { + "weekdays": { + "description": "Weekdays on which the schedule runs", + "items": { + "$ref": "#/components/schemas/AutoscalingScheduleWeekdayV1" + }, + "title": "Weekdays", + "type": "array" + }, + "start_hour": { "anyOf": [ { - "type": "boolean" + "type": "integer" }, { "type": "null" } ], "default": null, - "description": "Whether the environment should rely on rolling deploy orchestration.", - "examples": [ - true - ], - "title": "Rolling Deploy" + "description": "Start hour in the environment schedule timezone. Omitted for unrestricted HOURLY schedules.", + "title": "Start Hour" }, - "promotion_cleanup_strategy": { + "start_minute": { + "description": "Start minute of the schedule window", + "title": "Start Minute", + "type": "integer" + }, + "end_hour": { "anyOf": [ { - "$ref": "#/components/schemas/PromotionCleanupStrategyV1" + "type": "integer" }, { "type": "null" } ], "default": null, - "description": "The cleanup strategy to use after a promotion completes.", - "examples": [ - "SCALE_TO_ZERO" - ] + "description": "End hour in the environment schedule timezone. Omitted for unrestricted HOURLY schedules.", + "title": "End Hour" }, - "rolling_deploy_config": { + "end_minute": { + "description": "End minute of the schedule window", + "title": "End Minute", + "type": "integer" + } + }, + "required": [ + "id", + "name", + "enabled", + "autoscaling_settings", + "cadence", + "weekdays", + "start_minute", + "end_minute" + ], + "title": "AutoscalingScheduleV1", + "type": "object" + }, + "EnvironmentAutoscalingSchedulesV1": { + "properties": { + "timezone": { "anyOf": [ { - "$ref": "#/components/schemas/UpdateRollingDeployConfigV1" + "type": "string" }, { "type": "null" } ], "default": null, - "description": "Rolling deploy configuration for promotions" + "description": "IANA timezone shared by all schedules. Omitted when no schedules exist.", + "title": "Timezone" }, - "ramp_up_while_promoting": { - "anyOf": [ - { - "type": "boolean" + "schedules": { + "description": "Autoscaling schedules ordered by creation time and stable identifier", + "items": { + "discriminator": { + "mapping": { + "DAILY": "#/components/schemas/AutoscalingScheduleV1", + "HOURLY": "#/components/schemas/AutoscalingScheduleV1", + "ONE_TIME": "#/components/schemas/OneTimeAutoscalingScheduleV1" + }, + "propertyName": "cadence" }, - { - "type": "null" - } - ], - "default": null, - "description": "Whether to ramp up traffic while promoting", - "examples": [ - true - ], - "title": "Ramp Up While Promoting" + "oneOf": [ + { + "$ref": "#/components/schemas/AutoscalingScheduleV1" + }, + { + "$ref": "#/components/schemas/OneTimeAutoscalingScheduleV1" + } + ] + }, + "title": "Schedules", + "type": "array" }, - "ramp_up_duration_seconds": { + "applied_state": { "anyOf": [ { - "type": "integer" + "$ref": "#/components/schemas/AutoscalingScheduleStateV1" }, { "type": "null" } ], - "default": null, - "description": "Duration of the ramp up in seconds", - "examples": [ - 600 - ], - "title": "Ramp Up Duration Seconds" + "description": "Autoscaling state on the current serving deployment, or null when no deployment exists" } }, - "title": "UpdatePromotionSettingsV1", + "required": [ + "schedules", + "applied_state" + ], + "title": "EnvironmentAutoscalingSchedulesV1", "type": "object" }, - "UpdateRollingDeployConfigV1": { - "description": "Rolling deploy config for promoting chains and oracles", + "EnvironmentV1": { + "description": "Environment for oracles.", "properties": { - "rolling_deploy_strategy": { - "anyOf": [ - { - "$ref": "#/components/schemas/RollingDeployStrategyV1" - }, - { - "type": "null" - } - ], - "default": null, - "description": "The rolling deploy strategy to use for promotions.", - "examples": [ - "REPLICA" - ] + "name": { + "description": "Name of the environment", + "title": "Name", + "type": "string" }, - "max_surge_percent": { + "created_at": { + "description": "Time the environment was created in ISO 8601 format", + "format": "date-time", + "title": "Created At", + "type": "string" + }, + "model_id": { + "description": "Unique identifier of the model", + "title": "Model Id", + "type": "string" + }, + "current_deployment": { "anyOf": [ { - "type": "integer" + "$ref": "#/components/schemas/DeploymentV1" }, { "type": "null" } ], - "default": null, - "description": "The maximum surge percentage for rolling deploys.", - "examples": [ - 25 - ], - "title": "Max Surge Percent" + "description": "Current deployment of the environment" }, - "max_unavailable_percent": { + "candidate_deployment": { "anyOf": [ { - "type": "integer" + "$ref": "#/components/schemas/DeploymentV1" }, { "type": "null" } ], "default": null, - "description": "The maximum unavailable percentage for rolling deploys.", - "examples": [ - 10 - ], - "title": "Max Unavailable Percent" + "description": "Candidate deployment being promoted to the environment, if a promotion is in progress" }, - "stabilization_time_seconds": { + "in_progress_promotion": { "anyOf": [ { - "type": "integer" + "$ref": "#/components/schemas/InProgressPromotionV1" }, { "type": "null" } ], "default": null, - "description": "The stabilization time in seconds for rolling deploys.", - "examples": [ - 300 - ], - "title": "Stabilization Time Seconds" + "description": "Details of the in-progress promotion, if any" }, - "replica_overhead_percent": { + "autoscaling_settings": { + "$ref": "#/components/schemas/AutoscalingSettingsV1", + "description": "Autoscaling settings for the environment" + }, + "promotion_settings": { + "$ref": "#/components/schemas/PromotionSettingsV1", + "description": "Promotion settings for the environment" + }, + "instance_type": { + "$ref": "#/components/schemas/InstanceTypeV1", + "description": "Instance type for the environment" + }, + "request_backpressure_settings": { + "$ref": "#/components/schemas/RequestBackpressureSettingsV1", + "description": "Request backpressure settings for the environment." + }, + "autoscaling_schedules": { "anyOf": [ { - "type": "integer" + "$ref": "#/components/schemas/EnvironmentAutoscalingSchedulesV1" }, { "type": "null" } ], "default": null, - "description": "The replica overhead percentage for rolling deploys.", - "examples": [ - 0 - ], - "title": "Replica Overhead Percent" + "description": "Autoscaling schedules and their evaluated state" } }, - "title": "UpdateRollingDeployConfigV1", + "required": [ + "name", + "created_at", + "model_id", + "current_deployment", + "autoscaling_settings", + "promotion_settings", + "instance_type", + "request_backpressure_settings" + ], + "title": "EnvironmentV1", "type": "object" }, - "CreateEnvironmentRequestV1": { - "description": "A request to create an environment.", - "properties": { - "name": { - "description": "Name of the environment", - "examples": [ - "staging" - ], - "title": "Name", - "type": "string" - }, - "autoscaling_settings": { - "anyOf": [ - { - "$ref": "#/components/schemas/UpdateAutoscalingSettingsV1" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Autoscaling settings for the environment", - "examples": [ - { - "autoscaling_window": 800, - "concurrency_target": 3, - "max_replica": 2, - "max_scale_down_rate": null, - "min_replica": 1, - "scale_down_delay": 60, - "target_in_flight_tokens": null, - "target_utilization_percentage": null - } - ] + "InProgressPromotionStatusV1": { + "enum": [ + "RELEASING", + "RAMPING_UP", + "RAMPING_DOWN", + "PAUSED", + "SUCCEEDED", + "FAILED", + "CANCELED" + ], + "title": "InProgressPromotionStatusV1", + "type": "string" + }, + "InProgressPromotionV1": { + "description": "Details of an in-progress promotion.", + "properties": { + "status": { + "$ref": "#/components/schemas/InProgressPromotionStatusV1", + "description": "Status of the promotion" }, - "promotion_settings": { + "percent_traffic_to_new_version": { + "description": "Percentage of traffic routed to the candidate deployment", + "title": "Percent Traffic To New Version", + "type": "integer" + }, + "error_message": { "anyOf": [ { - "$ref": "#/components/schemas/UpdatePromotionSettingsV1" + "type": "string" }, { "type": "null" } ], "default": null, - "description": "Promotion settings for the environment. New Model environments use rolling promotions by default. Set `rolling_deploy` to `false` to opt out.", - "examples": [ - { - "promotion_cleanup_strategy": null, - "ramp_up_duration_seconds": 600, - "ramp_up_while_promoting": true, - "redeploy_on_promotion": true, - "rolling_deploy": false, - "rolling_deploy_config": null - } - ] + "description": "Error message if promotion failed", + "title": "Error Message" }, - "request_backpressure_settings": { + "rolling_deploy": { "anyOf": [ { - "$ref": "#/components/schemas/UpdateRequestBackpressureSettingsV1" + "type": "boolean" }, { "type": "null" } ], "default": null, - "description": "Request backpressure settings for the environment." + "description": "Whether this is a rolling deploy", + "title": "Rolling Deploy" } }, "required": [ - "name" + "status", + "percent_traffic_to_new_version" ], - "title": "CreateEnvironmentRequestV1", + "title": "InProgressPromotionV1", "type": "object" }, - "EnvironmentTombstoneV1": { - "description": "An environment tombstone.", + "OneTimeAutoscalingScheduleV1": { "properties": { + "id": { + "description": "Stable unique identifier of the schedule", + "title": "Id", + "type": "string" + }, "name": { - "description": "Name of the environment", + "description": "Name of the schedule", "title": "Name", "type": "string" }, - "model_id": { - "description": "Unique identifier of the model", - "title": "Model Id", + "enabled": { + "description": "Whether the schedule is enabled", + "title": "Enabled", + "type": "boolean" + }, + "autoscaling_settings": { + "$ref": "#/components/schemas/AutoscalingScheduleSettingsV1", + "description": "Raw autoscaling overrides applied during the schedule window" + }, + "cadence": { + "const": "ONE_TIME", + "description": "One-time schedule cadence", + "title": "Cadence", "type": "string" }, - "deleted": { - "description": "Whether the environment was deleted", - "title": "Deleted", - "type": "boolean" + "start_at": { + "description": "Inclusive start of the schedule window", + "format": "date-time", + "title": "Start At", + "type": "string" + }, + "end_at": { + "description": "Exclusive end of the schedule window", + "format": "date-time", + "title": "End At", + "type": "string" } }, "required": [ + "id", "name", - "model_id", - "deleted" + "enabled", + "autoscaling_settings", + "cadence", + "start_at", + "end_at" ], - "title": "EnvironmentTombstoneV1", + "title": "OneTimeAutoscalingScheduleV1", "type": "object" }, - "AutoscalingScheduleSettingsRequestV1": { - "additionalProperties": false, - "description": "A complete set of raw autoscaling overrides for a schedule.", + "PromotionSettingsV1": { + "description": "Promotion settings for promoting chains and oracles", "properties": { - "min_replica": { - "description": "Minimum number of replicas", - "title": "Min Replica", - "type": "integer" - }, - "max_replica": { - "description": "Maximum number of replicas", - "title": "Max Replica", - "type": "integer" - }, - "autoscaling_window": { + "redeploy_on_promotion": { "anyOf": [ { - "type": "integer" + "type": "boolean" }, { "type": "null" } ], - "description": "Timeframe of traffic considered for autoscaling decisions. Null stores no schedule override and follows the current environment value.", - "title": "Autoscaling Window" + "default": false, + "description": "Whether to deploy on all promotions. Enabling this flag allows model code to safely handle environment-specific logic. When a deployment is promoted, a new deployment will be created with a copy of the image.", + "examples": [ + true + ], + "title": "Redeploy On Promotion" }, - "scale_down_delay": { + "rolling_deploy": { "anyOf": [ { - "type": "integer" + "type": "boolean" }, { "type": "null" } ], - "description": "Waiting period before scaling down any active replica. Null stores no schedule override and follows the current environment value.", - "title": "Scale Down Delay" + "default": false, + "description": "Whether the environment should rely on rolling deploy orchestration.", + "examples": [ + true + ], + "title": "Rolling Deploy" }, - "concurrency_target": { + "promotion_cleanup_strategy": { "anyOf": [ { - "type": "integer" + "$ref": "#/components/schemas/PromotionCleanupStrategyV1" }, { "type": "null" } ], - "description": "Number of requests per replica before scaling up. Null stores no schedule override and follows the current environment value.", - "title": "Concurrency Target" + "default": "SCALE_TO_ZERO", + "description": "The cleanup strategy to use after a promotion completes.", + "examples": [ + "SCALE_TO_ZERO" + ] }, - "target_utilization_percentage": { + "rolling_deploy_config": { "anyOf": [ { - "type": "integer" + "$ref": "#/components/schemas/RollingDeployConfigV1" }, { "type": "null" } ], - "description": "Target utilization percentage for scaling up/down. Null stores no schedule override and follows the current environment value.", - "title": "Target Utilization Percentage" + "default": null, + "description": "Rolling deploy configuration for promotions" }, - "target_in_flight_tokens": { + "ramp_up_while_promoting": { "anyOf": [ { - "type": "integer" + "type": "boolean" }, { "type": "null" } ], - "description": "Target number of in-flight tokens for autoscaling decisions. Null stores no schedule override and follows the current environment value. Early access only.", - "title": "Target In Flight Tokens" + "default": false, + "description": "Whether to ramp up traffic while promoting", + "examples": [ + true + ], + "title": "Ramp Up While Promoting" }, - "max_scale_down_rate": { + "ramp_up_duration_seconds": { "anyOf": [ { - "maximum": 50, - "minimum": 1, "type": "integer" }, { "type": "null" } ], - "description": "Maximum percentage of replicas that can be removed per autoscaling window. Null stores no schedule override and follows the current environment value.", - "title": "Max Scale Down Rate" + "default": 600, + "description": "Duration of the ramp up in seconds", + "examples": [ + 600 + ], + "title": "Ramp Up Duration Seconds" } }, - "required": [ - "min_replica", - "max_replica", - "autoscaling_window", - "scale_down_delay", - "concurrency_target", - "target_utilization_percentage", - "target_in_flight_tokens", - "max_scale_down_rate" + "title": "PromotionSettingsV1", + "type": "object" + }, + "RollingDeployConfigV1": { + "description": "Rolling deploy config for promoting chains and oracles", + "properties": { + "rolling_deploy_strategy": { + "$ref": "#/components/schemas/RollingDeployStrategyV1", + "default": "REPLICA", + "description": "The rolling deploy strategy to use for promotions.", + "examples": [ + "REPLICA" + ] + }, + "max_surge_percent": { + "default": 25, + "description": "The maximum surge percentage for rolling deploys.", + "examples": [ + 25 + ], + "title": "Max Surge Percent", + "type": "integer" + }, + "max_unavailable_percent": { + "default": 0, + "description": "The maximum unavailable percentage for rolling deploys.", + "examples": [ + 10 + ], + "title": "Max Unavailable Percent", + "type": "integer" + }, + "stabilization_time_seconds": { + "default": 0, + "description": "The stabilization time in seconds for rolling deploys.", + "examples": [ + 300 + ], + "title": "Stabilization Time Seconds", + "type": "integer" + }, + "replica_overhead_percent": { + "default": 0, + "description": "The replica overhead percentage for rolling deploys.", + "examples": [ + 0 + ], + "title": "Replica Overhead Percent", + "type": "integer" + } + }, + "title": "RollingDeployConfigV1", + "type": "object" + }, + "EnvironmentsV1": { + "description": "list of environments", + "properties": { + "environments": { + "items": { + "$ref": "#/components/schemas/EnvironmentV1" + }, + "title": "Environments", + "type": "array" + } + }, + "required": [ + "environments" ], - "title": "AutoscalingScheduleSettingsRequestV1", + "title": "EnvironmentsV1", "type": "object" }, - "AutoscalingScheduleUpsertV1": { - "additionalProperties": false, - "description": "A complete recurring schedule submitted for create or replacement.", + "CreateEnvironmentRequestV1": { + "description": "A request to create an environment.", "properties": { - "id": { + "name": { + "description": "Name of the environment", + "examples": [ + "staging" + ], + "title": "Name", + "type": "string" + }, + "autoscaling_settings": { "anyOf": [ { - "type": "string" + "$ref": "#/components/schemas/UpdateAutoscalingSettingsV1" }, { "type": "null" } ], "default": null, - "description": "Stable schedule identifier. Omit this field to create a schedule.", - "title": "Id" - }, - "name": { - "description": "Name of the schedule", - "title": "Name", - "type": "string" - }, - "enabled": { - "description": "Whether the schedule is enabled", - "title": "Enabled", - "type": "boolean" - }, - "autoscaling_settings": { - "$ref": "#/components/schemas/AutoscalingScheduleSettingsRequestV1", - "description": "Complete raw autoscaling overrides for the schedule. Every field is required; nullable fields store no schedule override and follow the current environment value." - }, - "cadence": { - "description": "Recurring schedule cadence", - "enum": [ - "DAILY", - "HOURLY" - ], - "title": "Cadence", - "type": "string" - }, - "weekdays": { - "description": "Weekdays on which the schedule runs", - "items": { - "$ref": "#/components/schemas/AutoscalingScheduleWeekdayV1" - }, - "title": "Weekdays", - "type": "array" + "description": "Autoscaling settings for the environment", + "examples": [ + { + "autoscaling_window": 800, + "concurrency_target": 3, + "max_replica": 2, + "max_scale_down_rate": null, + "min_replica": 1, + "scale_down_delay": 60, + "target_in_flight_tokens": null, + "target_utilization_percentage": null + } + ] }, - "start_hour": { + "promotion_settings": { "anyOf": [ { - "type": "integer" + "$ref": "#/components/schemas/UpdatePromotionSettingsV1" }, { "type": "null" } ], "default": null, - "description": "Start hour in the environment schedule timezone. Omit for unrestricted HOURLY schedules.", - "title": "Start Hour" - }, - "start_minute": { - "description": "Start minute of the schedule window", - "title": "Start Minute", - "type": "integer" + "description": "Promotion settings for the environment. New Model environments use rolling promotions by default. Set `rolling_deploy` to `false` to opt out.", + "examples": [ + { + "promotion_cleanup_strategy": null, + "ramp_up_duration_seconds": 600, + "ramp_up_while_promoting": true, + "redeploy_on_promotion": true, + "rolling_deploy": false, + "rolling_deploy_config": null + } + ] }, - "end_hour": { + "request_backpressure_settings": { "anyOf": [ { - "type": "integer" + "$ref": "#/components/schemas/UpdateRequestBackpressureSettingsV1" }, { "type": "null" } ], "default": null, - "description": "End hour in the environment schedule timezone. Omit for unrestricted HOURLY schedules.", - "title": "End Hour" - }, - "end_minute": { - "description": "End minute of the schedule window", - "title": "End Minute", - "type": "integer" + "description": "Request backpressure settings for the environment." } }, "required": [ - "name", - "enabled", - "autoscaling_settings", - "cadence", - "weekdays", - "start_minute", - "end_minute" + "name" ], - "title": "AutoscalingScheduleUpsertV1", + "title": "CreateEnvironmentRequestV1", "type": "object" }, - "OneTimeAutoscalingScheduleUpsertV1": { - "additionalProperties": false, - "description": "A complete one-time schedule submitted for create or replacement.", + "EnvironmentTombstoneV1": { + "description": "An environment tombstone.", "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Stable schedule identifier. Omit this field to create a schedule.", - "title": "Id" - }, "name": { - "description": "Name of the schedule", + "description": "Name of the environment", "title": "Name", "type": "string" }, - "enabled": { - "description": "Whether the schedule is enabled", - "title": "Enabled", - "type": "boolean" - }, - "autoscaling_settings": { - "$ref": "#/components/schemas/AutoscalingScheduleSettingsRequestV1", - "description": "Complete raw autoscaling overrides for the schedule. Every field is required; nullable fields store no schedule override and follow the current environment value." - }, - "cadence": { - "const": "ONE_TIME", - "description": "One-time schedule cadence", - "title": "Cadence", - "type": "string" - }, - "start_at": { - "description": "Inclusive start of the schedule window in ISO 8601 format. New schedules must start in the future.", - "format": "date-time", - "title": "Start At", + "model_id": { + "description": "Unique identifier of the model", + "title": "Model Id", "type": "string" }, - "end_at": { - "description": "Exclusive end of the schedule window in ISO 8601 format", - "format": "date-time", - "title": "End At", - "type": "string" + "deleted": { + "description": "Whether the environment was deleted", + "title": "Deleted", + "type": "boolean" } }, "required": [ "name", - "enabled", - "autoscaling_settings", - "cadence", - "start_at", - "end_at" + "model_id", + "deleted" ], - "title": "OneTimeAutoscalingScheduleUpsertV1", - "type": "object" - }, - "UpdateAutoscalingScheduleSettingsV1": { - "additionalProperties": false, - "description": "Partial mutation of an environment's autoscaling schedule collection.", - "properties": { - "timezone": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "IANA timezone shared by the resulting collection. Omission preserves the current timezone; null is allowed only when deleting every schedule.", - "title": "Timezone", - "x-null-distinct": true - }, - "schedules": { - "description": "Complete schedules to create or replace. Existing schedules omitted from this list are unchanged.", - "items": { - "discriminator": { - "mapping": { - "DAILY": "#/components/schemas/AutoscalingScheduleUpsertV1", - "HOURLY": "#/components/schemas/AutoscalingScheduleUpsertV1", - "ONE_TIME": "#/components/schemas/OneTimeAutoscalingScheduleUpsertV1" - }, - "propertyName": "cadence" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/AutoscalingScheduleUpsertV1" - }, - { - "$ref": "#/components/schemas/OneTimeAutoscalingScheduleUpsertV1" - } - ] - }, - "title": "Schedules", - "type": "array" - }, - "delete_schedules": { - "description": "Stable identifiers of schedules to delete. To clear all schedules, include every existing schedule identifier.", - "items": { - "type": "string" - }, - "title": "Delete Schedules", - "type": "array" - } - }, - "title": "UpdateAutoscalingScheduleSettingsV1", + "title": "EnvironmentTombstoneV1", "type": "object" }, "UpdateEnvironmentRequestV1": { @@ -24135,6 +24255,45 @@ ], "title": "Preserve Env Instance Type", "type": "boolean" + }, + "environment_settings_update": { + "anyOf": [ + { + "$ref": "#/components/schemas/PromotionEnvironmentSettingsUpdateV1" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Changes to the environment's settings. Omitted fields are unchanged. The promoted deployment uses the environment's current settings with these changes applied, and the environment keeps the result when the promotion completes.", + "examples": [ + { + "autoscaling_settings": { + "max_replica": 4, + "min_replica": 2 + } + } + ] + }, + "promotion_settings_override": { + "anyOf": [ + { + "$ref": "#/components/schemas/UpdatePromotionSettingsV1" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Promotion settings for this promotion only. Omitted fields keep the environment's values, and the environment's promotion settings are unchanged.", + "examples": [ + { + "rolling_deploy_config": { + "max_surge_percent": 50 + } + } + ] } }, "required": [ @@ -28917,7 +29076,7 @@ "description": "A published LoRA config: which modules the adapter targets and how experts are laid out.", "properties": { "config_version": { - "description": "The config version, unique per base model.", + "description": "The config version, like v1.", "title": "Config Version", "type": "string" },