chore: Update discovery artifacts (#1379)

## Deleted keys were detected in the following stable discovery artifacts:
servicemanagement v1 https://github.com/googleapis/google-api-python-client/commit/ac046117b12b43e03e748ebd0c442b340ed99183

## Discovery Artifact Change Summary:
feat(adexchangebuyer2): update the api https://github.com/googleapis/google-api-python-client/commit/e1ebe49bc9e2e007c61188202f0345c96083c19a
feat(displayvideo): update the api https://github.com/googleapis/google-api-python-client/commit/4f37d8b0d43f2172fdae627605947b3ba15b06c2
feat(gkehub): update the api https://github.com/googleapis/google-api-python-client/commit/e12ff0958ed9016356c8711039a15334d2f0d6f6
feat(servicemanagement): update the api https://github.com/googleapis/google-api-python-client/commit/ac046117b12b43e03e748ebd0c442b340ed99183
feat(spanner): update the api https://github.com/googleapis/google-api-python-client/commit/43f1be2ea175a79e463d77cf3155e7b8ab1b26f6
diff --git a/docs/dyn/displayvideo_v1.advertisers.campaigns.html b/docs/dyn/displayvideo_v1.advertisers.campaigns.html
index a397760..f4b8dd3 100644
--- a/docs/dyn/displayvideo_v1.advertisers.campaigns.html
+++ b/docs/dyn/displayvideo_v1.advertisers.campaigns.html
@@ -283,6 +283,10 @@
         "targetingOptionId": "A String", # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
       },
       "name": "A String", # Output only. The resource name for this assigned targeting option.
+      "nativeContentPositionDetails": { # Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect. # Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+        "contentPosition": "A String", # Output only. The content position.
+        "targetingOptionId": "A String", # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
+      },
       "negativeKeywordListDetails": { # Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.
         "negativeKeywordListId": "A String", # Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.
       },
@@ -425,6 +429,38 @@
 
 { # A single campaign.
   "advertiserId": "A String", # Output only. The unique ID of the advertiser the campaign belongs to.
+  "campaignBudgets": [ # The list of budgets available to this campaign. Setting no budget gives an unlimited campaign budget.
+    { # Settings that control how the campaign budget is allocated.
+      "budgetAmountMicros": "A String", # Required. The budget amount the insertion order will spend for the given date_range. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.
+      "budgetId": "A String", # The unique ID of the campaign budget. If not included, budget is assumed to be new.
+      "budgetUnit": "A String", # Required. Immutable. The budget unit specifies whether the budget is currency based or impression based.
+      "dateRange": { # A date range. # Required. The flight start and end time settings of the segment. Both `start_date` and `end_date` must be before the year 2037.
+        "endDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        "startDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      "displayName": "A String", # Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.
+      "externalBudgetId": "A String", # Immutable. Must be unique under the campaign. If set, all impressions served against this budget will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      "externalBudgetSource": "A String", # Required. The external source of the budget segment.
+      "invoiceGroupingId": "A String", # Immutable. If set, all external_budget_id sharing the same invoice_grouping_id will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      "prismaConfig": { # Settings specific to the MediaOcean Prisma tool. # Required for MediaOcean budgets. Additional metadata set by the MediaOcean Prisma tool.
+        "prismaCpeCode": { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Google Payments Center supports searching and filtering on this code.
+          "prismaClientCode": "A String", # The Prisma client code.
+          "prismaEstimateCode": "A String", # The Prisma estimate code.
+          "prismaProductCode": "A String", # The Prisma product code.
+        },
+        "prismaType": "A String", # Required. The Prisma type.
+        "supplier": "A String", # Required. The entity allocated this budget (DSP, site, etc.).
+      },
+    },
+  ],
   "campaignFlight": { # Settings that track the planned spend and duration of a campaign. # Required. The planned spend and duration of the campaign.
     "plannedDates": { # A date range. # Required. The dates that the campaign is expected to run. They are resolved relative to the parent advertiser's time zone. * The dates specified here will not affect serving. They are used to generate alerts and warnings. For example, if the flight date of any child insertion order is outside the range of these dates, the user interface will show a warning. * `start_date` is required and must be the current date or later. * `end_date` is optional. If specified, it must be the `start_date` or later. * Any specified date must be before the year 2037.
       "endDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
@@ -472,6 +508,38 @@
 
     { # A single campaign.
   "advertiserId": "A String", # Output only. The unique ID of the advertiser the campaign belongs to.
+  "campaignBudgets": [ # The list of budgets available to this campaign. Setting no budget gives an unlimited campaign budget.
+    { # Settings that control how the campaign budget is allocated.
+      "budgetAmountMicros": "A String", # Required. The budget amount the insertion order will spend for the given date_range. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.
+      "budgetId": "A String", # The unique ID of the campaign budget. If not included, budget is assumed to be new.
+      "budgetUnit": "A String", # Required. Immutable. The budget unit specifies whether the budget is currency based or impression based.
+      "dateRange": { # A date range. # Required. The flight start and end time settings of the segment. Both `start_date` and `end_date` must be before the year 2037.
+        "endDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        "startDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      "displayName": "A String", # Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.
+      "externalBudgetId": "A String", # Immutable. Must be unique under the campaign. If set, all impressions served against this budget will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      "externalBudgetSource": "A String", # Required. The external source of the budget segment.
+      "invoiceGroupingId": "A String", # Immutable. If set, all external_budget_id sharing the same invoice_grouping_id will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      "prismaConfig": { # Settings specific to the MediaOcean Prisma tool. # Required for MediaOcean budgets. Additional metadata set by the MediaOcean Prisma tool.
+        "prismaCpeCode": { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Google Payments Center supports searching and filtering on this code.
+          "prismaClientCode": "A String", # The Prisma client code.
+          "prismaEstimateCode": "A String", # The Prisma estimate code.
+          "prismaProductCode": "A String", # The Prisma product code.
+        },
+        "prismaType": "A String", # Required. The Prisma type.
+        "supplier": "A String", # Required. The entity allocated this budget (DSP, site, etc.).
+      },
+    },
+  ],
   "campaignFlight": { # Settings that track the planned spend and duration of a campaign. # Required. The planned spend and duration of the campaign.
     "plannedDates": { # A date range. # Required. The dates that the campaign is expected to run. They are resolved relative to the parent advertiser's time zone. * The dates specified here will not affect serving. They are used to generate alerts and warnings. For example, if the flight date of any child insertion order is outside the range of these dates, the user interface will show a warning. * `start_date` is required and must be the current date or later. * `end_date` is optional. If specified, it must be the `start_date` or later. * Any specified date must be before the year 2037.
       "endDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
@@ -546,6 +614,38 @@
 
     { # A single campaign.
   "advertiserId": "A String", # Output only. The unique ID of the advertiser the campaign belongs to.
+  "campaignBudgets": [ # The list of budgets available to this campaign. Setting no budget gives an unlimited campaign budget.
+    { # Settings that control how the campaign budget is allocated.
+      "budgetAmountMicros": "A String", # Required. The budget amount the insertion order will spend for the given date_range. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.
+      "budgetId": "A String", # The unique ID of the campaign budget. If not included, budget is assumed to be new.
+      "budgetUnit": "A String", # Required. Immutable. The budget unit specifies whether the budget is currency based or impression based.
+      "dateRange": { # A date range. # Required. The flight start and end time settings of the segment. Both `start_date` and `end_date` must be before the year 2037.
+        "endDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        "startDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      "displayName": "A String", # Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.
+      "externalBudgetId": "A String", # Immutable. Must be unique under the campaign. If set, all impressions served against this budget will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      "externalBudgetSource": "A String", # Required. The external source of the budget segment.
+      "invoiceGroupingId": "A String", # Immutable. If set, all external_budget_id sharing the same invoice_grouping_id will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      "prismaConfig": { # Settings specific to the MediaOcean Prisma tool. # Required for MediaOcean budgets. Additional metadata set by the MediaOcean Prisma tool.
+        "prismaCpeCode": { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Google Payments Center supports searching and filtering on this code.
+          "prismaClientCode": "A String", # The Prisma client code.
+          "prismaEstimateCode": "A String", # The Prisma estimate code.
+          "prismaProductCode": "A String", # The Prisma product code.
+        },
+        "prismaType": "A String", # Required. The Prisma type.
+        "supplier": "A String", # Required. The entity allocated this budget (DSP, site, etc.).
+      },
+    },
+  ],
   "campaignFlight": { # Settings that track the planned spend and duration of a campaign. # Required. The planned spend and duration of the campaign.
     "plannedDates": { # A date range. # Required. The dates that the campaign is expected to run. They are resolved relative to the parent advertiser's time zone. * The dates specified here will not affect serving. They are used to generate alerts and warnings. For example, if the flight date of any child insertion order is outside the range of these dates, the user interface will show a warning. * `start_date` is required and must be the current date or later. * `end_date` is optional. If specified, it must be the `start_date` or later. * Any specified date must be before the year 2037.
       "endDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
@@ -606,6 +706,38 @@
   "campaigns": [ # The list of campaigns. This list will be absent if empty.
     { # A single campaign.
       "advertiserId": "A String", # Output only. The unique ID of the advertiser the campaign belongs to.
+      "campaignBudgets": [ # The list of budgets available to this campaign. Setting no budget gives an unlimited campaign budget.
+        { # Settings that control how the campaign budget is allocated.
+          "budgetAmountMicros": "A String", # Required. The budget amount the insertion order will spend for the given date_range. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.
+          "budgetId": "A String", # The unique ID of the campaign budget. If not included, budget is assumed to be new.
+          "budgetUnit": "A String", # Required. Immutable. The budget unit specifies whether the budget is currency based or impression based.
+          "dateRange": { # A date range. # Required. The flight start and end time settings of the segment. Both `start_date` and `end_date` must be before the year 2037.
+            "endDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+              "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+              "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+              "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+            },
+            "startDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+              "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+              "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+              "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+            },
+          },
+          "displayName": "A String", # Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.
+          "externalBudgetId": "A String", # Immutable. Must be unique under the campaign. If set, all impressions served against this budget will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+          "externalBudgetSource": "A String", # Required. The external source of the budget segment.
+          "invoiceGroupingId": "A String", # Immutable. If set, all external_budget_id sharing the same invoice_grouping_id will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+          "prismaConfig": { # Settings specific to the MediaOcean Prisma tool. # Required for MediaOcean budgets. Additional metadata set by the MediaOcean Prisma tool.
+            "prismaCpeCode": { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Google Payments Center supports searching and filtering on this code.
+              "prismaClientCode": "A String", # The Prisma client code.
+              "prismaEstimateCode": "A String", # The Prisma estimate code.
+              "prismaProductCode": "A String", # The Prisma product code.
+            },
+            "prismaType": "A String", # Required. The Prisma type.
+            "supplier": "A String", # Required. The entity allocated this budget (DSP, site, etc.).
+          },
+        },
+      ],
       "campaignFlight": { # Settings that track the planned spend and duration of a campaign. # Required. The planned spend and duration of the campaign.
         "plannedDates": { # A date range. # Required. The dates that the campaign is expected to run. They are resolved relative to the parent advertiser's time zone. * The dates specified here will not affect serving. They are used to generate alerts and warnings. For example, if the flight date of any child insertion order is outside the range of these dates, the user interface will show a warning. * `start_date` is required and must be the current date or later. * `end_date` is optional. If specified, it must be the `start_date` or later. * Any specified date must be before the year 2037.
           "endDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
@@ -673,6 +805,38 @@
 
 { # A single campaign.
   "advertiserId": "A String", # Output only. The unique ID of the advertiser the campaign belongs to.
+  "campaignBudgets": [ # The list of budgets available to this campaign. Setting no budget gives an unlimited campaign budget.
+    { # Settings that control how the campaign budget is allocated.
+      "budgetAmountMicros": "A String", # Required. The budget amount the insertion order will spend for the given date_range. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.
+      "budgetId": "A String", # The unique ID of the campaign budget. If not included, budget is assumed to be new.
+      "budgetUnit": "A String", # Required. Immutable. The budget unit specifies whether the budget is currency based or impression based.
+      "dateRange": { # A date range. # Required. The flight start and end time settings of the segment. Both `start_date` and `end_date` must be before the year 2037.
+        "endDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        "startDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      "displayName": "A String", # Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.
+      "externalBudgetId": "A String", # Immutable. Must be unique under the campaign. If set, all impressions served against this budget will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      "externalBudgetSource": "A String", # Required. The external source of the budget segment.
+      "invoiceGroupingId": "A String", # Immutable. If set, all external_budget_id sharing the same invoice_grouping_id will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      "prismaConfig": { # Settings specific to the MediaOcean Prisma tool. # Required for MediaOcean budgets. Additional metadata set by the MediaOcean Prisma tool.
+        "prismaCpeCode": { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Google Payments Center supports searching and filtering on this code.
+          "prismaClientCode": "A String", # The Prisma client code.
+          "prismaEstimateCode": "A String", # The Prisma estimate code.
+          "prismaProductCode": "A String", # The Prisma product code.
+        },
+        "prismaType": "A String", # Required. The Prisma type.
+        "supplier": "A String", # Required. The entity allocated this budget (DSP, site, etc.).
+      },
+    },
+  ],
   "campaignFlight": { # Settings that track the planned spend and duration of a campaign. # Required. The planned spend and duration of the campaign.
     "plannedDates": { # A date range. # Required. The dates that the campaign is expected to run. They are resolved relative to the parent advertiser's time zone. * The dates specified here will not affect serving. They are used to generate alerts and warnings. For example, if the flight date of any child insertion order is outside the range of these dates, the user interface will show a warning. * `start_date` is required and must be the current date or later. * `end_date` is optional. If specified, it must be the `start_date` or later. * Any specified date must be before the year 2037.
       "endDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
@@ -721,6 +885,38 @@
 
     { # A single campaign.
   "advertiserId": "A String", # Output only. The unique ID of the advertiser the campaign belongs to.
+  "campaignBudgets": [ # The list of budgets available to this campaign. Setting no budget gives an unlimited campaign budget.
+    { # Settings that control how the campaign budget is allocated.
+      "budgetAmountMicros": "A String", # Required. The budget amount the insertion order will spend for the given date_range. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.
+      "budgetId": "A String", # The unique ID of the campaign budget. If not included, budget is assumed to be new.
+      "budgetUnit": "A String", # Required. Immutable. The budget unit specifies whether the budget is currency based or impression based.
+      "dateRange": { # A date range. # Required. The flight start and end time settings of the segment. Both `start_date` and `end_date` must be before the year 2037.
+        "endDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        "startDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      "displayName": "A String", # Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.
+      "externalBudgetId": "A String", # Immutable. Must be unique under the campaign. If set, all impressions served against this budget will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      "externalBudgetSource": "A String", # Required. The external source of the budget segment.
+      "invoiceGroupingId": "A String", # Immutable. If set, all external_budget_id sharing the same invoice_grouping_id will include this ID on the invoice if the customer has opted into budget-segment-level billing.
+      "prismaConfig": { # Settings specific to the MediaOcean Prisma tool. # Required for MediaOcean budgets. Additional metadata set by the MediaOcean Prisma tool.
+        "prismaCpeCode": { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Google Payments Center supports searching and filtering on this code.
+          "prismaClientCode": "A String", # The Prisma client code.
+          "prismaEstimateCode": "A String", # The Prisma estimate code.
+          "prismaProductCode": "A String", # The Prisma product code.
+        },
+        "prismaType": "A String", # Required. The Prisma type.
+        "supplier": "A String", # Required. The entity allocated this budget (DSP, site, etc.).
+      },
+    },
+  ],
   "campaignFlight": { # Settings that track the planned spend and duration of a campaign. # Required. The planned spend and duration of the campaign.
     "plannedDates": { # A date range. # Required. The dates that the campaign is expected to run. They are resolved relative to the parent advertiser's time zone. * The dates specified here will not affect serving. They are used to generate alerts and warnings. For example, if the flight date of any child insertion order is outside the range of these dates, the user interface will show a warning. * `start_date` is required and must be the current date or later. * `end_date` is optional. If specified, it must be the `start_date` or later. * Any specified date must be before the year 2037.
       "endDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.