# Display & Video 360 API . advertisers . campaigns

## Instance Methods

Returns the targetingTypes Resource.

Lists assigned targeting options of a campaign across targeting types.

Retrieves the next page of results.

Close httplib2 connections.

Creates a new campaign. Returns the newly created campaign if successful.

Permanently deletes a campaign. A deleted campaign cannot be recovered. The campaign should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.

Gets a campaign.

Lists campaigns in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, campaigns with `ENTITY_STATUS_ARCHIVED` will not be included in the results.

Retrieves the next page of results.

Updates an existing campaign. Returns the updated campaign if successful.

### Method Details

`bulkListCampaignAssignedTargetingOptions(advertiserId, campaignId, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)`

    Lists assigned targeting options of a campaign across targeting types.

    Args:
      advertiserId: string, Required. The ID of the advertiser the campaign belongs to. (required)
      campaignId: string, Required. The ID of the campaign to list assigned targeting options for. (required)
      filter: string, Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR` on the same field. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `targetingType` - `inheritance` Examples: * AssignedTargetingOptions of targeting type TARGETING_TYPE_LANGUAGE or TARGETING_TYPE_GENDER `targetingType="TARGETING_TYPE_LANGUAGE" OR targetingType="TARGETING_TYPE_GENDER"` * AssignedTargetingOptions with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 characters.
      orderBy: string, Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `targetingType desc`.
      pageSize: integer, Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.
      pageToken: string, A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response message for BulkListCampaignAssignedTargetingOptions.
      "assignedTargetingOptions": [ # The list of assigned targeting options. This list will be absent if empty.
        { # A single assigned targeting option, which defines the state of a targeting option for an entity with targeting settings.
          "ageRangeDetails": { # Represents a targetable age range. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AGE_RANGE`. # Age range details. This field will be populated when the targeting_type is `TARGETING_TYPE_AGE_RANGE`.
            "ageRange": "A String", # Output only. The age range of an audience. We only support targeting a continuous age range of an audience. Thus, the age range represented in this field can be 1) targeted solely, or, 2) part of a larger continuous age range. The reach of a continuous age range targeting can be expanded by also targeting an audience of an unknown age.
            "targetingOptionId": "A String", # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_AGE_RANGE`.
          },
          "appCategoryDetails": { # Details for assigned app category targeting option. This will be populated in the app_category_details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_APP_CATEGORY`. # App category details. This field will be populated when the targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
            "displayName": "A String", # Output only. The display name of the app category.
            "negative": True or False, # Indicates if this option is being negatively targeted.
            "targetingOptionId": "A String", # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
          },
          "appDetails": { # Details for assigned app targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_APP`. # App details. This field will be populated when the targeting_type is `TARGETING_TYPE_APP`.
            "appId": "A String", # Required. The ID of the app. Android's Play store app uses bundle ID, for example `com.google.android.gm`. Apple's App store app ID uses 9 digit string, for example `422689480`.
            "appPlatform": "A String", # Indicates the platform of the targeted app. If this field is not specified, the app platform will be assumed to be mobile (i.e., Android or iOS), and we will derive the appropriate mobile platform from the app ID.
            "displayName": "A String", # Output only. The display name of the app.
            "negative": True or False, # Indicates if this option is being negatively targeted.
          },
          "assignedTargetingOptionId": "A String", # Output only. The unique ID of the assigned targeting option. The ID is only unique within a given resource and targeting type. It may be reused in other contexts.
          "audienceGroupDetails": { # Assigned audience group targeting option details. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group is UNION, except for excluded_first_and_third_party_audience_group and excluded_google_audience_group, of which COMPLEMENT is UNION'ed with other groups. # Audience targeting details. This field will be populated when the targeting_type is `TARGETING_TYPE_AUDIENCE_GROUP`. You can only target one audience group option per resource.
            "excludedFirstAndThirdPartyAudienceGroup": { # Details of first and third party audience group. All first and third party audience targeting settings are logically ‘OR’ of each other. # The first and third party audience ids and recencies of the excluded first and third party audience group. Used for negative targeting. Its COMPLEMENT is used to UNION other audience groups.
              "settings": [ # Required. All first and third party audience targeting settings in first and third party audience group. Repeated settings with same id are not allowed.
                { # Details of first and third party audience targeting setting.
                  "firstAndThirdPartyAudienceId": "A String", # Required. First and third party audience id of the first and third party audience targeting setting. This id is first_and_third_party_audience_id.
                  "recency": "A String", # The recency of the first and third party audience targeting setting. Only applicable to first party audiences, otherwise will be ignored. For more info, refer to https://support.google.com/displayvideo/answer/2949947#recency When unspecified, no recency limit will be used.
                },
              ],
            },
            "excludedGoogleAudienceGroup": { # Details of Google audience group. All Google audience targeting settings are logically ‘OR’ of each other. # The Google audience ids of the excluded Google audience group. Used for negative targeting. It's COMPLEMENT is used to UNION other audience groups. Only contains Affinity, In-market and Installed-apps type Google audiences. All items are logically ‘OR’ of each other.
              "settings": [ # Required. All Google audience targeting settings in Google audience group. Repeated settings with same id will be ignored.
                { # Details of Google audience targeting setting.
                  "googleAudienceId": "A String", # Required. Google audience id of the Google audience targeting setting. This id is google_audience_id.
                },
              ],
            },
            "includedCombinedAudienceGroup": { # Details of combined audience group. All combined audience targeting settings are logically ‘OR’ of each other. # The combined audience ids of the included combined audience group. Contains combined audience ids only.
              "settings": [ # Required. All combined audience targeting settings in combined audience group. Repeated settings with same id will be ignored. The number of combined audience settings should be no more than five, error will be thrown otherwise.
                { # Details of combined audience targeting setting.
                  "combinedAudienceId": "A String", # Required. Combined audience id of combined audience targeting setting. This id is combined_audience_id.
                },
              ],
            },
            "includedCustomListGroup": { # Details of custom list group. All custom list targeting settings are logically ‘OR’ of each other. # The custom list ids of the included custom list group. Contains custom list ids only.
              "settings": [ # Required. All custom list targeting settings in custom list group. Repeated settings with same id will be ignored.
                { # Details of custom list targeting setting.
                  "customListId": "A String", # Required. Custom id of custom list targeting setting. This id is custom_list_id.
                },
              ],
            },
            "includedFirstAndThirdPartyAudienceGroups": [ # The first and third party audience ids and recencies of included first and third party audience groups. Each first and third party audience group contains first and third party audience ids only. The relation between each first and third party audience group is INTERSECTION, and the result is UNION'ed with other audience groups. Repeated groups with same settings will be ignored.
              { # Details of first and third party audience group. All first and third party audience targeting settings are logically ‘OR’ of each other.
                "settings": [ # Required. All first and third party audience targeting settings in first and third party audience group. Repeated settings with same id are not allowed.
                  { # Details of first and third party audience targeting setting.
                    "firstAndThirdPartyAudienceId": "A String", # Required. First and third party audience id of the first and third party audience targeting setting. This id is first_and_third_party_audience_id.
                    "recency": "A String", # The recency of the first and third party audience targeting setting. Only applicable to first party audiences, otherwise will be ignored. For more info, refer to https://support.google.com/displayvideo/answer/2949947#recency When unspecified, no recency limit will be used.
                  },
                ],
              },
            ],
            "includedGoogleAudienceGroup": { # Details of Google audience group. All Google audience targeting settings are logically ‘OR’ of each other. # The Google audience ids of the included Google audience group. Contains Google audience ids only.
              "settings": [ # Required. All Google audience targeting settings in Google audience group. Repeated settings with same id will be ignored.
                { # Details of Google audience targeting setting.
                  "googleAudienceId": "A String", # Required. Google audience id of the Google audience targeting setting. This id is google_audience_id.
                },
              ],
            },
          },
          "authorizedSellerStatusDetails": { # Represents an assigned authorized seller status. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. # Authorized seller status details. This field will be populated when the targeting_type is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. You can only target one authorized seller status option per resource. If a resource doesn't have an authorized seller status option, all authorized sellers indicated as DIRECT or RESELLER in the ads.txt file are targeted by default.
            "authorizedSellerStatus": "A String", # Output only. The authorized seller status to target.
            "targetingOptionId": "A String", # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
          },
          "browserDetails": { # Details for assigned browser targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BROWSER`. # Browser details. This field will be populated when the targeting_type is `TARGETING_TYPE_BROWSER`.
            "displayName": "A String", # Output only. The display name of the browser.
            "negative": True or False, # Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.
            "targetingOptionId": "A String", # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.
          },
          "businessChainDetails": { # Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. # Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
            "displayName": "A String", # Output only. The display name of a business chain, e.g. "KFC", "Chase Bank".
            "proximityRadiusAmount": 3.14, # Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.
            "proximityRadiusUnit": "A String", # Required. The unit of distance by which the targeting radius is measured.
            "targetingOptionId": "A String", # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
          },
          "carrierAndIspDetails": { # Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. # Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.
            "displayName": "A String", # Output only. The display name of the carrier or ISP.
            "negative": True or False, # Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.
            "targetingOptionId": "A String", # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_CARRIER_AND_ISP`.
          },
          "categoryDetails": { # Assigned category targeting option details. This will be populated in the category_details field when targeting_type is `TARGETING_TYPE_CATEGORY`. # Category details. This field will be populated when the targeting_type is `TARGETING_TYPE_CATEGORY`. Targeting a category will also target its subcategories. If a category is excluded from targeting and a subcategory is included, the exclusion will take precedence.
            "displayName": "A String", # Output only. The display name of the category.
            "negative": True or False, # Indicates if this option is being negatively targeted.
            "targetingOptionId": "A String", # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CATEGORY`.
          },
          "channelDetails": { # Details for assigned channel targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CHANNEL`. # Channel details. This field will be populated when the targeting_type is `TARGETING_TYPE_CHANNEL`.
            "channelId": "A String", # Required. ID of the channel. Should refer to the channel ID field on a [Partner-owned channel](partners.channels#Channel.FIELDS.channel_id) or [advertiser-owned channel](advertisers.channels#Channel.FIELDS.channel_id) resource.
            "negative": True or False, # Indicates if this option is being negatively targeted. For advertiser level assigned targeting option, this field must be true.
          },
          "contentInstreamPositionDetails": { # Assigned content instream position targeting option details. This will be populated in the content_instream_position_details field when targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`. # Content instream position details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
            "adType": "A String", # Output only. The ad type to target. Only applicable to insertion order targeting and new line items supporting the specified ad type will inherit this targeting option by default. Possible values are: * `AD_TYPE_VIDEO`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`. * `AD_TYPE_AUDIO`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_AUDIO_DEFAULT`.
            "contentInstreamPosition": "A String", # Output only. The content instream position for video or audio ads.
            "targetingOptionId": "A String", # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
          },
          "contentOutstreamPositionDetails": { # Assigned content outstream position targeting option details. This will be populated in the content_outstream_position_details field when targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`. # Content outstream position details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
            "adType": "A String", # Output only. The ad type to target. Only applicable to insertion order targeting and new line items supporting the specified ad type will inherit this targeting option by default. Possible values are: * `AD_TYPE_DISPLAY`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. * `AD_TYPE_VIDEO`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`.
            "contentOutstreamPosition": "A String", # Output only. The content outstream position.
            "targetingOptionId": "A String", # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
          },
          "dayAndTimeDetails": { # Representation of a segment of time defined on a specific day of the week and with a start and end time. The time represented by `start_hour` must be before the time represented by `end_hour`. # Day and time details. This field will be populated when the targeting_type is `TARGETING_TYPE_DAY_AND_TIME`.
            "dayOfWeek": "A String", # Required. The day of the week for this day and time targeting setting.
            "endHour": 42, # Required. The end hour for day and time targeting. Must be between 1 (1 hour after start of day) and 24 (end of day).
            "startHour": 42, # Required. The start hour for day and time targeting. Must be between 0 (start of day) and 23 (1 hour before end of day).
            "timeZoneResolution": "A String", # Required. The mechanism used to determine which timezone to use for this day and time targeting setting.
          },
          "deviceMakeModelDetails": { # Assigned device make and model targeting option details. This will be populated in the device_make_model_details field when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`. # Device make and model details. This field will be populated when the targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
            "displayName": "A String", # Output only. The display name of the device make and model.
            "negative": True or False, # Indicates if this option is being negatively targeted.
            "targetingOptionId": "A String", # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
          },
          "deviceTypeDetails": { # Targeting details for device type. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`. # Device Type details. This field will be populated when the targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.
            "deviceType": "A String", # Output only. The display name of the device type.
            "targetingOptionId": "A String", # Required. ID of the device type.
          },
          "digitalContentLabelExclusionDetails": { # Targeting details for digital content label. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. # Digital content label details. This field will be populated when the targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. Digital content labels are targeting exclusions. Advertiser level digital content label exclusions, if set, are always applied in serving (even though they aren't visible in resource settings). Resource settings can exclude content labels in addition to advertiser exclusions, but can't override them. A line item won't serve if all the digital content labels are excluded.
            "contentRatingTier": "A String", # Output only. The display name of the digital content label rating tier.
            "excludedTargetingOptionId": "A String", # Required. ID of the digital content label to be EXCLUDED.
          },
          "environmentDetails": { # Assigned environment targeting option details. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_ENVIRONMENT`. # Environment details. This field will be populated when the targeting_type is `TARGETING_TYPE_ENVIRONMENT`.
            "environment": "A String", # Output only. The serving environment.
            "targetingOptionId": "A String", # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_ENVIRONMENT` (e.g., "508010" for targeting the `ENVIRONMENT_WEB_OPTIMIZED` option).
          },
          "exchangeDetails": { # Details for assigned exchange targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_EXCHANGE`. # Exchange details. This field will be populated when the targeting_type is `TARGETING_TYPE_EXCHANGE`.
            "targetingOptionId": "A String", # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_EXCHANGE`.
          },
          "genderDetails": { # Details for assigned gender targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARTGETING_TYPE_GENDER`. # Gender details. This field will be populated when the targeting_type is `TARGETING_TYPE_GENDER`.
            "gender": "A String", # Output only. The gender of the audience.
            "targetingOptionId": "A String", # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_GENDER`.
          },
          "geoRegionDetails": { # Details for assigned geographic region targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_GEO_REGION`. # Geographic region details. This field will be populated when the targeting_type is `TARGETING_TYPE_GEO_REGION`.
            "displayName": "A String", # Output only. The display name of the geographic region (e.g., "Ontario, Canada").
            "geoRegionType": "A String", # Output only. The type of geographic region targeting.
            "negative": True or False, # Indicates if this option is being negatively targeted.
            "targetingOptionId": "A String", # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_GEO_REGION`.
          },
          "householdIncomeDetails": { # Details for assigned household income targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`. # Household income details. This field will be populated when the targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`.
            "householdIncome": "A String", # Output only. The household income of the audience.
            "targetingOptionId": "A String", # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_HOUSEHOLD_INCOME`.
          },
          "inheritance": "A String", # Output only. The inheritance status of the assigned targeting option.
          "inventorySourceDetails": { # Targeting details for inventory source. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE`. # Inventory source details. This field will be populated when the targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE`.
            "inventorySourceId": "A String", # Required. ID of the inventory source. Should refer to the inventory_source_id field of an InventorySource resource.
          },
          "inventorySourceGroupDetails": { # Targeting details for inventory source group. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`. # Inventory source group details. This field will be populated when the targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.
            "inventorySourceGroupId": "A String", # Required. ID of the inventory source group. Should refer to the inventory_source_group_id field of an InventorySourceGroup resource.
          },
          "keywordDetails": { # Details for assigned keyword targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_KEYWORD`. # Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_KEYWORD`. A maximum of 5000 direct negative keywords can be assigned to a resource. No limit on number of positive keywords that can be assigned.
            "keyword": "A String", # Required. The keyword, for example `car insurance`. Positive keyword cannot be offensive word. Must be UTF-8 encoded with a maximum size of 255 bytes. Maximum number of characters is 80. Maximum number of words is 10.
            "negative": True or False, # Indicates if this option is being negatively targeted.
          },
          "languageDetails": { # Details for assigned language targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_LANGUAGE`. # Language details. This field will be populated when the targeting_type is `TARGETING_TYPE_LANGUAGE`.
            "displayName": "A String", # Output only. The display name of the language (e.g., "French").
            "negative": True or False, # Indicates if this option is being negatively targeted. All assigned language targeting options on the same resource must have the same value for this field.
            "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.
          },
          "omidDetails": { # Represents a targetable Open Measurement enabled inventory type. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_OMID`. # Open Measurement enabled inventory details. This field will be populated when the targeting_type is `TARGETING_TYPE_OMID`.
            "omid": "A String", # Output only. The type of Open Measurement enabled inventory.
            "targetingOptionId": "A String", # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_OMID`.
          },
          "onScreenPositionDetails": { # On screen position targeting option details. This will be populated in the on_screen_position_details field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`. # On screen position details. This field will be populated when the targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
            "adType": "A String", # Output only. The ad type to target. Only applicable to insertion order targeting and new line items supporting the specified ad type will inherit this targeting option by default. Possible values are: * `AD_TYPE_DISPLAY`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. * `AD_TYPE_VIDEO`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`.
            "onScreenPosition": "A String", # Output only. The on screen position.
            "targetingOptionId": "A String", # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
          },
          "operatingSystemDetails": { # Assigned operating system targeting option details. This will be populated in the operating_system_details field when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`. # Operating system details. This field will be populated when the targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.
            "displayName": "A String", # Output only. The display name of the operating system.
            "negative": True or False, # Indicates if this option is being negatively targeted.
            "targetingOptionId": "A String", # Required. The targeting option ID populated in targeting_option_id field when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.
          },
          "parentalStatusDetails": { # Details for assigned parental status targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARTGETING_TYPE_PARENTAL_STATUS`. # Parental status details. This field will be populated when the targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`.
            "parentalStatus": "A String", # Output only. The parental status of the audience.
            "targetingOptionId": "A String", # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
          },
          "poiDetails": { # Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. # POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.
            "displayName": "A String", # Output only. The display name of a POI, e.g. "Times Square", "Space Needle", followed by its full address if available.
            "latitude": 3.14, # Output only. Latitude of the POI rounding to 6th decimal place.
            "longitude": 3.14, # Output only. Longitude of the POI rounding to 6th decimal place.
            "proximityRadiusAmount": 3.14, # Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.
            "proximityRadiusUnit": "A String", # Required. The unit of distance by which the targeting radius is measured.
            "targetingOptionId": "A String", # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI` or reuse an existing assigned_targeting_option_id.
          },
          "proximityLocationListDetails": { # Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. # Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
            "proximityLocationListId": "A String", # Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
            "proximityRadiusRange": "A String", # Required. Radius range for proximity location list. This represents the size of the area around a chosen location that will be targeted. `All` proximity location targeting under a single resource must have the same radius range value. Set this value to match any existing targeting. If updated, this field will change the radius range for all proximity targeting under the resource.
          },
          "regionalLocationListDetails": { # Targeting details for regional location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_REGIONAL_LOCATION_LIST`. # Regional location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_REGIONAL_LOCATION_LIST`.
            "negative": True or False, # Indicates if this option is being negatively targeted.
            "regionalLocationListId": "A String", # Required. ID of the regional location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_REGIONAL`.
          },
          "sensitiveCategoryExclusionDetails": { # Targeting details for sensitive category. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. # Sensitive category details. This field will be populated when the targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. Sensitive categories are targeting exclusions. Advertiser level sensitive category exclusions, if set, are always applied in serving (even though they aren't visible in resource settings). Resource settings can exclude sensitive categories in addition to advertiser exclusions, but can't override them.
            "excludedTargetingOptionId": "A String", # Required. ID of the sensitive category to be EXCLUDED.
            "sensitiveCategory": "A String", # Output only. An enum for the DV360 Sensitive category content classifier.
          },
          "subExchangeDetails": { # Details for assigned sub-exchange targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`. # Sub-exchange details. This field will be populated when the targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`.
            "targetingOptionId": "A String", # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_SUB_EXCHANGE`.
          },
          "targetingType": "A String", # Output only. Identifies the type of this assigned targeting option.
          "thirdPartyVerifierDetails": { # Assigned third party verifier targeting option details. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_THIRD_PARTY_VERIFIER`. # Third party verification details. This field will be populated when the targeting_type is `TARGETING_TYPE_THIRD_PARTY_VERIFIER`.
            "adloox": { # Details of Adloox settings. # Third party brand verifier -- Adloox.
              "excludedAdlooxCategories": [ # Adloox's brand safety settings.
                "A String",
              ],
            },
            "doubleVerify": { # Details of DoubleVerify settings. # Third party brand verifier -- DoubleVerify.
              "appStarRating": { # Details of DoubleVerify star ratings settings. # Avoid bidding on apps with the star ratings.
                "avoidInsufficientStarRating": True or False, # Avoid bidding on apps with insufficient star ratings.
                "avoidedStarRating": "A String", # Avoid bidding on apps with the star ratings.
              },
              "avoidedAgeRatings": [ # Avoid bidding on apps with the age rating.
                "A String",
              ],
              "brandSafetyCategories": { # Settings for brand safety controls. # DV Brand Safety Controls.
                "avoidUnknownBrandSafetyCategory": True or False, # Unknown or unrateable.
                "avoidedHighSeverityCategories": [ # Brand safety high severity avoidance categories.
                  "A String",
                ],
                "avoidedMediumSeverityCategories": [ # Brand safety medium severity avoidance categories.
                  "A String",
                ],
              },
              "customSegmentId": "A String", # The custom segment ID provided by DoubleVerify. The ID must start with "51" and consist of eight digits. Custom segment ID cannot be specified along with any of the following fields: * brand_safety_categories * avoided_age_ratings * app_star_rating * fraud_invalid_traffic
              "displayViewability": { # Details of DoubleVerify display viewability settings. # Display viewability settings (applicable to display line items only).
                "iab": "A String", # Target web and app inventory to maximize IAB viewable rate.
                "viewableDuring": "A String", # Target web and app inventory to maximize 100% viewable duration.
              },
              "fraudInvalidTraffic": { # DoubleVerify Fraud & Invalid Traffic settings. # Avoid Sites and Apps with historical Fraud & IVT Rates.
                "avoidInsufficientOption": True or False, # Insufficient Historical Fraud & IVT Stats.
                "avoidedFraudOption": "A String", # Avoid Sites and Apps with historical Fraud & IVT.
              },
              "videoViewability": { # Details of DoubleVerify video viewability settings. # Video viewability settings (applicable to video line items only).
                "playerImpressionRate": "A String", # Target inventory to maximize impressions with 400x300 or greater player size.
                "videoIab": "A String", # Target web inventory to maximize IAB viewable rate.
                "videoViewableRate": "A String", # Target web inventory to maximize fully viewable rate.
              },
            },
            "integralAdScience": { # Details of Integral Ad Science settings. # Third party brand verifier -- Integral Ad Science.
              "customSegmentId": [ # The custom segment ID provided by Integral Ad Science. The ID must be between `1000001` and `1999999`, inclusive.
                "A String",
              ],
              "displayViewability": "A String", # Display Viewability section (applicable to display line items only).
              "excludeUnrateable": True or False, # Brand Safety - **Unrateable**.
              "excludedAdFraudRisk": "A String", # Ad Fraud settings.
              "excludedAdultRisk": "A String", # Brand Safety - **Adult content**.
              "excludedAlcoholRisk": "A String", # Brand Safety - **Alcohol**.
              "excludedDrugsRisk": "A String", # Brand Safety - **Drugs**.
              "excludedGamblingRisk": "A String", # Brand Safety - **Gambling**.
              "excludedHateSpeechRisk": "A String", # Brand Safety - **Hate speech**.
              "excludedIllegalDownloadsRisk": "A String", # Brand Safety - **Illegal downloads**.
              "excludedOffensiveLanguageRisk": "A String", # Brand Safety - **Offensive language**.
              "excludedViolenceRisk": "A String", # Brand Safety - **Violence**.
              "traqScoreOption": "A String", # True advertising quality (applicable to Display line items only).
              "videoViewability": "A String", # Video Viewability Section (applicable to video line items only).
            },
          },
          "urlDetails": { # Details for assigned URL targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_URL`. # URL details. This field will be populated when the targeting_type is `TARGETING_TYPE_URL`.
            "negative": True or False, # Indicates if this option is being negatively targeted.
            "url": "A String", # Required. The URL, for example `example.com`. DV360 supports two levels of subdirectory targeting, for example `www.example.com/one-subdirectory-level/second-level`, and five levels of subdomain targeting, for example `five.four.three.two.one.example.com`.
          },
          "userRewardedContentDetails": { # User rewarded content targeting option details. This will be populated in the user_rewarded_content_details field when targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`. # User rewarded content details. This field will be populated when the targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.
            "targetingOptionId": "A String", # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.
            "userRewardedContent": "A String", # Output only. User rewarded content status for video ads.
          },
          "videoPlayerSizeDetails": { # Video player size targeting option details. This will be populated in the video_player_size_details field when targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`. Explicitly targeting all options is not supported. Remove all video player size targeting options to achieve this effect. # Video player size details. This field will be populated when the targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
            "targetingOptionId": "A String", # Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
            "videoPlayerSize": "A String", # Output only. The video player size.
          },
          "viewabilityDetails": { # Assigned viewability targeting option details. This will be populated in the viewability_details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_VIEWABILITY`. # Viewability details. This field will be populated when the targeting_type is `TARGETING_TYPE_VIEWABILITY`. You can only target one viewability option per resource.
            "targetingOptionId": "A String", # Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_VIEWABILITY` (e.g., "509010" for targeting the `VIEWABILITY_10_PERCENT_OR_MORE` option).
            "viewability": "A String", # Output only. The predicted viewability percentage.
          },
        },
      ],
      "nextPageToken": "A String", # A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListCampaignAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.
    }

`bulkListCampaignAssignedTargetingOptions_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`close()`

    Close httplib2 connections.

`create(advertiserId, body=None, x__xgafv=None)`

    Creates a new campaign. Returns the newly created campaign if successful.

    Args:
      advertiserId: string, Output only. The unique ID of the advertiser the campaign belongs to. (required)
      body: object, The request body.
        The object takes the form of:

    { # 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. If this field is not set, the campaign uses an unlimited budget.
        { # Settings that control how the campaign budget is allocated.
          "budgetAmountMicros": "A String", # Required. The total amount the linked insertion order segments can budget. 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. Assigned by the system. Do not set for new budgets. Must be included when updating or adding budgets to campaign_budgets. Otherwise, a new ID will be generated and assigned.
          "budgetUnit": "A String", # Required. Immutable. Specifies whether the budget is measured in currency or impressions.
          "dateRange": { # A date range. # Required. The date range for the campaign budget. Linked budget segments may have a different date range. They are resolved relative to the parent advertiser's time zone. 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. The ID identifying this budget to the external source. If this field is set and the invoice detail level of the corresponding billing profile is set to "Budget level PO", all impressions served against this budget will include this ID on the invoice. Must be unique under the campaign.
          "externalBudgetSource": "A String", # Required. The external source of the budget.
          "invoiceGroupingId": "A String", # Immutable. The ID used to group budgets to be included the same invoice. If this field is set and the invoice level of the corresponding billing profile is set to "Budget invoice grouping ID", all external_budget_id sharing the same invoice_grouping_id will be grouped in the same invoice.
          "prismaConfig": { # Settings specific to the Mediaocean Prisma tool. # Additional metadata for use by the Mediaocean Prisma tool. Required for Mediaocean budgets. Only applicable to prisma_enabled advertisers.
            "prismaCpeCode": { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Relevant client, product, and estimate codes from the Mediaocean Prisma tool.
              "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`.
            "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.
          },
        },
        "plannedSpendAmountMicros": "A String", # The amount the campaign is expected to spend for its given planned_dates. This will not limit serving, but will be used for tracking spend in the DV360 UI. The amount is in micros. Must be greater than or equal to 0. For example, 500000000 represents 500 standard units of the currency.
      },
      "campaignGoal": { # Settings that control the goal of a campaign. # Required. The goal of the campaign.
        "campaignGoalType": "A String", # Required. The type of the campaign goal.
        "performanceGoal": { # Settings that control the performance goal of a campaign or insertion order. # Required. The performance goal of the campaign. Acceptable values for performance_goal_type are: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_OTHER`
          "performanceGoalAmountMicros": "A String", # The goal amount, in micros of the advertiser's currency. Applicable when performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_VCPM` For example 1500000 represents 1.5 standard units of the currency.
          "performanceGoalPercentageMicros": "A String", # The decimal representation of the goal percentage in micros. Applicable when performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_CLICK_CVR` * `PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR` * `PERFORMANCE_GOAL_TYPE_VTR` * `PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE` * `PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE` For example, 70000 represents 7% (decimal 0.07).
          "performanceGoalString": "A String", # A key performance indicator (KPI) string, which can be empty. Must be UTF-8 encoded with a length of no more than 100 characters. Applicable when performance_goal_type is set to `PERFORMANCE_GOAL_TYPE_OTHER`.
          "performanceGoalType": "A String", # Required. The type of the performance goal.
        },
      },
      "campaignId": "A String", # Output only. The unique ID of the campaign. Assigned by the system.
      "displayName": "A String", # Required. The display name of the campaign. Must be UTF-8 encoded with a maximum size of 240 bytes.
      "entityStatus": "A String", # Required. Controls whether or not the insertion orders under this campaign can spend their budgets and bid on inventory. * Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. * For CreateCampaign method, `ENTITY_STATUS_ARCHIVED` is not allowed.
      "frequencyCap": { # Settings that control the number of times a user may be shown with the same ad during a given time period. # Required. The frequency cap setting of the campaign.
        "maxImpressions": 42, # The maximum number of times a user may be shown with the same ad during this period. Must be greater than 0. Required when unlimited is `false`.
        "timeUnit": "A String", # The time unit in which the frequency cap will be applied. Required when unlimited is `false`.
        "timeUnitCount": 42, # The number of time_unit the frequency cap will last. Required when unlimited is `false`. The following restrictions apply based on the value of time_unit: * `TIME_UNIT_LIFETIME` - this field is output only and will default to 1 * `TIME_UNIT_MONTHS` - must be between 1 and 2 * `TIME_UNIT_WEEKS` - must be between 1 and 4 * `TIME_UNIT_DAYS` - must be between 1 and 6 * `TIME_UNIT_HOURS` - must be between 1 and 23 * `TIME_UNIT_MINUTES` - must be between 1 and 59
        "unlimited": True or False, # Whether unlimited frequency capping is applied. When this field is set to `true`, the remaining frequency cap fields are not applicable.
      },
      "name": "A String", # Output only. The resource name of the campaign.
      "updateTime": "A String", # Output only. The timestamp when the campaign was last updated. Assigned by the system.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # 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. If this field is not set, the campaign uses an unlimited budget.
        { # Settings that control how the campaign budget is allocated.
          "budgetAmountMicros": "A String", # Required. The total amount the linked insertion order segments can budget. 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. Assigned by the system. Do not set for new budgets. Must be included when updating or adding budgets to campaign_budgets. Otherwise, a new ID will be generated and assigned.
          "budgetUnit": "A String", # Required. Immutable. Specifies whether the budget is measured in currency or impressions.
          "dateRange": { # A date range. # Required. The date range for the campaign budget. Linked budget segments may have a different date range. They are resolved relative to the parent advertiser's time zone. 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. The ID identifying this budget to the external source. If this field is set and the invoice detail level of the corresponding billing profile is set to "Budget level PO", all impressions served against this budget will include this ID on the invoice. Must be unique under the campaign.
          "externalBudgetSource": "A String", # Required. The external source of the budget.
          "invoiceGroupingId": "A String", # Immutable. The ID used to group budgets to be included the same invoice. If this field is set and the invoice level of the corresponding billing profile is set to "Budget invoice grouping ID", all external_budget_id sharing the same invoice_grouping_id will be grouped in the same invoice.
          "prismaConfig": { # Settings specific to the Mediaocean Prisma tool. # Additional metadata for use by the Mediaocean Prisma tool. Required for Mediaocean budgets. Only applicable to prisma_enabled advertisers.
            "prismaCpeCode": { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Relevant client, product, and estimate codes from the Mediaocean Prisma tool.
              "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`.
            "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.
          },
        },
        "plannedSpendAmountMicros": "A String", # The amount the campaign is expected to spend for its given planned_dates. This will not limit serving, but will be used for tracking spend in the DV360 UI. The amount is in micros. Must be greater than or equal to 0. For example, 500000000 represents 500 standard units of the currency.
      },
      "campaignGoal": { # Settings that control the goal of a campaign. # Required. The goal of the campaign.
        "campaignGoalType": "A String", # Required. The type of the campaign goal.
        "performanceGoal": { # Settings that control the performance goal of a campaign or insertion order. # Required. The performance goal of the campaign. Acceptable values for performance_goal_type are: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_OTHER`
          "performanceGoalAmountMicros": "A String", # The goal amount, in micros of the advertiser's currency. Applicable when performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_VCPM` For example 1500000 represents 1.5 standard units of the currency.
          "performanceGoalPercentageMicros": "A String", # The decimal representation of the goal percentage in micros. Applicable when performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_CLICK_CVR` * `PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR` * `PERFORMANCE_GOAL_TYPE_VTR` * `PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE` * `PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE` For example, 70000 represents 7% (decimal 0.07).
          "performanceGoalString": "A String", # A key performance indicator (KPI) string, which can be empty. Must be UTF-8 encoded with a length of no more than 100 characters. Applicable when performance_goal_type is set to `PERFORMANCE_GOAL_TYPE_OTHER`.
          "performanceGoalType": "A String", # Required. The type of the performance goal.
        },
      },
      "campaignId": "A String", # Output only. The unique ID of the campaign. Assigned by the system.
      "displayName": "A String", # Required. The display name of the campaign. Must be UTF-8 encoded with a maximum size of 240 bytes.
      "entityStatus": "A String", # Required. Controls whether or not the insertion orders under this campaign can spend their budgets and bid on inventory. * Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. * For CreateCampaign method, `ENTITY_STATUS_ARCHIVED` is not allowed.
      "frequencyCap": { # Settings that control the number of times a user may be shown with the same ad during a given time period. # Required. The frequency cap setting of the campaign.
        "maxImpressions": 42, # The maximum number of times a user may be shown with the same ad during this period. Must be greater than 0. Required when unlimited is `false`.
        "timeUnit": "A String", # The time unit in which the frequency cap will be applied. Required when unlimited is `false`.
        "timeUnitCount": 42, # The number of time_unit the frequency cap will last. Required when unlimited is `false`. The following restrictions apply based on the value of time_unit: * `TIME_UNIT_LIFETIME` - this field is output only and will default to 1 * `TIME_UNIT_MONTHS` - must be between 1 and 2 * `TIME_UNIT_WEEKS` - must be between 1 and 4 * `TIME_UNIT_DAYS` - must be between 1 and 6 * `TIME_UNIT_HOURS` - must be between 1 and 23 * `TIME_UNIT_MINUTES` - must be between 1 and 59
        "unlimited": True or False, # Whether unlimited frequency capping is applied. When this field is set to `true`, the remaining frequency cap fields are not applicable.
      },
      "name": "A String", # Output only. The resource name of the campaign.
      "updateTime": "A String", # Output only. The timestamp when the campaign was last updated. Assigned by the system.
    }

`delete(advertiserId, campaignId, x__xgafv=None)`

    Permanently deletes a campaign. A deleted campaign cannot be recovered. The campaign should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.

    Args:
      advertiserId: string, The ID of the advertiser this campaign belongs to. (required)
      campaignId: string, The ID of the campaign we need to delete. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
    }

`get(advertiserId, campaignId, x__xgafv=None)`

    Gets a campaign.

    Args:
      advertiserId: string, Required. The ID of the advertiser this campaign belongs to. (required)
      campaignId: string, Required. The ID of the campaign to fetch. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # 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. If this field is not set, the campaign uses an unlimited budget.
        { # Settings that control how the campaign budget is allocated.
          "budgetAmountMicros": "A String", # Required. The total amount the linked insertion order segments can budget. 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. Assigned by the system. Do not set for new budgets. Must be included when updating or adding budgets to campaign_budgets. Otherwise, a new ID will be generated and assigned.
          "budgetUnit": "A String", # Required. Immutable. Specifies whether the budget is measured in currency or impressions.
          "dateRange": { # A date range. # Required. The date range for the campaign budget. Linked budget segments may have a different date range. They are resolved relative to the parent advertiser's time zone. 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. The ID identifying this budget to the external source. If this field is set and the invoice detail level of the corresponding billing profile is set to "Budget level PO", all impressions served against this budget will include this ID on the invoice. Must be unique under the campaign.
          "externalBudgetSource": "A String", # Required. The external source of the budget.
          "invoiceGroupingId": "A String", # Immutable. The ID used to group budgets to be included the same invoice. If this field is set and the invoice level of the corresponding billing profile is set to "Budget invoice grouping ID", all external_budget_id sharing the same invoice_grouping_id will be grouped in the same invoice.
          "prismaConfig": { # Settings specific to the Mediaocean Prisma tool. # Additional metadata for use by the Mediaocean Prisma tool. Required for Mediaocean budgets. Only applicable to prisma_enabled advertisers.
            "prismaCpeCode": { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Relevant client, product, and estimate codes from the Mediaocean Prisma tool.
              "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`.
            "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.
          },
        },
        "plannedSpendAmountMicros": "A String", # The amount the campaign is expected to spend for its given planned_dates. This will not limit serving, but will be used for tracking spend in the DV360 UI. The amount is in micros. Must be greater than or equal to 0. For example, 500000000 represents 500 standard units of the currency.
      },
      "campaignGoal": { # Settings that control the goal of a campaign. # Required. The goal of the campaign.
        "campaignGoalType": "A String", # Required. The type of the campaign goal.
        "performanceGoal": { # Settings that control the performance goal of a campaign or insertion order. # Required. The performance goal of the campaign. Acceptable values for performance_goal_type are: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_OTHER`
          "performanceGoalAmountMicros": "A String", # The goal amount, in micros of the advertiser's currency. Applicable when performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_VCPM` For example 1500000 represents 1.5 standard units of the currency.
          "performanceGoalPercentageMicros": "A String", # The decimal representation of the goal percentage in micros. Applicable when performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_CLICK_CVR` * `PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR` * `PERFORMANCE_GOAL_TYPE_VTR` * `PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE` * `PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE` For example, 70000 represents 7% (decimal 0.07).
          "performanceGoalString": "A String", # A key performance indicator (KPI) string, which can be empty. Must be UTF-8 encoded with a length of no more than 100 characters. Applicable when performance_goal_type is set to `PERFORMANCE_GOAL_TYPE_OTHER`.
          "performanceGoalType": "A String", # Required. The type of the performance goal.
        },
      },
      "campaignId": "A String", # Output only. The unique ID of the campaign. Assigned by the system.
      "displayName": "A String", # Required. The display name of the campaign. Must be UTF-8 encoded with a maximum size of 240 bytes.
      "entityStatus": "A String", # Required. Controls whether or not the insertion orders under this campaign can spend their budgets and bid on inventory. * Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. * For CreateCampaign method, `ENTITY_STATUS_ARCHIVED` is not allowed.
      "frequencyCap": { # Settings that control the number of times a user may be shown with the same ad during a given time period. # Required. The frequency cap setting of the campaign.
        "maxImpressions": 42, # The maximum number of times a user may be shown with the same ad during this period. Must be greater than 0. Required when unlimited is `false`.
        "timeUnit": "A String", # The time unit in which the frequency cap will be applied. Required when unlimited is `false`.
        "timeUnitCount": 42, # The number of time_unit the frequency cap will last. Required when unlimited is `false`. The following restrictions apply based on the value of time_unit: * `TIME_UNIT_LIFETIME` - this field is output only and will default to 1 * `TIME_UNIT_MONTHS` - must be between 1 and 2 * `TIME_UNIT_WEEKS` - must be between 1 and 4 * `TIME_UNIT_DAYS` - must be between 1 and 6 * `TIME_UNIT_HOURS` - must be between 1 and 23 * `TIME_UNIT_MINUTES` - must be between 1 and 59
        "unlimited": True or False, # Whether unlimited frequency capping is applied. When this field is set to `true`, the remaining frequency cap fields are not applicable.
      },
      "name": "A String", # Output only. The resource name of the campaign.
      "updateTime": "A String", # Output only. The timestamp when the campaign was last updated. Assigned by the system.
    }

`list(advertiserId, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)`

    Lists campaigns in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, campaigns with `ENTITY_STATUS_ARCHIVED` will not be included in the results.

    Args:
      advertiserId: string, The ID of the advertiser to list campaigns for. (required)
      filter: string, Allows filtering by campaign properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator used on `updateTime` must be `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`. * The operator must be `EQUALS (=)`. * Supported fields: - `campaignId` - `displayName` - `entityStatus` - `updateTime` (input in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ) Examples: * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` campaigns under an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED")` * All campaigns with an update time less than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime<="2020-11-04T18:54:47Z"` * All campaigns with an update time greater than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime>="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 characters.
      orderBy: string, Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `displayName desc`.
      pageSize: integer, Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.
      pageToken: string, A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCampaigns` method. If not specified, the first page of results will be returned.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        {
      "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. If this field is not set, the campaign uses an unlimited budget.
            { # Settings that control how the campaign budget is allocated.
              "budgetAmountMicros": "A String", # Required. The total amount the linked insertion order segments can budget. 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. Assigned by the system. Do not set for new budgets. Must be included when updating or adding budgets to campaign_budgets. Otherwise, a new ID will be generated and assigned.
              "budgetUnit": "A String", # Required. Immutable. Specifies whether the budget is measured in currency or impressions.
              "dateRange": { # A date range. # Required. The date range for the campaign budget. Linked budget segments may have a different date range. They are resolved relative to the parent advertiser's time zone. 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. The ID identifying this budget to the external source. If this field is set and the invoice detail level of the corresponding billing profile is set to "Budget level PO", all impressions served against this budget will include this ID on the invoice. Must be unique under the campaign.
              "externalBudgetSource": "A String", # Required. The external source of the budget.
              "invoiceGroupingId": "A String", # Immutable. The ID used to group budgets to be included the same invoice. If this field is set and the invoice level of the corresponding billing profile is set to "Budget invoice grouping ID", all external_budget_id sharing the same invoice_grouping_id will be grouped in the same invoice.
              "prismaConfig": { # Settings specific to the Mediaocean Prisma tool. # Additional metadata for use by the Mediaocean Prisma tool. Required for Mediaocean budgets. Only applicable to prisma_enabled advertisers.
                "prismaCpeCode": { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Relevant client, product, and estimate codes from the Mediaocean Prisma tool.
                  "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`.
                "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.
              },
            },
            "plannedSpendAmountMicros": "A String", # The amount the campaign is expected to spend for its given planned_dates. This will not limit serving, but will be used for tracking spend in the DV360 UI. The amount is in micros. Must be greater than or equal to 0. For example, 500000000 represents 500 standard units of the currency.
          },
          "campaignGoal": { # Settings that control the goal of a campaign. # Required. The goal of the campaign.
            "campaignGoalType": "A String", # Required. The type of the campaign goal.
            "performanceGoal": { # Settings that control the performance goal of a campaign or insertion order. # Required. The performance goal of the campaign. Acceptable values for performance_goal_type are: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_OTHER`
              "performanceGoalAmountMicros": "A String", # The goal amount, in micros of the advertiser's currency. Applicable when performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_VCPM` For example 1500000 represents 1.5 standard units of the currency.
              "performanceGoalPercentageMicros": "A String", # The decimal representation of the goal percentage in micros. Applicable when performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_CLICK_CVR` * `PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR` * `PERFORMANCE_GOAL_TYPE_VTR` * `PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE` * `PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE` For example, 70000 represents 7% (decimal 0.07).
              "performanceGoalString": "A String", # A key performance indicator (KPI) string, which can be empty. Must be UTF-8 encoded with a length of no more than 100 characters. Applicable when performance_goal_type is set to `PERFORMANCE_GOAL_TYPE_OTHER`.
              "performanceGoalType": "A String", # Required. The type of the performance goal.
            },
          },
          "campaignId": "A String", # Output only. The unique ID of the campaign. Assigned by the system.
          "displayName": "A String", # Required. The display name of the campaign. Must be UTF-8 encoded with a maximum size of 240 bytes.
          "entityStatus": "A String", # Required. Controls whether or not the insertion orders under this campaign can spend their budgets and bid on inventory. * Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. * For CreateCampaign method, `ENTITY_STATUS_ARCHIVED` is not allowed.
          "frequencyCap": { # Settings that control the number of times a user may be shown with the same ad during a given time period. # Required. The frequency cap setting of the campaign.
            "maxImpressions": 42, # The maximum number of times a user may be shown with the same ad during this period. Must be greater than 0. Required when unlimited is `false`.
            "timeUnit": "A String", # The time unit in which the frequency cap will be applied. Required when unlimited is `false`.
            "timeUnitCount": 42, # The number of time_unit the frequency cap will last. Required when unlimited is `false`. The following restrictions apply based on the value of time_unit: * `TIME_UNIT_LIFETIME` - this field is output only and will default to 1 * `TIME_UNIT_MONTHS` - must be between 1 and 2 * `TIME_UNIT_WEEKS` - must be between 1 and 4 * `TIME_UNIT_DAYS` - must be between 1 and 6 * `TIME_UNIT_HOURS` - must be between 1 and 23 * `TIME_UNIT_MINUTES` - must be between 1 and 59
            "unlimited": True or False, # Whether unlimited frequency capping is applied. When this field is set to `true`, the remaining frequency cap fields are not applicable.
          },
          "name": "A String", # Output only. The resource name of the campaign.
          "updateTime": "A String", # Output only. The timestamp when the campaign was last updated. Assigned by the system.
        },
      ],
      "nextPageToken": "A String", # A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCampaigns` method to retrieve the next page of results.
    }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`patch(advertiserId, campaignId, body=None, updateMask=None, x__xgafv=None)`

    Updates an existing campaign. Returns the updated campaign if successful.

    Args:
      advertiserId: string, Output only. The unique ID of the advertiser the campaign belongs to. (required)
      campaignId: string, Output only. The unique ID of the campaign. Assigned by the system. (required)
      body: object, The request body.
        The object takes the form of:

    { # 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. If this field is not set, the campaign uses an unlimited budget.
        { # Settings that control how the campaign budget is allocated.
          "budgetAmountMicros": "A String", # Required. The total amount the linked insertion order segments can budget. 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. Assigned by the system. Do not set for new budgets. Must be included when updating or adding budgets to campaign_budgets. Otherwise, a new ID will be generated and assigned.
          "budgetUnit": "A String", # Required. Immutable. Specifies whether the budget is measured in currency or impressions.
          "dateRange": { # A date range. # Required. The date range for the campaign budget. Linked budget segments may have a different date range. They are resolved relative to the parent advertiser's time zone. 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. The ID identifying this budget to the external source. If this field is set and the invoice detail level of the corresponding billing profile is set to "Budget level PO", all impressions served against this budget will include this ID on the invoice. Must be unique under the campaign.
          "externalBudgetSource": "A String", # Required. The external source of the budget.
          "invoiceGroupingId": "A String", # Immutable. The ID used to group budgets to be included the same invoice. If this field is set and the invoice level of the corresponding billing profile is set to "Budget invoice grouping ID", all external_budget_id sharing the same invoice_grouping_id will be grouped in the same invoice.
          "prismaConfig": { # Settings specific to the Mediaocean Prisma tool. # Additional metadata for use by the Mediaocean Prisma tool. Required for Mediaocean budgets. Only applicable to prisma_enabled advertisers.
            "prismaCpeCode": { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Relevant client, product, and estimate codes from the Mediaocean Prisma tool.
              "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`.
            "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.
          },
        },
        "plannedSpendAmountMicros": "A String", # The amount the campaign is expected to spend for its given planned_dates. This will not limit serving, but will be used for tracking spend in the DV360 UI. The amount is in micros. Must be greater than or equal to 0. For example, 500000000 represents 500 standard units of the currency.
      },
      "campaignGoal": { # Settings that control the goal of a campaign. # Required. The goal of the campaign.
        "campaignGoalType": "A String", # Required. The type of the campaign goal.
        "performanceGoal": { # Settings that control the performance goal of a campaign or insertion order. # Required. The performance goal of the campaign. Acceptable values for performance_goal_type are: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_OTHER`
          "performanceGoalAmountMicros": "A String", # The goal amount, in micros of the advertiser's currency. Applicable when performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_VCPM` For example 1500000 represents 1.5 standard units of the currency.
          "performanceGoalPercentageMicros": "A String", # The decimal representation of the goal percentage in micros. Applicable when performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_CLICK_CVR` * `PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR` * `PERFORMANCE_GOAL_TYPE_VTR` * `PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE` * `PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE` For example, 70000 represents 7% (decimal 0.07).
          "performanceGoalString": "A String", # A key performance indicator (KPI) string, which can be empty. Must be UTF-8 encoded with a length of no more than 100 characters. Applicable when performance_goal_type is set to `PERFORMANCE_GOAL_TYPE_OTHER`.
          "performanceGoalType": "A String", # Required. The type of the performance goal.
        },
      },
      "campaignId": "A String", # Output only. The unique ID of the campaign. Assigned by the system.
      "displayName": "A String", # Required. The display name of the campaign. Must be UTF-8 encoded with a maximum size of 240 bytes.
      "entityStatus": "A String", # Required. Controls whether or not the insertion orders under this campaign can spend their budgets and bid on inventory. * Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. * For CreateCampaign method, `ENTITY_STATUS_ARCHIVED` is not allowed.
      "frequencyCap": { # Settings that control the number of times a user may be shown with the same ad during a given time period. # Required. The frequency cap setting of the campaign.
        "maxImpressions": 42, # The maximum number of times a user may be shown with the same ad during this period. Must be greater than 0. Required when unlimited is `false`.
        "timeUnit": "A String", # The time unit in which the frequency cap will be applied. Required when unlimited is `false`.
        "timeUnitCount": 42, # The number of time_unit the frequency cap will last. Required when unlimited is `false`. The following restrictions apply based on the value of time_unit: * `TIME_UNIT_LIFETIME` - this field is output only and will default to 1 * `TIME_UNIT_MONTHS` - must be between 1 and 2 * `TIME_UNIT_WEEKS` - must be between 1 and 4 * `TIME_UNIT_DAYS` - must be between 1 and 6 * `TIME_UNIT_HOURS` - must be between 1 and 23 * `TIME_UNIT_MINUTES` - must be between 1 and 59
        "unlimited": True or False, # Whether unlimited frequency capping is applied. When this field is set to `true`, the remaining frequency cap fields are not applicable.
      },
      "name": "A String", # Output only. The resource name of the campaign.
      "updateTime": "A String", # Output only. The timestamp when the campaign was last updated. Assigned by the system.
    }

      updateMask: string, Required. The mask to control which fields to update.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # 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. If this field is not set, the campaign uses an unlimited budget.
        { # Settings that control how the campaign budget is allocated.
          "budgetAmountMicros": "A String", # Required. The total amount the linked insertion order segments can budget. 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. Assigned by the system. Do not set for new budgets. Must be included when updating or adding budgets to campaign_budgets. Otherwise, a new ID will be generated and assigned.
          "budgetUnit": "A String", # Required. Immutable. Specifies whether the budget is measured in currency or impressions.
          "dateRange": { # A date range. # Required. The date range for the campaign budget. Linked budget segments may have a different date range. They are resolved relative to the parent advertiser's time zone. 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. The ID identifying this budget to the external source. If this field is set and the invoice detail level of the corresponding billing profile is set to "Budget level PO", all impressions served against this budget will include this ID on the invoice. Must be unique under the campaign.
          "externalBudgetSource": "A String", # Required. The external source of the budget.
          "invoiceGroupingId": "A String", # Immutable. The ID used to group budgets to be included the same invoice. If this field is set and the invoice level of the corresponding billing profile is set to "Budget invoice grouping ID", all external_budget_id sharing the same invoice_grouping_id will be grouped in the same invoice.
          "prismaConfig": { # Settings specific to the Mediaocean Prisma tool. # Additional metadata for use by the Mediaocean Prisma tool. Required for Mediaocean budgets. Only applicable to prisma_enabled advertisers.
            "prismaCpeCode": { # Google Payments Center supports searching and filtering on the component fields of this code. # Required. Relevant client, product, and estimate codes from the Mediaocean Prisma tool.
              "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`.
            "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.
          },
        },
        "plannedSpendAmountMicros": "A String", # The amount the campaign is expected to spend for its given planned_dates. This will not limit serving, but will be used for tracking spend in the DV360 UI. The amount is in micros. Must be greater than or equal to 0. For example, 500000000 represents 500 standard units of the currency.
      },
      "campaignGoal": { # Settings that control the goal of a campaign. # Required. The goal of the campaign.
        "campaignGoalType": "A String", # Required. The type of the campaign goal.
        "performanceGoal": { # Settings that control the performance goal of a campaign or insertion order. # Required. The performance goal of the campaign. Acceptable values for performance_goal_type are: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_OTHER`
          "performanceGoalAmountMicros": "A String", # The goal amount, in micros of the advertiser's currency. Applicable when performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_VCPM` For example 1500000 represents 1.5 standard units of the currency.
          "performanceGoalPercentageMicros": "A String", # The decimal representation of the goal percentage in micros. Applicable when performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_CLICK_CVR` * `PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR` * `PERFORMANCE_GOAL_TYPE_VTR` * `PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE` * `PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE` For example, 70000 represents 7% (decimal 0.07).
          "performanceGoalString": "A String", # A key performance indicator (KPI) string, which can be empty. Must be UTF-8 encoded with a length of no more than 100 characters. Applicable when performance_goal_type is set to `PERFORMANCE_GOAL_TYPE_OTHER`.
          "performanceGoalType": "A String", # Required. The type of the performance goal.
        },
      },
      "campaignId": "A String", # Output only. The unique ID of the campaign. Assigned by the system.
      "displayName": "A String", # Required. The display name of the campaign. Must be UTF-8 encoded with a maximum size of 240 bytes.
      "entityStatus": "A String", # Required. Controls whether or not the insertion orders under this campaign can spend their budgets and bid on inventory. * Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. * For CreateCampaign method, `ENTITY_STATUS_ARCHIVED` is not allowed.
      "frequencyCap": { # Settings that control the number of times a user may be shown with the same ad during a given time period. # Required. The frequency cap setting of the campaign.
        "maxImpressions": 42, # The maximum number of times a user may be shown with the same ad during this period. Must be greater than 0. Required when unlimited is `false`.
        "timeUnit": "A String", # The time unit in which the frequency cap will be applied. Required when unlimited is `false`.
        "timeUnitCount": 42, # The number of time_unit the frequency cap will last. Required when unlimited is `false`. The following restrictions apply based on the value of time_unit: * `TIME_UNIT_LIFETIME` - this field is output only and will default to 1 * `TIME_UNIT_MONTHS` - must be between 1 and 2 * `TIME_UNIT_WEEKS` - must be between 1 and 4 * `TIME_UNIT_DAYS` - must be between 1 and 6 * `TIME_UNIT_HOURS` - must be between 1 and 23 * `TIME_UNIT_MINUTES` - must be between 1 and 59
        "unlimited": True or False, # Whether unlimited frequency capping is applied. When this field is set to `true`, the remaining frequency cap fields are not applicable.
      },
      "name": "A String", # Output only. The resource name of the campaign.
      "updateTime": "A String", # Output only. The timestamp when the campaign was last updated. Assigned by the system.
    }