diff --git a/packages/authentication/src/v1/model.ts b/packages/authentication/src/v1/model.ts index e41dd1c5c..93b9bd7e7 100644 --- a/packages/authentication/src/v1/model.ts +++ b/packages/authentication/src/v1/model.ts @@ -101,7 +101,16 @@ export interface FederationPolicy { name?: string | undefined; /** Description of the federation policy. */ description?: string | undefined; - policy?: {$case: 'oidcPolicy'; oidcPolicy: OidcFederationPolicy} | undefined; + policy?: + | { + $case: 'oidcPolicy'; + /** + * audit_mode INCLUDE is required on both this message field and its leaf fields so the OIDC + * policy configuration is captured in create/update audit logs (see go/auditlogs). + */ + oidcPolicy: OidcFederationPolicy; + } + | undefined; /** Creation time of the federation policy. */ createTime?: Temporal.Instant | undefined; /** Last update time of the federation policy. */ diff --git a/packages/features/src/v1/model.ts b/packages/features/src/v1/model.ts index 5e1de8e13..7c38bb287 100644 --- a/packages/features/src/v1/model.ts +++ b/packages/features/src/v1/model.ts @@ -775,6 +775,20 @@ export interface BackfillFeaturesRequest { backfillRanges?: BackfillRange[] | undefined; /** Idempotency token for the request. */ requestId?: string | undefined; + /** + * Custom tags to associate with this backfill. They are applied to the backfill job and + * forwarded to the underlying compute as Databricks resource tags, so backfill cost can be + * attributed in the billing system tables. These tags apply only to the backfill compute; they + * are not applied to the Unity Catalog Feature resources themselves, whose tags are managed + * separately through the Unity Catalog tagging API. A maximum of 25 tags is supported; keys and + * values are subject to the same limitations as Databricks resource tags. + */ + tags?: Record | undefined; + /** + * The budget policy ID, in UUID format, used to attribute the serverless compute cost of this + * backfill. If not specified, a default budget policy may be applied. + */ + budgetPolicyId?: string | undefined; } /** Result of a completed backfill. */ @@ -1781,6 +1795,20 @@ export interface PurgeFeatureEntitiesRequest { | undefined; /** Optional UUID4 idempotency token for the request. */ requestId?: string | undefined; + /** + * Custom tags to associate with this purge. They are applied to the purge job and forwarded to + * the underlying compute as Databricks resource tags, so purge cost can be attributed in the + * billing system tables. These tags apply only to the purge compute; they are not applied to the + * Unity Catalog Feature resources themselves, whose tags are managed separately through the Unity + * Catalog tagging API. A maximum of 25 tags is supported; keys and values are subject to the same + * limitations as Databricks resource tags. + */ + tags?: Record | undefined; + /** + * The budget policy ID, in UUID format, used to attribute the serverless compute cost of this + * purge. If not specified, a default budget policy may be applied. + */ + budgetPolicyId?: string | undefined; } /** Result of a completed feature entity purge. */ @@ -3886,11 +3914,15 @@ export const marshalBackfillFeaturesRequestSchema: z.ZodType = z .array(z.lazy(() => marshalBackfillRangeSchema)) .optional(), requestId: z.string().optional(), + tags: z.record(z.string(), z.string()).optional(), + budgetPolicyId: z.string().optional(), }) .transform(d => ({ feature_full_names: d.featureFullNames, backfill_ranges: d.backfillRanges, request_id: d.requestId, + tags: d.tags, + budget_policy_id: d.budgetPolicyId, })); export const marshalBackfillRangeSchema: z.ZodType = z @@ -4628,6 +4660,8 @@ export const marshalPurgeFeatureEntitiesRequestSchema: z.ZodType = z ]) .optional(), requestId: z.string().optional(), + tags: z.record(z.string(), z.string()).optional(), + budgetPolicyId: z.string().optional(), }) .transform(d => ({ features: d.features, @@ -4635,6 +4669,8 @@ export const marshalPurgeFeatureEntitiesRequestSchema: z.ZodType = z entities_table: d.entities.entitiesTable, }), request_id: d.requestId, + tags: d.tags, + budget_policy_id: d.budgetPolicyId, })); export const marshalRequestSourceSchema: z.ZodType = z diff --git a/packages/jobs/src/v2/model.ts b/packages/jobs/src/v2/model.ts index 15d8814c4..8cfa3a8e4 100644 --- a/packages/jobs/src/v2/model.ts +++ b/packages/jobs/src/v2/model.ts @@ -2900,6 +2900,10 @@ export interface JobEmailNotifications { * Alerting is based on the 10-minute average of these metrics. If the issue persists, notifications are resent every 30 minutes. */ onStreamingBacklogExceeded?: string[] | undefined; + /** A list of email addresses to notify when platform-initiated maintenance starts for a continuous job. */ + onMaintenanceStart?: string[] | undefined; + /** A list of email addresses to notify when platform-initiated maintenance completes for a continuous job. */ + onMaintenanceComplete?: string[] | undefined; /** * If true, do not send email to recipients specified in `on_failure` if the run is skipped. * This field is `deprecated`. Please use the `notification_settings.no_alert_for_skipped_runs` field. @@ -5537,6 +5541,16 @@ export interface WebhookNotifications { * A maximum of 3 destinations can be specified for the `on_streaming_backlog_exceeded` property. */ onStreamingBacklogExceeded?: Webhook[] | undefined; + /** + * An optional list of system notification IDs to call when platform-initiated maintenance starts for a continuous job. + * A maximum of 3 destinations can be specified for the `on_maintenance_start` property. + */ + onMaintenanceStart?: Webhook[] | undefined; + /** + * An optional list of system notification IDs to call when platform-initiated maintenance completes for a continuous job. + * A maximum of 3 destinations can be specified for the `on_maintenance_complete` property. + */ + onMaintenanceComplete?: Webhook[] | undefined; } export interface WidgetErrorDetail { @@ -6890,6 +6904,8 @@ export const unmarshalJobEmailNotificationsSchema: z.ZodType ({ @@ -6899,6 +6915,8 @@ export const unmarshalJobEmailNotificationsSchema: z.ZodType unmarshalWebhookSchema)) .optional(), + on_maintenance_start: z + .array(z.lazy(() => unmarshalWebhookSchema)) + .optional(), + on_maintenance_complete: z + .array(z.lazy(() => unmarshalWebhookSchema)) + .optional(), }) .transform(d => ({ onStart: d.on_start, @@ -9046,6 +9070,8 @@ export const unmarshalWebhookNotificationsSchema: z.ZodType = z @@ -9895,6 +9921,8 @@ export const marshalJobEmailNotificationsSchema: z.ZodType = z onFailure: z.array(z.string()).optional(), onDurationWarningThresholdExceeded: z.array(z.string()).optional(), onStreamingBacklogExceeded: z.array(z.string()).optional(), + onMaintenanceStart: z.array(z.string()).optional(), + onMaintenanceComplete: z.array(z.string()).optional(), noAlertForSkippedRuns: z.boolean().optional(), }) .transform(d => ({ @@ -9904,6 +9932,8 @@ export const marshalJobEmailNotificationsSchema: z.ZodType = z on_duration_warning_threshold_exceeded: d.onDurationWarningThresholdExceeded, on_streaming_backlog_exceeded: d.onStreamingBacklogExceeded, + on_maintenance_start: d.onMaintenanceStart, + on_maintenance_complete: d.onMaintenanceComplete, no_alert_for_skipped_runs: d.noAlertForSkippedRuns, })); @@ -11287,6 +11317,10 @@ export const marshalWebhookNotificationsSchema: z.ZodType = z onStreamingBacklogExceeded: z .array(z.lazy(() => marshalWebhookSchema)) .optional(), + onMaintenanceStart: z.array(z.lazy(() => marshalWebhookSchema)).optional(), + onMaintenanceComplete: z + .array(z.lazy(() => marshalWebhookSchema)) + .optional(), }) .transform(d => ({ on_start: d.onStart, @@ -11295,6 +11329,8 @@ export const marshalWebhookNotificationsSchema: z.ZodType = z on_duration_warning_threshold_exceeded: d.onDurationWarningThresholdExceeded, on_streaming_backlog_exceeded: d.onStreamingBacklogExceeded, + on_maintenance_start: d.onMaintenanceStart, + on_maintenance_complete: d.onMaintenanceComplete, })); export const marshalWorkloadTypeSchema: z.ZodType = z